@swapkit/toolboxes 4.18.0 → 4.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/chunk-3pne8gaa.js +1 -0
  3. package/dist/chunk-44m22jy1.js +1 -0
  4. package/dist/chunk-4q573g5z.js +2 -0
  5. package/dist/chunk-54gntgt1.js +2 -0
  6. package/dist/chunk-ntbvmmch.js +2 -0
  7. package/dist/chunk-r2htb2ce.js +1 -0
  8. package/dist/src/aptos/index.js +1 -1
  9. package/dist/src/cardano/index.cjs +1 -1
  10. package/dist/src/cardano/index.js +1 -1
  11. package/dist/src/cosmos/index.cjs +1 -1
  12. package/dist/src/cosmos/index.js +1 -1
  13. package/dist/src/evm/index.cjs +1 -1
  14. package/dist/src/evm/index.js +1 -1
  15. package/dist/src/hypercore/index.cjs +1 -1
  16. package/dist/src/hypercore/index.js +1 -1
  17. package/dist/src/index.cjs +1 -1
  18. package/dist/src/index.js +1 -1
  19. package/dist/src/near/index.cjs +1 -1
  20. package/dist/src/near/index.js +1 -1
  21. package/dist/src/radix/index.cjs +1 -1
  22. package/dist/src/radix/index.js +1 -1
  23. package/dist/src/ripple/index.cjs +1 -1
  24. package/dist/src/ripple/index.js +1 -1
  25. package/dist/src/solana/index.js +1 -1
  26. package/dist/src/starknet/index.js +1 -1
  27. package/dist/src/stellar/index.js +1 -1
  28. package/dist/src/substrate/index.cjs +1 -1
  29. package/dist/src/substrate/index.js +1 -1
  30. package/dist/src/sui/index.js +1 -1
  31. package/dist/src/ton/index.cjs +1 -1
  32. package/dist/src/ton/index.js +1 -1
  33. package/dist/src/tron/index.cjs +1 -1
  34. package/dist/src/tron/index.js +1 -1
  35. package/dist/src/utxo/index.js +1 -1
  36. package/dist/types/cardano/toolbox.d.ts +1 -1
  37. package/dist/types/cosmos/toolbox/cosmos.d.ts +2 -3
  38. package/dist/types/evm/helpers.d.ts +11 -1
  39. package/dist/types/near/toolbox.d.ts +1 -2
  40. package/dist/types/radix/index.d.ts +2 -2
  41. package/dist/types/ripple/index.d.ts +4 -8
  42. package/dist/types/substrate/substrate.d.ts +1 -1
  43. package/dist/types/ton/toolbox.d.ts +5 -2
  44. package/dist/types/ton/types.d.ts +1 -0
  45. package/package.json +4 -2
@@ -1 +1 @@
1
- var p2=Object.create;var{getPrototypeOf:l2,defineProperty:qT,getOwnPropertyNames:MH,getOwnPropertyDescriptor:j2}=Object,ZH=Object.prototype.hasOwnProperty;function WH(y){return this[y]}var K2,u2,_1=(y,T,H)=>{var f=y!=null&&typeof y==="object";if(f){var C=T?K2??=new WeakMap:u2??=new WeakMap,o=C.get(y);if(o)return o}H=y!=null?p2(l2(y)):{};let U=T||!y||!y.__esModule?qT(H,"default",{value:y,enumerable:!0}):H;for(let q of MH(y))if(!ZH.call(U,q))qT(U,q,{get:WH.bind(y,q),enumerable:!0});if(f)C.set(y,U);return U},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 MH(y))if(!ZH.call(T,f))qT(T,f,{get:WH.bind(y,f),enumerable:!(H=j2(y,f))||H.enumerable})}return _H.set(y,T),T},_H;var h2=(y)=>y;function m2(y,T){this[y]=h2.bind(null,T)}var Ny=(y,T)=>{for(var H in T)qT(y,H,{get:T[H],enumerable:!0,configurable:!0,set:m2.bind(T,H)})};var b=(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 t2.test(T)}function LH({derivationPath:y,provider:T,...H}={}){let f,C=m.derivationPathToString(y||m.NetworkDerivationPath[m.Chain.Aptos],{allHardened:!0});async function o(){if(f)return f;return f=await Of.match(H).with({phrase:Of.P.string},async({phrase:J})=>{let{Ed25519Account:B}=await import("@aptos-labs/ts-sdk");return B.fromDerivationPath({mnemonic:J,path:C})}).with({signer:Of.P.any},({signer:J})=>J).otherwise(()=>{return}),f}async function U(){let{Aptos:J,AptosConfig:B,Network:D}=await import("@aptos-labs/ts-sdk"),W=new B({clientConfig:{http2:!1},fullnode:T||m.getRPCUrlSync(m.Chain.Aptos),network:D.MAINNET});return new J(W)}async function q(){return(await o())?.accountAddress.toString()||""}async function X(J){let B=J||await q();if(!B)throw new m.SwapKitError("toolbox_aptos_address_required");let{baseDecimal:D,chain:W}=m.getChainConfig(m.Chain.Aptos);try{let R=await U(),O=await R.getAccountAPTAmount({accountAddress:B}),Y=[m.AssetValue.from({chain:W,fromBaseDecimal:D,value:O.toString()})],_=await R.getCurrentFungibleAssetBalances({options:{where:{owner_address:{_eq:B}}}});for(let L of _){if(L.asset_type===Bf.COIN_TYPE||Number(L.amount)<=0)continue;let x=L.asset_type;if(x){let n=("metadata"in L&&typeof L.metadata==="object"&&L.metadata!==null?L.metadata:void 0)?.decimals??D;Y.push(m.AssetValue.from({asset:`${m.Chain.Aptos}.APT-${x}`,fromBaseDecimal:n,value:String(L.amount)}))}}return Y}catch{return[m.AssetValue.from({chain:W})]}}async function G(J){if(!J){let{baseDecimal:_}=m.getChainConfig(m.Chain.Aptos),L=T||m.getRPCUrlSync(m.Chain.Aptos),x=await fetch(`${L}/estimate_gas_price`),{gas_estimate:w}=await x.json();return m.AssetValue.from({chain:m.Chain.Aptos,fromBaseDecimal:_,value:String(w)})}let B=await o();if(!B)throw new m.SwapKitError("toolbox_aptos_no_signer");let D=await Z(J),W=await U(),[R]=await W.transaction.simulate.simple({signerPublicKey:B.publicKey,transaction:D});if(!R)throw new m.SwapKitError("toolbox_aptos_transaction_creation_error");let O=BigInt(R.gas_used)*BigInt(R.gas_unit_price),{baseDecimal:Y}=m.getChainConfig(m.Chain.Aptos);return m.AssetValue.from({chain:m.Chain.Aptos,fromBaseDecimal:Y,value:O.toString()})}async function Z({recipient:J,assetValue:B,maxGasAmount:D,sender:W}){if(!vf(J))throw new m.SwapKitError("core_transaction_invalid_recipient_address");let R=W||await q();if(!R)throw new m.SwapKitError("toolbox_aptos_no_sender");let{AccountAddress:O}=await import("@aptos-labs/ts-sdk"),Y=await U(),_=O.from(R);try{let L=B.isGasAsset?Bf.TRANSFER:Bf.FUNGIBLE_STORE_TRANSFER,x=Of.match({address:B?.address,isGasAsset:B.isGasAsset}).with({isGasAsset:!0},()=>[O.from(J),B.getBaseValue("bigint")]).with({address:Of.P.string},({address:w})=>[O.from(w),O.from(J),B.getBaseValue("bigint")]).otherwise(()=>null);if(!x)throw new m.SwapKitError("toolbox_aptos_missing_asset_type");return Y.transaction.build.simple({data:{function:L,functionArguments:x,typeArguments:B.isGasAsset?[]:[Bf.FUNGIBLE_ASSET_METADATA]},options:D?{maxGasAmount:D}:void 0,sender:_})}catch(L){if(L instanceof m.SwapKitError)throw L;throw new m.SwapKitError("toolbox_aptos_transaction_creation_error",L)}}async function A(J){let B=await o();if(!B)throw new m.SwapKitError("toolbox_aptos_no_signer");return(await U()).transaction.sign({signer:B,transaction:J})}async function M({assetValue:J,maxGasAmount:B,recipient:D}){let W=await o();if(!W)throw new m.SwapKitError("toolbox_aptos_no_signer");if(!vf(D))throw new m.SwapKitError("core_transaction_invalid_recipient_address");try{let R=W.accountAddress.toString(),O=await Z({assetValue:J,maxGasAmount:B,recipient:D,sender:R});return(await(await U()).signAndSubmitTransaction({signer:W,transaction:O})).hash}catch(R){if(R instanceof m.SwapKitError)throw R;throw new m.SwapKitError("toolbox_aptos_transaction_creation_error",R)}}async function Q({senderAuthenticator:J,transaction:B}){try{return(await(await U()).transaction.submit.simple({senderAuthenticator:J,transaction:B})).hash}catch(D){throw new m.SwapKitError("toolbox_aptos_broadcast_error",D)}}async function N(J){let B=await A(J);return Q({senderAuthenticator:B,transaction:J})}return{broadcastTransaction:Q,createTransaction:Z,estimateTransactionFee:G,getAddress:q,getBalance:X,signAndBroadcastTransaction:N,signTransaction:A,transfer:M,validateAddress:vf}}function AH({provider:y}){return async function({assetValue:H,recipient:f}){if(!vf(f))throw new m.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 o=H.address;if(!o)throw new m.SwapKitError("toolbox_aptos_missing_asset_type");return(await y.signAndSubmitTransaction({arguments:[o,C.from(f).toString(),H.getBaseValue("string")],function:Bf.FUNGIBLE_STORE_TRANSFER,type:"entry_function_payload",type_arguments:[Bf.FUNGIBLE_ASSET_METADATA]})).hash}}var m,Of,Bf,t2;var YH=b(()=>{m=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"},t2=/^[0-9a-fA-F]+$/});var hT={};Ny(hT,{validateAptosAddress:()=>vf,getAptosToolbox:()=>LH,createAptosExtensionTransfer:()=>AH});module.exports=Ry(hT);var mT=b(()=>{YH()});function zH(){function y(){let T=Date.now(),H=M1||T;return M1=H,T>M1?T:H+1}return c2+y().toString(36)}function $y(y){return async function(H,f=!0){let C=await JH.SwapKitApi.getChainBalance({address:H,chain:y,scamFilter:f}),{baseDecimal:o}=XT.getChainConfig(y),U=C.map(({identifier:X,value:G,decimal:Z})=>{return new XT.AssetValue({decimal:Z||o,identifier:X,value:G})});if(!U.some((X)=>X.isGasAsset))return[XT.AssetValue.from({chain:y}),...U];return U}}var XT,JH,c2,M1=0;var sy=b(()=>{XT=require("@swapkit/helpers"),JH=require("@swapkit/helpers/api"),c2=typeof process<"u"&&process.pid?process.pid.toString(36):""});function GT(y){return{getBalance:$y(y)}}function g2(y){return y}var tT=b(()=>{sy()});function BH(y){return new Df.JsonRpcProvider(y)}async function Y1(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?{...i2({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 i2({chain:y}){let{name:T,nativeCurrency:H,baseDecimal:f}=e.getChainConfig(y);return A1.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,o)=>{throw new e.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:C,message:`${H}${o}`}})};A1.match(y).when(({chainId:C})=>typeof C!=="bigint",()=>f("chainId","chainId must be a bigint")).when(({address:C})=>!d2(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 Z1(y){return y.charAt(0).toUpperCase()+y.slice(1)}function W1(y,T){if(y.isTuple()&&y.components){let H=Z1(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=Z1(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,o]of(T.components??[]).entries())f[o.name]=L1(H[o.name]??y[C],o);return f}if(Array.isArray(y)){let H=T?.arrayChildren;return y.map((f)=>L1(f,H??void 0))}return y}function r2({chain:y,abi:T,data:H,to:f}){let o=new Df.Interface(T).parseTransaction({data:H});if(!o)throw new e.SwapKitError({errorKey:"toolbox_evm_invalid_params",info:{error:"Could not decode calldata"}});let U={},q=Z1(o.name);U[q]=o.fragment.inputs.map((M)=>({name:M.name,type:W1(M,U)}));let X={};for(let[M,Q]of o.fragment.inputs.entries())X[Q.name]=L1(o.args[M],Q);let{chainId:G}=e.getChainConfig(y),Z={chainId:Number(G),verifyingContract:Df.getAddress(f)},A=DH(Z);return{domain:Z,message:X,primaryType:q,types:{EIP712Domain:A,...U}}}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,A1,NH=(y)=>typeof y==="string"&&/^0x[a-fA-F0-9]{64}$/.test(y),d2=(y)=>{try{return typeof y==="string"&&!!Df.getAddress(y)}catch{return!1}};var _T=b(()=>{e=require("@swapkit/helpers"),Df=require("ethers"),A1=require("ts-pattern")});var RH;var xH=b(()=>{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=$.Chain.Ethereum,provider:T,signer:H,isEIP1559Compatible:f=!0}){return{approve:fU({chain:y,isEIP1559Compatible:f,provider:T,signer:H}),approvedAmount:kH({chain:y,provider:T}),broadcastTransaction:T.broadcastTransaction,call:w1({chain:y,isEIP1559Compatible:f,provider:T,signer:H}),createApprovalTx:oU({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:FH({provider:T,signer:H}),estimateGasLimit:CU({chain:y,provider:T,signer:H}),estimateGasPrices:xf({chain:y,isEIP1559Compatible:f,provider:T}),estimateTransactionFee:UU({chain:y,isEIP1559Compatible:f,provider:T}),getAddress:()=>{return H?H.getAddress():void 0},getBalance:GT(y).getBalance,getNetworkParams:J1(y),isApproved:yU({chain:y,provider:T}),sendTransaction:$H({chain:y,isEIP1559Compatible:f,provider:T,signer:H}),signAuthorization:HU({signer:H}),signMessage:H?(C)=>H.signMessage(C):void 0,signTypedData:H?({domain:C,types:o,value:U})=>H.signTypedData(C,o,U):void 0,transfer:TU({chain:y,isEIP1559Compatible:f,provider:T,signer:H}),validateAddress:ZT}}function ZT(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 $.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:T});return H.stateMutability&&a2.includes(H.stateMutability)}function nH(y){return Py.getAddress(y)}function Kf(y){return function({value:H,...f}){if(!jf(y))throw new $.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:C,gasPrice:o,maxFeePerGas:U,maxPriorityFeePerGas:q,...X}=f;return y.send("eth_sendTransaction",[{...X,value:QT(BigInt(H||0))}])}}function wH(y,T){let H=uf(y,T);if(H)return Py.getAddress(H.toLowerCase());throw new $.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function uf({chain:y,symbol:T,ticker:H},f){try{let C=y===$.Chain.BinanceSmartChain&&T==="BNB"&&H==="BNB",o=y===$.Chain.Hyperevm&&T==="HYPE"&&H==="HYPE",U=y===f&&T===f&&H===f,q=e2.includes(y)&&T==="ETH"&&H==="ETH";if(U||C||o||q)return n1[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:o})=>WT(T,H,y).getFunction(f).populateTransaction(...C.concat(o).filter((U)=>typeof U<"u"))}function xf({chain:y,provider:T,isEIP1559Compatible:H=!0}){return D1.match(y).with($.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:C,maxPriorityFeePerGas:o}=await T.getFeeData();if(!C||o===null)throw new $.SwapKitError("toolbox_evm_no_fee_data");return{[$.FeeOption.Average]:{maxFeePerGas:$.applyFeeMultiplierToBigInt(C,$.FeeOption.Average),maxPriorityFeePerGas:$.applyFeeMultiplierToBigInt(o,$.FeeOption.Average)},[$.FeeOption.Fast]:{maxFeePerGas:$.applyFeeMultiplierToBigInt(C,$.FeeOption.Fast),maxPriorityFeePerGas:$.applyFeeMultiplierToBigInt(o,$.FeeOption.Fast)},[$.FeeOption.Fastest]:{maxFeePerGas:$.applyFeeMultiplierToBigInt(C,$.FeeOption.Fastest),maxPriorityFeePerGas:$.applyFeeMultiplierToBigInt(o,$.FeeOption.Fastest)}}}catch(C){throw new $.SwapKitError("toolbox_evm_gas_estimation_error",{error:C.msg??C.toString()})}}}).with($.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:C}=await T.getFeeData();if(!C)throw new $.SwapKitError("toolbox_evm_no_fee_data");let o=C*12n/10n;return{[$.FeeOption.Average]:{gasPrice:o},[$.FeeOption.Fast]:{gasPrice:$.applyFeeMultiplierToBigInt(o,$.FeeOption.Fast)},[$.FeeOption.Fastest]:{gasPrice:$.applyFeeMultiplierToBigInt(o,$.FeeOption.Fastest)}}}catch(C){throw new $.SwapKitError("toolbox_evm_gas_estimation_error",{error:C.msg??C.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:C,maxPriorityFeePerGas:o,gasPrice:U}=await T.getFeeData();if(H){if(C===null||o===null)throw new $.SwapKitError("toolbox_evm_no_fee_data");return{[$.FeeOption.Average]:{maxFeePerGas:C,maxPriorityFeePerGas:o},[$.FeeOption.Fast]:{maxFeePerGas:$.applyFeeMultiplierToBigInt(C,$.FeeOption.Fast),maxPriorityFeePerGas:$.applyFeeMultiplierToBigInt(o,$.FeeOption.Fast)},[$.FeeOption.Fastest]:{maxFeePerGas:$.applyFeeMultiplierToBigInt(C,$.FeeOption.Fastest),maxPriorityFeePerGas:$.applyFeeMultiplierToBigInt(o,$.FeeOption.Fastest)}}}if(!U)throw new $.SwapKitError("toolbox_evm_no_gas_price");return{[$.FeeOption.Average]:{gasPrice:U},[$.FeeOption.Fast]:{gasPrice:$.applyFeeMultiplierToBigInt(U,$.FeeOption.Fast)},[$.FeeOption.Fastest]:{gasPrice:$.applyFeeMultiplierToBigInt(U,$.FeeOption.Fastest)}}}catch(C){throw new $.SwapKitError("toolbox_evm_gas_estimation_error",{error:C.msg??C.toString()})}}})}function w1({provider:y,isEIP1559Compatible:T,signer:H,chain:f}){return async function({callProvider:o,contractAddress:U,abi:q,funcName:X,funcParams:G=[],txOverrides:Z={},feeOption:A=$.FeeOption.Fast}){let M=o||y;if(!U)throw new $.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let Q=x1({abi:q,funcName:X});if(Q&&jf(M)&&H){let B=Rf({chain:f,provider:M}),D=Z?.from||await H?.getAddress(),W=await B({abi:q,contractAddress:U,funcName:X,funcParams:G,txOverrides:{...Z,from:D}});return Kf(M)(W)}let N=WT(U,q,M);if(Q){if(!H)throw new $.SwapKitError("toolbox_evm_no_signer");let B=Z?.from||await H.getAddress();if(!B)throw new $.SwapKitError("toolbox_evm_no_signer_address");let D=N.connect(H),W=xf({chain:f,isEIP1559Compatible:T,provider:y}),{maxFeePerGas:R,maxPriorityFeePerGas:O,gasPrice:Y}=(await W())[A],_=await N.getFunction(X).estimateGas(...G,Z),L=await D[X](...G,{...Z,gasLimit:_,gasPrice:Y,maxFeePerGas:R,maxPriorityFeePerGas:O,nonce:Z?.nonce||await M.getTransactionCount(B)});return typeof L?.hash==="string"?L?.hash:L}let J=await N[X]?.(...G);return typeof J?.hash==="string"?J?.hash:J}}function kH({provider:y,chain:T}){return function({assetAddress:f,spenderAddress:C,from:o}){return w1({chain:T,isEIP1559Compatible:!0,provider:y})({abi:pf.erc20ABI,contractAddress:f,funcName:"allowance",funcParams:[o,C]})}}function yU({provider:y,chain:T}){return async function({assetAddress:f,spenderAddress:C,from:o,amount:U=MT}){let q=await kH({chain:T,provider:y})({assetAddress:f,from:o,spenderAddress:C});return $.SwapKitNumber.fromBigInt(q).gte($.SwapKitNumber.fromBigInt(BigInt(U)))}}function fU({signer:y,isEIP1559Compatible:T=!0,provider:H,chain:f}){return async function({assetAddress:o,spenderAddress:U,feeOptionKey:q=$.FeeOption.Fast,amount:X,gasLimitFallback:G,from:Z,nonce:A}){let M=[U,BigInt(X||MT)],Q=await y?.getAddress()||Z,N={abi:pf.erc20ABI,contractAddress:o,funcName:"approve",funcParams:M,signer:y,txOverrides:{from:Q}};if(jf(H)){let B=Rf({chain:f,provider:H}),D=Kf(H),W=await B(N);return D(W)}return w1({chain:f,isEIP1559Compatible:T,provider:H,signer:y})({...N,feeOption:q,funcParams:M,txOverrides:{from:Q,gasLimit:G?BigInt(G.toString()):void 0,nonce:A}})}}function TU({signer:y,isEIP1559Compatible:T=!0,provider:H}){return async function({assetValue:C,memo:o,recipient:U,feeOptionKey:q=$.FeeOption.Fast,sender:X,...G}){let{hexlify:Z,toUtf8Bytes:A}=await import("ethers"),M=C.getBaseValue("bigint"),Q=C.chain,N=X||await y?.getAddress(),J=$H({chain:Q,isEIP1559Compatible:T,provider:H,signer:y});if(!N)throw new $.SwapKitError("toolbox_evm_no_from_address");if(C.isGasAsset){let Y={...G,data:Z(A(o||"")),feeOptionKey:q,from:N,to:U,value:M};return J(Y)}if(!uf(C,Q))throw new $.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:D,maxPriorityFeePerGas:W,gasPrice:R}=(await xf({chain:Q,isEIP1559Compatible:T,provider:H})())[q],O=await O1({chain:Q,provider:H,signer:y})({assetValue:C,data:Z(A(o||"")),gasPrice:R,maxFeePerGas:D,maxPriorityFeePerGas:W,memo:o,recipient:U,sender:N});return J(O)}}function FH({provider:y,signer:T}){return function({contractAddress:f,abi:C,funcName:o,funcParams:U=[],txOverrides:q}){if(!f)throw new $.SwapKitError("toolbox_evm_no_contract_address");let X=WT(f,C,y);return T?X.connect(T).getFunction(o).estimateGas(...U,q):X.getFunction(o).estimateGas(...U,q)}}function CU({provider:y,signer:T}){return async function({assetValue:f,recipient:C,memo:o,data:U,sender:q,funcName:X,funcParams:G,txOverrides:Z}){let A=f.bigIntValue,M=f.isGasAsset?null:uf(f,f.chain);if(M&&X)return FH({provider:y,signer:T})({abi:pf.erc20ABI,contractAddress:M,funcName:X,funcParams:G,txOverrides:Z});let{hexlify:Q,toUtf8Bytes:N}=await import("ethers");return y.estimateGas({data:U?U:o?Q(N(o)):void 0,from:q,to:C,value:A})}}function HU({signer:y}){if(!y)return;return(T)=>N1(y,T)}function $H({provider:y,signer:T,isEIP1559Compatible:H=!0,chain:f}){return async function({feeOptionKey:o=$.FeeOption.Fast,...U}){let{from:q,to:X,data:G,value:Z,...A}=U;if(!T)throw new $.SwapKitError("toolbox_evm_no_signer");if(!X)throw new $.SwapKitError("toolbox_evm_no_to_address");let M={...A,data:G||"0x",from:q,to:X,value:BigInt(Z||0)};if(jf(y))return Kf(y)(M);let Q=q||await T.getAddress(),N=U.nonce||await y.getTransactionCount(Q),J=(await y.getNetwork()).chainId,B=F1(M,H);if(B==="eip7702")B1(M.authorizations||[],J);let D=D1.match(B).with("eip7702",()=>4).with("eip1559",()=>2).otherwise(()=>0),W={...M,chainId:J,nonce:N,type:D,...B==="eip7702"&&{authorizationList:M.authorizations}},R=xf({chain:f,isEIP1559Compatible:H,provider:y}),Y=B!=="legacy"&&!(M.maxFeePerGas&&M.maxPriorityFeePerGas)||!M.gasPrice?Object.entries((await R())[o]).reduce((L,[x,w])=>({...L,[x]:QT(BigInt(w))}),{}):{},_;try{_=QT(M.gasLimit||await y.estimateGas(W)*11n/10n)}catch(L){throw new $.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:L})}try{let L={...W,gasLimit:_,...Y};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 $.SwapKitError("toolbox_evm_error_sending_transaction",{error:L})}}}function O1({provider:y,signer:T}){return async function({assetValue:f,memo:C,recipient:o,data:U,sender:q,maxFeePerGas:X,maxPriorityFeePerGas:G,gasPrice:Z,...A}){let M=f.getBaseValue("bigint"),Q=f.chain,N=q||await T?.getAddress();if(!N)throw new $.SwapKitError("toolbox_evm_no_from_address");if($.isGasAsset(f)){let{hexlify:D,toUtf8Bytes:W}=await import("ethers");return{...A,data:U||D(W(C||"")),from:N,to:o,value:M}}let J=uf(f,Q);if(!J)throw new $.SwapKitError("toolbox_evm_no_contract_address");return Rf({chain:f.chain,provider:y})({abi:pf.erc20ABI,contractAddress:J,funcName:"transfer",funcParams:[o,M],txOverrides:{from:N,gasPrice:Z,maxFeePerGas:X,maxPriorityFeePerGas:G}})}}function oU({provider:y,signer:T,chain:H}){return async function({assetAddress:C,spenderAddress:o,amount:U,from:q}){let X=await T?.getAddress()||q,G=Rf({chain:H,provider:y}),Z=["bigint","number"].includes(typeof U)?U:U||MT;return await G({abi:pf.erc20ABI,contractAddress:C,funcName:"approve",funcParams:[o,BigInt(Z)],txOverrides:{from:X}})}}function UU({provider:y,isEIP1559Compatible:T=!0,chain:H}){return async function({feeOption:C=$.FeeOption.Fast,...o}){let q=await xf({chain:H,isEIP1559Compatible:T,provider:y})(),X=await y.estimateGas(o),G=$.AssetValue.from({chain:H}),{gasPrice:Z,maxFeePerGas:A,maxPriorityFeePerGas:M}=q[C];if(!T&&Z)return G.set($.SwapKitNumber.fromBigInt(Z*X,G.decimal));if(A&&M){let Q=(A+M)*X;return G.set($.SwapKitNumber.fromBigInt(Q,G.decimal))}throw new $.SwapKitError("toolbox_evm_no_gas_price")}}var $,pf,Py,D1,MT,a2,s2,n1,e2,cT=(y)=>y.type===4||(y.authorizations?.length??0)>0,k1=(y)=>!cT(y)&&(y.type===2||!!y.maxFeePerGas||!!y.maxPriorityFeePerGas),F1=(y,T=!0)=>{if(cT(y))return"eip7702";if(k1(y)||T)return"eip1559";return"legacy"};var gT=b(()=>{tT();_T();$=require("@swapkit/helpers"),pf=require("@swapkit/helpers/contracts"),Py=require("ethers"),D1=require("ts-pattern"),MT=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");a2=["payable","nonpayable"];s2=$.EVMChains.reduce((y,T)=>{return y[T]="0x0000000000000000000000000000000000000000",y},{}),n1={...s2,[$.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[$.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},e2=[$.Chain.Arbitrum,$.Chain.Aurora,$.Chain.Base,$.Chain.Optimism]});function iT(y){let T=Zy(Uy.Chain.Ethereum)(y);async function H(f,C="0x5ba1e12693dc8f9c48aad8770482f4739beed696",o="aggregate",U=Uy.FeeOption.Fast){let q=await T.createContractTxObject({abi:RH,contractAddress:C,funcName:o,funcParams:[f]});return T.sendTransaction({...q,feeOptionKey:U})}return{...T,multicall:H}}function Zy(y){return function({provider:H,...f}){let C=z1(y),o=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:o})}}var Uy,IH,LT,dT,rT,aT,sT,eT,y0,f0,SH,T0,C0,H0,o0,U0,q0,X0,G0,Q0,_0,AT,M0,Z0;var $1=b(()=>{xH();_T();gT();Uy=require("@swapkit/helpers"),IH=require("ethers"),LT=require("ts-pattern");dT=Zy(Uy.Chain.Adi),rT=Zy(Uy.Chain.Arbitrum),aT=Zy(Uy.Chain.Aurora),sT=Zy(Uy.Chain.Avalanche),eT=Zy(Uy.Chain.Base),y0=Zy(Uy.Chain.Berachain),f0=Zy(Uy.Chain.BinanceSmartChain),SH=Zy(Uy.Chain.Botanix),T0=Zy(Uy.Chain.Core),C0=Zy(Uy.Chain.Corn),H0=Zy(Uy.Chain.Cronos),o0=Zy(Uy.Chain.Gnosis),U0=Zy(Uy.Chain.Hyperevm),q0=Zy(Uy.Chain.Linea),X0=Zy(Uy.Chain.Polygon),G0=Zy(Uy.Chain.MegaETH),Q0=Zy(Uy.Chain.Monad),_0=Zy(Uy.Chain.Plasma),AT=Zy(Uy.Chain.Sonic),M0=Zy(Uy.Chain.Unichain),Z0=Zy(Uy.Chain.XLayer)});var PH;var EH=b(()=>{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(XU,PH,y)}function bH(y){return async function(){let H=I1(y);if(H&&"l1BaseFee"in H)return await H?.l1BaseFee();return}}function VH(y){return async function({from:H,to:f,nonce:C,...o}){let{Transaction:U}=await import("ethers");if(!f)throw new Qy.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return U.from({...o,authorizationList:o.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 VH(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,o=await y.estimateGas(H);return C*o}}function GU(y){return async function(H){let f=await vH(y)(H)??0n,C=await pH(y)(H);return f+C}}function QU(y){return async function(H){let f=I1(y),C=await VH(y)(H);if(f&&"getL1GasUsed"in f)return f.getL1GasUsed(C)}}function _U(y){return async function(){try{let{maxFeePerGas:H,maxPriorityFeePerGas:f,gasPrice:C}=await y.getFeeData(),o=await bH(y)(),U=C;if(!(H&&f))throw new Qy.SwapKitError("toolbox_evm_no_fee_data");return{[Qy.FeeOption.Average]:{gasPrice:U,l1GasPrice:o,maxFeePerGas:H,maxPriorityFeePerGas:f},[Qy.FeeOption.Fast]:{gasPrice:Qy.applyFeeMultiplierToBigInt(U,Qy.FeeOption.Fast),l1GasPrice:Qy.applyFeeMultiplierToBigInt(o||0n,Qy.FeeOption.Fast),maxFeePerGas:H,maxPriorityFeePerGas:Qy.applyFeeMultiplierToBigInt(f,Qy.FeeOption.Fast)},[Qy.FeeOption.Fastest]:{gasPrice:Qy.applyFeeMultiplierToBigInt(U,Qy.FeeOption.Fastest),l1GasPrice:Qy.applyFeeMultiplierToBigInt(o||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=YT.match(T).with({phrase:YT.P.string},({phrase:o})=>W0.HDNodeWallet.fromPhrase(o).connect(y)).with({signer:YT.P.any},({signer:o})=>o).otherwise(()=>{return}),f=lf({provider:y,signer:H}),C=bH(y);return{...f,estimateGasPrices:_U(y),estimateL1Gas:QU(y),estimateL1GasCost:vH(y),estimateL2GasCost:pH(y),estimateTotalGasCost:GU(y),getBalance:GT(Qy.Chain.Optimism).getBalance,getL1GasPrice:C}}var Qy,W0,YT,XU="0x420000000000000000000000000000000000000f";var S1=b(()=>{tT();EH();gT();Qy=require("@swapkit/helpers"),W0=require("ethers"),YT=require("ts-pattern")});var KH={};Ny(KH,{validateEVMAddress:()=>ZT,toChecksumAddress:()=>nH,isStateChangingCall:()=>x1,isEIP7702Transaction:()=>cT,isEIP1559Transaction:()=>k1,isBrowserProvider:()=>jf,getTokenAddress:()=>uf,getEvmToolboxAsync:()=>jH,getEvmToolbox:()=>P1,getEstimateGasPrices:()=>xf,getEVMTxType:()=>F1,getEIP1193SendTransaction:()=>Kf,getCreateContractTxObject:()=>Rf,getCreateContract:()=>R1,getChecksumAddressFromAsset:()=>wH,createContract:()=>WT,XLayerToolbox:()=>Z0,UNIToolbox:()=>M0,SONICToolbox:()=>AT,PLASMAToolbox:()=>_0,OPToolbox:()=>L0,MONADToolbox:()=>Q0,MEGAETHToolbox:()=>G0,MAX_APPROVAL:()=>MT,MATICToolbox:()=>X0,LINEAToolbox:()=>q0,HYPEREVMToolbox:()=>U0,GNOToolbox:()=>o0,ETHToolbox:()=>iT,ContractAddress:()=>n1,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,()=>AT(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,()=>o0(T)).with(Gy.Chain.Hyperevm,()=>U0(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,()=>AT(T)).with(Gy.Chain.Unichain,()=>M0(T)).with(Gy.Chain.XLayer,()=>Z0(T)).exhaustive()}async function jH(y,T){let H={...T,provider:T?.provider||await Y1(y)};return P1(y,H)}var Gy,lH;var E1=b(()=>{_T();$1();S1();Gy=require("@swapkit/helpers"),lH=require("ts-pattern");gT();$1();S1()});var uH;var hH=b(()=>{((H)=>{H.Test="goerli";H.Main="homestead"})(uH||={})});var mH={};Ny(mH,{validateEVMAddress:()=>ZT,validateAuthorizations:()=>B1,validateAuthorization:()=>OH,toHexString:()=>QT,toChecksumAddress:()=>nH,signAuthorization:()=>N1,parseEIP712FromEVMTx:()=>r2,isStateChangingCall:()=>x1,isEIP7702Transaction:()=>cT,isEIP1559Transaction:()=>k1,isBrowserProvider:()=>jf,getTokenAddress:()=>uf,getProviderSync:()=>BH,getProvider:()=>Y1,getNetworkParams:()=>J1,getIsEIP1559Compatible:()=>z1,getEvmToolboxAsync:()=>jH,getEvmToolbox:()=>P1,getEvmApi:()=>GT,getEstimateGasPrices:()=>xf,getEVMTxType:()=>F1,getEIP1193SendTransaction:()=>Kf,getCreateContractTxObject:()=>Rf,getCreateContract:()=>R1,getChecksumAddressFromAsset:()=>wH,createCustomEvmApi:()=>g2,createContract:()=>WT,buildEIP712DomainType:()=>DH,XLayerToolbox:()=>Z0,UNIToolbox:()=>M0,SONICToolbox:()=>AT,PLASMAToolbox:()=>_0,OPToolbox:()=>L0,MONADToolbox:()=>Q0,MEGAETHToolbox:()=>G0,MAX_APPROVAL:()=>MT,MATICToolbox:()=>X0,LINEAToolbox:()=>q0,HYPEREVMToolbox:()=>U0,GNOToolbox:()=>o0,EthNetwork:()=>uH,ETHToolbox:()=>iT,ContractAddress:()=>n1,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 b1=b(()=>{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 ZU(){return(await v1("/blocks/latest")).slot}async function WU(){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 LU(y,T){return y.map((H)=>{let f=H.amount.find((U)=>U.unit==="lovelace"),C=f?new Ey.default(f.quantity):new Ey.default(0),o=H.amount.filter((U)=>U.unit!=="lovelace").map((U)=>({amount:new Ey.default(U.quantity),assetName:U.unit.slice(56),policyId:U.unit.slice(0,56)}));return{address:T,amount:C,index:H.output_index,tokens:o,txId:H.tx_hash}})}async function AU(y){try{let T=await eH(y),H=0n,f=new Map;for(let U of T){if(!U.amount||!Array.isArray(U.amount))continue;for(let q of U.amount){let{unit:X,quantity:G}=q;if(X==="lovelace")H+=BigInt(G);else{let Z=f.get(X)||0n;f.set(X,Z+BigInt(G))}}}let C=[],{baseDecimal:o}=_y.getChainConfig(_y.Chain.Cardano);if(H>0n)C.push(_y.AssetValue.from({chain:_y.Chain.Cardano,fromBaseDecimal:o,value:H.toString()}));for(let[U,q]of f)C.push(_y.AssetValue.from({asset:`${_y.Chain.Cardano}.${U}`,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 YU(y,T=0,H=0){let f=iH.mnemonicToEntropy(y,dH.wordlist),o=(await rH.Bip32PrivateKey.fromEntropy(Buffer.from(Array.from(f)))).derive(V1+1852).derive(V1+1815).derive(V1+T),U=o.derive(0).derive(H),q=U.toBip32PublicKey().toPublicKey().toBytes(),X=ny.crypto.hash28(q),Z=o.derive(2).derive(0).toBip32PublicKey().toPublicKey().toBytes(),A=ny.crypto.hash28(Z),M={hash:X,type:ny.types.HashType.ADDRESS},Q={hash:A,type:ny.types.HashType.ADDRESS},J=new ny.address.BaseAddress(MU,M,Q).getBech32(),B=U.toPrivateKey();return{getAddress:()=>J,publicKey:q,publicKeyHash:X,signTransaction:async(D)=>{try{let W=await import("@stricahq/cbors"),R=Buffer.from(D,"hex"),O=W.Decoder.decode(R),[Y,_,L,x]=O.value,w=W.Encoder.encode(Y),n=ny.crypto.hash32(w),k=B.sign(n),I=_ instanceof Map?_:new Map,z=I.get(tH)||[];z.push([q,k]),I.set(tH,z);let F=[Y,I,L,x];return W.Encoder.encode(F).toString("hex")}catch(W){throw new _y.SwapKitError("toolbox_cardano_sign_transaction_failed",{message:String(W)})}}}}function JU(y){let T,H,f;async function C(){if(!f)f=await WU();return f}async function o(){if(T!==void 0)return T;if(y&&"phrase"in y&&y.phrase){let Q=y.index??0;return T=await YU(y.phrase,0,Q),T}if(y&&"signer"in y&&y.signer)return T=y.signer,T;return}async function U(){if(H)return H;let Q=await o();if(!Q)return"";if("getAddress"in Q)return H=await Q.getAddress(),H;return""}async function q(Q){let N=Q||await U();if(!N)throw new _y.SwapKitError("core_wallet_connection_not_found");return AU(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,B=N.minFeeB.plus(N.minFeeA.times(J));return _y.AssetValue.from({chain:_y.Chain.Cardano,fromBaseDecimal:6,value:B.toString()})}async function G({sender:Q="",recipient:N,assetValue:J,memo:B,pureLovelaceOnly:D=!1}){let W=Q||await U();if(!W)throw new _y.SwapKitError("core_wallet_connection_not_found");let[R,O,Y]=await Promise.all([eH(W),ZU(),C()]),_=R.filter((V)=>D?V.amount.every((t)=>t.unit==="lovelace"):V.amount.some((t)=>t.unit==="lovelace")).sort((V,t)=>{let Hy=V.amount.some((Xy)=>Xy.unit!=="lovelace"),Yy=t.amount.some((Xy)=>Xy.unit!=="lovelace");if(Hy===Yy)return 0;return Hy?1:-1}),L=ny.utils.getAddressFromString(W),x=ny.utils.getAddressFromString(N),w=LU(_,L),n=new Ey.default(J.getBaseValue("string")),k=[{address:x,amount:n,tokens:[]}],I;if(B){let V=new Map;V.set("msg",[B]),I={metadata:[{data:V,label:674}]}}let z={...Y,minFeeB:Y.minFeeB.plus(Y.minFeeA.times(4))},S=new ny.Transaction({protocolParams:z}).paymentTransaction({auxiliaryData:I,changeAddress:L,inputs:w,outputs:k,ttl:O+3600}),{payload:u}=S.buildTransaction();return{tx:S,unsignedTx:u}}async function Z(Q){let N=await o();if(!N||!("signTransaction"in N))throw new _y.SwapKitError("core_wallet_connection_not_found");return N.signTransaction(Q)}async function A({recipient:Q,assetValue:N,memo:J}){let B=await o();if(!B||!("signTransaction"in B))throw new _y.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:D}=await G({assetValue:N,memo:J,recipient:Q,sender:await U()}),W=await Z(D);return await cH(W)}async function M(Q){let N=await Z(Q);return await cH(N)}return{createTransaction:G,estimateTransactionFee:X,getAddress:U,getBalance:q,signAndBroadcastTransaction:M,signTransaction:Z,transfer:A,validateAddress:y5}}var gH,iH,dH,rH,ny,_y,Ey,aH="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS",sH="https://cardano-mainnet.blockfrost.io/api/v0",MU,V1=2147483648,tH=0;var f5=b(()=>{gH=require("@scure/base"),iH=require("@scure/bip39"),dH=require("@scure/bip39/wordlists/english.js"),rH=require("@stricahq/bip32ed25519"),ny=require("@stricahq/typhonjs"),_y=require("@swapkit/helpers"),Ey=_1(require("bignumber.js")),MU=ny.types.NetworkId.MAINNET});var p1={};Ny(p1,{validateCardanoAddress:()=>y5,getCardanoToolbox:()=>JU});module.exports=Ry(p1);var l1=b(()=>{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 zU(y){return iy.base64.encode(y)}function NU(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=b(()=>{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 o5;case K.Chain.Noble:return U5;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 nf(y,T,H={}){let f=await import("@cosmjs/stargate"),C=f.SigningStargateClient??f.default?.SigningStargateClient,o=f.GasPrice??f.default?.GasPrice,U=typeof H==="string"?H:"0.0003uatom",q=typeof H==="string"?{}:H;return C.connectWithSigner(y,T,{gasPrice:o.fromString(U),...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:o,accountNumber:U}){let{chain:q,chainId:X}=H,G=await K.getRPCUrl(q),A=await(await yf(G)).getAccount(y);if(!A)throw new K.SwapKitError("toolbox_cosmos_account_not_found",{sender:y});let M=K.AssetValue.from({chain:q}),Q=qf(M.symbol),N=ey(q),J=Q&&C?{amount:[{amount:C.toString(),denom:Q}],gas:N.gas}:N,B={amount:[{amount:H.getBaseValue("string"),denom:qf(H.symbol)}],fromAddress:y,toAddress:T};return{accountNumber:U??Number(A.accountNumber),chainId:X,fee:J,memo:f,msgs:[{typeUrl:BU(q),value:B}],sequence:o??A.sequence}}var K,K1="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",C5="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",H5,o5,U5,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)},BU=(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})}},OU,m1=(y,T)=>{let H=OU[y.toLowerCase()];if(!H)return K.AssetValue.from({asset:y,fromBaseDecimal:8,value:T});let{chain:f,asset:C,decimals:o}=H,U=f?{chain:f}:{asset:C};return K.AssetValue.from({...U,fromBaseDecimal:o,value:T})};var BT=b(()=>{K=require("@swapkit/helpers"),H5={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},o5={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},U5={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};OU={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,Vy,l,E;var X5=b(()=>{By=_1(require("protobufjs/minimal.js")),h=By.default.Reader,Vy=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=Vy.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 o=C===void 0?f.len:f.pos+C,U=new E.common.Asset;while(f.pos<o){let q=f.uint32();switch(q>>>3){case 1:U.chain=f.string();break;case 2:U.symbol=f.string();break;case 3:U.ticker=f.string();break;case 4:U.synth=f.bool();break;default:f.skipType(q&7);break}}return U},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 o={};if(C.defaults)o.chain="",o.symbol="",o.ticker="",o.synth=!1;if(f.chain!=null&&f.hasOwnProperty("chain"))o.chain=f.chain;if(f.symbol!=null&&f.hasOwnProperty("symbol"))o.symbol=f.symbol;if(f.ticker!=null&&f.hasOwnProperty("ticker"))o.ticker=f.ticker;if(f.synth!=null&&f.hasOwnProperty("synth"))o.synth=f.synth;return o},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=Vy.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 o=C===void 0?f.len:f.pos+C,U=new E.common.Coin;while(f.pos<o){let q=f.uint32();switch(q>>>3){case 1:U.asset=E.common.Asset.decode(f,f.uint32());break;case 2:U.amount=f.string();break;case 3:U.decimals=f.int64();break;default:f.skipType(q&7);break}}return U},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 o={};if(C.defaults)if(o.asset=null,o.amount="",l.Long){let U=new l.Long(0,0,!1);o.decimals=C.longs===String?U.toString():C.longs===Number?U.toNumber():U}else o.decimals=C.longs===String?"0":0;if(f.asset!=null&&f.hasOwnProperty("asset"))o.asset=E.common.Asset.toObject(f.asset,C);if(f.amount!=null&&f.hasOwnProperty("amount"))o.amount=f.amount;if(f.decimals!=null&&f.hasOwnProperty("decimals"))if(typeof f.decimals==="number")o.decimals=C.longs===String?String(f.decimals):f.decimals;else o.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 o},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=Vy.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 o=C===void 0?f.len:f.pos+C,U=new E.common.PubKeySet;while(f.pos<o){let q=f.uint32();switch(q>>>3){case 1:U.secp256k1=f.string();break;case 2:U.ed25519=f.string();break;default:f.skipType(q&7);break}}return U},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 o={};if(C.defaults)o.secp256k1="",o.ed25519="";if(f.secp256k1!=null&&f.hasOwnProperty("secp256k1"))o.secp256k1=f.secp256k1;if(f.ed25519!=null&&f.hasOwnProperty("ed25519"))o.ed25519=f.ed25519;return o},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=Vy.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 o=0;o<f.coins.length;++o)E.common.Coin.encode(f.coins[o],C.uint32(42).fork()).ldelim();if(f.gas?.length)for(let o=0;o<f.gas.length;++o)E.common.Coin.encode(f.gas[o],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 o=C===void 0?f.len:f.pos+C,U=new E.common.Tx;while(f.pos<o){let q=f.uint32();switch(q>>>3){case 1:U.id=f.string();break;case 2:U.chain=f.string();break;case 3:U.fromAddress=f.string();break;case 4:U.toAddress=f.string();break;case 5:if(!U.coins?.length)U.coins=[];U.coins.push(E.common.Coin.decode(f,f.uint32()));break;case 6:if(!U.gas?.length)U.gas=[];U.gas.push(E.common.Coin.decode(f,f.uint32()));break;case 7:U.memo=f.string();break;default:f.skipType(q&7);break}}return U},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 o=E.common.Coin.verify(f.coins[C]);if(o)return"coins."+o}}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 o=E.common.Coin.verify(f.gas[C]);if(o)return"gas."+o}}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 o=0;o<f.coins.length;++o){if(typeof f.coins[o]!=="object")throw TypeError(".common.Tx.coins: object expected");C.coins[o]=E.common.Coin.fromObject(f.coins[o])}}if(f.gas){if(!Array.isArray(f.gas))throw TypeError(".common.Tx.gas: array expected");C.gas=[];for(let o=0;o<f.gas.length;++o){if(typeof f.gas[o]!=="object")throw TypeError(".common.Tx.gas: object expected");C.gas[o]=E.common.Coin.fromObject(f.gas[o])}}if(f.memo!=null)C.memo=String(f.memo);return C},T.toObject=function(f,C){if(!C)C={};let o={};if(C.arrays||C.defaults)o.coins=[],o.gas=[];if(C.defaults)o.id="",o.chain="",o.fromAddress="",o.toAddress="",o.memo="";if(f.id!=null&&f.hasOwnProperty("id"))o.id=f.id;if(f.chain!=null&&f.hasOwnProperty("chain"))o.chain=f.chain;if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress"))o.fromAddress=f.fromAddress;if(f.toAddress!=null&&f.hasOwnProperty("toAddress"))o.toAddress=f.toAddress;if(f.coins?.length){o.coins=[];for(let U=0;U<f.coins.length;++U)o.coins[U]=E.common.Coin.toObject(f.coins[U],C)}if(f.gas?.length){o.gas=[];for(let U=0;U<f.gas.length;++U)o.gas[U]=E.common.Coin.toObject(f.gas[U],C)}if(f.memo!=null&&f.hasOwnProperty("memo"))o.memo=f.memo;return o},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=Vy.create();if(f.coins?.length)for(let o=0;o<f.coins.length;++o)E.common.Coin.encode(f.coins[o],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 o=C===void 0?f.len:f.pos+C,U=new E.common.Fee;while(f.pos<o){let q=f.uint32();switch(q>>>3){case 1:if(!U.coins?.length)U.coins=[];U.coins.push(E.common.Coin.decode(f,f.uint32()));break;case 2:U.poolDeduct=f.string();break;default:f.skipType(q&7);break}}return U},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 o=E.common.Coin.verify(f.coins[C]);if(o)return"coins."+o}}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 o=0;o<f.coins.length;++o){if(typeof f.coins[o]!=="object")throw TypeError(".common.Fee.coins: object expected");C.coins[o]=E.common.Coin.fromObject(f.coins[o])}}if(f.poolDeduct!=null)C.poolDeduct=String(f.poolDeduct);return C},T.toObject=function(f,C){if(!C)C={};let o={};if(C.arrays||C.defaults)o.coins=[];if(C.defaults)o.poolDeduct="";if(f.coins?.length){o.coins=[];for(let U=0;U<f.coins.length;++U)o.coins[U]=E.common.Coin.toObject(f.coins[U],C)}if(f.poolDeduct!=null&&f.hasOwnProperty("poolDeduct"))o.poolDeduct=f.poolDeduct;return o},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=Vy.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 o=C===void 0?f.len:f.pos+C,U=new E.common.ProtoUint;while(f.pos<o){let q=f.uint32();switch(q>>>3){case 1:U.value=f.string();break;default:f.skipType(q&7);break}}return U},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 o={};if(C.defaults)o.value="";if(f.value!=null&&f.hasOwnProperty("value"))o.value=f.value;return o},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=Vy.create();if(f.coins?.length)for(let o=0;o<f.coins.length;++o)E.common.Coin.encode(f.coins[o],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 o=C===void 0?f.len:f.pos+C,U=new E.types.MsgDeposit;while(f.pos<o){let q=f.uint32();switch(q>>>3){case 1:if(!U.coins?.length)U.coins=[];U.coins.push(E.common.Coin.decode(f,f.uint32()));break;case 2:U.memo=f.string();break;case 3:U.signer=f.bytes();break;default:f.skipType(q&7);break}}return U},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 o=E.common.Coin.verify(f.coins[C]);if(o)return"coins."+o}}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 o=0;o<f.coins.length;++o){if(typeof f.coins[o]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");C.coins[o]=E.common.Coin.fromObject(f.coins[o])}}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 o={};if(C.arrays||C.defaults)o.coins=[];if(C.defaults){if(o.memo="",C.bytes===String)o.signer="";else if(o.signer=[],C.bytes!==Array)o.signer=l.newBuffer(o.signer)}if(f.coins?.length){o.coins=[];for(let U=0;U<f.coins.length;++U)o.coins[U]=E.common.Coin.toObject(f.coins[U],C)}if(f.memo!=null&&f.hasOwnProperty("memo"))o.memo=f.memo;if(f.signer!=null&&f.hasOwnProperty("signer"))o.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 o},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=Vy.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 o=0;o<f.amount.length;++o)E.cosmos.base.v1beta1.Coin.encode(f.amount[o],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 o=C===void 0?f.len:f.pos+C,U=new E.types.MsgSend;while(f.pos<o){let q=f.uint32();switch(q>>>3){case 1:U.fromAddress=f.bytes();break;case 2:U.toAddress=f.bytes();break;case 3:if(!U.amount?.length)U.amount=[];U.amount.push(E.cosmos.base.v1beta1.Coin.decode(f,f.uint32()));break;default:f.skipType(q&7);break}}return U},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 o=E.cosmos.base.v1beta1.Coin.verify(f.amount[C]);if(o)return"amount."+o}}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 o=0;o<f.amount.length;++o){if(typeof f.amount[o]!=="object")throw TypeError(".types.MsgSend.amount: object expected");C.amount[o]=E.cosmos.base.v1beta1.Coin.fromObject(f.amount[o])}}return C},T.toObject=function(f,C){if(!C)C={};let o={};if(C.arrays||C.defaults)o.amount=[];if(C.defaults){if(C.bytes===String)o.fromAddress="";else if(o.fromAddress=[],C.bytes!==Array)o.fromAddress=l.newBuffer(o.fromAddress);if(C.bytes===String)o.toAddress="";else if(o.toAddress=[],C.bytes!==Array)o.toAddress=l.newBuffer(o.toAddress)}if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress"))o.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"))o.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){o.amount=[];for(let U=0;U<f.amount.length;++U)o.amount[U]=E.cosmos.base.v1beta1.Coin.toObject(f.amount[U],C)}return o},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 o=Object.keys(C),U=0;U<o.length;++U)if(C[o[U]]!=null)this[o[U]]=C[o[U]]}}return f.prototype.denom="",f.prototype.amount="",f.create=function(o){return new f(o)},f.encode=function(o,U){if(!U)U=Vy.create();if(o.denom!=null&&Object.hasOwnProperty.call(o,"denom"))U.uint32(10).string(o.denom);if(o.amount!=null&&Object.hasOwnProperty.call(o,"amount"))U.uint32(18).string(o.amount);return U},f.encodeDelimited=function(o,U){return this.encode(o,U).ldelim()},f.decode=function(o,U){if(!(o instanceof h))o=h.create(o);let q=U===void 0?o.len:o.pos+U,X=new E.cosmos.base.v1beta1.Coin;while(o.pos<q){let G=o.uint32();switch(G>>>3){case 1:X.denom=o.string();break;case 2:X.amount=o.string();break;default:o.skipType(G&7);break}}return X},f.decodeDelimited=function(o){if(!(o instanceof h))o=new h(o);return this.decode(o,o.uint32())},f.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.denom!=null&&o.hasOwnProperty("denom")){if(!l.isString(o.denom))return"denom: string expected"}if(o.amount!=null&&o.hasOwnProperty("amount")){if(!l.isString(o.amount))return"amount: string expected"}return null},f.fromObject=function(o){if(o instanceof E.cosmos.base.v1beta1.Coin)return o;let U=new E.cosmos.base.v1beta1.Coin;if(o.denom!=null)U.denom=String(o.denom);if(o.amount!=null)U.amount=String(o.amount);return U},f.toObject=function(o,U){if(!U)U={};let q={};if(U.defaults)q.denom="",q.amount="";if(o.denom!=null&&o.hasOwnProperty("denom"))q.denom=o.denom;if(o.amount!=null&&o.hasOwnProperty("amount"))q.amount=o.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 o=Object.keys(C),U=0;U<o.length;++U)if(C[o[U]]!=null)this[o[U]]=C[o[U]]}}return f.prototype.denom="",f.prototype.amount="",f.create=function(o){return new f(o)},f.encode=function(o,U){if(!U)U=Vy.create();if(o.denom!=null&&Object.hasOwnProperty.call(o,"denom"))U.uint32(10).string(o.denom);if(o.amount!=null&&Object.hasOwnProperty.call(o,"amount"))U.uint32(18).string(o.amount);return U},f.encodeDelimited=function(o,U){return this.encode(o,U).ldelim()},f.decode=function(o,U){if(!(o instanceof h))o=h.create(o);let q=U===void 0?o.len:o.pos+U,X=new E.cosmos.base.v1beta1.DecCoin;while(o.pos<q){let G=o.uint32();switch(G>>>3){case 1:X.denom=o.string();break;case 2:X.amount=o.string();break;default:o.skipType(G&7);break}}return X},f.decodeDelimited=function(o){if(!(o instanceof h))o=new h(o);return this.decode(o,o.uint32())},f.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.denom!=null&&o.hasOwnProperty("denom")){if(!l.isString(o.denom))return"denom: string expected"}if(o.amount!=null&&o.hasOwnProperty("amount")){if(!l.isString(o.amount))return"amount: string expected"}return null},f.fromObject=function(o){if(o instanceof E.cosmos.base.v1beta1.DecCoin)return o;let U=new E.cosmos.base.v1beta1.DecCoin;if(o.denom!=null)U.denom=String(o.denom);if(o.amount!=null)U.amount=String(o.amount);return U},f.toObject=function(o,U){if(!U)U={};let q={};if(U.defaults)q.denom="",q.amount="";if(o.denom!=null&&o.hasOwnProperty("denom"))q.denom=o.denom;if(o.amount!=null&&o.hasOwnProperty("amount"))q.amount=o.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 o=Object.keys(C),U=0;U<o.length;++U)if(C[o[U]]!=null)this[o[U]]=C[o[U]]}}return f.prototype.int="",f.create=function(o){return new f(o)},f.encode=function(o,U){if(!U)U=Vy.create();if(o.int!=null&&Object.hasOwnProperty.call(o,"int"))U.uint32(10).string(o.int);return U},f.encodeDelimited=function(o,U){return this.encode(o,U).ldelim()},f.decode=function(o,U){if(!(o instanceof h))o=h.create(o);let q=U===void 0?o.len:o.pos+U,X=new E.cosmos.base.v1beta1.IntProto;while(o.pos<q){let G=o.uint32();switch(G>>>3){case 1:X.int=o.string();break;default:o.skipType(G&7);break}}return X},f.decodeDelimited=function(o){if(!(o instanceof h))o=new h(o);return this.decode(o,o.uint32())},f.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.int!=null&&o.hasOwnProperty("int")){if(!l.isString(o.int))return"int: string expected"}return null},f.fromObject=function(o){if(o instanceof E.cosmos.base.v1beta1.IntProto)return o;let U=new E.cosmos.base.v1beta1.IntProto;if(o.int!=null)U.int=String(o.int);return U},f.toObject=function(o,U){if(!U)U={};let q={};if(U.defaults)q.int="";if(o.int!=null&&o.hasOwnProperty("int"))q.int=o.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 o=Object.keys(C),U=0;U<o.length;++U)if(C[o[U]]!=null)this[o[U]]=C[o[U]]}}return f.prototype.dec="",f.create=function(o){return new f(o)},f.encode=function(o,U){if(!U)U=Vy.create();if(o.dec!=null&&Object.hasOwnProperty.call(o,"dec"))U.uint32(10).string(o.dec);return U},f.encodeDelimited=function(o,U){return this.encode(o,U).ldelim()},f.decode=function(o,U){if(!(o instanceof h))o=h.create(o);let q=U===void 0?o.len:o.pos+U,X=new E.cosmos.base.v1beta1.DecProto;while(o.pos<q){let G=o.uint32();switch(G>>>3){case 1:X.dec=o.string();break;default:o.skipType(G&7);break}}return X},f.decodeDelimited=function(o){if(!(o instanceof h))o=new h(o);return this.decode(o,o.uint32())},f.verify=function(o){if(typeof o!=="object"||o===null)return"object expected";if(o.dec!=null&&o.hasOwnProperty("dec")){if(!l.isString(o.dec))return"dec: string expected"}return null},f.fromObject=function(o){if(o instanceof E.cosmos.base.v1beta1.DecProto)return o;let U=new E.cosmos.base.v1beta1.DecProto;if(o.dec!=null)U.dec=String(o.dec);return U},f.toObject=function(o,U){if(!U)U={};let q={};if(U.defaults)q.dec="";if(o.dec!=null&&o.hasOwnProperty("dec"))q.dec=o.dec;return q},f.prototype.toJSON=function(){return this.constructor.toObject(this,By.default.util.toJSONOptions)},f})(),H})(),T})(),y})()});async function wf(){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,...o})=>({...o,signer:JT(C)}),toAmino:({signer:C,...o})=>({...o,signer:zT(C)})},"/types.MsgSend":{aminoType:`${f}/MsgSend`,fromAmino:({from_address:C,to_address:o,...U})=>({...U,fromAddress:JT(C),toAddress:JT(o)}),toAmino:({fromAddress:C,toAddress:o,...U})=>({...U,from_address:zT(C),to_address:zT(o)})}})}var G5;var t1=b(()=>{j1();G5=require("@swapkit/helpers")});function i1(y){let{assetValue:T,recipient:H,memo:f,sender:C,asSignable:o,asAminoMessage:U}=y;if(H)return _5({asAminoMessage:U,asSignable:o,assetValue:T,memo:f,recipient:H,sender:C});return M5({asAminoMessage:U,asSignable:o,assetValue:T,memo:f,sender:C})}async function _5({sender:y,recipient:T,assetValue:H,memo:f="",asSignable:C=!0,asAminoMessage:o=!1,sequence:U,accountNumber:q}){let X=H.chain,G=await wy.getRPCUrl(X),Z=await Q5({rpcUrl:G,sender:y}),{chainId:A}=wy.getChainConfig(X),M=c1({assetValue:H,recipient:T,sender:y}),Q=C?await Gf(o?M:Qf(M),X):M;return{accountNumber:q||Number(Z.accountNumber),chainId:A,fee:ey(X),memo:f,msgs:[Q],sequence:U||Z.sequence}}async function M5({sender:y,assetValue:T,memo:H="",asSignable:f=!0,asAminoMessage:C=!1,sequence:o,accountNumber:U}){let q=T.chain,X=await wy.getRPCUrl(q),G=await Q5({rpcUrl:X,sender:y}),{chainId:Z}=wy.getChainConfig(q),A=g1({assetValue:T,memo:H,sender:y}),M=f?await Gf(C?A:Qf(A),q):A;return{accountNumber:U||Number(G.accountNumber),chainId:Z,fee:ey(q),memo:H,msgs:[M],sequence:o||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=wy.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 wf(),C=await Xf(y),o={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:T,messages:H.map((U)=>C.fromAmino(U))}};return f.encode(o)}var wy,DU,RU,c1=({sender:y,recipient:T,assetValue:H})=>{return{type:`${H.chain===wy.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===wy.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:T.getBaseValue("string"),asset:NT(T)}],memo:H,signer:y}}},A0=({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 wy.SwapKitError("toolbox_cosmos_account_not_found",{sender:T});return f};var Z5=b(()=>{BT();t1();wy=require("@swapkit/helpers"),DU=ey(wy.Chain.THORChain).gas,RU=ey(wy.Chain.Maya).gas});var W5=()=>{};var L5=b(()=>{W5()});var d1=b(()=>{j1();Z5();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 xU({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 o=await y(C);if(!o?.pubkey)throw new v.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let U=await import("@cosmjs/crypto"),q=U.Secp256k1Signature??U.default?.Secp256k1Signature,X=U.Secp256k1??U.default?.Secp256k1,G=q.fromFixedLength(_f.base64.decode(H));return X.verifySignature(G,_f.base64.decode(f),o.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})),o;async function U(){if(o)return o;return o=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}),o}async function q(Q){let N=await v.getRPCUrl(y);return(await yf(N)).getAccount(Q)}async function X(){let Q=await U(),[N]=await Q?.getAccounts()||[];return N?.address}async function G(){let Q=await U(),[N]=await Q?.getAccounts()||[];if(!N?.pubkey)throw new v.SwapKitError("toolbox_cosmos_signer_not_defined");return _f.base64.encode(N?.pubkey)}async function Z(Q){let N=await U(),J=await X(),B=await v.getRPCUrl(y);if(!(N&&J))throw new v.SwapKitError("toolbox_cosmos_signer_not_defined");return await(await nf(B,N)).sign(J,Q.msgs,Q.fee,Q.memo,{accountNumber:BigInt(Q.accountNumber),chainId:Q.chainId,sequence:Q.sequence})}async function A(Q){let N=await U(),J=await X(),B=await v.getRPCUrl(y);if(!(N&&J))throw new v.SwapKitError("toolbox_cosmos_signer_not_defined");let W=await(await nf(B,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 M({recipient:Q,assetValue:N,memo:J="",feeRate:B,feeOptionKey:D=v.FeeOption.Fast}){let W=await U(),R=await X();if(!(W&&R))throw new v.SwapKitError("toolbox_cosmos_signer_not_defined");let O=await v.getRPCUrl(y),Y=v.AssetValue.from({chain:y}),_=NT(Y),L=B||kU((await Y5(y,A5[y]))[D],_),x=await nf(O,W),w=qf(N.symbol),n=[{amount:N.getBaseValue("string"),denom:w}],{transactionHash:k}=await x.sendTokens(R,Q,n,L,J);return k}return{createPrivateKeyFromPhrase:$U(C),createTransaction:h1,fetchFeeRateFromSwapKit:s1,getAccount:q,getAddress:X,getBalance:async(Q,N)=>{let J=await J5(y)(Q),B=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(B.length===0)return[v.AssetValue.from({chain:y})];return B},getBalanceAsDenoms:J5(y),getFees:()=>Y5(y,A5[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:A,signTransaction:Z,transfer:M,validateAddress:O5(y),verifySignature:B5(q)}}async function nU(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 wU({assetValue:{chain:y}}){return v.AssetValue.from({chain:y,value:FU(y)})}async function Y5(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 kU(y,T){return{amount:[{amount:y.getBaseValue("string"),denom:T}],gas:"200000"}}function FU(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:o}=_f.bech32.decode(f);return _f.bech32.encode(C,o)===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 $U(y){return async function(H){let f=await import("@cosmjs/crypto"),C=f.stringToPath??f.default?.stringToPath,o=f.Slip10Curve??f.default?.Slip10Curve,U=f.Slip10??f.default?.Slip10,q=f.EnglishMnemonic??f.default?.EnglishMnemonic,X=f.Bip39??f.default?.Bip39,G=new q(H),Z=await X.mnemonicToSeed(G),{privkey:A}=U.derivePath(o.Secp256k1,Z,C(y));return A}}var z5,N5,_f,v,a1,DT,A5;var Y0=b(()=>{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");A5={[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 IU({prefix:y,derivationPath:T}){return async function(f,C=0){let o=await import("@cosmjs/amino"),U=o.Secp256k1HdWallet??o.default?.Secp256k1HdWallet,q=await import("@cosmjs/crypto"),X=q.stringToPath??q.default?.stringToPath;return U.fromMnemonic(f,{hdPaths:[X(`${T}/${C}`)],prefix:y})}}function SU(y){return Mf.base64.encode(y)}function PU(y){return async function({wallet:H,tx:f}){let{msgs:C,accountNumber:o,sequence:U,chainId:q,fee:X,memo:G}=typeof f==="string"?JSON.parse(f):f,Z=(await H.getAccounts())?.[0]?.address||"",A=await Xf(y),M=await wf(),Q=await u1(H,{aminoTypes:A,registry:M}),N=[];for(let D of C){let W=await Gf(D,y);N.push(W)}let{signatures:[J]}=await Q.sign(Z,N,X,G,{accountNumber:BigInt(o),chainId:q,sequence:U});return{bodyBytes:await OT({chain:y,memo:G,msgs:C.map(Qf)}),signature:SU(J)}}}function EU({prefix:y,chain:T}){return async function(f,C,o,U,q){let X=await yy.getRPCUrl(T),{encodeSecp256k1Pubkey:G,pubkeyToAddress:Z}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:A}=(await import("@cosmjs/stargate")).default,{sequence:M,fee:Q}=JSON.parse(f),N=await D5(o,U),J=C.map((W)=>[Z(G(Mf.base64.decode(W.pubKey)),y),Mf.base64.decode(W.signature)]),B=await yf(X),{transactionHash:D}=await B.broadcastTx(A(N,M,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((o)=>C(Mf.base64.decode(o))),T,H)}function bU(y){return Mf.base64.decode(y)}async function VU({privateKey:y,message:T}){let{Secp256k1:H}=(await import("@cosmjs/crypto")).default,f=await H.createSignature(Mf.base64.decode(T),y);return Mf.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,o=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),U=`${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}),Z=ey(y),A;function M(){return A??=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)),A}async function Q(){let W=await yy.getRPCUrl(y),R=await M();if(!R)throw new yy.SwapKitError("toolbox_cosmos_no_signer");let O=await wf(),Y=await Xf(y),_=await nf(W,R,{aminoTypes:Y,registry:O});return{signer:R,signingClient:_}}async function N({fee:W,memo:R,msgs:O}){let{signer:Y,signingClient:_}=await Q(),L=(await Y.getAccounts())?.[0]?.address;if(!L)throw new yy.SwapKitError("toolbox_cosmos_signer_not_defined");let x=await _.signAndBroadcast(L,O,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=`${o}/${C?"mayachain":"thorchain"}/constants`;try{let{int_64_values:{NativeTransactionFee:O}}=await yy.RequestClient.get(R);if(!O||Number.isNaN(O)||O<0)throw new yy.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:O.toString()});W=new yy.SwapKitNumber(O)}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 B({assetValue:W,memo:R="",recipient:O}){let{TxRaw:Y}=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 w="signAmino"in _,n=A0({assetValue:W,memo:R,recipient:O,sender:x});if(w){let z=await Gf(n,y),{signatures:F,authInfoBytes:S}=await L.sign(x,[z],Z,R),u=Y.encode({authInfoBytes:S,bodyBytes:await OT({chain:y,memo:R,msgs:[n].map(Qf)}),signatures:F}).finish();return(await L.broadcastTx(u)).transactionHash}let k=Qf(n),I=await Gf(k,y);return N({fee:Z,memo:R,msgs:[I]})}async function D(W){let{signer:R,signingClient:O}=await Q(),Y=(await R.getAccounts())?.[0]?.address;if(!Y)throw new yy.SwapKitError("toolbox_cosmos_signer_not_defined");return O.sign(Y,W.msgs,W.fee,W.memo,{accountNumber:BigInt(W.accountNumber),chainId:W.chainId,sequence:W.sequence})}return{...G,broadcastMultisigTx:EU({chain:y,prefix:U}),buildAminoMsg:A0,buildEncodedTxBody:OT,convertToSignable:Gf,createDefaultAminoTypes:()=>Xf(y),createDefaultRegistry:wf,createMultisig:D5,createTransaction:i1,deposit:B,getFees:J,importSignature:bU,parseAminoMessageForDirectSigning:Qf,pubkeyToAddress:async(W)=>{let{pubkeyToAddress:R}=(await import("@cosmjs/amino")).default;return R(W,U)},secp256k1HdWalletFromMnemonic:IU({derivationPath:yy.derivationPathToString(X),prefix:U}),signAndBroadcastTransaction:N,signMultisigTx:PU(y),signTransaction:D,signWithPrivateKey:VU,transfer:B}}var Mf,yy,hf;var yC=b(()=>{d1();BT();Y0();Mf=require("@scure/base"),yy=require("@swapkit/helpers"),hf=require("ts-pattern")});var Zf,vU=(y,T)=>{switch(y){case Zf.Chain.Cosmos:case Zf.Chain.Kujira:case Zf.Chain.Noble:return RT({chain:y,...T});case Zf.Chain.Maya:case Zf.Chain.THORChain:return e1({chain:y,...T});default:throw new Zf.SwapKitError("toolbox_cosmos_not_supported",{chain:y})}};var R5=b(()=>{Y0();yC();Zf=require("@swapkit/helpers");Y0();yC()});var J0={};Ny(J0,{verifySignature:()=>B5,transferMsgAmino:()=>c1,toBase64:()=>zU,parseAminoMessageForDirectSigning:()=>Qf,getSignerFromPrivateKey:()=>xU,getSignerFromPhrase:()=>r1,getMsgSendDenom:()=>qf,getFeeRateFromSwapKit:()=>nU,getDenomWithChain:()=>NT,getDefaultChainFee:()=>ey,getCosmosToolbox:()=>vU,getCosmosAddressValidator:()=>O5,getAssetFromDenom:()=>m1,fromBase64:()=>NU,fetchFeeRateFromSwapKit:()=>s1,estimateTransactionFee:()=>wU,depositMsgAmino:()=>g1,createTransaction:()=>i1,createThorchainToolbox:()=>e1,createStargateClient:()=>yf,createSigningStargateClient:()=>nf,createOfflineStargateClient:()=>u1,createDefaultRegistry:()=>wf,createDefaultAminoTypes:()=>Xf,createCosmosToolbox:()=>RT,cosmosCreateTransaction:()=>h1,convertToSignable:()=>Gf,buildTransferTx:()=>_5,buildEncodedTxBody:()=>OT,buildDepositTx:()=>M5,buildAminoMsg:()=>A0,bech32ToBase64:()=>JT,base64ToBech32:()=>zT,YUM_KUJIRA_FACTORY_DENOM:()=>C5,USK_KUJIRA_FACTORY_DENOM:()=>K1,THORCHAIN_GAS_VALUE:()=>DU,MAYA_GAS_VALUE:()=>RU,DEFAULT_NOBLE_FEE_MAINNET:()=>U5,DEFAULT_KUJI_FEE_MAINNET:()=>o5,DEFAULT_COSMOS_FEE_MAINNET:()=>H5});module.exports=Ry(J0);var z0=b(()=>{d1();R5();BT()});function pU({builder:y,grouping:T="na",orders:H}){return{builder:y,grouping:T,orders:H,type:"order"}}function lU({cancels:y}){return{cancels:y,type:"cancel"}}function jU({cancels:y}){return{cancels:y,type:"cancelByCloid"}}function KU({oid:y,order:T}){return{oid:y,order:T,type:"modify"}}function uU({modifies:y}){return{modifies:y,type:"batchModify"}}function hU({asset:y,isCross:T,leverage:H}){return{asset:y,isCross:T,leverage:H,type:"updateLeverage"}}function mU({asset:y,isBuy:T,ntli:H}){return{asset:y,isBuy:T,ntli:H,type:"updateIsolatedMargin"}}function tU({asset:y,leverage:T}){return{asset:y,leverage:T,type:"topUpIsolatedOnlyMargin"}}function cU({time:y}){return{time:y,type:"scheduleCancel"}}function gU({amount:y,hyperliquidChain:T,nonce:H,signatureChainId:f,toPerp:C}){return{amount:y,hyperliquidChain:T,nonce:H,signatureChainId:f,toPerp:C,type:"usdClassTransfer"}}function iU({amount:y,destination:T,destinationDex:H,fromSubAccount:f,hyperliquidChain:C,nonce:o,signatureChainId:U,sourceDex:q,token:X}){return{amount:y,destination:T,destinationDex:H,fromSubAccount:f,hyperliquidChain:C,nonce:o,signatureChainId:U,sourceDex:q,token:X,type:"sendAsset"}}function dU({agentAddress:y,agentName:T,hyperliquidChain:H,nonce:f,signatureChainId:C}){return{agentAddress:y,agentName:T,hyperliquidChain:H,nonce:f,signatureChainId:C,type:"approveAgent"}}function rU({builder:y,hyperliquidChain:T,maxFeeRate:H,nonce:f,signatureChainId:C}){return{builder:y,hyperliquidChain:T,maxFeeRate:H,nonce:f,signatureChainId:C,type:"approveBuilderFee"}}function aU({hyperliquidChain:y,isUndelegate:T,nonce:H,signatureChainId:f,validator:C,wei:o}){return{hyperliquidChain:y,isUndelegate:T,nonce:H,signatureChainId:f,type:"tokenDelegate",validator:C,wei:o}}function Iy(...y){let T=y.reduce((C,o)=>C+o.length,0),H=new Uint8Array(T),f=0;for(let C of y)H.set(C,f),f+=C.length;return H}function C8(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 k5(y){let T=T8.encode(y);if(T.length<32)return Iy(new Uint8Array([160+T.length]),T);return Iy(C8(217,0,T.length),T)}function H8(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 o8(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])=>[k5(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 k5(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 H8(y);if(typeof y==="object")return o8(y);throw new N0.SwapKitError("helpers_invalid_params",{message:`Unsupported Hyperliquid msgpack value: ${String(y)}`})}function U8(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 F5(y){return{domain:sU,message:{connectionId:y,source:"a"},primaryType:"Agent",types:{Agent:[...eU.Agent]}}}function $5(y){let T=f8[y.type],H=y8[y.type],{type:f,...C}=y;return{domain:{chainId:Number.parseInt(C.signatureChainId||"0xa4b1",16),name:"HyperliquidSignTransaction",verifyingContract:n5,version:"1"},message:{...C,hyperliquidChain:C.hyperliquidChain||w5},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),o=Wf(BigInt(T),8),U=f?Iy(new Uint8Array([1]),U8(f.toLowerCase())):new Uint8Array([0]),q=typeof H==="number"?Iy(new Uint8Array([0]),Wf(BigInt(H),8)):new Uint8Array;return B0.keccak256(Iy(C,o,U,q))}function P5(y){let T=y.hyperliquidChain||w5;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,n5="0x0000000000000000000000000000000000000000",sU,eU,w5="Mainnet",y8,f8,T8;var E5=b(()=>{N0=require("@swapkit/helpers"),B0=require("ethers"),sU={chainId:1337,name:"Exchange",verifyingContract:n5,version:"1"},eU={Agent:[{name:"source",type:"string"},{name:"connectionId",type:"bytes32"}]},y8={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"}]},f8={approveAgent:"HyperliquidTransaction:ApproveAgent",approveBuilderFee:"HyperliquidTransaction:ApproveBuilderFee",sendAsset:"HyperliquidTransaction:SendAsset",tokenDelegate:"HyperliquidTransaction:TokenDelegate",usdClassTransfer:"HyperliquidTransaction:UsdClassTransfer"},T8=new TextEncoder});function ly(y,T){if(!HC(y))throw new Ty.SwapKitError(T,{address:y});return y.toLowerCase()}async function kf(y){let T=await O0();return Ty.RequestClient.post(`${T}/info`,{json:y})}function Z8({dex:y,user:T}){return kf({...y?{dex:y}:{},type:"clearinghouseState",user:ly(T,"helpers_invalid_params")})}function W8({user:y}){return kf({type:"spotClearinghouseState",user:ly(y,"helpers_invalid_params")})}function L8({dex:y,user:T}){return kf({...y?{dex:y}:{},type:"openOrders",user:ly(T,"helpers_invalid_params")})}function A8({dex:y,user:T}){return kf({...y?{dex:y}:{},type:"frontendOpenOrders",user:ly(T,"helpers_invalid_params")})}function Y8({oidOrCloid:y,user:T}){return kf({oid:y,type:"orderStatus",user:ly(T,"helpers_invalid_params")})}function J8({aggregateByTime:y,user:T}){return kf({...typeof y==="boolean"?{aggregateByTime:y}:{},type:"userFills",user:ly(T,"helpers_invalid_params")})}function z8({aggregateByTime:y,endTime:T,startTime:H,user:f}){return kf({...typeof y==="boolean"?{aggregateByTime:y}:{},...typeof T==="number"?{endTime:T}:{},startTime:H,type:"userFillsByTime",user:ly(f,"helpers_invalid_params")})}function b5({coin:y,token:T,value:H,spotMeta:f}){if(!H||Number(H)<=0)return null;let C=y?.toUpperCase()||`TOKEN-${T||"UNKNOWN"}`,o=q8[C]||p5,U=f?.tokens?.find((X)=>X.name===y||T!==void 0&&X.index===Number(T)),q=U?`${dy}.${C}-${U.name}:${U.tokenId}`:`${dy}.${C}`;return new Ty.AssetValue({decimal:o,identifier:q,value:H})}function N8(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 B8(y){let T=M8[y.type],{type:H,...f}=y,C=_8[H];return{domain:{chainId:Number.parseInt(y.signatureChainId,16),name:"HyperliquidSignTransaction",verifyingContract:Q8,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(),o=f?ly(f,"helpers_invalid_params"):void 0,U=await CC(),q=S5(y,C,{expiresAfter:T,vaultAddress:o});return{action:y,endpoint:U,expiresAfter:T,nonce:C,typedData:F5(q),vaultAddress:o}}async function j5({action:y,nonce:T,signatureChainId:H}){let f=T||y.nonce||Date.now(),C=H||y.signatureChainId||"0xa4b1",o=P5({...y,nonce:f,signatureChainId:C});return{action:o,endpoint:await CC(),nonce:f,typedData:$5(o)}}async function TC({assetValue:y,recipient:T,sender:H,signatureChainId:f,time:C}){let o=ly(T,"core_transaction_invalid_recipient_address"),U=ly(H,"core_transaction_invalid_sender_address"),q=await CC(),X=y.getValue("string"),G=C||Date.now(),Z=y.address;if(!Z)throw new Ty.SwapKitError("helpers_invalid_params",{asset:y.toString(),from:U});let A={amount:X,destination:o,hyperliquidChain:X8,signatureChainId:f||G8,time:G,token:Z,type:"spotSend"};return{action:A,endpoint:q,nonce:G,typedData:B8(A)}}async function V5(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 O8(y,T){let H=await O0(),f=T-5000;for(let C=0;C<5;C++){if(C>0)await new Promise((o)=>setTimeout(o,1000));try{let o=await Ty.RequestClient.post(`${H}/info`,{json:{startTime:f,type:"userNonFundingLedgerUpdates",user:y}}),U=Array.isArray(o)?o.find((q)=>q.time&&q.time>=T&&(q.delta?.type==="spotTransfer"||q.delta?.type==="internalTransfer")):void 0;if(U?.hash)return U.hash}catch{}}return""}function HC(y){return y.startsWith("0x")&&ZT(y)}function D8(y){let T=$y(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,o=!1;function U(){if(o)return C;return C=mf.match(y).with({phrase:mf.P.string},({phrase:M})=>{return v5.HDNodeWallet.fromPhrase(M,void 0,f)}).with({signer:mf.P.not(mf.P.nullish)},({signer:M})=>M).otherwise(()=>{return}),o=!0,C}async function q(){let M=U();return M?await M.getAddress():""}async function X(M){let Q=U();if(!Q)throw new Ty.SwapKitError("toolbox_hypercore_no_signer");let N=await Q.signTypedData(M.typedData.domain,M.typedData.types,M.typedData.message);return{action:M.action,endpoint:M.endpoint,nonce:M.nonce,signature:I5(N),..."expiresAfter"in M?{expiresAfter:M.expiresAfter}:{},..."vaultAddress"in M?{vaultAddress:M.vaultAddress}:{}}}async function G(M){let Q=ly(M,"helpers_invalid_params");try{let N=await O0(),[J,B,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:O,token:Y,total:_})=>b5({coin:O,spotMeta:D,token:Y,value:_})).filter((O)=>!!O),R=b5({coin:"USDC",spotMeta:D,value:B.withdrawable||B.marginSummary?.accountValue||B.marginSummary?.totalRawUsd});return N8(R?[...W,R]:W)}catch{return T(Q)}}async function Z(M){let Q=U();if(!Q)throw new Ty.SwapKitError("toolbox_hypercore_no_signer");let N=M.sender||await Q.getAddress(),J=await TC({...M,feeRate:0,sender:N}),B=await X(J);return await V5(B),O8(N,J.nonce)}function A(){return Ty.AssetValue.from({chain:dy,value:0})}return{broadcastTransaction:V5,createL1ActionRequest:l5,createTransaction:TC,createUserSignedActionRequest:j5,estimateTransactionFee:A,getAddress:q,getBalance:G,getState:{clearinghouse:Z8,frontendOpenOrders:A8,openOrders:L8,orderStatus:Y8,spotClearinghouse:W8,userFills:J8,userFillsByTime:z8},signTransaction:X,transfer:Z,validateAddress:HC}}var Ty,v5,mf,dy,p5,q8,X8="Mainnet",G8="0xa4b1",Q8="0x0000000000000000000000000000000000000000",_8,M8;var K5=b(()=>{b1();sy();E5();Ty=require("@swapkit/helpers"),v5=require("ethers"),mf=require("ts-pattern"),dy=Ty.Chain.Hype,{baseDecimal:p5}=Ty.getChainConfig(dy),q8={HYPE:p5,USDC:6,USDT:6},_8={spotSend:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"time",type:"uint64"}]},M8={spotSend:"HyperliquidTransaction:SpotSend"}});var oC={};Ny(oC,{validateHyperCoreAddress:()=>HC,getHyperCoreToolbox:()=>D8,createUserSignedActionRequest:()=>j5,createTransaction:()=>TC,createL1ActionRequest:()=>l5,buildUsdClassTransferAction:()=>gU,buildUpdateLeverageAction:()=>hU,buildUpdateIsolatedMarginAction:()=>mU,buildTopUpIsolatedOnlyMarginAction:()=>tU,buildTokenDelegateAction:()=>aU,buildSendAssetAction:()=>iU,buildScheduleCancelAction:()=>cU,buildOrderAction:()=>pU,buildModifyAction:()=>KU,buildCancelByCloidAction:()=>jU,buildCancelAction:()=>lU,buildBatchModifyAction:()=>uU,buildApproveBuilderFeeAction:()=>rU,buildApproveAgentAction:()=>dU});module.exports=Ry(oC);var UC=b(()=>{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((U)=>U.id===y)||null}catch{return null}}async function R8(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:o}=a.getChainConfig(a.Chain.Solana),U=await T.getBalance(C),q=[a.AssetValue.from({chain:a.Chain.Solana,fromBaseDecimal:o,value:U||0})],X=await T.getParsedTokenAccountsByOwner(C,{programId:f});for(let{account:G}of X.value){let Z=G.data.parsed.info,A=Z.mint,M=Z.tokenAmount.amount;if(Number(M)===0)continue;let Q=await m5(A),N=Q?.symbol||"UNKNOWN",J=Q?.decimals||Z.tokenAmount.decimals;q.push(a.AssetValue.from({asset:`${a.Chain.Solana}.${N}-${A}`,fromBaseDecimal:J,value:M}))}return q}function XC(y){try{let T=new Tf.PublicKey(y);return Tf.PublicKey.isOnCurve(T.toBytes())}catch{return!1}}function x8(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:U})=>qC({derivationPath:H,phrase:U})).with({signer:xT.P.any},({signer:U})=>U).otherwise(()=>{return}),f}async function o(){let U=await C();return U?.publicKey?h5(U.publicKey):""}return{broadcastTransaction:D0(ff),createKeysForPath:qC,createTransaction:GC(ff),createTransactionFromInstructions:F8,estimateTransactionFee:n8(ff),getAddress:o,getAddressFromPubKey:h5,getBalance:$y(a.Chain.Solana),getBalanceFromRPC:R8,getConnection:ff,getPubkeyFromAddress:(U)=>new Tf.PublicKey(U),signAndBroadcastTransaction:async(U)=>{let q=await u5(ff,C)(U);return D0(ff)(q)},signTransaction:u5(ff,C),transfer:$8(ff,C),validateAddress:XC}}function n8(y){return async({recipient:T,assetValue:H,memo:f,isProgramDerivedAddress:C,sender:o})=>{let U=await y(),X=(await GC(y)({assetValue:H,isProgramDerivedAddress:C,memo:f,recipient:T,sender:o})).compileMessage(),G=await U.getFeeForMessage(X);if(G.value===null)throw new a.SwapKitError("toolbox_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:Z}=a.getChainConfig(a.Chain.Solana);return a.AssetValue.from({chain:a.Chain.Solana,fromBaseDecimal:Z,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 o={};for(let[U,q]of Object.entries(f?.headers??{})){let X=U.toLowerCase();if(X!=="pragma"&&X!=="solana-client")o[U]=q}C(H,{...f,headers:o})}})}function w8(y){return async({assetValue:T,recipient:H,sender:f,isProgramDerivedAddress:C})=>{let o=await y(),U=new Tf.PublicKey(f);if(T.isGasAsset){let{Transaction:q,SystemProgram:X}=await import("@solana/web3.js");return new q().add(X.transfer({fromPubkey:U,lamports:T.getBaseValue("number"),toPubkey:new Tf.PublicKey(H)}))}if(T.address)return k8({amount:T.getBaseValue("number"),connection:o,decimals:T.decimal,from:U,isProgramDerivedAddress:C,recipient:H,tokenAddress:T.address});return}}async function k8({tokenAddress:y,recipient:T,from:H,connection:f,amount:C,decimals:o,isProgramDerivedAddress:U}){let{getAssociatedTokenAddress:q,getAccount:X,createAssociatedTokenAccountInstruction:G,createTransferCheckedInstruction:Z}=await import("@solana/spl-token"),{Transaction:A}=await import("@solana/web3.js"),M=new A,Q=new Tf.PublicKey(y),N=await q(Q,H),J=new Tf.PublicKey(T),B=await q(Q,J,U),D=!1;try{await X(f,B),D=!0}catch{}if(!D)M.add(G(H,B,J,Q));return M.add(Z(N,Q,B,H,C,o)),M}function GC(y){return async({recipient:T,assetValue:H,memo:f,isProgramDerivedAddress:C,sender:o})=>{let{createMemoInstruction:U}=await import("@solana/spl-memo"),q=new Tf.PublicKey(o);if(!(C||XC(T)))throw new a.SwapKitError("core_transaction_invalid_recipient_address");let X=await y(),G=await w8(y)({assetValue:H,isProgramDerivedAddress:C,recipient:T,sender:o});if(!G)throw new a.SwapKitError("core_transaction_invalid_sender_address");if(f)G.add(U(f));let Z=await X.getLatestBlockhash();return G.recentBlockhash=Z.blockhash,G.feePayer=q,G}}async function F8({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 $8(y,T){return async({recipient:H,assetValue:f,memo:C,isProgramDerivedAddress:o})=>{let U=await T();if(!U)throw new a.SwapKitError("core_transaction_invalid_sender_address");let q=U.publicKey?.toString()??(await U.connect()).publicKey.toString(),X=await GC(y)({assetValue:f,isProgramDerivedAddress:o,memo:C,recipient:H,sender:q});if("signTransaction"in U){let G=await U.signTransaction(X);return D0(y)(G)}return X.sign(U),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 U=await(await y()).getLatestBlockhash();H.recentBlockhash=U.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"),o=f(y),U=H.fromMasterSeed(o);return C.fromSeed(U.derive(T,!0).privateKey)}function h5(y){return y.toString()}var Tf,a,xT;var t5=b(()=>{sy();Tf=require("@solana/web3.js"),a=require("@swapkit/helpers"),xT=require("ts-pattern")});var QC={};Ny(QC,{validateSolanaAddress:()=>XC,getSolanaToolbox:()=>x8,fetchTokenMetaData:()=>m5,createKeysForPath:()=>qC});module.exports=Ry(QC);var _C=b(()=>{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=g.DerivationPath.STRK}){let{HDKey:H}=await import("@scure/bip32"),{mnemonicToSeedSync:f}=await import("@scure/bip39"),{ec:C,hash:o,encode:U,CallData:q}=await import("starknet"),X=f(y),Z=H.fromMasterSeed(X).derive(T);if(!Z.privateKey)throw new g.SwapKitError("toolbox_starknet_no_signer");let A=U.addHexPrefix(Buffer.from(Z.privateKey).toString("hex")),M=C.starkCurve.grindKey(A),Q=U.addHexPrefix(M),N=C.starkCurve.getStarkKey(Q),J=q.compile([N,0]);return{address:o.calculateContractAddressFromHash(N,ZC,J,0),privateKey:Q,publicKey:N}}async function WC({phrase:y,derivationPath:T=g.DerivationPath.STRK}){let{Account:H,RpcProvider:f}=await import("starknet"),{privateKey:C,address:o}=await x0({derivationPath:T,phrase:y}),U=await g.getRPCUrl(g.Chain.Starknet),q=new f({nodeUrl:U});return new H({address:o,provider:q,signer:C})}function g5(y){let T=g.Chain.Starknet,H=y&&"index"in y?y.index||0:0,f=g.derivationPathToString(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:g.updateDerivationPath(g.NetworkDerivationPath[T],{index:H})),C,o,U;async function q(){if(o)return o;let{RpcProvider:Y}=await import("starknet"),_=await g.getRPCUrl(T);return o=new Y({nodeUrl:_}),o}async function X(Y){let _=await q(),L=Y||await M();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 w=x;if(w?.code===20||w?.code===19)return!1;throw x}}async function G(){let{CallData:Y,hash:_}=await import("starknet"),L=await q(),x=await A();if(!x)throw new g.SwapKitError("toolbox_starknet_no_signer");if(!U)throw new g.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 n=Y.compile([U,0]);if(_.calculateContractAddressFromHash(U,ZC,n,0).toLowerCase()!==x.address.toLowerCase())throw new g.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Address mismatch during deployment verification"}});let I={addressSalt:U,classHash:ZC,constructorCalldata:n},{transaction_hash:z}=await x.deployAccount(I);return await L.waitForTransaction(z),z}async function Z(){if(!await X()){if(!U)throw new g.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 A(){if(C)return C;return C=await jy.match(y).with({phrase:jy.P.string},async({phrase:Y})=>{let{Account:_,RpcProvider:L}=await import("starknet"),{privateKey:x,address:w,publicKey:n}=await x0({derivationPath:f,phrase:Y});U=n;let k=await g.getRPCUrl(g.Chain.Starknet),I=new L({nodeUrl:k});return new _({address:w,provider:I,signer:x})}).with({address:jy.P.string,privateKey:jy.P.string},async({privateKey:Y,address:_})=>{let{Account:L}=await import("starknet"),x=await q();return new L({address:_,provider:x,signer:Y})}).with({signer:jy.P.instanceOf(Object)},({signer:Y})=>Y).otherwise(()=>{return}),C}async function M(){return(await A())?.address??""}async function Q(Y){let _=await q(),{uint256:L,CallData:x}=await import("starknet"),w=[],n=[MC,c5];for(let k of n)try{let[I="0",z="0"]=await _.callContract({calldata:x.compile({account:Y}),contractAddress:k,entrypoint:"balanceOf"}),F=L.uint256ToBN({high:I,low:z});jy.match(k).with(MC,()=>{w.push(g.AssetValue.from({chain:T,value:F}))}).with(c5,()=>{if(F>0n)w.push(g.AssetValue.from({asset:`${T}.ETH-${k}`,value:F}))}).otherwise(()=>{})}catch{}return w}async function N({recipient:Y,assetValue:_}){let{CallData:L,uint256:x}=await import("starknet");if(!R0(Y))throw new g.SwapKitError("core_transaction_invalid_recipient_address",{address:Y});let w=_.isGasAsset?MC:_.address;if(!w)throw new g.SwapKitError("toolbox_starknet_invalid_address",{address:w,assetValue:_});let n=x.bnToUint256(_.getBaseValue("bigint"));return[{calldata:L.compile([Y,n]),contractAddress:w,entrypoint:"transfer"}]}async function J({recipient:Y,assetValue:_,sender:L}){let{baseDecimal:x}=g.getChainConfig(g.Chain.Starknet),w=await A(),n=await jy.match({sender:L,signer:w}).with({sender:jy.P.string},async({sender:k})=>{let{Account:I}=await import("starknet"),z=await q();return new I({address:k,provider:z,signer:"0x0"})}).with({signer:jy.P.nonNullable},({signer:k})=>k).otherwise((k)=>{throw new g.SwapKitError({errorKey:"toolbox_starknet_fee_estimation_failed",info:{message:"Estimating fee needs a valid sender address or signer",params:k}})});try{let k=await N({assetValue:_,recipient:Y}),I=await n.estimateInvokeFee(k);if(I?.overall_fee)return g.AssetValue.from({chain:T,fromBaseDecimal:x,value:I.overall_fee})}catch(k){throw new g.SwapKitError("toolbox_starknet_fee_estimation_failed",k)}return g.AssetValue.from({chain:T,value:"0.00001"})}async function B({recipient:Y,assetValue:_,memo:L}){let x=await A();if(!x)throw new g.SwapKitError("toolbox_starknet_no_signer");await Z();let w=await N({assetValue:_,memo:L,recipient:Y});return(await x.execute(w)).transaction_hash}async function D(Y){let _=await A();if(!_)throw new g.SwapKitError("toolbox_starknet_no_signer");let L=await _.signMessage(Y);return Array.isArray(L)?L:[L.r.toString(),L.s.toString()]}async function W(Y){let _=await A();if(!_)throw new g.SwapKitError("toolbox_starknet_no_signer");return await Z(),(await _.execute(Y)).transaction_hash}function R(Y){return W(Y)}function O(Y,_=!0){try{return $y(T)(Y,_)}catch{return Q(Y)}}return{broadcastTransaction:W,createKeysForPath:WC,createTransaction:N,deployAccount:G,estimateTransactionFee:J,getAddress:M,getBalance:O,getProvider:q,isAccountDeployed:X,signAndBroadcastTransaction:R,signMessage:D,transfer:B,validateAddress:R0}}var g,jy,MC="0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",c5="0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",ZC="0x01a736d6ed154502257f02b1ccdf4d9d1089f80811cd6acad48e6b6a9d1f2003";var i5=b(()=>{sy();g=require("@swapkit/helpers"),jy=require("ts-pattern")});var n0={};Ny(n0,{validateStarknetAddress:()=>R0,starknetCreateKeysForPath:()=>WC,getStarknetToolbox:()=>g5,deriveStarknetKeys:()=>x0});module.exports=Ry(n0);var w0=b(()=>{i5()});async function F0(y,T,H,f,C=[],o){let U=await y.getCoins({coinType:H,cursor:o,owner:T}),q=[...C,...U.data],X=q.reduce((G,Z)=>G+BigInt(Z.balance),0n);return U.hasNextPage&&X<f?F0(y,T,H,f,q,U.nextCursor):q}function $0({coinObjectId:y,digest:T,version:H}){return{digest:T,objectId:y,version:H}}function S8(y,T,H){let f=T.reduce((G,Z)=>G+BigInt(Z.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,Z)=>{if(G.total>=H)return G;return{selectedCoins:[...G.selectedCoins,Z],total:G.total+BigInt(Z.balance)}},{selectedCoins:[],total:0n}),o=C[0],U=y.objectRef($0(o)),q=C.slice(1).map((G)=>y.objectRef($0(G)));if(q.length>0)y.mergeCoins(U,q);let[X]=y.splitCoins(U,[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 P8({provider:y,...T}={}){let H;async function f(){if(H)return H;return H=await nT.match(T).with({phrase:nT.P.string},async({phrase:J})=>{let{Ed25519Keypair:B}=await import("@mysten/sui/keypairs/ed25519");return B.deriveKeypair(J)}).with({signer:nT.P.any},({signer:J})=>J).otherwise(()=>{return}),H}async function C(J=y){let{SuiJsonRpcClient:B}=await import("@mysten/sui/jsonRpc");return new B({network:"mainnet",url:J||fy.getRPCUrlSync(fy.Chain.Sui)})}async function o(J){return BigInt(await J.getReferenceGasPrice())}async function U(){return(await f())?.toSuiAddress()||""}function q(J){try{let B=fy.AssetValue.from({address:J,chain:fy.Chain.Sui});return{asset:B.toString(),decimals:B.decimal}}catch{}return null}async function X(J){let B=J||await U();if(!B)throw new fy.SwapKitError("toolbox_sui_address_required");let{baseDecimal:D,chain:W}=fy.getChainConfig(fy.Chain.Sui);try{let O=await(await C()).getAllBalances({owner:B}),Y=O.find(({coinType:L})=>L===k0)?.totalBalance||"0",_=[fy.AssetValue.from({chain:W,fromBaseDecimal:D,value:Y})];for(let{coinType:L,totalBalance:x}of O){if(L===k0||Number(x)<=0)continue;let w=q(L);if(w)_.push(fy.AssetValue.from({asset:w.asset,fromBaseDecimal:w.decimals,value:x}))}return _}catch{return[fy.AssetValue.from({chain:W})]}}async function G(J){let B=fy.AssetValue.from({chain:fy.Chain.Sui,value:"0.01"});if(!J)return B;try{let D=await C(),{txBytes:W}=await Z(J),{effects:{status:R,gasUsed:O}}=await D.dryRunTransactionBlock({transactionBlock:W});if(R.status!=="success")return B;let{baseDecimal:Y}=fy.getChainConfig(fy.Chain.Sui),_=BigInt(O.computationCost)+BigInt(O.storageCost)-BigInt(O.storageRebate);return fy.AssetValue.from({chain:fy.Chain.Sui,fromBaseDecimal:Y,value:_.toString()})}catch{return B}}async function Z({recipient:J,assetValue:B,gasBudget:D,sender:W}){let{Transaction:R}=await import("@mysten/sui/transactions"),O=W||await U(),Y=D||I8;if(!O)throw new fy.SwapKitError("toolbox_sui_no_sender");try{let _=await C(),L=new R;if(L.setSender(O),B.isGasAsset||B.symbol==="SUI"){let w=B.getBaseValue("bigint"),[n,k]=await Promise.all([o(_),F0(_,O,k0,w+BigInt(Y))]);d5(k,w+BigInt(Y)),L.setGasPrice(n),L.setGasPayment(k.map($0));let[I]=L.splitCoins(L.gas,[B.getBaseValue("string")]);L.transferObjects([I],J)}else{let w=B.address;if(!w)throw new fy.SwapKitError("toolbox_sui_missing_coin_type");let n=B.getBaseValue("bigint"),[k,I,z]=await Promise.all([o(_),F0(_,O,k0,BigInt(Y)),F0(_,O,w,n)]);if(!z.length)throw new fy.SwapKitError("toolbox_sui_no_coins_found",{coinType:w});d5(I,BigInt(Y)),L.setGasPrice(k),L.setGasPayment(I.map($0));let F=S8(L,z,n);L.transferObjects([F],J)}L.setGasBudget(Y);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 A(J){let B=await f();if(!B)throw new fy.SwapKitError("toolbox_sui_no_signer");if(J instanceof Uint8Array)return B.signTransaction(J);let{txBytes:D}="tx"in J?J:await Z(J);return B.signTransaction(D)}async function M({assetValue:J,gasBudget:B,recipient:D}){let W=await f();if(!W)throw new fy.SwapKitError("toolbox_sui_no_signer");let R=W.toSuiAddress()||await U();if(!R)throw new fy.SwapKitError("toolbox_sui_no_sender");let{txBytes:O}=await Z({assetValue:J,gasBudget:B,recipient:D,sender:R}),Y=await C();if(!r5(W)){let L=await W.signTransaction(O),{digest:x}=await Y.executeTransactionBlock({signature:L.signature,transactionBlock:L.bytes});return x}let{digest:_}=await Y.signAndExecuteTransaction({signer:W,transaction:O});return _}async function Q(J){let B=await C(),{digest:D}=await B.executeTransactionBlock({signature:J.signature,transactionBlock:J.bytes});return D}async function N(J){let B=await f();if(!B)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(B)){let O=await B.signTransaction(W),{digest:Y}=await D.executeTransactionBlock({signature:O.signature,transactionBlock:O.bytes});return Y}let{digest:R}=await D.signAndExecuteTransaction({signer:B,transaction:W});return R}return{broadcastTransaction:Q,createTransaction:Z,estimateTransactionFee:G,getAddress:U,getBalance:X,signAndBroadcastTransaction:N,signTransaction:A,transfer:M,validateAddress:s5}}var a5,fy,nT,k0="0x2::sui::SUI",I8=50000000;var e5=b(()=>{a5=require("@mysten/sui/utils"),fy=require("@swapkit/helpers"),nT=require("ts-pattern")});var I0={};Ny(I0,{validateSuiAddress:()=>s5,getSuiToolbox:()=>P8});module.exports=Ry(I0);var S0=b(()=>{e5()});async function p8(){let y=Date.now();if(P0&&y-fo<v8)return P0;return P0=await To.getHttpEndpoint(),fo=y,P0}async function l8(){let[y]=Ly.SKConfig.get("rpcUrls")[Ly.Chain.Ton]??[];if(y)return y;return await p8()}function j8(y={}){let T,H,f;async function C(){if(!T){let O=y.provider??await l8();T=new d.TonClient({endpoint:O})}return T}async function o(){return(await q()).address.toString()}async function U(){if(f)return f;return f=await Ff.match(y).with({phrase:Ff.P.string},async({phrase:O})=>Co.mnemonicToWalletKey(O.split(" "))).with({signer:Ff.P.any},({signer:O})=>O).otherwise(()=>{return}),f}async function q(O){if(!H||O){let Y=await U(),_=await C(),L=O||Y;if(!L)throw new Ly.SwapKitError("core_wallet_connection_not_found");let x=d.WalletContractV4.create({publicKey:L.publicKey,workchain:0});H=_.open(x)}return H}let X=$y(Ly.Chain.Ton);async function G({assetValue:O,recipient:Y,memo:_,sender:L}){if(O.isGasAsset){let u=_?R(_).toBoc().toString("base64"):void 0;return[{address:Y,amount:O.getBaseValue("string"),payload:u}]}let x=O.address;if(!x)throw new Ly.SwapKitError({errorKey:"core_swap_contract_not_found",info:{asset:O.toString()}});let w=L??await o(),n=await D({jettonMasterAddress:x,ownerAddress:w}),k=d.Address.parse(Y),I=d.Address.parse(w),z=O.getBaseValue("bigint"),F=_?R(_):void 0,S=W({destinationAddress:k,forwardPayload:F,jettonAmount:z,responseAddress:I});return[{address:n.toString(),amount:V8.toString(),payload:S.toBoc().toString("base64")}]}function Z({sender:O,...Y}){return G({...Y,sender:O})}function A(O){return O.map((Y)=>{let _=Y.payload?d.Cell.fromBase64(Y.payload):void 0,L=Y.stateInit?d.loadStateInit(d.Cell.fromBase64(Y.stateInit).asSlice()):void 0,x=d.Address.parse(Y.address),w=d.Address.isFriendly(Y.address)?d.Address.parseFriendly(Y.address).isBounceable:!0;return d.internal({body:_,bounce:w,init:L,to:x,value:BigInt(Y.amount)})})}async function M(O){let Y=await U(),_=await q();if(!_||!Y)throw new Ly.SwapKitError("core_wallet_connection_not_found");let L=await C(),{state:x}=await L.getContractState(_.address),w=x==="active",n=w?await _.getSeqno():0,k=_.createTransfer({messages:A(O),secretKey:Y.secretKey,sendMode:yo,seqno:n}),I=d.external({body:k,init:w?void 0:_.init,to:_.address});return d.beginCell().store(d.storeMessage(I)).endCell()}async function Q(O){return await(await C()).sendFile(O.toBoc()),O.hash().toString("hex")}async function N(O){let Y=await M(O);return Q(Y)}async function J({assetValue:O,recipient:Y,memo:_}){let L=await Z({assetValue:O,memo:_,recipient:Y});return N(L)}async function B({sender:O,...Y}){let{baseDecimal:_}=Ly.getChainConfig(Ly.Chain.Ton),L=await Ff.match(O).with(Ff.P.string,(n)=>{return d.Address.parseFriendly(n).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"}),w=await C();try{let n=await Z({sender:O,...Y}),k=await U(),I=await q();if(!I||!k)return x;let z=await I.getSeqno(),F=I.createTransfer({messages:A(n),secretKey:k.secretKey,sendMode:yo,seqno:z}),{source_fees:S}=await w.estimateExternalMessageFee(L,{body:F,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:O,ownerAddress:Y}){try{let _=await C(),L=d.Address.parse(O),x=d.Address.parse(Y);return await _.open(d.JettonMaster.create(L)).getWalletAddress(x)}catch{throw new Ly.SwapKitError({errorKey:"core_swap_contract_not_found",info:{jettonMasterAddress:O,ownerAddress:Y}})}}function W({jettonAmount:O,destinationAddress:Y,responseAddress:_,forwardAmount:L=b8,forwardPayload:x}){let w=d.beginCell().storeUint(E8,32).storeUint(0,64).storeCoins(O).storeAddress(Y).storeAddress(_).storeBit(0).storeCoins(L);if(x)w.storeBit(1).storeRef(x);else w.storeBit(0);return w.endCell()}function R(O){return d.beginCell().storeUint(0,32).storeStringTail(O).endCell()}return{broadcastTransaction:Q,createTransaction:Z,estimateTransactionFee:B,getAddress:o,getBalance:X,getJettonWalletAddress:D,sign:M,signAndBroadcastTransaction:N,transfer:J,validateAddress:Ho}}function Ho(y){try{return d.Address.parse(y),!0}catch{return!1}}var To,Ly,Co,d,Ff,E8=260734629,b8,V8,yo,v8=60000,P0,fo=0;var oo=b(()=>{sy();To=require("@orbs-network/ton-access"),Ly=require("@swapkit/helpers"),Co=require("@ton/crypto"),d=require("@ton/ton"),Ff=require("ts-pattern"),b8=d.toNano("0.01"),V8=d.toNano("0.05"),yo=d.SendMode.PAY_GAS_SEPARATELY+d.SendMode.IGNORE_ERRORS});var E0={};Ny(E0,{validateTonAddress:()=>Ho,getTONToolbox:()=>j8});module.exports=Ry(E0);var b0=b(()=>{oo()});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)??Uo.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 $f(y){return y[2]??0}function qo({deriveAddress:y,getBalance:T,getUtxos:H}){async function f(q){let{accountIndex:X,count:G,startIndex:Z=0,change:A=!1}=q;if(Ky("count",G),G<1)throw RangeError("count must be at least 1");Ky("startIndex",Z);let M=[];for(let Q=0;Q<G;Q++){let N=await y({accountIndex:X,change:A,index:Z+Q});if(N)M.push(N)}return M}async function C(q){let{gapLimit:X=20,change:G=!1}=q??{},Z=[],A=0,M=0;while(A<X){let Q=await y({change:G,index:M});if(!Q)break;if((await T(Q.address)).some((B)=>B.getValue("number")>0))Z.push(Q),A=0;else A++;M++}return Z}async function o(q=20){let[X,G]=await Promise.all([C({change:!1,gapLimit:q}),C({change:!0,gapLimit:q})]),Z=[...X,...G],A=await Promise.all(Z.map(async(Q)=>{let J=(await T(Q.address)).reduce((B,D)=>B+D.getValue("number"),0);return{...Q,balance:J}})),M=A.reduce((Q,N)=>Q+N.balance,0);return{addresses:A,total:M}}async function U(q=20){let[X,G]=await Promise.all([C({change:!1,gapLimit:q}),C({change:!0,gapLimit:q})]),Z=[...X,...G];return(await Promise.all(Z.map(async(M)=>{return(await H(M.address)).map((N)=>({...N,address:M.address,derivationIndex:M.index,isChange:M.change}))}))).flat()}return{deriveAddresses:f,getAggregatedBalance:o,getAggregatedUtxos:U,scanForAddresses:C}}var Uo;var wT=b(()=>{Uo=require("@swapkit/helpers")});async function K8({chain:y,txHash:T}){let H=`${kT(y)}/push/transaction`,f=JSON.stringify({data:T});try{let C=await c.RequestClient.post(H,{body:f,headers:{"Content-Type":"application/json"}});if(C.context.code!==200)throw new c.SwapKitError("toolbox_utxo_broadcast_failed",{error:C.context.error||"Transaction broadcast failed"});return C.data?.transaction_hash||T}catch(C){let o=await c.getRPCUrl(y);if(o){let U=JSON.stringify({id:zH(),jsonrpc:"2.0",method:"sendrawtransaction",params:[T]}),q=await c.RequestClient.post(o,{body:U,headers:{"Content-Type":"application/json"}});if(q.error)throw new c.SwapKitError("toolbox_utxo_broadcast_failed",{error:q.error?.message});if(q.result.includes('"code":-26'))throw new c.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return q.result}throw C}}function kT(y){return`https://api.blockchair.com/${u8(y)}`}function Xo(y){switch(y){case c.Chain.Bitcoin:return 5;case c.Chain.Dogecoin:return 1e4;case c.Chain.Litecoin:return 1;case c.Chain.Zcash:return 1;default:return 2}}function u8(y){switch(y){case c.Chain.BitcoinCash:return"bitcoin-cash";case c.Chain.Litecoin:return"litecoin";case c.Chain.Dash:return"dash";case c.Chain.Dogecoin:return"dogecoin";case c.Chain.Zcash:return"zcash";case c.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function h8(y){try{let{feePerKb:T}=await c.RequestClient.get(`https://app.bitgo.com/api/v2/${y.toLowerCase()}/tx/fee`),H=T/1000;return Math.max(H,Xo(y))}catch{return Xo(y)}}async function V0(y,T){let H=await c.RequestClient.get(`${y}${T?`${y.includes("?")?"&":"?"}key=${T}`:""}`);if(!H||H.context.code!==200)throw new c.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${y}`});return H.data}async function Qo({address:y,chain:T,apiKey:H}){if(!y)throw new c.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await V0(`${kT(T)}/dashboards/address/${y}?transaction_details=true`,H))[y]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function m8({address:y,chain:T,apiKey:H}){return(await Qo({address:y,apiKey:H,chain:T}))?.address.balance||0}async function _o({chain:y,apiKey:T,txHash:H}){if(!H)throw new c.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await V0(`${kT(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 c8({chain:y,apiKey:T,txHash:H}){if(!H)throw new c.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});let C=(await V0(`${kT(y)}/dashboards/transaction/${H}`,T))?.[H];if(!C)throw new c.SwapKitError("toolbox_utxo_tx_not_found",{txHash:H});let{transaction:o,inputs:U,outputs:q}=C,X=U.map((Z)=>Z.spending_sequence),G=o.is_rbf===!0||X.some((Z)=>Z<t8);return{blockId:o.block_id,confirmed:o.block_id!==-1,fee:o.fee,inputs:U,isRBF:G,outputs:q,sequences:X,size:o.size,txid:o.hash,weight:o.weight}}async function g8({chain:y,address:T,apiKey:H,offset:f=0,limit:C=30}){return(await V0(`${kT(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:Z,transaction_hash:A,index:M,value:Q,spending_signature_hex:N})=>({hash:A,index:M,is_confirmed:Z!==-1,is_spent:X,script_hex:G,txHex:N,value:Q}))}function i8(y){return y.reduce((T,H)=>T+H.value,0)}function Go(y,T){let H=[...y].sort((f,C)=>C.value-f.value);if(T){let f=[],C=0;for(let o of H)if(f.push(o),C+=o.value,C>=T)break;return f}return H}async function Mo({chain:y,address:T,apiKey:H,targetValue:f,accumulativeValue:C=0,offset:o=0,limit:U=30}){if(!T)throw new c.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let q=await g8({address:T,apiKey:H,chain:y,limit:U,offset:o,targetValue:f}),G=q.length<U,Z=q.filter(({is_spent:B})=>!B),A=i8(Z),M=C+A,Q=f&&M>=f;if(G||Q)return Go(Z,f);let N=await Mo({accumulativeValue:M,address:T,apiKey:H,chain:y,limit:U,offset:o+U,targetValue:f}),J=[...Z,...N];return Go(J,f)}catch(q){let X=q instanceof Error?q.message:String(q);return console.error(`Failed to fetch unspent UTXOs: ${X}`),[]}}async function d8({address:y,chain:T,apiKey:H,fetchTxHex:f=!0,targetValue:C}){let o=await Mo({address:y,apiKey:H,chain:T,targetValue:C}),U=[];for(let{hash:q,index:X,script_hex:G,value:Z}of o){let A;if(f)A=await _o({apiKey:H,chain:T,txHash:q});U.push({address:y,hash:q,index:X,txHex:A,value:Z,witnessUtxo:{script:Buffer.from(G,"hex"),value:Z}})}return U}function Oy(y){let T=c.SKConfig.get("apiKeys").blockchair||"";return c.warnOnce({condition:!T,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(H)=>K8({chain:y,txHash:H}),getAddressData:(H)=>Qo({address:H,apiKey:T,chain:y}),getBalance:(H)=>m8({address:H,apiKey:T,chain:y}),getRawTx:(H)=>_o({apiKey:T,chain:y,txHash:H}),getSuggestedTxFee:()=>h8(y),getTransactionDetails:(H)=>c8({apiKey:T,chain:y,txHash:H}),getUtxos:(H)=>d8({...H,apiKey:T,chain:y})}}function r8(y){return y}function a8(){return function(T){switch(T){case c.Chain.Bitcoin:return If.NETWORKS.bitcoin;case c.Chain.BitcoinCash:return If.NETWORKS.bitcoinCash;case c.Chain.Dash:return If.NETWORKS.dash;case c.Chain.Litecoin:return If.NETWORKS.litecoin;case c.Chain.Dogecoin:return If.NETWORKS.dogecoin;case c.Chain.Zcash:return If.NETWORKS.zcash;default:throw new c.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}}var c,If,t8=4294967294;var Zo=b(()=>{sy();c=require("@swapkit/helpers"),If=require("@swapkit/utxo-signer")});function yq(y,T,H){return Cf.encodeCashAddr({hash:H,prefix:y,type:s8[T]})}function fq(y){let T=Cf.decodeCashAddr(y),H=e8[T.type];if(!H)throw Error(`Unknown CashAddr type: ${T.type}`);return{hash:T.hash,prefix:T.prefix,type:H}}var Cf,s8,e8,LC;var Wo=b(()=>{Cf=require("@swapkit/utxo-signer"),s8={P2PKH:Cf.CashAddrType.P2PKH,P2SH:Cf.CashAddrType.P2SH},e8={[Cf.CashAddrType.P2PKH]:"P2PKH",[Cf.CashAddrType.P2SH]:"P2SH"};LC={decode:fq,encode:yq}});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 Hq(T)}function FT(y){let T=v0(y);return oq(T)}function v0(y){try{let T=Tq(y);if(T)return T}catch{}try{let T=Cq(y);if(T)return T}catch{}throw new AC.SwapKitError("toolbox_utxo_invalid_address",{address:y})}function Tq(y){try{let T=Jo.decode(y);if(T.length!==21)throw new AC.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 Cq(y){if(y.indexOf(":")!==-1)try{return Lo(y)}catch{}else{let T=["bitcoincash","bchtest","bchreg"];for(let H of T)try{return Lo(`${H}:${y}`)}catch{}}return}function Lo(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 Hq(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),Jo.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 Ao,Yo,AC,Jo,YC,Sf;var zo=b(()=>{Wo();Ao=require("@noble/hashes/sha2.js"),Yo=require("@scure/base"),AC=require("@swapkit/helpers"),Jo=Yo.createBase58check(Ao.sha256);((H)=>{H.Mainnet="mainnet";H.Testnet="testnet"})(YC||={});Sf={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function by(y){let T=new Uint8Array(Buffer.from(y,"utf8"));return Bo.Script.encode(["RETURN",T])}var No,Bo,Uq=1000,l0=10,j0=2,Oo=10,qq=41,Xq=107,K0,p0,$T,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 No.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",o=(H?y.filter((G)=>G.value>=p0["type"in G&&G.type?G.type:"P2PKH"]*Math.ceil(H)):y).reduce((G,Z)=>G+Af(Z),0),U=T?.reduce((G,Z)=>G+IT(Z),0)||$T[f],q=l0+o+U;return f==="P2WPKH"?Math.ceil(q+j0/4):q},Af=(y)=>{if("type"in y&&y.type)return p0[y.type];if("address"in y&&y.address)return p0[cf(y.address)];return qq+Xq},IT=(y,T)=>{if(y?.script)return Oo+y.script.length+(y.script.length>=74?2:1);if(T)return $T[T];if("address"in y&&y.address)return $T[cf(y.address)];return $T.P2PKH};var NC=b(()=>{No=require("@swapkit/helpers"),Bo=require("@swapkit/utxo-signer");((H)=>{H.P2PKH="P2PKH";H.P2WPKH="P2WPKH"})(K0||={});p0={["P2PKH"]:148,["P2WPKH"]:68},$T={["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 o=y[0]&&"address"in y[0]&&y[0].address?cf(y[0].address):"P2PKH",U=y.filter((N)=>Af(N)*H<=N.value),X=o==="P2WPKH"?Math.ceil(j0/4):0,G=l0+X+T.reduce((N,J)=>N+IT(J),0),Z=T.reduce((N,J)=>N+J.value,0),A=G*H,M=0,Q=[];for(let N of U){let J=Af(N),B=H*J;A+=B,M+=N.value,Q.push(N);let D=A+Z;if(M<D)continue;let W=M-D,R=H*IT({address:C,value:0});if(W>R){let O=R+A,Y=M-(Z+Math.ceil(O));if(Y>Math.max(Af({value:0})*H,ST(f)))return{fee:Math.ceil(O),inputs:Q,outputs:T.concat({address:C,value:Y})}}return{fee:Math.ceil(A),inputs:Q,outputs:T}}return{fee:Math.ceil(H*Pf({inputs:y,outputs:T}))}}var ry;var Do=b(()=>{NC();ry=require("@swapkit/helpers")});var gf=b(()=>{Zo();zo();Do();NC()});function Ef(y){return y.replace(/(bchtest:|bitcoincash:)/,"")}function Yf(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=b(()=>{gf();u0=require("@swapkit/utxo-signer")});function DC({address:y,chain:T}){return OC.match(T).with(P.Chain.BitcoinCash,()=>Yf(y)).with(P.Chain.Zcash,()=>df(y)).otherwise(()=>{try{return r.Address(ky(T)).decode(y),!0}catch{return!1}})}function ky(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 Gq({phrase:y,derivationPath:T,network:H,seed:f}){let C=f??m0.mnemonicToSeedSync(y),U=BC.HDKey.fromMasterSeed(C,H.bip32).derive(T);if(!U.privateKey)throw new P.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive private key from phrase"});return U.privateKey}function Ro(y){return xo.secp256k1.getPublicKey(y,!0)}function bT({publicKey:y,chain:T,network:H}){if(T===P.Chain.BitcoinCash){let o=r.p2pkh(y,H);if(!o.hash)throw new P.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return r.encodeCashAddr({hash:o.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 o=ky(H);if(f){let G=r.WIF(o).decode(f),Z=Ro(G);return{privateKey:G,publicKey:Z}}if(!y)throw new P.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let U=T||P.derivationPathToString(P.NetworkDerivationPath[H]),q=Gq({derivationPath:U,network:o,phrase:y,seed:C}),X=Ro(q);return{privateKey:q,publicKey:X}}function Qq(y,T){return r.WIF(ky(T)).encode(y)}function _q({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 o=ky(H),U=f??m0.mnemonicToSeedSync(y),q=BC.HDKey.fromMasterSeed(U,o.bip32),X=C.slice(0,4).join("/");return q.derive(X)}function zf({inputs:y,outputs:T,chain:H,tx:f,sender:C,compiledMemo:o,enableRBF:U=!1}){let q=ky(H),X=!ET.includes(H),G=U?r.RBF_SEQUENCE:void 0,Z=new Set;for(let A of y){let M=`${A.hash}:${A.index}`;if(Z.has(M))throw new P.SwapKitError("toolbox_utxo_invalid_params",{error:"Duplicate input detected"});Z.add(M);let Q=typeof A.hash==="string"?Jf.hex.decode(A.hash):A.hash;if(X&&A.witnessUtxo)f.addInput({index:A.index,sequence:G,txid:Q,witnessUtxo:{amount:BigInt(A.witnessUtxo.value),script:A.witnessUtxo.script}});else if(A.txHex)f.addInput({index:A.index,nonWitnessUtxo:Jf.hex.decode(A.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 A of T){let M="address"in A&&A.address?A.address:C;if(H===P.Chain.BitcoinCash)M=Hf(M);if(A.script){if(o)f.addOutput({amount:0n,script:o})}else f.addOutputAddress(M,BigInt(A.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 no({assetValue:y,recipient:T,memo:H,sender:f,fetchTxHex:C=!1}){let o=y.chain,U=(await af(o))[P.FeeOption.Fastest],q=C||ET.includes(o),X=y.getBaseValue("number"),G=Math.ceil(X+U*5000);return{inputs:await Oy(o).getUtxos({address:f,fetchTxHex:q,targetValue:G}),outputs:[{address:T,value:X},...H?[{address:"",script:by(H),value:0}]:[]]}}async function wo({assetValue:y,recipient:T,memo:H,feeRate:f,sender:C,fetchTxHex:o=!1,enableRBF:U=!1}){let q=y.chain,X=H?by(H):null,G=await no({assetValue:y,fetchTxHex:o,memo:H,recipient:T,sender:C}),{inputs:Z,outputs:A}=uy({...G,chain:q,feeRate:f});if(!(Z&&A))throw new P.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:C});let M=new r.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!X,version:1}),{inputs:Q,tx:N}=zf({chain:q,compiledMemo:X,enableRBF:U,inputs:Z,outputs:A,sender:C,tx:M});return{inputs:Q,tx:N,utxos:G.inputs}}async function ko({assetValue:y,feeOptionKey:T=P.FeeOption.Fast,feeRate:H,memo:f,sender:C,recipient:o}){let U=y.chain,q=await no({assetValue:y,memo:f,recipient:o,sender:C}),X=H?Math.floor(H):(await af(U))[T];return uy({...q,chain:U,feeRate:X})}function Mq(y){return async function({from:H,memo:f,feeRate:C,feeOptionKey:o=P.FeeOption.Fast,recipients:U=1}){let q=await Oy(y).getAddressData(H),X=C?Math.ceil(C):(await af(y))[o],G=q?.utxo.map((J)=>({...J,hash:"",type:"P2PKH"})).filter((J)=>J.value>Math.max(ST(y),Af(J)*X));if(!G?.length)return P.AssetValue.from({chain:y});let Z=BigInt(G.reduce((J,B)=>J+B.value,0)),A=P.AssetValue.from({chain:y,value:Z}),M=typeof U==="number"?Array.from({length:U},()=>({address:H,value:0})):U;if(f)M.push({address:H,script:by(f),value:0});let Q=Pf({inputs:G,outputs:M}),N=P.AssetValue.from({chain:y,value:BigInt(Q*X)});return A.sub(N)}}function Zq(y){return async function(H){let{fee:f}=await ko(H);return P.AssetValue.from({chain:y,value:P.SwapKitNumber.fromBigInt(BigInt(f),8).getValue("string")})}}function Wq({chain:y,phrase:T,derivationPath:H,seed:f}){let C=ky(y),{privateKey:o,publicKey:U}=rf({chain:y,derivationPath:H,phrase:T,seed:f}),q=y===P.Chain.BitcoinCash?[r.BCHSigHash.ALL]:[r.SigHash.ALL];return{getAddress:()=>bT({chain:y,network:C,publicKey:U}),privateKey:o,publicKey:U,signTransaction:(X)=>{return X.sign(o,q),X}}}function Lq(y,T){return async function({memo:f,recipient:C,feeOptionKey:o,feeRate:U,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 Z=X&&h0.includes(y),A=U||(await af(y))[o||P.FeeOption.Fast],{tx:M}=await wo({assetValue:q,enableRBF:Z,feeRate:A,memo:f,recipient:C,sender:G}),Q=await T.signTransaction(M);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=ky(y);return function(f){if(!f)throw new P.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});return bT({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,o="derivationPath"in T&&T.derivationPath?T.derivationPath:P.updateDerivationPath(P.NetworkDerivationPath[y],{index:f}),U=P.derivationPathToString(o),q=H?Wq({chain:y,derivationPath:U,phrase:H,seed:C}):void 0,X="signer"in T?T.signer:void 0,G=q||X,Z=H?rf({chain:y,derivationPath:U,phrase:H,seed:C}):void 0;function A(){if(G)return G.getAddress();return Promise.resolve(void 0)}function M(n){if(!H)return;let k=Lf({accountIndex:n,chain:y,derivationPath:o});return _q({chain:y,derivationPath:P.derivationPathToString(k),phrase:H,seed:C})}let Q=M();function N(){if(!Q)return;return Q.publicExtendedKey}function J({accountIndex:n}={}){let k=n===void 0?Q:M(n);if(!k)return;let I=Lf({accountIndex:n,chain:y,derivationPath:o});return{accountIndex:$f(I),path:P.derivationPathToString(I),xpub:k.publicExtendedKey}}function B({accountIndex:n,index:k,change:I=!1}){let z=n===void 0?Q:M(n);if(!z)return;let F=tf({accountIndex:n,chain:y,change:I,derivationPath:o,index:k}),S=ky(y),u=z.deriveChild(Number(I)).deriveChild(k);if(!u.publicKey)throw new P.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive public key"});let V=bT({chain:y,network:S,publicKey:u.publicKey}),t=Jf.hex.encode(u.publicKey);return{accountIndex:$f(F),address:V,change:I,index:k,path:P.derivationPathToString(F),pubkey:t}}async function D(n){if(!h0.includes(y))return{reason:`RBF is not supported on ${y}`,supported:!1};let k=await Oy(y).getTransactionDetails(n);return{canReplace:k.isRBF&&!k.confirmed,confirmed:k.confirmed,enabled:k.isRBF,fee:k.fee,sequences:k.sequences,supported:!0}}async function W({txid:n,newFeeRate:k,recipient:I,memo:z}){if(!h0.includes(y))throw new P.SwapKitError("toolbox_utxo_rbf_not_supported",{chain:y});let F=await Oy(y).getTransactionDetails(n);if(!F.isRBF)throw new P.SwapKitError("toolbox_utxo_tx_not_replaceable",{txid:n});if(F.confirmed)throw new P.SwapKitError("toolbox_utxo_tx_already_confirmed",{blockId:F.blockId,txid:n});let S=F.inputs.reduce((Jy,py)=>Jy+py.value,0),V=F.outputs.find((Jy)=>Jy.recipient===I)?.value||0;if(V===0)throw new P.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not determine send amount from original transaction"});let t=await Promise.all(F.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?by(z):null,Yy=Pf({feeRate:k,inputs:t.map((Jy)=>({...Jy,type:"P2WPKH"})),outputs:[{address:I,value:V}]}),Xy=Math.ceil(Yy*k);if(Xy<=F.fee)throw new P.SwapKitError("toolbox_utxo_rbf_fee_too_low",{newFee:Xy,originalFee:F.fee});let Sy=Xy-F.fee,Dy=V-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:by(z),value:0}]:[]],gy=S-Dy-Xy,Fy=await A();if(gy>ST(y)&&Fy)cy.push({address:Fy,value:gy});return zf({chain:y,compiledMemo:Hy,inputs:t,outputs:cy,sender:Fy||I,tx:ty}),{feeDelta:Sy,newFee:Xy,originalFee:F.fee,tx:ty}}async function R({txid:n,newFeeRate:k,recipient:I,memo:z}){let{tx:F,originalFee:S,newFee:u}=await W({memo:z,newFeeRate:k,recipient:I,txid:n}),V=await x(F);V.finalize();let t=await Oy(y).broadcastTx(Jf.hex.encode(V.extract()));return{newFee:u,originalFee:S,txid:t}}function O({accountIndex:n,index:k,change:I=!1}){Ky("index",k);let z=n===void 0?Q:M(n);if(!z)return;return z.deriveChild(Number(I)).deriveChild(k).privateKey||void 0}function Y({tx:n,inputDerivations:k}){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<k.length;z++){let F=k[z];if(!F)continue;let{derivationIndex:S,isChange:u}=F,V=O({change:u,index:S});if(!V)throw new P.SwapKitError("toolbox_utxo_invalid_params",{error:`Could not derive private key for input ${z} at index ${S}`});n.signIdx(V,z,I)}return n}async function _({utxos:n,recipient:k,assetValue:I,memo:z,feeRate:F,feeOptionKey:S,changeAddress:u}){if(!Q)throw new P.SwapKitError("toolbox_utxo_no_signer");let V=F||(await af(y))[S||P.FeeOption.Fast],t=z?by(z):null,Hy=[{address:k,value:I.getBaseValue("number")}];if(t)Hy.push({address:"",script:t,value:0});let Yy=n.map(({hash:Fy,index:Jy,value:py,txHex:v2,witnessUtxo:Q1})=>({hash:Fy,index:Jy,txHex:v2,value:py,witnessUtxo:Q1?{script:Q1.script,value:Q1.value}:void 0})),{inputs:Xy,outputs:Sy}=uy({chain:y,feeRate:V,inputs:Yy,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=n[0]?.address,cy=u||await A()||ty||k;zf({chain:y,compiledMemo:t,inputs:Xy,outputs:Sy,sender:cy,tx:Dy});let gy=Xy.map((Fy)=>{let Jy=n.find((py)=>py.hash===Fy.hash&&py.index===Fy.index);return Jy?{derivationIndex:Jy.derivationIndex,isChange:Jy.isChange}:{derivationIndex:0,isChange:!1}});return Y({inputDerivations:gy,tx:Dy}),Dy.finalize(),Oy(y).broadcastTx(Jf.hex.encode(Dy.extract()))}function L({address:n,gapLimit:k=20}){if(!Q)return;for(let I=0;I<k;I++){let z=B({change:!1,index:I}),F=B({change:!0,index:I}),S=z?.address===n?!1:F?.address===n;if(z?.address===n||F?.address===n)return{change:S,index:I}}return}function x(n){if(!G)throw new P.SwapKitError("toolbox_utxo_no_signer");return G.signTransaction(n)}async function w(n){let k=await x(n);return k.finalize(),await Oy(y).broadcastTx(Jf.hex.encode(k.extract()))}return{accumulative:uy,broadcastTx:(n)=>Oy(y).broadcastTx(n),bumpFee:R,calculateTxSize:Pf,createKeysForPath:(n)=>rf({...n,chain:y}),createReplacementTransaction:W,createTransaction:wo,deriveAddressAtIndex:B,derivePrivateKeyAtIndex:O,estimateMaxSendableAmount:Mq(y),estimateTransactionFee:Zq(y),getAddress:A,getAddressFromKeys:xC(y),getBalance:$y(y),getExtendedPublicKey:N,getExtendedPublicKeyInfo:J,getFeeRates:()=>af(y),getInputsOutputsFee:ko,getNetworkForChain:()=>ky(y),getPrivateKeyFromMnemonic:(n)=>Qq(rf({...n,chain:y}).privateKey,y),isRBFEnabled:D,keys:Z,resolveDerivationIndex:L,signAndBroadcastTransaction:w,signTransaction:x,signTransactionWithMultipleKeys:Y,transfer:Lq(y,G),transferFromMultipleAddresses:_,validateAddress:RC(y)}}var xo,Jf,BC,m0,P,r,OC,ET,h0;var sf=b(()=>{sy();wT();gf();PT();xo=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 VT(y){return Ef(FT(y))}function Aq(y){let T=ky(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 Ay.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});let o=zy.encodeCashAddr({hash:C.hash,prefix:zy.CashAddrPrefix.MAINNET,type:zy.CashAddrType.P2PKH});return Promise.resolve(o.replace(/^bitcoincash:/,""))}return{getAddress:f,signTransaction:H}}function wC(y){let T="phrase"in y?y.phrase:void 0,H="index"in y?y.index||0:0,f=Ay.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:Ay.updateDerivationPath(Ay.NetworkDerivationPath[ay],{index:H})),C=T?rf({chain:ay,derivationPath:f,phrase:T}):void 0,o=C?Aq(C):("signer"in y)?y.signer:void 0;function U(){return Promise.resolve(o?.getAddress())}let{getBalance:q,getFeeRates:X,broadcastTx:G,...Z}=Nf({chain:ay});function A(N,J=!0){return q(Ef(FT(N)))}function M(N){if(!o)throw new Ay.SwapKitError("toolbox_utxo_no_signer");return o.signTransaction(N)}async function Q(N){let J=await M(N);return J.finalize(),await G(nC.hex.encode(J.extract()))}return{...Z,broadcastTx:G,buildTx:Jq,createTransaction:Fo,getAddress:U,getAddressFromKeys:zq,getBalance:A,getFeeRates:X,signAndBroadcastTransaction:Q,signTransaction:M,stripPrefix:Ef,stripToCashAddress:VT,transfer:Yq({broadcastTx:G,getFeeRates:X,signer:o}),validateAddress:Yf}}async function Fo({assetValue:y,recipient:T,memo:H,feeRate:f,sender:C}){if(!Yf(T))throw new Ay.SwapKitError("toolbox_utxo_invalid_address",{address:T});let o=Math.ceil(y.getBaseValue("number")+f*7500),U=await Oy(ay).getUtxos({address:VT(C),fetchTxHex:!0,targetValue:o}),q=H?by(H):null,X=[],G=Hf(T);if(X.push({address:G,value:y.getBaseValue("number")}),q)X.push({script:q,value:0});let{inputs:Z,outputs:A}=uy({chain:ay,feeRate:f,inputs:U,outputs:X});if(!(Z&&A))throw new Ay.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:C});let M=new zy.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!q,version:1}),Q=Hf(C),{inputs:N,tx:J}=zf({chain:ay,compiledMemo:q,inputs:Z,outputs:A.map((B)=>("address"in B)&&B.address?{...B,address:Hf(B.address)}:B),sender:Q,tx:M});return{inputs:N,tx:J,utxos:Z}}function Yq({broadcastTx:y,getFeeRates:T,signer:H}){return async function({recipient:C,assetValue:o,feeOptionKey:U=Ay.FeeOption.Fast,...q}){let X=await H?.getAddress();if(!(H&&X))throw new Ay.SwapKitError("toolbox_utxo_no_signer");if(!C)throw new Ay.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let G=q.feeRate||(await T())[U],{tx:Z}=await Fo({...q,assetValue:o,feeRate:G,recipient:C,sender:X}),A=await H.signTransaction(Z);return A.finalize(),y(nC.hex.encode(A.extract()))}}async function Jq({assetValue:y,recipient:T,memo:H,feeRate:f,sender:C}){let o=FT(T);if(!Yf(o))throw new Ay.SwapKitError("toolbox_utxo_invalid_address",{address:o});let U=Math.ceil(y.getBaseValue("number")+f*7500),q=await Oy(ay).getUtxos({address:VT(C),fetchTxHex:!0,targetValue:U}),X=Number(f.toFixed(0)),G=H?by(H):null,Z=[];if(Z.push({address:Hf(T),value:y.getBaseValue("number")}),G)Z.push({script:G,value:0});let{inputs:A,outputs:M}=uy({chain:ay,feeRate:X,inputs:q,outputs:Z});if(!(A&&M))throw new Ay.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:A,outputs:M,sender:Hf(C),tx:Q});return{inputs:N,tx:J,utxos:q}}function zq(y){let T=zy.NETWORKS.bitcoinCash,H=zy.p2pkh(y.publicKey,T);if(!H.hash)throw new Ay.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 nC,Ay,zy,ay;var t0=b(()=>{gf();sf();PT();nC=require("@scure/base"),Ay=require("@swapkit/helpers"),zy=require("@swapkit/utxo-signer"),ay=Ay.Chain.BitcoinCash});function Io(){let{isStagenet:y}=Wy.SKConfig.get("envs");return y?oy.ZCASH_TEST_NETWORK:oy.ZCASH_NETWORK}function Bq(y){return Nq.encode(y)}function Oq({phrase:y,derivationPath:T}){let H=FC.mnemonicToSeedSync(y),C=kC.HDKey.fromMasterSeed(H).derive(T);if(!C.privateKey||!C.publicKey)throw new Wy.SwapKitError("toolbox_utxo_invalid_params");let{privateKey:o,publicKey:U}=C,q=oy.utils.hash160(U),{isStagenet:X}=Wy.SKConfig.get("envs"),G=X?new Uint8Array([29,37]):new Uint8Array([28,184]),Z=new Uint8Array(G.length+q.length);Z.set(G,0),Z.set(q,G.length);let A=Bq(Z);return{getAddress:()=>Promise.resolve(A),signTransaction:(M)=>{if(M instanceof oy.ZcashPSBT){let Q=M.toPCZT();return Q.signAllInputs(o,U,oy.ZcashSigHash.ALL),Q.finalizeAllInputs(),Promise.resolve(Q.extract())}if(M instanceof oy.PCZT)return M.signAllInputs(o,U,oy.ZcashSigHash.ALL),M.finalizeAllInputs(),Promise.resolve(M.extract());return M.signAllInputs(o,U,oy.ZcashSigHash.ALL),Promise.resolve(M)}}}function Dq({inputs:y,outputs:T,tx:H,sender:f,compiledMemo:C}){let o=Io();for(let U of y){let q=oy.Address(o).decode(f),X=oy.OutScript.encode(q);H.addInput({index:U.index,script:X,sequence:4294967295,txid:c0.hex.decode(U.hash),value:BigInt(U.value)})}for(let U of T){let q="address"in U&&U.address?U.address:f,X=U.script;if(X&&!C)continue;if(X&&C)H.addOutput({amount:0n,script:C});else H.addOutputAddress(q,BigInt(U.value),o)}return{inputs:y,tx:H}}async function $o(y){let{assetValue:T,recipient:H,memo:f,feeRate:C,sender:o,fetchTxHex:U}=y,q=f?by(f):null,X=await Oy(Wy.Chain.Zcash).getUtxos({address:o,fetchTxHex:U!==!1}),G=[{address:H,value:Number(T.getBaseValue("string"))},...q?[{script:q,value:0}]:[]],{inputs:Z,outputs:A}=uy({chain:Wy.Chain.Zcash,changeAddress:o,feeRate:C,inputs:X,outputs:G});if(!(Z&&A))throw new Wy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:o});let M=oy.createZcashTransaction({consensusBranchId:oy.ZcashConsensusBranchId.NU6_2,expiryHeight:0,lockTime:0,version:4,versionGroupId:oy.ZcashVersionGroupId.SAPLING}),{tx:Q,inputs:N}=Dq({compiledMemo:q,inputs:Z,outputs:A,sender:o,tx:M});return{inputs:N,outputs:A,tx:Q}}function $C(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:Z=0})=>{let A=G||Wy.NetworkDerivationPath[Wy.Chain.Zcash]||[44,133,0,0,0],M=Wy.updateDerivationPath(A,{index:Z}),Q=Wy.derivationPathToString(M);return Oq({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 o({recipient:X,assetValue:G,feeOptionKey:Z=Wy.FeeOption.Fast,...A}){let M=await T?.getAddress();if(!(T&&M))throw new Wy.SwapKitError("toolbox_utxo_no_signer");let Q=A.feeRate||(await H.getFeeRates())[Z],{tx:N}=await $o({...A,assetValue:G,feeRate:Q,recipient:X,sender:M}),B=(await T.signTransaction(N)).toHex();return H.broadcastTx(B)}function U({phrase:X,derivationPath:G="m/44'/133'/0'/0/0"}){let Z=FC.mnemonicToSeedSync(X),M=kC.HDKey.fromMasterSeed(Z).derive(G);if(!M.privateKey||!M.publicKey)throw new Wy.SwapKitError("toolbox_utxo_invalid_params");return{privateKey:M.privateKey,publicKey:M.publicKey}}function q({phrase:X,derivationPath:G="m/44'/133'/0'/0/0"}){let Z=U({derivationPath:G,phrase:X}),A=Io();return oy.WIF(A).encode(Z.privateKey)}return{...H,createKeysForPath:U,createTransaction:$o,getPrivateKeyFromMnemonic:q,signAndBroadcastTransaction:C,signTransaction:f,transfer:o,validateAddress:df}}var c0,kC,FC,Wy,oy,ef,Nq;var IC=b(()=>{gf();sf();PT();c0=require("@scure/base"),kC=require("@scure/bip32"),FC=require("@scure/bip39"),Wy=require("@swapkit/helpers"),oy=require("@swapkit/utxo-signer"),ef=require("ts-pattern");Nq=c0.createBase58check(oy.utils.sha256)});function bo({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 o=ky(T),U=Po.HDKey.fromExtendedKey(y,o.bip32),q=Lf({accountIndex:C,chain:T}),X=$f(q),G=[];for(let Z of[!1,!0]){let A=U.deriveChild(Number(Z));for(let M=0;M<H;M++){let Q=f+M,N=A.deriveChild(Q);if(!N.publicKey)continue;let J=tf({accountIndex:C,chain:T,change:Z,index:Q});G.push({accountIndex:X,address:bT({chain:T,network:o,publicKey:N.publicKey}),change:Z,index:Q,path:Eo.derivationPathToString(J),pubkey:So.hex.encode(N.publicKey)})}}return G}var So,Po,Eo;var Vo=b(()=>{wT();sf();So=require("@scure/base"),Po=require("@scure/bip32"),Eo=require("@swapkit/helpers")});function Rq(y,T){switch(y){case of.Chain.BitcoinCash:return wC(T||{});case of.Chain.Zcash:return $C(T);case of.Chain.Bitcoin:case of.Chain.Dogecoin:case of.Chain.Litecoin:case of.Chain.Dash:return Nf({chain:y,...T});default:throw new of.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}var of;var vo=b(()=>{t0();sf();IC();wT();Vo();t0();PT();of=require("@swapkit/helpers")});var SC={};Ny(SC,{validateZcashAddress:()=>df,validateUtxoAddress:()=>DC,validateBchAddress:()=>Yf,toLegacyAddress:()=>Hf,toCashAddress:()=>FT,stripToCashAddress:()=>VT,stripPrefix:()=>Ef,nonSegwitChains:()=>ET,isValidAddress:()=>JC,getUtxoToolbox:()=>Rq,getUtxoNetwork:()=>a8,getUtxoApi:()=>Oy,getUTXOAddressValidator:()=>RC,getUTXOAddressPath:()=>tf,getUTXOAccountPath:()=>Lf,getUTXOAccountIndexFromPath:()=>$f,getScriptTypeForAddress:()=>cf,getOutputSize:()=>IT,getNetworkForChain:()=>ky,getInputSize:()=>Af,getDustThreshold:()=>ST,detectAddressNetwork:()=>zC,deriveAddressesFromXpub:()=>bo,createZcashToolbox:()=>$C,createUTXOToolbox:()=>Nf,createHDWalletHelpers:()=>qo,createCustomUtxoApi:()=>r8,createBCHToolbox:()=>wC,compileMemo:()=>by,calculateTxSize:()=>Pf,assertDerivationIndex:()=>Ky,addressFromKeysGetter:()=>xC,addInputsAndOutputs:()=>zf,accumulative:()=>uy,UtxoNetwork:()=>YC,UTXOScriptType:()=>K0,TX_OVERHEAD:()=>l0,SEGWIT_MARKER_FLAG_WEIGHT:()=>j0,OutputSizes:()=>$T,OP_RETURN_OVERHEAD:()=>Oo,MIN_TX_FEE:()=>Uq,InputSizes:()=>p0});module.exports=Ry(SC);var PC=b(()=>{sf();wT();gf();vo();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}=lo.parseSeedPhrase(y.phrase,f),o=T.fromString(C);return Ko(o)}async function EC(y){let{KeyPair:T}=await import("@near-js/crypto"),H=T.fromString(y);return Ko(H)}function Ko(y){return new jo(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"),o=C.fromString(f.public_key);return{nonce:f.access_key.nonce||0,publicKey:o}}var po,g0,lo,jo;var bC=b(()=>{po=require("@near-js/signers"),g0=require("@swapkit/helpers"),lo=_1(require("near-seed-phrase"));jo=class jo extends po.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 VC(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 xq(y){return(BigInt(y)*BigInt(1000000000000)).toString()}function nq(y){return(BigInt(y)/BigInt(1000000000000)).toString()}var xy;var mC=b(()=>{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 wq(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 uo.JsonRpcProvider({url:z})}async function C(z){let{Account:F}=await import("@near-js/accounts"),S=await f(),u=await H(),V=z||await o();return new F(V,S,u)}async function o(){let z=await H();if(!z)throw new Cy.SwapKitError("toolbox_near_no_signer");return await z.getAddress()}async function U(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 M({args:{account_id:z.recipient},attachedDeposit:"1250000000000000000000",gas:"150000000000000",methodName:"storage_deposit"}),await M({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:V}=z,t=await o();if(!S.isGasAsset&&S.address){if(!await U({accountId:u,contractId:S.address}))return q({assetValue:S,contractId:S.address,memo:V,recipient:u})}let Hy=await G({...z,sender:t});return W(Hy)}async function G({recipient:z,assetValue:F,memo:S,attachedDeposit:u,sender:V,functionCall:t}){let Hy=await f();if(!vT(z))throw new Cy.SwapKitError("toolbox_near_invalid_address",{recipient:z});if(!vT(V))throw new Cy.SwapKitError("toolbox_near_invalid_address",{sender:V});if(t)return A({...t,sender:V});if(!F.isGasAsset){let py=F.address;if(!py)throw new Cy.SwapKitError("toolbox_near_missing_contract_address");return A({args:{amount:F.getBaseValue("string"),memo:S||null,receiver_id:z},attachedDeposit:u||"1",contractId:py,gas:"250000000000000",methodName:"ft_transfer",sender:V})}let{publicKey:Yy,nonce:Xy}=await d0(Hy,V),Sy=F.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 Fy=await Hy.block({finality:"final"}),Jy=cy(Fy.header.hash);return ty(V,Yy,z,Xy+1,gy,Jy)}function Z(z){let F=z.encode();return Buffer.from(F).toString("base64")}async function A({args:z,attachedDeposit:F,contractId:S,gas:u,methodName:V,sender:t}){let Hy=await f(),{publicKey:Yy,nonce:Xy}=await d0(Hy,t),{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),Fy=[Dy.functionCall(V,Buffer.from(JSON.stringify(z)),BigInt(u),BigInt(F))];return Sy(t,Yy,S,Xy+1,Fy,gy)}async function M(z){let{actionCreators:F}=await import("@near-js/transactions");return F.functionCall(z.methodName,Buffer.from(JSON.stringify(z.args)),BigInt(z.gas),BigInt(z.attachedDeposit))}async function Q(z){let F=await H();if(!F)throw new Cy.SwapKitError("toolbox_near_no_signer");await N(z);let[S,u]=await F.signTransaction(z);return u}async function N(z){let F=z.publicKey;if(F.toString?.().startsWith("ed25519:")||F.toString?.().startsWith("secp256k1:"))return;let{KeyType:S,PublicKey:u}=await import("@near-js/crypto"),V=F.data||F.ed25519Key?.data,t=F.secp256k1Key?.data;if(V){z.publicKey=new u({data:Uint8Array.from(V),keyType:S.ED25519});return}if(t)z.publicKey=new u({data:Uint8Array.from(t),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 F=z;return F.transaction?.hash||F.transaction_outcome?.id}function B(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 F=await H();if(!F)throw new Cy.SwapKitError("toolbox_near_no_signer");let S;try{S=await Q(z)}catch(u){let V;try{V=F.signAndSendTransaction?await F.signAndSendTransaction({actions:z.actions,receiverId:z.receiverId,signerId:z.signerId}):await F.signAndSendTransactions?.({transactions:[z]})}catch(Hy){throw new Cy.SwapKitError({errorKey:"toolbox_near_sign_transaction_failed",info:{directSignError:B(u),signAndSendError:B(Hy)}},Hy)}let t=J(V);if(t)return t;throw u}return D(S)}async function R(z){let F=await H();if("assetValue"in z){let u=await O();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:Hy}}=await t.json(),{execution:Yy,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(Yy),Fy=(ty+cy)*BigInt(u.toString());return Cy.AssetValue.from({chain:Cy.Chain.Near,value:Fy})}catch(V){console.debug("NEAR fee estimation (protocol config) failed, using fallback:",V);let t=BigInt("115123062500"),Hy=BigInt("108059500000"),Xy=(t+Hy)*BigInt(u.toString());return Cy.AssetValue.from({chain:Cy.Chain.Near,value:Xy})}}let S=F?await C():void 0;return w(z,S)}async function O(){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 Y(z,F,S){if(!await H())throw new Cy.SwapKitError("toolbox_near_no_signer");let V=await C(),{formatNearAmount:t}=await import("@near-js/utils"),{PublicKey:Hy}=await import("@near-js/crypto"),Yy=t(S)||"0";return(await V.createAccount(z,Hy.fromString(F),BigInt(Yy))).transaction.hash}async function _(z){let F=await H();try{if(!F)throw new Cy.SwapKitError("toolbox_near_no_signer");let{actionCreators:S}=await import("@near-js/transactions"),{contractId:u,methodName:V,args:t,deposit:Hy}=z,Yy=await C(),Xy=await w({args:t||{},contractId:u,methodName:V}),Sy=S.functionCall(V,t||{},Xy.getBaseValue("bigint"),BigInt(Hy||"1"));return(await Yy.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 F=await C();return tC({account:F,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 w(z,F){let S=await yT.match(z).when(VC,()=>xy.SIMPLE_TRANSFER).when(vC,(V)=>hC(V.methodName)).when(pC,(V)=>uC(V.actions)).when(lC,()=>xy.ACCOUNT_CREATION).when(jC,()=>xy.CONTRACT_DEPLOYMENT).when(KC,(V)=>{if(!F)throw new Cy.SwapKitError("toolbox_near_no_account");return V.customEstimator(F)}).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 n(z,F){return console.warn("NEAR toolbox: estimateGas is deprecated, use estimateGasLimit instead"),w(z,F)}async function k(){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:M,createContract:L,createContractFunctionCall:A,createSubAccount:Y,createTransaction:G,estimateGas:n,estimateGasLimit:w,estimateTransactionFee:R,executeBatchTransaction:x,getAddress:o,getBalance:$y(Cy.Chain.Near),getGasPrice:k,getNearProvider:f,getPublicKey:I,getSignerFromPhrase:i0,getSignerFromPrivateKey:EC,serializeTransaction:Z,signAndBroadcastTransaction:W,signTransaction:Q,transfer:X,validateAddress:vT}}var uo,Cy,yT;var cC=b(()=>{sy();bC();mC();uo=require("@near-js/providers"),Cy=require("@swapkit/helpers"),yT=require("ts-pattern")});var ho=b(()=>{cC()});var gC={};Ny(gC,{validateNearAddress:()=>vT,tgasToGas:()=>xq,isSimpleTransfer:()=>VC,isCustomEstimator:()=>KC,isContractDeployment:()=>jC,isContractCall:()=>vC,isBatchTransaction:()=>pC,isAccountCreation:()=>lC,getNearToolbox:()=>wq,getNearSignerFromPrivateKey:()=>EC,getNearSignerFromPhrase:()=>i0,getFullAccessPublicKey:()=>d0,getContractMethodGas:()=>hC,gasToTGas:()=>nq,estimateBatchGas:()=>uC,createNearContract:()=>tC,GAS_COSTS:()=>xy});module.exports=Ry(gC);var iC=b(()=>{bC();mC();cC();ho()});var dC={};Ny(dC,{validateRadixAddress:()=>co,getRadixToolbox:()=>Sq});module.exports=Ry(dC);function co(y){return y.startsWith("account_rdx1")&&y.length===66}function kq({networkApi:y}){return async function(H){let f=await Fq({address:H,networkApi:y}),C=await $q({networkApi:y,resources:f});if(!C.some((U)=>U.isGasAsset))return[hy.AssetValue.from({chain:hy.Chain.Radix}),...C];return C}}async function Fq({address:y,networkApi:T}){let H=!0,f,C=[],o=await Iq(T);while(H){let U={address:y,at_ledger_state:{state_version:o},cursor:f,limit_per_page:100},q=await T.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:U});if(C=C.concat(q.items),q.next_cursor)f=q.next_cursor;else H=!1}return C}async function $q({resources:y,networkApi:T}){let H=[],f=50,C=[];for(let o=0;o<y.length;o+=50)C.push(y.slice(o,o+50));for(let o of C){let U=o.map((G)=>G.resource_address),q=await T.state.getEntityDetailsVaultAggregated(U),X=new Map;for(let G of q)if(G.details!==void 0){let Z=G.metadata?.items.find((M)=>M.key==="symbol"),A=Z?.value.typed.type==="String"?Z.value.typed.value:"?";if(G.details.type==="FungibleResource")X.set(G.address,{decimals:G.details.divisibility,symbol:A})}for(let G of o)if(G.aggregation_level==="Global"){let Z=X.get(G.resource_address)||{decimals:0,symbol:"?"},A=hy.AssetValue.from({asset:Z.symbol!==hy.Chain.Radix?`${hy.Chain.Radix}.${Z.symbol}-${G.resource_address}`:"XRD.XRD",value:G.amount});H.push(A)}}return H}async function Iq(y){return(await y.status.getCurrent()).ledger_state.state_version}function Sq({dappConfig:y}={}){let T=y||hy.SKConfig.get("integrations").radix,H=to.RadixDappToolkit({...T,networkId:T.network?.networkId||1}),f=mo.GatewayApiClient.initialize(H.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:kq({networkApi:f}),networkApi:f,signAndBroadcast:()=>{throw new hy.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:co}}var mo,to,hy;var rC=b(()=>{mo=require("@radixdlt/babylon-gateway-api-sdk"),to=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 go.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:y,reason:"Currency exceeds maximum length (20 bytes)"}});return T.padEnd(40,"0")}function Pq(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 go;var a0=b(()=>{go=require("@swapkit/helpers")});async function Eq(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 io=b(()=>{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:()=>so,normalizeCurrency:()=>fT,isKnownToken:()=>Vq,isHexCurrency:()=>r0,hexToCurrency:()=>Pq,hashes:()=>y2.hashes,getXrplTokenInfo:()=>Eq,getRippleToolbox:()=>pq,getKnownTokensByIssuer:()=>bq,formatXrplTokenIdentifier:()=>eo,currencyToHex:()=>pT,XRPL_TOKEN_ERROR_CODES:()=>y1,XRPL_KNOWN_TOKENS:()=>e0});module.exports=Ry(aC);function so(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(!Uf.isValidAddress(T[2]))return null;return{currency:T[1],issuer:T[2]}}function eo(y,T){return`${i.Chain.Ripple}.${y}-${T}`}function vq(y){if(y.isGasAsset)return Uf.xrpToDrops(y.getValue("string"));let T=so(y.toString());if(!T)throw new i.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:y.toString()}});return{currency:T.currency,issuer:T.issuer,value:y.getValue("string")}}function ao(y){let T=Uf.Wallet.fromMnemonic(y);return{getAddress:()=>Promise.resolve(T.address),signTransaction:(H)=>Promise.resolve(T.sign(H))}}function f1(y){return Uf.isValidAddress(y)}function pq(y={}){let T=TT.match(y).with({phrase:TT.P.string},({phrase:W})=>ao(W)).with({signer:TT.P.any},({signer:W})=>W).otherwise(()=>{return}),H;async function f(){let W=await i.getRPCUrl(i.Chain.Ripple);if(!W)throw new i.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:i.Chain.Ripple}});let R=new Uf.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 o=()=>{if(!T)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return T.getAddress()},U=async(W)=>{let R=W||await o(),{baseDecimal:O}=i.getChainConfig(i.Chain.Ripple),Y=await C();try{let[_,L]=await Promise.all([Y.request({account:R,command:"account_info"}),Y.request({account:R,command:"account_lines"})]),x=_.result.account_data.Balance,w=[i.AssetValue.from({chain:i.Chain.Ripple,fromBaseDecimal:O,value:x})];for(let n of L.result.lines){let k=eo(n.currency,n.account);if(Number.parseFloat(n.balance)!==0)w.push(i.AssetValue.from({asset:k,asyncTokenLookup:!1,value:n.balance}))}return w}catch(_){if(_.data?.error_code===ro.ACCOUNT_NOT_FOUND)return[i.AssetValue.from({chain:i.Chain.Ripple,value:0})];throw new i.SwapKitError({errorKey:"toolbox_ripple_get_balance_error",info:{address:R,error:_}})}},q=async()=>{let{baseDecimal:W}=i.getChainConfig(i.Chain.Ripple),Y=(await(await C()).request({command:"fee"})).result.drops.open_ledger_fee;return i.AssetValue.from({chain:i.Chain.Ripple,fromBaseDecimal:W,value:Y})};async function X(W){let R=W||await o(),O=await C();try{return(await O.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(Y){if(Y.data?.error_code===ro.ACCOUNT_NOT_FOUND)return[];throw new i.SwapKitError({errorKey:"toolbox_ripple_get_trust_lines_error",info:{address:R,error:Y}})}}async function G({address:W,currency:R,issuer:O}){let Y=await X(W),_=pT(R);return Y.some((L)=>{return pT(L.currency)===_&&L.account===O})}async function Z({currency:W,issuer:R,limit:O,sender:Y}){let _=Y||await o();if(!f1(R))throw new i.SwapKitError({errorKey:"core_transaction_invalid_recipient_address",info:{address:R}});let L=Number.parseFloat(O);if(Number.isNaN(L)||L<0)throw new i.SwapKitError({errorKey:"toolbox_ripple_invalid_trust_line_limit",info:{limit:O}});let x=await C(),w={Account:_,LimitAmount:{currency:W,issuer:R,value:O},TransactionType:"TrustSet"};return x.autofill(w)}async function A({assetValue:W,recipient:R,memo:O,sender:Y,destinationTag:_,extendBySeconds:L=150}){if(!f1(R))throw new i.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let x=Y||await o();if(W.chain!==i.Chain.Ripple)throw new i.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:W.toString()}});let w=vq(W),n={Account:x,Amount:w,Destination:R,TransactionType:"Payment",..._!==void 0&&{DestinationTag:_}};if(O)n.Memos=[{Memo:{MemoData:Buffer.from(O).toString("hex")}}];let I=await(await C()).autofill(n);if(I.LastLedgerSequence&&L>0)I.LastLedgerSequence+=Math.ceil(L/4);return I}function M(W){if(!T)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return T.signTransaction(W)}async function Q(W){let O=await(await C()).submitAndWait(W),{result:Y}=O;if(Y.validated)return Y.hash;let _=Y.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 i.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:i.Chain.Ripple,...L?{reason:L}:{txResult:_}}})}let N=async(W)=>{try{let R=await M(W);return Q(R.tx_blob)}catch(R){if(R instanceof i.SwapKitError)throw R;throw new i.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:i.Chain.Ripple,error:R}})}};async function J(W){if(!T)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let R=await T.getAddress(),O=await A({...W,sender:R}),Y=await M(O);return Q(Y.tx_blob)}async function B(W){if(!T)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let R=await T.getAddress(),O=await Z({...W,sender:R}),Y=await M(O);return Q(Y.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:ao,createTransaction:A,disconnect:D,estimateTransactionFee:q,getAddress:o,getBalance:U,getTrustLines:X,hasTrustLine:G,setTrustLine:Z,setTrustLineAndBroadcast:B,signAndBroadcastTransaction:N,signTransaction:M,transfer:J,validateAddress:f1}}var i,TT,Uf,y2,ro,y1;var sC=b(()=>{a0();i=require("@swapkit/helpers"),TT=require("ts-pattern"),Uf=require("xrpl");a0();io();y2=require("xrpl"),ro={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 o=y[C++];if(o===void 0)break;if(H|=BigInt(o&127)<<f,f+=7n,(o&128)===0)return[H,C]}throw new bf.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 uq(y){let T=new Map,H=0;while(H<y.length){let[f,C]=eC(y,H);H=C;let o=Number(f>>3n),U=Number(f&7n);if(U===C1){let[q,X]=eC(y,H);H=X,T1(T,o,{data:new Uint8Array(lT(q)),wireType:C1})}else if(U===H1){let[q,X]=eC(y,H);H=X;let G=Number(q);if(G<0||H+G>y.length)throw new bf.SwapKitError("toolbox_tron_transaction_creation_failed");let Z=y.slice(H,H+G);H+=G,T1(T,o,{data:Z,wireType:H1})}else if(U===f2){if(H+8>y.length)throw new bf.SwapKitError("toolbox_tron_transaction_creation_failed");let q=y.slice(H,H+8);H+=8,T1(T,o,{data:q,wireType:f2})}else if(U===T2){if(H+4>y.length)throw new bf.SwapKitError("toolbox_tron_transaction_creation_failed");let q=y.slice(H,H+4);H+=4,T1(T,o,{data:q,wireType:T2})}else throw new bf.SwapKitError("toolbox_tron_transaction_creation_failed")}return T}function hq(y){let T=[];for(let[o,U]of[...y.entries()].sort(([q],[X])=>q-X))for(let{wireType:q,data:X}of U){let G=BigInt(o<<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((o,U)=>o+U.length,0),f=new Uint8Array(H),C=0;for(let o of T)f.set(o,C),C+=o.length;return f}function H2(y,T){if(!y||y.length%2!==0)throw new bf.SwapKitError("toolbox_tron_transaction_creation_failed");let H=CT.hexToBytes(y),f=uq(H);if(T.expiration!==void 0)f.set(lq,[{data:new Uint8Array(lT(BigInt(T.expiration))),wireType:C1}]);if(T.data!==void 0)f.set(jq,[{data:CT.hexToBytes(T.data),wireType:H1}]);if(T.fee_limit!==void 0)f.set(Kq,[{data:new Uint8Array(lT(BigInt(T.fee_limit))),wireType:C1}]);let C=hq(f),o=CT.bytesToHex(C),U=CT.bytesToHex(C2.sha256(C));return{raw_data_hex:o,txID:U}}var C2,CT,bf,C1=0,f2=1,H1=2,T2=5,lq=8,jq=10,Kq=18;var o2=b(()=>{C2=require("@noble/hashes/sha2.js"),CT=require("@noble/hashes/utils.js"),bf=require("@swapkit/helpers")});function my(y){if(typeof y!=="string")return!1;try{let T=o1.decode(y);return T.length===21&&T[0]===X2}catch{return!1}}function G2(y){return vy.bytesToHex(o1.decode(y))}function tq(y){return o1.decode(y).slice(1)}function Q2(y){let T=yH.secp256k1.getPublicKey(vy.hexToBytes(y),!1),H=U2.keccak_256(T.slice(1)).slice(-20),f=new Uint8Array(21);return f[0]=X2,f.set(H,1),o1.encode(f)}function _2({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)),o=vy.bytesToHex(H.slice(33,65)),U=(f+27).toString(16).padStart(2,"0");return C+o+U}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 cq(y){return`000000000000000000000000${vy.bytesToHex(tq(y))}`}function gq(y){let T=typeof y==="bigint"?y:BigInt(y);if(T<0n||T>=mq)throw new TH.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:T.toString()});return T.toString(16).padStart(64,"0")}function oT(y){return y.map(({type:T,value:H})=>T==="address"?cq(H):gq(BigInt(H))).join("")}function M2(y){return vy.bytesToHex(new TextEncoder().encode(y))}var yH,fH,U2,vy,q2,TH,o1,X2=65,mq;var CH=b(()=>{yH=require("@noble/curves/secp256k1.js"),fH=require("@noble/hashes/sha2.js"),U2=require("@noble/hashes/sha3.js"),vy=require("@noble/hashes/utils.js"),q2=require("@scure/base"),TH=require("@swapkit/helpers"),o1=q2.createBase58check(fH.sha256),mq=2n**256n});function W2(){try{return My.getRPCUrlSync(My.Chain.Tron)}catch{return Z2}}function L2(){let y=new AbortController,T=setTimeout(()=>y.abort(),sq);return{cleanup:()=>clearTimeout(T),signal:y.signal}}async function Vf(y,T){let{signal:H,cleanup:f}=L2();try{let C=await fetch(`${W2()}${y}`,{body:JSON.stringify(T),headers:{"Content-Type":"application/json"},method:"POST",signal:H});if(!C.ok)throw new My.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${C.status} ${C.statusText} on ${y}`});return await C.json()}finally{f()}}async function A2(y,T){let{signal:H,cleanup:f}=L2();try{let C=await fetch(`${T??W2()}${y}`,{headers:{"Content-Type":"application/json"},signal:H});if(!C.ok)throw new My.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${C.status} ${C.statusText} on ${y}`});return await C.json()}finally{f()}}async function Y2(y){if(!my(y))throw new My.SwapKitError("toolbox_tron_trongrid_api_error",{address:y,message:"Invalid address"});try{let T=await A2(`/v1/accounts/${y}`,Z2);if(!(T.success&&T.data)||T.data.length===0)return;let H;try{H=G2(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 My.SwapKitError)throw T;throw new My.SwapKitError("toolbox_tron_trongrid_api_error",{address:y,message:T instanceof Error?T.message:"Unknown error"})}}async function J2({from:y,to:T,amount:H}){let C=await Vf("/wallet/createtransaction",{amount:H,owner_address:y,to_address:T,visible:!0});if(!C.txID||!C.raw_data_hex||!C.raw_data)throw new My.SwapKitError("toolbox_tron_transaction_creation_failed");let U=C.raw_data?.contract?.[0]?.parameter?.value;if(U?.to_address!==T||U?.owner_address!==y||U?.amount!==H)throw new My.SwapKitError("toolbox_tron_transaction_creation_failed");return HT(C),C}async function z2({ownerAddress:y,contractAddress:T,functionSelector:H,parameter:f,feeLimit:C,callValue:o=0}){let U=await Vf("/wallet/triggersmartcontract",{call_value:o,contract_address:T,fee_limit:C,function_selector:H,owner_address:y,parameter:f,visible:!0});if(!U.result.result||!U.transaction?.txID||!U.transaction?.raw_data_hex)throw new My.SwapKitError("toolbox_tron_transaction_creation_failed");let X=U.transaction.raw_data?.contract?.[0]?.parameter?.value;if(X?.contract_address!==T||X?.owner_address!==y)throw new My.SwapKitError("toolbox_tron_transaction_creation_failed");return HT(U.transaction),U.transaction}function N2({ownerAddress:y,contractAddress:T,functionSelector:H,parameter:f}){return Vf("/wallet/triggerconstantcontract",{contract_address:T,function_selector:H,owner_address:y,parameter:f,visible:!0})}function eq({ownerAddress:y,contractAddress:T,functionSelector:H,parameter:f}){return Vf("/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 Vf("/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 My.SwapKitError("toolbox_tron_token_transfer_failed");return H}catch(T){throw new My.SwapKitError("toolbox_tron_broadcast_failed",{error:T})}}async function KT(){let y={};try{let{chainParameter:T}=await A2("/wallet/getchainparameters");for(let H of T)y[H.key]=H.value}catch(T){My.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??iq,createAccountFee:y.getCreateNewAccountFeeInSystemContract??y.getCreateAccountFee??dq,energyFee:y.getEnergyFee??rq,memoFee:y.getMemoFee??aq}}async function HH(y){try{let T=await Vf("/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 My.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 Vf("/wallet/getaccount",{address:y,visible:!0});return T&&Object.keys(T).length>0}catch{return!1}}async function oH(y){try{let T=await eq({...y,ownerAddress:y.sender}),H=T.energy_required??T.energyRequired;if(T.result&&!T.result.result)throw new My.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 My.SwapKitError("toolbox_tron_trongrid_api_error",{message:"Invalid estimateenergy response"})}}catch(T){My.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 N2({...y,ownerAddress:y.sender});return T}catch(T){return My.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 B2({assetAddress:y,owner:T,spender:H}){let f=oT([{type:"address",value:T},{type:"address",value:H}]),o=(await N2({contractAddress:y,functionSelector:"allowance(address,address)",ownerAddress:H,parameter:f})).constant_result?.[0];if(!o)return 0n;try{return BigInt(`0x${o}`)}catch{return 0n}}var My,Z2="https://api.trongrid.io",iq=1000,dq=1e6,rq=420,aq=1e6,sq=30000;var O2=b(()=>{CH();My=require("@swapkit/helpers")});function I2({phrase:y,derivationPath:T}){let H=k2.HDKey.fromMasterSeed(F2.mnemonicToSeedSync(y)).derive(T);if(!H.privateKey)throw new p.SwapKitError("toolbox_tron_no_signer");return w2.bytesToHex(H.privateKey)}function S2({phrase:y,derivationPath:T,index:H}){let f=T||p.derivationPathToString(p.updateDerivationPath(p.NetworkDerivationPath[p.Chain.Tron],{index:H||0}));return I2({derivationPath:f,phrase:y})}function fX({phrase:y,derivationPath:T}){let H=I2({derivationPath:T,phrase:y}),f=Q2(H);return{getAddress:()=>Promise.resolve(f),signTransaction:(C)=>{HT(C);let o=_2({privateKey:H,txID:C.txID});return Promise.resolve({...C,signature:[o]})}}}function n2({transaction:y,memo:T,expiration:H,feeLimit:f}){let C={},o={};if(f!==void 0&&y.raw_data)C.fee_limit=f,o.fee_limit=f;if(T){let X=T.startsWith("0x")?T.replace(/^0x/,""):M2(T);C.data=X,o.data=X}if(H){let X=y.raw_data.expiration+H*1000;C.expiration=X,o.expiration=X}if(Object.keys(C).length===0)return y;let{raw_data_hex:U,txID:q}=H2(y.raw_data_hex,C);return{...y,raw_data:{...y.raw_data,...o},raw_data_hex:U,txID:q}}function P2(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 o(){if(C)return Promise.resolve(f);return f=UT.match(y).with({phrase:UT.P.string},({phrase:_})=>fX({derivationPath:H,phrase:_})).with({signer:UT.P.not(UT.P.nullish)},({signer:_})=>_).otherwise(()=>{return}),C=!0,Promise.resolve(f)}async function U(){let _=await o();if(!_)throw new p.SwapKitError("toolbox_tron_no_signer");return _.getAddress()}async function q(_,L){let x=_||R2,w=L??(await KT()).energyFee,n=x*w,k=Math.ceil(n*1.5);return Math.min(Math.max(k,1e7),150000000)}async function X({contractAddress:_,functionSelector:L,parameter:x,sender:w,memo:n,expiration:k,extraEnergy:I=0}){let z=await oH({contractAddress:_,functionSelector:L,parameter:x,sender:w}),F=await q(z+I),S=await z2({contractAddress:_,feeLimit:F,functionSelector:L,ownerAddress:w,parameter:x});return n2({expiration:k,feeLimit:F,memo:n,transaction:S})}async function G(_){if(!my(_))return[p.AssetValue.from({chain:p.Chain.Tron})];try{let L=await Y2(_);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)})],w=L.trc20?.find((n)=>(qH in n));if(w){let n=w[qH];x.push(p.AssetValue.from({asset:`TRON.USDT-${qH}`,fromBaseDecimal:6,value:n}))}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 Z({recipient:_,assetValue:L,memo:x,expiration:w}){if(!my(_))throw new p.SwapKitError("toolbox_tron_token_transfer_failed",{message:"invalid address"});let n=await o();if(!n)throw new p.SwapKitError("toolbox_tron_no_signer");try{let k=await U(),I=await B({assetValue:L,expiration:w,memo:x,recipient:_,sender:k}),z=await n.signTransaction(I),F=await jT(z);if(!F)throw new p.SwapKitError("toolbox_tron_token_transfer_failed",{message:"broadcast failed"});return F}catch(k){throw new p.SwapKitError("toolbox_tron_token_transfer_failed",{message:k instanceof Error?k.message:String(k)})}}function A({requiredBandwidth:_,resources:L,feePerUnit:x}){let w=Math.max(0,L.free+L.total-L.used);return _>w?(_-w)*x:0}async function M({memo:_,recipient:L,senderAddress:x}){let[w,n,k]=await Promise.all([KT(),uT(L),HH(x)]),I=n?0:w.createAccountFee,z=A({feePerUnit:w.bandwidthFee,requiredBandwidth:D2,resources:k.bandwidth}),F=_?w.memoFee:0;return p.AssetValue.from({chain:p.Chain.Tron,fromBaseDecimal:p.BaseDecimal.TRON,value:I+z+F})}async function Q({assetValue:_,memo:L,recipient:x,senderAddress:w}){let n=_.address;if(!n)throw new p.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:_.toString()});let[k,I,z,F]=await Promise.all([KT(),uT(x),HH(w),oH({contractAddress:n,functionSelector:"transfer(address,uint256)",parameter:oT([{type:"address",value:x},{type:"uint256",value:_.getBaseValue("string")}]),sender:w})]),u=F+(I?0:UH),V=A({feePerUnit:k.bandwidthFee,requiredBandwidth:x2,resources:z.bandwidth}),t=Math.max(0,z.energy.total-z.energy.used),Hy=u>t?(u-t)*k.energyFee:0,Yy=L?k.memoFee:0;return p.AssetValue.from({chain:p.Chain.Tron,fromBaseDecimal:p.BaseDecimal.TRON,value:V+Hy+Yy})}async function N({assetValue:_,memo:L,recipient:x}){let[w,n]=await Promise.all([KT(),uT(x)]);if(_.isGasAsset){let F=n?0:w.createAccountFee,S=L?w.memoFee:0;return p.AssetValue.from({chain:p.Chain.Tron,fromBaseDecimal:p.BaseDecimal.TRON,value:F+D2*w.bandwidthFee+S})}let I=await q(R2+(n?0:UH),w.energyFee),z=L?w.memoFee:0;return p.AssetValue.from({chain:p.Chain.Tron,fromBaseDecimal:p.BaseDecimal.TRON,value:I+x2*w.bandwidthFee+z})}async function J({assetValue:_,memo:L,recipient:x,sender:w}){let n=await o();try{let k=w?w:n?await U():void 0;if(!k)return N({assetValue:_,memo:L,recipient:x});return _.isGasAsset?M({memo:L,recipient:x,senderAddress:k}):Q({assetValue:_,memo:L,recipient:x,senderAddress:k})}catch(k){throw p.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee: ${k instanceof Error?k.message:k}`}),new p.SwapKitError("toolbox_fee_estimation_failed",{chain:p.Chain.Tron,error:k})}}async function B({recipient:_,assetValue:L,memo:x,sender:w,expiration:n}){if(!my(_)||!my(w))throw new p.SwapKitError("toolbox_tron_transaction_creation_failed",{message:"invalid address"});if(L.isGasAsset){let z=await J2({amount:L.getBaseValue("number"),from:w,to:_});return n2({expiration:n,memo:x,transaction:z})}let k=L.address;if(!k)throw new p.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:L.toString()});let I=await uT(_);return X({contractAddress:k,expiration:n,extraEnergy:I?0:UH,functionSelector:"transfer(address,uint256)",memo:x,parameter:oT([{type:"address",value:_},{type:"uint256",value:L.getBaseValue("string")}]),sender:w})}async function D(_){HT(_);let L=await o();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 B2({assetAddress:_,owner:x,spender:L})}async function O({assetAddress:_,spenderAddress:L,from:x,amount:w}){let n=await R({assetAddress:_,from:x,spenderAddress:L});if(!w)return n>0n;return n>=BigInt(w)}async function Y({assetAddress:_,spenderAddress:L,amount:x,from:w}){if(!my(_)||!my(L))throw new p.SwapKitError("toolbox_tron_approve_failed");let n=await o();if(!n)throw new p.SwapKitError("toolbox_tron_no_signer");let k=w||await U(),I=x!==void 0?BigInt(x).toString():yX;try{let z=await X({contractAddress:_,functionSelector:"approve(address,uint256)",parameter:oT([{type:"address",value:L},{type:"uint256",value:I}]),sender:k}),F=await n.signTransaction(z),S=await jT(F);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:Y,broadcastTransaction:jT,createTransaction:B,estimateTransactionFee:J,getAddress:U,getApprovedAmount:R,getBalance:G,getRpcUrl:()=>p.getRPCUrl(p.Chain.Tron),isApproved:O,signAndBroadcastTransaction:W,signTransaction:D,transfer:Z,validateAddress:my}}var w2,k2,F2,p,UT,$2,D2=268,R2=65000,UH=25000,x2=345,qH="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",yX="115792089237316195423570985008687907853269984665640564039457584007913129639935";var E2=b(()=>{o2();O2();CH();w2=require("@noble/hashes/utils.js"),k2=require("@scure/bip32"),F2=require("@scure/bip39"),p=require("@swapkit/helpers"),UT=require("ts-pattern"),$2=my});var XH={};Ny(XH,{validateTronAddress:()=>$2,getTronToolbox:()=>P2,getTronPrivateKeyFromMnemonic:()=>S2});module.exports=Ry(XH);var GH=b(()=>{E2()});function q1(y){if(!y||typeof y!=="string"||!y.startsWith("G")||y.length!==56)return!1;return TX.test(y)}function CX(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 HX(y){return CX(y)===504}function oX(y){return y.hash?.().toString("hex")}function UX(y){return[...new Set([y,...s.SKConfig.get("rpcUrls")[s.Chain.Stellar]])].filter(Boolean)}async function qX(y){if(!q1(y))return!1;try{let{StrKey:T}=await import("@stellar/stellar-sdk");return T.isValidEd25519PublicKey(y)}catch{return!1}}function b2(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:O}=await import("@scure/bip39"),{Keypair:Y}=await import("@stellar/stellar-sdk"),_=O(D),x=R.fromMasterSeed(_).derive(W,!0);return Y.fromRawEd25519Seed(Buffer.from(x.privateKey))}async function o(){if(T)return T;let D=U1.match(y).with({phrase:U1.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 U(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 U(R)).transactions().transaction(D).call()).hash||D}catch{}return}async function X(D,W){let R=await s.getRPCUrl(s.Chain.Stellar),O=UX(R),Y=oX(D),_;for(let L of O)try{let x=await U(L),{hash:w}=await x.submitTransaction(D);return w}catch(x){if(_=x,!HX(x))break;let w=Y?await q(Y,O):void 0;if(w)return w}throw new s.SwapKitError(W,_)}async function G(){try{return(await o()).publicKey()}catch{return""}}async function Z(D){let W=D||await G();if(!W)throw new s.SwapKitError("toolbox_stellar_account_not_found");try{return(await(await U()).loadAccount(W)).balances.map((Y)=>{if(Y.asset_type==="native")return s.AssetValue.from({chain:s.Chain.Stellar,value:Y.balance});let _="asset_code"in Y?Y.asset_code:"",L="asset_issuer"in Y?Y.asset_issuer:"";return s.AssetValue.from({asset:`${s.Chain.Stellar}.${_}-${L}`,asyncTokenLookup:!1,value:Y.balance})})}catch{return[s.AssetValue.from({chain:s.Chain.Stellar,value:0})]}}async function A({recipient:D,assetValue:W,memo:R,sender:O}){if(R){if(new TextEncoder().encode(R).length>28)throw new s.SwapKitError("helpers_invalid_memo_type")}if(!await qX(D))throw new s.SwapKitError("core_transaction_invalid_recipient_address");let _=O||await G();if(!_)throw new s.SwapKitError("toolbox_stellar_no_signer");let{Asset:L,Memo:x,Networks:w,Operation:n,TransactionBuilder:k}=await import("@stellar/stellar-sdk"),I=await U(),z=await I.fetchBaseFee(),F=await I.loadAccount(_),S=new k(F,{fee:String(z),networkPassphrase:w.PUBLIC});if(W.isGasAsset)try{await I.loadAccount(D),S.addOperation(n.payment({amount:W.getValue("string"),asset:L.native(),destination:D}))}catch{S.addOperation(n.createAccount({destination:D,startingBalance:W.getValue("string")}))}else S.addOperation(n.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 M(D){let{TransactionBuilder:W,Networks:R}=await import("@stellar/stellar-sdk"),O=await o(),Y=W.fromXDR(D.toXDR(),R.PUBLIC);return Y.sign(O),Y}function Q(D){return X(D,"toolbox_stellar_broadcast_error")}async function N({recipient:D,assetValue:W,memo:R}){let O=await o(),Y=O.publicKey(),_=await A({assetValue:W,memo:R,recipient:D,sender:Y});return _.sign(O),X(_,"toolbox_stellar_transaction_failed")}async function J(D){let W=await M(D);return Q(W)}async function B(){let{baseDecimal:D}=s.getChainConfig(s.Chain.Stellar);try{let O=(await(await U()).feeStats()).fee_charged.p50;return s.AssetValue.from({chain:s.Chain.Stellar,fromBaseDecimal:D,value:O})}catch{return s.AssetValue.from({chain:s.Chain.Stellar,fromBaseDecimal:D,value:"100"})}}return{broadcastTransaction:Q,createTransaction:A,estimateTransactionFee:B,getAddress:G,getBalance:Z,signAndBroadcastTransaction:J,signTransaction:M,transfer:N,validateAddress:q1}}var s,U1,TX;var V2=b(()=>{s=require("@swapkit/helpers"),U1=require("ts-pattern"),TX=/^G[A-Z2-7]{55}$/});var X1={};Ny(X1,{validateStellarAddress:()=>q1,getStellarToolbox:()=>b2});module.exports=Ry(X1);var G1=b(()=>{V2()});var QX={};Ny(QX,{getToolbox:()=>QH,getFeeEstimator:()=>GX,getAddressValidator:()=>XX});module.exports=Ry(QX);var j=require("@swapkit/helpers");async function XX(){let{match:y}=await import("ts-pattern"),{validateAptosAddress:T}=await Promise.resolve().then(() => (mT(),hT)),{validateEVMAddress:H}=await Promise.resolve().then(() => (b1(),mH)),{validateCardanoAddress:f}=await Promise.resolve().then(() => (l1(),p1)),{getCosmosAddressValidator:C}=await Promise.resolve().then(() => (z0(),J0)),{validateHyperCoreAddress:o}=await Promise.resolve().then(() => (UC(),oC)),{validateSolanaAddress:U}=await Promise.resolve().then(() => (_C(),QC)),{validateStarknetAddress:q}=await Promise.resolve().then(() => (w0(),n0)),{validateSuiAddress:X}=await Promise.resolve().then(() => (S0(),I0)),{validateTonAddress:G}=await Promise.resolve().then(() => (b0(),E0)),{getUTXOAddressValidator:Z}=await Promise.resolve().then(() => (PC(),SC)),{validateNearAddress:A}=await Promise.resolve().then(() => (iC(),gC)),{validateRadixAddress:M}=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,(O)=>{return Z(O)(D)}).with(...j.CosmosChains,(O)=>{return C(O)(D)}).with(j.Chain.Aptos,()=>T(D)).with(j.Chain.Radix,()=>M(D)).with(j.Chain.Hype,()=>o(D)).with(j.Chain.Near,()=>A(D)).with(j.Chain.Ripple,()=>Q(D)).with(j.Chain.Solana,()=>U(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 GX(y){return async function(H){let{match:f}=await import("ts-pattern");return f(y).returnType().with(...j.EVMChains,async(C)=>{let o=await QH(C),U=await o.createTransaction(H),q="feeOptionKey"in H?H.feeOptionKey:j.FeeOption.Fast;return o.estimateTransactionFee({...U,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(() => (w0(),n0));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(() => (b0(),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(() => (UC(),oC));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(() => (w0(),n0));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(() => (b0(),E0));return f(T)}).otherwise(()=>{throw new j.SwapKitError("toolbox_not_supported",{chain:y})})}
1
+ var wU=Object.create;var{getPrototypeOf:$U,defineProperty:U0,getOwnPropertyNames:_C,getOwnPropertyDescriptor:FU}=Object,ZC=Object.prototype.hasOwnProperty;function WC(y){return this[y]}var xU,IU,YC=(y,T,C)=>{var f=y!=null&&typeof y==="object";if(f){var H=T?xU??=new WeakMap:IU??=new WeakMap,U=H.get(y);if(U)return U}C=y!=null?wU($U(y)):{};let q=T||!y||!y.__esModule?U0(C,"default",{value:y,enumerable:!0}):C;for(let X of _C(y))if(!ZC.call(q,X))U0(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=U0({},"__esModule",{value:!0}),y&&typeof y==="object"||typeof y==="function"){for(var f of _C(y))if(!ZC.call(T,f))U0(T,f,{get:WC.bind(y,f),enumerable:!(C=FU(y,f))||C.enumerable})}return QC.set(y,T),T},QC;var SU=(y)=>y;function nU(y,T){this[y]=SU.bind(null,T)}var Dy=(y,T)=>{for(var C in T)U0(y,C,{get:T[C],enumerable:!0,configurable:!0,set:nU.bind(T,C)})};var E=(y,T)=>()=>(y&&(T=y(y=0)),T);function Ef(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 PU.test(T)}function LC({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 Df.match(C).with({phrase:Df.P.string},async({phrase:M})=>{let{Ed25519Account:D}=await import("@aptos-labs/ts-sdk");return D.fromDerivationPath({mnemonic:M,path:H})}).with({signer:Df.P.any},({signer:M})=>M).otherwise(()=>{return}),f}async function q(){let{Aptos:M,AptosConfig:D,Network:O}=await import("@aptos-labs/ts-sdk"),R=new D({clientConfig:{http2:!1},fullnode:T||m.getRPCUrlSync(m.Chain.Aptos),network:O.MAINNET});return new M(R)}async function X(){return(await U())?.accountAddress.toString()||""}async function G(M){let D=M||await X();if(!D)throw new m.SwapKitError("toolbox_aptos_address_required");let{baseDecimal:O,chain:R}=m.getChainConfig(m.Chain.Aptos);try{let w=await q(),J=await w.getAccountAPTAmount({accountAddress:D}),A=[m.AssetValue.from({chain:R,fromBaseDecimal:O,value:J.toString()})],W=await w.getCurrentFungibleAssetBalances({options:{where:{owner_address:{_eq:D}}}});for(let _ of W){if(_.asset_type===Nf.COIN_TYPE||Number(_.amount)<=0)continue;let k=_.asset_type;if(k){let $=("metadata"in _&&typeof _.metadata==="object"&&_.metadata!==null?_.metadata:void 0)?.decimals??O;A.push(m.AssetValue.from({asset:`${m.Chain.Aptos}.APT-${k}`,fromBaseDecimal:$,value:String(_.amount)}))}}return A}catch{return[m.AssetValue.from({chain:R})]}}async function Q(M){if(!M){let{baseDecimal:W}=m.getChainConfig(m.Chain.Aptos),_=T||m.getRPCUrlSync(m.Chain.Aptos),k=await fetch(`${_}/estimate_gas_price`),{gas_estimate:F}=await k.json();return m.AssetValue.from({chain:m.Chain.Aptos,fromBaseDecimal:W,value:String(F)})}let D=await U();if(!D)throw new m.SwapKitError("toolbox_aptos_no_signer");let O=await Y(M),R=await q(),[w]=await R.transaction.simulate.simple({signerPublicKey:D.publicKey,transaction:O});if(!w)throw new m.SwapKitError("toolbox_aptos_transaction_creation_error");let J=BigInt(w.gas_used)*BigInt(w.gas_unit_price),{baseDecimal:A}=m.getChainConfig(m.Chain.Aptos);return m.AssetValue.from({chain:m.Chain.Aptos,fromBaseDecimal:A,value:J.toString()})}async function Y({recipient:M,assetValue:D,maxGasAmount:O,sender:R}){if(!Ef(M))throw new m.SwapKitError("core_transaction_invalid_recipient_address");let w=R||await X();if(!w)throw new m.SwapKitError("toolbox_aptos_no_sender");let{AccountAddress:J}=await import("@aptos-labs/ts-sdk"),A=await q(),W=J.from(w);try{let _=D.isGasAsset?Nf.TRANSFER:Nf.FUNGIBLE_STORE_TRANSFER,k=Df.match({address:D?.address,isGasAsset:D.isGasAsset}).with({isGasAsset:!0},()=>[J.from(M),D.getBaseValue("bigint")]).with({address:Df.P.string},({address:F})=>[J.from(F),J.from(M),D.getBaseValue("bigint")]).otherwise(()=>null);if(!k)throw new m.SwapKitError("toolbox_aptos_missing_asset_type");return A.transaction.build.simple({data:{function:_,functionArguments:k,typeArguments:D.isGasAsset?[]:[Nf.FUNGIBLE_ASSET_METADATA]},options:O?{maxGasAmount:O}:void 0,sender:W})}catch(_){if(_ instanceof m.SwapKitError)throw _;throw new m.SwapKitError("toolbox_aptos_transaction_creation_error",_)}}async function z(M){let D=await U();if(!D)throw new m.SwapKitError("toolbox_aptos_no_signer");return(await q()).transaction.sign({signer:D,transaction:M})}async function L({assetValue:M,maxGasAmount:D,recipient:O}){let R=await U();if(!R)throw new m.SwapKitError("toolbox_aptos_no_signer");if(!Ef(O))throw new m.SwapKitError("core_transaction_invalid_recipient_address");try{let w=R.accountAddress.toString(),J=await Y({assetValue:M,maxGasAmount:D,recipient:O,sender:w});return(await(await q()).signAndSubmitTransaction({signer:R,transaction:J})).hash}catch(w){if(w instanceof m.SwapKitError)throw w;throw new m.SwapKitError("toolbox_aptos_transaction_creation_error",w)}}async function Z({senderAuthenticator:M,transaction:D}){try{return(await(await q()).transaction.submit.simple({senderAuthenticator:M,transaction:D})).hash}catch(O){throw new m.SwapKitError("toolbox_aptos_broadcast_error",O)}}async function N(M){let D=await z(M);return Z({senderAuthenticator:D,transaction:M})}return{broadcastTransaction:Z,createTransaction:Y,estimateTransactionFee:Q,getAddress:X,getBalance:G,signAndBroadcastTransaction:N,signTransaction:z,transfer:L,validateAddress:Ef}}function JC({provider:y}){return async function({assetValue:C,recipient:f}){if(!Ef(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:Nf.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:Nf.FUNGIBLE_STORE_TRANSFER,type:"entry_function_payload",type_arguments:[Nf.FUNGIBLE_ASSET_METADATA]})).hash}}var m,Df,Nf,PU;var zC=E(()=>{m=require("@swapkit/helpers"),Df=require("ts-pattern"),Nf={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"},PU=/^[0-9a-fA-F]+$/});var u0={};Dy(u0,{validateAptosAddress:()=>Ef,getAptosToolbox:()=>LC,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 oU+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}=q0.getChainConfig(y),q=H.map(({identifier:G,value:Q,decimal:Y})=>{return new q0.AssetValue({decimal:Y||U,identifier:G,value:Q})});if(!q.some((G)=>G.isGasAsset))return[q0.AssetValue.from({chain:y}),...q];return q}}var q0,AC,oU,_1=0;var sy=E(()=>{q0=require("@swapkit/helpers"),AC=require("@swapkit/helpers/api"),oU=typeof process<"u"&&process.pid?process.pid.toString(36):""});function X0(y){return{getBalance:Sy(y)}}function VU(y){return y}var m0=E(()=>{sy()});function NC(y){return new Py.JsonRpcProvider(y)}async function EU(y,T){return NC(T||await g.getRPCUrl(y))}function J1(y){let T=g.SKConfig.get("rpcUrls")[y]?.filter(Boolean)??[];if(T.length===0)throw new g.SwapKitError("helpers_chain_no_public_or_set_rpc_url",{chain:y});let{chainId:C}=g.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 G0(y){return y>0n?`0x${y.toString(16)}`:"0x0"}function z1(y){let{explorerUrl:T,chainIdHex:C,rpcUrls:f}=g.getChainConfig(y);return function(){return y!==g.Chain.Ethereum?{...vU({chain:y}),blockExplorerUrls:[T],chainId:C,rpcUrls:f}:void 0}}function A1(y){return![g.Chain.Adi,g.Chain.Arbitrum,g.Chain.BinanceSmartChain].includes(y)}function vU({chain:y}){let{name:T,nativeCurrency:C,baseDecimal:f}=g.getChainConfig(y);return L1.match(y).with(g.Chain.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:f,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:f,name:"Avalanche",symbol:y}})).with(g.Chain.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:f,name:"Berachain",symbol:"BERA"}})).with(g.Chain.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:f,name:"OKB",symbol:"OKB"}})).with(g.Chain.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:f,name:"Binance Coin",symbol:"BNB"}})).with(g.Chain.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:f,name:"xDAI",symbol:"XDAI"}})).with(g.Chain.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:g.Chain.Ethereum}})).with(g.Chain.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:f,name:"Polygon",symbol:g.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 g.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:H,message:`${C}${U}`}})};L1.match(y).when(({chainId:H})=>typeof H!=="bigint",()=>f("chainId","chainId must be a bigint")).when(({address:H})=>!bU(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 Y1(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]=Y1(C[U.name]??y[H],U);return f}if(Array.isArray(y)){let C=T?.arrayChildren;return y.map((f)=>Y1(f,C??void 0))}return y}function jU({chain:y,abi:T,data:C,to:f}){let U=new Py.Interface(T).parseTransaction({data:C});if(!U)throw new g.SwapKitError({errorKey:"toolbox_evm_invalid_params",info:{error:"Could not decode calldata"}});let q={},X=Z1(U.name);q[X]=U.fragment.inputs.map((L)=>({name:L.name,type:W1(L,q)}));let G={};for(let[L,Z]of U.fragment.inputs.entries())G[Z.name]=Y1(U.args[L],Z);let{chainId:Q}=g.getChainConfig(y),Y={chainId:Number(Q),verifyingContract:Py.getAddress(f)},z=OC(Y);return{domain:Y,message:G,primaryType:X,types:{EIP712Domain:z,...q}}}function B1(y,T){if(!Array.isArray(y)||y.length===0)throw new g.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 g.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:"chainId",message:`index ${C}: authorization chainId (${f.chainId}) does not match transaction chainId (${T})`}})}var g,Py,L1,BC=(y)=>typeof y==="string"&&/^0x[a-fA-F0-9]{64}$/.test(y),bU=(y)=>{try{return typeof y==="string"&&!!Py.getAddress(y)}catch{return!1}};var Q0=E(()=>{g=require("@swapkit/helpers"),Py=require("ethers"),L1=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 bf({chain:y=S.Chain.Ethereum,provider:T,signer:C,isEIP1559Compatible:f=!0}){return{approve:hU({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:gU({chain:y,provider:T,signer:C}),createContract:O1({chain:y,provider:T}),createContractTxObject:Of({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:tU({chain:y,provider:T,signer:C}),estimateGasPrices:Rf({chain:y,isEIP1559Compatible:f,provider:T}),estimateTransactionFee:iU({chain:y,isEIP1559Compatible:f,provider:T}),getAddress:()=>{return C?C.getAddress():void 0},getBalance:X0(y).getBalance,getNetworkParams:z1(y),isApproved:uU({chain:y,provider:T}),sendTransaction:IC({chain:y,isEIP1559Compatible:f,provider:T,signer:C}),signAuthorization:cU({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:mU({chain:y,isEIP1559Compatible:f,provider:T,signer:C}),validateAddress:Z0}}function Z0(y){try{return oy.getAddress(y),!0}catch{return!1}}function jf(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&&pU.includes(C.stateMutability)}function wC(y){return oy.getAddress(y)}function pf(y){return function({value:C,...f}){if(!jf(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:G0(BigInt(C||0))}])}}function $C(y,T){let C=Kf(y,T);if(C)return oy.getAddress(C.toLowerCase());throw new S.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function Kf({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=lU.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 Of({provider:y}){return async({contractAddress:T,abi:C,funcName:f,funcParams:H=[],txOverrides:U})=>W0(T,C,y).getFunction(f).populateTransaction(...H.concat(U).filter((q)=>typeof q<"u"))}function Rf({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:Y={},feeOption:z=S.FeeOption.Fast}){let L=U||y;if(!q)throw new S.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let Z=R1({abi:X,funcName:G});if(Z&&jf(L)&&C){let D=Of({chain:f,provider:L}),O=Y?.from||await C?.getAddress(),R=await D({abi:X,contractAddress:q,funcName:G,funcParams:Q,txOverrides:{...Y,from:O}});return pf(L)(R)}let N=W0(q,X,L);if(Z){if(!C)throw new S.SwapKitError("toolbox_evm_no_signer");let D=Y?.from||await C.getAddress();if(!D)throw new S.SwapKitError("toolbox_evm_no_signer_address");let O=N.connect(C),R=Rf({chain:f,isEIP1559Compatible:T,provider:y}),{maxFeePerGas:w,maxPriorityFeePerGas:J,gasPrice:A}=(await R())[z],W=await N.getFunction(G).estimateGas(...Q,Y),_=await O[G](...Q,{...Y,gasLimit:W,gasPrice:A,maxFeePerGas:w,maxPriorityFeePerGas:J,nonce:Y?.nonce||await L.getTransactionCount(D)});return typeof _?.hash==="string"?_?.hash:_}let M=await N[G]?.(...Q);return typeof M?.hash==="string"?M?.hash:M}}function FC({provider:y,chain:T}){return function({assetAddress:f,spenderAddress:H,from:U}){return w1({chain:T,isEIP1559Compatible:!0,provider:y})({abi:vf.erc20ABI,contractAddress:f,funcName:"allowance",funcParams:[U,H]})}}function uU({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 hU({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:Y,nonce:z}){let L=[q,BigInt(G||_0)],Z=await y?.getAddress()||Y,N={abi:vf.erc20ABI,contractAddress:U,funcName:"approve",funcParams:L,signer:y,txOverrides:{from:Z}};if(jf(C)){let D=Of({chain:f,provider:C}),O=pf(C),R=await D(N);return O(R)}return w1({chain:f,isEIP1559Compatible:T,provider:C,signer:y})({...N,feeOption:X,funcParams:L,txOverrides:{from:Z,gasLimit:Q?BigInt(Q.toString()):void 0,nonce:z}})}}function mU({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:Y,toUtf8Bytes:z}=await import("ethers"),L=H.getBaseValue("bigint"),Z=H.chain,N=G||await y?.getAddress(),M=IC({chain:Z,isEIP1559Compatible:T,provider:C,signer:y});if(!N)throw new S.SwapKitError("toolbox_evm_no_from_address");if(H.isGasAsset){let A={...Q,data:Y(z(U||"")),feeOptionKey:X,from:N,to:q,value:L};return M(A)}if(!Kf(H,Z))throw new S.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:O,maxPriorityFeePerGas:R,gasPrice:w}=(await Rf({chain:Z,isEIP1559Compatible:T,provider:C})())[X],J=await N1({chain:Z,provider:C,signer:y})({assetValue:H,data:Y(z(U||"")),gasPrice:w,maxFeePerGas:O,maxPriorityFeePerGas:R,memo:U,recipient:q,sender:N});return M(J)}}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 tU({provider:y,signer:T}){return async function({assetValue:f,recipient:H,memo:U,data:q,sender:X,funcName:G,funcParams:Q,txOverrides:Y}){let z=f.bigIntValue,L=f.isGasAsset?null:Kf(f,f.chain);if(L&&G)return xC({provider:y,signer:T})({abi:vf.erc20ABI,contractAddress:L,funcName:G,funcParams:Q,txOverrides:Y});let{hexlify:Z,toUtf8Bytes:N}=await import("ethers");return y.estimateGas({data:q?q:U?Z(N(U)):void 0,from:X,to:H,value:z})}}function cU({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:Y,...z}=q;if(!T)throw new S.SwapKitError("toolbox_evm_no_signer");if(!G)throw new S.SwapKitError("toolbox_evm_no_to_address");let L={...z,data:Q||"0x",from:X,to:G,value:BigInt(Y||0)};if(jf(y))return pf(y)(L);let Z=X||await T.getAddress(),N=q.nonce||await y.getTransactionCount(Z),M=(await y.getNetwork()).chainId,D=F1(L,C);if(D==="eip7702")B1(L.authorizations||[],M);let O=D1.match(D).with("eip7702",()=>4).with("eip1559",()=>2).otherwise(()=>0),R={...L,chainId:M,nonce:N,type:O,...D==="eip7702"&&{authorizationList:L.authorizations}},w=Rf({chain:f,isEIP1559Compatible:C,provider:y}),A=D!=="legacy"&&!(L.maxFeePerGas&&L.maxPriorityFeePerGas)||!L.gasPrice?Object.entries((await w())[U]).reduce((_,[k,F])=>({..._,[k]:G0(BigInt(F))}),{}):{},W;try{W=G0(L.gasLimit||await y.estimateGas(R)*11n/10n)}catch(_){throw new S.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:_})}try{let _={...R,gasLimit:W,...A};try{return(await T.sendTransaction(_)).hash}catch{let k=await T.signTransaction({..._,from:Z});return(await y.broadcastTransaction(k)).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:Y,...z}){let L=f.getBaseValue("bigint"),Z=f.chain,N=X||await T?.getAddress();if(!N)throw new S.SwapKitError("toolbox_evm_no_from_address");if(S.isGasAsset(f)){let{hexlify:O,toUtf8Bytes:R}=await import("ethers");return{...z,data:q||O(R(H||"")),from:N,to:U,value:L}}let M=Kf(f,Z);if(!M)throw new S.SwapKitError("toolbox_evm_no_contract_address");return Of({chain:f.chain,provider:y})({abi:vf.erc20ABI,contractAddress:M,funcName:"transfer",funcParams:[U,L],txOverrides:{from:N,gasPrice:Y,maxFeePerGas:G,maxPriorityFeePerGas:Q}})}}function gU({provider:y,signer:T,chain:C}){return async function({assetAddress:H,spenderAddress:U,amount:q,from:X}){let G=await T?.getAddress()||X,Q=Of({chain:C,provider:y}),Y=["bigint","number"].includes(typeof q)?q:q||_0;return await Q({abi:vf.erc20ABI,contractAddress:H,funcName:"approve",funcParams:[U,BigInt(Y)],txOverrides:{from:G}})}}function iU({provider:y,isEIP1559Compatible:T=!0,chain:C}){return async function({feeOption:H=S.FeeOption.Fast,...U}){let X=await Rf({chain:C,isEIP1559Compatible:T,provider:y})(),G=await y.estimateGas(U),Q=S.AssetValue.from({chain:C}),{gasPrice:Y,maxFeePerGas:z,maxPriorityFeePerGas:L}=X[H];if(!T&&Y)return Q.set(S.SwapKitNumber.fromBigInt(Y*G,Q.decimal));if(z&&L){let Z=(z+L)*G;return Q.set(S.SwapKitNumber.fromBigInt(Z,Q.decimal))}throw new S.SwapKitError("toolbox_evm_no_gas_price")}}var S,vf,oy,D1,_0,pU,KU,k1,lU,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 c0=E(()=>{m0();Q0();S=require("@swapkit/helpers"),vf=require("@swapkit/helpers/contracts"),oy=require("ethers"),D1=require("ts-pattern"),_0=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");pU=["payable","nonpayable"];KU=S.EVMChains.reduce((y,T)=>{return y[T]="0x0000000000000000000000000000000000000000",y},{}),k1={...KU,[S.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[S.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},lU=[S.Chain.Arbitrum,S.Chain.Aurora,S.Chain.Base,S.Chain.Optimism]});function g0(y){let T=Ly(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 Ly(y){return function({provider:C,...f}){let H=A1(y),U=Y0.match(f).with({phrase:Y0.P.string},({phrase:X})=>SC.HDNodeWallet.fromPhrase(X).connect(C)).with({signer:Y0.P.any},({signer:X})=>X).otherwise(()=>{return});return bf({chain:y,isEIP1559Compatible:H,provider:C,signer:U})}}var qy,SC,Y0,i0,d0,r0,a0,s0,e0,yT,nC,fT,TT,HT,CT,UT,qT,XT,GT,QT,_T,L0,ZT,WT;var x1=E(()=>{kC();Q0();c0();qy=require("@swapkit/helpers"),SC=require("ethers"),Y0=require("ts-pattern");i0=Ly(qy.Chain.Adi),d0=Ly(qy.Chain.Arbitrum),r0=Ly(qy.Chain.Aurora),a0=Ly(qy.Chain.Avalanche),s0=Ly(qy.Chain.Base),e0=Ly(qy.Chain.Berachain),yT=Ly(qy.Chain.BinanceSmartChain),nC=Ly(qy.Chain.Botanix),fT=Ly(qy.Chain.Core),TT=Ly(qy.Chain.Corn),HT=Ly(qy.Chain.Cronos),CT=Ly(qy.Chain.Gnosis),UT=Ly(qy.Chain.Hyperevm),qT=Ly(qy.Chain.Linea),XT=Ly(qy.Chain.Polygon),GT=Ly(qy.Chain.MegaETH),QT=Ly(qy.Chain.Monad),_T=Ly(qy.Chain.Plasma),L0=Ly(qy.Chain.Sonic),ZT=Ly(qy.Chain.Unichain),WT=Ly(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 YT.Contract(rU,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 aU(y){return async function(C){let f=await vC(y)(C)??0n,H=await bC(y)(C);return f+H}}function sU(y){return async function(C){let f=I1(y),H=await EC(y)(C);if(f&&"getL1GasUsed"in f)return f.getL1GasUsed(H)}}function eU(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 LT({provider:y,...T}){let C=J0.match(T).with({phrase:J0.P.string},({phrase:U})=>YT.HDNodeWallet.fromPhrase(U).connect(y)).with({signer:J0.P.any},({signer:U})=>U).otherwise(()=>{return}),f=bf({provider:y,signer:C}),H=VC(y);return{...f,estimateGasPrices:eU(y),estimateL1Gas:sU(y),estimateL1GasCost:vC(y),estimateL2GasCost:bC(y),estimateTotalGasCost:aU(y),getBalance:X0(Wy.Chain.Optimism).getBalance,getL1GasPrice:H}}var Wy,YT,J0,rU="0x420000000000000000000000000000000000000f";var S1=E(()=>{m0();oC();c0();Wy=require("@swapkit/helpers"),YT=require("ethers"),J0=require("ts-pattern")});var KC={};Dy(KC,{validateEVMAddress:()=>Z0,toChecksumAddress:()=>wC,isStateChangingCall:()=>R1,isEIP7702Transaction:()=>t0,isEIP1559Transaction:()=>$1,isBrowserProvider:()=>jf,getTokenAddress:()=>Kf,getEvmToolboxAsync:()=>pC,getEvmToolbox:()=>n1,getEstimateGasPrices:()=>Rf,getEVMTxType:()=>F1,getEIP1193SendTransaction:()=>pf,getCreateContractTxObject:()=>Of,getCreateContract:()=>O1,getChecksumAddressFromAsset:()=>$C,createContract:()=>W0,XLayerToolbox:()=>WT,UNIToolbox:()=>ZT,SONICToolbox:()=>L0,PLASMAToolbox:()=>_T,OPToolbox:()=>LT,MONADToolbox:()=>QT,MEGAETHToolbox:()=>GT,MAX_APPROVAL:()=>_0,MATICToolbox:()=>XT,LINEAToolbox:()=>qT,HYPEREVMToolbox:()=>UT,GNOToolbox:()=>CT,ETHToolbox:()=>g0,ContractAddress:()=>k1,CROToolbox:()=>HT,CORNToolbox:()=>TT,COREToolbox:()=>fT,BotanixToolbox:()=>nC,BaseEVMToolbox:()=>bf,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,()=>L0(T)).with(Qy.Chain.Core,()=>fT(T)).with(Qy.Chain.Corn,()=>TT(T)).with(Qy.Chain.Cronos,()=>HT(T)).with(Qy.Chain.Ethereum,()=>g0(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,()=>LT(T)).with(Qy.Chain.Plasma,()=>_T(T)).with(Qy.Chain.Polygon,()=>XT(T)).with(Qy.Chain.Sonic,()=>L0(T)).with(Qy.Chain.Unichain,()=>ZT(T)).with(Qy.Chain.XLayer,()=>WT(T)).exhaustive()}async function pC(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");c0();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:()=>G0,toChecksumAddress:()=>wC,signAuthorization:()=>M1,parseEIP712FromEVMTx:()=>jU,isStateChangingCall:()=>R1,isEIP7702Transaction:()=>t0,isEIP1559Transaction:()=>$1,isBrowserProvider:()=>jf,getTokenAddress:()=>Kf,getProviderSync:()=>NC,getProvider:()=>EU,getNetworkParams:()=>z1,getIsEIP1559Compatible:()=>A1,getFallbackProvider:()=>J1,getEvmToolboxAsync:()=>pC,getEvmToolbox:()=>n1,getEvmApi:()=>X0,getEstimateGasPrices:()=>Rf,getEVMTxType:()=>F1,getEIP1193SendTransaction:()=>pf,getCreateContractTxObject:()=>Of,getCreateContract:()=>O1,getChecksumAddressFromAsset:()=>$C,createCustomEvmApi:()=>VU,createContract:()=>W0,buildEIP712DomainType:()=>OC,XLayerToolbox:()=>WT,UNIToolbox:()=>ZT,SONICToolbox:()=>L0,PLASMAToolbox:()=>_T,OPToolbox:()=>LT,MONADToolbox:()=>QT,MEGAETHToolbox:()=>GT,MAX_APPROVAL:()=>_0,MATICToolbox:()=>XT,LINEAToolbox:()=>qT,HYPEREVMToolbox:()=>UT,GNOToolbox:()=>CT,EthNetwork:()=>lC,ETHToolbox:()=>g0,ContractAddress:()=>k1,CROToolbox:()=>HT,CORNToolbox:()=>TT,COREToolbox:()=>fT,BotanixToolbox:()=>nC,BaseEVMToolbox:()=>bf,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 y8(){return(await E1("/blocks/latest")).slot}async function f8(){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 T8(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 H8(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 Y=f.get(G)||0n;f.set(G,Y+BigInt(Q))}}}let H=[],{baseDecimal:U}=Yy.getChainConfig(Yy.Chain.Cardano);if(C>0n)H.push(Yy.AssetValue.from({chain:Yy.Chain.Cardano,fromBaseDecimal:U,value:C.toString()}));for(let[q,X]of f)H.push(Yy.AssetValue.from({asset:`${Yy.Chain.Cardano}.${q}`,value:X.toString()}));if(H.length===0)return[Yy.AssetValue.from({chain:Yy.Chain.Cardano})];return H}catch(T){let C=T instanceof Error?T.message:String(T);return console.error(`Cardano balance fetch error: ${C}`),[Yy.AssetValue.from({chain:Yy.Chain.Cardano})]}}function sC(y){if(!y||typeof y!=="string")return!1;try{let T=cC.bech32.decode(y,120);return T.prefix==="addr"||T.prefix==="addr_test"}catch{return!1}}async function C8(y,T=0,C=0){let{Bip32PrivateKey:f}=await import("@stricahq/bip32ed25519"),{types:H,address:U,crypto:q}=await import("@stricahq/typhonjs"),X=gC.mnemonicToEntropy(y,iC.wordlist),Q=(await f.fromEntropy(Buffer.from(Array.from(X)))).derive(V1+1852).derive(V1+1815).derive(V1+T),Y=Q.derive(0).derive(C),z=Y.toBip32PublicKey().toPublicKey().toBytes(),L=q.hash28(z),N=Q.derive(2).derive(0).toBip32PublicKey().toPublicKey().toBytes(),M=q.hash28(N),D={hash:L,type:H.HashType.ADDRESS},O={hash:M,type:H.HashType.ADDRESS},w=new U.BaseAddress(H.NetworkId.MAINNET,D,O).getBech32(),J=Y.toPrivateKey();return{getAddress:()=>w,publicKey:z,publicKeyHash:L,signTransaction:async(A)=>{try{let W=await import("@stricahq/cbors"),_=Buffer.from(A,"hex"),k=W.Decoder.decode(_),[F,$,x,n]=k.value,B=W.Encoder.encode(F),I=q.hash32(B),P=J.sign(I),l=$ instanceof Map?$:new Map,v=l.get(mC)||[];v.push([z,P]),l.set(mC,v);let t=[F,l,x,n];return W.Encoder.encode(t).toString("hex")}catch(W){throw new Yy.SwapKitError("toolbox_cardano_sign_transaction_failed",{message:String(W)})}}}}function U8(y){let T,C,f;async function H(){if(!f)f=await f8();return f}async function U(){if(T!==void 0)return T;if(y&&"phrase"in y&&y.phrase){let Z=y.index??0;return T=await C8(y.phrase,0,Z),T}if(y&&"signer"in y&&y.signer)return T=y.signer,T;return}async function q(){if(C)return C;let Z=await U();if(!Z)return"";if("getAddress"in Z)return C=await Z.getAddress(),C;return""}async function X(Z){let N=Z||await q();if(!N)throw new Yy.SwapKitError("core_wallet_connection_not_found");return H8(N)}async function G(Z){if(Z)try{let{tx:O}=await Q(Z),R=O.getFee();return Yy.AssetValue.from({chain:Yy.Chain.Cardano,fromBaseDecimal:6,value:R.toString()})}catch{}let N=await H(),M=400,D=N.minFeeB.plus(N.minFeeA.times(M));return Yy.AssetValue.from({chain:Yy.Chain.Cardano,fromBaseDecimal:6,value:D.toString()})}async function Q({sender:Z="",recipient:N,assetValue:M,memo:D,pureLovelaceOnly:O=!1}){let{Transaction:R,utils:w}=await import("@stricahq/typhonjs"),J=Z||await q();if(!J)throw new Yy.SwapKitError("core_wallet_connection_not_found");let[A,W,_]=await Promise.all([aC(J),y8(),H()]),k=A.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=w.getAddressFromString(J),$=w.getAddressFromString(N),x=T8(k,F),n=new Vy.default(M.getBaseValue("string")),B=[{address:$,amount:n,tokens:[]}],I;if(D){let a=new Map;a.set("msg",[D]),I={metadata:[{data:a,label:674}]}}let P={..._,minFeeB:_.minFeeB.plus(_.minFeeA.times(4))},v=new R({protocolParams:P}).paymentTransaction({auxiliaryData:I,changeAddress:F,inputs:x,outputs:B,ttl:W+3600}),{payload:t}=v.buildTransaction();return{tx:v,unsignedTx:t}}async function Y(Z){let N=await U();if(!N||!("signTransaction"in N))throw new Yy.SwapKitError("core_wallet_connection_not_found");return N.signTransaction(Z)}async function z({recipient:Z,assetValue:N,memo:M}){let D=await U();if(!D||!("signTransaction"in D))throw new Yy.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:O}=await Q({assetValue:N,memo:M,recipient:Z,sender:await q()}),R=await Y(O);return await tC(R)}async function L(Z){let N=await Y(Z);return await tC(N)}return{createTransaction:Q,estimateTransactionFee:G,getAddress:q,getBalance:X,signAndBroadcastTransaction:L,signTransaction:Y,transfer:z,validateAddress:sC}}var cC,gC,iC,Yy,Vy,dC="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS",rC="https://cardano-mainnet.blockfrost.io/api/v0",V1=2147483648,mC=0;var eC=E(()=>{cC=require("@scure/base"),gC=require("@scure/bip39"),iC=require("@scure/bip39/wordlists/english.js"),Yy=require("@swapkit/helpers"),Vy=YC(require("bignumber.js"))});var v1={};Dy(v1,{validateCardanoAddress:()=>sC,getCardanoToolbox:()=>U8});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 q8(y){return iy.base64.encode(y)}function X8(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 kf(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 K1(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 L=u.AssetValue.from({chain:X}),Z=qf(L.symbol),N=ey(X),M=Z&&H?{amount:[{amount:H.toString(),denom:Z}],gas:N.gas}:N,D={amount:[{amount:C.getBaseValue("string"),denom:qf(C.symbol)}],fromAddress:y,toAddress:T};return{accountNumber:q??Number(z.accountNumber),chainId:G,fee:M,memo:f,msgs:[{typeUrl:G8(X),value:D}],sequence:U??z.sequence}}var u,p1="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",f5="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",T5,H5,C5,qf=(y,T=!1)=>{if(T)return y.toLowerCase();switch(y){case"uUSK":case"USK":return p1;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 qf(y,!1)},G8=(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})}},Q8,u1=(y,T)=>{let C=Q8[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"};Q8={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},[p1.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=YC(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 wf(){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 Xf(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 c1(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),Y=await G5({rpcUrl:Q,sender:y}),{chainId:z}=Fy.getChainConfig(G),L=m1({assetValue:C,recipient:T,sender:y}),Z=H?await Gf(U?L:Qf(L),G):L;return{accountNumber:X||Number(Y.accountNumber),chainId:z,fee:ey(G),memo:f,msgs:[Z],sequence:q||Y.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:Y}=Fy.getChainConfig(X),z=t1({assetValue:T,memo:C,sender:y}),L=f?await Gf(H?z:Qf(z),X):z;return{accountNumber:q||Number(Q.accountNumber),chainId:Y,fee:ey(X),memo:C,msgs:[L],sequence:U||Q.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 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 wf(),H=await Xf(y),U={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:T,messages:C.map((q)=>H.fromAmino(q))}};return f.encode(U)}var Fy,_8,Z8,m1=({sender:y,recipient:T,assetValue:C})=>{return{type:`${C.chain===Fy.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:C.getBaseValue("string"),denom:qf(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})},Gf=async(y,T)=>{return(await Xf(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"),_8=ey(Fy.Chain.THORChain).gas,Z8=ey(Fy.Chain.Maya).gas});var W5=()=>{};var Y5=E(()=>{W5()});var g1=E(()=>{j1();Z5();h1();Y5()});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:`${b.DerivationPath[C.chain]}/${C.index}`;return await U.fromMnemonic(y,{hdPaths:[q(X)],prefix:T})}async function W8({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 b.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(_f.base64.decode(C));return G.verifySignature(Q,_f.base64.decode(f),U.pubkey.value)}}function O0({chain:y,...T}){let C=b.CosmosChainPrefixes[y],f="index"in T?T.index||0:0,H=b.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:b.updateDerivationPath(b.NetworkDerivationPath[y],{index:f})),U;async function q(){if(U)return U;return U=await D0.match(T).with({phrase:D0.P.string},({phrase:Z})=>i1({derivationPath:H,phrase:Z,prefix:C})).with({signer:D0.P.any},({signer:Z})=>Z).otherwise(()=>{return}),U}async function X(Z){let N=await b.getRPCUrl(y);return(await yf(N)).getAccount(Z)}async function G(){let Z=await q(),[N]=await Z?.getAccounts()||[];return N?.address}async function Q(){let Z=await q(),[N]=await Z?.getAccounts()||[];if(!N?.pubkey)throw new b.SwapKitError("toolbox_cosmos_signer_not_defined");return _f.base64.encode(N?.pubkey)}async function Y(Z){let N=await q(),M=await G(),D=await b.getRPCUrl(y);if(!(N&&M))throw new b.SwapKitError("toolbox_cosmos_signer_not_defined");return await(await kf(D,N)).sign(M,Z.msgs,Z.fee,Z.memo,{accountNumber:BigInt(Z.accountNumber),chainId:Z.chainId,sequence:Z.sequence})}async function z(Z){let N=await q(),M=await G(),D=await b.getRPCUrl(y);if(!(N&&M))throw new b.SwapKitError("toolbox_cosmos_signer_not_defined");let R=await(await kf(D,N)).signAndBroadcast(M,Z.msgs,Z.fee,Z.memo);if(R.code!==0)throw new b.SwapKitError("core_swap_transaction_error",{code:R.code,message:R.rawLog});return R.transactionHash}async function L({recipient:Z,assetValue:N,memo:M="",feeRate:D,feeOptionKey:O=b.FeeOption.Fast}){let R=await q(),w=await G();if(!(R&&w))throw new b.SwapKitError("toolbox_cosmos_signer_not_defined");let J=await b.getRPCUrl(y),A=b.AssetValue.from({chain:y}),W=M0(A),_=D||J8((await J5(y,L5[y]))[O],W),k=await kf(J,R),F=qf(N.symbol),$=[{amount:N.getBaseValue("string"),denom:F}],{transactionHash:x}=await k.sendTokens(w,Z,$,_,M);return x}return{createPrivateKeyFromPhrase:A8(H),createTransaction:l1,fetchFeeRateFromSwapKit:r1,getAccount:X,getAddress:G,getBalance:async(Z,N)=>{let M=await z5(y)(Z),D=await Promise.all(M.filter(({denom:O})=>O&&!O.includes("IBC/")&&!([b.Chain.THORChain,b.Chain.Maya].includes(y)&&O.split("-").length>2)).map(({denom:O,amount:R})=>{let w=[b.Chain.THORChain,b.Chain.Maya].includes(y)&&(O.includes("/")||O.includes("˜"))?`${y}.${O}`:O;return u1(w,R)}));if(D.length===0)return[b.AssetValue.from({chain:y})];return D},getBalanceAsDenoms:z5(y),getFees:()=>J5(y,L5[y]),getPubKey:Q,getSignerFromPhrase:({phrase:Z,derivationPath:N})=>i1({derivationPath:b.derivationPathToString(N),index:f,phrase:Z,prefix:C}),getSignerFromPrivateKey:async(Z)=>{let N=await import("@cosmjs/proto-signing");return(N.DirectSecp256k1Wallet??N.default?.DirectSecp256k1Wallet).fromKey(Z,C)},signAndBroadcastTransaction:z,signTransaction:Y,transfer:L,validateAddress:M5(y),verifySignature:A5(X)}}async function Y8(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 L8({assetValue:{chain:y}}){return b.AssetValue.from({chain:y,value:z8(y)})}async function J5(y,T){let{chainId:C,baseDecimal:f}=b.getChainConfig(y),H=await r1(C,T);return{average:b.SwapKitNumber.fromBigInt(BigInt(H),f),fast:b.SwapKitNumber.fromBigInt(BigInt(b.applyFeeMultiplier(H,b.FeeOption.Fast,!0)),f),fastest:b.SwapKitNumber.fromBigInt(BigInt(b.applyFeeMultiplier(H,b.FeeOption.Fastest,!0)),f)}}function J8(y,T){return{amount:[{amount:y.getBaseValue("string"),denom:T}],gas:"200000"}}function z8(y){return{[b.Chain.Cosmos]:0.007,[b.Chain.Kujira]:0.02,[b.Chain.Noble]:0.01,[b.Chain.THORChain]:0.02,[b.Chain.Maya]:0.02,[b.Chain.Harbor]:0.02}[y]||0}function M5(y){let T=b.CosmosChainPrefixes[y];return function(f){if(!f.startsWith(T))return!1;try{let{prefix:H,words:U}=_f.bech32.decode(f);return _f.bech32.encode(H,U)===f.toLocaleLowerCase()}catch{return!1}}}function z5(y){return async function(C){let f=await b.getRPCUrl(y);return(await(await yf(f)).getAllBalances(C)).map((X)=>({...X,denom:X.denom.includes("/")?X.denom.toUpperCase():X.denom}))}}function A8(y){return async function(C){let f=await import("@cosmjs/crypto"),H=f.stringToPath??f.default?.stringToPath,U=f.Slip10Curve??f.default?.Slip10Curve,q=f.Slip10??f.default?.Slip10,X=f.EnglishMnemonic??f.default?.EnglishMnemonic,G=f.Bip39??f.default?.Bip39,Q=new X(C),Y=await G.mnemonicToSeed(Q),{privkey:z}=q.derivePath(U.Secp256k1,Y,H(y));return z}}var _f,b,d1,D0,L5;var zT=E(()=>{B0();_f=require("@scure/base"),b=require("@swapkit/helpers"),d1=require("@swapkit/helpers/api"),D0=require("ts-pattern");L5={[b.Chain.Cosmos]:1000,[b.Chain.Kujira]:1000,[b.Chain.Noble]:1000,[b.Chain.THORChain]:5000000,[b.Chain.Maya]:5000000,[b.Chain.Harbor]:5000000}});function M8({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 B8(y){return Zf.base64.encode(y)}function N8(y){return async function({wallet:C,tx:f}){let{msgs:H,accountNumber:U,sequence:q,chainId:X,fee:G,memo:Q}=typeof f==="string"?JSON.parse(f):f,Y=(await C.getAccounts())?.[0]?.address||"",z=await Xf(y),L=await wf(),Z=await K1(C,{aminoTypes:z,registry:L}),N=[];for(let O of H){let R=await Gf(O,y);N.push(R)}let{signatures:[M]}=await Z.sign(Y,N,G,Q,{accountNumber:BigInt(U),chainId:X,sequence:q});return{bodyBytes:await N0({chain:y,memo:Q,msgs:H.map(Qf)}),signature:B8(M)}}}function D8({prefix:y,chain:T}){return async function(f,H,U,q,X){let G=await yy.getRPCUrl(T),{encodeSecp256k1Pubkey:Q,pubkeyToAddress:Y}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:z}=(await import("@cosmjs/stargate")).default,{sequence:L,fee:Z}=JSON.parse(f),N=await B5(U,q),M=H.map((R)=>[Y(Q(Zf.base64.decode(R.pubKey)),y),Zf.base64.decode(R.signature)]),D=await yf(G),{transactionHash:O}=await D.broadcastTx(z(N,L,Z,X,new Map(M)));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(Zf.base64.decode(U))),T,C)}function O8(y){return Zf.base64.decode(y)}async function R8({privateKey:y,message:T}){let{Secp256k1:C}=(await import("@cosmjs/crypto")).default,f=await C.createSignature(Zf.base64.decode(T),y);return Zf.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=lf.match({isMayachain:H,isStagenet:C}).with({isMayachain:!0},({isStagenet:R})=>R?f.MAYA_STAGENET:f.MAYA).otherwise(({isStagenet:R})=>R?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}),Y=ey(y),z;function L(){return z??=lf.match(T).with({phrase:lf.P.string},({phrase:R})=>Q.getSignerFromPhrase({derivationPath:G,phrase:R})).with({signer:lf.P.any},({signer:R})=>Promise.resolve(R)).otherwise(()=>Promise.resolve(void 0)),z}async function Z(){let R=await yy.getRPCUrl(y),w=await L();if(!w)throw new yy.SwapKitError("toolbox_cosmos_no_signer");let J=await wf(),A=await Xf(y),W=await kf(R,w,{aminoTypes:A,registry:J});return{signer:w,signingClient:W}}async function N({fee:R,memo:w,msgs:J}){let{signer:A,signingClient:W}=await Z(),_=(await A.getAccounts())?.[0]?.address;if(!_)throw new yy.SwapKitError("toolbox_cosmos_signer_not_defined");let k=await W.signAndBroadcast(_,J,R,w);if(k.code!==0)throw new yy.SwapKitError("core_swap_transaction_error",{code:k.code,message:k.rawLog});return k.transactionHash}async function M(){let R,w=`${U}/${H?"mayachain":"thorchain"}/constants`;try{let{int_64_values:{NativeTransactionFee:J}}=await yy.RequestClient.get(w);if(!J||Number.isNaN(J)||J<0)throw new yy.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:J.toString()});R=new yy.SwapKitNumber(J)}catch{R=new yy.SwapKitNumber({decimal:yy.getChainConfig(y).baseDecimal,value:H?1:0.02})}return{[yy.FeeOption.Average]:R,[yy.FeeOption.Fast]:R,[yy.FeeOption.Fastest]:R}}async function D({assetValue:R,memo:w="",recipient:J}){let{TxRaw:A}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),{signer:W,signingClient:_}=await Z(),k=(await W.getAccounts())?.[0]?.address;if(!k)throw new yy.SwapKitError("toolbox_cosmos_no_signer");let F="signAmino"in W,$=JT({assetValue:R,memo:w,recipient:J,sender:k});if(F){let B=await Gf($,y),{signatures:I,authInfoBytes:P}=await _.sign(k,[B],Y,w),l=A.encode({authInfoBytes:P,bodyBytes:await N0({chain:y,memo:w,msgs:[$].map(Qf)}),signatures:I}).finish();return(await _.broadcastTx(l)).transactionHash}let x=Qf($),n=await Gf(x,y);return N({fee:Y,memo:w,msgs:[n]})}async function O(R){let{signer:w,signingClient:J}=await Z(),A=(await w.getAccounts())?.[0]?.address;if(!A)throw new yy.SwapKitError("toolbox_cosmos_signer_not_defined");return J.sign(A,R.msgs,R.fee,R.memo,{accountNumber:BigInt(R.accountNumber),chainId:R.chainId,sequence:R.sequence})}return{...Q,broadcastMultisigTx:D8({chain:y,prefix:q}),buildAminoMsg:JT,buildEncodedTxBody:N0,convertToSignable:Gf,createDefaultAminoTypes:()=>Xf(y),createDefaultRegistry:wf,createMultisig:B5,createTransaction:c1,deposit:D,getFees:M,importSignature:O8,parseAminoMessageForDirectSigning:Qf,pubkeyToAddress:async(R)=>{let{pubkeyToAddress:w}=(await import("@cosmjs/amino")).default;return w(R,q)},secp256k1HdWalletFromMnemonic:M8({derivationPath:yy.derivationPathToString(G),prefix:q}),signAndBroadcastTransaction:N,signMultisigTx:N8(y),signTransaction:O,signWithPrivateKey:R8,transfer:D}}var Zf,yy,lf;var s1=E(()=>{g1();B0();zT();Zf=require("@scure/base"),yy=require("@swapkit/helpers"),lf=require("ts-pattern")});var Wf,k8=(y,T)=>{switch(y){case Wf.Chain.Cosmos:case Wf.Chain.Kujira:case Wf.Chain.Noble:return O0({chain:y,...T});case Wf.Chain.Maya:case Wf.Chain.THORChain:return a1({chain:y,...T});default:throw new Wf.SwapKitError("toolbox_cosmos_not_supported",{chain:y})}};var N5=E(()=>{zT();s1();Wf=require("@swapkit/helpers");zT();s1()});var AT={};Dy(AT,{verifySignature:()=>A5,transferMsgAmino:()=>m1,toBase64:()=>q8,parseAminoMessageForDirectSigning:()=>Qf,getSignerFromPrivateKey:()=>W8,getSignerFromPhrase:()=>i1,getMsgSendDenom:()=>qf,getFeeRateFromSwapKit:()=>Y8,getDenomWithChain:()=>M0,getDefaultChainFee:()=>ey,getCosmosToolbox:()=>k8,getCosmosAddressValidator:()=>M5,getAssetFromDenom:()=>u1,fromBase64:()=>X8,fetchFeeRateFromSwapKit:()=>r1,estimateTransactionFee:()=>L8,depositMsgAmino:()=>t1,createTransaction:()=>c1,createThorchainToolbox:()=>a1,createStargateClient:()=>yf,createSigningStargateClient:()=>kf,createOfflineStargateClient:()=>K1,createDefaultRegistry:()=>wf,createDefaultAminoTypes:()=>Xf,createCosmosToolbox:()=>O0,cosmosCreateTransaction:()=>l1,convertToSignable:()=>Gf,buildTransferTx:()=>Q5,buildEncodedTxBody:()=>N0,buildDepositTx:()=>_5,buildAminoMsg:()=>JT,bech32ToBase64:()=>z0,base64ToBech32:()=>A0,YUM_KUJIRA_FACTORY_DENOM:()=>f5,USK_KUJIRA_FACTORY_DENOM:()=>p1,THORCHAIN_GAS_VALUE:()=>_8,MAYA_GAS_VALUE:()=>Z8,DEFAULT_NOBLE_FEE_MAINNET:()=>C5,DEFAULT_KUJI_FEE_MAINNET:()=>H5,DEFAULT_COSMOS_FEE_MAINNET:()=>T5});module.exports=ky(AT);var MT=E(()=>{g1();N5();B0()});function w8({builder:y,grouping:T="na",orders:C}){return{builder:y,grouping:T,orders:C,type:"order"}}function $8({cancels:y}){return{cancels:y,type:"cancel"}}function F8({cancels:y}){return{cancels:y,type:"cancelByCloid"}}function x8({oid:y,order:T}){return{oid:y,order:T,type:"modify"}}function I8({modifies:y}){return{modifies:y,type:"batchModify"}}function S8({asset:y,isCross:T,leverage:C}){return{asset:y,isCross:T,leverage:C,type:"updateLeverage"}}function n8({asset:y,isBuy:T,ntli:C}){return{asset:y,isBuy:T,ntli:C,type:"updateIsolatedMargin"}}function P8({asset:y,leverage:T}){return{asset:y,leverage:T,type:"topUpIsolatedOnlyMargin"}}function o8({time:y}){return{time:y,type:"scheduleCancel"}}function V8({amount:y,hyperliquidChain:T,nonce:C,signatureChainId:f,toPerp:H}){return{amount:y,hyperliquidChain:T,nonce:C,signatureChainId:f,toPerp:H,type:"usdClassTransfer"}}function E8({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 v8({agentAddress:y,agentName:T,hyperliquidChain:C,nonce:f,signatureChainId:H}){return{agentAddress:y,agentName:T,hyperliquidChain:C,nonce:f,signatureChainId:H,type:"approveAgent"}}function b8({builder:y,hyperliquidChain:T,maxFeeRate:C,nonce:f,signatureChainId:H}){return{builder:y,hyperliquidChain:T,maxFeeRate:C,nonce:f,signatureChainId:H,type:"approveBuilderFee"}}function j8({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 m8(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=h8.encode(y);if(T.length<32)return ny(new Uint8Array([160+T.length]),T);return ny(m8(217,0,T.length),T)}function t8(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 c8(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 t8(y);if(typeof y==="object")return c8(y);throw new BT.SwapKitError("helpers_invalid_params",{message:`Unsupported Hyperliquid msgpack value: ${String(y)}`})}function g8(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:p8,message:{connectionId:y,source:"a"},primaryType:"Agent",types:{Agent:[...K8.Agent]}}}function $5(y){let T=u8[y.type],C=l8[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]),g8(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",p8,K8,R5="Mainnet",l8,u8,h8;var S5=E(()=>{BT=require("@swapkit/helpers"),NT=require("ethers"),p8={chainId:1337,name:"Exchange",verifyingContract:O5,version:"1"},K8={Agent:[{name:"source",type:"string"},{name:"connectionId",type:"bytes32"}]},l8={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"}]},u8={approveAgent:"HyperliquidTransaction:ApproveAgent",approveBuilderFee:"HyperliquidTransaction:ApproveBuilderFee",sendAsset:"HyperliquidTransaction:SendAsset",tokenDelegate:"HyperliquidTransaction:TokenDelegate",usdClassTransfer:"HyperliquidTransaction:UsdClassTransfer"},h8=new TextEncoder});function py(y,T){if(!TH(y))throw new Hy.SwapKitError(T,{address:y});return y.toLowerCase()}async function $f(y){let T=await DT();return Hy.RequestClient.post(`${T}/info`,{json:y})}function yq({dex:y,user:T}){return $f({...y?{dex:y}:{},type:"clearinghouseState",user:py(T,"helpers_invalid_params")})}function fq({user:y}){return $f({type:"spotClearinghouseState",user:py(y,"helpers_invalid_params")})}function Tq({dex:y,user:T}){return $f({...y?{dex:y}:{},type:"openOrders",user:py(T,"helpers_invalid_params")})}function Hq({dex:y,user:T}){return $f({...y?{dex:y}:{},type:"frontendOpenOrders",user:py(T,"helpers_invalid_params")})}function Cq({oidOrCloid:y,user:T}){return $f({oid:y,type:"orderStatus",user:py(T,"helpers_invalid_params")})}function Uq({aggregateByTime:y,user:T}){return $f({...typeof y==="boolean"?{aggregateByTime:y}:{},type:"userFills",user:py(T,"helpers_invalid_params")})}function qq({aggregateByTime:y,endTime:T,startTime:C,user:f}){return $f({...typeof y==="boolean"?{aggregateByTime:y}:{},...typeof T==="number"?{endTime:T}:{},startTime:C,type:"userFillsByTime",user:py(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=i8[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 Xq(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 Gq(y){let T=e8[y.type],{type:C,...f}=y,H=s8[C];return{domain:{chainId:Number.parseInt(y.signatureChainId,16),name:"HyperliquidSignTransaction",verifyingContract:a8,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?py(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=py(T,"core_transaction_invalid_recipient_address"),q=py(C,"core_transaction_invalid_sender_address"),X=await fH(),G=y.getValue("string"),Q=H||Date.now(),Y=y.address;if(!Y)throw new Hy.SwapKitError("helpers_invalid_params",{asset:y.toString(),from:q});let z={amount:G,destination:U,hyperliquidChain:d8,signatureChainId:f||r8,time:Q,token:Y,type:"spotSend"};return{action:z,endpoint:X,nonce:Q,typedData:Gq(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 Qq(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 _q(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=uf.match(y).with({phrase:uf.P.string},({phrase:L})=>{return o5.HDNodeWallet.fromPhrase(L,void 0,f)}).with({signer:uf.P.not(uf.P.nullish)},({signer:L})=>L).otherwise(()=>{return}),U=!0,H}async function X(){let L=q();return L?await L.getAddress():""}async function G(L){let Z=q();if(!Z)throw new Hy.SwapKitError("toolbox_hypercore_no_signer");let N=await Z.signTypedData(L.typedData.domain,L.typedData.types,L.typedData.message);return{action:L.action,endpoint:L.endpoint,nonce:L.nonce,signature:F5(N),..."expiresAfter"in L?{expiresAfter:L.expiresAfter}:{},..."vaultAddress"in L?{vaultAddress:L.vaultAddress}:{}}}async function Q(L){let Z=py(L,"helpers_invalid_params");try{let N=await DT(),[M,D,O]=await Promise.all([Hy.RequestClient.post(`${N}/info`,{json:{type:"spotClearinghouseState",user:Z}}),Hy.RequestClient.post(`${N}/info`,{json:{type:"clearinghouseState",user:Z}}),Hy.RequestClient.post(`${N}/info`,{json:{type:"spotMeta"}})]),R=(M.spotState?.balances||M.balances||[]).map(({coin:J,token:A,total:W})=>n5({coin:J,spotMeta:O,token:A,value:W})).filter((J)=>!!J),w=n5({coin:"USDC",spotMeta:O,value:D.withdrawable||D.marginSummary?.accountValue||D.marginSummary?.totalRawUsd});return Xq(w?[...R,w]:R)}catch{return T(Z)}}async function Y(L){let Z=q();if(!Z)throw new Hy.SwapKitError("toolbox_hypercore_no_signer");let N=L.sender||await Z.getAddress(),M=await yH({...L,feeRate:0,sender:N}),D=await G(M);return await P5(D),Qq(N,M.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:yq,frontendOpenOrders:Hq,openOrders:Tq,orderStatus:Cq,spotClearinghouse:fq,userFills:Uq,userFillsByTime:qq},signTransaction:G,transfer:Y,validateAddress:TH}}var Hy,o5,uf,dy,V5,i8,d8="Mainnet",r8="0xa4b1",a8="0x0000000000000000000000000000000000000000",s8,e8;var b5=E(()=>{o1();sy();S5();Hy=require("@swapkit/helpers"),o5=require("ethers"),uf=require("ts-pattern"),dy=Hy.Chain.Hype,{baseDecimal:V5}=Hy.getChainConfig(dy),i8={HYPE:V5,USDC:6,USDT:6},s8={spotSend:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"time",type:"uint64"}]},e8={spotSend:"HyperliquidTransaction:SpotSend"}});var HH={};Dy(HH,{validateHyperCoreAddress:()=>TH,getHyperCoreToolbox:()=>_q,createUserSignedActionRequest:()=>v5,createTransaction:()=>yH,createL1ActionRequest:()=>E5,buildUsdClassTransferAction:()=>V8,buildUpdateLeverageAction:()=>S8,buildUpdateIsolatedMarginAction:()=>n8,buildTopUpIsolatedOnlyMarginAction:()=>P8,buildTokenDelegateAction:()=>j8,buildSendAssetAction:()=>E8,buildScheduleCancelAction:()=>o8,buildOrderAction:()=>w8,buildModifyAction:()=>x8,buildCancelByCloidAction:()=>F8,buildCancelAction:()=>$8,buildBatchModifyAction:()=>I8,buildApproveBuilderFeeAction:()=>b8,buildApproveAgentAction:()=>v8});module.exports=ky(HH);var CH=E(()=>{b5()});async function K5(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 Zq(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 Y=Q.data.parsed.info,z=Y.mint,L=Y.tokenAmount.amount;if(Number(L)===0)continue;let Z=await K5(z),N=Z?.symbol||"UNKNOWN",M=Z?.decimals||Y.tokenAmount.decimals;X.push(s.AssetValue.from({asset:`${s.Chain.Solana}.${N}-${z}`,fromBaseDecimal:M,value:L}))}return X}function qH(y){try{let T=new Tf.PublicKey(y);return Tf.PublicKey.isOnCurve(T.toBytes())}catch{return!1}}function Wq(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?p5(q.publicKey):""}return{broadcastTransaction:OT(ff),createKeysForPath:UH,createTransaction:XH(ff),createTransactionFromInstructions:zq,estimateTransactionFee:Yq(ff),getAddress:U,getAddressFromPubKey:p5,getBalance:Sy(s.Chain.Solana),getBalanceFromRPC:Zq,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:Aq(ff,H),validateAddress:qH}}function Yq(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:Y}=s.getChainConfig(s.Chain.Solana);return s.AssetValue.from({chain:s.Chain.Solana,fromBaseDecimal:Y,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 Lq(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 Jq({amount:T.getBaseValue("number"),connection:U,decimals:T.decimal,from:q,isProgramDerivedAddress:H,recipient:C,tokenAddress:T.address});return}}async function Jq({tokenAddress:y,recipient:T,from:C,connection:f,amount:H,decimals:U,isProgramDerivedAddress:q}){let{getAssociatedTokenAddress:X,getAccount:G,createAssociatedTokenAccountInstruction:Q,createTransferCheckedInstruction:Y}=await import("@solana/spl-token"),{Transaction:z}=await import("@solana/web3.js"),L=new z,Z=new Tf.PublicKey(y),N=await X(Z,C),M=new Tf.PublicKey(T),D=await X(Z,M,q),O=!1;try{await G(f,D),O=!0}catch{}if(!O)L.add(Q(C,D,M,Z));return L.add(Y(N,Z,D,C,H,U)),L}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 Lq(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 Y=await G.getLatestBlockhash();return Q.recentBlockhash=Y.blockhash,Q.feePayer=X,Q}}async function zq({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 Aq(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 p5(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:()=>Wq,fetchTokenMetaData:()=>K5,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),Y=C.fromMasterSeed(G).derive(T);if(!Y.privateKey)throw new i.SwapKitError("toolbox_starknet_no_signer");let z=q.addHexPrefix(Buffer.from(Y.privateKey).toString("hex")),L=H.starkCurve.grindKey(z),Z=q.addHexPrefix(L),N=H.starkCurve.getStarkKey(Z),M=X.compile([N,0]);return{address:U.calculateContractAddressFromHash(N,ZH,M,0),privateKey:Z,publicKey:N}}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:A}=await import("starknet"),W=await i.getRPCUrl(T);return U=new A({nodeUrl:W}),U}async function G(A){let W=await X(),_=A||await L();if(!_)return!1;try{return await W.getClassHashAt(_),!0}catch(k){if(k instanceof Error&&k.message.includes("Contract not found"))return!1;let F=k;if(F?.code===20||F?.code===19)return!1;throw k}}async function Q(){let{CallData:A,hash:W}=await import("starknet"),_=await X(),k=await z();if(!k)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 k.address;let $=A.compile([q,0]);if(W.calculateContractAddressFromHash(q,ZH,$,0).toLowerCase()!==k.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:B}=await k.deployAccount(n);return await _.waitForTransaction(B),B}async function Y(){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 Ky.match(y).with({phrase:Ky.P.string},async({phrase:A})=>{let{Account:W,RpcProvider:_}=await import("starknet"),{privateKey:k,address:F,publicKey:$}=await kT({derivationPath:f,phrase:A});q=$;let x=await i.getRPCUrl(i.Chain.Starknet),n=new _({nodeUrl:x});return new W({address:F,provider:n,signer:k})}).with({address:Ky.P.string,privateKey:Ky.P.string},async({privateKey:A,address:W})=>{let{Account:_}=await import("starknet"),k=await X();return new _({address:W,provider:k,signer:A})}).with({signer:Ky.P.instanceOf(Object)},({signer:A})=>A).otherwise(()=>{return}),H}async function L(){return(await z())?.address??""}async function Z(A){let W=await X(),{uint256:_,CallData:k}=await import("starknet"),F=[],$=[_H,u5];for(let x of $)try{let[n="0",B="0"]=await W.callContract({calldata:k.compile({account:A}),contractAddress:x,entrypoint:"balanceOf"}),I=_.uint256ToBN({high:n,low:B});Ky.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 N({recipient:A,assetValue:W}){let{CallData:_,uint256:k}=await import("starknet");if(!RT(A))throw new i.SwapKitError("core_transaction_invalid_recipient_address",{address:A});let F=W.isGasAsset?_H:W.address;if(!F)throw new i.SwapKitError("toolbox_starknet_invalid_address",{address:F,assetValue:W});let $=k.bnToUint256(W.getBaseValue("bigint"));return[{calldata:_.compile([A,$]),contractAddress:F,entrypoint:"transfer"}]}async function M({recipient:A,assetValue:W,sender:_}){let{baseDecimal:k}=i.getChainConfig(i.Chain.Starknet),F=await z(),$=await Ky.match({sender:_,signer:F}).with({sender:Ky.P.string},async({sender:x})=>{let{Account:n}=await import("starknet"),B=await X();return new n({address:x,provider:B,signer:"0x0"})}).with({signer:Ky.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 N({assetValue:W,recipient:A}),n=await $.estimateInvokeFee(x);if(n?.overall_fee)return i.AssetValue.from({chain:T,fromBaseDecimal:k,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 D({recipient:A,assetValue:W,memo:_}){let k=await z();if(!k)throw new i.SwapKitError("toolbox_starknet_no_signer");await Y();let F=await N({assetValue:W,memo:_,recipient:A});return(await k.execute(F)).transaction_hash}async function O(A){let W=await z();if(!W)throw new i.SwapKitError("toolbox_starknet_no_signer");let _=await W.signMessage(A);return Array.isArray(_)?_:[_.r.toString(),_.s.toString()]}async function R(A){let W=await z();if(!W)throw new i.SwapKitError("toolbox_starknet_no_signer");return await Y(),(await W.execute(A)).transaction_hash}function w(A){return R(A)}function J(A,W=!0){try{return Sy(T)(A,W)}catch{return Z(A)}}return{broadcastTransaction:R,createKeysForPath:WH,createTransaction:N,deployAccount:Q,estimateTransactionFee:M,getAddress:L,getBalance:J,getProvider:X,isAccountDeployed:G,signAndBroadcastTransaction:w,signMessage:O,transfer:D,validateAddress:RT}}var i,Ky,_H="0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",u5="0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",ZH="0x01a736d6ed154502257f02b1ccdf4d9d1089f80811cd6acad48e6b6a9d1f2003";var m5=E(()=>{sy();i=require("@swapkit/helpers"),Ky=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,Y)=>Q+BigInt(Y.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 Bq(y,T,C){let f=T.reduce((Q,Y)=>Q+BigInt(Y.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,Y)=>{if(Q.total>=C)return Q;return{selectedCoins:[...Q.selectedCoins,Y],total:Q.total+BigInt(Y.balance)}},{selectedCoins:[],total:0n}),U=H[0],q=y.objectRef(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 g5.isValidSuiAddress(y)}catch{return!1}}function c5(y){return"signWithIntent"in y}function Nq({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:M})=>{let{Ed25519Keypair:D}=await import("@mysten/sui/keypairs/ed25519");return D.deriveKeypair(M)}).with({signer:k0.P.any},({signer:M})=>M).otherwise(()=>{return}),C}async function H(M=y){let{SuiJsonRpcClient:D}=await import("@mysten/sui/jsonRpc");return new D({network:"mainnet",url:M||Ty.getRPCUrlSync(Ty.Chain.Sui)})}async function U(M){return BigInt(await M.getReferenceGasPrice())}async function q(){return(await f())?.toSuiAddress()||""}function X(M){try{let D=Ty.AssetValue.from({address:M,chain:Ty.Chain.Sui});return{asset:D.toString(),decimals:D.decimal}}catch{}return null}async function G(M){let D=M||await q();if(!D)throw new Ty.SwapKitError("toolbox_sui_address_required");let{baseDecimal:O,chain:R}=Ty.getChainConfig(Ty.Chain.Sui);try{let J=await(await H()).getAllBalances({owner:D}),A=J.find(({coinType:_})=>_===FT)?.totalBalance||"0",W=[Ty.AssetValue.from({chain:R,fromBaseDecimal:O,value:A})];for(let{coinType:_,totalBalance:k}of J){if(_===FT||Number(k)<=0)continue;let F=X(_);if(F)W.push(Ty.AssetValue.from({asset:F.asset,fromBaseDecimal:F.decimals,value:k}))}return W}catch{return[Ty.AssetValue.from({chain:R})]}}async function Q(M){let D=Ty.AssetValue.from({chain:Ty.Chain.Sui,value:"0.01"});if(!M)return D;try{let O=await H(),{txBytes:R}=await Y(M),{effects:{status:w,gasUsed:J}}=await O.dryRunTransactionBlock({transactionBlock:R});if(w.status!=="success")return D;let{baseDecimal:A}=Ty.getChainConfig(Ty.Chain.Sui),W=BigInt(J.computationCost)+BigInt(J.storageCost)-BigInt(J.storageRebate);return Ty.AssetValue.from({chain:Ty.Chain.Sui,fromBaseDecimal:A,value:W.toString()})}catch{return D}}async function Y({recipient:M,assetValue:D,gasBudget:O,sender:R}){let{Transaction:w}=await import("@mysten/sui/transactions"),J=R||await q(),A=O||Mq;if(!J)throw new Ty.SwapKitError("toolbox_sui_no_sender");try{let W=await H(),_=new w;if(_.setSender(J),D.isGasAsset||D.symbol==="SUI"){let F=D.getBaseValue("bigint"),[$,x]=await Promise.all([U(W),xT(W,J,FT,F+BigInt(A))]);t5(x,F+BigInt(A)),_.setGasPrice($),_.setGasPayment(x.map(IT));let[n]=_.splitCoins(_.gas,[D.getBaseValue("string")]);_.transferObjects([n],M)}else{let F=D.address;if(!F)throw new Ty.SwapKitError("toolbox_sui_missing_coin_type");let $=D.getBaseValue("bigint"),[x,n,B]=await Promise.all([U(W),xT(W,J,FT,BigInt(A)),xT(W,J,F,$)]);if(!B.length)throw new Ty.SwapKitError("toolbox_sui_no_coins_found",{coinType:F});t5(n,BigInt(A)),_.setGasPrice(x),_.setGasPayment(n.map(IT));let I=Bq(_,B,$);_.transferObjects([I],M)}_.setGasBudget(A);let k=await _.build({client:W});return{tx:_,txBytes:k}}catch(W){if(W instanceof Ty.SwapKitError)throw W;throw new Ty.SwapKitError("toolbox_sui_transaction_creation_error",{error:W})}}async function z(M){let D=await f();if(!D)throw new Ty.SwapKitError("toolbox_sui_no_signer");if(M instanceof Uint8Array)return D.signTransaction(M);let{txBytes:O}="tx"in M?M:await Y(M);return D.signTransaction(O)}async function L({assetValue:M,gasBudget:D,recipient:O}){let R=await f();if(!R)throw new Ty.SwapKitError("toolbox_sui_no_signer");let w=R.toSuiAddress()||await q();if(!w)throw new Ty.SwapKitError("toolbox_sui_no_sender");let{txBytes:J}=await Y({assetValue:M,gasBudget:D,recipient:O,sender:w}),A=await H();if(!c5(R)){let _=await R.signTransaction(J),{digest:k}=await A.executeTransactionBlock({signature:_.signature,transactionBlock:_.bytes});return k}let{digest:W}=await A.signAndExecuteTransaction({signer:R,transaction:J});return W}async function Z(M){let D=await H(),{digest:O}=await D.executeTransactionBlock({signature:M.signature,transactionBlock:M.bytes});return O}async function N(M){let D=await f();if(!D)throw new Ty.SwapKitError("toolbox_sui_no_signer");let O=await H(),R;if(typeof M==="string")R=Uint8Array.from(Buffer.from(M,"base64"));else if(M instanceof Uint8Array)R=M;else R=await M.build({client:O});if(!c5(D)){let J=await D.signTransaction(R),{digest:A}=await O.executeTransactionBlock({signature:J.signature,transactionBlock:J.bytes});return A}let{digest:w}=await O.signAndExecuteTransaction({signer:D,transaction:R});return w}return{broadcastTransaction:Z,createTransaction:Y,estimateTransactionFee:Q,getAddress:q,getBalance:G,signAndBroadcastTransaction:N,signTransaction:z,transfer:L,validateAddress:i5}}var g5,Ty,k0,FT="0x2::sui::SUI",Mq=50000000;var d5=E(()=>{g5=require("@mysten/sui/utils"),Ty=require("@swapkit/helpers"),k0=require("ts-pattern")});var ST={};Dy(ST,{validateSuiAddress:()=>i5,getSuiToolbox:()=>Nq});module.exports=ky(ST);var nT=E(()=>{d5()});async function $q(){let y=Date.now();if(PT&&y-a5<wq)return PT;let{getHttpEndpoint:T}=await import("@orbs-network/ton-access");return PT=await T(),a5=y,PT}async function Fq(){let[y]=zy.SKConfig.get("rpcUrls")[zy.Chain.Ton]??[];if(y)return y;return await $q()}function xq(y={}){let T,C,f;async function H(){if(!T){let{TonClient:J}=await import("@ton/ton"),A=y.provider??await Fq();T=new J({endpoint:A})}return T}async function U(){return(await X()).address.toString()}async function q(){if(f)return f;return f=await Ff.match(y).with({phrase:Ff.P.string},async({phrase:J})=>{let{mnemonicToWalletKey:A}=await import("@ton/crypto");return A(J.split(" "))}).with({signer:Ff.P.any},({signer:J})=>J).otherwise(()=>{return}),f}async function X(J){if(!C||J){let A=await q(),W=await H(),_=J||A;if(!_)throw new zy.SwapKitError("core_wallet_connection_not_found");let{WalletContractV4:k}=await import("@ton/ton"),F=k.create({publicKey:_.publicKey,workchain:0});C=W.open(F)}return C}let G=Sy(zy.Chain.Ton);async function Q({assetValue:J,recipient:A,memo:W,sender:_,sweep:k}){if(J.isGasAsset){let v=W?w(W).toBoc().toString("base64"):void 0,t=k?kq:void 0;return[{address:A,amount:J.getBaseValue("string"),payload:v,sendMode:t}]}if(k)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 F=J.address;if(!F)throw new zy.SwapKitError({errorKey:"core_swap_contract_not_found",info:{asset:J.toString()}});let $=_??await U(),x=await O({jettonMasterAddress:F,ownerAddress:$}),n=fy.Address.parse(A),B=fy.Address.parse($),I=J.getBaseValue("bigint"),P=W?w(W):void 0,l=R({destinationAddress:n,forwardPayload:P,jettonAmount:I,responseAddress:B});return[{address:x.toString(),amount:Rq.toString(),payload:l.toBoc().toString("base64")}]}function Y({sender:J,...A}){return Q({...A,sender:J})}function z(J){return J.map((A)=>{let W=A.payload?fy.Cell.fromBase64(A.payload):void 0,_=A.stateInit?fy.loadStateInit(fy.Cell.fromBase64(A.stateInit).asSlice()):void 0,k=fy.Address.parse(A.address),F=fy.Address.isFriendly(A.address)?fy.Address.parseFriendly(A.address).isBounceable:!0;return fy.internal({body:W,bounce:F,init:_,to:k,value:BigInt(A.amount)})})}async function L(J){let A=await q(),W=await X();if(!W||!A)throw new zy.SwapKitError("core_wallet_connection_not_found");let _=await H(),{state:k}=await _.getContractState(W.address),F=k==="active",$=F?await W.getSeqno():0,x=W.createTransfer({messages:z(J),secretKey:A.secretKey,sendMode:J[0]?.sendMode??r5,seqno:$}),n=fy.external({body:x,init:F?void 0:W.init,to:W.address});return fy.beginCell().store(fy.storeMessage(n)).endCell()}async function Z(J){return await(await H()).sendFile(J.toBoc()),J.hash().toString("hex")}async function N(J){let A=await L(J);return Z(A)}async function M({assetValue:J,recipient:A,memo:W,sweep:_}){let k=await Y({assetValue:J,memo:W,recipient:A,sweep:_});return N(k)}async function D({sender:J,...A}){let{baseDecimal:W}=zy.getChainConfig(zy.Chain.Ton),_=await Ff.match(J).with(Ff.P.string,($)=>{return fy.Address.parseFriendly($).address}).otherwise(async()=>{return(await X()).address});if(!_)throw new zy.SwapKitError("toolbox_fee_estimation_failed",{chain:zy.Chain.Ton});let k=zy.AssetValue.from({chain:zy.Chain.Ton,value:"0.01"}),F=await H();try{let $=await Y({sender:J,...A}),x=await q(),n=await X();if(!n||!x)return k;let B=await n.getSeqno(),I=n.createTransfer({messages:z($),secretKey:x.secretKey,sendMode:$[0]?.sendMode??r5,seqno:B}),{source_fees:P}=await F.estimateExternalMessageFee(_,{body:I,ignoreSignature:!0,initCode:null,initData:null}),l=P.in_fwd_fee+P.storage_fee+P.gas_fee+P.fwd_fee;return k.set(zy.SwapKitNumber.fromBigInt(BigInt(l),W))}catch{return k}}async function O({jettonMasterAddress:J,ownerAddress:A}){try{let W=await H(),_=fy.Address.parse(J),k=fy.Address.parse(A),{JettonMaster:F}=await import("@ton/ton");return await W.open(F.create(_)).getWalletAddress(k)}catch{throw new zy.SwapKitError({errorKey:"core_swap_contract_not_found",info:{jettonMasterAddress:J,ownerAddress:A}})}}function R({jettonAmount:J,destinationAddress:A,responseAddress:W,forwardAmount:_=Oq,forwardPayload:k}){let F=fy.beginCell().storeUint(Dq,32).storeUint(0,64).storeCoins(J).storeAddress(A).storeAddress(W).storeBit(0).storeCoins(_);if(k)F.storeBit(1).storeRef(k);else F.storeBit(0);return F.endCell()}function w(J){return fy.beginCell().storeUint(0,32).storeStringTail(J).endCell()}return{broadcastTransaction:Z,createTransaction:Y,estimateTransactionFee:D,getAddress:U,getBalance:G,getJettonWalletAddress:O,sign:L,signAndBroadcastTransaction:N,transfer:M,validateAddress:s5}}function s5(y){try{return fy.Address.parse(y),!0}catch{return!1}}var zy,fy,Ff,Dq=260734629,Oq,Rq,r5,kq,wq=60000,PT,a5=0;var e5=E(()=>{sy();zy=require("@swapkit/helpers"),fy=require("@ton/core"),Ff=require("ts-pattern"),Oq=fy.toNano("0.01"),Rq=fy.toNano("0.05"),r5=fy.SendMode.PAY_GAS_SEPARATELY+fy.SendMode.IGNORE_ERRORS,kq=fy.SendMode.CARRY_ALL_REMAINING_BALANCE+fy.SendMode.IGNORE_ERRORS});var oT={};Dy(oT,{validateTonAddress:()=>s5,getTONToolbox:()=>xq});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 Lf({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 hf({accountIndex:y,change:T=!1,chain:C,derivationPath:f,index:H}){return ly("index",H),[...Lf({accountIndex:y,chain:C,derivationPath:f}),Number(T),H]}function xf(y){return y[2]??0}function f2({deriveAddress:y,getBalance:T,getUtxos:C}){async function f(X){let{accountIndex:G,count:Q,startIndex:Y=0,change:z=!1}=X;if(ly("count",Q),Q<1)throw RangeError("count must be at least 1");ly("startIndex",Y);let L=[];for(let Z=0;Z<Q;Z++){let N=await y({accountIndex:G,change:z,index:Y+Z});if(N)L.push(N)}return L}async function H(X){let{gapLimit:G=20,change:Q=!1}=X??{},Y=[],z=0,L=0;while(z<G){let Z=await y({change:Q,index:L});if(!Z)break;if((await T(Z.address)).some((D)=>D.getValue("number")>0))Y.push(Z),z=0;else z++;L++}return Y}async function U(X=20){let[G,Q]=await Promise.all([H({change:!1,gapLimit:X}),H({change:!0,gapLimit:X})]),Y=[...G,...Q],z=await Promise.all(Y.map(async(Z)=>{let M=(await T(Z.address)).reduce((D,O)=>D+O.getValue("number"),0);return{...Z,balance:M}})),L=z.reduce((Z,N)=>Z+N.balance,0);return{addresses:z,total:L}}async function q(X=20){let[G,Q]=await Promise.all([H({change:!1,gapLimit:X}),H({change:!0,gapLimit:X})]),Y=[...G,...Q];return(await Promise.all(Y.map(async(L)=>{return(await C(L.address)).map((N)=>({...N,address:L.address,derivationIndex:L.index,isChange:L.change}))}))).flat()}return{deriveAddresses:f,getAggregatedBalance:U,getAggregatedUtxos:q,scanForAddresses:H}}var y2;var w0=E(()=>{y2=require("@swapkit/helpers")});async function Iq({chain:y,txHash:T}){let C=`${$0(y)}/push/transaction`,f=JSON.stringify({data:T});try{let H=await c.RequestClient.post(C,{body:f,headers:{"Content-Type":"application/json"}});if(H.context.code!==200)throw new c.SwapKitError("toolbox_utxo_broadcast_failed",{error:H.context.error||"Transaction broadcast failed"});return H.data?.transaction_hash||T}catch(H){let U=await c.getRPCUrl(y);if(U){let q=JSON.stringify({id:MC(),jsonrpc:"2.0",method:"sendrawtransaction",params:[T]}),X=await c.RequestClient.post(U,{body:q,headers:{"Content-Type":"application/json"}});if(X.error)throw new c.SwapKitError("toolbox_utxo_broadcast_failed",{error:X.error?.message});if(X.result.includes('"code":-26'))throw new c.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return X.result}throw H}}function $0(y){return`https://api.blockchair.com/${Sq(y)}`}function T2(y){switch(y){case c.Chain.Bitcoin:return 5;case c.Chain.Dogecoin:return 1e4;case c.Chain.Litecoin:return 1;case c.Chain.Zcash:return 1;default:return 2}}function Sq(y){switch(y){case c.Chain.BitcoinCash:return"bitcoin-cash";case c.Chain.Litecoin:return"litecoin";case c.Chain.Dash:return"dash";case c.Chain.Dogecoin:return"dogecoin";case c.Chain.Zcash:return"zcash";case c.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function nq(y){try{let{feePerKb:T}=await c.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 c.RequestClient.get(`${y}${T?`${y.includes("?")?"&":"?"}key=${T}`:""}`);if(!C||C.context.code!==200)throw new c.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 c.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 Pq({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 c.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 c.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});let H=(await ET(`${$0(y)}/dashboards/transaction/${C}`,T))?.[C];if(!H)throw new c.SwapKitError("toolbox_utxo_tx_not_found",{txHash:C});let{transaction:U,inputs:q,outputs:X}=H,G=q.map((Y)=>Y.spending_sequence),Q=U.is_rbf===!0||G.some((Y)=>Y<oq);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 Eq({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:Y,transaction_hash:z,index:L,value:Z,spending_signature_hex:N})=>({hash:z,index:L,is_confirmed:Y!==-1,is_spent:G,script_hex:Q,txHex:N,value:Z}))}function vq(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 c.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let X=await Eq({address:T,apiKey:C,chain:y,limit:q,offset:U,targetValue:f}),Q=X.length<q,Y=X.filter(({is_spent:D})=>!D),z=vq(Y),L=H+z,Z=f&&L>=f;if(Q||Z)return H2(Y,f);let N=await q2({accumulativeValue:L,address:T,apiKey:C,chain:y,limit:q,offset:U+q,targetValue:f}),M=[...Y,...N];return H2(M,f)}catch(X){let G=X instanceof Error?X.message:String(X);return console.error(`Failed to fetch unspent UTXOs: ${G}`),[]}}async function bq({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:Y}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:Y,witnessUtxo:{script:Buffer.from(Q,"hex"),value:Y}})}return q}function Ry(y){let T=c.SKConfig.get("apiKeys").blockchair||"";return c.warnOnce({condition:!T,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(C)=>Iq({chain:y,txHash:C}),getAddressData:(C)=>C2({address:C,apiKey:T,chain:y}),getBalance:(C)=>Pq({address:C,apiKey:T,chain:y}),getRawTx:(C)=>U2({apiKey:T,chain:y,txHash:C}),getSuggestedTxFee:()=>nq(y),getTransactionDetails:(C)=>Vq({apiKey:T,chain:y,txHash:C}),getUtxos:(C)=>bq({...C,apiKey:T,chain:y})}}function jq(y){return y}function pq(){return function(T){switch(T){case c.Chain.Bitcoin:return If.NETWORKS.bitcoin;case c.Chain.BitcoinCash:return If.NETWORKS.bitcoinCash;case c.Chain.Dash:return If.NETWORKS.dash;case c.Chain.Litecoin:return If.NETWORKS.litecoin;case c.Chain.Dogecoin:return If.NETWORKS.dogecoin;case c.Chain.Zcash:return If.NETWORKS.zcash;default:throw new c.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}}var c,If,oq=4294967294;var X2=E(()=>{sy();c=require("@swapkit/helpers"),If=require("@swapkit/utxo-signer")});function uq(y,T,C){return Hf.encodeCashAddr({hash:C,prefix:y,type:Kq[T]})}function hq(y){let T=Hf.decodeCashAddr(y),C=lq[T.type];if(!C)throw Error(`Unknown CashAddr type: ${T.type}`);return{hash:T.hash,prefix:T.prefix,type:C}}var Hf,Kq,lq,YH;var G2=E(()=>{Hf=require("@swapkit/utxo-signer"),Kq={P2PKH:Hf.CashAddrType.P2PKH,P2SH:Hf.CashAddrType.P2SH},lq={[Hf.CashAddrType.P2PKH]:"P2PKH",[Hf.CashAddrType.P2SH]:"P2SH"};YH={decode:hq,encode:uq}});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 cq(T)}function F0(y){let T=vT(y);return gq(T)}function vT(y){try{let T=mq(y);if(T)return T}catch{}try{let T=tq(y);if(T)return T}catch{}throw new LH.SwapKitError("toolbox_utxo_invalid_address",{address:y})}function mq(y){try{let T=W2.decode(y);if(T.length!==21)throw new LH.SwapKitError("toolbox_utxo_invalid_address",{address:y});let C=T[0],f=Array.prototype.slice.call(T,1);switch(C){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 tq(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}=YH.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 cq(y){let T=Sf.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 gq(y){let T=y.network==="mainnet"?"bitcoincash":"bchtest",C=y.type==="p2pkh"?"P2PKH":"P2SH",f=new Uint8Array(y.hash);return YH.encode(T,C,f)}var _2,Z2,LH,W2,JH,Sf;var Y2=E(()=>{G2();_2=require("@noble/hashes/sha2.js"),Z2=require("@scure/base"),LH=require("@swapkit/helpers"),W2=Z2.createBase58check(_2.sha256);((C)=>{C.Mainnet="mainnet";C.Testnet="testnet"})(JH||={});Sf={["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 L2,J2,iq=1000,jT=10,pT=2,z2=10,dq=41,rq=107,KT,bT,x0,mf=(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 L2.SwapKitError("toolbox_utxo_invalid_address",{address:y})},nf=({inputs:y,outputs:T,feeRate:C})=>{let f=y[0]&&"address"in y[0]&&y[0].address?mf(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,Y)=>Q+Jf(Y),0),q=T?.reduce((Q,Y)=>Q+I0(Y),0)||x0[f],X=jT+U+q;return f==="P2WPKH"?Math.ceil(X+pT/4):X},Jf=(y)=>{if("type"in y&&y.type)return bT[y.type];if("address"in y&&y.address)return bT[mf(y.address)];return dq+rq},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[mf(y.address)];return x0.P2PKH};var MH=E(()=>{L2=require("@swapkit/helpers"),J2=require("@swapkit/utxo-signer");((C)=>{C.P2PKH="P2PKH";C.P2WPKH="P2WPKH"})(KT||={});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?mf(y[0].address):"P2PKH",q=y.filter((N)=>Jf(N)*C<=N.value),G=U==="P2WPKH"?Math.ceil(pT/4):0,Q=jT+G+T.reduce((N,M)=>N+I0(M),0),Y=T.reduce((N,M)=>N+M.value,0),z=Q*C,L=0,Z=[];for(let N of q){let M=Jf(N),D=C*M;z+=D,L+=N.value,Z.push(N);let O=z+Y;if(L<O)continue;let R=L-O,w=C*I0({address:H,value:0});if(R>w){let J=w+z,A=L-(Y+Math.ceil(J));if(A>Math.max(Jf({value:0})*C,S0(f)))return{fee:Math.ceil(J),inputs:Z,outputs:T.concat({address:H,value:A})}}return{fee:Math.ceil(z),inputs:Z,outputs:T}}return{fee:Math.ceil(C*nf({inputs:y,outputs:T}))}}var ry;var A2=E(()=>{MH();ry=require("@swapkit/helpers")});var tf=E(()=>{X2();Y2();A2();MH()});function Pf(y){return y.replace(/(bchtest:|bitcoincash:)/,"")}function zf(y){let T=Pf(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(()=>{tf();lT=require("@swapkit/utxo-signer")});function DH({address:y,chain:T}){return NH.match(T).with(o.Chain.BitcoinCash,()=>zf(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 aq({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 gf({phrase:y,derivationPath:T,chain:C,wif:f,seed:H}){let U=xy(C);if(f){let Q=r.WIF(U).decode(f),Y=M2(Q);return{privateKey:Q,publicKey:Y}}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=aq({derivationPath:q,network:U,phrase:y,seed:H}),G=M2(X);return{privateKey:X,publicKey:G}}function sq(y,T){return r.WIF(xy(T)).encode(y)}function eq({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 Mf({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,Y=new Set;for(let z of y){let L=`${z.hash}:${z.index}`;if(Y.has(L))throw new o.SwapKitError("toolbox_utxo_invalid_params",{error:"Duplicate input detected"});Y.add(L);let Z=typeof z.hash==="string"?Af.hex.decode(z.hash):z.hash;if(G&&z.witnessUtxo)f.addInput({index:z.index,sequence:Q,txid:Z,witnessUtxo:{amount:BigInt(z.witnessUtxo.value),script:z.witnessUtxo.script}});else if(z.txHex)f.addInput({index:z.index,nonWitnessUtxo:Af.hex.decode(z.txHex),sequence:Q,txid:Z,...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 L="address"in z&&z.address?z.address:H;if(C===o.Chain.BitcoinCash)L=Cf(L);if(z.script){if(U)f.addOutput({amount:0n,script:U})}else f.addOutputAddress(L,BigInt(z.value),X)}return{inputs:y,tx:f}}async function df(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 df(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:Y,outputs:z}=uy({...Q,chain:X,feeRate:f});if(!(Y&&z))throw new o.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:H});let L=new r.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!G,version:1}),{inputs:Z,tx:N}=Mf({chain:X,compiledMemo:G,enableRBF:q,inputs:Y,outputs:z,sender:H,tx:L});return{inputs:Z,tx:N,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 df(q))[T];return uy({...X,chain:q,feeRate:G})}function yX(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 df(y))[U],Q=X?.utxo.map((M)=>({...M,hash:"",type:"P2PKH"})).filter((M)=>M.value>Math.max(S0(y),Jf(M)*G));if(!Q?.length)return o.AssetValue.from({chain:y});let Y=BigInt(Q.reduce((M,D)=>M+D.value,0)),z=o.AssetValue.from({chain:y,value:Y}),L=typeof q==="number"?Array.from({length:q},()=>({address:C,value:0})):q;if(f)L.push({address:C,script:Ey(f),value:0});let Z=nf({inputs:Q,outputs:L}),N=o.AssetValue.from({chain:y,value:BigInt(Z*G)});return z.sub(N)}}function fX(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 TX({chain:y,phrase:T,derivationPath:C,seed:f}){let H=xy(y),{privateKey:U,publicKey:q}=gf({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 HX(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 Y=G&&uT.includes(y),z=q||(await df(y))[U||o.FeeOption.Fast],{tx:L}=await D2({assetValue:X,enableRBF:Y,feeRate:z,memo:f,recipient:H,sender:Q}),Z=await T.signTransaction(L);return Z.finalize(),Ry(y).broadcastTx(Af.hex.encode(Z.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 Bf({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?TX({chain:y,derivationPath:q,phrase:C,seed:H}):void 0,G="signer"in T?T.signer:void 0,Q=X||G,Y=C?gf({chain:y,derivationPath:q,phrase:C,seed:H}):void 0;function z(){if(Q)return Q.getAddress();return Promise.resolve(void 0)}function L($){if(!C)return;let x=Lf({accountIndex:$,chain:y,derivationPath:U});return eq({chain:y,derivationPath:o.derivationPathToString(x),phrase:C,seed:H})}let Z=L();function N(){if(!Z)return;return Z.publicExtendedKey}function M({accountIndex:$}={}){let x=$===void 0?Z:L($);if(!x)return;let n=Lf({accountIndex:$,chain:y,derivationPath:U});return{accountIndex:xf(n),path:o.derivationPathToString(n),xpub:x.publicExtendedKey}}function D({accountIndex:$,index:x,change:n=!1}){let B=$===void 0?Z:L($);if(!B)return;let I=hf({accountIndex:$,chain:y,change:n,derivationPath:U,index:x}),P=xy(y),l=B.deriveChild(Number(n)).deriveChild(x);if(!l.publicKey)throw new o.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive public key"});let v=o0({chain:y,network:P,publicKey:l.publicKey}),t=Af.hex.encode(l.publicKey);return{accountIndex:xf(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 R({txid:$,newFeeRate:x,recipient:n,memo:B}){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=B?Ey(B):null,_y=nf({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}),cy=[{address:n,value:Ay},...B?[{address:"",script:Ey(B),value:0}]:[]],gy=P-Ay-Zy,Iy=await z();if(gy>S0(y)&&Iy)cy.push({address:Iy,value:gy});return Mf({chain:y,compiledMemo:a,inputs:t,outputs:cy,sender:Iy||n,tx:ty}),{feeDelta:$y,newFee:Zy,originalFee:I.fee,tx:ty}}async function w({txid:$,newFeeRate:x,recipient:n,memo:B}){let{tx:I,originalFee:P,newFee:l}=await R({memo:B,newFeeRate:x,recipient:n,txid:$}),v=await k(I);v.finalize();let t=await Ry(y).broadcastTx(Af.hex.encode(v.extract()));return{newFee:l,originalFee:P,txid:t}}function J({accountIndex:$,index:x,change:n=!1}){ly("index",x);let B=$===void 0?Z:L($);if(!B)return;return B.deriveChild(Number(n)).deriveChild(x).privateKey||void 0}function A({tx:$,inputDerivations:x}){if(!Z)throw new o.SwapKitError("toolbox_utxo_no_signer");let n=y===o.Chain.BitcoinCash?[r.BCHSigHash.ALL]:[r.SigHash.ALL];for(let B=0;B<x.length;B++){let I=x[B];if(!I)continue;let{derivationIndex:P,isChange:l}=I,v=J({change:l,index:P});if(!v)throw new o.SwapKitError("toolbox_utxo_invalid_params",{error:`Could not derive private key for input ${B} at index ${P}`});$.signIdx(v,B,n)}return $}async function W({utxos:$,recipient:x,assetValue:n,memo:B,feeRate:I,feeOptionKey:P,changeAddress:l}){if(!Z)throw new o.SwapKitError("toolbox_utxo_no_signer");let v=I||(await df(y))[P||o.FeeOption.Fast],t=B?Ey(B):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:kU,witnessUtxo:Q1})=>({hash:Iy,index:By,txHex:kU,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,cy=l||await z()||ty||x;Mf({chain:y,compiledMemo:t,inputs:Zy,outputs:$y,sender:cy,tx:Ay});let gy=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 A({inputDerivations:gy,tx:Ay}),Ay.finalize(),Ry(y).broadcastTx(Af.hex.encode(Ay.extract()))}function _({address:$,gapLimit:x=20}){if(!Z)return;for(let n=0;n<x;n++){let B=D({change:!1,index:n}),I=D({change:!0,index:n}),P=B?.address===$?!1:I?.address===$;if(B?.address===$||I?.address===$)return{change:P,index:n}}return}function k($){if(!Q)throw new o.SwapKitError("toolbox_utxo_no_signer");return Q.signTransaction($)}async function F($){let x=await k($);return x.finalize(),await Ry(y).broadcastTx(Af.hex.encode(x.extract()))}return{accumulative:uy,broadcastTx:($)=>Ry(y).broadcastTx($),bumpFee:w,calculateTxSize:nf,createKeysForPath:($)=>gf({...$,chain:y}),createReplacementTransaction:R,createTransaction:D2,deriveAddressAtIndex:D,derivePrivateKeyAtIndex:J,estimateMaxSendableAmount:yX(y),estimateTransactionFee:fX(y),getAddress:z,getAddressFromKeys:RH(y),getBalance:Sy(y),getExtendedPublicKey:N,getExtendedPublicKeyInfo:M,getFeeRates:()=>df(y),getInputsOutputsFee:O2,getNetworkForChain:()=>xy(y),getPrivateKeyFromMnemonic:($)=>sq(gf({...$,chain:y}).privateKey,y),isRBFEnabled:O,keys:Y,resolveDerivationIndex:_,signAndBroadcastTransaction:F,signTransaction:k,signTransactionWithMultipleKeys:A,transfer:HX(y,Q),transferFromMultipleAddresses:W,validateAddress:OH(y)}}var B2,Af,BH,hT,o,r,NH,P0,uT;var rf=E(()=>{sy();w0();tf();n0();B2=require("@noble/curves/secp256k1.js"),Af=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 Pf(F0(y))}function CX(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?gf({chain:ay,derivationPath:f,phrase:T}):void 0,U=H?CX(H):("signer"in y)?y.signer:void 0;function q(){return Promise.resolve(U?.getAddress())}let{getBalance:X,getFeeRates:G,broadcastTx:Q,...Y}=Bf({chain:ay});function z(N,M=!0){return X(Pf(F0(N)))}function L(N){if(!U)throw new My.SwapKitError("toolbox_utxo_no_signer");return U.signTransaction(N)}async function Z(N){let M=await L(N);return M.finalize(),await Q(kH.hex.encode(M.extract()))}return{...Y,broadcastTx:Q,buildTx:qX,createTransaction:R2,getAddress:q,getAddressFromKeys:XX,getBalance:z,getFeeRates:G,signAndBroadcastTransaction:Z,signTransaction:L,stripPrefix:Pf,stripToCashAddress:V0,transfer:UX({broadcastTx:Q,getFeeRates:G,signer:U}),validateAddress:zf}}async function R2({assetValue:y,recipient:T,memo:C,feeRate:f,sender:H}){if(!zf(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:Y,outputs:z}=uy({chain:ay,feeRate:f,inputs:q,outputs:G});if(!(Y&&z))throw new My.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:H});let L=new Ny.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!X,version:1}),Z=Cf(H),{inputs:N,tx:M}=Mf({chain:ay,compiledMemo:X,inputs:Y,outputs:z.map((D)=>("address"in D)&&D.address?{...D,address:Cf(D.address)}:D),sender:Z,tx:L});return{inputs:N,tx:M,utxos:Y}}function UX({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:Y}=await R2({...X,assetValue:U,feeRate:Q,recipient:H,sender:G}),z=await C.signTransaction(Y);return z.finalize(),y(kH.hex.encode(z.extract()))}}async function qX({assetValue:y,recipient:T,memo:C,feeRate:f,sender:H}){let U=F0(T);if(!zf(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,Y=[];if(Y.push({address:Cf(T),value:y.getBaseValue("number")}),Q)Y.push({script:Q,value:0});let{inputs:z,outputs:L}=uy({chain:ay,feeRate:G,inputs:X,outputs:Y});if(!(z&&L))throw new My.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:H});let Z=new Ny.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!Q,version:1}),{inputs:N,tx:M}=Mf({chain:ay,compiledMemo:Q,inputs:z,outputs:L,sender:Cf(H),tx:Z});return{inputs:N,tx:M,utxos:X}}function XX(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(()=>{tf();rf();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 QX(y){return GX.encode(y)}function _X({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]),Y=new Uint8Array(Q.length+X.length);Y.set(Q,0),Y.set(X,Q.length);let z=QX(Y);return{getAddress:()=>Promise.resolve(z),signTransaction:(L)=>{if(L instanceof Uy.ZcashPSBT){let Z=L.toPCZT();return Z.signAllInputs(U,q,Uy.ZcashSigHash.ALL),Z.finalizeAllInputs(),Promise.resolve(Z.extract())}if(L instanceof Uy.PCZT)return L.signAllInputs(U,q,Uy.ZcashSigHash.ALL),L.finalizeAllInputs(),Promise.resolve(L.extract());return L.signAllInputs(U,q,Uy.ZcashSigHash.ALL),Promise.resolve(L)}}}function ZX({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:Y,outputs:z}=uy({chain:Jy.Chain.Zcash,changeAddress:U,feeRate:H,inputs:G,outputs:Q});if(!(Y&&z))throw new Jy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:U});let L=Uy.createZcashTransaction({consensusBranchId:Uy.ZcashConsensusBranchId.NU6_2,expiryHeight:0,lockTime:0,version:4,versionGroupId:Uy.ZcashVersionGroupId.SAPLING}),{tx:Z,inputs:N}=ZX({compiledMemo:X,inputs:Y,outputs:z,sender:U,tx:L});return{inputs:N,outputs:z,tx:Z}}function xH(y){let T=af.match(y).with({signer:af.P.not(af.P.nullish)},({signer:G})=>G).with({phrase:af.P.string},({phrase:G,derivationPath:Q,index:Y=0})=>{let z=Q||Jy.NetworkDerivationPath[Jy.Chain.Zcash]||[44,133,0,0,0],L=Jy.updateDerivationPath(z,{index:Y}),Z=Jy.derivationPathToString(L);return _X({derivationPath:Z,phrase:G})}).otherwise(()=>{return}),C=Bf({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:Y=Jy.FeeOption.Fast,...z}){let L=await T?.getAddress();if(!(T&&L))throw new Jy.SwapKitError("toolbox_utxo_no_signer");let Z=z.feeRate||(await C.getFeeRates())[Y],{tx:N}=await k2({...z,assetValue:Q,feeRate:Z,recipient:G,sender:L}),D=(await T.signTransaction(N)).toHex();return C.broadcastTx(D)}function q({phrase:G,derivationPath:Q="m/44'/133'/0'/0/0"}){let Y=FH.mnemonicToSeedSync(G),L=$H.HDKey.fromMasterSeed(Y).derive(Q);if(!L.privateKey||!L.publicKey)throw new Jy.SwapKitError("toolbox_utxo_invalid_params");return{privateKey:L.privateKey,publicKey:L.publicKey}}function X({phrase:G,derivationPath:Q="m/44'/133'/0'/0/0"}){let Y=q({derivationPath:Q,phrase:G}),z=w2();return Uy.WIF(z).encode(Y.privateKey)}return{...C,createKeysForPath:q,createTransaction:k2,getPrivateKeyFromMnemonic:X,signAndBroadcastTransaction:H,signTransaction:f,transfer:U,validateAddress:cf}}var tT,$H,FH,Jy,Uy,af,GX;var IH=E(()=>{tf();rf();n0();tT=require("@scure/base"),$H=require("@scure/bip32"),FH=require("@scure/bip39"),Jy=require("@swapkit/helpers"),Uy=require("@swapkit/utxo-signer"),af=require("ts-pattern");GX=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=Lf({accountIndex:H,chain:T}),G=xf(X),Q=[];for(let Y of[!1,!0]){let z=q.deriveChild(Number(Y));for(let L=0;L<C;L++){let Z=f+L,N=z.deriveChild(Z);if(!N.publicKey)continue;let M=hf({accountIndex:H,chain:T,change:Y,index:Z});Q.push({accountIndex:G,address:o0({chain:T,network:U,publicKey:N.publicKey}),change:Y,index:Z,path:x2.derivationPathToString(M),pubkey:$2.hex.encode(N.publicKey)})}}return Q}var $2,F2,x2;var S2=E(()=>{w0();rf();$2=require("@scure/base"),F2=require("@scure/bip32"),x2=require("@swapkit/helpers")});function WX(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 Bf({chain:y,...T});default:throw new Uf.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}var Uf;var n2=E(()=>{mT();rf();IH();w0();S2();mT();n0();Uf=require("@swapkit/helpers")});var SH={};Dy(SH,{validateZcashAddress:()=>cf,validateUtxoAddress:()=>DH,validateBchAddress:()=>zf,toLegacyAddress:()=>Cf,toCashAddress:()=>F0,stripToCashAddress:()=>V0,stripPrefix:()=>Pf,nonSegwitChains:()=>P0,isValidAddress:()=>zH,getUtxoToolbox:()=>WX,getUtxoNetwork:()=>pq,getUtxoApi:()=>Ry,getUTXOAddressValidator:()=>OH,getUTXOAddressPath:()=>hf,getUTXOAccountPath:()=>Lf,getUTXOAccountIndexFromPath:()=>xf,getScriptTypeForAddress:()=>mf,getOutputSize:()=>I0,getNetworkForChain:()=>xy,getInputSize:()=>Jf,getDustThreshold:()=>S0,detectAddressNetwork:()=>AH,deriveAddressesFromXpub:()=>I2,createZcashToolbox:()=>xH,createUTXOToolbox:()=>Bf,createHDWalletHelpers:()=>f2,createCustomUtxoApi:()=>jq,createBCHToolbox:()=>wH,compileMemo:()=>Ey,calculateTxSize:()=>nf,assertDerivationIndex:()=>ly,addressFromKeysGetter:()=>RH,addInputsAndOutputs:()=>Mf,accumulative:()=>uy,UtxoNetwork:()=>JH,UTXOScriptType:()=>KT,TX_OVERHEAD:()=>jT,SEGWIT_MARKER_FLAG_WEIGHT:()=>pT,OutputSizes:()=>x0,OP_RETURN_OVERHEAD:()=>z2,MIN_TX_FEE:()=>iq,InputSizes:()=>bT});module.exports=ky(SH);var nH=E(()=>{rf();w0();tf();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 gT(y){let{KeyPair:T}=await import("@near-js/crypto"),C=y.index||0,f=y.derivationPath?cT.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 cT.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 cT;var oH=E(()=>{cT=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 pH(y){return"customEstimator"in y}function KH(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 YX(y){return(BigInt(y)*BigInt(1000000000000)).toString()}function LX(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 JX(y){let T;async function C(){if(T)return T;return T=await sf.match(y).with({phrase:sf.P.string},async(B)=>{return await gT(B)}).with({signer:sf.P.any},({signer:B})=>B).otherwise(()=>{return}),T}async function f(){let{JsonRpcProvider:B}=await import("@near-js/providers"),I=await Cy.getRPCUrl(Cy.Chain.Near);return new B({url:I})}async function H(B){let{Account:I}=await import("@near-js/accounts"),P=await f(),l=await C(),v=B||await U();return new I(v,P,l)}async function U(){let B=await C();if(!B)throw new Cy.SwapKitError("toolbox_near_no_signer");return await B.getAddress()}async function q(B){return(await _({changeMethods:[],contractId:B.contractId,viewMethods:["storage_balance_of"]})).storage_balance_of({account_id:B.accountId})}async function X(B){let P=[await L({args:{account_id:B.recipient},attachedDeposit:"1250000000000000000000",gas:"150000000000000",methodName:"storage_deposit"}),await L({args:{amount:B.assetValue.getBaseValue("string"),memo:B.memo||null,receiver_id:B.recipient},attachedDeposit:"1",gas:"150000000000000",methodName:"ft_transfer"})];return k({actions:P,receiverId:B.contractId})}async function G(B){if(!await C())throw new Cy.SwapKitError("toolbox_near_no_signer");let{assetValue:P,recipient:l,memo:v}=B,t=await U();if(!P.isGasAsset&&P.address){if(!await q({accountId:l,contractId:P.address}))return X({assetValue:P,contractId:P.address,memo:v,recipient:l})}let a=await Q({...B,sender:t});return R(a)}async function Q({recipient:B,assetValue:I,memo:P,attachedDeposit:l,sender:v,functionCall:t}){let a=await f();if(!E0(B))throw new Cy.SwapKitError("toolbox_near_invalid_address",{recipient:B});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:B},attachedDeposit:l||"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:cy}=await import("@near-js/utils"),gy=[Ay.transfer($y)];if(P&&l)gy.push(Ay.functionCall("memo",{memo:P},BigInt("250000000000000"),BigInt(l)));let Iy=await a.block({finality:"final"}),By=cy(Iy.header.hash);return ty(v,_y,B,Zy+1,gy,By)}function Y(B){let I=B.encode();return Buffer.from(I).toString("base64")}async function z({args:B,attachedDeposit:I,contractId:P,gas:l,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"),cy=await a.block({finality:"final"}),gy=ty(cy.header.hash),Iy=[Ay.functionCall(v,Buffer.from(JSON.stringify(B)),BigInt(l),BigInt(I))];return $y(t,_y,P,Zy+1,Iy,gy)}async function L(B){let{actionCreators:I}=await import("@near-js/transactions");return I.functionCall(B.methodName,Buffer.from(JSON.stringify(B.args)),BigInt(B.gas),BigInt(B.attachedDeposit))}async function Z(B){let I=await C();if(!I)throw new Cy.SwapKitError("toolbox_near_no_signer");await N(B);let[P,l]=await I.signTransaction(B);return l}async function N(B){let I=B.publicKey;if(I.toString?.().startsWith("ed25519:")||I.toString?.().startsWith("secp256k1:"))return;let{KeyType:P,PublicKey:l}=await import("@near-js/crypto"),v=I.data||I.ed25519Key?.data,t=I.secp256k1Key?.data;if(v){B.publicKey=new l({data:Uint8Array.from(v),keyType:P.ED25519});return}if(t)B.publicKey=new l({data:Uint8Array.from(t),keyType:P.SECP256K1})}function M(B){if(typeof B==="string")return B;if(Array.isArray(B))return B.map(M).find(Boolean);if(!(B&&typeof B==="object"))return;let I=B;return I.transaction?.hash||I.transaction_outcome?.id}function D(B){return B instanceof Error?B.message:String(B)}async function O(B){let P=await(await f()).sendTransaction(B),l=M(P);if(!l)throw new Cy.SwapKitError("toolbox_near_transfer_failed",{result:P});return l}async function R(B){let I=await C();if(!I)throw new Cy.SwapKitError("toolbox_near_no_signer");let P;try{P=await Z(B)}catch(l){let v;try{v=I.signAndSendTransaction?await I.signAndSendTransaction({actions:B.actions,receiverId:B.receiverId,signerId:B.signerId}):await I.signAndSendTransactions?.({transactions:[B]})}catch(a){throw new Cy.SwapKitError({errorKey:"toolbox_near_sign_transaction_failed",info:{directSignError:D(l),signAndSendError:D(a)}},a)}let t=M(v);if(t)return t;throw l}return O(P)}async function w(B){let I=await C();if("assetValue"in B){let l=await J();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),cy=BigInt(Zy)+BigInt(_y),Iy=(ty+cy)*BigInt(l.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(l.toString());return Cy.AssetValue.from({chain:Cy.Chain.Near,value:Zy})}}let P=I?await H():void 0;return F(B,P)}async function J(){let B=await f();try{return await B.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function A(B,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(B,a.fromString(I),BigInt(_y))).transaction.hash}async function W(B){let I=await C();try{if(!I)throw new Cy.SwapKitError("toolbox_near_no_signer");let{actionCreators:P}=await import("@near-js/transactions"),{contractId:l,methodName:v,args:t,deposit:a}=B,_y=await H(),Zy=await F({args:t||{},contractId:l,methodName:v}),$y=P.functionCall(v,t||{},Zy.getBaseValue("bigint"),BigInt(a||"1"));return(await _y.signAndSendTransaction({actions:[$y],receiverId:l})).transaction_outcome.id}catch(P){throw new Cy.SwapKitError("toolbox_near_transfer_failed",{error:P})}}async function _(B){let I=await H();return hH({account:I,changeMethods:B.changeMethods,contractId:B.contractId,viewMethods:B.viewMethods})}async function k(B){if(!await C())throw new Cy.SwapKitError("toolbox_near_no_signer");if(B.actions.length===0)throw new Cy.SwapKitError("toolbox_near_empty_batch");return(await(await H()).signAndSendTransaction({actions:B.actions,receiverId:B.receiverId})).transaction.hash}async function F(B,I){let P=await sf.match(B).when(VH,()=>wy.SIMPLE_TRANSFER).when(EH,(v)=>lH(v.methodName)).when(vH,(v)=>KH(v.actions)).when(bH,()=>wy.ACCOUNT_CREATION).when(jH,()=>wy.CONTRACT_DEPLOYMENT).when(pH,(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")}),l=BigInt(P)*BigInt(1000000000000);return Cy.AssetValue.from({chain:Cy.Chain.Near,value:l})}function $(B,I){return console.warn("NEAR toolbox: estimateGas is deprecated, use estimateGasLimit instead"),F(B,I)}async function x(){let B=await f();try{return(await B.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}async function n(){let B=await C();return B?(await B.getPublicKey()).toString():""}return{broadcastTransaction:O,callFunction:W,createAction:L,createContract:_,createContractFunctionCall:z,createSubAccount:A,createTransaction:Q,estimateGas:$,estimateGasLimit:F,estimateTransactionFee:w,executeBatchTransaction:k,getAddress:U,getBalance:Sy(Cy.Chain.Near),getGasPrice:x,getNearProvider:f,getPublicKey:n,getSignerFromPhrase:gT,getSignerFromPrivateKey:PH,serializeTransaction:Y,signAndBroadcastTransaction:R,signTransaction:Z,transfer:G,validateAddress:E0}}var Cy,sf;var mH=E(()=>{sy();oH();uH();Cy=require("@swapkit/helpers"),sf=require("ts-pattern")});var o2=E(()=>{mH()});var tH={};Dy(tH,{validateNearAddress:()=>E0,tgasToGas:()=>YX,isSimpleTransfer:()=>VH,isCustomEstimator:()=>pH,isContractDeployment:()=>jH,isContractCall:()=>EH,isBatchTransaction:()=>vH,isAccountCreation:()=>bH,getNearToolbox:()=>JX,getNearSignerFromPrivateKey:()=>PH,getNearSignerFromPhrase:()=>gT,getFullAccessPublicKey:()=>iT,getContractMethodGas:()=>lH,gasToTGas:()=>LX,estimateBatchGas:()=>KH,createNearContract:()=>hH,GAS_COSTS:()=>wy});module.exports=ky(tH);var cH=E(()=>{oH();uH();mH();o2()});var gH={};Dy(gH,{validateRadixAddress:()=>V2,getRadixToolbox:()=>BX});module.exports=ky(gH);function V2(y){return y.startsWith("account_rdx1")&&y.length===66}async function zX({address:y,networkApi:T}){let C=!0,f,H=[],U=await MX(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 AX({resources:y,networkApi:T}){let C=[],f=50,H=[];for(let U=0;U<y.length;U+=50)H.push(y.slice(U,U+50));for(let U of H){let q=U.map((Q)=>Q.resource_address),X=await T.state.getEntityDetailsVaultAggregated(q),G=new Map;for(let Q of X)if(Q.details!==void 0){let Y=Q.metadata?.items.find((L)=>L.key==="symbol"),z=Y?.value.typed.type==="String"?Y.value.typed.value:"?";if(Q.details.type==="FungibleResource")G.set(Q.address,{decimals:Q.details.divisibility,symbol:z})}for(let Q of U)if(Q.aggregation_level==="Global"){let Y=G.get(Q.resource_address)||{decimals:0,symbol:"?"},z=hy.AssetValue.from({asset:Y.symbol!==hy.Chain.Radix?`${hy.Chain.Radix}.${Y.symbol}-${Q.resource_address}`:"XRD.XRD",value:Q.amount});C.push(z)}}return C}async function MX(y){return(await y.status.getCurrent()).ledger_state.state_version}function BX({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 zX({address:U,networkApi:q}),G=await AX({networkApi:q,resources:X});if(!G.some((Y)=>Y.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 NX(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 ef(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 DX(y,T){let C=ef(y),f=sT.find((H)=>ef(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 OX(y){return sT.filter((T)=>T.issuer===y)}function RX(y,T){let C=ef(y);return sT.some((f)=>ef(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:()=>p2,normalizeCurrency:()=>ef,isKnownToken:()=>RX,isHexCurrency:()=>dT,hexToCurrency:()=>NX,getXrplTokenInfo:()=>DX,getRippleToolbox:()=>wX,getKnownTokensByIssuer:()=>OX,formatXrplTokenIdentifier:()=>K2,currencyToHex:()=>v0,XRPL_TOKEN_ERROR_CODES:()=>eT,XRPL_KNOWN_TOKENS:()=>sT});module.exports=ky(dH);function p2(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 K2(y,T){return`${d.Chain.Ripple}.${y}-${T}`}async function kX(y){if(y.isGasAsset){let{xrpToDrops:C}=await import("xrpl");return C(y.getValue("string"))}let T=p2(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 wX(y={}){let T;async function C(){if(T)return T;return T=await y0.match(y).with({phrase:y0.P.string},({phrase:w})=>j2(w)).with({signer:y0.P.any},({signer:w})=>w).otherwise(()=>{return}),T}let f;async function H(){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{Client:J}=await import("xrpl"),A=new J(w);return await A.connect(),A}async function U(){if(f){let w=await f.catch(()=>null);if(w?.isConnected())return w}return f=H(),f}let q=async()=>{let w=await C();if(!w)throw new d.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return w.getAddress()},X=async(w)=>{let J=w||await q(),{baseDecimal:A}=d.getChainConfig(d.Chain.Ripple),W=await U();try{let[_,k]=await Promise.all([W.request({account:J,command:"account_info"}),W.request({account:J,command:"account_lines"})]),F=_.result.account_data.Balance,$=[d.AssetValue.from({chain:d.Chain.Ripple,fromBaseDecimal:A,value:F})];for(let x of k.result.lines){let n=K2(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:J,error:_}})}},G=async()=>{let{baseDecimal:w}=d.getChainConfig(d.Chain.Ripple),W=(await(await U()).request({command:"fee"})).result.drops.open_ledger_fee;return d.AssetValue.from({chain:d.Chain.Ripple,fromBaseDecimal:w,value:W})};async function Q(w){let J=w||await q(),A=await U();try{return(await A.request({account:J,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(W){if(W.data?.error_code===b2.ACCOUNT_NOT_FOUND)return[];throw new d.SwapKitError({errorKey:"toolbox_ripple_get_trust_lines_error",info:{address:J,error:W}})}}async function Y({address:w,currency:J,issuer:A}){let W=await Q(w),_=v0(J);return W.some((k)=>{return v0(k.currency)===_&&k.account===A})}async function z({currency:w,issuer:J,limit:A,sender:W}){let _=W||await q();if(!b0(J))throw new d.SwapKitError({errorKey:"core_transaction_invalid_recipient_address",info:{address:J}});let k=Number.parseFloat(A);if(Number.isNaN(k)||k<0)throw new d.SwapKitError({errorKey:"toolbox_ripple_invalid_trust_line_limit",info:{limit:A}});let F=await U(),$={Account:_,LimitAmount:{currency:w,issuer:J,value:A},TransactionType:"TrustSet"};return F.autofill($)}async function L({assetValue:w,recipient:J,memo:A,sender:W,destinationTag:_,extendBySeconds:k=150}){if(!b0(J))throw new d.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let F=W||await q();if(w.chain!==d.Chain.Ripple)throw new d.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:w.toString()}});let $=await kX(w),x={Account:F,Amount:$,Destination:J,TransactionType:"Payment",..._!==void 0&&{DestinationTag:_}};if(A)x.Memos=[{Memo:{MemoData:Buffer.from(A).toString("hex")}}];let B=await(await U()).autofill(x);if(B.LastLedgerSequence&&k>0)B.LastLedgerSequence+=Math.ceil(k/4);return B}async function Z(w){let J=await C();if(!J)throw new d.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return J.signTransaction(w)}async function N(w){let A=await(await U()).submitAndWait(w),{result:W}=A;if(W.validated)return W.hash;let _=W.meta?.TransactionResult,k=y0.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,...k?{reason:k}:{txResult:_}}})}let M=async(w)=>{try{let J=await Z(w);return N(J.tx_blob)}catch(J){if(J instanceof d.SwapKitError)throw J;throw new d.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:d.Chain.Ripple,error:J}})}};async function D(w){let J=await C();if(!J)throw new d.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let A=await J.getAddress(),W=await L({...w,sender:A}),_=await Z(W);return N(_.tx_blob)}async function O(w){let J=await C();if(!J)throw new d.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let A=await J.getAddress(),W=await z({...w,sender:A}),_=await Z(W);return N(_.tx_blob)}function R(){let w=f;if(f=null,w)w.then((J)=>{if(J?.isConnected())return J.disconnect();return}).catch((J)=>{console.warn("XRPL Cleanup failed silently:",J)})}return{broadcastTransaction:N,createSigner:j2,createTransaction:L,disconnect:R,estimateTransactionFee:G,getAddress:q,getBalance:X,getTrustLines:Q,hasTrustLine:Y,setTrustLine:z,setTrustLineAndBroadcast:O,signAndBroadcastTransaction:M,signTransaction:Z,transfer:D,validateAddress:b0}}var d,y1,y0,b2,eT;var rH=E(()=>{rT();d=require("@swapkit/helpers"),y1=require("ripple-address-codec"),y0=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 of.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 IX(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 of.SwapKitError("toolbox_tron_transaction_creation_failed");let Y=y.slice(C,C+Q);C+=Q,f1(T,U,{data:Y,wireType:H1})}else if(q===l2){if(C+8>y.length)throw new of.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 of.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 of.SwapKitError("toolbox_tron_transaction_creation_failed")}return T}function SX(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 of.SwapKitError("toolbox_tron_transaction_creation_failed");let C=f0.hexToBytes(y),f=IX(C);if(T.expiration!==void 0)f.set($X,[{data:new Uint8Array(j0(BigInt(T.expiration))),wireType:T1}]);if(T.data!==void 0)f.set(FX,[{data:f0.hexToBytes(T.data),wireType:H1}]);if(T.fee_limit!==void 0)f.set(xX,[{data:new Uint8Array(j0(BigInt(T.fee_limit))),wireType:T1}]);let H=SX(f),U=f0.bytesToHex(H),q=f0.bytesToHex(h2.sha256(H));return{raw_data_hex:U,txID:q}}var h2,f0,of,T1=0,l2=1,H1=2,u2=5,$X=8,FX=10,xX=18;var t2=E(()=>{h2=require("@noble/hashes/sha2.js"),f0=require("@noble/hashes/utils.js"),of=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 PX(y){return C1.decode(y).slice(1)}function r2(y){let T=sH.secp256k1.getPublicKey(by.hexToBytes(y),!1),C=c2.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 T0({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 oX(y){return`000000000000000000000000${by.bytesToHex(PX(y))}`}function VX(y){let T=typeof y==="bigint"?y:BigInt(y);if(T<0n||T>=nX)throw new yC.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:T.toString()});return T.toString(16).padStart(64,"0")}function H0(y){return y.map(({type:T,value:C})=>T==="address"?oX(C):VX(BigInt(C))).join("")}function s2(y){return by.bytesToHex(new TextEncoder().encode(y))}var sH,eH,c2,by,g2,yC,C1,i2=65,nX;var fC=E(()=>{sH=require("@noble/curves/secp256k1.js"),eH=require("@noble/hashes/sha2.js"),c2=require("@noble/hashes/sha3.js"),by=require("@noble/hashes/utils.js"),g2=require("@scure/base"),yC=require("@swapkit/helpers"),C1=g2.createBase58check(eH.sha256),nX=2n**256n});function fU(){try{return Gy.getRPCUrlSync(Gy.Chain.Tron)}catch{return yU}}function TU(){let y=new AbortController,T=setTimeout(()=>y.abort(),pX);return{cleanup:()=>clearTimeout(T),signal:y.signal}}async function Vf(y,T){let{signal:C,cleanup:f}=TU();try{let H=await fetch(`${fU()}${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 HU(y,T){let{signal:C,cleanup:f}=TU();try{let H=await fetch(`${T??fU()}${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 CU(y){if(!my(y))throw new Gy.SwapKitError("toolbox_tron_trongrid_api_error",{address:y,message:"Invalid address"});try{let T=await HU(`/v1/accounts/${y}`,yU);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 UU({from:y,to:T,amount:C}){let H=await Vf("/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 T0(H),H}async function qU({ownerAddress:y,contractAddress:T,functionSelector:C,parameter:f,feeLimit:H,callValue:U=0}){let q=await Vf("/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 T0(q.transaction),q.transaction}function XU({ownerAddress:y,contractAddress:T,functionSelector:C,parameter:f}){return Vf("/wallet/triggerconstantcontract",{contract_address:T,function_selector:C,owner_address:y,parameter:f,visible:!0})}function KX({ownerAddress:y,contractAddress:T,functionSelector:C,parameter:f}){return Vf("/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 p0(y){try{let{result:T,txid:C}=await Vf("/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 K0(){let y={};try{let{chainParameter:T}=await HU("/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??EX,createAccountFee:y.getCreateNewAccountFeeInSystemContract??y.getCreateAccountFee??vX,energyFee:y.getEnergyFee??bX,memoFee:y.getMemoFee??jX}}async function TC(y){try{let T=await Vf("/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 Vf("/wallet/getaccount",{address:y,visible:!0});return T&&Object.keys(T).length>0}catch{return!1}}async function HC(y){try{let T=await KX({...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 XU({...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 GU({assetAddress:y,owner:T,spender:C}){let f=H0([{type:"address",value:T},{type:"address",value:C}]),U=(await XU({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,yU="https://api.trongrid.io",EX=1000,vX=1e6,bX=420,jX=1e6,pX=30000;var QU=E(()=>{fC();Gy=require("@swapkit/helpers")});function MU({phrase:y,derivationPath:T}){let C=JU.HDKey.fromMasterSeed(zU.mnemonicToSeedSync(y)).derive(T);if(!C.privateKey)throw new j.SwapKitError("toolbox_tron_no_signer");return LU.bytesToHex(C.privateKey)}function BU({phrase:y,derivationPath:T,index:C}){let f=T||j.derivationPathToString(j.updateDerivationPath(j.NetworkDerivationPath[j.Chain.Tron],{index:C||0}));return MU({derivationPath:f,phrase:y})}function uX({phrase:y,derivationPath:T}){let C=MU({derivationPath:T,phrase:y}),f=r2(C);return{getAddress:()=>Promise.resolve(f),signTransaction:(H)=>{T0(H);let U=a2({privateKey:C,txID:H.txID});return Promise.resolve({...H,signature:[U]})}}}function YU({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 NU(y={}){let T="index"in y?y.index||0:0,C=j.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:j.updateDerivationPath(j.NetworkDerivationPath[j.Chain.Tron],{index:T})),f,H=!1;function U(){if(H)return Promise.resolve(f);return f=C0.match(y).with({phrase:C0.P.string},({phrase:W})=>uX({derivationPath:C,phrase:W})).with({signer:C0.P.not(C0.P.nullish)},({signer:W})=>W).otherwise(()=>{return}),H=!0,Promise.resolve(f)}async function q(){let W=await U();if(!W)throw new j.SwapKitError("toolbox_tron_no_signer");return W.getAddress()}async function X(W,_){let k=W||ZU,F=_??(await K0()).energyFee,$=k*F,x=Math.ceil($*1.5);return Math.min(Math.max(x,1e7),150000000)}async function G({contractAddress:W,functionSelector:_,parameter:k,sender:F,memo:$,expiration:x,extraEnergy:n=0}){let B=await HC({contractAddress:W,functionSelector:_,parameter:k,sender:F}),I=await X(B+n),P=await qU({contractAddress:W,feeLimit:I,functionSelector:_,ownerAddress:F,parameter:k});return YU({expiration:x,feeLimit:I,memo:$,transaction:P})}async function Q(W){if(!my(W))return[j.AssetValue.from({chain:j.Chain.Tron})];try{let _=await CU(W);if(!_)return[j.AssetValue.from({chain:j.Chain.Tron})];let k=[j.AssetValue.from({chain:j.Chain.Tron,fromBaseDecimal:6,value:String(_.balance)})],F=_.trc20?.find(($)=>(UC in $));if(F){let $=F[UC];k.push(j.AssetValue.from({asset:`TRON.USDT-${UC}`,fromBaseDecimal:6,value:$}))}return k}catch(_){return j.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${_ instanceof Error?_.message:_}`}),[j.AssetValue.from({chain:j.Chain.Tron})]}}async function Y({recipient:W,assetValue:_,memo:k,expiration:F}){if(!my(W))throw new j.SwapKitError("toolbox_tron_token_transfer_failed",{message:"invalid address"});let $=await U();if(!$)throw new j.SwapKitError("toolbox_tron_no_signer");try{let x=await q(),n=await D({assetValue:_,expiration:F,memo:k,recipient:W,sender:x}),B=await $.signTransaction(n),I=await p0(B);if(!I)throw new j.SwapKitError("toolbox_tron_token_transfer_failed",{message:"broadcast failed"});return I}catch(x){throw new j.SwapKitError("toolbox_tron_token_transfer_failed",{message:x instanceof Error?x.message:String(x)})}}function z({requiredBandwidth:W,resources:_,feePerUnit:k}){let F=Math.max(0,_.free+_.total-_.used);return W>F?(W-F)*k:0}async function L({memo:W,recipient:_,senderAddress:k}){let[F,$,x]=await Promise.all([K0(),l0(_),TC(k)]),n=$?0:F.createAccountFee,B=z({feePerUnit:F.bandwidthFee,requiredBandwidth:_U,resources:x.bandwidth}),I=W?F.memoFee:0;return j.AssetValue.from({chain:j.Chain.Tron,fromBaseDecimal:j.BaseDecimal.TRON,value:n+B+I})}async function Z({assetValue:W,memo:_,recipient:k,senderAddress:F}){let $=W.address;if(!$)throw new j.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:W.toString()});let[x,n,B,I]=await Promise.all([K0(),l0(k),TC(F),HC({contractAddress:$,functionSelector:"transfer(address,uint256)",parameter:H0([{type:"address",value:k},{type:"uint256",value:W.getBaseValue("string")}]),sender:F})]),l=I+(n?0:CC),v=z({feePerUnit:x.bandwidthFee,requiredBandwidth:WU,resources:B.bandwidth}),t=Math.max(0,B.energy.total-B.energy.used),a=l>t?(l-t)*x.energyFee:0,_y=_?x.memoFee:0;return j.AssetValue.from({chain:j.Chain.Tron,fromBaseDecimal:j.BaseDecimal.TRON,value:v+a+_y})}async function N({assetValue:W,memo:_,recipient:k}){let[F,$]=await Promise.all([K0(),l0(k)]);if(W.isGasAsset){let I=$?0:F.createAccountFee,P=_?F.memoFee:0;return j.AssetValue.from({chain:j.Chain.Tron,fromBaseDecimal:j.BaseDecimal.TRON,value:I+_U*F.bandwidthFee+P})}let n=await X(ZU+($?0:CC),F.energyFee),B=_?F.memoFee:0;return j.AssetValue.from({chain:j.Chain.Tron,fromBaseDecimal:j.BaseDecimal.TRON,value:n+WU*F.bandwidthFee+B})}async function M({assetValue:W,memo:_,recipient:k,sender:F}){let $=await U();try{let x=F?F:$?await q():void 0;if(!x)return N({assetValue:W,memo:_,recipient:k});return W.isGasAsset?L({memo:_,recipient:k,senderAddress:x}):Z({assetValue:W,memo:_,recipient:k,senderAddress:x})}catch(x){throw j.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee: ${x instanceof Error?x.message:x}`}),new j.SwapKitError("toolbox_fee_estimation_failed",{chain:j.Chain.Tron,error:x})}}async function D({recipient:W,assetValue:_,memo:k,sender:F,expiration:$}){if(!my(W)||!my(F))throw new j.SwapKitError("toolbox_tron_transaction_creation_failed",{message:"invalid address"});if(_.isGasAsset){let B=await UU({amount:_.getBaseValue("number"),from:F,to:W});return YU({expiration:$,memo:k,transaction:B})}let x=_.address;if(!x)throw new j.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:_.toString()});let n=await l0(W);return G({contractAddress:x,expiration:$,extraEnergy:n?0:CC,functionSelector:"transfer(address,uint256)",memo:k,parameter:H0([{type:"address",value:W},{type:"uint256",value:_.getBaseValue("string")}]),sender:F})}async function O(W){T0(W);let _=await U();if(!_)throw new j.SwapKitError("toolbox_tron_no_signer");return _.signTransaction(W)}async function R(W){let _=await O(W);return p0(_)}function w({assetAddress:W,spenderAddress:_,from:k}){return GU({assetAddress:W,owner:k,spender:_})}async function J({assetAddress:W,spenderAddress:_,from:k,amount:F}){let $=await w({assetAddress:W,from:k,spenderAddress:_});if(!F)return $>0n;return $>=BigInt(F)}async function A({assetAddress:W,spenderAddress:_,amount:k,from:F}){if(!my(W)||!my(_))throw new j.SwapKitError("toolbox_tron_approve_failed");let $=await U();if(!$)throw new j.SwapKitError("toolbox_tron_no_signer");let x=F||await q(),n=k!==void 0?BigInt(k).toString():lX;try{let B=await G({contractAddress:W,functionSelector:"approve(address,uint256)",parameter:H0([{type:"address",value:_},{type:"uint256",value:n}]),sender:x}),I=await $.signTransaction(B),P=await p0(I);if(!P)throw new j.SwapKitError("toolbox_tron_approve_failed");return P}catch(B){if(B instanceof j.SwapKitError)throw B;throw new j.SwapKitError("toolbox_tron_approve_failed",{error:B})}}return{approve:A,broadcastTransaction:p0,createTransaction:D,estimateTransactionFee:M,getAddress:q,getApprovedAmount:w,getBalance:Q,getRpcUrl:()=>j.getRPCUrl(j.Chain.Tron),isApproved:J,signAndBroadcastTransaction:R,signTransaction:O,transfer:Y,validateAddress:my}}var LU,JU,zU,j,C0,AU,_U=268,ZU=65000,CC=25000,WU=345,UC="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",lX="115792089237316195423570985008687907853269984665640564039457584007913129639935";var DU=E(()=>{t2();QU();fC();LU=require("@noble/hashes/utils.js"),JU=require("@scure/bip32"),zU=require("@scure/bip39"),j=require("@swapkit/helpers"),C0=require("ts-pattern"),AU=my});var qC={};Dy(qC,{validateTronAddress:()=>AU,getTronToolbox:()=>NU,getTronPrivateKeyFromMnemonic:()=>BU});module.exports=ky(qC);var XC=E(()=>{DU()});function q1(y){if(!y||typeof y!=="string"||!y.startsWith("G")||y.length!==56)return!1;return hX.test(y)}function mX(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 tX(y){return mX(y)===504}function cX(y){return y.hash?.().toString("hex")}function gX(y){return[...new Set([y,...e.SKConfig.get("rpcUrls")[e.Chain.Stellar]])].filter(Boolean)}async function iX(y){if(!q1(y))return!1;try{let{StrKey:T}=await import("@stellar/stellar-sdk");return T.isValidEd25519PublicKey(y)}catch{return!1}}function OU(y={}){let T,C=y.derivationPath||e.NetworkDerivationPath[e.Chain.Stellar],f=e.derivationPathToString(C.slice(0,3));async function H({phrase:O,path:R}){let{HDKey:w}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:J}=await import("@scure/bip39"),{Keypair:A}=await import("@stellar/stellar-sdk"),W=J(O),k=w.fromMasterSeed(W).derive(R,!0);return A.fromRawEd25519Seed(Buffer.from(k.privateKey))}async function U(){if(T)return T;let O=U1.match(y).with({phrase:U1.P.string},({phrase:R})=>R).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:R}=await import("@stellar/stellar-sdk"),w=O||await e.getRPCUrl(e.Chain.Stellar);return new R.Server(w)}async function X(O,R){for(let w of R)try{return(await(await q(w)).transactions().transaction(O).call()).hash||O}catch{}return}async function G(O,R){let w=await e.getRPCUrl(e.Chain.Stellar),J=gX(w),A=cX(O),W;for(let _ of J)try{let k=await q(_),{hash:F}=await k.submitTransaction(O);return F}catch(k){if(W=k,!tX(k))break;let F=A?await X(A,J):void 0;if(F)return F}throw new e.SwapKitError(R,W)}async function Q(){try{return(await U()).publicKey()}catch{return""}}async function Y(O){let R=O||await Q();if(!R)throw new e.SwapKitError("toolbox_stellar_account_not_found");try{return(await(await q()).loadAccount(R)).balances.map((A)=>{if(A.asset_type==="native")return e.AssetValue.from({chain:e.Chain.Stellar,value:A.balance});let W="asset_code"in A?A.asset_code:"",_="asset_issuer"in A?A.asset_issuer:"";return e.AssetValue.from({asset:`${e.Chain.Stellar}.${W}-${_}`,asyncTokenLookup:!1,value:A.balance})})}catch{return[e.AssetValue.from({chain:e.Chain.Stellar,value:0})]}}async function z({recipient:O,assetValue:R,memo:w,sender:J}){if(w){if(new TextEncoder().encode(w).length>28)throw new e.SwapKitError("helpers_invalid_memo_type")}if(!await iX(O))throw new e.SwapKitError("core_transaction_invalid_recipient_address");let W=J||await Q();if(!W)throw new e.SwapKitError("toolbox_stellar_no_signer");let{Asset:_,Memo:k,Networks:F,Operation:$,TransactionBuilder:x}=await import("@stellar/stellar-sdk"),n=await q(),B=await n.fetchBaseFee(),I=await n.loadAccount(W),P=new x(I,{fee:String(B),networkPassphrase:F.PUBLIC});if(R.isGasAsset)try{await n.loadAccount(O),P.addOperation($.payment({amount:R.getValue("string"),asset:_.native(),destination:O}))}catch{P.addOperation($.createAccount({destination:O,startingBalance:R.getValue("string")}))}else P.addOperation($.payment({amount:R.getValue("string"),asset:new _(R.symbol,R.address),destination:O}));if(w)P.addMemo(k.text(w));return P.setTimeout(30).build()}async function L(O){let{TransactionBuilder:R,Networks:w}=await import("@stellar/stellar-sdk"),J=await U(),A=R.fromXDR(O.toXDR(),w.PUBLIC);return A.sign(J),A}function Z(O){return G(O,"toolbox_stellar_broadcast_error")}async function N({recipient:O,assetValue:R,memo:w}){let J=await U(),A=J.publicKey(),W=await z({assetValue:R,memo:w,recipient:O,sender:A});return W.sign(J),G(W,"toolbox_stellar_transaction_failed")}async function M(O){let R=await L(O);return Z(R)}async function D(){let{baseDecimal:O}=e.getChainConfig(e.Chain.Stellar);try{let J=(await(await q()).feeStats()).fee_charged.p50;return e.AssetValue.from({chain:e.Chain.Stellar,fromBaseDecimal:O,value:J})}catch{return e.AssetValue.from({chain:e.Chain.Stellar,fromBaseDecimal:O,value:"100"})}}return{broadcastTransaction:Z,createTransaction:z,estimateTransactionFee:D,getAddress:Q,getBalance:Y,signAndBroadcastTransaction:M,signTransaction:L,transfer:N,validateAddress:q1}}var e,U1,hX;var RU=E(()=>{e=require("@swapkit/helpers"),U1=require("ts-pattern"),hX=/^G[A-Z2-7]{55}$/});var X1={};Dy(X1,{validateStellarAddress:()=>q1,getStellarToolbox:()=>OU});module.exports=ky(X1);var G1=E(()=>{RU()});var aX={};Dy(aX,{getToolbox:()=>GC,getFeeEstimator:()=>rX,getAddressValidator:()=>dX});module.exports=ky(aX);var K=require("@swapkit/helpers");async function dX(){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:Y}=await Promise.resolve().then(() => (nH(),SH)),{validateNearAddress:z}=await Promise.resolve().then(() => (cH(),tH)),{validateRadixAddress:L}=await Promise.resolve().then(() => (iH(),gH)),{validateRippleAddress:Z}=await Promise.resolve().then(() => (rH(),dH)),{validateTronAddress:N}=await Promise.resolve().then(() => (XC(),qC)),{validateStellarAddress:M}=await Promise.resolve().then(() => (G1(),X1));return function({address:O,chain:R}){return y(R).with(...K.EVMChains,()=>C(O)).with(...K.UTXOChains,(J)=>{return Y(J)(O)}).with(...K.CosmosChains,(J)=>{return H(J)(O)}).with(K.Chain.Aptos,()=>T(O)).with(K.Chain.Radix,()=>L(O)).with(K.Chain.Hype,()=>U(O)).with(K.Chain.Near,()=>z(O)).with(K.Chain.Ripple,()=>Z(O)).with(K.Chain.Solana,()=>q(O)).with(K.Chain.Stellar,()=>M(O)).with(K.Chain.Starknet,()=>X(O)).with(K.Chain.Sui,()=>G(O)).with(K.Chain.Ton,()=>Q(O)).with(K.Chain.Tron,()=>N(O)).with(K.Chain.Cardano,()=>f(O)).otherwise(()=>!1)}}function rX(y){return async function(C){let{match:f}=await import("ts-pattern");return f(y).returnType().with(...K.EVMChains,async(H)=>{let U=await GC(H),q=await U.createTransaction(C),X="feeOptionKey"in C?C.feeOptionKey:K.FeeOption.Fast;return U.estimateTransactionFee({...q,feeOption:X})}).with(K.Chain.Bitcoin,K.Chain.BitcoinCash,K.Chain.Dogecoin,K.Chain.Dash,K.Chain.Litecoin,K.Chain.Solana,K.Chain.Ripple,K.Chain.Tron,K.Chain.Near,K.Chain.Cardano,K.Chain.Hype,async(H)=>{return(await GC(H)).estimateTransactionFee(C)}).with(K.Chain.Aptos,async()=>{let{getAptosToolbox:H}=await Promise.resolve().then(() => (h0(),u0));return H().estimateTransactionFee(C)}).with(K.Chain.Starknet,async()=>{let{getStarknetToolbox:H}=await Promise.resolve().then(() => ($T(),wT));return(await H()).estimateTransactionFee(C)}).with(K.Chain.Stellar,async()=>{let{getStellarToolbox:H}=await Promise.resolve().then(() => (G1(),X1));return H().estimateTransactionFee()}).with(K.Chain.Sui,async()=>{let{getSuiToolbox:H}=await Promise.resolve().then(() => (nT(),ST));return H().estimateTransactionFee(C)}).with(K.Chain.Ton,async()=>{let{getTONToolbox:H}=await Promise.resolve().then(() => (VT(),oT));return H().estimateTransactionFee(C)}).with(...K.CosmosChains,async()=>{let{estimateTransactionFee:H}=await Promise.resolve().then(() => (MT(),AT));return H(C)}).otherwise(async()=>K.AssetValue.from({chain:y}))}}async function GC(y,T){let{match:C}=await import("ts-pattern");return C(y).returnType().with(...K.EVMChains,async()=>{let{getEvmToolboxAsync:f}=await Promise.resolve().then(() => (P1(),KC));return await f(y,T)}).with(...K.UTXOChains,async()=>{let{getUtxoToolbox:f}=await Promise.resolve().then(() => (nH(),SH));return f(y,T)}).with(...K.CosmosChains,async()=>{let{getCosmosToolbox:f}=await Promise.resolve().then(() => (MT(),AT));return f(y,T)}).with(K.Chain.Aptos,async()=>{let{getAptosToolbox:f}=await Promise.resolve().then(() => (h0(),u0));return f(T)}).with(K.Chain.Hype,async()=>{let{getHyperCoreToolbox:f}=await Promise.resolve().then(() => (CH(),HH));return f(T)}).with(K.Chain.Radix,async()=>{let{getRadixToolbox:f}=await Promise.resolve().then(() => (iH(),gH));return f(T)}).with(K.Chain.Ripple,async()=>{let{getRippleToolbox:f}=await Promise.resolve().then(() => (rH(),dH));return f(T)}).with(K.Chain.Solana,async()=>{let{getSolanaToolbox:f}=await Promise.resolve().then(() => (QH(),GH));return f(T)}).with(K.Chain.Stellar,async()=>{let{getStellarToolbox:f}=await Promise.resolve().then(() => (G1(),X1));return f(T)}).with(K.Chain.Starknet,async()=>{let{getStarknetToolbox:f}=await Promise.resolve().then(() => ($T(),wT));return f(T)}).with(K.Chain.Sui,async()=>{let{getSuiToolbox:f}=await Promise.resolve().then(() => (nT(),ST));return f(T)}).with(K.Chain.Tron,async()=>{let{getTronToolbox:f}=await Promise.resolve().then(() => (XC(),qC));return f(T)}).with(K.Chain.Near,async()=>{let{getNearToolbox:f}=await Promise.resolve().then(() => (cH(),tH));return f(T)}).with(K.Chain.Cardano,async()=>{let{getCardanoToolbox:f}=await Promise.resolve().then(() => (b1(),v1));return f(T)}).with(K.Chain.Ton,async()=>{let{getTONToolbox:f}=await Promise.resolve().then(() => (VT(),oT));return f(T)}).otherwise(()=>{throw new K.SwapKitError("toolbox_not_supported",{chain:y})})}