@swapkit/toolboxes 4.17.4 → 4.17.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- var S2=Object.create;var{getPrototypeOf:P2,defineProperty:G0,getOwnPropertyNames:GH,getOwnPropertyDescriptor:V2}=Object,XH=Object.prototype.hasOwnProperty;function _H(y){return this[y]}var E2,v2,q1=(y,T,H)=>{var f=y!=null&&typeof y==="object";if(f){var C=T?E2??=new WeakMap:v2??=new WeakMap,U=C.get(y);if(U)return U}H=y!=null?S2(P2(y)):{};let q=T||!y||!y.__esModule?G0(H,"default",{value:y,enumerable:!0}):H;for(let G of GH(y))if(!XH.call(q,G))G0(q,G,{get:_H.bind(y,G),enumerable:!0});if(f)C.set(y,q);return q},ny=(y)=>{var T=(qH??=new WeakMap).get(y),H;if(T)return T;if(T=G0({},"__esModule",{value:!0}),y&&typeof y==="object"||typeof y==="function"){for(var f of GH(y))if(!XH.call(T,f))G0(T,f,{get:_H.bind(y,f),enumerable:!(H=V2(y,f))||H.enumerable})}return qH.set(y,T),T},qH;var p2=(y)=>y;function b2(y,T){this[y]=p2.bind(null,T)}var Ny=(y,T)=>{for(var H in T)G0(y,H,{get:T[H],enumerable:!0,configurable:!0,set:b2.bind(T,H)})};var E=(y,T)=>()=>(y&&(T=y(y=0)),T);function pf(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 j2.test(T)}function QH({derivationPath:y,provider:T,...H}={}){let f,C=t.derivationPathToString(y||t.NetworkDerivationPath[t.Chain.Aptos],{allHardened:!0});async function U(){if(f)return f;return f=await Of.match(H).with({phrase:Of.P.string},async({phrase:M})=>{let{Ed25519Account:n}=await import("@aptos-labs/ts-sdk");return n.fromDerivationPath({mnemonic:M,path:C})}).with({signer:Of.P.any},({signer:M})=>M).otherwise(()=>{return}),f}async function q(){let{Aptos:M,AptosConfig:n}=await import("@aptos-labs/ts-sdk"),O=new n({fullnode:T||t.getRPCUrlSync(t.Chain.Aptos)});return new M(O)}async function G(){return(await U())?.accountAddress.toString()||""}async function X(M){let n=M||await G();if(!n)throw new t.SwapKitError("toolbox_aptos_address_required");let{baseDecimal:O,chain:J}=t.getChainConfig(t.Chain.Aptos);try{let R=await q(),N=await R.getAccountAPTAmount({accountAddress:n}),B=[t.AssetValue.from({chain:J,fromBaseDecimal:O,value:N.toString()})],Y=await R.getCurrentFungibleAssetBalances({options:{where:{owner_address:{_eq:n}}}});for(let z of Y){if(z.asset_type===Df.COIN_TYPE||Number(z.amount)<=0)continue;let k=z.asset_type;if(k){let w=("metadata"in z&&typeof z.metadata==="object"&&z.metadata!==null?z.metadata:void 0)?.decimals??O;B.push(t.AssetValue.from({asset:`${t.Chain.Aptos}.APT-${k}`,fromBaseDecimal:w,value:String(z.amount)}))}}return B}catch{return[t.AssetValue.from({chain:J})]}}async function _(M){if(!M){let{baseDecimal:Y}=t.getChainConfig(t.Chain.Aptos),z=T||t.getRPCUrlSync(t.Chain.Aptos),k=await fetch(`${z}/estimate_gas_price`),{gas_estimate:F}=await k.json();return t.AssetValue.from({chain:t.Chain.Aptos,fromBaseDecimal:Y,value:String(F)})}let n=await U();if(!n)throw new t.SwapKitError("toolbox_aptos_no_signer");let O=await L(M),J=await q(),[R]=await J.transaction.simulate.simple({signerPublicKey:n.publicKey,transaction:O});if(!R)throw new t.SwapKitError("toolbox_aptos_transaction_creation_error");let N=BigInt(R.gas_used)*BigInt(R.gas_unit_price),{baseDecimal:B}=t.getChainConfig(t.Chain.Aptos);return t.AssetValue.from({chain:t.Chain.Aptos,fromBaseDecimal:B,value:N.toString()})}async function L({recipient:M,assetValue:n,maxGasAmount:O,sender:J}){if(!pf(M))throw new t.SwapKitError("core_transaction_invalid_recipient_address");let R=J||await G();if(!R)throw new t.SwapKitError("toolbox_aptos_no_sender");let{AccountAddress:N}=await import("@aptos-labs/ts-sdk"),B=await q(),Y=N.from(R);try{let z=n.isGasAsset?Df.TRANSFER:Df.FUNGIBLE_STORE_TRANSFER,k=Of.match({address:n?.address,isGasAsset:n.isGasAsset}).with({isGasAsset:!0},()=>[N.from(M),n.getBaseValue("bigint")]).with({address:Of.P.string},({address:F})=>[N.from(F),N.from(M),n.getBaseValue("bigint")]).otherwise(()=>null);if(!k)throw new t.SwapKitError("toolbox_aptos_missing_asset_type");return B.transaction.build.simple({data:{function:z,functionArguments:k,typeArguments:n.isGasAsset?[]:[Df.FUNGIBLE_ASSET_METADATA]},options:O?{maxGasAmount:O}:void 0,sender:Y})}catch(z){if(z instanceof t.SwapKitError)throw z;throw new t.SwapKitError("toolbox_aptos_transaction_creation_error",z)}}async function A(M){let n=await U();if(!n)throw new t.SwapKitError("toolbox_aptos_no_signer");return(await q()).transaction.sign({signer:n,transaction:M})}async function Z({assetValue:M,maxGasAmount:n,recipient:O}){let J=await U();if(!J)throw new t.SwapKitError("toolbox_aptos_no_signer");if(!pf(O))throw new t.SwapKitError("core_transaction_invalid_recipient_address");try{let R=J.accountAddress.toString(),N=await L({assetValue:M,maxGasAmount:n,recipient:O,sender:R});return(await(await q()).signAndSubmitTransaction({signer:J,transaction:N})).hash}catch(R){if(R instanceof t.SwapKitError)throw R;throw new t.SwapKitError("toolbox_aptos_transaction_creation_error",R)}}async function Q({senderAuthenticator:M,transaction:n}){try{return(await(await q()).transaction.submit.simple({senderAuthenticator:M,transaction:n})).hash}catch(O){throw new t.SwapKitError("toolbox_aptos_broadcast_error",O)}}async function W(M){let n=await A(M);return Q({senderAuthenticator:n,transaction:M})}return{broadcastTransaction:Q,createTransaction:L,estimateTransactionFee:_,getAddress:G,getBalance:X,signAndBroadcastTransaction:W,signTransaction:A,transfer:Z,validateAddress:pf}}function ZH({provider:y}){return async function({assetValue:H,recipient:f}){if(!pf(f))throw new t.SwapKitError("core_transaction_invalid_recipient_address");let{AccountAddress:C}=await import("@aptos-labs/ts-sdk");if(H.isGasAsset)return(await y.signAndSubmitTransaction({arguments:[C.from(f).toString(),H.getBaseValue("string")],function:Df.TRANSFER,type:"entry_function_payload",type_arguments:[]})).hash;let U=H.address;if(!U)throw new t.SwapKitError("toolbox_aptos_missing_asset_type");return(await y.signAndSubmitTransaction({arguments:[U,C.from(f).toString(),H.getBaseValue("string")],function:Df.FUNGIBLE_STORE_TRANSFER,type:"entry_function_payload",type_arguments:[Df.FUNGIBLE_ASSET_METADATA]})).hash}}var t,Of,Df,j2;var WH=E(()=>{t=require("@swapkit/helpers"),Of=require("ts-pattern"),Df={COIN_TYPE:"0x1::aptos_coin::AptosCoin",FUNGIBLE_ASSET_METADATA:"0x1::fungible_asset::Metadata",FUNGIBLE_STORE_TRANSFER:"0x1::primary_fungible_store::transfer",TRANSFER:"0x1::aptos_account::transfer"},j2=/^[0-9a-fA-F]+$/});var h0={};Ny(h0,{validateAptosAddress:()=>pf,getAptosToolbox:()=>QH,createAptosExtensionTransfer:()=>ZH});module.exports=ny(h0);var t0=E(()=>{WH()});function JH(){function y(){let T=Date.now(),H=G1||T;return G1=H,T>G1?T:H+1}return l2+y().toString(36)}function oy(y){return async function(H,f=!0){let C=await YH.SwapKitApi.getChainBalance({address:H,chain:y,scamFilter:f}),{baseDecimal:U}=X0.getChainConfig(y),q=C.map(({identifier:X,value:_,decimal:L})=>{return new X0.AssetValue({decimal:L||U,identifier:X,value:_})});if(!q.some((X)=>X.isGasAsset))return[X0.AssetValue.from({chain:y}),...q];return q}}var X0,YH,l2,G1=0;var sy=E(()=>{X0=require("@swapkit/helpers"),YH=require("@swapkit/helpers/api"),l2=typeof process<"u"&&process.pid?process.pid.toString(36):""});function _0(y){return{getBalance:oy(y)}}function K2(y){return y}var m0=E(()=>{sy()});function zH(y){return new Rf.JsonRpcProvider(y)}async function W1(y,T){return zH(T||await e.getRPCUrl(y))}function Q0(y){return y>0n?`0x${y.toString(16)}`:"0x0"}function Y1(y){let{explorerUrl:T,chainIdHex:H,rpcUrls:f}=e.getChainConfig(y);return function(){return y!==e.Chain.Ethereum?{...u2({chain:y}),blockExplorerUrls:[T],chainId:H,rpcUrls:f}:void 0}}function J1(y){return![e.Chain.Adi,e.Chain.Arbitrum,e.Chain.BinanceSmartChain].includes(y)}function u2({chain:y}){let{name:T,nativeCurrency:H,baseDecimal:f}=e.getChainConfig(y);return Z1.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 L1(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 AH(y,T){let H=T!==void 0?`index ${T}: `:"",f=(C,U)=>{throw new e.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:C,message:`${H}${U}`}})};Z1.match(y).when(({chainId:C})=>typeof C!=="bigint",()=>f("chainId","chainId must be a bigint")).when(({address:C})=>!h2(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})=>!LH(C?.r),()=>f("signature.r","r must be a 32-byte hex string")).when(({signature:C})=>!LH(C?.s),()=>f("signature.s","s must be a 32-byte hex string")).otherwise(()=>{})}function MH(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 X1(y){return y.charAt(0).toUpperCase()+y.slice(1)}function _1(y,T){if(y.isTuple()&&y.components){let H=X1(y.name);return T[H]=y.components.map((f)=>({name:f.name,type:_1(f,T)})),H}if(y.isArray()){let H=y.arrayChildren;if(H?.isTuple()&&H.components){let f=X1(y.name.replace(/s$/,""));return T[f]=H.components.map((C)=>({name:C.name,type:_1(C,T)})),`${f}[]`}return`${H?.type??"bytes"}[]`}return y.type}function Q1(y,T){if(typeof y==="bigint")return y;if(T?.isTuple()&&typeof y?.toObject==="function"){let H=y.toObject(),f={};for(let[C,U]of(T.components??[]).entries())f[U.name]=Q1(H[U.name]??y[C],U);return f}if(Array.isArray(y)){let H=T?.arrayChildren;return y.map((f)=>Q1(f,H??void 0))}return y}function t2({chain:y,abi:T,data:H,to:f}){let U=new Rf.Interface(T).parseTransaction({data:H});if(!U)throw new e.SwapKitError({errorKey:"toolbox_evm_invalid_params",info:{error:"Could not decode calldata"}});let q={},G=X1(U.name);q[G]=U.fragment.inputs.map((Z)=>({name:Z.name,type:_1(Z,q)}));let X={};for(let[Z,Q]of U.fragment.inputs.entries())X[Q.name]=Q1(U.args[Z],Q);let{chainId:_}=e.getChainConfig(y),L={chainId:Number(_),verifyingContract:Rf.getAddress(f)},A=MH(L);return{domain:L,message:X,primaryType:G,types:{EIP712Domain:A,...q}}}function z1(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(AH(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,Rf,Z1,LH=(y)=>typeof y==="string"&&/^0x[a-fA-F0-9]{64}$/.test(y),h2=(y)=>{try{return typeof y==="string"&&!!Rf.getAddress(y)}catch{return!1}};var Z0=E(()=>{e=require("@swapkit/helpers"),Rf=require("ethers"),Z1=require("ts-pattern")});var BH;var NH=E(()=>{BH=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"}]});function jf({chain:y=o.Chain.Ethereum,provider:T,signer:H,isEIP1559Compatible:f=!0}){return{approve:d2({chain:y,isEIP1559Compatible:f,provider:T,signer:H}),approvedAmount:RH({chain:y,provider:T}),broadcastTransaction:T.broadcastTransaction,call:O1({chain:y,isEIP1559Compatible:f,provider:T,signer:H}),createApprovalTx:e2({chain:y,provider:T,signer:H}),createContract:B1({chain:y,provider:T}),createContractTxObject:nf({chain:y,provider:T}),createTransaction:A1({chain:y,provider:T,signer:H}),createTransferTx:A1({chain:y,provider:T,signer:H}),EIP1193SendTransaction:Kf(T),estimateCall:nH({provider:T,signer:H}),estimateGasLimit:a2({chain:y,provider:T,signer:H}),estimateGasPrices:kf({chain:y,isEIP1559Compatible:f,provider:T}),estimateTransactionFee:y8({chain:y,isEIP1559Compatible:f,provider:T}),getAddress:()=>{return H?H.getAddress():void 0},getBalance:_0(y).getBalance,getNetworkParams:Y1(y),isApproved:i2({chain:y,provider:T}),sendTransaction:kH({chain:y,isEIP1559Compatible:f,provider:T,signer:H}),signAuthorization:s2({signer:H}),signMessage:H?(C)=>H.signMessage(C):void 0,signTypedData:H?({domain:C,types:U,value:q})=>H.signTypedData(C,U,q):void 0,transfer:r2({chain:y,isEIP1559Compatible:f,provider:T,signer:H}),validateAddress:Y0}}function Y0(y){try{return Py.getAddress(y),!0}catch{return!1}}function lf(y){return y instanceof Py.BrowserProvider}function J0(y,T,H){return new Py.Contract(y,Py.Interface.from(T),H)}function B1({provider:y}){return function(H,f){return new Py.Contract(H,Py.Interface.from(f),y)}}function N1({abi:y,funcName:T}){let H=y.find((f)=>f.name===T);if(!H)throw new o.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:T});return H.stateMutability&&m2.includes(H.stateMutability)}function DH(y){return Py.getAddress(y)}function Kf(y){return function({value:H,...f}){if(!lf(y))throw new o.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:C,gasPrice:U,maxFeePerGas:q,maxPriorityFeePerGas:G,...X}=f;return y.send("eth_sendTransaction",[{...X,value:Q0(BigInt(H||0))}])}}function OH(y,T){let H=uf(y,T);if(H)return Py.getAddress(H.toLowerCase());throw new o.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function uf({chain:y,symbol:T,ticker:H},f){try{let C=y===o.Chain.BinanceSmartChain&&T==="BNB"&&H==="BNB",U=y===o.Chain.Hyperevm&&T==="HYPE"&&H==="HYPE",q=y===f&&T===f&&H===f,G=g2.includes(y)&&T==="ETH"&&H==="ETH";if(q||C||U||G)return D1[f];return Py.getAddress(T.slice(H.length+1).replace(/^0X/,""))}catch{return null}}function nf({provider:y}){return async({contractAddress:T,abi:H,funcName:f,funcParams:C=[],txOverrides:U})=>J0(T,H,y).getFunction(f).populateTransaction(...C.concat(U).filter((q)=>typeof q<"u"))}function kf({chain:y,provider:T,isEIP1559Compatible:H=!0}){return M1.match(y).with(o.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:C,maxPriorityFeePerGas:U}=await T.getFeeData();if(!C||U===null)throw new o.SwapKitError("toolbox_evm_no_fee_data");return{[o.FeeOption.Average]:{maxFeePerGas:o.applyFeeMultiplierToBigInt(C,o.FeeOption.Average),maxPriorityFeePerGas:o.applyFeeMultiplierToBigInt(U,o.FeeOption.Average)},[o.FeeOption.Fast]:{maxFeePerGas:o.applyFeeMultiplierToBigInt(C,o.FeeOption.Fast),maxPriorityFeePerGas:o.applyFeeMultiplierToBigInt(U,o.FeeOption.Fast)},[o.FeeOption.Fastest]:{maxFeePerGas:o.applyFeeMultiplierToBigInt(C,o.FeeOption.Fastest),maxPriorityFeePerGas:o.applyFeeMultiplierToBigInt(U,o.FeeOption.Fastest)}}}catch(C){throw new o.SwapKitError("toolbox_evm_gas_estimation_error",{error:C.msg??C.toString()})}}}).with(o.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:C}=await T.getFeeData();if(!C)throw new o.SwapKitError("toolbox_evm_no_fee_data");let U=C*12n/10n;return{[o.FeeOption.Average]:{gasPrice:U},[o.FeeOption.Fast]:{gasPrice:o.applyFeeMultiplierToBigInt(U,o.FeeOption.Fast)},[o.FeeOption.Fastest]:{gasPrice:o.applyFeeMultiplierToBigInt(U,o.FeeOption.Fastest)}}}catch(C){throw new o.SwapKitError("toolbox_evm_gas_estimation_error",{error:C.msg??C.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:C,maxPriorityFeePerGas:U,gasPrice:q}=await T.getFeeData();if(H){if(C===null||U===null)throw new o.SwapKitError("toolbox_evm_no_fee_data");return{[o.FeeOption.Average]:{maxFeePerGas:C,maxPriorityFeePerGas:U},[o.FeeOption.Fast]:{maxFeePerGas:o.applyFeeMultiplierToBigInt(C,o.FeeOption.Fast),maxPriorityFeePerGas:o.applyFeeMultiplierToBigInt(U,o.FeeOption.Fast)},[o.FeeOption.Fastest]:{maxFeePerGas:o.applyFeeMultiplierToBigInt(C,o.FeeOption.Fastest),maxPriorityFeePerGas:o.applyFeeMultiplierToBigInt(U,o.FeeOption.Fastest)}}}if(!q)throw new o.SwapKitError("toolbox_evm_no_gas_price");return{[o.FeeOption.Average]:{gasPrice:q},[o.FeeOption.Fast]:{gasPrice:o.applyFeeMultiplierToBigInt(q,o.FeeOption.Fast)},[o.FeeOption.Fastest]:{gasPrice:o.applyFeeMultiplierToBigInt(q,o.FeeOption.Fastest)}}}catch(C){throw new o.SwapKitError("toolbox_evm_gas_estimation_error",{error:C.msg??C.toString()})}}})}function O1({provider:y,isEIP1559Compatible:T,signer:H,chain:f}){return async function({callProvider:U,contractAddress:q,abi:G,funcName:X,funcParams:_=[],txOverrides:L={},feeOption:A=o.FeeOption.Fast}){let Z=U||y;if(!q)throw new o.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let Q=N1({abi:G,funcName:X});if(Q&&lf(Z)&&H){let n=nf({chain:f,provider:Z}),O=L?.from||await H?.getAddress(),J=await n({abi:G,contractAddress:q,funcName:X,funcParams:_,txOverrides:{...L,from:O}});return Kf(Z)(J)}let W=J0(q,G,Z);if(Q){if(!H)throw new o.SwapKitError("toolbox_evm_no_signer");let n=L?.from||await H.getAddress();if(!n)throw new o.SwapKitError("toolbox_evm_no_signer_address");let O=W.connect(H),J=kf({chain:f,isEIP1559Compatible:T,provider:y}),{maxFeePerGas:R,maxPriorityFeePerGas:N,gasPrice:B}=(await J())[A],Y=await W.getFunction(X).estimateGas(..._,L),z=await O[X](..._,{...L,gasLimit:Y,gasPrice:B,maxFeePerGas:R,maxPriorityFeePerGas:N,nonce:L?.nonce||await Z.getTransactionCount(n)});return typeof z?.hash==="string"?z?.hash:z}let M=await W[X]?.(..._);return typeof M?.hash==="string"?M?.hash:M}}function RH({provider:y,chain:T}){return function({assetAddress:f,spenderAddress:C,from:U}){return O1({chain:T,isEIP1559Compatible:!0,provider:y})({abi:bf.erc20ABI,contractAddress:f,funcName:"allowance",funcParams:[U,C]})}}function i2({provider:y,chain:T}){return async function({assetAddress:f,spenderAddress:C,from:U,amount:q=W0}){let G=await RH({chain:T,provider:y})({assetAddress:f,from:U,spenderAddress:C});return o.SwapKitNumber.fromBigInt(G).gte(o.SwapKitNumber.fromBigInt(BigInt(q)))}}function d2({signer:y,isEIP1559Compatible:T=!0,provider:H,chain:f}){return async function({assetAddress:U,spenderAddress:q,feeOptionKey:G=o.FeeOption.Fast,amount:X,gasLimitFallback:_,from:L,nonce:A}){let Z=[q,BigInt(X||W0)],Q=await y?.getAddress()||L,W={abi:bf.erc20ABI,contractAddress:U,funcName:"approve",funcParams:Z,signer:y,txOverrides:{from:Q}};if(lf(H)){let n=nf({chain:f,provider:H}),O=Kf(H),J=await n(W);return O(J)}return O1({chain:f,isEIP1559Compatible:T,provider:H,signer:y})({...W,feeOption:G,funcParams:Z,txOverrides:{from:Q,gasLimit:_?BigInt(_.toString()):void 0,nonce:A}})}}function r2({signer:y,isEIP1559Compatible:T=!0,provider:H}){return async function({assetValue:C,memo:U,recipient:q,feeOptionKey:G=o.FeeOption.Fast,sender:X,..._}){let{hexlify:L,toUtf8Bytes:A}=await import("ethers"),Z=C.getBaseValue("bigint"),Q=C.chain,W=X||await y?.getAddress(),M=kH({chain:Q,isEIP1559Compatible:T,provider:H,signer:y});if(!W)throw new o.SwapKitError("toolbox_evm_no_from_address");if(C.isGasAsset){let B={..._,data:L(A(U||"")),feeOptionKey:G,from:W,to:q,value:Z};return M(B)}if(!uf(C,Q))throw new o.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:O,maxPriorityFeePerGas:J,gasPrice:R}=(await kf({chain:Q,isEIP1559Compatible:T,provider:H})())[G],N=await A1({chain:Q,provider:H,signer:y})({assetValue:C,data:L(A(U||"")),gasPrice:R,maxFeePerGas:O,maxPriorityFeePerGas:J,memo:U,recipient:q,sender:W});return M(N)}}function nH({provider:y,signer:T}){return function({contractAddress:f,abi:C,funcName:U,funcParams:q=[],txOverrides:G}){if(!f)throw new o.SwapKitError("toolbox_evm_no_contract_address");let X=J0(f,C,y);return T?X.connect(T).getFunction(U).estimateGas(...q,G):X.getFunction(U).estimateGas(...q,G)}}function a2({provider:y,signer:T}){return async function({assetValue:f,recipient:C,memo:U,data:q,sender:G,funcName:X,funcParams:_,txOverrides:L}){let A=f.bigIntValue,Z=f.isGasAsset?null:uf(f,f.chain);if(Z&&X)return nH({provider:y,signer:T})({abi:bf.erc20ABI,contractAddress:Z,funcName:X,funcParams:_,txOverrides:L});let{hexlify:Q,toUtf8Bytes:W}=await import("ethers");return y.estimateGas({data:q?q:U?Q(W(U)):void 0,from:G,to:C,value:A})}}function s2({signer:y}){if(!y)return;return(T)=>L1(y,T)}function kH({provider:y,signer:T,isEIP1559Compatible:H=!0,chain:f}){return async function({feeOptionKey:U=o.FeeOption.Fast,...q}){let{from:G,to:X,data:_,value:L,...A}=q;if(!T)throw new o.SwapKitError("toolbox_evm_no_signer");if(!X)throw new o.SwapKitError("toolbox_evm_no_to_address");let Z={...A,data:_||"0x",from:G,to:X,value:BigInt(L||0)};if(lf(y))return Kf(y)(Z);let Q=G||await T.getAddress(),W=q.nonce||await y.getTransactionCount(Q),M=(await y.getNetwork()).chainId,n=n1(Z,H);if(n==="eip7702")z1(Z.authorizations||[],M);let O=M1.match(n).with("eip7702",()=>4).with("eip1559",()=>2).otherwise(()=>0),J={...Z,chainId:M,nonce:W,type:O,...n==="eip7702"&&{authorizationList:Z.authorizations}},R=kf({chain:f,isEIP1559Compatible:H,provider:y}),B=n!=="legacy"&&!(Z.maxFeePerGas&&Z.maxPriorityFeePerGas)||!Z.gasPrice?Object.entries((await R())[U]).reduce((z,[k,F])=>({...z,[k]:Q0(BigInt(F))}),{}):{},Y;try{Y=Q0(Z.gasLimit||await y.estimateGas(J)*11n/10n)}catch(z){throw new o.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:z})}try{let z={...J,gasLimit:Y,...B};try{return(await T.sendTransaction(z)).hash}catch{let k=await T.signTransaction({...z,from:Q});return(await y.broadcastTransaction(k)).hash}}catch(z){throw new o.SwapKitError("toolbox_evm_error_sending_transaction",{error:z})}}}function A1({provider:y,signer:T}){return async function({assetValue:f,memo:C,recipient:U,data:q,sender:G,maxFeePerGas:X,maxPriorityFeePerGas:_,gasPrice:L,...A}){let Z=f.getBaseValue("bigint"),Q=f.chain,W=G||await T?.getAddress();if(!W)throw new o.SwapKitError("toolbox_evm_no_from_address");if(o.isGasAsset(f)){let{hexlify:O,toUtf8Bytes:J}=await import("ethers");return{...A,data:q||O(J(C||"")),from:W,to:U,value:Z}}let M=uf(f,Q);if(!M)throw new o.SwapKitError("toolbox_evm_no_contract_address");return nf({chain:f.chain,provider:y})({abi:bf.erc20ABI,contractAddress:M,funcName:"transfer",funcParams:[U,Z],txOverrides:{from:W,gasPrice:L,maxFeePerGas:X,maxPriorityFeePerGas:_}})}}function e2({provider:y,signer:T,chain:H}){return async function({assetAddress:C,spenderAddress:U,amount:q,from:G}){let X=await T?.getAddress()||G,_=nf({chain:H,provider:y}),L=["bigint","number"].includes(typeof q)?q:q||W0;return await _({abi:bf.erc20ABI,contractAddress:C,funcName:"approve",funcParams:[U,BigInt(L)],txOverrides:{from:X}})}}function y8({provider:y,isEIP1559Compatible:T=!0,chain:H}){return async function({feeOption:C=o.FeeOption.Fast,...U}){let G=await kf({chain:H,isEIP1559Compatible:T,provider:y})(),X=await y.estimateGas(U),_=o.AssetValue.from({chain:H}),{gasPrice:L,maxFeePerGas:A,maxPriorityFeePerGas:Z}=G[C];if(!T&&L)return _.set(o.SwapKitNumber.fromBigInt(L*X,_.decimal));if(A&&Z){let Q=(A+Z)*X;return _.set(o.SwapKitNumber.fromBigInt(Q,_.decimal))}throw new o.SwapKitError("toolbox_evm_no_gas_price")}}var o,bf,Py,M1,W0,m2,c2,D1,g2,c0=(y)=>y.type===4||(y.authorizations?.length??0)>0,R1=(y)=>!c0(y)&&(y.type===2||!!y.maxFeePerGas||!!y.maxPriorityFeePerGas),n1=(y,T=!0)=>{if(c0(y))return"eip7702";if(R1(y)||T)return"eip1559";return"legacy"};var g0=E(()=>{m0();Z0();o=require("@swapkit/helpers"),bf=require("@swapkit/helpers/contracts"),Py=require("ethers"),M1=require("ts-pattern"),W0=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");m2=["payable","nonpayable"];c2=o.EVMChains.reduce((y,T)=>{return y[T]="0x0000000000000000000000000000000000000000",y},{}),D1={...c2,[o.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[o.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},g2=[o.Chain.Arbitrum,o.Chain.Aurora,o.Chain.Base,o.Chain.Optimism]});function i0(y){let T=Jy(Xy.Chain.Ethereum)(y);async function H(f,C="0x5ba1e12693dc8f9c48aad8770482f4739beed696",U="aggregate",q=Xy.FeeOption.Fast){let G=await T.createContractTxObject({abi:BH,contractAddress:C,funcName:U,funcParams:[f]});return T.sendTransaction({...G,feeOptionKey:q})}return{...T,multicall:H}}function Jy(y){return function({provider:H,...f}){let C=J1(y),U=L0.match(f).with({phrase:L0.P.string},({phrase:G})=>wH.HDNodeWallet.fromPhrase(G).connect(H)).with({signer:L0.P.any},({signer:G})=>G).otherwise(()=>{return});return jf({chain:y,isEIP1559Compatible:C,provider:H,signer:U})}}var Xy,wH,L0,d0,r0,a0,s0,e0,yT,fT,FH,TT,CT,HT,UT,qT,GT,z0,XT,_T,QT,ZT;var k1=E(()=>{NH();Z0();g0();Xy=require("@swapkit/helpers"),wH=require("ethers"),L0=require("ts-pattern");d0=Jy(Xy.Chain.Adi),r0=Jy(Xy.Chain.Arbitrum),a0=Jy(Xy.Chain.Aurora),s0=Jy(Xy.Chain.Avalanche),e0=Jy(Xy.Chain.Base),yT=Jy(Xy.Chain.Berachain),fT=Jy(Xy.Chain.BinanceSmartChain),FH=Jy(Xy.Chain.Botanix),TT=Jy(Xy.Chain.Core),CT=Jy(Xy.Chain.Corn),HT=Jy(Xy.Chain.Cronos),UT=Jy(Xy.Chain.Gnosis),qT=Jy(Xy.Chain.Hyperevm),GT=Jy(Xy.Chain.Polygon),z0=Jy(Xy.Chain.Sonic),XT=Jy(Xy.Chain.Unichain),_T=Jy(Xy.Chain.XLayer),QT=Jy(Xy.Chain.Monad),ZT=Jy(Xy.Chain.MegaETH)});var $H;var xH=E(()=>{$H=[{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 w1(y){return new WT.Contract(T8,$H,y)}function oH(y){return async function(){let H=w1(y);if(H&&"l1BaseFee"in H)return await H?.l1BaseFee();return}}function IH(y){return async function({from:H,to:f,nonce:C,...U}){let{Transaction:q}=await import("ethers");if(!f)throw new _y.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return q.from({...U,authorizationList:U.authorizationList,nonce:C?C:H?await y.getTransactionCount(H):0,to:f}).serialized}}function SH(y){return async function(H){let f=w1(y),C=await IH(y)(H);if(f&&"getL1Fee"in f)return f.getL1Fee(C)}}function PH(y){return async function(H){let C=(await y.getFeeData()).gasPrice??0n,U=await y.estimateGas(H);return C*U}}function C8(y){return async function(H){let f=await SH(y)(H)??0n,C=await PH(y)(H);return f+C}}function H8(y){return async function(H){let f=w1(y),C=await IH(y)(H);if(f&&"getL1GasUsed"in f)return f.getL1GasUsed(C)}}function U8(y){return async function(){try{let{maxFeePerGas:H,maxPriorityFeePerGas:f,gasPrice:C}=await y.getFeeData(),U=await oH(y)(),q=C;if(!(H&&f))throw new _y.SwapKitError("toolbox_evm_no_fee_data");return{[_y.FeeOption.Average]:{gasPrice:q,l1GasPrice:U,maxFeePerGas:H,maxPriorityFeePerGas:f},[_y.FeeOption.Fast]:{gasPrice:_y.applyFeeMultiplierToBigInt(q,_y.FeeOption.Fast),l1GasPrice:_y.applyFeeMultiplierToBigInt(U||0n,_y.FeeOption.Fast),maxFeePerGas:H,maxPriorityFeePerGas:_y.applyFeeMultiplierToBigInt(f,_y.FeeOption.Fast)},[_y.FeeOption.Fastest]:{gasPrice:_y.applyFeeMultiplierToBigInt(q,_y.FeeOption.Fastest),l1GasPrice:_y.applyFeeMultiplierToBigInt(U||0n,_y.FeeOption.Fastest),maxFeePerGas:H,maxPriorityFeePerGas:_y.applyFeeMultiplierToBigInt(f,_y.FeeOption.Fastest)}}}catch(H){throw new _y.SwapKitError("toolbox_evm_gas_estimation_error",{error:H.msg??H.toString()})}}}function YT({provider:y,...T}){let H=A0.match(T).with({phrase:A0.P.string},({phrase:U})=>WT.HDNodeWallet.fromPhrase(U).connect(y)).with({signer:A0.P.any},({signer:U})=>U).otherwise(()=>{return}),f=jf({provider:y,signer:H}),C=oH(y);return{...f,estimateGasPrices:U8(y),estimateL1Gas:H8(y),estimateL1GasCost:SH(y),estimateL2GasCost:PH(y),estimateTotalGasCost:C8(y),getBalance:_0(_y.Chain.Optimism).getBalance,getL1GasPrice:C}}var _y,WT,A0,T8="0x420000000000000000000000000000000000000f";var F1=E(()=>{m0();xH();g0();_y=require("@swapkit/helpers"),WT=require("ethers"),A0=require("ts-pattern")});var vH={};Ny(vH,{validateEVMAddress:()=>Y0,toChecksumAddress:()=>DH,isStateChangingCall:()=>N1,isEIP7702Transaction:()=>c0,isEIP1559Transaction:()=>R1,isBrowserProvider:()=>lf,getTokenAddress:()=>uf,getEvmToolboxAsync:()=>EH,getEvmToolbox:()=>$1,getEstimateGasPrices:()=>kf,getEVMTxType:()=>n1,getEIP1193SendTransaction:()=>Kf,getCreateContractTxObject:()=>nf,getCreateContract:()=>B1,getChecksumAddressFromAsset:()=>OH,createContract:()=>J0,XLayerToolbox:()=>_T,UNIToolbox:()=>XT,SONICToolbox:()=>z0,OPToolbox:()=>YT,MONADToolbox:()=>QT,MEGAETHToolbox:()=>ZT,MAX_APPROVAL:()=>W0,MATICToolbox:()=>GT,HYPEREVMToolbox:()=>qT,GNOToolbox:()=>UT,ETHToolbox:()=>i0,ContractAddress:()=>D1,CROToolbox:()=>HT,CORNToolbox:()=>CT,COREToolbox:()=>TT,BotanixToolbox:()=>FH,BaseEVMToolbox:()=>jf,BSCToolbox:()=>fT,BERAToolbox:()=>yT,BASEToolbox:()=>e0,AVAXToolbox:()=>s0,AURORAToolbox:()=>a0,ARBToolbox:()=>r0,ADIToolbox:()=>d0});function $1(y,T){return VH.match(y).with(Wy.Chain.Adi,()=>d0(T)).with(Wy.Chain.Arbitrum,()=>r0(T)).with(Wy.Chain.Aurora,()=>a0(T)).with(Wy.Chain.Avalanche,()=>s0(T)).with(Wy.Chain.Base,()=>e0(T)).with(Wy.Chain.Berachain,()=>yT(T)).with(Wy.Chain.BinanceSmartChain,()=>fT(T)).with(Wy.Chain.Botanix,()=>z0(T)).with(Wy.Chain.Core,()=>TT(T)).with(Wy.Chain.Corn,()=>CT(T)).with(Wy.Chain.Cronos,()=>HT(T)).with(Wy.Chain.Ethereum,()=>i0(T)).with(Wy.Chain.Gnosis,()=>UT(T)).with(Wy.Chain.Hyperevm,()=>qT(T)).with(Wy.Chain.Optimism,()=>YT(T)).with(Wy.Chain.Polygon,()=>GT(T)).with(Wy.Chain.Sonic,()=>z0(T)).with(Wy.Chain.Unichain,()=>XT(T)).with(Wy.Chain.XLayer,()=>_T(T)).with(Wy.Chain.Monad,()=>QT(T)).with(Wy.Chain.MegaETH,()=>ZT(T)).exhaustive()}async function EH(y,T){let H={...T,provider:T?.provider||await W1(y)};return $1(y,H)}var Wy,VH;var x1=E(()=>{Z0();k1();F1();Wy=require("@swapkit/helpers"),VH=require("ts-pattern");g0();k1();F1()});var pH;var bH=E(()=>{((H)=>{H.Test="goerli";H.Main="homestead"})(pH||={})});var jH={};Ny(jH,{validateEVMAddress:()=>Y0,validateAuthorizations:()=>z1,validateAuthorization:()=>AH,toHexString:()=>Q0,toChecksumAddress:()=>DH,signAuthorization:()=>L1,parseEIP712FromEVMTx:()=>t2,isStateChangingCall:()=>N1,isEIP7702Transaction:()=>c0,isEIP1559Transaction:()=>R1,isBrowserProvider:()=>lf,getTokenAddress:()=>uf,getProviderSync:()=>zH,getProvider:()=>W1,getNetworkParams:()=>Y1,getIsEIP1559Compatible:()=>J1,getEvmToolboxAsync:()=>EH,getEvmToolbox:()=>$1,getEvmApi:()=>_0,getEstimateGasPrices:()=>kf,getEVMTxType:()=>n1,getEIP1193SendTransaction:()=>Kf,getCreateContractTxObject:()=>nf,getCreateContract:()=>B1,getChecksumAddressFromAsset:()=>OH,createCustomEvmApi:()=>K2,createContract:()=>J0,buildEIP712DomainType:()=>MH,XLayerToolbox:()=>_T,UNIToolbox:()=>XT,SONICToolbox:()=>z0,OPToolbox:()=>YT,MONADToolbox:()=>QT,MEGAETHToolbox:()=>ZT,MAX_APPROVAL:()=>W0,MATICToolbox:()=>GT,HYPEREVMToolbox:()=>qT,GNOToolbox:()=>UT,EthNetwork:()=>pH,ETHToolbox:()=>i0,ContractAddress:()=>D1,CROToolbox:()=>HT,CORNToolbox:()=>CT,COREToolbox:()=>TT,BotanixToolbox:()=>FH,BaseEVMToolbox:()=>jf,BSCToolbox:()=>fT,BERAToolbox:()=>yT,BASEToolbox:()=>e0,AVAXToolbox:()=>s0,AURORAToolbox:()=>a0,ARBToolbox:()=>r0,ADIToolbox:()=>d0});module.exports=ny(jH);var o1=E(()=>{m0();Z0();x1();bH()});async function S1(y,T){let H=await fetch(`${gH}${y}`,{...T,headers:{project_id:cH,...T?.headers}});if(!H.ok)throw Error(`Blockfrost API error: ${H.status} ${H.statusText}`);return H.json()}async function iH(y){try{return await S1(`/addresses/${y}/utxos`)}catch{return[]}}async function G8(){return(await S1("/blocks/latest")).slot}async function X8(){let y=await S1("/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 KH(y){let T=await fetch(`${gH}/tx/submit`,{body:Buffer.from(y,"hex"),headers:{"Content-Type":"application/cbor",project_id:cH},method:"POST"});if(!T.ok){let H=await T.text();throw Error(`Transaction submission failed: ${H}`)}return T.json()}function _8(y,T){return y.map((H)=>{let f=H.amount.find((q)=>q.unit==="lovelace"),C=f?new Vy.default(f.quantity):new Vy.default(0),U=H.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:C,index:H.output_index,tokens:U,txId:H.tx_hash}})}async function Q8(y){try{let T=await iH(y),H=0n,f=new Map;for(let q of T){if(!q.amount||!Array.isArray(q.amount))continue;for(let G of q.amount){let{unit:X,quantity:_}=G;if(X==="lovelace")H+=BigInt(_);else{let L=f.get(X)||0n;f.set(X,L+BigInt(_))}}}let C=[],{baseDecimal:U}=Qy.getChainConfig(Qy.Chain.Cardano);if(H>0n)C.push(Qy.AssetValue.from({chain:Qy.Chain.Cardano,fromBaseDecimal:U,value:H.toString()}));for(let[q,G]of f)C.push(Qy.AssetValue.from({asset:`${Qy.Chain.Cardano}.${q}`,value:G.toString()}));if(C.length===0)return[Qy.AssetValue.from({chain:Qy.Chain.Cardano})];return C}catch(T){let H=T instanceof Error?T.message:String(T);return console.error(`Cardano balance fetch error: ${H}`),[Qy.AssetValue.from({chain:Qy.Chain.Cardano})]}}function dH(y){if(!y||typeof y!=="string")return!1;try{let T=uH.bech32.decode(y,120);return T.prefix==="addr"||T.prefix==="addr_test"}catch{return!1}}async function Z8(y,T=0,H=0){let f=hH.mnemonicToEntropy(y,tH.wordlist),U=(await mH.Bip32PrivateKey.fromEntropy(Buffer.from(Array.from(f)))).derive(I1+1852).derive(I1+1815).derive(I1+T),q=U.derive(0).derive(H),G=q.toBip32PublicKey().toPublicKey().toBytes(),X=wy.crypto.hash28(G),L=U.derive(2).derive(0).toBip32PublicKey().toPublicKey().toBytes(),A=wy.crypto.hash28(L),Z={hash:X,type:wy.types.HashType.ADDRESS},Q={hash:A,type:wy.types.HashType.ADDRESS},M=new wy.address.BaseAddress(q8,Z,Q).getBech32(),n=q.toPrivateKey();return{getAddress:()=>M,publicKey:G,publicKeyHash:X,signTransaction:async(O)=>{try{let J=await import("@stricahq/cbors"),R=Buffer.from(O,"hex"),N=J.Decoder.decode(R),[B,Y,z,k]=N.value,F=J.Encoder.encode(B),w=wy.crypto.hash32(F),$=n.sign(w),I=Y instanceof Map?Y:new Map,D=I.get(lH)||[];D.push([G,$]),I.set(lH,D);let x=[B,I,z,k];return J.Encoder.encode(x).toString("hex")}catch(J){throw new Qy.SwapKitError("toolbox_cardano_sign_transaction_failed",{message:String(J)})}}}}function W8(y){let T,H,f;async function C(){if(!f)f=await X8();return f}async function U(){if(T!==void 0)return T;if(y&&"phrase"in y&&y.phrase){let Q=y.index??0;return T=await Z8(y.phrase,0,Q),T}if(y&&"signer"in y&&y.signer)return T=y.signer,T;return}async function q(){if(H)return H;let Q=await U();if(!Q)return"";if("getAddress"in Q)return H=await Q.getAddress(),H;return""}async function G(Q){let W=Q||await q();if(!W)throw new Qy.SwapKitError("core_wallet_connection_not_found");return Q8(W)}async function X(Q){if(Q)try{let{tx:O}=await _(Q),J=O.getFee();return Qy.AssetValue.from({chain:Qy.Chain.Cardano,fromBaseDecimal:6,value:J.toString()})}catch{}let W=await C(),M=400,n=W.minFeeB.plus(W.minFeeA.times(M));return Qy.AssetValue.from({chain:Qy.Chain.Cardano,fromBaseDecimal:6,value:n.toString()})}async function _({sender:Q="",recipient:W,assetValue:M,memo:n,pureLovelaceOnly:O=!1}){let J=Q||await q();if(!J)throw new Qy.SwapKitError("core_wallet_connection_not_found");let[R,N,B]=await Promise.all([iH(J),G8(),C()]),Y=R.filter((v)=>O?v.amount.every((m)=>m.unit==="lovelace"):v.amount.some((m)=>m.unit==="lovelace")).sort((v,m)=>{let Cy=v.amount.some((Gy)=>Gy.unit!=="lovelace"),Ay=m.amount.some((Gy)=>Gy.unit!=="lovelace");if(Cy===Ay)return 0;return Cy?1:-1}),z=wy.utils.getAddressFromString(J),k=wy.utils.getAddressFromString(W),F=_8(Y,z),w=new Vy.default(M.getBaseValue("string")),$=[{address:k,amount:w,tokens:[]}],I;if(n){let v=new Map;v.set("msg",[n]),I={metadata:[{data:v,label:674}]}}let D={...B,minFeeB:B.minFeeB.plus(B.minFeeA.times(4))},S=new wy.Transaction({protocolParams:D}).paymentTransaction({auxiliaryData:I,changeAddress:z,inputs:F,outputs:$,ttl:N+3600}),{payload:u}=S.buildTransaction();return{tx:S,unsignedTx:u}}async function L(Q){let W=await U();if(!W||!("signTransaction"in W))throw new Qy.SwapKitError("core_wallet_connection_not_found");return W.signTransaction(Q)}async function A({recipient:Q,assetValue:W,memo:M}){let n=await U();if(!n||!("signTransaction"in n))throw new Qy.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:O}=await _({assetValue:W,memo:M,recipient:Q,sender:await q()}),J=await L(O);return await KH(J)}async function Z(Q){let W=await L(Q);return await KH(W)}return{createTransaction:_,estimateTransactionFee:X,getAddress:q,getBalance:G,signAndBroadcastTransaction:Z,signTransaction:L,transfer:A,validateAddress:dH}}var uH,hH,tH,mH,wy,Qy,Vy,cH="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS",gH="https://cardano-mainnet.blockfrost.io/api/v0",q8,I1=2147483648,lH=0;var rH=E(()=>{uH=require("@scure/base"),hH=require("@scure/bip39"),tH=require("@scure/bip39/wordlists/english.js"),mH=require("@stricahq/bip32ed25519"),wy=require("@stricahq/typhonjs"),Qy=require("@swapkit/helpers"),Vy=q1(require("bignumber.js")),q8=wy.types.NetworkId.MAINNET});var P1={};Ny(P1,{validateCardanoAddress:()=>dH,getCardanoToolbox:()=>W8});module.exports=ny(P1);var V1=E(()=>{rH()});function M0(y){return iy.base64.encode(Uint8Array.from(iy.bech32.fromWords(iy.bech32.decode(y).words)))}function B0(y,T="thor"){return iy.bech32.encode(T,iy.bech32.toWords(iy.base64.decode(y)))}function Y8(y){return iy.base64.encode(y)}function J8(y){if(!y.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new aH.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return iy.base64.decode(y)}var iy,aH;var E1=E(()=>{iy=require("@scure/base"),aH=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 y5;case K.Chain.Noble:return f5;default:return eH}}async function yf(y){let T=await import("@cosmjs/stargate"),H=T.StargateClient??T.default?.StargateClient,f=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return H.connect({headers:f,url:y})}async function wf(y,T,H={}){let f=await import("@cosmjs/stargate"),C=f.SigningStargateClient??f.default?.SigningStargateClient,U=f.GasPrice??f.default?.GasPrice,q=typeof H==="string"?H:"0.0003uatom",G=typeof H==="string"?{}:H;return C.connectWithSigner(y,T,{gasPrice:U.fromString(q),...G})}async function p1(y,T){let H=await import("@cosmjs/stargate");return(H.SigningStargateClient??H.default?.SigningStargateClient).offline(y,T)}async function b1({sender:y,recipient:T,assetValue:H,memo:f="",feeRate:C,sequence:U,accountNumber:q}){let{chain:G,chainId:X}=H,_=await K.getRPCUrl(G),A=await(await yf(_)).getAccount(y);if(!A)throw new K.SwapKitError("toolbox_cosmos_account_not_found",{sender:y});let Z=K.AssetValue.from({chain:G}),Q=Gf(Z.symbol),W=ey(G),M=Q&&C?{amount:[{amount:C.toString(),denom:Q}],gas:W.gas}:W,n={amount:[{amount:H.getBaseValue("string"),denom:Gf(H.symbol)}],fromAddress:y,toAddress:T};return{accountNumber:q??Number(A.accountNumber),chainId:X,fee:M,memo:f,msgs:[{typeUrl:L8(G),value:n}],sequence:U??A.sequence}}var K,v1="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",sH="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",eH,y5,f5,Gf=(y,T=!1)=>{if(T)return y.toLowerCase();switch(y){case"uUSK":case"USK":return v1;case"uYUM":case"YUM":return sH;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return y}},N0=({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 Gf(y,!1)},L8=(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})}},z8,j1=(y,T)=>{let H=z8[y.toLowerCase()];if(!H)return K.AssetValue.from({asset:y,fromBaseDecimal:8,value:T});let{chain:f,asset:C,decimals:U}=H,q=f?{chain:f}:{asset:C};return K.AssetValue.from({...q,fromBaseDecimal:U,value:T})};var D0=E(()=>{K=require("@swapkit/helpers"),eH={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},y5={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},f5={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};z8={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},[v1.toLowerCase()]:{asset:`${K.Chain.Kujira}.USK`,decimals:K.getChainConfig(K.Chain.Kujira).baseDecimal}}});var T5={};Ny(T5,{$root:()=>V});var Dy,h,vy,j,V;var C5=E(()=>{Dy=q1(require("protobufjs/minimal.js")),h=Dy.default.Reader,vy=Dy.default.Writer,j=Dy.default.util,V=Dy.default.roots.default||(Dy.default.roots.default={});V.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 U=C===void 0?f.len:f.pos+C,q=new V.common.Asset;while(f.pos<U){let G=f.uint32();switch(G>>>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(G&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(!j.isString(f.chain))return"chain: string expected"}if(f.symbol!=null&&f.hasOwnProperty("symbol")){if(!j.isString(f.symbol))return"symbol: string expected"}if(f.ticker!=null&&f.hasOwnProperty("ticker")){if(!j.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 C=new V.common.Asset;if(f.chain!=null)C.chain=String(f.chain);if(f.symbol!=null)C.symbol=String(f.symbol);if(f.ticker!=null)C.ticker=String(f.ticker);if(f.synth!=null)C.synth=Boolean(f.synth);return C},T.toObject=function(f,C){if(!C)C={};let U={};if(C.defaults)U.chain="",U.symbol="",U.ticker="",U.synth=!1;if(f.chain!=null&&f.hasOwnProperty("chain"))U.chain=f.chain;if(f.symbol!=null&&f.hasOwnProperty("symbol"))U.symbol=f.symbol;if(f.ticker!=null&&f.hasOwnProperty("ticker"))U.ticker=f.ticker;if(f.synth!=null&&f.hasOwnProperty("synth"))U.synth=f.synth;return U},T.prototype.toJSON=function(){return this.constructor.toObject(this,Dy.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=j.Long?j.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"))V.common.Asset.encode(f.asset,C.uint32(10).fork()).ldelim();if(f.amount!=null&&Object.hasOwnProperty.call(f,"amount"))C.uint32(18).string(f.amount);if(f.decimals!=null&&Object.hasOwnProperty.call(f,"decimals"))C.uint32(24).int64(f.decimals);return C},T.encodeDelimited=function(f,C){return this.encode(f,C).ldelim()},T.decode=function(f,C){if(!(f instanceof h))f=h.create(f);let U=C===void 0?f.len:f.pos+C,q=new V.common.Coin;while(f.pos<U){let G=f.uint32();switch(G>>>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(G&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 C=V.common.Asset.verify(f.asset);if(C)return"asset."+C}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!j.isString(f.amount))return"amount: string expected"}if(f.decimals!=null&&f.hasOwnProperty("decimals")){if(!j.isInteger(f.decimals)&&!(f.decimals&&j.isInteger(f.decimals.low)&&j.isInteger(f.decimals.high)))return"decimals: integer|Long expected"}return null},T.fromObject=function(f){if(f instanceof V.common.Coin)return f;let C=new V.common.Coin;if(f.asset!=null){if(typeof f.asset!=="object")throw TypeError(".common.Coin.asset: object expected");C.asset=V.common.Asset.fromObject(f.asset)}if(f.amount!=null)C.amount=String(f.amount);if(f.decimals!=null){if(j.Long)(C.decimals=j.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 j.LongBits(f.decimals.low>>>0,f.decimals.high>>>0).toNumber()}return C},T.toObject=function(f,C){if(!C)C={};let U={};if(C.defaults)if(U.asset=null,U.amount="",j.Long){let q=new j.Long(0,0,!1);U.decimals=C.longs===String?q.toString():C.longs===Number?q.toNumber():q}else U.decimals=C.longs===String?"0":0;if(f.asset!=null&&f.hasOwnProperty("asset"))U.asset=V.common.Asset.toObject(f.asset,C);if(f.amount!=null&&f.hasOwnProperty("amount"))U.amount=f.amount;if(f.decimals!=null&&f.hasOwnProperty("decimals"))if(typeof f.decimals==="number")U.decimals=C.longs===String?String(f.decimals):f.decimals;else U.decimals=C.longs===String?j.Long.prototype.toString.call(f.decimals):C.longs===Number?new j.LongBits(f.decimals.low>>>0,f.decimals.high>>>0).toNumber():f.decimals;return U},T.prototype.toJSON=function(){return this.constructor.toObject(this,Dy.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 U=C===void 0?f.len:f.pos+C,q=new V.common.PubKeySet;while(f.pos<U){let G=f.uint32();switch(G>>>3){case 1:q.secp256k1=f.string();break;case 2:q.ed25519=f.string();break;default:f.skipType(G&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(!j.isString(f.secp256k1))return"secp256k1: string expected"}if(f.ed25519!=null&&f.hasOwnProperty("ed25519")){if(!j.isString(f.ed25519))return"ed25519: string expected"}return null},T.fromObject=function(f){if(f instanceof V.common.PubKeySet)return f;let C=new V.common.PubKeySet;if(f.secp256k1!=null)C.secp256k1=String(f.secp256k1);if(f.ed25519!=null)C.ed25519=String(f.ed25519);return C},T.toObject=function(f,C){if(!C)C={};let U={};if(C.defaults)U.secp256k1="",U.ed25519="";if(f.secp256k1!=null&&f.hasOwnProperty("secp256k1"))U.secp256k1=f.secp256k1;if(f.ed25519!=null&&f.hasOwnProperty("ed25519"))U.ed25519=f.ed25519;return U},T.prototype.toJSON=function(){return this.constructor.toObject(this,Dy.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=j.emptyArray,T.prototype.gas=j.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 U=0;U<f.coins.length;++U)V.common.Coin.encode(f.coins[U],C.uint32(42).fork()).ldelim();if(f.gas?.length)for(let U=0;U<f.gas.length;++U)V.common.Coin.encode(f.gas[U],C.uint32(50).fork()).ldelim();if(f.memo!=null&&Object.hasOwnProperty.call(f,"memo"))C.uint32(58).string(f.memo);return C},T.encodeDelimited=function(f,C){return this.encode(f,C).ldelim()},T.decode=function(f,C){if(!(f instanceof h))f=h.create(f);let U=C===void 0?f.len:f.pos+C,q=new V.common.Tx;while(f.pos<U){let G=f.uint32();switch(G>>>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(G&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(!j.isString(f.id))return"id: string expected"}if(f.chain!=null&&f.hasOwnProperty("chain")){if(!j.isString(f.chain))return"chain: string expected"}if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress")){if(!j.isString(f.fromAddress))return"fromAddress: string expected"}if(f.toAddress!=null&&f.hasOwnProperty("toAddress")){if(!j.isString(f.toAddress))return"toAddress: string expected"}if(f.coins!=null&&f.hasOwnProperty("coins")){if(!Array.isArray(f.coins))return"coins: array expected";for(let C=0;C<f.coins.length;++C){let U=V.common.Coin.verify(f.coins[C]);if(U)return"coins."+U}}if(f.gas!=null&&f.hasOwnProperty("gas")){if(!Array.isArray(f.gas))return"gas: array expected";for(let C=0;C<f.gas.length;++C){let U=V.common.Coin.verify(f.gas[C]);if(U)return"gas."+U}}if(f.memo!=null&&f.hasOwnProperty("memo")){if(!j.isString(f.memo))return"memo: string expected"}return null},T.fromObject=function(f){if(f instanceof V.common.Tx)return f;let C=new V.common.Tx;if(f.id!=null)C.id=String(f.id);if(f.chain!=null)C.chain=String(f.chain);if(f.fromAddress!=null)C.fromAddress=String(f.fromAddress);if(f.toAddress!=null)C.toAddress=String(f.toAddress);if(f.coins){if(!Array.isArray(f.coins))throw TypeError(".common.Tx.coins: array expected");C.coins=[];for(let U=0;U<f.coins.length;++U){if(typeof f.coins[U]!=="object")throw TypeError(".common.Tx.coins: object expected");C.coins[U]=V.common.Coin.fromObject(f.coins[U])}}if(f.gas){if(!Array.isArray(f.gas))throw TypeError(".common.Tx.gas: array expected");C.gas=[];for(let U=0;U<f.gas.length;++U){if(typeof f.gas[U]!=="object")throw TypeError(".common.Tx.gas: object expected");C.gas[U]=V.common.Coin.fromObject(f.gas[U])}}if(f.memo!=null)C.memo=String(f.memo);return C},T.toObject=function(f,C){if(!C)C={};let U={};if(C.arrays||C.defaults)U.coins=[],U.gas=[];if(C.defaults)U.id="",U.chain="",U.fromAddress="",U.toAddress="",U.memo="";if(f.id!=null&&f.hasOwnProperty("id"))U.id=f.id;if(f.chain!=null&&f.hasOwnProperty("chain"))U.chain=f.chain;if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress"))U.fromAddress=f.fromAddress;if(f.toAddress!=null&&f.hasOwnProperty("toAddress"))U.toAddress=f.toAddress;if(f.coins?.length){U.coins=[];for(let q=0;q<f.coins.length;++q)U.coins[q]=V.common.Coin.toObject(f.coins[q],C)}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],C)}if(f.memo!=null&&f.hasOwnProperty("memo"))U.memo=f.memo;return U},T.prototype.toJSON=function(){return this.constructor.toObject(this,Dy.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=j.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 U=0;U<f.coins.length;++U)V.common.Coin.encode(f.coins[U],C.uint32(10).fork()).ldelim();if(f.poolDeduct!=null&&Object.hasOwnProperty.call(f,"poolDeduct"))C.uint32(18).string(f.poolDeduct);return C},T.encodeDelimited=function(f,C){return this.encode(f,C).ldelim()},T.decode=function(f,C){if(!(f instanceof h))f=h.create(f);let U=C===void 0?f.len:f.pos+C,q=new V.common.Fee;while(f.pos<U){let G=f.uint32();switch(G>>>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(G&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 C=0;C<f.coins.length;++C){let U=V.common.Coin.verify(f.coins[C]);if(U)return"coins."+U}}if(f.poolDeduct!=null&&f.hasOwnProperty("poolDeduct")){if(!j.isString(f.poolDeduct))return"poolDeduct: string expected"}return null},T.fromObject=function(f){if(f instanceof V.common.Fee)return f;let C=new V.common.Fee;if(f.coins){if(!Array.isArray(f.coins))throw TypeError(".common.Fee.coins: array expected");C.coins=[];for(let U=0;U<f.coins.length;++U){if(typeof f.coins[U]!=="object")throw TypeError(".common.Fee.coins: object expected");C.coins[U]=V.common.Coin.fromObject(f.coins[U])}}if(f.poolDeduct!=null)C.poolDeduct=String(f.poolDeduct);return C},T.toObject=function(f,C){if(!C)C={};let U={};if(C.arrays||C.defaults)U.coins=[];if(C.defaults)U.poolDeduct="";if(f.coins?.length){U.coins=[];for(let q=0;q<f.coins.length;++q)U.coins[q]=V.common.Coin.toObject(f.coins[q],C)}if(f.poolDeduct!=null&&f.hasOwnProperty("poolDeduct"))U.poolDeduct=f.poolDeduct;return U},T.prototype.toJSON=function(){return this.constructor.toObject(this,Dy.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 U=C===void 0?f.len:f.pos+C,q=new V.common.ProtoUint;while(f.pos<U){let G=f.uint32();switch(G>>>3){case 1:q.value=f.string();break;default:f.skipType(G&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(!j.isString(f.value))return"value: string expected"}return null},T.fromObject=function(f){if(f instanceof V.common.ProtoUint)return f;let C=new V.common.ProtoUint;if(f.value!=null)C.value=String(f.value);return C},T.toObject=function(f,C){if(!C)C={};let U={};if(C.defaults)U.value="";if(f.value!=null&&f.hasOwnProperty("value"))U.value=f.value;return U},T.prototype.toJSON=function(){return this.constructor.toObject(this,Dy.default.util.toJSONOptions)},T})(),y})();V.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=j.emptyArray,T.prototype.memo="",T.prototype.signer=j.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 U=0;U<f.coins.length;++U)V.common.Coin.encode(f.coins[U],C.uint32(10).fork()).ldelim();if(f.memo!=null&&Object.hasOwnProperty.call(f,"memo"))C.uint32(18).string(f.memo);if(f.signer!=null&&Object.hasOwnProperty.call(f,"signer"))C.uint32(26).bytes(f.signer);return C},T.encodeDelimited=function(f,C){return this.encode(f,C).ldelim()},T.decode=function(f,C){if(!(f instanceof h))f=h.create(f);let U=C===void 0?f.len:f.pos+C,q=new V.types.MsgDeposit;while(f.pos<U){let G=f.uint32();switch(G>>>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(G&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 C=0;C<f.coins.length;++C){let U=V.common.Coin.verify(f.coins[C]);if(U)return"coins."+U}}if(f.memo!=null&&f.hasOwnProperty("memo")){if(!j.isString(f.memo))return"memo: string expected"}if(f.signer!=null&&f.hasOwnProperty("signer")){if(!(f.signer&&typeof f.signer.length==="number"||j.isString(f.signer)))return"signer: buffer expected"}return null},T.fromObject=function(f){if(f instanceof V.types.MsgDeposit)return f;let C=new V.types.MsgDeposit;if(f.coins){if(!Array.isArray(f.coins))throw TypeError(".types.MsgDeposit.coins: array expected");C.coins=[];for(let U=0;U<f.coins.length;++U){if(typeof f.coins[U]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");C.coins[U]=V.common.Coin.fromObject(f.coins[U])}}if(f.memo!=null)C.memo=String(f.memo);if(f.signer!=null){if(typeof f.signer==="string")j.base64.decode(f.signer,C.signer=j.newBuffer(j.base64.length(f.signer)),0);else if(f.signer.length)C.signer=f.signer}return C},T.toObject=function(f,C){if(!C)C={};let U={};if(C.arrays||C.defaults)U.coins=[];if(C.defaults){if(U.memo="",C.bytes===String)U.signer="";else if(U.signer=[],C.bytes!==Array)U.signer=j.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],C)}if(f.memo!=null&&f.hasOwnProperty("memo"))U.memo=f.memo;if(f.signer!=null&&f.hasOwnProperty("signer"))U.signer=C.bytes===String?j.base64.encode(f.signer,0,f.signer.length):C.bytes===Array?Array.prototype.slice.call(f.signer):f.signer;return U},T.prototype.toJSON=function(){return this.constructor.toObject(this,Dy.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=j.newBuffer([]),T.prototype.toAddress=j.newBuffer([]),T.prototype.amount=j.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 U=0;U<f.amount.length;++U)V.cosmos.base.v1beta1.Coin.encode(f.amount[U],C.uint32(26).fork()).ldelim();return C},T.encodeDelimited=function(f,C){return this.encode(f,C).ldelim()},T.decode=function(f,C){if(!(f instanceof h))f=h.create(f);let U=C===void 0?f.len:f.pos+C,q=new V.types.MsgSend;while(f.pos<U){let G=f.uint32();switch(G>>>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(G&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"||j.isString(f.fromAddress)))return"fromAddress: buffer expected"}if(f.toAddress!=null&&f.hasOwnProperty("toAddress")){if(!(f.toAddress&&typeof f.toAddress.length==="number"||j.isString(f.toAddress)))return"toAddress: buffer expected"}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!Array.isArray(f.amount))return"amount: array expected";for(let C=0;C<f.amount.length;++C){let U=V.cosmos.base.v1beta1.Coin.verify(f.amount[C]);if(U)return"amount."+U}}return null},T.fromObject=function(f){if(f instanceof V.types.MsgSend)return f;let C=new V.types.MsgSend;if(f.fromAddress!=null){if(typeof f.fromAddress==="string")j.base64.decode(f.fromAddress,C.fromAddress=j.newBuffer(j.base64.length(f.fromAddress)),0);else if(f.fromAddress.length)C.fromAddress=f.fromAddress}if(f.toAddress!=null){if(typeof f.toAddress==="string")j.base64.decode(f.toAddress,C.toAddress=j.newBuffer(j.base64.length(f.toAddress)),0);else if(f.toAddress.length)C.toAddress=f.toAddress}if(f.amount){if(!Array.isArray(f.amount))throw TypeError(".types.MsgSend.amount: array expected");C.amount=[];for(let U=0;U<f.amount.length;++U){if(typeof f.amount[U]!=="object")throw TypeError(".types.MsgSend.amount: object expected");C.amount[U]=V.cosmos.base.v1beta1.Coin.fromObject(f.amount[U])}}return C},T.toObject=function(f,C){if(!C)C={};let U={};if(C.arrays||C.defaults)U.amount=[];if(C.defaults){if(C.bytes===String)U.fromAddress="";else if(U.fromAddress=[],C.bytes!==Array)U.fromAddress=j.newBuffer(U.fromAddress);if(C.bytes===String)U.toAddress="";else if(U.toAddress=[],C.bytes!==Array)U.toAddress=j.newBuffer(U.toAddress)}if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress"))U.fromAddress=C.bytes===String?j.base64.encode(f.fromAddress,0,f.fromAddress.length):C.bytes===Array?Array.prototype.slice.call(f.fromAddress):f.fromAddress;if(f.toAddress!=null&&f.hasOwnProperty("toAddress"))U.toAddress=C.bytes===String?j.base64.encode(f.toAddress,0,f.toAddress.length):C.bytes===Array?Array.prototype.slice.call(f.toAddress):f.toAddress;if(f.amount?.length){U.amount=[];for(let q=0;q<f.amount.length;++q)U.amount[q]=V.cosmos.base.v1beta1.Coin.toObject(f.amount[q],C)}return U},T.prototype.toJSON=function(){return this.constructor.toObject(this,Dy.default.util.toJSONOptions)},T})(),y})();V.cosmos=(()=>{let y={};return y.base=(()=>{let T={};return T.v1beta1=(()=>{let H={};return H.Coin=(()=>{function f(C){if(C){for(let U=Object.keys(C),q=0;q<U.length;++q)if(C[U[q]]!=null)this[U[q]]=C[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 G=q===void 0?U.len:U.pos+q,X=new V.cosmos.base.v1beta1.Coin;while(U.pos<G){let _=U.uint32();switch(_>>>3){case 1:X.denom=U.string();break;case 2:X.amount=U.string();break;default:U.skipType(_&7);break}}return X},f.decodeDelimited=function(U){if(!(U instanceof h))U=new h(U);return this.decode(U,U.uint32())},f.verify=function(U){if(typeof U!=="object"||U===null)return"object expected";if(U.denom!=null&&U.hasOwnProperty("denom")){if(!j.isString(U.denom))return"denom: string expected"}if(U.amount!=null&&U.hasOwnProperty("amount")){if(!j.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 G={};if(q.defaults)G.denom="",G.amount="";if(U.denom!=null&&U.hasOwnProperty("denom"))G.denom=U.denom;if(U.amount!=null&&U.hasOwnProperty("amount"))G.amount=U.amount;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,Dy.default.util.toJSONOptions)},f})(),H.DecCoin=(()=>{function f(C){if(C){for(let U=Object.keys(C),q=0;q<U.length;++q)if(C[U[q]]!=null)this[U[q]]=C[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 G=q===void 0?U.len:U.pos+q,X=new V.cosmos.base.v1beta1.DecCoin;while(U.pos<G){let _=U.uint32();switch(_>>>3){case 1:X.denom=U.string();break;case 2:X.amount=U.string();break;default:U.skipType(_&7);break}}return X},f.decodeDelimited=function(U){if(!(U instanceof h))U=new h(U);return this.decode(U,U.uint32())},f.verify=function(U){if(typeof U!=="object"||U===null)return"object expected";if(U.denom!=null&&U.hasOwnProperty("denom")){if(!j.isString(U.denom))return"denom: string expected"}if(U.amount!=null&&U.hasOwnProperty("amount")){if(!j.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 G={};if(q.defaults)G.denom="",G.amount="";if(U.denom!=null&&U.hasOwnProperty("denom"))G.denom=U.denom;if(U.amount!=null&&U.hasOwnProperty("amount"))G.amount=U.amount;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,Dy.default.util.toJSONOptions)},f})(),H.IntProto=(()=>{function f(C){if(C){for(let U=Object.keys(C),q=0;q<U.length;++q)if(C[U[q]]!=null)this[U[q]]=C[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 G=q===void 0?U.len:U.pos+q,X=new V.cosmos.base.v1beta1.IntProto;while(U.pos<G){let _=U.uint32();switch(_>>>3){case 1:X.int=U.string();break;default:U.skipType(_&7);break}}return X},f.decodeDelimited=function(U){if(!(U instanceof h))U=new h(U);return this.decode(U,U.uint32())},f.verify=function(U){if(typeof U!=="object"||U===null)return"object expected";if(U.int!=null&&U.hasOwnProperty("int")){if(!j.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 G={};if(q.defaults)G.int="";if(U.int!=null&&U.hasOwnProperty("int"))G.int=U.int;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,Dy.default.util.toJSONOptions)},f})(),H.DecProto=(()=>{function f(C){if(C){for(let U=Object.keys(C),q=0;q<U.length;++q)if(C[U[q]]!=null)this[U[q]]=C[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 G=q===void 0?U.len:U.pos+q,X=new V.cosmos.base.v1beta1.DecProto;while(U.pos<G){let _=U.uint32();switch(_>>>3){case 1:X.dec=U.string();break;default:U.skipType(_&7);break}}return X},f.decodeDelimited=function(U){if(!(U instanceof h))U=new h(U);return this.decode(U,U.uint32())},f.verify=function(U){if(typeof U!=="object"||U===null)return"object expected";if(U.dec!=null&&U.hasOwnProperty("dec")){if(!j.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 G={};if(q.defaults)G.dec="";if(U.dec!=null&&U.hasOwnProperty("dec"))G.dec=U.dec;return G},f.prototype.toJSON=function(){return this.constructor.toObject(this,Dy.default.util.toJSONOptions)},f})(),H})(),T})(),y})()});async function Ff(){let{$root:y}=await Promise.resolve().then(() => (C5(),T5)),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===H5.Chain.THORChain?"thorchain":"mayachain";return new H({"/types.MsgDeposit":{aminoType:`${f}/MsgDeposit`,fromAmino:({signer:C,...U})=>({...U,signer:M0(C)}),toAmino:({signer:C,...U})=>({...U,signer:B0(C)})},"/types.MsgSend":{aminoType:`${f}/MsgSend`,fromAmino:({from_address:C,to_address:U,...q})=>({...q,fromAddress:M0(C),toAddress:M0(U)}),toAmino:({fromAddress:C,toAddress:U,...q})=>({...q,from_address:B0(C),to_address:B0(U)})}})}var H5;var l1=E(()=>{E1();H5=require("@swapkit/helpers")});function h1(y){let{assetValue:T,recipient:H,memo:f,sender:C,asSignable:U,asAminoMessage:q}=y;if(H)return q5({asAminoMessage:q,asSignable:U,assetValue:T,memo:f,recipient:H,sender:C});return G5({asAminoMessage:q,asSignable:U,assetValue:T,memo:f,sender:C})}async function q5({sender:y,recipient:T,assetValue:H,memo:f="",asSignable:C=!0,asAminoMessage:U=!1,sequence:q,accountNumber:G}){let X=H.chain,_=await Fy.getRPCUrl(X),L=await U5({rpcUrl:_,sender:y}),{chainId:A}=Fy.getChainConfig(X),Z=K1({assetValue:H,recipient:T,sender:y}),Q=C?await _f(U?Z:Qf(Z),X):Z;return{accountNumber:G||Number(L.accountNumber),chainId:A,fee:ey(X),memo:f,msgs:[Q],sequence:q||L.sequence}}async function G5({sender:y,assetValue:T,memo:H="",asSignable:f=!0,asAminoMessage:C=!1,sequence:U,accountNumber:q}){let G=T.chain,X=await Fy.getRPCUrl(G),_=await U5({rpcUrl:X,sender:y}),{chainId:L}=Fy.getChainConfig(G),A=u1({assetValue:T,memo:H,sender:y}),Z=f?await _f(C?A:Qf(A),G):A;return{accountNumber:q||Number(_.accountNumber),chainId:L,fee:ey(G),memo:H,msgs:[Z],sequence:U||_.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=Fy.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 O0({chain:y,memo:T,msgs:H}){let f=await Ff(),C=await Xf(y),U={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:T,messages:H.map((q)=>C.fromAmino(q))}};return f.encode(U)}var Fy,A8,M8,K1=({sender:y,recipient:T,assetValue:H})=>{return{type:`${H.chain===Fy.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:H.getBaseValue("string"),denom:Gf(H.symbol,!0)}],from_address:y,to_address:T}}},u1=({sender:y,assetValue:T,memo:H=""})=>{return{type:`${T.chain===Fy.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:T.getBaseValue("string"),asset:N0(T)}],memo:H,signer:y}}},JT=({sender:y,recipient:T,assetValue:H,memo:f})=>{return!T?u1({assetValue:H,memo:f,sender:y}):K1({assetValue:H,recipient:T,sender:y})},_f=async(y,T)=>{return(await Xf(T)).fromAmino(y)},U5=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 X5=E(()=>{D0();l1();Fy=require("@swapkit/helpers"),A8=ey(Fy.Chain.THORChain).gas,M8=ey(Fy.Chain.Maya).gas});var _5=()=>{};var Q5=E(()=>{_5()});var t1=E(()=>{E1();X5();l1();Q5()});async function g1(y,T){try{let f=(await c1.SwapKitApi.getGasRate()).find((C)=>C.chainId===y)?.value;return f?Number.parseFloat(f):T}catch{return T}}async function m1({phrase:y,prefix:T,...H}){let f="derivationPath"in H?H.derivationPath:`${p.DerivationPath[H.chain]}/${H.index}`;return await L5.DirectSecp256k1HdWallet.fromMnemonic(y,{hdPaths:[J5.stringToPath(f)],prefix:T})}async function B8({privateKey:y,prefix:T}){let H=await import("@cosmjs/proto-signing");return(H.DirectSecp256k1Wallet??H.default?.DirectSecp256k1Wallet).fromKey(y,T)}function z5(y){return async function({signature:H,message:f,address:C}){let U=await y(C);if(!U?.pubkey)throw new p.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let q=await import("@cosmjs/crypto"),G=q.Secp256k1Signature??q.default?.Secp256k1Signature,X=q.Secp256k1??q.default?.Secp256k1,_=G.fromFixedLength(Zf.base64.decode(H));return X.verifySignature(_,Zf.base64.decode(f),U.pubkey.value)}}function n0({chain:y,...T}){let H=p.CosmosChainPrefixes[y],f="index"in T?T.index||0:0,C=p.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:p.updateDerivationPath(p.NetworkDerivationPath[y],{index:f})),U;async function q(){if(U)return U;return U=await R0.match(T).with({phrase:R0.P.string},({phrase:Q})=>m1({derivationPath:C,phrase:Q,prefix:H})).with({signer:R0.P.any},({signer:Q})=>Q).otherwise(()=>{return}),U}async function G(Q){let W=await p.getRPCUrl(y);return(await yf(W)).getAccount(Q)}async function X(){let Q=await q(),[W]=await Q?.getAccounts()||[];return W?.address}async function _(){let Q=await q(),[W]=await Q?.getAccounts()||[];if(!W?.pubkey)throw new p.SwapKitError("toolbox_cosmos_signer_not_defined");return Zf.base64.encode(W?.pubkey)}async function L(Q){let W=await q(),M=await X(),n=await p.getRPCUrl(y);if(!(W&&M))throw new p.SwapKitError("toolbox_cosmos_signer_not_defined");return await(await wf(n,W)).sign(M,Q.msgs,Q.fee,Q.memo,{accountNumber:BigInt(Q.accountNumber),chainId:Q.chainId,sequence:Q.sequence})}async function A(Q){let W=await q(),M=await X(),n=await p.getRPCUrl(y);if(!(W&&M))throw new p.SwapKitError("toolbox_cosmos_signer_not_defined");let J=await(await wf(n,W)).signAndBroadcast(M,Q.msgs,Q.fee,Q.memo);if(J.code!==0)throw new p.SwapKitError("core_swap_transaction_error",{code:J.code,message:J.rawLog});return J.transactionHash}async function Z({recipient:Q,assetValue:W,memo:M="",feeRate:n,feeOptionKey:O=p.FeeOption.Fast}){let J=await q(),R=await X();if(!(J&&R))throw new p.SwapKitError("toolbox_cosmos_signer_not_defined");let N=await p.getRPCUrl(y),B=p.AssetValue.from({chain:y}),Y=N0(B),z=n||O8((await W5(y,Z5[y]))[O],Y),k=await wf(N,J),F=Gf(W.symbol),w=[{amount:W.getBaseValue("string"),denom:F}],{transactionHash:$}=await k.sendTokens(R,Q,w,z,M);return $}return{createPrivateKeyFromPhrase:n8(C),createTransaction:b1,fetchFeeRateFromSwapKit:g1,getAccount:G,getAddress:X,getBalance:async(Q,W)=>{let M=await Y5(y)(Q),n=await Promise.all(M.filter(({denom:O})=>O&&!O.includes("IBC/")&&!([p.Chain.THORChain,p.Chain.Maya].includes(y)&&O.split("-").length>2)).map(({denom:O,amount:J})=>{let R=[p.Chain.THORChain,p.Chain.Maya].includes(y)&&(O.includes("/")||O.includes("˜"))?`${y}.${O}`:O;return j1(R,J)}));if(n.length===0)return[p.AssetValue.from({chain:y})];return n},getBalanceAsDenoms:Y5(y),getFees:()=>W5(y,Z5[y]),getPubKey:_,getSignerFromPhrase:({phrase:Q,derivationPath:W})=>m1({derivationPath:p.derivationPathToString(W),index:f,phrase:Q,prefix:H}),getSignerFromPrivateKey:async(Q)=>{let W=await import("@cosmjs/proto-signing");return(W.DirectSecp256k1Wallet??W.default?.DirectSecp256k1Wallet).fromKey(Q,H)},signAndBroadcastTransaction:A,signTransaction:L,transfer:Z,validateAddress:A5(y),verifySignature:z5(G)}}async function N8(y,T){try{let f=(await c1.SwapKitApi.getGasRate()).find((C)=>C.chainId===y)?.value;return f?Number.parseFloat(f):T}catch{return T}}function D8({assetValue:{chain:y}}){return p.AssetValue.from({chain:y,value:R8(y)})}async function W5(y,T){let{chainId:H,baseDecimal:f}=p.getChainConfig(y),C=await g1(H,T);return{average:p.SwapKitNumber.fromBigInt(BigInt(C),f),fast:p.SwapKitNumber.fromBigInt(BigInt(p.applyFeeMultiplier(C,p.FeeOption.Fast,!0)),f),fastest:p.SwapKitNumber.fromBigInt(BigInt(p.applyFeeMultiplier(C,p.FeeOption.Fastest,!0)),f)}}function O8(y,T){return{amount:[{amount:y.getBaseValue("string"),denom:T}],gas:"200000"}}function R8(y){return{[p.Chain.Cosmos]:0.007,[p.Chain.Kujira]:0.02,[p.Chain.Noble]:0.01,[p.Chain.THORChain]:0.02,[p.Chain.Maya]:0.02,[p.Chain.Harbor]:0.02}[y]||0}function A5(y){let T=p.CosmosChainPrefixes[y];return function(f){if(!f.startsWith(T))return!1;try{let{prefix:C,words:U}=Zf.bech32.decode(f);return Zf.bech32.encode(C,U)===f.toLocaleLowerCase()}catch{return!1}}}function Y5(y){return async function(H){let f=await p.getRPCUrl(y);return(await(await yf(f)).getAllBalances(H)).map((G)=>({...G,denom:G.denom.includes("/")?G.denom.toUpperCase():G.denom}))}}function n8(y){return async function(H){let f=await import("@cosmjs/crypto"),C=f.stringToPath??f.default?.stringToPath,U=f.Slip10Curve??f.default?.Slip10Curve,q=f.Slip10??f.default?.Slip10,G=f.EnglishMnemonic??f.default?.EnglishMnemonic,X=f.Bip39??f.default?.Bip39,_=new G(H),L=await X.mnemonicToSeed(_),{privkey:A}=q.derivePath(U.Secp256k1,L,C(y));return A}}var J5,L5,Zf,p,c1,R0,Z5;var LT=E(()=>{D0();J5=require("@cosmjs/crypto"),L5=require("@cosmjs/proto-signing"),Zf=require("@scure/base"),p=require("@swapkit/helpers"),c1=require("@swapkit/helpers/api"),R0=require("ts-pattern");Z5={[p.Chain.Cosmos]:1000,[p.Chain.Kujira]:1000,[p.Chain.Noble]:1000,[p.Chain.THORChain]:5000000,[p.Chain.Maya]:5000000,[p.Chain.Harbor]:5000000}});function k8({prefix:y,derivationPath:T}){return async function(f,C=0){let U=await import("@cosmjs/amino"),q=U.Secp256k1HdWallet??U.default?.Secp256k1HdWallet,G=await import("@cosmjs/crypto"),X=G.stringToPath??G.default?.stringToPath;return q.fromMnemonic(f,{hdPaths:[X(`${T}/${C}`)],prefix:y})}}function w8(y){return Wf.base64.encode(y)}function F8(y){return async function({wallet:H,tx:f}){let{msgs:C,accountNumber:U,sequence:q,chainId:G,fee:X,memo:_}=typeof f==="string"?JSON.parse(f):f,L=(await H.getAccounts())?.[0]?.address||"",A=await Xf(y),Z=await Ff(),Q=await p1(H,{aminoTypes:A,registry:Z}),W=[];for(let O of C){let J=await _f(O,y);W.push(J)}let{signatures:[M]}=await Q.sign(L,W,X,_,{accountNumber:BigInt(U),chainId:G,sequence:q});return{bodyBytes:await O0({chain:y,memo:_,msgs:C.map(Qf)}),signature:w8(M)}}}function $8({prefix:y,chain:T}){return async function(f,C,U,q,G){let X=await yy.getRPCUrl(T),{encodeSecp256k1Pubkey:_,pubkeyToAddress:L}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:A}=(await import("@cosmjs/stargate")).default,{sequence:Z,fee:Q}=JSON.parse(f),W=await M5(U,q),M=C.map((J)=>[L(_(Wf.base64.decode(J.pubKey)),y),Wf.base64.decode(J.signature)]),n=await yf(X),{transactionHash:O}=await n.broadcastTx(A(W,Z,Q,G,new Map(M)));return O}}async function M5(y,T,H=!0){let{createMultisigThresholdPubkey:f,encodeSecp256k1Pubkey:C}=(await import("@cosmjs/amino")).default;return f(y.map((U)=>C(Wf.base64.decode(U))),T,H)}function x8(y){return Wf.base64.decode(y)}async function o8({privateKey:y,message:T}){let{Secp256k1:H}=(await import("@cosmjs/crypto")).default,f=await H.createSignature(Wf.base64.decode(T),y);return Wf.base64.encode(Buffer.concat([f.r(32),f.s(32)]))}function i1({chain:y,...T}){let{isStagenet:H}=yy.SKConfig.get("envs"),f=yy.SKConfig.get("thornodeUrls"),C=y===yy.Chain.Maya,U=hf.match({isMayachain:C,isStagenet:H}).with({isMayachain:!0},({isStagenet:J})=>J?f.MAYA_STAGENET:f.MAYA).otherwise(({isStagenet:J})=>J?f.THOR_STAGENET:f.THOR),q=`${H?"s":""}${yy.CosmosChainPrefixes[y]}`,G="index"in T?T.index||0:0,X="derivationPath"in T&&T.derivationPath?T.derivationPath:yy.updateDerivationPath(yy.NetworkDerivationPath[y],{index:G}),_=n0({chain:y,...T}),L=ey(y),A;function Z(){return A??=hf.match(T).with({phrase:hf.P.string},({phrase:J})=>_.getSignerFromPhrase({derivationPath:X,phrase:J})).with({signer:hf.P.any},({signer:J})=>Promise.resolve(J)).otherwise(()=>Promise.resolve(void 0)),A}async function Q(){let J=await yy.getRPCUrl(y),R=await Z();if(!R)throw new yy.SwapKitError("toolbox_cosmos_no_signer");let N=await Ff(),B=await Xf(y),Y=await wf(J,R,{aminoTypes:B,registry:N});return{signer:R,signingClient:Y}}async function W({fee:J,memo:R,msgs:N}){let{signer:B,signingClient:Y}=await Q(),z=(await B.getAccounts())?.[0]?.address;if(!z)throw new yy.SwapKitError("toolbox_cosmos_signer_not_defined");let k=await Y.signAndBroadcast(z,N,J,R);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 J,R=`${U}/${C?"mayachain":"thorchain"}/constants`;try{let{int_64_values:{NativeTransactionFee:N}}=await yy.RequestClient.get(R);if(!N||Number.isNaN(N)||N<0)throw new yy.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:N.toString()});J=new yy.SwapKitNumber(N)}catch{J=new yy.SwapKitNumber({decimal:yy.getChainConfig(y).baseDecimal,value:C?1:0.02})}return{[yy.FeeOption.Average]:J,[yy.FeeOption.Fast]:J,[yy.FeeOption.Fastest]:J}}async function n({assetValue:J,memo:R="",recipient:N}){let{TxRaw:B}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),{signer:Y,signingClient:z}=await Q(),k=(await Y.getAccounts())?.[0]?.address;if(!k)throw new yy.SwapKitError("toolbox_cosmos_no_signer");let F="signAmino"in Y,w=JT({assetValue:J,memo:R,recipient:N,sender:k});if(F){let D=await _f(w,y),{signatures:x,authInfoBytes:S}=await z.sign(k,[D],L,R),u=B.encode({authInfoBytes:S,bodyBytes:await O0({chain:y,memo:R,msgs:[w].map(Qf)}),signatures:x}).finish();return(await z.broadcastTx(u)).transactionHash}let $=Qf(w),I=await _f($,y);return W({fee:L,memo:R,msgs:[I]})}async function O(J){let{signer:R,signingClient:N}=await Q(),B=(await R.getAccounts())?.[0]?.address;if(!B)throw new yy.SwapKitError("toolbox_cosmos_signer_not_defined");return N.sign(B,J.msgs,J.fee,J.memo,{accountNumber:BigInt(J.accountNumber),chainId:J.chainId,sequence:J.sequence})}return{..._,broadcastMultisigTx:$8({chain:y,prefix:q}),buildAminoMsg:JT,buildEncodedTxBody:O0,convertToSignable:_f,createDefaultAminoTypes:()=>Xf(y),createDefaultRegistry:Ff,createMultisig:M5,createTransaction:h1,deposit:n,getFees:M,importSignature:x8,parseAminoMessageForDirectSigning:Qf,pubkeyToAddress:async(J)=>{let{pubkeyToAddress:R}=(await import("@cosmjs/amino")).default;return R(J,q)},secp256k1HdWalletFromMnemonic:k8({derivationPath:yy.derivationPathToString(X),prefix:q}),signAndBroadcastTransaction:W,signMultisigTx:F8(y),signTransaction:O,signWithPrivateKey:o8,transfer:n}}var Wf,yy,hf;var d1=E(()=>{t1();D0();LT();Wf=require("@scure/base"),yy=require("@swapkit/helpers"),hf=require("ts-pattern")});var Yf,I8=(y,T)=>{switch(y){case Yf.Chain.Cosmos:case Yf.Chain.Kujira:case Yf.Chain.Noble:return n0({chain:y,...T});case Yf.Chain.Maya:case Yf.Chain.THORChain:return i1({chain:y,...T});default:throw new Yf.SwapKitError("toolbox_cosmos_not_supported",{chain:y})}};var B5=E(()=>{LT();d1();Yf=require("@swapkit/helpers");LT();d1()});var zT={};Ny(zT,{verifySignature:()=>z5,transferMsgAmino:()=>K1,toBase64:()=>Y8,parseAminoMessageForDirectSigning:()=>Qf,getSignerFromPrivateKey:()=>B8,getSignerFromPhrase:()=>m1,getMsgSendDenom:()=>Gf,getFeeRateFromSwapKit:()=>N8,getDenomWithChain:()=>N0,getDefaultChainFee:()=>ey,getCosmosToolbox:()=>I8,getCosmosAddressValidator:()=>A5,getAssetFromDenom:()=>j1,fromBase64:()=>J8,fetchFeeRateFromSwapKit:()=>g1,estimateTransactionFee:()=>D8,depositMsgAmino:()=>u1,createTransaction:()=>h1,createThorchainToolbox:()=>i1,createStargateClient:()=>yf,createSigningStargateClient:()=>wf,createOfflineStargateClient:()=>p1,createDefaultRegistry:()=>Ff,createDefaultAminoTypes:()=>Xf,createCosmosToolbox:()=>n0,cosmosCreateTransaction:()=>b1,convertToSignable:()=>_f,buildTransferTx:()=>q5,buildEncodedTxBody:()=>O0,buildDepositTx:()=>G5,buildAminoMsg:()=>JT,bech32ToBase64:()=>M0,base64ToBech32:()=>B0,YUM_KUJIRA_FACTORY_DENOM:()=>sH,USK_KUJIRA_FACTORY_DENOM:()=>v1,THORCHAIN_GAS_VALUE:()=>A8,MAYA_GAS_VALUE:()=>M8,DEFAULT_NOBLE_FEE_MAINNET:()=>f5,DEFAULT_KUJI_FEE_MAINNET:()=>y5,DEFAULT_COSMOS_FEE_MAINNET:()=>eH});module.exports=ny(zT);var AT=E(()=>{t1();B5();D0()});function S8({builder:y,grouping:T="na",orders:H}){return{builder:y,grouping:T,orders:H,type:"order"}}function P8({cancels:y}){return{cancels:y,type:"cancel"}}function V8({cancels:y}){return{cancels:y,type:"cancelByCloid"}}function E8({oid:y,order:T}){return{oid:y,order:T,type:"modify"}}function v8({modifies:y}){return{modifies:y,type:"batchModify"}}function p8({asset:y,isCross:T,leverage:H}){return{asset:y,isCross:T,leverage:H,type:"updateLeverage"}}function b8({asset:y,isBuy:T,ntli:H}){return{asset:y,isBuy:T,ntli:H,type:"updateIsolatedMargin"}}function j8({asset:y,leverage:T}){return{asset:y,leverage:T,type:"topUpIsolatedOnlyMargin"}}function l8({time:y}){return{time:y,type:"scheduleCancel"}}function K8({amount:y,hyperliquidChain:T,nonce:H,signatureChainId:f,toPerp:C}){return{amount:y,hyperliquidChain:T,nonce:H,signatureChainId:f,toPerp:C,type:"usdClassTransfer"}}function u8({amount:y,destination:T,destinationDex:H,fromSubAccount:f,hyperliquidChain:C,nonce:U,signatureChainId:q,sourceDex:G,token:X}){return{amount:y,destination:T,destinationDex:H,fromSubAccount:f,hyperliquidChain:C,nonce:U,signatureChainId:q,sourceDex:G,token:X,type:"sendAsset"}}function h8({agentAddress:y,agentName:T,hyperliquidChain:H,nonce:f,signatureChainId:C}){return{agentAddress:y,agentName:T,hyperliquidChain:H,nonce:f,signatureChainId:C,type:"approveAgent"}}function t8({builder:y,hyperliquidChain:T,maxFeeRate:H,nonce:f,signatureChainId:C}){return{builder:y,hyperliquidChain:T,maxFeeRate:H,nonce:f,signatureChainId:C,type:"approveBuilderFee"}}function m8({hyperliquidChain:y,isUndelegate:T,nonce:H,signatureChainId:f,validator:C,wei:U}){return{hyperliquidChain:y,isUndelegate:T,nonce:H,signatureChainId:f,type:"tokenDelegate",validator:C,wei:U}}function Iy(...y){let T=y.reduce((C,U)=>C+U.length,0),H=new Uint8Array(T),f=0;for(let C of y)H.set(C,f),f+=C.length;return H}function a8(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 Jf(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 N5(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]),Jf(y,2));if(y<=0xffffffffn)return Iy(new Uint8Array([206]),Jf(y,4));return Iy(new Uint8Array([207]),Jf(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]),Jf(BigInt.asUintN(16,y),2));if(y>=-2147483648n)return Iy(new Uint8Array([210]),Jf(BigInt.asUintN(32,y),4));return Iy(new Uint8Array([211]),Jf(BigInt.asUintN(64,y),8))}function R5(y){let T=r8.encode(y);if(T.length<32)return Iy(new Uint8Array([160+T.length]),T);return Iy(a8(217,0,T.length),T)}function s8(y){let T=y.map((f)=>r1(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 e8(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])=>[R5(f),r1(C)]))}function r1(y){if(y===null)return new Uint8Array([192]);if(typeof y==="boolean")return new Uint8Array([y?195:194]);if(typeof y==="string")return R5(y);if(typeof y==="number"){if(!Number.isFinite(y)||!Number.isInteger(y))throw new MT.SwapKitError("helpers_invalid_params",{message:"Hyperliquid msgpack only supports integers"});return N5(BigInt(y))}if(typeof y==="bigint")return N5(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 s8(y);if(typeof y==="object")return e8(y);throw new MT.SwapKitError("helpers_invalid_params",{message:`Unsupported Hyperliquid msgpack value: ${String(y)}`})}function yq(y){let T=y.startsWith("0x")?y.slice(2):y;if(T.length%2!==0||/[^a-fA-F0-9]/u.test(T))throw new MT.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 n5(y){return{domain:c8,message:{connectionId:y,source:"a"},primaryType:"Agent",types:{Agent:[...g8.Agent]}}}function k5(y){let T=d8[y.type],H=i8[y.type],{type:f,...C}=y;return{domain:{chainId:Number.parseInt(C.signatureChainId||"0xa4b1",16),name:"HyperliquidSignTransaction",verifyingContract:D5,version:"1"},message:{...C,hyperliquidChain:C.hyperliquidChain||O5},primaryType:T,types:{[T]:H}}}function w5(y){let T=BT.Signature.from(y);return{r:T.r,s:T.s,v:T.v}}function F5(y,T,{expiresAfter:H,vaultAddress:f}={}){let C=r1(y),U=Jf(BigInt(T),8),q=f?Iy(new Uint8Array([1]),yq(f.toLowerCase())):new Uint8Array([0]),G=typeof H==="number"?Iy(new Uint8Array([0]),Jf(BigInt(H),8)):new Uint8Array;return BT.keccak256(Iy(C,U,q,G))}function $5(y){let T=y.hyperliquidChain||O5;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 MT,BT,D5="0x0000000000000000000000000000000000000000",c8,g8,O5="Mainnet",i8,d8,r8;var x5=E(()=>{MT=require("@swapkit/helpers"),BT=require("ethers"),c8={chainId:1337,name:"Exchange",verifyingContract:D5,version:"1"},g8={Agent:[{name:"source",type:"string"},{name:"connectionId",type:"bytes32"}]},i8={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"}]},d8={approveAgent:"HyperliquidTransaction:ApproveAgent",approveBuilderFee:"HyperliquidTransaction:ApproveBuilderFee",sendAsset:"HyperliquidTransaction:SendAsset",tokenDelegate:"HyperliquidTransaction:TokenDelegate",usdClassTransfer:"HyperliquidTransaction:UsdClassTransfer"},r8=new TextEncoder});function jy(y,T){if(!e1(y))throw new fy.SwapKitError(T,{address:y});return y.toLowerCase()}async function $f(y){let T=await NT();return fy.RequestClient.post(`${T}/info`,{json:y})}function Gq({dex:y,user:T}){return $f({...y?{dex:y}:{},type:"clearinghouseState",user:jy(T,"helpers_invalid_params")})}function Xq({user:y}){return $f({type:"spotClearinghouseState",user:jy(y,"helpers_invalid_params")})}function _q({dex:y,user:T}){return $f({...y?{dex:y}:{},type:"openOrders",user:jy(T,"helpers_invalid_params")})}function Qq({dex:y,user:T}){return $f({...y?{dex:y}:{},type:"frontendOpenOrders",user:jy(T,"helpers_invalid_params")})}function Zq({oidOrCloid:y,user:T}){return $f({oid:y,type:"orderStatus",user:jy(T,"helpers_invalid_params")})}function Wq({aggregateByTime:y,user:T}){return $f({...typeof y==="boolean"?{aggregateByTime:y}:{},type:"userFills",user:jy(T,"helpers_invalid_params")})}function Yq({aggregateByTime:y,endTime:T,startTime:H,user:f}){return $f({...typeof y==="boolean"?{aggregateByTime:y}:{},...typeof T==="number"?{endTime:T}:{},startTime:H,type:"userFillsByTime",user:jy(f,"helpers_invalid_params")})}function o5({coin:y,token:T,value:H,spotMeta:f}){if(!H||Number(H)<=0)return null;let C=y?.toUpperCase()||`TOKEN-${T||"UNKNOWN"}`,U=fq[C]||P5,q=f?.tokens?.find((X)=>X.name===y||T!==void 0&&X.index===Number(T)),G=q?`${dy}.${C}-${q.name}:${q.tokenId}`:`${dy}.${C}`;return new fy.AssetValue({decimal:U,identifier:G,value:H})}function Jq(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=fy.AssetValue.from({chain:dy,value:0});T.set(H.toString({includeSynthProtocol:!0}),H)}return[...T.values()]}async function NT(){try{return await fy.getRPCUrl(dy)}catch{let[y]=fy.getChainConfig(dy).rpcUrls;if(!y)throw new fy.SwapKitError("helpers_chain_no_public_or_set_rpc_url",{chain:dy});return y}}async function s1(){return`${await NT()}/exchange`}function Lq(y){let T=qq[y.type],{type:H,...f}=y,C=Uq[H];return{domain:{chainId:Number.parseInt(y.signatureChainId,16),name:"HyperliquidSignTransaction",verifyingContract:Hq,version:"1"},message:f,primaryType:T,types:{[T]:C}}}async function V5({action:y,expiresAfter:T,nonce:H,vaultAddress:f}){let C=H||Date.now(),U=f?jy(f,"helpers_invalid_params"):void 0,q=await s1(),G=F5(y,C,{expiresAfter:T,vaultAddress:U});return{action:y,endpoint:q,expiresAfter:T,nonce:C,typedData:n5(G),vaultAddress:U}}async function E5({action:y,nonce:T,signatureChainId:H}){let f=T||y.nonce||Date.now(),C=H||y.signatureChainId||"0xa4b1",U=$5({...y,nonce:f,signatureChainId:C});return{action:U,endpoint:await s1(),nonce:f,typedData:k5(U)}}async function a1({assetValue:y,recipient:T,sender:H,signatureChainId:f,time:C}){let U=jy(T,"core_transaction_invalid_recipient_address"),q=jy(H,"core_transaction_invalid_sender_address"),G=await s1(),X=y.getValue("string"),_=C||Date.now(),L=y.address;if(!L)throw new fy.SwapKitError("helpers_invalid_params",{asset:y.toString(),from:q});let A={amount:X,destination:U,hyperliquidChain:Tq,signatureChainId:f||Cq,time:_,token:L,type:"spotSend"};return{action:A,endpoint:G,nonce:_,typedData:Lq(A)}}async function I5(y){let T=await fy.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 fy.SwapKitError("core_transaction_failed",{response:T});return T}async function zq(y,T){let H=await NT(),f=T-5000;for(let C=0;C<5;C++){if(C>0)await new Promise((U)=>setTimeout(U,1000));try{let U=await fy.RequestClient.post(`${H}/info`,{json:{startTime:f,type:"userNonFundingLedgerUpdates",user:y}}),q=Array.isArray(U)?U.find((G)=>G.time&&G.time>=T&&(G.delta?.type==="spotTransfer"||G.delta?.type==="internalTransfer")):void 0;if(q?.hash)return q.hash}catch{}}return""}function e1(y){return y.startsWith("0x")&&Y0(y)}function Aq(y){let T=oy(dy),H=y&&"index"in y?y.index||0:0,f=fy.derivationPathToString(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:fy.updateDerivationPath(fy.NetworkDerivationPath[dy],{index:H})),C,U=!1;function q(){if(U)return C;return C=tf.match(y).with({phrase:tf.P.string},({phrase:Z})=>{return S5.HDNodeWallet.fromPhrase(Z,void 0,f)}).with({signer:tf.P.not(tf.P.nullish)},({signer:Z})=>Z).otherwise(()=>{return}),U=!0,C}async function G(){let Z=q();return Z?await Z.getAddress():""}async function X(Z){let Q=q();if(!Q)throw new fy.SwapKitError("toolbox_hypercore_no_signer");let W=await Q.signTypedData(Z.typedData.domain,Z.typedData.types,Z.typedData.message);return{action:Z.action,endpoint:Z.endpoint,nonce:Z.nonce,signature:w5(W),..."expiresAfter"in Z?{expiresAfter:Z.expiresAfter}:{},..."vaultAddress"in Z?{vaultAddress:Z.vaultAddress}:{}}}async function _(Z){let Q=jy(Z,"helpers_invalid_params");try{let W=await NT(),[M,n,O]=await Promise.all([fy.RequestClient.post(`${W}/info`,{json:{type:"spotClearinghouseState",user:Q}}),fy.RequestClient.post(`${W}/info`,{json:{type:"clearinghouseState",user:Q}}),fy.RequestClient.post(`${W}/info`,{json:{type:"spotMeta"}})]),J=(M.spotState?.balances||M.balances||[]).map(({coin:N,token:B,total:Y})=>o5({coin:N,spotMeta:O,token:B,value:Y})).filter((N)=>!!N),R=o5({coin:"USDC",spotMeta:O,value:n.withdrawable||n.marginSummary?.accountValue||n.marginSummary?.totalRawUsd});return Jq(R?[...J,R]:J)}catch{return T(Q)}}async function L(Z){let Q=q();if(!Q)throw new fy.SwapKitError("toolbox_hypercore_no_signer");let W=Z.sender||await Q.getAddress(),M=await a1({...Z,feeRate:0,sender:W}),n=await X(M);return await I5(n),zq(W,M.nonce)}function A(){return fy.AssetValue.from({chain:dy,value:0})}return{broadcastTransaction:I5,createL1ActionRequest:V5,createTransaction:a1,createUserSignedActionRequest:E5,estimateTransactionFee:A,getAddress:G,getBalance:_,getState:{clearinghouse:Gq,frontendOpenOrders:Qq,openOrders:_q,orderStatus:Zq,spotClearinghouse:Xq,userFills:Wq,userFillsByTime:Yq},signTransaction:X,transfer:L,validateAddress:e1}}var fy,S5,tf,dy,P5,fq,Tq="Mainnet",Cq="0xa4b1",Hq="0x0000000000000000000000000000000000000000",Uq,qq;var v5=E(()=>{o1();sy();x5();fy=require("@swapkit/helpers"),S5=require("ethers"),tf=require("ts-pattern"),dy=fy.Chain.Hype,{baseDecimal:P5}=fy.getChainConfig(dy),fq={HYPE:P5,USDC:6,USDT:6},Uq={spotSend:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"time",type:"uint64"}]},qq={spotSend:"HyperliquidTransaction:SpotSend"}});var yC={};Ny(yC,{validateHyperCoreAddress:()=>e1,getHyperCoreToolbox:()=>Aq,createUserSignedActionRequest:()=>E5,createTransaction:()=>a1,createL1ActionRequest:()=>V5,buildUsdClassTransferAction:()=>K8,buildUpdateLeverageAction:()=>p8,buildUpdateIsolatedMarginAction:()=>b8,buildTopUpIsolatedOnlyMarginAction:()=>j8,buildTokenDelegateAction:()=>m8,buildSendAssetAction:()=>u8,buildScheduleCancelAction:()=>l8,buildOrderAction:()=>S8,buildModifyAction:()=>E8,buildCancelByCloidAction:()=>V8,buildCancelAction:()=>P8,buildBatchModifyAction:()=>v8,buildApproveBuilderFeeAction:()=>t8,buildApproveAgentAction:()=>h8});module.exports=ny(yC);var fC=E(()=>{v5()});async function j5(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((q)=>q.id===y)||null}catch{return null}}async function Mq(y){let T=await ff(),{PublicKey:H}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:f}=await import("@solana/spl-token"),C=new H(y),{baseDecimal:U}=a.getChainConfig(a.Chain.Solana),q=await T.getBalance(C),G=[a.AssetValue.from({chain:a.Chain.Solana,fromBaseDecimal:U,value:q||0})],X=await T.getParsedTokenAccountsByOwner(C,{programId:f});for(let{account:_}of X.value){let L=_.data.parsed.info,A=L.mint,Z=L.tokenAmount.amount;if(Number(Z)===0)continue;let Q=await j5(A),W=Q?.symbol||"UNKNOWN",M=Q?.decimals||L.tokenAmount.decimals;G.push(a.AssetValue.from({asset:`${a.Chain.Solana}.${W}-${A}`,fromBaseDecimal:M,value:Z}))}return G}function CC(y){try{let T=new Tf.PublicKey(y);return Tf.PublicKey.isOnCurve(T.toBytes())}catch{return!1}}function Bq(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 k0.match(y).with({phrase:k0.P.string},({phrase:q})=>TC({derivationPath:H,phrase:q})).with({signer:k0.P.any},({signer:q})=>q).otherwise(()=>{return}),f}async function U(){let q=await C();return q?.publicKey?b5(q.publicKey):""}return{broadcastTransaction:DT(ff),createKeysForPath:TC,createTransaction:HC(ff),createTransactionFromInstructions:Rq,estimateTransactionFee:Nq(ff),getAddress:U,getAddressFromPubKey:b5,getBalance:oy(a.Chain.Solana),getBalanceFromRPC:Mq,getConnection:ff,getPubkeyFromAddress:(q)=>new Tf.PublicKey(q),signAndBroadcastTransaction:async(q)=>{let G=await p5(ff,C)(q);return DT(ff)(G)},signTransaction:p5(ff,C),transfer:nq(ff,C),validateAddress:CC}}function Nq(y){return async({recipient:T,assetValue:H,memo:f,isProgramDerivedAddress:C,sender:U})=>{let q=await y(),X=(await HC(y)({assetValue:H,isProgramDerivedAddress:C,memo:f,recipient:T,sender:U})).compileMessage(),_=await q.getFeeForMessage(X);if(_.value===null)throw new a.SwapKitError("toolbox_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:L}=a.getChainConfig(a.Chain.Solana);return a.AssetValue.from({chain:a.Chain.Solana,fromBaseDecimal:L,value:_.value})}}async function ff(){let{Connection:y}=await import("@solana/web3.js"),T=await a.getRPCUrl(a.Chain.Solana);return new y(T,{commitment:"confirmed",fetchMiddleware:(H,f,C)=>{let U={};for(let[q,G]of Object.entries(f?.headers??{})){let X=q.toLowerCase();if(X!=="pragma"&&X!=="solana-client")U[q]=G}C(H,{...f,headers:U})}})}function Dq(y){return async({assetValue:T,recipient:H,sender:f,isProgramDerivedAddress:C})=>{let U=await y(),q=new Tf.PublicKey(f);if(T.isGasAsset){let{Transaction:G,SystemProgram:X}=await import("@solana/web3.js");return new G().add(X.transfer({fromPubkey:q,lamports:T.getBaseValue("number"),toPubkey:new Tf.PublicKey(H)}))}if(T.address)return Oq({amount:T.getBaseValue("number"),connection:U,decimals:T.decimal,from:q,isProgramDerivedAddress:C,recipient:H,tokenAddress:T.address});return}}async function Oq({tokenAddress:y,recipient:T,from:H,connection:f,amount:C,decimals:U,isProgramDerivedAddress:q}){let{getAssociatedTokenAddress:G,getAccount:X,createAssociatedTokenAccountInstruction:_,createTransferCheckedInstruction:L}=await import("@solana/spl-token"),{Transaction:A}=await import("@solana/web3.js"),Z=new A,Q=new Tf.PublicKey(y),W=await G(Q,H),M=new Tf.PublicKey(T),n=await G(Q,M,q),O=!1;try{await X(f,n),O=!0}catch{}if(!O)Z.add(_(H,n,M,Q));return Z.add(L(W,Q,n,H,C,U)),Z}function HC(y){return async({recipient:T,assetValue:H,memo:f,isProgramDerivedAddress:C,sender:U})=>{let{createMemoInstruction:q}=await import("@solana/spl-memo"),G=new Tf.PublicKey(U);if(!(C||CC(T)))throw new a.SwapKitError("core_transaction_invalid_recipient_address");let X=await y(),_=await Dq(y)({assetValue:H,isProgramDerivedAddress:C,recipient:T,sender:U});if(!_)throw new a.SwapKitError("core_transaction_invalid_sender_address");if(f)_.add(q(f));let L=await X.getLatestBlockhash();return _.recentBlockhash=L.blockhash,_.feePayer=G,_}}async function Rq({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 nq(y,T){return async({recipient:H,assetValue:f,memo:C,isProgramDerivedAddress:U})=>{let q=await T();if(!q)throw new a.SwapKitError("core_transaction_invalid_sender_address");let G=q.publicKey?.toString()??(await q.connect()).publicKey.toString(),X=await HC(y)({assetValue:f,isProgramDerivedAddress:U,memo:C,recipient:H,sender:G});if("signTransaction"in q){let _=await q.signTransaction(X);return DT(y)(_)}return X.sign(q),DT(y)(X)}}function DT(y){return async(T)=>{return(await y()).sendRawTransaction(T.serialize())}}function p5(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 q=await(await y()).getLatestBlockhash();H.recentBlockhash=q.blockhash,H.feePayer=f.publicKey||void 0}if("connect"in f)return await f.signTransaction(H);return H.sign([f]),H}}async function TC({phrase:y,derivationPath:T=a.DerivationPath.SOL}){let{HDKey:H}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:f}=await import("@scure/bip39"),{Keypair:C}=await import("@solana/web3.js"),U=f(y),q=H.fromMasterSeed(U);return C.fromSeed(q.derive(T,!0).privateKey)}function b5(y){return y.toString()}var Tf,a,k0;var l5=E(()=>{sy();Tf=require("@solana/web3.js"),a=require("@swapkit/helpers"),k0=require("ts-pattern")});var UC={};Ny(UC,{validateSolanaAddress:()=>CC,getSolanaToolbox:()=>Bq,fetchTokenMetaData:()=>j5,createKeysForPath:()=>TC});module.exports=ny(UC);var qC=E(()=>{l5()});function OT(y){if(!y)return!1;return/^0x[0-9a-fA-F]{1,64}$/.test(y)}async function RT({phrase:y,derivationPath:T=g.DerivationPath.STRK}){let{HDKey:H}=await import("@scure/bip32"),{mnemonicToSeedSync:f}=await import("@scure/bip39"),{ec:C,hash:U,encode:q,CallData:G}=await import("starknet"),X=f(y),L=H.fromMasterSeed(X).derive(T);if(!L.privateKey)throw new g.SwapKitError("toolbox_starknet_no_signer");let A=q.addHexPrefix(Buffer.from(L.privateKey).toString("hex")),Z=C.starkCurve.grindKey(A),Q=q.addHexPrefix(Z),W=C.starkCurve.getStarkKey(Q),M=G.compile([W,0]);return{address:U.calculateContractAddressFromHash(W,XC,M,0),privateKey:Q,publicKey:W}}async function _C({phrase:y,derivationPath:T=g.DerivationPath.STRK}){let{Account:H,RpcProvider:f}=await import("starknet"),{privateKey:C,address:U}=await RT({derivationPath:T,phrase:y}),q=await g.getRPCUrl(g.Chain.Starknet),G=new f({nodeUrl:q});return new H({address:U,provider:G,signer:C})}function u5(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,U,q;async function G(){if(U)return U;let{RpcProvider:B}=await import("starknet"),Y=await g.getRPCUrl(T);return U=new B({nodeUrl:Y}),U}async function X(B){let Y=await G(),z=B||await Z();if(!z)return!1;try{return await Y.getClassHashAt(z),!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 _(){let{CallData:B,hash:Y}=await import("starknet"),z=await G(),k=await A();if(!k)throw new g.SwapKitError("toolbox_starknet_no_signer");if(!q)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 k.address;let w=B.compile([q,0]);if(Y.calculateContractAddressFromHash(q,XC,w,0).toLowerCase()!==k.address.toLowerCase())throw new g.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Address mismatch during deployment verification"}});let I={addressSalt:q,classHash:XC,constructorCalldata:w},{transaction_hash:D}=await k.deployAccount(I);return await z.waitForTransaction(D),D}async function L(){if(!await X()){if(!q)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 _()}}async function A(){if(C)return C;return C=await ly.match(y).with({phrase:ly.P.string},async({phrase:B})=>{let{Account:Y,RpcProvider:z}=await import("starknet"),{privateKey:k,address:F,publicKey:w}=await RT({derivationPath:f,phrase:B});q=w;let $=await g.getRPCUrl(g.Chain.Starknet),I=new z({nodeUrl:$});return new Y({address:F,provider:I,signer:k})}).with({address:ly.P.string,privateKey:ly.P.string},async({privateKey:B,address:Y})=>{let{Account:z}=await import("starknet"),k=await G();return new z({address:Y,provider:k,signer:B})}).with({signer:ly.P.instanceOf(Object)},({signer:B})=>B).otherwise(()=>{return}),C}async function Z(){return(await A())?.address??""}async function Q(B){let Y=await G(),{uint256:z,CallData:k}=await import("starknet"),F=[],w=[GC,K5];for(let $ of w)try{let[I="0",D="0"]=await Y.callContract({calldata:k.compile({account:B}),contractAddress:$,entrypoint:"balanceOf"}),x=z.uint256ToBN({high:I,low:D});ly.match($).with(GC,()=>{F.push(g.AssetValue.from({chain:T,value:x}))}).with(K5,()=>{if(x>0n)F.push(g.AssetValue.from({asset:`${T}.ETH-${$}`,value:x}))}).otherwise(()=>{})}catch{}return F}async function W({recipient:B,assetValue:Y}){let{CallData:z,uint256:k}=await import("starknet");if(!OT(B))throw new g.SwapKitError("core_transaction_invalid_recipient_address",{address:B});let F=Y.isGasAsset?GC:Y.address;if(!F)throw new g.SwapKitError("toolbox_starknet_invalid_address",{address:F,assetValue:Y});let w=k.bnToUint256(Y.getBaseValue("bigint"));return[{calldata:z.compile([B,w]),contractAddress:F,entrypoint:"transfer"}]}async function M({recipient:B,assetValue:Y,sender:z}){let{baseDecimal:k}=g.getChainConfig(g.Chain.Starknet),F=await A(),w=await ly.match({sender:z,signer:F}).with({sender:ly.P.string},async({sender:$})=>{let{Account:I}=await import("starknet"),D=await G();return new I({address:$,provider:D,signer:"0x0"})}).with({signer:ly.P.nonNullable},({signer:$})=>$).otherwise(($)=>{throw new g.SwapKitError({errorKey:"toolbox_starknet_fee_estimation_failed",info:{message:"Estimating fee needs a valid sender address or signer",params:$}})});try{let $=await W({assetValue:Y,recipient:B}),I=await w.estimateInvokeFee($);if(I?.overall_fee)return g.AssetValue.from({chain:T,fromBaseDecimal:k,value:I.overall_fee})}catch($){throw new g.SwapKitError("toolbox_starknet_fee_estimation_failed",$)}return g.AssetValue.from({chain:T,value:"0.00001"})}async function n({recipient:B,assetValue:Y,memo:z}){let k=await A();if(!k)throw new g.SwapKitError("toolbox_starknet_no_signer");await L();let F=await W({assetValue:Y,memo:z,recipient:B});return(await k.execute(F)).transaction_hash}async function O(B){let Y=await A();if(!Y)throw new g.SwapKitError("toolbox_starknet_no_signer");let z=await Y.signMessage(B);return Array.isArray(z)?z:[z.r.toString(),z.s.toString()]}async function J(B){let Y=await A();if(!Y)throw new g.SwapKitError("toolbox_starknet_no_signer");return await L(),(await Y.execute(B)).transaction_hash}function R(B){return J(B)}function N(B,Y=!0){try{return oy(T)(B,Y)}catch{return Q(B)}}return{broadcastTransaction:J,createKeysForPath:_C,createTransaction:W,deployAccount:_,estimateTransactionFee:M,getAddress:Z,getBalance:N,getProvider:G,isAccountDeployed:X,signAndBroadcastTransaction:R,signMessage:O,transfer:n,validateAddress:OT}}var g,ly,GC="0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",K5="0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",XC="0x01a736d6ed154502257f02b1ccdf4d9d1089f80811cd6acad48e6b6a9d1f2003";var h5=E(()=>{sy();g=require("@swapkit/helpers"),ly=require("ts-pattern")});var nT={};Ny(nT,{validateStarknetAddress:()=>OT,starknetCreateKeysForPath:()=>_C,getStarknetToolbox:()=>u5,deriveStarknetKeys:()=>RT});module.exports=ny(nT);var kT=E(()=>{h5()});async function c5(y,T,H,f=[],C){let U=await y.getCoins({coinType:H,cursor:C,owner:T}),q=[...f,...U.data];return U.hasNextPage?c5(y,T,H,q,U.nextCursor):q}function kq(y,T,H){let f=T.reduce((X,_)=>X+BigInt(_.balance),0n);if(f<H)throw new Hy.SwapKitError("toolbox_sui_insufficient_balance",{available:f.toString(),required:H.toString()});let{ids:C}=T.reduce((X,_)=>{if(X.total>=H)return X;return{ids:[...X.ids,_.coinObjectId],total:X.total+BigInt(_.balance)}},{ids:[],total:0n}),U=C[0],q=C.slice(1);if(q.length>0)y.mergeCoins(U,q);let[G]=y.splitCoins(U,[H]);return G}function g5(y){try{return m5.isValidSuiAddress(y)}catch{return!1}}function t5(y){return"signWithIntent"in y}function wq({provider:y,...T}={}){let H;async function f(){if(H)return H;return H=await w0.match(T).with({phrase:w0.P.string},async({phrase:W})=>{let{Ed25519Keypair:M}=await import("@mysten/sui/keypairs/ed25519");return M.deriveKeypair(W)}).with({signer:w0.P.any},({signer:W})=>W).otherwise(()=>{return}),H}async function C(W=y){let{SuiClient:M}=await import("@mysten/sui/client");return new M({url:W||Hy.getRPCUrlSync(Hy.Chain.Sui)})}async function U(){return(await f())?.toSuiAddress()||""}function q(W){try{let M=Hy.AssetValue.from({address:W,chain:Hy.Chain.Sui});return{asset:M.toString(),decimals:M.decimal}}catch{}return null}async function G(W){let M=W||await U();if(!M)throw new Hy.SwapKitError("toolbox_sui_address_required");let{baseDecimal:n,chain:O}=Hy.getChainConfig(Hy.Chain.Sui);try{let J=await C(),{totalBalance:R}=await J.getBalance({owner:M}),N=[Hy.AssetValue.from({chain:O,fromBaseDecimal:n,value:R})],B=await J.getAllBalances({owner:M});for(let{coinType:Y,totalBalance:z}of B){if(Y==="0x2::sui::SUI"||Number(z)<=0)continue;let k=q(Y);if(k)N.push(Hy.AssetValue.from({asset:k.asset,fromBaseDecimal:k.decimals,value:z}))}return N}catch{return[Hy.AssetValue.from({chain:O})]}}async function X(W){let M=Hy.AssetValue.from({chain:Hy.Chain.Sui,value:"0.01"});if(!W)return M;try{let n=await C(),{txBytes:O}=await _(W),{effects:{status:J,gasUsed:R}}=await n.dryRunTransactionBlock({transactionBlock:O});if(J.status!=="success")return M;let N=Number(R.computationCost)+Number(R.storageCost)-Number(R.storageRebate);return Hy.AssetValue.from({chain:Hy.Chain.Sui,value:N.toString()})}catch{return M}}async function _({recipient:W,assetValue:M,gasBudget:n,sender:O}){let{Transaction:J}=await import("@mysten/sui/transactions"),R=O||await U();if(!R)throw new Hy.SwapKitError("toolbox_sui_no_sender");try{let N=new J;if(N.setSender(R),M.isGasAsset||M.symbol==="SUI"){let[z]=N.splitCoins(N.gas,[M.getBaseValue("string")]);N.transferObjects([z],W)}else{let z=M.address;if(!z)throw new Hy.SwapKitError("toolbox_sui_missing_coin_type");let k=await C(),F=M.getBaseValue("bigint"),w=await c5(k,R,z);if(!w.length)throw new Hy.SwapKitError("toolbox_sui_no_coins_found",{coinType:z});let $=kq(N,w,F);N.transferObjects([$],W)}if(n)N.setGasBudget(n);let B=await C(),Y=await N.build({client:B});return{tx:N,txBytes:Y}}catch(N){if(N instanceof Hy.SwapKitError)throw N;throw new Hy.SwapKitError("toolbox_sui_transaction_creation_error",{error:N})}}async function L(W){let M=await f();if(!M)throw new Hy.SwapKitError("toolbox_sui_no_signer");if(W instanceof Uint8Array)return M.signTransaction(W);let{txBytes:n}="tx"in W?W:await _(W);return M.signTransaction(n)}async function A({assetValue:W,gasBudget:M,recipient:n}){let O=await f();if(!O)throw new Hy.SwapKitError("toolbox_sui_no_signer");let J=O.toSuiAddress()||await U();if(!J)throw new Hy.SwapKitError("toolbox_sui_no_sender");let{txBytes:R}=await _({assetValue:W,gasBudget:M,recipient:n,sender:J}),N=await C();if(!t5(O)){let Y=await O.signTransaction(R),{digest:z}=await N.executeTransactionBlock({signature:Y.signature,transactionBlock:Y.bytes});return z}let{digest:B}=await N.signAndExecuteTransaction({signer:O,transaction:R});return B}async function Z(W){let M=await C(),{digest:n}=await M.executeTransactionBlock({signature:W.signature,transactionBlock:W.bytes});return n}async function Q(W){let M=await f();if(!M)throw new Hy.SwapKitError("toolbox_sui_no_signer");let n=await C(),O;if(typeof W==="string")O=Uint8Array.from(Buffer.from(W,"base64"));else if(W instanceof Uint8Array)O=W;else O=await W.build({client:n});if(!t5(M)){let R=await M.signTransaction(O),{digest:N}=await n.executeTransactionBlock({signature:R.signature,transactionBlock:R.bytes});return N}let{digest:J}=await n.signAndExecuteTransaction({signer:M,transaction:O});return J}return{broadcastTransaction:Z,createTransaction:_,estimateTransactionFee:X,getAddress:U,getBalance:G,signAndBroadcastTransaction:Q,signTransaction:L,transfer:A,validateAddress:g5}}var m5,Hy,w0;var i5=E(()=>{m5=require("@mysten/sui/utils"),Hy=require("@swapkit/helpers"),w0=require("ts-pattern")});var wT={};Ny(wT,{validateSuiAddress:()=>g5,getSuiToolbox:()=>wq});module.exports=ny(wT);var FT=E(()=>{i5()});async function Iq(){let y=Date.now();if($T&&y-r5<oq)return $T;return $T=await a5.getHttpEndpoint(),r5=y,$T}async function Sq(){let[y]=Ly.SKConfig.get("rpcUrls")[Ly.Chain.Ton]??[];if(y)return y;return await Iq()}function Pq(y={}){let T,H,f;async function C(){if(!T){let N=y.provider??await Sq();T=new d.TonClient({endpoint:N})}return T}async function U(){return(await G()).address.toString()}async function q(){if(f)return f;return f=await xf.match(y).with({phrase:xf.P.string},async({phrase:N})=>s5.mnemonicToWalletKey(N.split(" "))).with({signer:xf.P.any},({signer:N})=>N).otherwise(()=>{return}),f}async function G(N){if(!H||N){let B=await q(),Y=await C(),z=N||B;if(!z)throw new Ly.SwapKitError("core_wallet_connection_not_found");let k=d.WalletContractV4.create({publicKey:z.publicKey,workchain:0});H=Y.open(k)}return H}let X=oy(Ly.Chain.Ton);async function _({assetValue:N,recipient:B,memo:Y,sender:z}){if(N.isGasAsset){let u=Y?R(Y).toBoc().toString("base64"):void 0;return[{address:B,amount:N.getBaseValue("string"),payload:u}]}let k=N.address;if(!k)throw new Ly.SwapKitError({errorKey:"core_swap_contract_not_found",info:{asset:N.toString()}});let F=z??await U(),w=await O({jettonMasterAddress:k,ownerAddress:F}),$=d.Address.parse(B),I=d.Address.parse(F),D=N.getBaseValue("bigint"),x=Y?R(Y):void 0,S=J({destinationAddress:$,forwardPayload:x,jettonAmount:D,responseAddress:I});return[{address:w.toString(),amount:xq.toString(),payload:S.toBoc().toString("base64")}]}function L({sender:N,...B}){return _({...B,sender:N})}function A(N){return N.map((B)=>{let Y=B.payload?d.Cell.fromBase64(B.payload):void 0,z=B.stateInit?d.loadStateInit(d.Cell.fromBase64(B.stateInit).asSlice()):void 0,k=d.Address.parse(B.address),F=d.Address.isFriendly(B.address)?d.Address.parseFriendly(B.address).isBounceable:!0;return d.internal({body:Y,bounce:F,init:z,to:k,value:BigInt(B.amount)})})}async function Z(N){let B=await q(),Y=await G();if(!Y||!B)throw new Ly.SwapKitError("core_wallet_connection_not_found");let z=await C(),{state:k}=await z.getContractState(Y.address),F=k==="active",w=F?await Y.getSeqno():0,$=Y.createTransfer({messages:A(N),secretKey:B.secretKey,sendMode:d5,seqno:w}),I=d.external({body:$,init:F?void 0:Y.init,to:Y.address});return d.beginCell().store(d.storeMessage(I)).endCell()}async function Q(N){return await(await C()).sendFile(N.toBoc()),N.hash().toString("hex")}async function W(N){let B=await Z(N);return Q(B)}async function M({assetValue:N,recipient:B,memo:Y}){let z=await L({assetValue:N,memo:Y,recipient:B});return W(z)}async function n({sender:N,...B}){let{baseDecimal:Y}=Ly.getChainConfig(Ly.Chain.Ton),z=await xf.match(N).with(xf.P.string,(w)=>{return d.Address.parseFriendly(w).address}).otherwise(async()=>{return(await G()).address});if(!z)throw new Ly.SwapKitError("toolbox_fee_estimation_failed",{chain:Ly.Chain.Ton});let k=Ly.AssetValue.from({chain:Ly.Chain.Ton,value:"0.01"}),F=await C();try{let w=await L({sender:N,...B}),$=await q(),I=await G();if(!I||!$)return k;let D=await I.getSeqno(),x=I.createTransfer({messages:A(w),secretKey:$.secretKey,sendMode:d5,seqno:D}),{source_fees:S}=await F.estimateExternalMessageFee(z,{body:x,ignoreSignature:!0,initCode:null,initData:null}),u=S.in_fwd_fee+S.storage_fee+S.gas_fee+S.fwd_fee;return k.set(Ly.SwapKitNumber.fromBigInt(BigInt(u),Y))}catch{return k}}async function O({jettonMasterAddress:N,ownerAddress:B}){try{let Y=await C(),z=d.Address.parse(N),k=d.Address.parse(B);return await Y.open(d.JettonMaster.create(z)).getWalletAddress(k)}catch{throw new Ly.SwapKitError({errorKey:"core_swap_contract_not_found",info:{jettonMasterAddress:N,ownerAddress:B}})}}function J({jettonAmount:N,destinationAddress:B,responseAddress:Y,forwardAmount:z=$q,forwardPayload:k}){let F=d.beginCell().storeUint(Fq,32).storeUint(0,64).storeCoins(N).storeAddress(B).storeAddress(Y).storeBit(0).storeCoins(z);if(k)F.storeBit(1).storeRef(k);else F.storeBit(0);return F.endCell()}function R(N){return d.beginCell().storeUint(0,32).storeStringTail(N).endCell()}return{broadcastTransaction:Q,createTransaction:L,estimateTransactionFee:n,getAddress:U,getBalance:X,getJettonWalletAddress:O,sign:Z,signAndBroadcastTransaction:W,transfer:M,validateAddress:e5}}function e5(y){try{return d.Address.parse(y),!0}catch{return!1}}var a5,Ly,s5,d,xf,Fq=260734629,$q,xq,d5,oq=60000,$T,r5=0;var yU=E(()=>{sy();a5=require("@orbs-network/ton-access"),Ly=require("@swapkit/helpers"),s5=require("@ton/crypto"),d=require("@ton/ton"),xf=require("ts-pattern"),$q=d.toNano("0.01"),xq=d.toNano("0.05"),d5=d.SendMode.PAY_GAS_SEPARATELY+d.SendMode.IGNORE_ERRORS});var xT={};Ny(xT,{validateTonAddress:()=>e5,getTONToolbox:()=>Pq});module.exports=ny(xT);var oT=E(()=>{yU()});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)??fU.NetworkDerivationPath[T].slice(0,3)];if(y!==void 0)f[2]=y;return f}function mf({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 of(y){return y[2]??0}function TU({deriveAddress:y,getBalance:T,getUtxos:H}){async function f(G){let{accountIndex:X,count:_,startIndex:L=0,change:A=!1}=G;if(Ky("count",_),_<1)throw RangeError("count must be at least 1");Ky("startIndex",L);let Z=[];for(let Q=0;Q<_;Q++){let W=await y({accountIndex:X,change:A,index:L+Q});if(W)Z.push(W)}return Z}async function C(G){let{gapLimit:X=20,change:_=!1}=G??{},L=[],A=0,Z=0;while(A<X){let Q=await y({change:_,index:Z});if(!Q)break;if((await T(Q.address)).some((n)=>n.getValue("number")>0))L.push(Q),A=0;else A++;Z++}return L}async function U(G=20){let[X,_]=await Promise.all([C({change:!1,gapLimit:G}),C({change:!0,gapLimit:G})]),L=[...X,..._],A=await Promise.all(L.map(async(Q)=>{let M=(await T(Q.address)).reduce((n,O)=>n+O.getValue("number"),0);return{...Q,balance:M}})),Z=A.reduce((Q,W)=>Q+W.balance,0);return{addresses:A,total:Z}}async function q(G=20){let[X,_]=await Promise.all([C({change:!1,gapLimit:G}),C({change:!0,gapLimit:G})]),L=[...X,..._];return(await Promise.all(L.map(async(Z)=>{return(await H(Z.address)).map((W)=>({...W,address:Z.address,derivationIndex:Z.index,isChange:Z.change}))}))).flat()}return{deriveAddresses:f,getAggregatedBalance:U,getAggregatedUtxos:q,scanForAddresses:C}}var fU;var F0=E(()=>{fU=require("@swapkit/helpers")});async function Vq({chain:y,txHash:T}){let H=`${$0(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 U=await c.getRPCUrl(y);if(U){let q=JSON.stringify({id:JH(),jsonrpc:"2.0",method:"sendrawtransaction",params:[T]}),G=await c.RequestClient.post(U,{body:q,headers:{"Content-Type":"application/json"}});if(G.error)throw new c.SwapKitError("toolbox_utxo_broadcast_failed",{error:G.error?.message});if(G.result.includes('"code":-26'))throw new c.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return G.result}throw C}}function $0(y){return`https://api.blockchair.com/${Eq(y)}`}function CU(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 Eq(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 vq(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,CU(y))}catch{return CU(y)}}async function IT(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 UU({address:y,chain:T,apiKey:H}){if(!y)throw new c.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await IT(`${$0(T)}/dashboards/address/${y}?transaction_details=true`,H))[y]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function pq({address:y,chain:T,apiKey:H}){return(await UU({address:y,apiKey:H,chain:T}))?.address.balance||0}async function qU({chain:y,apiKey:T,txHash:H}){if(!H)throw new c.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await IT(`${$0(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 jq({chain:y,apiKey:T,txHash:H}){if(!H)throw new c.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});let C=(await IT(`${$0(y)}/dashboards/transaction/${H}`,T))?.[H];if(!C)throw new c.SwapKitError("toolbox_utxo_tx_not_found",{txHash:H});let{transaction:U,inputs:q,outputs:G}=C,X=q.map((L)=>L.spending_sequence),_=U.is_rbf===!0||X.some((L)=>L<bq);return{blockId:U.block_id,confirmed:U.block_id!==-1,fee:U.fee,inputs:q,isRBF:_,outputs:G,sequences:X,size:U.size,txid:U.hash,weight:U.weight}}async function lq({chain:y,address:T,apiKey:H,offset:f=0,limit:C=30}){return(await IT(`${$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=${C}&offset=${f}`,H)).map(({is_spent:X,script_hex:_,block_id:L,transaction_hash:A,index:Z,value:Q,spending_signature_hex:W})=>({hash:A,index:Z,is_confirmed:L!==-1,is_spent:X,script_hex:_,txHex:W,value:Q}))}function Kq(y){return y.reduce((T,H)=>T+H.value,0)}function HU(y,T){let H=[...y].sort((f,C)=>C.value-f.value);if(T){let f=[],C=0;for(let U of H)if(f.push(U),C+=U.value,C>=T)break;return f}return H}async function GU({chain:y,address:T,apiKey:H,targetValue:f,accumulativeValue:C=0,offset:U=0,limit:q=30}){if(!T)throw new c.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let G=await lq({address:T,apiKey:H,chain:y,limit:q,offset:U,targetValue:f}),_=G.length<q,L=G.filter(({is_spent:n})=>!n),A=Kq(L),Z=C+A,Q=f&&Z>=f;if(_||Q)return HU(L,f);let W=await GU({accumulativeValue:Z,address:T,apiKey:H,chain:y,limit:q,offset:U+q,targetValue:f}),M=[...L,...W];return HU(M,f)}catch(G){let X=G instanceof Error?G.message:String(G);return console.error(`Failed to fetch unspent UTXOs: ${X}`),[]}}async function uq({address:y,chain:T,apiKey:H,fetchTxHex:f=!0,targetValue:C}){let U=await GU({address:y,apiKey:H,chain:T,targetValue:C}),q=[];for(let{hash:G,index:X,script_hex:_,value:L}of U){let A;if(f)A=await qU({apiKey:H,chain:T,txHash:G});q.push({address:y,hash:G,index:X,txHex:A,value:L,witnessUtxo:{script:Buffer.from(_,"hex"),value:L}})}return q}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)=>Vq({chain:y,txHash:H}),getAddressData:(H)=>UU({address:H,apiKey:T,chain:y}),getBalance:(H)=>pq({address:H,apiKey:T,chain:y}),getRawTx:(H)=>qU({apiKey:T,chain:y,txHash:H}),getSuggestedTxFee:()=>vq(y),getTransactionDetails:(H)=>jq({apiKey:T,chain:y,txHash:H}),getUtxos:(H)=>uq({...H,apiKey:T,chain:y})}}function hq(y){return y}function tq(){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,bq=4294967294;var XU=E(()=>{sy();c=require("@swapkit/helpers"),If=require("@swapkit/utxo-signer")});function gq(y,T,H){return Cf.encodeCashAddr({hash:H,prefix:y,type:mq[T]})}function iq(y){let T=Cf.decodeCashAddr(y),H=cq[T.type];if(!H)throw Error(`Unknown CashAddr type: ${T.type}`);return{hash:T.hash,prefix:T.prefix,type:H}}var Cf,mq,cq,QC;var _U=E(()=>{Cf=require("@swapkit/utxo-signer"),mq={P2PKH:Cf.CashAddrType.P2PKH,P2SH:Cf.CashAddrType.P2SH},cq={[Cf.CashAddrType.P2PKH]:"P2PKH",[Cf.CashAddrType.P2SH]:"P2SH"};QC={decode:iq,encode:gq}});function YC(y){try{return ST(y),!0}catch{return!1}}function JC(y){return ST(y)?.network}function Hf(y){let T=ST(y);if(T?.format==="legacy")return y;return aq(T)}function x0(y){let T=ST(y);return sq(T)}function ST(y){try{let T=dq(y);if(T)return T}catch{}try{let T=rq(y);if(T)return T}catch{}throw new ZC.SwapKitError("toolbox_utxo_invalid_address",{address:y})}function dq(y){try{let T=YU.decode(y);if(T.length!==21)throw new ZC.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 rq(y){if(y.indexOf(":")!==-1)try{return QU(y)}catch{}else{let T=["bitcoincash","bchtest","bchreg"];for(let H of T)try{return QU(`${H}:${y}`)}catch{}}return}function QU(y){try{let{hash:T,prefix:H,type:f}=QC.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 aq(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),YU.encode(H)}function sq(y){let T=y.network==="mainnet"?"bitcoincash":"bchtest",H=y.type==="p2pkh"?"P2PKH":"P2SH",f=new Uint8Array(y.hash);return QC.encode(T,H,f)}var ZU,WU,ZC,YU,WC,Sf;var JU=E(()=>{_U();ZU=require("@noble/hashes/sha2.js"),WU=require("@scure/base"),ZC=require("@swapkit/helpers"),YU=WU.createBase58check(ZU.sha256);((H)=>{H.Mainnet="mainnet";H.Testnet="testnet"})(WC||={});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 zU.Script.encode(["RETURN",T])}var LU,zU,eq=1000,VT=10,ET=2,AU=10,yG=41,fG=107,vT,PT,o0,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 LU.SwapKitError("toolbox_utxo_invalid_address",{address:y})},Pf=({inputs:y,outputs:T,feeRate:H})=>{let f=y[0]&&"address"in y[0]&&y[0].address?cf(y[0].address):"P2PKH",U=(H?y.filter((_)=>_.value>=PT["type"in _&&_.type?_.type:"P2PKH"]*Math.ceil(H)):y).reduce((_,L)=>_+zf(L),0),q=T?.reduce((_,L)=>_+I0(L),0)||o0[f],G=VT+U+q;return f==="P2WPKH"?Math.ceil(G+ET/4):G},zf=(y)=>{if("type"in y&&y.type)return PT[y.type];if("address"in y&&y.address)return PT[cf(y.address)];return yG+fG},I0=(y,T)=>{if(y?.script)return AU+y.script.length+(y.script.length>=74?2:1);if(T)return o0[T];if("address"in y&&y.address)return o0[cf(y.address)];return o0.P2PKH};var LC=E(()=>{LU=require("@swapkit/helpers"),zU=require("@swapkit/utxo-signer");((H)=>{H.P2PKH="P2PKH";H.P2WPKH="P2WPKH"})(vT||={});PT={["P2PKH"]:148,["P2WPKH"]:68},o0={["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:H=1,chain:f=ry.Chain.Bitcoin,changeAddress:C=""}){let U=y[0]&&"address"in y[0]&&y[0].address?cf(y[0].address):"P2PKH",q=y.filter((W)=>zf(W)*H<=W.value),X=U==="P2WPKH"?Math.ceil(ET/4):0,_=VT+X+T.reduce((W,M)=>W+I0(M),0),L=T.reduce((W,M)=>W+M.value,0),A=_*H,Z=0,Q=[];for(let W of q){let M=zf(W),n=H*M;A+=n,Z+=W.value,Q.push(W);let O=A+L;if(Z<O)continue;let J=Z-O,R=H*I0({address:C,value:0});if(J>R){let N=R+A,B=Z-(L+Math.ceil(N));if(B>Math.max(zf({value:0})*H,S0(f)))return{fee:Math.ceil(N),inputs:Q,outputs:T.concat({address:C,value:B})}}return{fee:Math.ceil(A),inputs:Q,outputs:T}}return{fee:Math.ceil(H*Pf({inputs:y,outputs:T}))}}var ry;var MU=E(()=>{LC();ry=require("@swapkit/helpers")});var gf=E(()=>{XU();JU();MU();LC()});function Vf(y){return y.replace(/(bchtest:|bitcoincash:)/,"")}function Af(y){let T=Vf(y);return YC(T)&&JC(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=pT.Address(pT.ZCASH_NETWORK).decode(y);return H.type==="pkh"||H.type==="sh"}catch{return!1}}var pT;var P0=E(()=>{gf();pT=require("@swapkit/utxo-signer")});function MC({address:y,chain:T}){return AC.match(T).with(P.Chain.BitcoinCash,()=>Af(y)).with(P.Chain.Zcash,()=>df(y)).otherwise(()=>{try{return r.Address($y(T)).decode(y),!0}catch{return!1}})}function $y(y){return AC.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 TG({phrase:y,derivationPath:T,network:H,seed:f}){let C=f??jT.mnemonicToSeedSync(y),q=zC.HDKey.fromMasterSeed(C,H.bip32).derive(T);if(!q.privateKey)throw new P.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive private key from phrase"});return q.privateKey}function BU(y){return NU.secp256k1.getPublicKey(y,!0)}function E0({publicKey:y,chain:T,network:H}){if(T===P.Chain.BitcoinCash){let U=r.p2pkh(y,H);if(!U.hash)throw new P.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return r.encodeCashAddr({hash:U.hash,prefix:r.CashAddrPrefix.MAINNET,type:r.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}let C=!V0.includes(T)?r.p2wpkh(y,H):r.p2pkh(y,H);if(!C.address)throw new P.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive address"});return C.address}function rf({phrase:y,derivationPath:T,chain:H,wif:f,seed:C}){let U=$y(H);if(f){let _=r.WIF(U).decode(f),L=BU(_);return{privateKey:_,publicKey:L}}if(!y)throw new P.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let q=T||P.derivationPathToString(P.NetworkDerivationPath[H]),G=TG({derivationPath:q,network:U,phrase:y,seed:C}),X=BU(G);return{privateKey:G,publicKey:X}}function CG(y,T){return r.WIF($y(T)).encode(y)}function HG({phrase:y,derivationPath:T,chain:H,seed:f}){let C=T.split("/");if(C.length<4)throw new P.SwapKitError("toolbox_utxo_invalid_params",{error:`Derivation path must have at least 4 levels (got ${C.length}): ${T}`});let U=$y(H),q=f??jT.mnemonicToSeedSync(y),G=zC.HDKey.fromMasterSeed(q,U.bip32),X=C.slice(0,4).join("/");return G.derive(X)}function Bf({inputs:y,outputs:T,chain:H,tx:f,sender:C,compiledMemo:U,enableRBF:q=!1}){let G=$y(H),X=!V0.includes(H),_=q?r.RBF_SEQUENCE:void 0,L=new Set;for(let A of y){let Z=`${A.hash}:${A.index}`;if(L.has(Z))throw new P.SwapKitError("toolbox_utxo_invalid_params",{error:"Duplicate input detected"});L.add(Z);let Q=typeof A.hash==="string"?Mf.hex.decode(A.hash):A.hash;if(X&&A.witnessUtxo)f.addInput({index:A.index,sequence:_,txid:Q,witnessUtxo:{amount:BigInt(A.witnessUtxo.value),script:A.witnessUtxo.script}});else if(A.txHex)f.addInput({index:A.index,nonWitnessUtxo:Mf.hex.decode(A.txHex),sequence:_,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 Z="address"in A&&A.address?A.address:C;if(H===P.Chain.BitcoinCash)Z=Hf(Z);if(A.script){if(U)f.addOutput({amount:0n,script:U})}else f.addOutputAddress(Z,BigInt(A.value),G)}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 DU({assetValue:y,recipient:T,memo:H,sender:f,fetchTxHex:C=!1}){let U=y.chain,q=(await af(U))[P.FeeOption.Fastest],G=C||V0.includes(U),X=y.getBaseValue("number"),_=Math.ceil(X+q*5000);return{inputs:await Oy(U).getUtxos({address:f,fetchTxHex:G,targetValue:_}),outputs:[{address:T,value:X},...H?[{address:"",script:Ey(H),value:0}]:[]]}}async function OU({assetValue:y,recipient:T,memo:H,feeRate:f,sender:C,fetchTxHex:U=!1,enableRBF:q=!1}){let G=y.chain,X=H?Ey(H):null,_=await DU({assetValue:y,fetchTxHex:U,memo:H,recipient:T,sender:C}),{inputs:L,outputs:A}=uy({..._,chain:G,feeRate:f});if(!(L&&A))throw new P.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:C});let Z=new r.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!X,version:1}),{inputs:Q,tx:W}=Bf({chain:G,compiledMemo:X,enableRBF:q,inputs:L,outputs:A,sender:C,tx:Z});return{inputs:Q,tx:W,utxos:_.inputs}}async function RU({assetValue:y,feeOptionKey:T=P.FeeOption.Fast,feeRate:H,memo:f,sender:C,recipient:U}){let q=y.chain,G=await DU({assetValue:y,memo:f,recipient:U,sender:C}),X=H?Math.floor(H):(await af(q))[T];return uy({...G,chain:q,feeRate:X})}function UG(y){return async function({from:H,memo:f,feeRate:C,feeOptionKey:U=P.FeeOption.Fast,recipients:q=1}){let G=await Oy(y).getAddressData(H),X=C?Math.ceil(C):(await af(y))[U],_=G?.utxo.map((M)=>({...M,hash:"",type:"P2PKH"})).filter((M)=>M.value>Math.max(S0(y),zf(M)*X));if(!_?.length)return P.AssetValue.from({chain:y});let L=BigInt(_.reduce((M,n)=>M+n.value,0)),A=P.AssetValue.from({chain:y,value:L}),Z=typeof q==="number"?Array.from({length:q},()=>({address:H,value:0})):q;if(f)Z.push({address:H,script:Ey(f),value:0});let Q=Pf({inputs:_,outputs:Z}),W=P.AssetValue.from({chain:y,value:BigInt(Q*X)});return A.sub(W)}}function qG(y){return async function(H){let{fee:f}=await RU(H);return P.AssetValue.from({chain:y,value:P.SwapKitNumber.fromBigInt(BigInt(f),8).getValue("string")})}}function GG({chain:y,phrase:T,derivationPath:H,seed:f}){let C=$y(y),{privateKey:U,publicKey:q}=rf({chain:y,derivationPath:H,phrase:T,seed:f}),G=y===P.Chain.BitcoinCash?[r.BCHSigHash.ALL]:[r.SigHash.ALL];return{getAddress:()=>E0({chain:y,network:C,publicKey:q}),privateKey:U,publicKey:q,signTransaction:(X)=>{return X.sign(U,G),X}}}function XG(y,T){return async function({memo:f,recipient:C,feeOptionKey:U,feeRate:q,assetValue:G,enableRBF:X=!1}){let _=await T?.getAddress();if(!(T&&_))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&&!bT.includes(y),id:`rbf_not_supported_${y}`,warning:`RBF (Replace-by-Fee) is not reliably supported on ${y}. Transaction will be created without RBF signaling.`});let L=X&&bT.includes(y),A=q||(await af(y))[U||P.FeeOption.Fast],{tx:Z}=await OU({assetValue:G,enableRBF:L,feeRate:A,memo:f,recipient:C,sender:_}),Q=await T.signTransaction(Z);return Q.finalize(),Oy(y).broadcastTx(Mf.hex.encode(Q.extract()))}}function BC(y){return(T)=>MC({address:T,chain:y})}function NC(y){let T=$y(y);return function(f){if(!f)throw new P.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});return E0({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?jT.mnemonicToSeedSync(H):void 0,U="derivationPath"in T&&T.derivationPath?T.derivationPath:P.updateDerivationPath(P.NetworkDerivationPath[y],{index:f}),q=P.derivationPathToString(U),G=H?GG({chain:y,derivationPath:q,phrase:H,seed:C}):void 0,X="signer"in T?T.signer:void 0,_=G||X,L=H?rf({chain:y,derivationPath:q,phrase:H,seed:C}):void 0;function A(){if(_)return _.getAddress();return Promise.resolve(void 0)}function Z(w){if(!H)return;let $=Lf({accountIndex:w,chain:y,derivationPath:U});return HG({chain:y,derivationPath:P.derivationPathToString($),phrase:H,seed:C})}let Q=Z();function W(){if(!Q)return;return Q.publicExtendedKey}function M({accountIndex:w}={}){let $=w===void 0?Q:Z(w);if(!$)return;let I=Lf({accountIndex:w,chain:y,derivationPath:U});return{accountIndex:of(I),path:P.derivationPathToString(I),xpub:$.publicExtendedKey}}function n({accountIndex:w,index:$,change:I=!1}){let D=w===void 0?Q:Z(w);if(!D)return;let x=mf({accountIndex:w,chain:y,change:I,derivationPath:U,index:$}),S=$y(y),u=D.deriveChild(Number(I)).deriveChild($);if(!u.publicKey)throw new P.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive public key"});let v=E0({chain:y,network:S,publicKey:u.publicKey}),m=Mf.hex.encode(u.publicKey);return{accountIndex:of(x),address:v,change:I,index:$,path:P.derivationPathToString(x),pubkey:m}}async function O(w){if(!bT.includes(y))return{reason:`RBF is not supported on ${y}`,supported:!1};let $=await Oy(y).getTransactionDetails(w);return{canReplace:$.isRBF&&!$.confirmed,confirmed:$.confirmed,enabled:$.isRBF,fee:$.fee,sequences:$.sequences,supported:!0}}async function J({txid:w,newFeeRate:$,recipient:I,memo:D}){if(!bT.includes(y))throw new P.SwapKitError("toolbox_utxo_rbf_not_supported",{chain:y});let x=await Oy(y).getTransactionDetails(w);if(!x.isRBF)throw new P.SwapKitError("toolbox_utxo_tx_not_replaceable",{txid:w});if(x.confirmed)throw new P.SwapKitError("toolbox_utxo_tx_already_confirmed",{blockId:x.blockId,txid:w});let S=x.inputs.reduce((My,by)=>My+by.value,0),v=x.outputs.find((My)=>My.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 m=await Promise.all(x.inputs.map(async(My)=>{let by=await Oy(y).getRawTx(My.transaction_hash);return{hash:My.transaction_hash,index:My.index,txHex:by,value:My.value,witnessUtxo:void 0}})),Cy=D?Ey(D):null,Ay=Pf({feeRate:$,inputs:m.map((My)=>({...My,type:"P2WPKH"})),outputs:[{address:I,value:v}]}),Gy=Math.ceil(Ay*$);if(Gy<=x.fee)throw new P.SwapKitError("toolbox_utxo_rbf_fee_too_low",{newFee:Gy,originalFee:x.fee});let Sy=Gy-x.fee,Ry=v-Sy;if(Ry<=0)throw new P.SwapKitError("toolbox_utxo_rbf_insufficient_change");let my=new r.Transaction({allowLegacyWitnessUtxo:!0,version:1}),cy=[{address:I,value:Ry},...D?[{address:"",script:Ey(D),value:0}]:[]],gy=S-Ry-Gy,xy=await A();if(gy>S0(y)&&xy)cy.push({address:xy,value:gy});return Bf({chain:y,compiledMemo:Cy,inputs:m,outputs:cy,sender:xy||I,tx:my}),{feeDelta:Sy,newFee:Gy,originalFee:x.fee,tx:my}}async function R({txid:w,newFeeRate:$,recipient:I,memo:D}){let{tx:x,originalFee:S,newFee:u}=await J({memo:D,newFeeRate:$,recipient:I,txid:w}),v=await k(x);v.finalize();let m=await Oy(y).broadcastTx(Mf.hex.encode(v.extract()));return{newFee:u,originalFee:S,txid:m}}function N({accountIndex:w,index:$,change:I=!1}){Ky("index",$);let D=w===void 0?Q:Z(w);if(!D)return;return D.deriveChild(Number(I)).deriveChild($).privateKey||void 0}function B({tx:w,inputDerivations:$}){if(!Q)throw new P.SwapKitError("toolbox_utxo_no_signer");let I=y===P.Chain.BitcoinCash?[r.BCHSigHash.ALL]:[r.SigHash.ALL];for(let D=0;D<$.length;D++){let x=$[D];if(!x)continue;let{derivationIndex:S,isChange:u}=x,v=N({change:u,index:S});if(!v)throw new P.SwapKitError("toolbox_utxo_invalid_params",{error:`Could not derive private key for input ${D} at index ${S}`});w.signIdx(v,D,I)}return w}async function Y({utxos:w,recipient:$,assetValue:I,memo:D,feeRate:x,feeOptionKey:S,changeAddress:u}){if(!Q)throw new P.SwapKitError("toolbox_utxo_no_signer");let v=x||(await af(y))[S||P.FeeOption.Fast],m=D?Ey(D):null,Cy=[{address:$,value:I.getBaseValue("number")}];if(m)Cy.push({address:"",script:m,value:0});let Ay=w.map(({hash:xy,index:My,value:by,txHex:I2,witnessUtxo:U1})=>({hash:xy,index:My,txHex:I2,value:by,witnessUtxo:U1?{script:U1.script,value:U1.value}:void 0})),{inputs:Gy,outputs:Sy}=uy({chain:y,feeRate:v,inputs:Ay,outputs:Cy});if(!(Gy&&Sy))throw new P.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:I,sender:"multiple addresses"});let Ry=new r.Transaction({allowLegacyWitnessUtxo:!0,version:1}),my=w[0]?.address,cy=u||await A()||my||$;Bf({chain:y,compiledMemo:m,inputs:Gy,outputs:Sy,sender:cy,tx:Ry});let gy=Gy.map((xy)=>{let My=w.find((by)=>by.hash===xy.hash&&by.index===xy.index);return My?{derivationIndex:My.derivationIndex,isChange:My.isChange}:{derivationIndex:0,isChange:!1}});return B({inputDerivations:gy,tx:Ry}),Ry.finalize(),Oy(y).broadcastTx(Mf.hex.encode(Ry.extract()))}function z({address:w,gapLimit:$=20}){if(!Q)return;for(let I=0;I<$;I++){let D=n({change:!1,index:I}),x=n({change:!0,index:I}),S=D?.address===w?!1:x?.address===w;if(D?.address===w||x?.address===w)return{change:S,index:I}}return}function k(w){if(!_)throw new P.SwapKitError("toolbox_utxo_no_signer");return _.signTransaction(w)}async function F(w){let $=await k(w);return $.finalize(),await Oy(y).broadcastTx(Mf.hex.encode($.extract()))}return{accumulative:uy,broadcastTx:(w)=>Oy(y).broadcastTx(w),bumpFee:R,calculateTxSize:Pf,createKeysForPath:(w)=>rf({...w,chain:y}),createReplacementTransaction:J,createTransaction:OU,deriveAddressAtIndex:n,derivePrivateKeyAtIndex:N,estimateMaxSendableAmount:UG(y),estimateTransactionFee:qG(y),getAddress:A,getAddressFromKeys:NC(y),getBalance:oy(y),getExtendedPublicKey:W,getExtendedPublicKeyInfo:M,getFeeRates:()=>af(y),getInputsOutputsFee:RU,getNetworkForChain:()=>$y(y),getPrivateKeyFromMnemonic:(w)=>CG(rf({...w,chain:y}).privateKey,y),isRBFEnabled:O,keys:L,resolveDerivationIndex:z,signAndBroadcastTransaction:F,signTransaction:k,signTransactionWithMultipleKeys:B,transfer:XG(y,_),transferFromMultipleAddresses:Y,validateAddress:BC(y)}}var NU,Mf,zC,jT,P,r,AC,V0,bT;var sf=E(()=>{sy();F0();gf();P0();NU=require("@noble/curves/secp256k1.js"),Mf=require("@scure/base"),zC=require("@scure/bip32"),jT=require("@scure/bip39"),P=require("@swapkit/helpers"),r=require("@swapkit/utxo-signer"),AC=require("ts-pattern"),V0=[P.Chain.Dash,P.Chain.Dogecoin,P.Chain.Zcash,P.Chain.BitcoinCash],bT=[P.Chain.Bitcoin]});function v0(y){return Vf(x0(y))}function _G(y){let T=$y(ay);function H(C){return C.sign(y.privateKey,[By.BCHSigHash.ALL]),C}function f(){let C=By.p2pkh(y.publicKey,T);if(!C.hash)throw new zy.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});let U=By.encodeCashAddr({hash:C.hash,prefix:By.CashAddrPrefix.MAINNET,type:By.CashAddrType.P2PKH});return Promise.resolve(U.replace(/^bitcoincash:/,""))}return{getAddress:f,signTransaction:H}}function OC(y){let T="phrase"in y?y.phrase:void 0,H="index"in y?y.index||0:0,f=zy.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:zy.updateDerivationPath(zy.NetworkDerivationPath[ay],{index:H})),C=T?rf({chain:ay,derivationPath:f,phrase:T}):void 0,U=C?_G(C):("signer"in y)?y.signer:void 0;function q(){return Promise.resolve(U?.getAddress())}let{getBalance:G,getFeeRates:X,broadcastTx:_,...L}=Nf({chain:ay});function A(W,M=!0){return G(Vf(x0(W)))}function Z(W){if(!U)throw new zy.SwapKitError("toolbox_utxo_no_signer");return U.signTransaction(W)}async function Q(W){let M=await Z(W);return M.finalize(),await _(DC.hex.encode(M.extract()))}return{...L,broadcastTx:_,buildTx:ZG,createTransaction:nU,getAddress:q,getAddressFromKeys:WG,getBalance:A,getFeeRates:X,signAndBroadcastTransaction:Q,signTransaction:Z,stripPrefix:Vf,stripToCashAddress:v0,transfer:QG({broadcastTx:_,getFeeRates:X,signer:U}),validateAddress:Af}}async function nU({assetValue:y,recipient:T,memo:H,feeRate:f,sender:C}){if(!Af(T))throw new zy.SwapKitError("toolbox_utxo_invalid_address",{address:T});let U=Math.ceil(y.getBaseValue("number")+f*7500),q=await Oy(ay).getUtxos({address:v0(C),fetchTxHex:!0,targetValue:U}),G=H?Ey(H):null,X=[],_=Hf(T);if(X.push({address:_,value:y.getBaseValue("number")}),G)X.push({script:G,value:0});let{inputs:L,outputs:A}=uy({chain:ay,feeRate:f,inputs:q,outputs:X});if(!(L&&A))throw new zy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:C});let Z=new By.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!G,version:1}),Q=Hf(C),{inputs:W,tx:M}=Bf({chain:ay,compiledMemo:G,inputs:L,outputs:A.map((n)=>("address"in n)&&n.address?{...n,address:Hf(n.address)}:n),sender:Q,tx:Z});return{inputs:W,tx:M,utxos:L}}function QG({broadcastTx:y,getFeeRates:T,signer:H}){return async function({recipient:C,assetValue:U,feeOptionKey:q=zy.FeeOption.Fast,...G}){let X=await H?.getAddress();if(!(H&&X))throw new zy.SwapKitError("toolbox_utxo_no_signer");if(!C)throw new zy.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let _=G.feeRate||(await T())[q],{tx:L}=await nU({...G,assetValue:U,feeRate:_,recipient:C,sender:X}),A=await H.signTransaction(L);return A.finalize(),y(DC.hex.encode(A.extract()))}}async function ZG({assetValue:y,recipient:T,memo:H,feeRate:f,sender:C}){let U=x0(T);if(!Af(U))throw new zy.SwapKitError("toolbox_utxo_invalid_address",{address:U});let q=Math.ceil(y.getBaseValue("number")+f*7500),G=await Oy(ay).getUtxos({address:v0(C),fetchTxHex:!0,targetValue:q}),X=Number(f.toFixed(0)),_=H?Ey(H):null,L=[];if(L.push({address:Hf(T),value:y.getBaseValue("number")}),_)L.push({script:_,value:0});let{inputs:A,outputs:Z}=uy({chain:ay,feeRate:X,inputs:G,outputs:L});if(!(A&&Z))throw new zy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:C});let Q=new By.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!_,version:1}),{inputs:W,tx:M}=Bf({chain:ay,compiledMemo:_,inputs:A,outputs:Z,sender:Hf(C),tx:Q});return{inputs:W,tx:M,utxos:G}}function WG(y){let T=By.NETWORKS.bitcoinCash,H=By.p2pkh(y.publicKey,T);if(!H.hash)throw new zy.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return By.encodeCashAddr({hash:H.hash,prefix:By.CashAddrPrefix.MAINNET,type:By.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}var DC,zy,By,ay;var lT=E(()=>{gf();sf();P0();DC=require("@scure/base"),zy=require("@swapkit/helpers"),By=require("@swapkit/utxo-signer"),ay=zy.Chain.BitcoinCash});function wU(){let{isStagenet:y}=Yy.SKConfig.get("envs");return y?Uy.ZCASH_TEST_NETWORK:Uy.ZCASH_NETWORK}function JG(y){return YG.encode(y)}function LG({phrase:y,derivationPath:T}){let H=nC.mnemonicToSeedSync(y),C=RC.HDKey.fromMasterSeed(H).derive(T);if(!C.privateKey||!C.publicKey)throw new Yy.SwapKitError("toolbox_utxo_invalid_params");let{privateKey:U,publicKey:q}=C,G=Uy.utils.hash160(q),{isStagenet:X}=Yy.SKConfig.get("envs"),_=X?new Uint8Array([29,37]):new Uint8Array([28,184]),L=new Uint8Array(_.length+G.length);L.set(_,0),L.set(G,_.length);let A=JG(L);return{getAddress:()=>Promise.resolve(A),signTransaction:(Z)=>{if(Z instanceof Uy.ZcashPSBT){let Q=Z.toPCZT();return Q.signAllInputs(U,q,Uy.ZcashSigHash.ALL),Q.finalizeAllInputs(),Promise.resolve(Q.extract())}if(Z instanceof Uy.PCZT)return Z.signAllInputs(U,q,Uy.ZcashSigHash.ALL),Z.finalizeAllInputs(),Promise.resolve(Z.extract());return Z.signAllInputs(U,q,Uy.ZcashSigHash.ALL),Promise.resolve(Z)}}}function zG({inputs:y,outputs:T,tx:H,sender:f,compiledMemo:C}){let U=wU();for(let q of y){let G=Uy.Address(U).decode(f),X=Uy.OutScript.encode(G);H.addInput({index:q.index,script:X,sequence:4294967295,txid:KT.hex.decode(q.hash),value:BigInt(q.value)})}for(let q of T){let G="address"in q&&q.address?q.address:f,X=q.script;if(X&&!C)continue;if(X&&C)H.addOutput({amount:0n,script:C});else H.addOutputAddress(G,BigInt(q.value),U)}return{inputs:y,tx:H}}async function kU(y){let{assetValue:T,recipient:H,memo:f,feeRate:C,sender:U,fetchTxHex:q}=y,G=f?Ey(f):null,X=await Oy(Yy.Chain.Zcash).getUtxos({address:U,fetchTxHex:q!==!1}),_=[{address:H,value:Number(T.getBaseValue("string"))},...G?[{script:G,value:0}]:[]],{inputs:L,outputs:A}=uy({chain:Yy.Chain.Zcash,changeAddress:U,feeRate:C,inputs:X,outputs:_});if(!(L&&A))throw new Yy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:U});let Z=Uy.createZcashTransaction({consensusBranchId:Uy.ZcashConsensusBranchId.NU6_2,expiryHeight:0,lockTime:0,version:4,versionGroupId:Uy.ZcashVersionGroupId.SAPLING}),{tx:Q,inputs:W}=zG({compiledMemo:G,inputs:L,outputs:A,sender:U,tx:Z});return{inputs:W,outputs:A,tx:Q}}function kC(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:_,index:L=0})=>{let A=_||Yy.NetworkDerivationPath[Yy.Chain.Zcash]||[44,133,0,0,0],Z=Yy.updateDerivationPath(A,{index:L}),Q=Yy.derivationPathToString(Z);return LG({derivationPath:Q,phrase:X})}).otherwise(()=>{return}),H=Nf({chain:Yy.Chain.Zcash,signer:T});async function f(X){if(!T)throw new Yy.SwapKitError("toolbox_utxo_no_signer");return await T.signTransaction(X)}async function C(X){let _=await f(X);return H.broadcastTx(_.toHex())}async function U({recipient:X,assetValue:_,feeOptionKey:L=Yy.FeeOption.Fast,...A}){let Z=await T?.getAddress();if(!(T&&Z))throw new Yy.SwapKitError("toolbox_utxo_no_signer");let Q=A.feeRate||(await H.getFeeRates())[L],{tx:W}=await kU({...A,assetValue:_,feeRate:Q,recipient:X,sender:Z}),n=(await T.signTransaction(W)).toHex();return H.broadcastTx(n)}function q({phrase:X,derivationPath:_="m/44'/133'/0'/0/0"}){let L=nC.mnemonicToSeedSync(X),Z=RC.HDKey.fromMasterSeed(L).derive(_);if(!Z.privateKey||!Z.publicKey)throw new Yy.SwapKitError("toolbox_utxo_invalid_params");return{privateKey:Z.privateKey,publicKey:Z.publicKey}}function G({phrase:X,derivationPath:_="m/44'/133'/0'/0/0"}){let L=q({derivationPath:_,phrase:X}),A=wU();return Uy.WIF(A).encode(L.privateKey)}return{...H,createKeysForPath:q,createTransaction:kU,getPrivateKeyFromMnemonic:G,signAndBroadcastTransaction:C,signTransaction:f,transfer:U,validateAddress:df}}var KT,RC,nC,Yy,Uy,ef,YG;var wC=E(()=>{gf();sf();P0();KT=require("@scure/base"),RC=require("@scure/bip32"),nC=require("@scure/bip39"),Yy=require("@swapkit/helpers"),Uy=require("@swapkit/utxo-signer"),ef=require("ts-pattern");YG=KT.createBase58check(Uy.utils.sha256)});function oU({xpub:y,chain:T,count:H,startIndex:f=0,accountIndex:C}){if(Ky("count",H),H<1)throw RangeError("count must be at least 1");Ky("startIndex",f);let U=$y(T),q=$U.HDKey.fromExtendedKey(y,U.bip32),G=Lf({accountIndex:C,chain:T}),X=of(G),_=[];for(let L of[!1,!0]){let A=q.deriveChild(Number(L));for(let Z=0;Z<H;Z++){let Q=f+Z,W=A.deriveChild(Q);if(!W.publicKey)continue;let M=mf({accountIndex:C,chain:T,change:L,index:Q});_.push({accountIndex:X,address:E0({chain:T,network:U,publicKey:W.publicKey}),change:L,index:Q,path:xU.derivationPathToString(M),pubkey:FU.hex.encode(W.publicKey)})}}return _}var FU,$U,xU;var IU=E(()=>{F0();sf();FU=require("@scure/base"),$U=require("@scure/bip32"),xU=require("@swapkit/helpers")});function AG(y,T){switch(y){case Uf.Chain.BitcoinCash:return OC(T||{});case Uf.Chain.Zcash:return kC(T);case Uf.Chain.Bitcoin:case Uf.Chain.Dogecoin:case Uf.Chain.Litecoin:case Uf.Chain.Dash:return Nf({chain:y,...T});default:throw new Uf.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}var Uf;var SU=E(()=>{lT();sf();wC();F0();IU();lT();P0();Uf=require("@swapkit/helpers")});var FC={};Ny(FC,{validateZcashAddress:()=>df,validateUtxoAddress:()=>MC,validateBchAddress:()=>Af,toLegacyAddress:()=>Hf,toCashAddress:()=>x0,stripToCashAddress:()=>v0,stripPrefix:()=>Vf,nonSegwitChains:()=>V0,isValidAddress:()=>YC,getUtxoToolbox:()=>AG,getUtxoNetwork:()=>tq,getUtxoApi:()=>Oy,getUTXOAddressValidator:()=>BC,getUTXOAddressPath:()=>mf,getUTXOAccountPath:()=>Lf,getUTXOAccountIndexFromPath:()=>of,getScriptTypeForAddress:()=>cf,getOutputSize:()=>I0,getNetworkForChain:()=>$y,getInputSize:()=>zf,getDustThreshold:()=>S0,detectAddressNetwork:()=>JC,deriveAddressesFromXpub:()=>oU,createZcashToolbox:()=>kC,createUTXOToolbox:()=>Nf,createHDWalletHelpers:()=>TU,createCustomUtxoApi:()=>hq,createBCHToolbox:()=>OC,compileMemo:()=>Ey,calculateTxSize:()=>Pf,assertDerivationIndex:()=>Ky,addressFromKeysGetter:()=>NC,addInputsAndOutputs:()=>Bf,accumulative:()=>uy,UtxoNetwork:()=>WC,UTXOScriptType:()=>vT,TX_OVERHEAD:()=>VT,SEGWIT_MARKER_FLAG_WEIGHT:()=>ET,OutputSizes:()=>o0,OP_RETURN_OVERHEAD:()=>AU,MIN_TX_FEE:()=>eq,InputSizes:()=>PT});module.exports=ny(FC);var $C=E(()=>{sf();F0();gf();SU();lT();wC()});function p0(y){return y.length>=2&&y.length<=64&&/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/.test(y)}async function hT(y){let{KeyPair:T}=await import("@near-js/crypto"),H=y.index||0,f=y.derivationPath?uT.derivationPathToString(y.derivationPath.slice(0,3)):`m/44'/397'/${H}'`,{secretKey:C}=VU.parseSeedPhrase(y.phrase,f),U=T.fromString(C);return vU(U)}async function xC(y){let{KeyPair:T}=await import("@near-js/crypto"),H=T.fromString(y);return vU(H)}function vU(y){return new EU(y)}async function tT(y,T){let f=(await y.query({account_id:T,finality:"final",request_type:"view_access_key_list"})).keys.find((G)=>G.access_key.permission==="FullAccess");if(!f)throw new uT.SwapKitError("toolbox_near_no_public_key_found");let{PublicKey:C}=await import("@near-js/crypto"),U=C.fromString(f.public_key);return{nonce:f.access_key.nonce||0,publicKey:U}}var PU,uT,VU,EU;var oC=E(()=>{PU=require("@near-js/signers"),uT=require("@swapkit/helpers"),VU=q1(require("near-seed-phrase"));EU=class EU extends PU.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 IC(y){return"recipient"in y&&"amount"in y&&!("contractId"in y)}function SC(y){return"contractId"in y&&"methodName"in y}function PC(y){return"actions"in y}function VC(y){return"newAccountId"in y}function EC(y){return"contractCode"in y}function vC(y){return"customEstimator"in y}function pC(y){let T=0;for(let H of y)switch(H.enum){case"transfer":T+=Number(ky.SIMPLE_TRANSFER);break;case"functionCall":T+=Number(ky.CONTRACT_CALL);break;case"createAccount":T+=Number(ky.ACCOUNT_CREATION);break;case"deployContract":T+=Number(ky.CONTRACT_DEPLOYMENT);break;case"addKey":T+=Number(ky.ACCESS_KEY_ADDITION);break;case"deleteKey":T+=Number(ky.ACCESS_KEY_DELETION);break;case"stake":T+=Number(ky.STAKE);break;default:T+=Number(ky.CONTRACT_CALL)}return T.toString()}function bC(y){if(y==="ft_transfer"||y==="ft_transfer_call")return ky.TOKEN_TRANSFER;if(y==="storage_deposit")return ky.STORAGE_DEPOSIT;return ky.CONTRACT_CALL}function MG(y){return(BigInt(y)*BigInt(1000000000000)).toString()}function BG(y){return(BigInt(y)/BigInt(1000000000000)).toString()}var ky;var jC=E(()=>{ky={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 lC({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 NG(y){let T;async function H(){if(T)return T;return T=await y0.match(y).with({phrase:y0.P.string},async(D)=>{return await hT(D)}).with({signer:y0.P.any},({signer:D})=>D).otherwise(()=>{return}),T}async function f(){let D=await Ty.getRPCUrl(Ty.Chain.Near);return new pU.JsonRpcProvider({url:D})}async function C(D){let{Account:x}=await import("@near-js/accounts"),S=await f(),u=await H(),v=D||await U();return new x(v,S,u)}async function U(){let D=await H();if(!D)throw new Ty.SwapKitError("toolbox_near_no_signer");return await D.getAddress()}async function q(D){return(await z({changeMethods:[],contractId:D.contractId,viewMethods:["storage_balance_of"]})).storage_balance_of({account_id:D.accountId})}async function G(D){let S=[await Z({args:{account_id:D.recipient},attachedDeposit:"1250000000000000000000",gas:"150000000000000",methodName:"storage_deposit"}),await Z({args:{amount:D.assetValue.getBaseValue("string"),memo:D.memo||null,receiver_id:D.recipient},attachedDeposit:"1",gas:"150000000000000",methodName:"ft_transfer"})];return k({actions:S,receiverId:D.contractId})}async function X(D){if(!await H())throw new Ty.SwapKitError("toolbox_near_no_signer");let{assetValue:S,recipient:u,memo:v}=D,m=await U();if(!S.isGasAsset&&S.address){if(!await q({accountId:u,contractId:S.address}))return G({assetValue:S,contractId:S.address,memo:v,recipient:u})}let Cy=await _({...D,sender:m});return J(Cy)}async function _({recipient:D,assetValue:x,memo:S,attachedDeposit:u,sender:v,functionCall:m}){let Cy=await f();if(!p0(D))throw new Ty.SwapKitError("toolbox_near_invalid_address",{recipient:D});if(!p0(v))throw new Ty.SwapKitError("toolbox_near_invalid_address",{sender:v});if(m)return A({...m,sender:v});if(!x.isGasAsset){let by=x.address;if(!by)throw new Ty.SwapKitError("toolbox_near_missing_contract_address");return A({args:{amount:x.getBaseValue("string"),memo:S||null,receiver_id:D},attachedDeposit:u||"1",contractId:by,gas:"250000000000000",methodName:"ft_transfer",sender:v})}let{publicKey:Ay,nonce:Gy}=await tT(Cy,v),Sy=x.getBaseValue("bigint"),{actionCreators:Ry,createTransaction:my}=await import("@near-js/transactions"),{baseDecode:cy}=await import("@near-js/utils"),gy=[Ry.transfer(Sy)];if(S&&u)gy.push(Ry.functionCall("memo",{memo:S},BigInt("250000000000000"),BigInt(u)));let xy=await Cy.block({finality:"final"}),My=cy(xy.header.hash);return my(v,Ay,D,Gy+1,gy,My)}function L(D){let x=D.encode();return Buffer.from(x).toString("base64")}async function A({args:D,attachedDeposit:x,contractId:S,gas:u,methodName:v,sender:m}){let Cy=await f(),{publicKey:Ay,nonce:Gy}=await tT(Cy,m),{createTransaction:Sy,actionCreators:Ry}=await import("@near-js/transactions"),{baseDecode:my}=await import("@near-js/utils"),cy=await Cy.block({finality:"final"}),gy=my(cy.header.hash),xy=[Ry.functionCall(v,Buffer.from(JSON.stringify(D)),BigInt(u),BigInt(x))];return Sy(m,Ay,S,Gy+1,xy,gy)}async function Z(D){let{actionCreators:x}=await import("@near-js/transactions");return x.functionCall(D.methodName,Buffer.from(JSON.stringify(D.args)),BigInt(D.gas),BigInt(D.attachedDeposit))}async function Q(D){let x=await H();if(!x)throw new Ty.SwapKitError("toolbox_near_no_signer");await W(D);let[S,u]=await x.signTransaction(D);return u}async function W(D){let x=D.publicKey;if(x.toString?.().startsWith("ed25519:")||x.toString?.().startsWith("secp256k1:"))return;let{KeyType:S,PublicKey:u}=await import("@near-js/crypto"),v=x.data||x.ed25519Key?.data,m=x.secp256k1Key?.data;if(v){D.publicKey=new u({data:Uint8Array.from(v),keyType:S.ED25519});return}if(m)D.publicKey=new u({data:Uint8Array.from(m),keyType:S.SECP256K1})}function M(D){if(typeof D==="string")return D;if(Array.isArray(D))return D.map(M).find(Boolean);if(!(D&&typeof D==="object"))return;let x=D;return x.transaction?.hash||x.transaction_outcome?.id}function n(D){return D instanceof Error?D.message:String(D)}async function O(D){let S=await(await f()).sendTransaction(D),u=M(S);if(!u)throw new Ty.SwapKitError("toolbox_near_transfer_failed",{result:S});return u}async function J(D){let x=await H();if(!x)throw new Ty.SwapKitError("toolbox_near_no_signer");let S;try{S=await Q(D)}catch(u){let v;try{v=x.signAndSendTransaction?await x.signAndSendTransaction({actions:D.actions,receiverId:D.receiverId,signerId:D.signerId}):await x.signAndSendTransactions?.({transactions:[D]})}catch(Cy){throw new Ty.SwapKitError({errorKey:"toolbox_near_sign_transaction_failed",info:{directSignError:n(u),signAndSendError:n(Cy)}},Cy)}let m=M(v);if(m)return m;throw u}return O(S)}async function R(D){let x=await H();if("assetValue"in D){let u=await N();try{let v=await Ty.getRPCUrl(Ty.Chain.Near),m=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:Cy}}=await m.json(),{execution:Ay,send_sir:Gy}=Cy.transaction_costs.action_receipt_creation_config,{execution:Sy,send_sir:Ry}=Cy.transaction_costs.action_creation_config.transfer_cost,my=BigInt(Ry)+BigInt(Sy),cy=BigInt(Gy)+BigInt(Ay),xy=(my+cy)*BigInt(u.toString());return Ty.AssetValue.from({chain:Ty.Chain.Near,value:xy})}catch(v){console.debug("NEAR fee estimation (protocol config) failed, using fallback:",v);let m=BigInt("115123062500"),Cy=BigInt("108059500000"),Gy=(m+Cy)*BigInt(u.toString());return Ty.AssetValue.from({chain:Ty.Chain.Near,value:Gy})}}let S=x?await C():void 0;return F(D,S)}async function N(){let D=await f();try{return await D.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function B(D,x,S){if(!await H())throw new Ty.SwapKitError("toolbox_near_no_signer");let v=await C(),{formatNearAmount:m}=await import("@near-js/utils"),{PublicKey:Cy}=await import("@near-js/crypto"),Ay=m(S)||"0";return(await v.createAccount(D,Cy.fromString(x),BigInt(Ay))).transaction.hash}async function Y(D){let x=await H();try{if(!x)throw new Ty.SwapKitError("toolbox_near_no_signer");let{actionCreators:S}=await import("@near-js/transactions"),{contractId:u,methodName:v,args:m,deposit:Cy}=D,Ay=await C(),Gy=await F({args:m||{},contractId:u,methodName:v}),Sy=S.functionCall(v,m||{},Gy.getBaseValue("bigint"),BigInt(Cy||"1"));return(await Ay.signAndSendTransaction({actions:[Sy],receiverId:u})).transaction_outcome.id}catch(S){throw new Ty.SwapKitError("toolbox_near_transfer_failed",{error:S})}}async function z(D){let x=await C();return lC({account:x,changeMethods:D.changeMethods,contractId:D.contractId,viewMethods:D.viewMethods})}async function k(D){if(!await H())throw new Ty.SwapKitError("toolbox_near_no_signer");if(D.actions.length===0)throw new Ty.SwapKitError("toolbox_near_empty_batch");return(await(await C()).signAndSendTransaction({actions:D.actions,receiverId:D.receiverId})).transaction.hash}async function F(D,x){let S=await y0.match(D).when(IC,()=>ky.SIMPLE_TRANSFER).when(SC,(v)=>bC(v.methodName)).when(PC,(v)=>pC(v.actions)).when(VC,()=>ky.ACCOUNT_CREATION).when(EC,()=>ky.CONTRACT_DEPLOYMENT).when(vC,(v)=>{if(!x)throw new Ty.SwapKitError("toolbox_near_no_account");return v.customEstimator(x)}).otherwise(()=>{throw new Ty.SwapKitError("toolbox_near_invalid_gas_params")}),u=BigInt(S)*BigInt(1000000000000);return Ty.AssetValue.from({chain:Ty.Chain.Near,value:u})}function w(D,x){return console.warn("NEAR toolbox: estimateGas is deprecated, use estimateGasLimit instead"),F(D,x)}async function $(){let D=await f();try{return(await D.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}async function I(){let D=await H();return D?(await D.getPublicKey()).toString():""}return{broadcastTransaction:O,callFunction:Y,createAction:Z,createContract:z,createContractFunctionCall:A,createSubAccount:B,createTransaction:_,estimateGas:w,estimateGasLimit:F,estimateTransactionFee:R,executeBatchTransaction:k,getAddress:U,getBalance:oy(Ty.Chain.Near),getGasPrice:$,getNearProvider:f,getPublicKey:I,getSignerFromPhrase:hT,getSignerFromPrivateKey:xC,serializeTransaction:L,signAndBroadcastTransaction:J,signTransaction:Q,transfer:X,validateAddress:p0}}var pU,Ty,y0;var KC=E(()=>{sy();oC();jC();pU=require("@near-js/providers"),Ty=require("@swapkit/helpers"),y0=require("ts-pattern")});var bU=E(()=>{KC()});var uC={};Ny(uC,{validateNearAddress:()=>p0,tgasToGas:()=>MG,isSimpleTransfer:()=>IC,isCustomEstimator:()=>vC,isContractDeployment:()=>EC,isContractCall:()=>SC,isBatchTransaction:()=>PC,isAccountCreation:()=>VC,getNearToolbox:()=>NG,getNearSignerFromPrivateKey:()=>xC,getNearSignerFromPhrase:()=>hT,getFullAccessPublicKey:()=>tT,getContractMethodGas:()=>bC,gasToTGas:()=>BG,estimateBatchGas:()=>pC,createNearContract:()=>lC,GAS_COSTS:()=>ky});module.exports=ny(uC);var hC=E(()=>{oC();jC();KC();bU()});var tC={};Ny(tC,{validateRadixAddress:()=>KU,getRadixToolbox:()=>kG});module.exports=ny(tC);function KU(y){return y.startsWith("account_rdx1")&&y.length===66}function DG({networkApi:y}){return async function(H){let f=await OG({address:H,networkApi:y}),C=await RG({networkApi:y,resources:f});if(!C.some((q)=>q.isGasAsset))return[hy.AssetValue.from({chain:hy.Chain.Radix}),...C];return C}}async function OG({address:y,networkApi:T}){let H=!0,f,C=[],U=await nG(T);while(H){let q={address:y,at_ledger_state:{state_version:U},cursor:f,limit_per_page:100},G=await T.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:q});if(C=C.concat(G.items),G.next_cursor)f=G.next_cursor;else H=!1}return C}async function RG({resources:y,networkApi:T}){let H=[],f=50,C=[];for(let U=0;U<y.length;U+=50)C.push(y.slice(U,U+50));for(let U of C){let q=U.map((_)=>_.resource_address),G=await T.state.getEntityDetailsVaultAggregated(q),X=new Map;for(let _ of G)if(_.details!==void 0){let L=_.metadata?.items.find((Z)=>Z.key==="symbol"),A=L?.value.typed.type==="String"?L.value.typed.value:"?";if(_.details.type==="FungibleResource")X.set(_.address,{decimals:_.details.divisibility,symbol:A})}for(let _ of U)if(_.aggregation_level==="Global"){let L=X.get(_.resource_address)||{decimals:0,symbol:"?"},A=hy.AssetValue.from({asset:L.symbol!==hy.Chain.Radix?`${hy.Chain.Radix}.${L.symbol}-${_.resource_address}`:"XRD.XRD",value:_.amount});H.push(A)}}return H}async function nG(y){return(await y.status.getCurrent()).ledger_state.state_version}function kG({dappConfig:y}={}){let T=y||hy.SKConfig.get("integrations").radix,H=lU.RadixDappToolkit({...T,networkId:T.network?.networkId||1}),f=jU.GatewayApiClient.initialize(H.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:DG({networkApi:f}),networkApi:f,signAndBroadcast:()=>{throw new hy.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:KU}}var jU,lU,hy;var mC=E(()=>{jU=require("@radixdlt/babylon-gateway-api-sdk"),lU=require("@radixdlt/radix-dapp-toolkit"),hy=require("@swapkit/helpers")});function mT(y){return/^[0-9A-Fa-f]{40}$/.test(y)}function b0(y){if(mT(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 uU.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:y,reason:"Currency exceeds maximum length (20 bytes)"}});return T.padEnd(40,"0")}function wG(y){if(!mT(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 f0(y){if(mT(y))return y.toUpperCase();if(y.length<=3)return y;return b0(y)}var uU;var cT=E(()=>{uU=require("@swapkit/helpers")});async function FG(y,T){let H=f0(y),f=iT.find((C)=>f0(C.currency)===H&&C.issuer===T);if(f)return f;try{let C=await gT.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){gT.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 $G(y){return iT.filter((T)=>T.issuer===y)}function xG(y,T){let H=f0(y);return iT.some((f)=>f0(f.currency)===H&&f.issuer===T)}var gT,iT;var hU=E(()=>{cT();gT=require("@swapkit/helpers"),iT=[{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 cC={};Ny(cC,{validateRippleAddress:()=>rT,parseXrplTokenIdentifier:()=>cU,normalizeCurrency:()=>f0,isKnownToken:()=>xG,isHexCurrency:()=>mT,hexToCurrency:()=>wG,hashes:()=>iU.hashes,getXrplTokenInfo:()=>FG,getRippleToolbox:()=>IG,getKnownTokensByIssuer:()=>$G,formatXrplTokenIdentifier:()=>gU,currencyToHex:()=>b0,XRPL_TOKEN_ERROR_CODES:()=>dT,XRPL_KNOWN_TOKENS:()=>iT});module.exports=ny(cC);function cU(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(!qf.isValidAddress(T[2]))return null;return{currency:T[1],issuer:T[2]}}function gU(y,T){return`${i.Chain.Ripple}.${y}-${T}`}function oG(y){if(y.isGasAsset)return qf.xrpToDrops(y.getValue("string"));let T=cU(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 mU(y){let T=qf.Wallet.fromMnemonic(y);return{getAddress:()=>Promise.resolve(T.address),signTransaction:(H)=>Promise.resolve(T.sign(H))}}function rT(y){return qf.isValidAddress(y)}function IG(y={}){let T=T0.match(y).with({phrase:T0.P.string},({phrase:J})=>mU(J)).with({signer:T0.P.any},({signer:J})=>J).otherwise(()=>{return}),H;async function f(){let J=await i.getRPCUrl(i.Chain.Ripple);if(!J)throw new i.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:i.Chain.Ripple}});let R=new qf.Client(J);return await R.connect(),R}async function C(){if(H){let J=await H.catch(()=>null);if(J?.isConnected())return J}return H=f(),H}let U=()=>{if(!T)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return T.getAddress()},q=async(J)=>{let R=J||await U(),{baseDecimal:N}=i.getChainConfig(i.Chain.Ripple),B=await C();try{let[Y,z]=await Promise.all([B.request({account:R,command:"account_info"}),B.request({account:R,command:"account_lines"})]),k=Y.result.account_data.Balance,F=[i.AssetValue.from({chain:i.Chain.Ripple,fromBaseDecimal:N,value:k})];for(let w of z.result.lines){let $=gU(w.currency,w.account);if(Number.parseFloat(w.balance)!==0)F.push(i.AssetValue.from({asset:$,asyncTokenLookup:!1,value:w.balance}))}return F}catch(Y){if(Y.data?.error_code===tU.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:Y}})}},G=async()=>{let{baseDecimal:J}=i.getChainConfig(i.Chain.Ripple),B=(await(await C()).request({command:"fee"})).result.drops.open_ledger_fee;return i.AssetValue.from({chain:i.Chain.Ripple,fromBaseDecimal:J,value:B})};async function X(J){let R=J||await U(),N=await C();try{return(await N.request({account:R,command:"account_lines"})).result.lines.map((Y)=>({account:Y.account,authorized:Y.authorized??!1,balance:Y.balance,currency:Y.currency,freeze:Y.freeze??!1,freezePeer:Y.freeze_peer??!1,limit:Y.limit,limitPeer:Y.limit_peer,noRipple:Y.no_ripple??!1,noRipplePeer:Y.no_ripple_peer??!1,peerAuthorized:Y.peer_authorized??!1,qualityIn:Y.quality_in??0,qualityOut:Y.quality_out??0}))}catch(B){if(B.data?.error_code===tU.ACCOUNT_NOT_FOUND)return[];throw new i.SwapKitError({errorKey:"toolbox_ripple_get_trust_lines_error",info:{address:R,error:B}})}}async function _({address:J,currency:R,issuer:N}){let B=await X(J),Y=b0(R);return B.some((z)=>{return b0(z.currency)===Y&&z.account===N})}async function L({currency:J,issuer:R,limit:N,sender:B}){let Y=B||await U();if(!rT(R))throw new i.SwapKitError({errorKey:"core_transaction_invalid_recipient_address",info:{address:R}});let z=Number.parseFloat(N);if(Number.isNaN(z)||z<0)throw new i.SwapKitError({errorKey:"toolbox_ripple_invalid_trust_line_limit",info:{limit:N}});let k=await C(),F={Account:Y,LimitAmount:{currency:J,issuer:R,value:N},TransactionType:"TrustSet"};return k.autofill(F)}async function A({assetValue:J,recipient:R,memo:N,sender:B,destinationTag:Y,extendBySeconds:z=150}){if(!rT(R))throw new i.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let k=B||await U();if(J.chain!==i.Chain.Ripple)throw new i.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:J.toString()}});let F=oG(J),w={Account:k,Amount:F,Destination:R,TransactionType:"Payment",...Y!==void 0&&{DestinationTag:Y}};if(N)w.Memos=[{Memo:{MemoData:Buffer.from(N).toString("hex")}}];let I=await(await C()).autofill(w);if(I.LastLedgerSequence&&z>0)I.LastLedgerSequence+=Math.ceil(z/4);return I}function Z(J){if(!T)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return T.signTransaction(J)}async function Q(J){let N=await(await C()).submitAndWait(J),{result:B}=N;if(B.validated)return B.hash;let Y=B.meta?.TransactionResult,z=T0.match(Y).with(dT.tecNO_LINE,()=>"No trust line exists for this token").with(dT.tecPATH_DRY,()=>"Payment path could not deliver funds").with(dT.tecFROZEN,()=>"Token is frozen").otherwise(()=>{return});throw new i.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:i.Chain.Ripple,...z?{reason:z}:{txResult:Y}}})}let W=async(J)=>{try{let R=await Z(J);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 M(J){if(!T)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let R=await T.getAddress(),N=await A({...J,sender:R}),B=await Z(N);return Q(B.tx_blob)}async function n(J){if(!T)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let R=await T.getAddress(),N=await L({...J,sender:R}),B=await Z(N);return Q(B.tx_blob)}function O(){let J=H;if(H=null,J)J.then((R)=>{if(R?.isConnected())return R.disconnect();return}).catch((R)=>{console.warn("XRPL Cleanup failed silently:",R)})}return{broadcastTransaction:Q,createSigner:mU,createTransaction:A,disconnect:O,estimateTransactionFee:G,getAddress:U,getBalance:q,getTrustLines:X,hasTrustLine:_,setTrustLine:L,setTrustLineAndBroadcast:n,signAndBroadcastTransaction:W,signTransaction:Z,transfer:M,validateAddress:rT}}var i,T0,qf,iU,tU,dT;var gC=E(()=>{cT();i=require("@swapkit/helpers"),T0=require("ts-pattern"),qf=require("xrpl");cT();hU();iU=require("xrpl"),tU={ACCOUNT_NOT_FOUND:19},dT={tecFROZEN:"tecFROZEN",tecNO_AUTH:"tecNO_AUTH",tecNO_DST:"tecNO_DST",tecNO_LINE:"tecNO_LINE",tecPATH_DRY:"tecPATH_DRY",tecUNFUNDED_OFFER:"tecUNFUNDED_OFFER"}});function iC(y,T){let H=0n,f=0n,C=T;while(C<y.length&&C-T<10){let U=y[C++];if(U===void 0)break;if(H|=BigInt(U&127)<<f,f+=7n,(U&128)===0)return[H,C]}throw new Ef.SwapKitError("toolbox_tron_transaction_creation_failed")}function j0(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 aT(y,T,H){let f=y.get(T);if(f)f.push(H);else y.set(T,[H])}function EG(y){let T=new Map,H=0;while(H<y.length){let[f,C]=iC(y,H);H=C;let U=Number(f>>3n),q=Number(f&7n);if(q===sT){let[G,X]=iC(y,H);H=X,aT(T,U,{data:new Uint8Array(j0(G)),wireType:sT})}else if(q===eT){let[G,X]=iC(y,H);H=X;let _=Number(G);if(_<0||H+_>y.length)throw new Ef.SwapKitError("toolbox_tron_transaction_creation_failed");let L=y.slice(H,H+_);H+=_,aT(T,U,{data:L,wireType:eT})}else if(q===dU){if(H+8>y.length)throw new Ef.SwapKitError("toolbox_tron_transaction_creation_failed");let G=y.slice(H,H+8);H+=8,aT(T,U,{data:G,wireType:dU})}else if(q===rU){if(H+4>y.length)throw new Ef.SwapKitError("toolbox_tron_transaction_creation_failed");let G=y.slice(H,H+4);H+=4,aT(T,U,{data:G,wireType:rU})}else throw new Ef.SwapKitError("toolbox_tron_transaction_creation_failed")}return T}function vG(y){let T=[];for(let[U,q]of[...y.entries()].sort(([G],[X])=>G-X))for(let{wireType:G,data:X}of q){let _=BigInt(U<<3|G);if(T.push(new Uint8Array(j0(_))),G===eT)T.push(new Uint8Array(j0(BigInt(X.length))));T.push(X)}let H=T.reduce((U,q)=>U+q.length,0),f=new Uint8Array(H),C=0;for(let U of T)f.set(U,C),C+=U.length;return f}function sU(y,T){if(!y||y.length%2!==0)throw new Ef.SwapKitError("toolbox_tron_transaction_creation_failed");let H=C0.hexToBytes(y),f=EG(H);if(T.expiration!==void 0)f.set(SG,[{data:new Uint8Array(j0(BigInt(T.expiration))),wireType:sT}]);if(T.data!==void 0)f.set(PG,[{data:C0.hexToBytes(T.data),wireType:eT}]);if(T.fee_limit!==void 0)f.set(VG,[{data:new Uint8Array(j0(BigInt(T.fee_limit))),wireType:sT}]);let C=vG(f),U=C0.bytesToHex(C),q=C0.bytesToHex(aU.sha256(C));return{raw_data_hex:U,txID:q}}var aU,C0,Ef,sT=0,dU=1,eT=2,rU=5,SG=8,PG=10,VG=18;var eU=E(()=>{aU=require("@noble/hashes/sha2.js"),C0=require("@noble/hashes/utils.js"),Ef=require("@swapkit/helpers")});function ty(y){if(typeof y!=="string")return!1;try{let T=y1.decode(y);return T.length===21&&T[0]===T2}catch{return!1}}function C2(y){return py.bytesToHex(y1.decode(y))}function bG(y){return y1.decode(y).slice(1)}function H2(y){let T=dC.secp256k1.getPublicKey(py.hexToBytes(y),!1),H=y2.keccak_256(T.slice(1)).slice(-20),f=new Uint8Array(21);return f[0]=T2,f.set(H,1),y1.encode(f)}function U2({txID:y,privateKey:T}){let H=dC.secp256k1.sign(py.hexToBytes(y),py.hexToBytes(T),{format:"recovered",prehash:!1}),f=H[0]??0,C=py.bytesToHex(H.slice(1,33)),U=py.bytesToHex(H.slice(33,65)),q=(f+27).toString(16).padStart(2,"0");return C+U+q}function H0({txID:y,raw_data_hex:T}){let H=py.bytesToHex(rC.sha256(py.hexToBytes(T)));if(y!==H)throw new aC.SwapKitError("toolbox_tron_invalid_transaction_integrity",{expected:H,txID:y})}function jG(y){return`000000000000000000000000${py.bytesToHex(bG(y))}`}function lG(y){let T=typeof y==="bigint"?y:BigInt(y);if(T<0n||T>=pG)throw new aC.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:T.toString()});return T.toString(16).padStart(64,"0")}function U0(y){return y.map(({type:T,value:H})=>T==="address"?jG(H):lG(BigInt(H))).join("")}function q2(y){return py.bytesToHex(new TextEncoder().encode(y))}var dC,rC,y2,py,f2,aC,y1,T2=65,pG;var sC=E(()=>{dC=require("@noble/curves/secp256k1.js"),rC=require("@noble/hashes/sha2.js"),y2=require("@noble/hashes/sha3.js"),py=require("@noble/hashes/utils.js"),f2=require("@scure/base"),aC=require("@swapkit/helpers"),y1=f2.createBase58check(rC.sha256),pG=2n**256n});function X2(){try{return Zy.getRPCUrlSync(Zy.Chain.Tron)}catch{return G2}}function _2(){let y=new AbortController,T=setTimeout(()=>y.abort(),mG);return{cleanup:()=>clearTimeout(T),signal:y.signal}}async function vf(y,T){let{signal:H,cleanup:f}=_2();try{let C=await fetch(`${X2()}${y}`,{body:JSON.stringify(T),headers:{"Content-Type":"application/json"},method:"POST",signal:H});if(!C.ok)throw new Zy.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${C.status} ${C.statusText} on ${y}`});return await C.json()}finally{f()}}async function Q2(y,T){let{signal:H,cleanup:f}=_2();try{let C=await fetch(`${T??X2()}${y}`,{headers:{"Content-Type":"application/json"},signal:H});if(!C.ok)throw new Zy.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${C.status} ${C.statusText} on ${y}`});return await C.json()}finally{f()}}async function Z2(y){if(!ty(y))throw new Zy.SwapKitError("toolbox_tron_trongrid_api_error",{address:y,message:"Invalid address"});try{let T=await Q2(`/v1/accounts/${y}`,G2);if(!(T.success&&T.data)||T.data.length===0)return;let H;try{H=C2(y).toLowerCase()}catch{H=y.toLowerCase()}let f=T.data.find((C)=>C.address.toLowerCase()===H);if(!f)return;return{balance:f.balance,trc20:f.trc20||[]}}catch(T){if(T instanceof Zy.SwapKitError)throw T;throw new Zy.SwapKitError("toolbox_tron_trongrid_api_error",{address:y,message:T instanceof Error?T.message:"Unknown error"})}}async function W2({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 Zy.SwapKitError("toolbox_tron_transaction_creation_failed");let q=C.raw_data?.contract?.[0]?.parameter?.value;if(q?.to_address!==T||q?.owner_address!==y||q?.amount!==H)throw new Zy.SwapKitError("toolbox_tron_transaction_creation_failed");return H0(C),C}async function Y2({ownerAddress:y,contractAddress:T,functionSelector:H,parameter:f,feeLimit:C,callValue:U=0}){let q=await vf("/wallet/triggersmartcontract",{call_value:U,contract_address:T,fee_limit:C,function_selector:H,owner_address:y,parameter:f,visible:!0});if(!q.result.result||!q.transaction?.txID||!q.transaction?.raw_data_hex)throw new Zy.SwapKitError("toolbox_tron_transaction_creation_failed");let X=q.transaction.raw_data?.contract?.[0]?.parameter?.value;if(X?.contract_address!==T||X?.owner_address!==y)throw new Zy.SwapKitError("toolbox_tron_transaction_creation_failed");return H0(q.transaction),q.transaction}function J2({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 cG({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 l0(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 Zy.SwapKitError("toolbox_tron_token_transfer_failed");return H}catch(T){throw new Zy.SwapKitError("toolbox_tron_broadcast_failed",{error:T})}}async function K0(){let y={};try{let{chainParameter:T}=await Q2("/wallet/getchainparameters");for(let H of T)y[H.key]=H.value}catch(T){Zy.warnOnce({condition:!0,id:"tron_chain_params_failed",warning:`Failed to fetch chain params, using defaults: ${T instanceof Error?T.message:T}`})}return{bandwidthFee:y.getTransactionFee??KG,createAccountFee:y.getCreateNewAccountFeeInSystemContract??y.getCreateAccountFee??uG,energyFee:y.getEnergyFee??hG,memoFee:y.getMemoFee??tG}}async function eC(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 Zy.warnOnce({condition:!0,id:"tron_account_resources_failed",warning:`Failed to fetch account resources, using defaults: ${T instanceof Error?T.message:T}`}),{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}}async function u0(y){try{let T=await vf("/wallet/getaccount",{address:y,visible:!0});return T&&Object.keys(T).length>0}catch{return!1}}async function yH(y){try{let T=await cG({...y,ownerAddress:y.sender}),H=T.energy_required??T.energyRequired;if(T.result&&!T.result.result)throw new Zy.SwapKitError("toolbox_tron_trongrid_api_error",{message:T.result.message||"estimateenergy failed"});if(H!==void 0){if(Number.isFinite(H)&&H>0)return H;throw new Zy.SwapKitError("toolbox_tron_trongrid_api_error",{message:"Invalid estimateenergy response"})}}catch(T){Zy.warnOnce({condition:!0,id:"tron_energy_estimation_failed",warning:`Failed to estimate energy with estimateenergy, falling back to triggerconstantcontract: ${T instanceof Error?T.message:T}`})}try{let{energy_used:T}=await J2({...y,ownerAddress:y.sender});return T}catch(T){return Zy.warnOnce({condition:!0,id:"tron_energy_estimation_fallback_failed",warning:`Failed to estimate energy, using default: ${T instanceof Error?T.message:T}`}),65000}}async function L2({assetAddress:y,owner:T,spender:H}){let f=U0([{type:"address",value:T},{type:"address",value:H}]),U=(await J2({contractAddress:y,functionSelector:"allowance(address,address)",ownerAddress:H,parameter:f})).constant_result?.[0];if(!U)return 0n;try{return BigInt(`0x${U}`)}catch{return 0n}}var Zy,G2="https://api.trongrid.io",KG=1000,uG=1e6,hG=420,tG=1e6,mG=30000;var z2=E(()=>{sC();Zy=require("@swapkit/helpers")});function k2({phrase:y,derivationPath:T}){let H=O2.HDKey.fromMasterSeed(R2.mnemonicToSeedSync(y)).derive(T);if(!H.privateKey)throw new b.SwapKitError("toolbox_tron_no_signer");return D2.bytesToHex(H.privateKey)}function w2({phrase:y,derivationPath:T,index:H}){let f=T||b.derivationPathToString(b.updateDerivationPath(b.NetworkDerivationPath[b.Chain.Tron],{index:H||0}));return k2({derivationPath:f,phrase:y})}function iG({phrase:y,derivationPath:T}){let H=k2({derivationPath:T,phrase:y}),f=H2(H);return{getAddress:()=>Promise.resolve(f),signTransaction:(C)=>{H0(C);let U=U2({privateKey:H,txID:C.txID});return Promise.resolve({...C,signature:[U]})}}}function N2({transaction:y,memo:T,expiration:H,feeLimit:f}){let C={},U={};if(f!==void 0&&y.raw_data)C.fee_limit=f,U.fee_limit=f;if(T){let X=q2(T);C.data=X,U.data=X}if(H){let X=y.raw_data.expiration+H*1000;C.expiration=X,U.expiration=X}if(Object.keys(C).length===0)return y;let{raw_data_hex:q,txID:G}=sU(y.raw_data_hex,C);return{...y,raw_data:{...y.raw_data,...U},raw_data_hex:q,txID:G}}function F2(y={}){let T="index"in y?y.index||0:0,H=b.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:b.updateDerivationPath(b.NetworkDerivationPath[b.Chain.Tron],{index:T})),f,C=!1;function U(){if(C)return Promise.resolve(f);return f=q0.match(y).with({phrase:q0.P.string},({phrase:Y})=>iG({derivationPath:H,phrase:Y})).with({signer:q0.P.not(q0.P.nullish)},({signer:Y})=>Y).otherwise(()=>{return}),C=!0,Promise.resolve(f)}async function q(){let Y=await U();if(!Y)throw new b.SwapKitError("toolbox_tron_no_signer");return Y.getAddress()}async function G(Y,z){let k=Y||M2,F=z??(await K0()).energyFee,w=k*F,$=Math.ceil(w*1.5);return Math.min(Math.max($,1e7),150000000)}async function X({contractAddress:Y,functionSelector:z,parameter:k,sender:F,memo:w,expiration:$,extraEnergy:I=0}){let D=await yH({contractAddress:Y,functionSelector:z,parameter:k,sender:F}),x=await G(D+I),S=await Y2({contractAddress:Y,feeLimit:x,functionSelector:z,ownerAddress:F,parameter:k});return N2({expiration:$,feeLimit:x,memo:w,transaction:S})}async function _(Y){if(!ty(Y))return[b.AssetValue.from({chain:b.Chain.Tron})];try{let z=await Z2(Y);if(!z)return[b.AssetValue.from({chain:b.Chain.Tron})];let k=[b.AssetValue.from({chain:b.Chain.Tron,fromBaseDecimal:6,value:String(z.balance)})],F=z.trc20?.find((w)=>(TH in w));if(F){let w=F[TH];k.push(b.AssetValue.from({asset:`TRON.USDT-${TH}`,fromBaseDecimal:6,value:w}))}return k}catch(z){return b.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${z instanceof Error?z.message:z}`}),[b.AssetValue.from({chain:b.Chain.Tron})]}}async function L({recipient:Y,assetValue:z,memo:k,expiration:F}){if(!ty(Y))throw new b.SwapKitError("toolbox_tron_token_transfer_failed",{message:"invalid address"});let w=await U();if(!w)throw new b.SwapKitError("toolbox_tron_no_signer");try{let $=await q(),I=await n({assetValue:z,expiration:F,memo:k,recipient:Y,sender:$}),D=await w.signTransaction(I),x=await l0(D);if(!x)throw new b.SwapKitError("toolbox_tron_token_transfer_failed",{message:"broadcast failed"});return x}catch($){throw new b.SwapKitError("toolbox_tron_token_transfer_failed",{message:$ instanceof Error?$.message:String($)})}}function A({requiredBandwidth:Y,resources:z,feePerUnit:k}){let F=Math.max(0,z.free+z.total-z.used);return Y>F?(Y-F)*k:0}async function Z({memo:Y,recipient:z,senderAddress:k}){let[F,w,$]=await Promise.all([K0(),u0(z),eC(k)]),I=w?0:F.createAccountFee,D=A({feePerUnit:F.bandwidthFee,requiredBandwidth:A2,resources:$.bandwidth}),x=Y?F.memoFee:0;return b.AssetValue.from({chain:b.Chain.Tron,fromBaseDecimal:b.BaseDecimal.TRON,value:I+D+x})}async function Q({assetValue:Y,memo:z,recipient:k,senderAddress:F}){let w=Y.address;if(!w)throw new b.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:Y.toString()});let[$,I,D,x]=await Promise.all([K0(),u0(k),eC(F),yH({contractAddress:w,functionSelector:"transfer(address,uint256)",parameter:U0([{type:"address",value:k},{type:"uint256",value:Y.getBaseValue("string")}]),sender:F})]),u=x+(I?0:fH),v=A({feePerUnit:$.bandwidthFee,requiredBandwidth:B2,resources:D.bandwidth}),m=Math.max(0,D.energy.total-D.energy.used),Cy=u>m?(u-m)*$.energyFee:0,Ay=z?$.memoFee:0;return b.AssetValue.from({chain:b.Chain.Tron,fromBaseDecimal:b.BaseDecimal.TRON,value:v+Cy+Ay})}async function W({assetValue:Y,memo:z,recipient:k}){let[F,w]=await Promise.all([K0(),u0(k)]);if(Y.isGasAsset){let x=w?0:F.createAccountFee,S=z?F.memoFee:0;return b.AssetValue.from({chain:b.Chain.Tron,fromBaseDecimal:b.BaseDecimal.TRON,value:x+A2*F.bandwidthFee+S})}let I=await G(M2+(w?0:fH),F.energyFee),D=z?F.memoFee:0;return b.AssetValue.from({chain:b.Chain.Tron,fromBaseDecimal:b.BaseDecimal.TRON,value:I+B2*F.bandwidthFee+D})}async function M({assetValue:Y,memo:z,recipient:k,sender:F}){let w=await U();try{let $=F?F:w?await q():void 0;if(!$)return W({assetValue:Y,memo:z,recipient:k});return Y.isGasAsset?Z({memo:z,recipient:k,senderAddress:$}):Q({assetValue:Y,memo:z,recipient:k,senderAddress:$})}catch($){throw b.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee: ${$ instanceof Error?$.message:$}`}),new b.SwapKitError("toolbox_fee_estimation_failed",{chain:b.Chain.Tron,error:$})}}async function n({recipient:Y,assetValue:z,memo:k,sender:F,expiration:w}){if(!ty(Y)||!ty(F))throw new b.SwapKitError("toolbox_tron_transaction_creation_failed",{message:"invalid address"});if(z.isGasAsset){let D=await W2({amount:z.getBaseValue("number"),from:F,to:Y});return N2({expiration:w,memo:k,transaction:D})}let $=z.address;if(!$)throw new b.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:z.toString()});let I=await u0(Y);return X({contractAddress:$,expiration:w,extraEnergy:I?0:fH,functionSelector:"transfer(address,uint256)",memo:k,parameter:U0([{type:"address",value:Y},{type:"uint256",value:z.getBaseValue("string")}]),sender:F})}async function O(Y){H0(Y);let z=await U();if(!z)throw new b.SwapKitError("toolbox_tron_no_signer");return z.signTransaction(Y)}async function J(Y){let z=await O(Y);return l0(z)}function R({assetAddress:Y,spenderAddress:z,from:k}){return L2({assetAddress:Y,owner:k,spender:z})}async function N({assetAddress:Y,spenderAddress:z,from:k,amount:F}){let w=await R({assetAddress:Y,from:k,spenderAddress:z});if(!F)return w>0n;return w>=BigInt(F)}async function B({assetAddress:Y,spenderAddress:z,amount:k,from:F}){if(!ty(Y)||!ty(z))throw new b.SwapKitError("toolbox_tron_approve_failed");let w=await U();if(!w)throw new b.SwapKitError("toolbox_tron_no_signer");let $=F||await q(),I=k!==void 0?BigInt(k).toString():gG;try{let D=await X({contractAddress:Y,functionSelector:"approve(address,uint256)",parameter:U0([{type:"address",value:z},{type:"uint256",value:I}]),sender:$}),x=await w.signTransaction(D),S=await l0(x);if(!S)throw new b.SwapKitError("toolbox_tron_approve_failed");return S}catch(D){if(D instanceof b.SwapKitError)throw D;throw new b.SwapKitError("toolbox_tron_approve_failed",{error:D})}}return{approve:B,broadcastTransaction:l0,createTransaction:n,estimateTransactionFee:M,getAddress:q,getApprovedAmount:R,getBalance:_,getRpcUrl:()=>b.getRPCUrl(b.Chain.Tron),isApproved:N,signAndBroadcastTransaction:J,signTransaction:O,transfer:L,validateAddress:ty}}var D2,O2,R2,b,q0,n2,A2=268,M2=65000,fH=25000,B2=345,TH="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",gG="115792089237316195423570985008687907853269984665640564039457584007913129639935";var $2=E(()=>{eU();z2();sC();D2=require("@noble/hashes/utils.js"),O2=require("@scure/bip32"),R2=require("@scure/bip39"),b=require("@swapkit/helpers"),q0=require("ts-pattern"),n2=ty});var CH={};Ny(CH,{validateTronAddress:()=>n2,getTronToolbox:()=>F2,getTronPrivateKeyFromMnemonic:()=>w2});module.exports=ny(CH);var HH=E(()=>{$2()});function T1(y){if(!y||typeof y!=="string"||!y.startsWith("G")||y.length!==56)return!1;return dG.test(y)}function rG(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 aG(y){return rG(y)===504}function sG(y){return y.hash?.().toString("hex")}function eG(y){return[...new Set([y,...s.SKConfig.get("rpcUrls")[s.Chain.Stellar]])].filter(Boolean)}async function yX(y){if(!T1(y))return!1;try{let{StrKey:T}=await import("@stellar/stellar-sdk");return T.isValidEd25519PublicKey(y)}catch{return!1}}function x2(y={}){let T,H=y.derivationPath||s.NetworkDerivationPath[s.Chain.Stellar],f=s.derivationPathToString(H.slice(0,3));async function C({phrase:O,path:J}){let{HDKey:R}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:N}=await import("@scure/bip39"),{Keypair:B}=await import("@stellar/stellar-sdk"),Y=N(O),k=R.fromMasterSeed(Y).derive(J,!0);return B.fromRawEd25519Seed(Buffer.from(k.privateKey))}async function U(){if(T)return T;let O=f1.match(y).with({phrase:f1.P.string},({phrase:J})=>J).otherwise(()=>{return});if(!O)throw new s.SwapKitError("toolbox_stellar_no_signer");return T=await C({path:f,phrase:O}),T}async function q(O){let{Horizon:J}=await import("@stellar/stellar-sdk"),R=O||await s.getRPCUrl(s.Chain.Stellar);return new J.Server(R)}async function G(O,J){for(let R of J)try{return(await(await q(R)).transactions().transaction(O).call()).hash||O}catch{}return}async function X(O,J){let R=await s.getRPCUrl(s.Chain.Stellar),N=eG(R),B=sG(O),Y;for(let z of N)try{let k=await q(z),{hash:F}=await k.submitTransaction(O);return F}catch(k){if(Y=k,!aG(k))break;let F=B?await G(B,N):void 0;if(F)return F}throw new s.SwapKitError(J,Y)}async function _(){try{return(await U()).publicKey()}catch{return""}}async function L(O){let J=O||await _();if(!J)throw new s.SwapKitError("toolbox_stellar_account_not_found");try{return(await(await q()).loadAccount(J)).balances.map((B)=>{if(B.asset_type==="native")return s.AssetValue.from({chain:s.Chain.Stellar,value:B.balance});let Y="asset_code"in B?B.asset_code:"",z="asset_issuer"in B?B.asset_issuer:"";return s.AssetValue.from({asset:`${s.Chain.Stellar}.${Y}-${z}`,asyncTokenLookup:!1,value:B.balance})})}catch{return[s.AssetValue.from({chain:s.Chain.Stellar,value:0})]}}async function A({recipient:O,assetValue:J,memo:R,sender:N}){if(R){if(new TextEncoder().encode(R).length>28)throw new s.SwapKitError("helpers_invalid_memo_type")}if(!await yX(O))throw new s.SwapKitError("core_transaction_invalid_recipient_address");let Y=N||await _();if(!Y)throw new s.SwapKitError("toolbox_stellar_no_signer");let{Asset:z,Memo:k,Networks:F,Operation:w,TransactionBuilder:$}=await import("@stellar/stellar-sdk"),I=await q(),D=await I.fetchBaseFee(),x=await I.loadAccount(Y),S=new $(x,{fee:String(D),networkPassphrase:F.PUBLIC});if(J.isGasAsset)try{await I.loadAccount(O),S.addOperation(w.payment({amount:J.getValue("string"),asset:z.native(),destination:O}))}catch{S.addOperation(w.createAccount({destination:O,startingBalance:J.getValue("string")}))}else S.addOperation(w.payment({amount:J.getValue("string"),asset:new z(J.symbol,J.address),destination:O}));if(R)S.addMemo(k.text(R));return S.setTimeout(30).build()}async function Z(O){let{TransactionBuilder:J,Networks:R}=await import("@stellar/stellar-sdk"),N=await U(),B=J.fromXDR(O.toXDR(),R.PUBLIC);return B.sign(N),B}function Q(O){return X(O,"toolbox_stellar_broadcast_error")}async function W({recipient:O,assetValue:J,memo:R}){let N=await U(),B=N.publicKey(),Y=await A({assetValue:J,memo:R,recipient:O,sender:B});return Y.sign(N),X(Y,"toolbox_stellar_transaction_failed")}async function M(O){let J=await Z(O);return Q(J)}async function n(){let{baseDecimal:O}=s.getChainConfig(s.Chain.Stellar);try{let N=(await(await q()).feeStats()).fee_charged.p50;return s.AssetValue.from({chain:s.Chain.Stellar,fromBaseDecimal:O,value:N})}catch{return s.AssetValue.from({chain:s.Chain.Stellar,fromBaseDecimal:O,value:"100"})}}return{broadcastTransaction:Q,createTransaction:A,estimateTransactionFee:n,getAddress:_,getBalance:L,signAndBroadcastTransaction:M,signTransaction:Z,transfer:W,validateAddress:T1}}var s,f1,dG;var o2=E(()=>{s=require("@swapkit/helpers"),f1=require("ts-pattern"),dG=/^G[A-Z2-7]{55}$/});var C1={};Ny(C1,{validateStellarAddress:()=>T1,getStellarToolbox:()=>x2});module.exports=ny(C1);var H1=E(()=>{o2()});var CX={};Ny(CX,{getToolbox:()=>UH,getFeeEstimator:()=>TX,getAddressValidator:()=>fX});module.exports=ny(CX);var l=require("@swapkit/helpers");async function fX(){let{match:y}=await import("ts-pattern"),{validateAptosAddress:T}=await Promise.resolve().then(() => (t0(),h0)),{validateEVMAddress:H}=await Promise.resolve().then(() => (o1(),jH)),{validateCardanoAddress:f}=await Promise.resolve().then(() => (V1(),P1)),{getCosmosAddressValidator:C}=await Promise.resolve().then(() => (AT(),zT)),{validateHyperCoreAddress:U}=await Promise.resolve().then(() => (fC(),yC)),{validateSolanaAddress:q}=await Promise.resolve().then(() => (qC(),UC)),{validateStarknetAddress:G}=await Promise.resolve().then(() => (kT(),nT)),{validateSuiAddress:X}=await Promise.resolve().then(() => (FT(),wT)),{validateTonAddress:_}=await Promise.resolve().then(() => (oT(),xT)),{getUTXOAddressValidator:L}=await Promise.resolve().then(() => ($C(),FC)),{validateNearAddress:A}=await Promise.resolve().then(() => (hC(),uC)),{validateRadixAddress:Z}=await Promise.resolve().then(() => (mC(),tC)),{validateRippleAddress:Q}=await Promise.resolve().then(() => (gC(),cC)),{validateTronAddress:W}=await Promise.resolve().then(() => (HH(),CH)),{validateStellarAddress:M}=await Promise.resolve().then(() => (H1(),C1));return function({address:O,chain:J}){return y(J).with(...l.EVMChains,()=>H(O)).with(...l.UTXOChains,(N)=>{return L(N)(O)}).with(...l.CosmosChains,(N)=>{return C(N)(O)}).with(l.Chain.Aptos,()=>T(O)).with(l.Chain.Radix,()=>Z(O)).with(l.Chain.Hype,()=>U(O)).with(l.Chain.Near,()=>A(O)).with(l.Chain.Ripple,()=>Q(O)).with(l.Chain.Solana,()=>q(O)).with(l.Chain.Stellar,()=>M(O)).with(l.Chain.Starknet,()=>G(O)).with(l.Chain.Sui,()=>X(O)).with(l.Chain.Ton,()=>_(O)).with(l.Chain.Tron,()=>W(O)).with(l.Chain.Cardano,()=>f(O)).otherwise(()=>!1)}}function TX(y){return async function(H){let{match:f}=await import("ts-pattern");return f(y).returnType().with(...l.EVMChains,async(C)=>{let U=await UH(C),q=await U.createTransaction(H),G="feeOptionKey"in H?H.feeOptionKey:l.FeeOption.Fast;return U.estimateTransactionFee({...q,feeOption:G})}).with(l.Chain.Bitcoin,l.Chain.BitcoinCash,l.Chain.Dogecoin,l.Chain.Dash,l.Chain.Litecoin,l.Chain.Solana,l.Chain.Ripple,l.Chain.Tron,l.Chain.Near,l.Chain.Cardano,l.Chain.Hype,async(C)=>{return(await UH(C)).estimateTransactionFee(H)}).with(l.Chain.Aptos,async()=>{let{getAptosToolbox:C}=await Promise.resolve().then(() => (t0(),h0));return C().estimateTransactionFee(H)}).with(l.Chain.Starknet,async()=>{let{getStarknetToolbox:C}=await Promise.resolve().then(() => (kT(),nT));return(await C()).estimateTransactionFee(H)}).with(l.Chain.Stellar,async()=>{let{getStellarToolbox:C}=await Promise.resolve().then(() => (H1(),C1));return C().estimateTransactionFee()}).with(l.Chain.Sui,async()=>{let{getSuiToolbox:C}=await Promise.resolve().then(() => (FT(),wT));return C().estimateTransactionFee(H)}).with(l.Chain.Ton,async()=>{let{getTONToolbox:C}=await Promise.resolve().then(() => (oT(),xT));return C().estimateTransactionFee(H)}).with(...l.CosmosChains,async()=>{let{estimateTransactionFee:C}=await Promise.resolve().then(() => (AT(),zT));return C(H)}).otherwise(async()=>l.AssetValue.from({chain:y}))}}async function UH(y,T){let{match:H}=await import("ts-pattern");return H(y).returnType().with(...l.EVMChains,async()=>{let{getEvmToolboxAsync:f}=await Promise.resolve().then(() => (x1(),vH));return await f(y,T)}).with(...l.UTXOChains,async()=>{let{getUtxoToolbox:f}=await Promise.resolve().then(() => ($C(),FC));return f(y,T)}).with(...l.CosmosChains,async()=>{let{getCosmosToolbox:f}=await Promise.resolve().then(() => (AT(),zT));return f(y,T)}).with(l.Chain.Aptos,async()=>{let{getAptosToolbox:f}=await Promise.resolve().then(() => (t0(),h0));return f(T)}).with(l.Chain.Hype,async()=>{let{getHyperCoreToolbox:f}=await Promise.resolve().then(() => (fC(),yC));return f(T)}).with(l.Chain.Radix,async()=>{let{getRadixToolbox:f}=await Promise.resolve().then(() => (mC(),tC));return f(T)}).with(l.Chain.Ripple,async()=>{let{getRippleToolbox:f}=await Promise.resolve().then(() => (gC(),cC));return f(T)}).with(l.Chain.Solana,async()=>{let{getSolanaToolbox:f}=await Promise.resolve().then(() => (qC(),UC));return f(T)}).with(l.Chain.Stellar,async()=>{let{getStellarToolbox:f}=await Promise.resolve().then(() => (H1(),C1));return f(T)}).with(l.Chain.Starknet,async()=>{let{getStarknetToolbox:f}=await Promise.resolve().then(() => (kT(),nT));return f(T)}).with(l.Chain.Sui,async()=>{let{getSuiToolbox:f}=await Promise.resolve().then(() => (FT(),wT));return f(T)}).with(l.Chain.Tron,async()=>{let{getTronToolbox:f}=await Promise.resolve().then(() => (HH(),CH));return f(T)}).with(l.Chain.Near,async()=>{let{getNearToolbox:f}=await Promise.resolve().then(() => (hC(),uC));return f(T)}).with(l.Chain.Cardano,async()=>{let{getCardanoToolbox:f}=await Promise.resolve().then(() => (V1(),P1));return f(T)}).with(l.Chain.Ton,async()=>{let{getTONToolbox:f}=await Promise.resolve().then(() => (oT(),xT));return f(T)}).otherwise(()=>{throw new l.SwapKitError("toolbox_not_supported",{chain:y})})}
1
+ var EU=Object.create;var{getPrototypeOf:vU,defineProperty:X0,getOwnPropertyNames:_C,getOwnPropertyDescriptor:pU}=Object,ZC=Object.prototype.hasOwnProperty;function WC(y){return this[y]}var bU,jU,Q1=(y,T,C)=>{var f=y!=null&&typeof y==="object";if(f){var H=T?bU??=new WeakMap:jU??=new WeakMap,U=H.get(y);if(U)return U}C=y!=null?EU(vU(y)):{};let q=T||!y||!y.__esModule?X0(C,"default",{value:y,enumerable:!0}):C;for(let X of _C(y))if(!ZC.call(q,X))X0(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=X0({},"__esModule",{value:!0}),y&&typeof y==="object"||typeof y==="function"){for(var f of _C(y))if(!ZC.call(T,f))X0(T,f,{get:WC.bind(y,f),enumerable:!(C=pU(y,f))||C.enumerable})}return QC.set(y,T),T},QC;var KU=(y)=>y;function lU(y,T){this[y]=KU.bind(null,T)}var By=(y,T)=>{for(var C in T)X0(y,C,{get:T[C],enumerable:!0,configurable:!0,set:lU.bind(T,C)})};var E=(y,T)=>()=>(y&&(T=y(y=0)),T);function pf(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 uU.test(T)}function YC({derivationPath:y,provider:T,...C}={}){let f,H=m.derivationPathToString(y||m.NetworkDerivationPath[m.Chain.Aptos],{allHardened:!0});async function U(){if(f)return f;return f=await Of.match(C).with({phrase:Of.P.string},async({phrase:M})=>{let{Ed25519Account:D}=await import("@aptos-labs/ts-sdk");return D.fromDerivationPath({mnemonic:M,path:H})}).with({signer:Of.P.any},({signer:M})=>M).otherwise(()=>{return}),f}async function q(){let{Aptos:M,AptosConfig:D}=await import("@aptos-labs/ts-sdk"),R=new D({fullnode:T||m.getRPCUrlSync(m.Chain.Aptos)});return new M(R)}async function X(){return(await U())?.accountAddress.toString()||""}async function G(M){let D=M||await X();if(!D)throw new m.SwapKitError("toolbox_aptos_address_required");let{baseDecimal:R,chain:J}=m.getChainConfig(m.Chain.Aptos);try{let k=await q(),O=await k.getAccountAPTAmount({accountAddress:D}),A=[m.AssetValue.from({chain:J,fromBaseDecimal:R,value:O.toString()})],Z=await k.getCurrentFungibleAssetBalances({options:{where:{owner_address:{_eq:D}}}});for(let L of Z){if(L.asset_type===Df.COIN_TYPE||Number(L.amount)<=0)continue;let w=L.asset_type;if(w){let F=("metadata"in L&&typeof L.metadata==="object"&&L.metadata!==null?L.metadata:void 0)?.decimals??R;A.push(m.AssetValue.from({asset:`${m.Chain.Aptos}.APT-${w}`,fromBaseDecimal:F,value:String(L.amount)}))}}return A}catch{return[m.AssetValue.from({chain:J})]}}async function Q(M){if(!M){let{baseDecimal:Z}=m.getChainConfig(m.Chain.Aptos),L=T||m.getRPCUrlSync(m.Chain.Aptos),w=await fetch(`${L}/estimate_gas_price`),{gas_estimate:$}=await w.json();return m.AssetValue.from({chain:m.Chain.Aptos,fromBaseDecimal:Z,value:String($)})}let D=await U();if(!D)throw new m.SwapKitError("toolbox_aptos_no_signer");let R=await Y(M),J=await q(),[k]=await J.transaction.simulate.simple({signerPublicKey:D.publicKey,transaction:R});if(!k)throw new m.SwapKitError("toolbox_aptos_transaction_creation_error");let O=BigInt(k.gas_used)*BigInt(k.gas_unit_price),{baseDecimal:A}=m.getChainConfig(m.Chain.Aptos);return m.AssetValue.from({chain:m.Chain.Aptos,fromBaseDecimal:A,value:O.toString()})}async function Y({recipient:M,assetValue:D,maxGasAmount:R,sender:J}){if(!pf(M))throw new m.SwapKitError("core_transaction_invalid_recipient_address");let k=J||await X();if(!k)throw new m.SwapKitError("toolbox_aptos_no_sender");let{AccountAddress:O}=await import("@aptos-labs/ts-sdk"),A=await q(),Z=O.from(k);try{let L=D.isGasAsset?Df.TRANSFER:Df.FUNGIBLE_STORE_TRANSFER,w=Of.match({address:D?.address,isGasAsset:D.isGasAsset}).with({isGasAsset:!0},()=>[O.from(M),D.getBaseValue("bigint")]).with({address:Of.P.string},({address:$})=>[O.from($),O.from(M),D.getBaseValue("bigint")]).otherwise(()=>null);if(!w)throw new m.SwapKitError("toolbox_aptos_missing_asset_type");return A.transaction.build.simple({data:{function:L,functionArguments:w,typeArguments:D.isGasAsset?[]:[Df.FUNGIBLE_ASSET_METADATA]},options:R?{maxGasAmount:R}:void 0,sender:Z})}catch(L){if(L instanceof m.SwapKitError)throw L;throw new m.SwapKitError("toolbox_aptos_transaction_creation_error",L)}}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 W({assetValue:M,maxGasAmount:D,recipient:R}){let J=await U();if(!J)throw new m.SwapKitError("toolbox_aptos_no_signer");if(!pf(R))throw new m.SwapKitError("core_transaction_invalid_recipient_address");try{let k=J.accountAddress.toString(),O=await Y({assetValue:M,maxGasAmount:D,recipient:R,sender:k});return(await(await q()).signAndSubmitTransaction({signer:J,transaction:O})).hash}catch(k){if(k instanceof m.SwapKitError)throw k;throw new m.SwapKitError("toolbox_aptos_transaction_creation_error",k)}}async function _({senderAuthenticator:M,transaction:D}){try{return(await(await q()).transaction.submit.simple({senderAuthenticator:M,transaction:D})).hash}catch(R){throw new m.SwapKitError("toolbox_aptos_broadcast_error",R)}}async function B(M){let D=await z(M);return _({senderAuthenticator:D,transaction:M})}return{broadcastTransaction:_,createTransaction:Y,estimateTransactionFee:Q,getAddress:X,getBalance:G,signAndBroadcastTransaction:B,signTransaction:z,transfer:W,validateAddress:pf}}function JC({provider:y}){return async function({assetValue:C,recipient:f}){if(!pf(f))throw new m.SwapKitError("core_transaction_invalid_recipient_address");let{AccountAddress:H}=await import("@aptos-labs/ts-sdk");if(C.isGasAsset)return(await y.signAndSubmitTransaction({arguments:[H.from(f).toString(),C.getBaseValue("string")],function:Df.TRANSFER,type:"entry_function_payload",type_arguments:[]})).hash;let U=C.address;if(!U)throw new m.SwapKitError("toolbox_aptos_missing_asset_type");return(await y.signAndSubmitTransaction({arguments:[U,H.from(f).toString(),C.getBaseValue("string")],function:Df.FUNGIBLE_STORE_TRANSFER,type:"entry_function_payload",type_arguments:[Df.FUNGIBLE_ASSET_METADATA]})).hash}}var m,Of,Df,uU;var LC=E(()=>{m=require("@swapkit/helpers"),Of=require("ts-pattern"),Df={COIN_TYPE:"0x1::aptos_coin::AptosCoin",FUNGIBLE_ASSET_METADATA:"0x1::fungible_asset::Metadata",FUNGIBLE_STORE_TRANSFER:"0x1::primary_fungible_store::transfer",TRANSFER:"0x1::aptos_account::transfer"},uU=/^[0-9a-fA-F]+$/});var h0={};By(h0,{validateAptosAddress:()=>pf,getAptosToolbox:()=>YC,createAptosExtensionTransfer:()=>JC});module.exports=ky(h0);var m0=E(()=>{LC()});function AC(){function y(){let T=Date.now(),C=_1||T;return _1=C,T>_1?T:C+1}return hU+y().toString(36)}function Iy(y){return async function(C,f=!0){let H=await zC.SwapKitApi.getChainBalance({address:C,chain:y,scamFilter:f}),{baseDecimal:U}=G0.getChainConfig(y),q=H.map(({identifier:G,value:Q,decimal:Y})=>{return new G0.AssetValue({decimal:Y||U,identifier:G,value:Q})});if(!q.some((G)=>G.isGasAsset))return[G0.AssetValue.from({chain:y}),...q];return q}}var G0,zC,hU,_1=0;var sy=E(()=>{G0=require("@swapkit/helpers"),zC=require("@swapkit/helpers/api"),hU=typeof process<"u"&&process.pid?process.pid.toString(36):""});function Q0(y){return{getBalance:Iy(y)}}function mU(y){return y}var t0=E(()=>{sy()});function NC(y){return new Rf.JsonRpcProvider(y)}async function L1(y,T){return NC(T||await e.getRPCUrl(y))}function _0(y){return y>0n?`0x${y.toString(16)}`:"0x0"}function z1(y){let{explorerUrl:T,chainIdHex:C,rpcUrls:f}=e.getChainConfig(y);return function(){return y!==e.Chain.Ethereum?{...tU({chain:y}),blockExplorerUrls:[T],chainId:C,rpcUrls:f}:void 0}}function A1(y){return![e.Chain.Adi,e.Chain.Arbitrum,e.Chain.BinanceSmartChain].includes(y)}function tU({chain:y}){let{name:T,nativeCurrency:C,baseDecimal:f}=e.getChainConfig(y);return J1.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: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 BC(y,T){let C=T!==void 0?`index ${T}: `:"",f=(H,U)=>{throw new e.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:H,message:`${C}${U}`}})};J1.match(y).when(({chainId:H})=>typeof H!=="bigint",()=>f("chainId","chainId must be a bigint")).when(({address:H})=>!cU(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})=>!MC(H?.r),()=>f("signature.r","r must be a 32-byte hex string")).when(({signature:H})=>!MC(H?.s),()=>f("signature.s","s must be a 32-byte hex string")).otherwise(()=>{})}function DC(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 gU({chain:y,abi:T,data:C,to:f}){let U=new Rf.Interface(T).parseTransaction({data:C});if(!U)throw new e.SwapKitError({errorKey:"toolbox_evm_invalid_params",info:{error:"Could not decode calldata"}});let q={},X=Z1(U.name);q[X]=U.fragment.inputs.map((W)=>({name:W.name,type:W1(W,q)}));let G={};for(let[W,_]of U.fragment.inputs.entries())G[_.name]=Y1(U.args[W],_);let{chainId:Q}=e.getChainConfig(y),Y={chainId:Number(Q),verifyingContract:Rf.getAddress(f)},z=DC(Y);return{domain:Y,message:G,primaryType:X,types:{EIP712Domain:z,...q}}}function N1(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[C,f]of y.entries())if(BC(f,C),T!==void 0&&f.chainId!==T)throw new e.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:"chainId",message:`index ${C}: authorization chainId (${f.chainId}) does not match transaction chainId (${T})`}})}var e,Rf,J1,MC=(y)=>typeof y==="string"&&/^0x[a-fA-F0-9]{64}$/.test(y),cU=(y)=>{try{return typeof y==="string"&&!!Rf.getAddress(y)}catch{return!1}};var Z0=E(()=>{e=require("@swapkit/helpers"),Rf=require("ethers"),J1=require("ts-pattern")});var OC;var RC=E(()=>{OC=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"}]});function jf({chain:y=I.Chain.Ethereum,provider:T,signer:C,isEIP1559Compatible:f=!0}){return{approve:sU({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:T8({chain:y,provider:T,signer:C}),createContract:O1({chain:y,provider:T}),createContractTxObject:kf({chain:y,provider:T}),createTransaction:B1({chain:y,provider:T,signer:C}),createTransferTx:B1({chain:y,provider:T,signer:C}),EIP1193SendTransaction:lf(T),estimateCall:$C({provider:T,signer:C}),estimateGasLimit:y8({chain:y,provider:T,signer:C}),estimateGasPrices:wf({chain:y,isEIP1559Compatible:f,provider:T}),estimateTransactionFee:H8({chain:y,isEIP1559Compatible:f,provider:T}),getAddress:()=>{return C?C.getAddress():void 0},getBalance:Q0(y).getBalance,getNetworkParams:z1(y),isApproved:aU({chain:y,provider:T}),sendTransaction:nC({chain:y,isEIP1559Compatible:f,provider:T,signer:C}),signAuthorization:f8({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:eU({chain:y,isEIP1559Compatible:f,provider:T,signer:C}),validateAddress:Y0}}function Y0(y){try{return Py.getAddress(y),!0}catch{return!1}}function Kf(y){return y instanceof Py.BrowserProvider}function J0(y,T,C){return new Py.Contract(y,Py.Interface.from(T),C)}function O1({provider:y}){return function(C,f){return new Py.Contract(C,Py.Interface.from(f),y)}}function R1({abi:y,funcName:T}){let C=y.find((f)=>f.name===T);if(!C)throw new I.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:T});return C.stateMutability&&iU.includes(C.stateMutability)}function kC(y){return Py.getAddress(y)}function lf(y){return function({value:C,...f}){if(!Kf(y))throw new I.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:_0(BigInt(C||0))}])}}function wC(y,T){let C=uf(y,T);if(C)return Py.getAddress(C.toLowerCase());throw new I.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function uf({chain:y,symbol:T,ticker:C},f){try{let H=y===I.Chain.BinanceSmartChain&&T==="BNB"&&C==="BNB",U=y===I.Chain.Hyperevm&&T==="HYPE"&&C==="HYPE",q=y===f&&T===f&&C===f,X=rU.includes(y)&&T==="ETH"&&C==="ETH";if(q||H||U||X)return k1[f];return Py.getAddress(T.slice(C.length+1).replace(/^0X/,""))}catch{return null}}function kf({provider:y}){return async({contractAddress:T,abi:C,funcName:f,funcParams:H=[],txOverrides:U})=>J0(T,C,y).getFunction(f).populateTransaction(...H.concat(U).filter((q)=>typeof q<"u"))}function wf({chain:y,provider:T,isEIP1559Compatible:C=!0}){return D1.match(y).with(I.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:H,maxPriorityFeePerGas:U}=await T.getFeeData();if(!H||U===null)throw new I.SwapKitError("toolbox_evm_no_fee_data");return{[I.FeeOption.Average]:{maxFeePerGas:I.applyFeeMultiplierToBigInt(H,I.FeeOption.Average),maxPriorityFeePerGas:I.applyFeeMultiplierToBigInt(U,I.FeeOption.Average)},[I.FeeOption.Fast]:{maxFeePerGas:I.applyFeeMultiplierToBigInt(H,I.FeeOption.Fast),maxPriorityFeePerGas:I.applyFeeMultiplierToBigInt(U,I.FeeOption.Fast)},[I.FeeOption.Fastest]:{maxFeePerGas:I.applyFeeMultiplierToBigInt(H,I.FeeOption.Fastest),maxPriorityFeePerGas:I.applyFeeMultiplierToBigInt(U,I.FeeOption.Fastest)}}}catch(H){throw new I.SwapKitError("toolbox_evm_gas_estimation_error",{error:H.msg??H.toString()})}}}).with(I.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:H}=await T.getFeeData();if(!H)throw new I.SwapKitError("toolbox_evm_no_fee_data");let U=H*12n/10n;return{[I.FeeOption.Average]:{gasPrice:U},[I.FeeOption.Fast]:{gasPrice:I.applyFeeMultiplierToBigInt(U,I.FeeOption.Fast)},[I.FeeOption.Fastest]:{gasPrice:I.applyFeeMultiplierToBigInt(U,I.FeeOption.Fastest)}}}catch(H){throw new I.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 I.SwapKitError("toolbox_evm_no_fee_data");return{[I.FeeOption.Average]:{maxFeePerGas:H,maxPriorityFeePerGas:U},[I.FeeOption.Fast]:{maxFeePerGas:I.applyFeeMultiplierToBigInt(H,I.FeeOption.Fast),maxPriorityFeePerGas:I.applyFeeMultiplierToBigInt(U,I.FeeOption.Fast)},[I.FeeOption.Fastest]:{maxFeePerGas:I.applyFeeMultiplierToBigInt(H,I.FeeOption.Fastest),maxPriorityFeePerGas:I.applyFeeMultiplierToBigInt(U,I.FeeOption.Fastest)}}}if(!q)throw new I.SwapKitError("toolbox_evm_no_gas_price");return{[I.FeeOption.Average]:{gasPrice:q},[I.FeeOption.Fast]:{gasPrice:I.applyFeeMultiplierToBigInt(q,I.FeeOption.Fast)},[I.FeeOption.Fastest]:{gasPrice:I.applyFeeMultiplierToBigInt(q,I.FeeOption.Fastest)}}}catch(H){throw new I.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=I.FeeOption.Fast}){let W=U||y;if(!q)throw new I.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let _=R1({abi:X,funcName:G});if(_&&Kf(W)&&C){let D=kf({chain:f,provider:W}),R=Y?.from||await C?.getAddress(),J=await D({abi:X,contractAddress:q,funcName:G,funcParams:Q,txOverrides:{...Y,from:R}});return lf(W)(J)}let B=J0(q,X,W);if(_){if(!C)throw new I.SwapKitError("toolbox_evm_no_signer");let D=Y?.from||await C.getAddress();if(!D)throw new I.SwapKitError("toolbox_evm_no_signer_address");let R=B.connect(C),J=wf({chain:f,isEIP1559Compatible:T,provider:y}),{maxFeePerGas:k,maxPriorityFeePerGas:O,gasPrice:A}=(await J())[z],Z=await B.getFunction(G).estimateGas(...Q,Y),L=await R[G](...Q,{...Y,gasLimit:Z,gasPrice:A,maxFeePerGas:k,maxPriorityFeePerGas:O,nonce:Y?.nonce||await W.getTransactionCount(D)});return typeof L?.hash==="string"?L?.hash:L}let M=await B[G]?.(...Q);return typeof M?.hash==="string"?M?.hash:M}}function FC({provider:y,chain:T}){return function({assetAddress:f,spenderAddress:H,from:U}){return w1({chain:T,isEIP1559Compatible:!0,provider:y})({abi:bf.erc20ABI,contractAddress:f,funcName:"allowance",funcParams:[U,H]})}}function aU({provider:y,chain:T}){return async function({assetAddress:f,spenderAddress:H,from:U,amount:q=W0}){let X=await FC({chain:T,provider:y})({assetAddress:f,from:U,spenderAddress:H});return I.SwapKitNumber.fromBigInt(X).gte(I.SwapKitNumber.fromBigInt(BigInt(q)))}}function sU({signer:y,isEIP1559Compatible:T=!0,provider:C,chain:f}){return async function({assetAddress:U,spenderAddress:q,feeOptionKey:X=I.FeeOption.Fast,amount:G,gasLimitFallback:Q,from:Y,nonce:z}){let W=[q,BigInt(G||W0)],_=await y?.getAddress()||Y,B={abi:bf.erc20ABI,contractAddress:U,funcName:"approve",funcParams:W,signer:y,txOverrides:{from:_}};if(Kf(C)){let D=kf({chain:f,provider:C}),R=lf(C),J=await D(B);return R(J)}return w1({chain:f,isEIP1559Compatible:T,provider:C,signer:y})({...B,feeOption:X,funcParams:W,txOverrides:{from:_,gasLimit:Q?BigInt(Q.toString()):void 0,nonce:z}})}}function eU({signer:y,isEIP1559Compatible:T=!0,provider:C}){return async function({assetValue:H,memo:U,recipient:q,feeOptionKey:X=I.FeeOption.Fast,sender:G,...Q}){let{hexlify:Y,toUtf8Bytes:z}=await import("ethers"),W=H.getBaseValue("bigint"),_=H.chain,B=G||await y?.getAddress(),M=nC({chain:_,isEIP1559Compatible:T,provider:C,signer:y});if(!B)throw new I.SwapKitError("toolbox_evm_no_from_address");if(H.isGasAsset){let A={...Q,data:Y(z(U||"")),feeOptionKey:X,from:B,to:q,value:W};return M(A)}if(!uf(H,_))throw new I.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:R,maxPriorityFeePerGas:J,gasPrice:k}=(await wf({chain:_,isEIP1559Compatible:T,provider:C})())[X],O=await B1({chain:_,provider:C,signer:y})({assetValue:H,data:Y(z(U||"")),gasPrice:k,maxFeePerGas:R,maxPriorityFeePerGas:J,memo:U,recipient:q,sender:B});return M(O)}}function $C({provider:y,signer:T}){return function({contractAddress:f,abi:H,funcName:U,funcParams:q=[],txOverrides:X}){if(!f)throw new I.SwapKitError("toolbox_evm_no_contract_address");let G=J0(f,H,y);return T?G.connect(T).getFunction(U).estimateGas(...q,X):G.getFunction(U).estimateGas(...q,X)}}function y8({provider:y,signer:T}){return async function({assetValue:f,recipient:H,memo:U,data:q,sender:X,funcName:G,funcParams:Q,txOverrides:Y}){let z=f.bigIntValue,W=f.isGasAsset?null:uf(f,f.chain);if(W&&G)return $C({provider:y,signer:T})({abi:bf.erc20ABI,contractAddress:W,funcName:G,funcParams:Q,txOverrides:Y});let{hexlify:_,toUtf8Bytes:B}=await import("ethers");return y.estimateGas({data:q?q:U?_(B(U)):void 0,from:X,to:H,value:z})}}function f8({signer:y}){if(!y)return;return(T)=>M1(y,T)}function nC({provider:y,signer:T,isEIP1559Compatible:C=!0,chain:f}){return async function({feeOptionKey:U=I.FeeOption.Fast,...q}){let{from:X,to:G,data:Q,value:Y,...z}=q;if(!T)throw new I.SwapKitError("toolbox_evm_no_signer");if(!G)throw new I.SwapKitError("toolbox_evm_no_to_address");let W={...z,data:Q||"0x",from:X,to:G,value:BigInt(Y||0)};if(Kf(y))return lf(y)(W);let _=X||await T.getAddress(),B=q.nonce||await y.getTransactionCount(_),M=(await y.getNetwork()).chainId,D=$1(W,C);if(D==="eip7702")N1(W.authorizations||[],M);let R=D1.match(D).with("eip7702",()=>4).with("eip1559",()=>2).otherwise(()=>0),J={...W,chainId:M,nonce:B,type:R,...D==="eip7702"&&{authorizationList:W.authorizations}},k=wf({chain:f,isEIP1559Compatible:C,provider:y}),A=D!=="legacy"&&!(W.maxFeePerGas&&W.maxPriorityFeePerGas)||!W.gasPrice?Object.entries((await k())[U]).reduce((L,[w,$])=>({...L,[w]:_0(BigInt($))}),{}):{},Z;try{Z=_0(W.gasLimit||await y.estimateGas(J)*11n/10n)}catch(L){throw new I.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:L})}try{let L={...J,gasLimit:Z,...A};try{return(await T.sendTransaction(L)).hash}catch{let w=await T.signTransaction({...L,from:_});return(await y.broadcastTransaction(w)).hash}}catch(L){throw new I.SwapKitError("toolbox_evm_error_sending_transaction",{error:L})}}}function B1({provider:y,signer:T}){return async function({assetValue:f,memo:H,recipient:U,data:q,sender:X,maxFeePerGas:G,maxPriorityFeePerGas:Q,gasPrice:Y,...z}){let W=f.getBaseValue("bigint"),_=f.chain,B=X||await T?.getAddress();if(!B)throw new I.SwapKitError("toolbox_evm_no_from_address");if(I.isGasAsset(f)){let{hexlify:R,toUtf8Bytes:J}=await import("ethers");return{...z,data:q||R(J(H||"")),from:B,to:U,value:W}}let M=uf(f,_);if(!M)throw new I.SwapKitError("toolbox_evm_no_contract_address");return kf({chain:f.chain,provider:y})({abi:bf.erc20ABI,contractAddress:M,funcName:"transfer",funcParams:[U,W],txOverrides:{from:B,gasPrice:Y,maxFeePerGas:G,maxPriorityFeePerGas:Q}})}}function T8({provider:y,signer:T,chain:C}){return async function({assetAddress:H,spenderAddress:U,amount:q,from:X}){let G=await T?.getAddress()||X,Q=kf({chain:C,provider:y}),Y=["bigint","number"].includes(typeof q)?q:q||W0;return await Q({abi:bf.erc20ABI,contractAddress:H,funcName:"approve",funcParams:[U,BigInt(Y)],txOverrides:{from:G}})}}function H8({provider:y,isEIP1559Compatible:T=!0,chain:C}){return async function({feeOption:H=I.FeeOption.Fast,...U}){let X=await wf({chain:C,isEIP1559Compatible:T,provider:y})(),G=await y.estimateGas(U),Q=I.AssetValue.from({chain:C}),{gasPrice:Y,maxFeePerGas:z,maxPriorityFeePerGas:W}=X[H];if(!T&&Y)return Q.set(I.SwapKitNumber.fromBigInt(Y*G,Q.decimal));if(z&&W){let _=(z+W)*G;return Q.set(I.SwapKitNumber.fromBigInt(_,Q.decimal))}throw new I.SwapKitError("toolbox_evm_no_gas_price")}}var I,bf,Py,D1,W0,iU,dU,k1,rU,c0=(y)=>y.type===4||(y.authorizations?.length??0)>0,F1=(y)=>!c0(y)&&(y.type===2||!!y.maxFeePerGas||!!y.maxPriorityFeePerGas),$1=(y,T=!0)=>{if(c0(y))return"eip7702";if(F1(y)||T)return"eip1559";return"legacy"};var g0=E(()=>{t0();Z0();I=require("@swapkit/helpers"),bf=require("@swapkit/helpers/contracts"),Py=require("ethers"),D1=require("ts-pattern"),W0=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");iU=["payable","nonpayable"];dU=I.EVMChains.reduce((y,T)=>{return y[T]="0x0000000000000000000000000000000000000000",y},{}),k1={...dU,[I.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[I.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},rU=[I.Chain.Arbitrum,I.Chain.Aurora,I.Chain.Base,I.Chain.Optimism]});function i0(y){let T=Jy(Gy.Chain.Ethereum)(y);async function C(f,H="0x5ba1e12693dc8f9c48aad8770482f4739beed696",U="aggregate",q=Gy.FeeOption.Fast){let X=await T.createContractTxObject({abi:OC,contractAddress:H,funcName:U,funcParams:[f]});return T.sendTransaction({...X,feeOptionKey:q})}return{...T,multicall:C}}function Jy(y){return function({provider:C,...f}){let H=A1(y),U=L0.match(f).with({phrase:L0.P.string},({phrase:X})=>xC.HDNodeWallet.fromPhrase(X).connect(C)).with({signer:L0.P.any},({signer:X})=>X).otherwise(()=>{return});return jf({chain:y,isEIP1559Compatible:H,provider:C,signer:U})}}var Gy,xC,L0,d0,r0,a0,s0,e0,yT,fT,IC,TT,HT,CT,UT,qT,XT,z0,GT,QT,_T,ZT;var n1=E(()=>{RC();Z0();g0();Gy=require("@swapkit/helpers"),xC=require("ethers"),L0=require("ts-pattern");d0=Jy(Gy.Chain.Adi),r0=Jy(Gy.Chain.Arbitrum),a0=Jy(Gy.Chain.Aurora),s0=Jy(Gy.Chain.Avalanche),e0=Jy(Gy.Chain.Base),yT=Jy(Gy.Chain.Berachain),fT=Jy(Gy.Chain.BinanceSmartChain),IC=Jy(Gy.Chain.Botanix),TT=Jy(Gy.Chain.Core),HT=Jy(Gy.Chain.Corn),CT=Jy(Gy.Chain.Cronos),UT=Jy(Gy.Chain.Gnosis),qT=Jy(Gy.Chain.Hyperevm),XT=Jy(Gy.Chain.Polygon),z0=Jy(Gy.Chain.Sonic),GT=Jy(Gy.Chain.Unichain),QT=Jy(Gy.Chain.XLayer),_T=Jy(Gy.Chain.Monad),ZT=Jy(Gy.Chain.MegaETH)});var SC;var oC=E(()=>{SC=[{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 x1(y){return new WT.Contract(U8,SC,y)}function PC(y){return async function(){let C=x1(y);if(C&&"l1BaseFee"in C)return await C?.l1BaseFee();return}}function VC(y){return async function({from:C,to:f,nonce:H,...U}){let{Transaction:q}=await import("ethers");if(!f)throw new Qy.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 EC(y){return async function(C){let f=x1(y),H=await VC(y)(C);if(f&&"getL1Fee"in f)return f.getL1Fee(H)}}function vC(y){return async function(C){let H=(await y.getFeeData()).gasPrice??0n,U=await y.estimateGas(C);return H*U}}function q8(y){return async function(C){let f=await EC(y)(C)??0n,H=await vC(y)(C);return f+H}}function X8(y){return async function(C){let f=x1(y),H=await VC(y)(C);if(f&&"getL1GasUsed"in f)return f.getL1GasUsed(H)}}function G8(y){return async function(){try{let{maxFeePerGas:C,maxPriorityFeePerGas:f,gasPrice:H}=await y.getFeeData(),U=await PC(y)(),q=H;if(!(C&&f))throw new Qy.SwapKitError("toolbox_evm_no_fee_data");return{[Qy.FeeOption.Average]:{gasPrice:q,l1GasPrice:U,maxFeePerGas:C,maxPriorityFeePerGas:f},[Qy.FeeOption.Fast]:{gasPrice:Qy.applyFeeMultiplierToBigInt(q,Qy.FeeOption.Fast),l1GasPrice:Qy.applyFeeMultiplierToBigInt(U||0n,Qy.FeeOption.Fast),maxFeePerGas:C,maxPriorityFeePerGas:Qy.applyFeeMultiplierToBigInt(f,Qy.FeeOption.Fast)},[Qy.FeeOption.Fastest]:{gasPrice:Qy.applyFeeMultiplierToBigInt(q,Qy.FeeOption.Fastest),l1GasPrice:Qy.applyFeeMultiplierToBigInt(U||0n,Qy.FeeOption.Fastest),maxFeePerGas:C,maxPriorityFeePerGas:Qy.applyFeeMultiplierToBigInt(f,Qy.FeeOption.Fastest)}}}catch(C){throw new Qy.SwapKitError("toolbox_evm_gas_estimation_error",{error:C.msg??C.toString()})}}}function YT({provider:y,...T}){let C=A0.match(T).with({phrase:A0.P.string},({phrase:U})=>WT.HDNodeWallet.fromPhrase(U).connect(y)).with({signer:A0.P.any},({signer:U})=>U).otherwise(()=>{return}),f=jf({provider:y,signer:C}),H=PC(y);return{...f,estimateGasPrices:G8(y),estimateL1Gas:X8(y),estimateL1GasCost:EC(y),estimateL2GasCost:vC(y),estimateTotalGasCost:q8(y),getBalance:Q0(Qy.Chain.Optimism).getBalance,getL1GasPrice:H}}var Qy,WT,A0,U8="0x420000000000000000000000000000000000000f";var I1=E(()=>{t0();oC();g0();Qy=require("@swapkit/helpers"),WT=require("ethers"),A0=require("ts-pattern")});var jC={};By(jC,{validateEVMAddress:()=>Y0,toChecksumAddress:()=>kC,isStateChangingCall:()=>R1,isEIP7702Transaction:()=>c0,isEIP1559Transaction:()=>F1,isBrowserProvider:()=>Kf,getTokenAddress:()=>uf,getEvmToolboxAsync:()=>bC,getEvmToolbox:()=>S1,getEstimateGasPrices:()=>wf,getEVMTxType:()=>$1,getEIP1193SendTransaction:()=>lf,getCreateContractTxObject:()=>kf,getCreateContract:()=>O1,getChecksumAddressFromAsset:()=>wC,createContract:()=>J0,XLayerToolbox:()=>QT,UNIToolbox:()=>GT,SONICToolbox:()=>z0,OPToolbox:()=>YT,MONADToolbox:()=>_T,MEGAETHToolbox:()=>ZT,MAX_APPROVAL:()=>W0,MATICToolbox:()=>XT,HYPEREVMToolbox:()=>qT,GNOToolbox:()=>UT,ETHToolbox:()=>i0,ContractAddress:()=>k1,CROToolbox:()=>CT,CORNToolbox:()=>HT,COREToolbox:()=>TT,BotanixToolbox:()=>IC,BaseEVMToolbox:()=>jf,BSCToolbox:()=>fT,BERAToolbox:()=>yT,BASEToolbox:()=>e0,AVAXToolbox:()=>s0,AURORAToolbox:()=>a0,ARBToolbox:()=>r0,ADIToolbox:()=>d0});function S1(y,T){return pC.match(y).with(Wy.Chain.Adi,()=>d0(T)).with(Wy.Chain.Arbitrum,()=>r0(T)).with(Wy.Chain.Aurora,()=>a0(T)).with(Wy.Chain.Avalanche,()=>s0(T)).with(Wy.Chain.Base,()=>e0(T)).with(Wy.Chain.Berachain,()=>yT(T)).with(Wy.Chain.BinanceSmartChain,()=>fT(T)).with(Wy.Chain.Botanix,()=>z0(T)).with(Wy.Chain.Core,()=>TT(T)).with(Wy.Chain.Corn,()=>HT(T)).with(Wy.Chain.Cronos,()=>CT(T)).with(Wy.Chain.Ethereum,()=>i0(T)).with(Wy.Chain.Gnosis,()=>UT(T)).with(Wy.Chain.Hyperevm,()=>qT(T)).with(Wy.Chain.Optimism,()=>YT(T)).with(Wy.Chain.Polygon,()=>XT(T)).with(Wy.Chain.Sonic,()=>z0(T)).with(Wy.Chain.Unichain,()=>GT(T)).with(Wy.Chain.XLayer,()=>QT(T)).with(Wy.Chain.Monad,()=>_T(T)).with(Wy.Chain.MegaETH,()=>ZT(T)).exhaustive()}async function bC(y,T){let C={...T,provider:T?.provider||await L1(y)};return S1(y,C)}var Wy,pC;var o1=E(()=>{Z0();n1();I1();Wy=require("@swapkit/helpers"),pC=require("ts-pattern");g0();n1();I1()});var KC;var lC=E(()=>{((C)=>{C.Test="goerli";C.Main="homestead"})(KC||={})});var uC={};By(uC,{validateEVMAddress:()=>Y0,validateAuthorizations:()=>N1,validateAuthorization:()=>BC,toHexString:()=>_0,toChecksumAddress:()=>kC,signAuthorization:()=>M1,parseEIP712FromEVMTx:()=>gU,isStateChangingCall:()=>R1,isEIP7702Transaction:()=>c0,isEIP1559Transaction:()=>F1,isBrowserProvider:()=>Kf,getTokenAddress:()=>uf,getProviderSync:()=>NC,getProvider:()=>L1,getNetworkParams:()=>z1,getIsEIP1559Compatible:()=>A1,getEvmToolboxAsync:()=>bC,getEvmToolbox:()=>S1,getEvmApi:()=>Q0,getEstimateGasPrices:()=>wf,getEVMTxType:()=>$1,getEIP1193SendTransaction:()=>lf,getCreateContractTxObject:()=>kf,getCreateContract:()=>O1,getChecksumAddressFromAsset:()=>wC,createCustomEvmApi:()=>mU,createContract:()=>J0,buildEIP712DomainType:()=>DC,XLayerToolbox:()=>QT,UNIToolbox:()=>GT,SONICToolbox:()=>z0,OPToolbox:()=>YT,MONADToolbox:()=>_T,MEGAETHToolbox:()=>ZT,MAX_APPROVAL:()=>W0,MATICToolbox:()=>XT,HYPEREVMToolbox:()=>qT,GNOToolbox:()=>UT,EthNetwork:()=>KC,ETHToolbox:()=>i0,ContractAddress:()=>k1,CROToolbox:()=>CT,CORNToolbox:()=>HT,COREToolbox:()=>TT,BotanixToolbox:()=>IC,BaseEVMToolbox:()=>jf,BSCToolbox:()=>fT,BERAToolbox:()=>yT,BASEToolbox:()=>e0,AVAXToolbox:()=>s0,AURORAToolbox:()=>a0,ARBToolbox:()=>r0,ADIToolbox:()=>d0});module.exports=ky(uC);var P1=E(()=>{t0();Z0();o1();lC()});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 _8(){return(await E1("/blocks/latest")).slot}async function Z8(){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 mC(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 W8(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 Y8(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}=_y.getChainConfig(_y.Chain.Cardano);if(C>0n)H.push(_y.AssetValue.from({chain:_y.Chain.Cardano,fromBaseDecimal:U,value:C.toString()}));for(let[q,X]of f)H.push(_y.AssetValue.from({asset:`${_y.Chain.Cardano}.${q}`,value:X.toString()}));if(H.length===0)return[_y.AssetValue.from({chain:_y.Chain.Cardano})];return H}catch(T){let C=T instanceof Error?T.message:String(T);return console.error(`Cardano balance fetch error: ${C}`),[_y.AssetValue.from({chain:_y.Chain.Cardano})]}}function sC(y){if(!y||typeof y!=="string")return!1;try{let T=tC.bech32.decode(y,120);return T.prefix==="addr"||T.prefix==="addr_test"}catch{return!1}}async function J8(y,T=0,C=0){let f=cC.mnemonicToEntropy(y,gC.wordlist),U=(await iC.Bip32PrivateKey.fromEntropy(Buffer.from(Array.from(f)))).derive(V1+1852).derive(V1+1815).derive(V1+T),q=U.derive(0).derive(C),X=q.toBip32PublicKey().toPublicKey().toBytes(),G=Fy.crypto.hash28(X),Y=U.derive(2).derive(0).toBip32PublicKey().toPublicKey().toBytes(),z=Fy.crypto.hash28(Y),W={hash:G,type:Fy.types.HashType.ADDRESS},_={hash:z,type:Fy.types.HashType.ADDRESS},M=new Fy.address.BaseAddress(Q8,W,_).getBech32(),D=q.toPrivateKey();return{getAddress:()=>M,publicKey:X,publicKeyHash:G,signTransaction:async(R)=>{try{let J=await import("@stricahq/cbors"),k=Buffer.from(R,"hex"),O=J.Decoder.decode(k),[A,Z,L,w]=O.value,$=J.Encoder.encode(A),F=Fy.crypto.hash32($),n=D.sign(F),S=Z instanceof Map?Z:new Map,N=S.get(hC)||[];N.push([X,n]),S.set(hC,N);let x=[A,S,L,w];return J.Encoder.encode(x).toString("hex")}catch(J){throw new _y.SwapKitError("toolbox_cardano_sign_transaction_failed",{message:String(J)})}}}}function L8(y){let T,C,f;async function H(){if(!f)f=await Z8();return f}async function U(){if(T!==void 0)return T;if(y&&"phrase"in y&&y.phrase){let _=y.index??0;return T=await J8(y.phrase,0,_),T}if(y&&"signer"in y&&y.signer)return T=y.signer,T;return}async function q(){if(C)return C;let _=await U();if(!_)return"";if("getAddress"in _)return C=await _.getAddress(),C;return""}async function X(_){let B=_||await q();if(!B)throw new _y.SwapKitError("core_wallet_connection_not_found");return Y8(B)}async function G(_){if(_)try{let{tx:R}=await Q(_),J=R.getFee();return _y.AssetValue.from({chain:_y.Chain.Cardano,fromBaseDecimal:6,value:J.toString()})}catch{}let B=await H(),M=400,D=B.minFeeB.plus(B.minFeeA.times(M));return _y.AssetValue.from({chain:_y.Chain.Cardano,fromBaseDecimal:6,value:D.toString()})}async function Q({sender:_="",recipient:B,assetValue:M,memo:D,pureLovelaceOnly:R=!1}){let J=_||await q();if(!J)throw new _y.SwapKitError("core_wallet_connection_not_found");let[k,O,A]=await Promise.all([aC(J),_8(),H()]),Z=k.filter((v)=>R?v.amount.every((t)=>t.unit==="lovelace"):v.amount.some((t)=>t.unit==="lovelace")).sort((v,t)=>{let Cy=v.amount.some((Xy)=>Xy.unit!=="lovelace"),Ay=t.amount.some((Xy)=>Xy.unit!=="lovelace");if(Cy===Ay)return 0;return Cy?1:-1}),L=Fy.utils.getAddressFromString(J),w=Fy.utils.getAddressFromString(B),$=W8(Z,L),F=new Vy.default(M.getBaseValue("string")),n=[{address:w,amount:F,tokens:[]}],S;if(D){let v=new Map;v.set("msg",[D]),S={metadata:[{data:v,label:674}]}}let N={...A,minFeeB:A.minFeeB.plus(A.minFeeA.times(4))},o=new Fy.Transaction({protocolParams:N}).paymentTransaction({auxiliaryData:S,changeAddress:L,inputs:$,outputs:n,ttl:O+3600}),{payload:u}=o.buildTransaction();return{tx:o,unsignedTx:u}}async function Y(_){let B=await U();if(!B||!("signTransaction"in B))throw new _y.SwapKitError("core_wallet_connection_not_found");return B.signTransaction(_)}async function z({recipient:_,assetValue:B,memo:M}){let D=await U();if(!D||!("signTransaction"in D))throw new _y.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:R}=await Q({assetValue:B,memo:M,recipient:_,sender:await q()}),J=await Y(R);return await mC(J)}async function W(_){let B=await Y(_);return await mC(B)}return{createTransaction:Q,estimateTransactionFee:G,getAddress:q,getBalance:X,signAndBroadcastTransaction:W,signTransaction:Y,transfer:z,validateAddress:sC}}var tC,cC,gC,iC,Fy,_y,Vy,dC="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS",rC="https://cardano-mainnet.blockfrost.io/api/v0",Q8,V1=2147483648,hC=0;var eC=E(()=>{tC=require("@scure/base"),cC=require("@scure/bip39"),gC=require("@scure/bip39/wordlists/english.js"),iC=require("@stricahq/bip32ed25519"),Fy=require("@stricahq/typhonjs"),_y=require("@swapkit/helpers"),Vy=Q1(require("bignumber.js")),Q8=Fy.types.NetworkId.MAINNET});var v1={};By(v1,{validateCardanoAddress:()=>sC,getCardanoToolbox:()=>L8});module.exports=ky(v1);var p1=E(()=>{eC()});function M0(y){return iy.base64.encode(Uint8Array.from(iy.bech32.fromWords(iy.bech32.decode(y).words)))}function N0(y,T="thor"){return iy.bech32.encode(T,iy.bech32.toWords(iy.base64.decode(y)))}function z8(y){return iy.base64.encode(y)}function A8(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 b1=E(()=>{iy=require("@scure/base"),y5=require("@swapkit/helpers")});function ey(y){switch(y){case l.Chain.Maya:return{amount:[],gas:"10000000000"};case l.Chain.THORChain:return{amount:[],gas:"500000000"};case l.Chain.Kujira:return H5;case l.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 Ff(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 l.getRPCUrl(X),z=await(await yf(Q)).getAccount(y);if(!z)throw new l.SwapKitError("toolbox_cosmos_account_not_found",{sender:y});let W=l.AssetValue.from({chain:X}),_=Xf(W.symbol),B=ey(X),M=_&&H?{amount:[{amount:H.toString(),denom:_}],gas:B.gas}:B,D={amount:[{amount:C.getBaseValue("string"),denom:Xf(C.symbol)}],fromAddress:y,toAddress:T};return{accountNumber:q??Number(z.accountNumber),chainId:G,fee:M,memo:f,msgs:[{typeUrl:M8(X),value:D}],sequence:U??z.sequence}}var l,j1="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",f5="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",T5,H5,C5,Xf=(y,T=!1)=>{if(T)return y.toLowerCase();switch(y){case"uUSK":case"USK":return j1;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}},B0=({symbol:y,chain:T})=>{if(T===l.Chain.Maya)return(y.toUpperCase()!=="CACAO"?y:`${l.Chain.Maya}.${y}`).toUpperCase();if(T===l.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(y.toUpperCase())?`${l.Chain.THORChain}.${y}`:y).toUpperCase();return Xf(y,!1)},M8=(y)=>{switch(y){case l.Chain.Maya:case l.Chain.THORChain:return"/types.MsgSend";case l.Chain.Cosmos:case l.Chain.Kujira:case l.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new l.SwapKitError("toolbox_cosmos_not_supported",{chain:y})}},N8,u1=(y,T)=>{let C=N8[y.toLowerCase()];if(!C)return l.AssetValue.from({asset:y,fromBaseDecimal:8,value:T});let{chain:f,asset:H,decimals:U}=C,q=f?{chain:f}:{asset:H};return l.AssetValue.from({...q,fromBaseDecimal:U,value:T})};var D0=E(()=>{l=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"};N8={atom:{chain:l.Chain.Cosmos,decimals:l.getChainConfig(l.Chain.Cosmos).baseDecimal},cacao:{chain:l.Chain.Maya,decimals:10},kuji:{chain:l.Chain.Kujira,decimals:l.getChainConfig(l.Chain.Kujira).baseDecimal},maya:{asset:`${l.Chain.Maya}.${l.Chain.Maya}`,decimals:4},rune:{chain:l.Chain.THORChain,decimals:l.getChainConfig(l.Chain.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:l.getChainConfig(l.Chain.THORChain).baseDecimal},uatom:{chain:l.Chain.Cosmos,decimals:l.getChainConfig(l.Chain.Cosmos).baseDecimal},ukuji:{chain:l.Chain.Kujira,decimals:l.getChainConfig(l.Chain.Kujira).baseDecimal},usdc:{chain:l.Chain.Noble,decimals:l.getChainConfig(l.Chain.Noble).baseDecimal},uusdc:{chain:l.Chain.Noble,decimals:l.getChainConfig(l.Chain.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:l.getChainConfig(l.Chain.THORChain).baseDecimal},[j1.toLowerCase()]:{asset:`${l.Chain.Kujira}.USK`,decimals:l.getChainConfig(l.Chain.Kujira).baseDecimal}}});var U5={};By(U5,{$root:()=>V});var Dy,h,vy,j,V;var q5=E(()=>{Dy=Q1(require("protobufjs/minimal.js")),h=Dy.default.Reader,vy=Dy.default.Writer,j=Dy.default.util,V=Dy.default.roots.default||(Dy.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(!j.isString(f.chain))return"chain: string expected"}if(f.symbol!=null&&f.hasOwnProperty("symbol")){if(!j.isString(f.symbol))return"symbol: string expected"}if(f.ticker!=null&&f.hasOwnProperty("ticker")){if(!j.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,Dy.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=j.Long?j.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(!j.isString(f.amount))return"amount: string expected"}if(f.decimals!=null&&f.hasOwnProperty("decimals")){if(!j.isInteger(f.decimals)&&!(f.decimals&&j.isInteger(f.decimals.low)&&j.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(j.Long)(H.decimals=j.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 j.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="",j.Long){let q=new j.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?j.Long.prototype.toString.call(f.decimals):H.longs===Number?new j.LongBits(f.decimals.low>>>0,f.decimals.high>>>0).toNumber():f.decimals;return U},T.prototype.toJSON=function(){return this.constructor.toObject(this,Dy.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(!j.isString(f.secp256k1))return"secp256k1: string expected"}if(f.ed25519!=null&&f.hasOwnProperty("ed25519")){if(!j.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,Dy.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=j.emptyArray,T.prototype.gas=j.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(!j.isString(f.id))return"id: string expected"}if(f.chain!=null&&f.hasOwnProperty("chain")){if(!j.isString(f.chain))return"chain: string expected"}if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress")){if(!j.isString(f.fromAddress))return"fromAddress: string expected"}if(f.toAddress!=null&&f.hasOwnProperty("toAddress")){if(!j.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(!j.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,Dy.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=j.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(!j.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,Dy.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(!j.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,Dy.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=j.emptyArray,T.prototype.memo="",T.prototype.signer=j.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(!j.isString(f.memo))return"memo: string expected"}if(f.signer!=null&&f.hasOwnProperty("signer")){if(!(f.signer&&typeof f.signer.length==="number"||j.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")j.base64.decode(f.signer,H.signer=j.newBuffer(j.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=j.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?j.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,Dy.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=j.newBuffer([]),T.prototype.toAddress=j.newBuffer([]),T.prototype.amount=j.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"||j.isString(f.fromAddress)))return"fromAddress: buffer expected"}if(f.toAddress!=null&&f.hasOwnProperty("toAddress")){if(!(f.toAddress&&typeof f.toAddress.length==="number"||j.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")j.base64.decode(f.fromAddress,H.fromAddress=j.newBuffer(j.base64.length(f.fromAddress)),0);else if(f.fromAddress.length)H.fromAddress=f.fromAddress}if(f.toAddress!=null){if(typeof f.toAddress==="string")j.base64.decode(f.toAddress,H.toAddress=j.newBuffer(j.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=j.newBuffer(U.fromAddress);if(H.bytes===String)U.toAddress="";else if(U.toAddress=[],H.bytes!==Array)U.toAddress=j.newBuffer(U.toAddress)}if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress"))U.fromAddress=H.bytes===String?j.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?j.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,Dy.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(!j.isString(U.denom))return"denom: string expected"}if(U.amount!=null&&U.hasOwnProperty("amount")){if(!j.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,Dy.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(!j.isString(U.denom))return"denom: string expected"}if(U.amount!=null&&U.hasOwnProperty("amount")){if(!j.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,Dy.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(!j.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,Dy.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(!j.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,Dy.default.util.toJSONOptions)},f})(),C})(),T})(),y})()});async function $f(){let{$root:y}=await Promise.resolve().then(() => (q5(),U5)),T=await import("@cosmjs/proto-signing"),C=T.Registry??T.default?.Registry,f=await import("@cosmjs/stargate"),H=f.defaultRegistryTypes??f.default?.defaultRegistryTypes;return new C([...H,["/types.MsgSend",y.types.MsgSend],["/types.MsgDeposit",y.types.MsgDeposit]])}async function Gf(y){let T=await import("@cosmjs/stargate"),C=T.AminoTypes??T.default?.AminoTypes,f=y===X5.Chain.THORChain?"thorchain":"mayachain";return new C({"/types.MsgDeposit":{aminoType:`${f}/MsgDeposit`,fromAmino:({signer:H,...U})=>({...U,signer:M0(H)}),toAmino:({signer:H,...U})=>({...U,signer:N0(H)})},"/types.MsgSend":{aminoType:`${f}/MsgSend`,fromAmino:({from_address:H,to_address:U,...q})=>({...q,fromAddress:M0(H),toAddress:M0(U)}),toAmino:({fromAddress:H,toAddress:U,...q})=>({...q,from_address:N0(H),to_address:N0(U)})}})}var X5;var h1=E(()=>{b1();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 $y.getRPCUrl(G),Y=await G5({rpcUrl:Q,sender:y}),{chainId:z}=$y.getChainConfig(G),W=m1({assetValue:C,recipient:T,sender:y}),_=H?await Qf(U?W:_f(W),G):W;return{accountNumber:X||Number(Y.accountNumber),chainId:z,fee:ey(G),memo:f,msgs:[_],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 $y.getRPCUrl(X),Q=await G5({rpcUrl:G,sender:y}),{chainId:Y}=$y.getChainConfig(X),z=t1({assetValue:T,memo:C,sender:y}),W=f?await Qf(H?z:_f(z),X):z;return{accountNumber:q||Number(Q.accountNumber),chainId:Y,fee:ey(X),memo:C,msgs:[W],sequence:U||Q.sequence}}function _f(y){if(y.type==="thorchain/MsgSend"||y.type==="mayachain/MsgSend")return y;return{...y,value:{...y.value,coins:y.value.coins.map((T)=>{let C=$y.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 O0({chain:y,memo:T,msgs:C}){let f=await $f(),H=await Gf(y),U={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:T,messages:C.map((q)=>H.fromAmino(q))}};return f.encode(U)}var $y,B8,D8,m1=({sender:y,recipient:T,assetValue:C})=>{return{type:`${C.chain===$y.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:C.getBaseValue("string"),denom:Xf(C.symbol,!0)}],from_address:y,to_address:T}}},t1=({sender:y,assetValue:T,memo:C=""})=>{return{type:`${T.chain===$y.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:T.getBaseValue("string"),asset:B0(T)}],memo:C,signer:y}}},JT=({sender:y,recipient:T,assetValue:C,memo:f})=>{return!T?t1({assetValue:C,memo:f,sender:y}):m1({assetValue:C,recipient:T,sender:y})},Qf=async(y,T)=>{return(await Gf(T)).fromAmino(y)},G5=async({rpcUrl:y,sender:T})=>{let f=await(await yf(y)).getAccount(T);if(!f)throw new $y.SwapKitError("toolbox_cosmos_account_not_found",{sender:T});return f};var Z5=E(()=>{D0();h1();$y=require("@swapkit/helpers"),B8=ey($y.Chain.THORChain).gas,D8=ey($y.Chain.Maya).gas});var W5=()=>{};var Y5=E(()=>{W5()});var g1=E(()=>{b1();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="derivationPath"in C?C.derivationPath:`${p.DerivationPath[C.chain]}/${C.index}`;return await M5.DirectSecp256k1HdWallet.fromMnemonic(y,{hdPaths:[A5.stringToPath(f)],prefix:T})}async function O8({privateKey:y,prefix:T}){let C=await import("@cosmjs/proto-signing");return(C.DirectSecp256k1Wallet??C.default?.DirectSecp256k1Wallet).fromKey(y,T)}function N5(y){return async function({signature:C,message:f,address:H}){let U=await y(H);if(!U?.pubkey)throw new p.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let q=await import("@cosmjs/crypto"),X=q.Secp256k1Signature??q.default?.Secp256k1Signature,G=q.Secp256k1??q.default?.Secp256k1,Q=X.fromFixedLength(Zf.base64.decode(C));return G.verifySignature(Q,Zf.base64.decode(f),U.pubkey.value)}}function k0({chain:y,...T}){let C=p.CosmosChainPrefixes[y],f="index"in T?T.index||0:0,H=p.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:p.updateDerivationPath(p.NetworkDerivationPath[y],{index:f})),U;async function q(){if(U)return U;return U=await R0.match(T).with({phrase:R0.P.string},({phrase:_})=>i1({derivationPath:H,phrase:_,prefix:C})).with({signer:R0.P.any},({signer:_})=>_).otherwise(()=>{return}),U}async function X(_){let B=await p.getRPCUrl(y);return(await yf(B)).getAccount(_)}async function G(){let _=await q(),[B]=await _?.getAccounts()||[];return B?.address}async function Q(){let _=await q(),[B]=await _?.getAccounts()||[];if(!B?.pubkey)throw new p.SwapKitError("toolbox_cosmos_signer_not_defined");return Zf.base64.encode(B?.pubkey)}async function Y(_){let B=await q(),M=await G(),D=await p.getRPCUrl(y);if(!(B&&M))throw new p.SwapKitError("toolbox_cosmos_signer_not_defined");return await(await Ff(D,B)).sign(M,_.msgs,_.fee,_.memo,{accountNumber:BigInt(_.accountNumber),chainId:_.chainId,sequence:_.sequence})}async function z(_){let B=await q(),M=await G(),D=await p.getRPCUrl(y);if(!(B&&M))throw new p.SwapKitError("toolbox_cosmos_signer_not_defined");let J=await(await Ff(D,B)).signAndBroadcast(M,_.msgs,_.fee,_.memo);if(J.code!==0)throw new p.SwapKitError("core_swap_transaction_error",{code:J.code,message:J.rawLog});return J.transactionHash}async function W({recipient:_,assetValue:B,memo:M="",feeRate:D,feeOptionKey:R=p.FeeOption.Fast}){let J=await q(),k=await G();if(!(J&&k))throw new p.SwapKitError("toolbox_cosmos_signer_not_defined");let O=await p.getRPCUrl(y),A=p.AssetValue.from({chain:y}),Z=B0(A),L=D||w8((await L5(y,J5[y]))[R],Z),w=await Ff(O,J),$=Xf(B.symbol),F=[{amount:B.getBaseValue("string"),denom:$}],{transactionHash:n}=await w.sendTokens(k,_,F,L,M);return n}return{createPrivateKeyFromPhrase:$8(H),createTransaction:l1,fetchFeeRateFromSwapKit:r1,getAccount:X,getAddress:G,getBalance:async(_,B)=>{let M=await z5(y)(_),D=await Promise.all(M.filter(({denom:R})=>R&&!R.includes("IBC/")&&!([p.Chain.THORChain,p.Chain.Maya].includes(y)&&R.split("-").length>2)).map(({denom:R,amount:J})=>{let k=[p.Chain.THORChain,p.Chain.Maya].includes(y)&&(R.includes("/")||R.includes("˜"))?`${y}.${R}`:R;return u1(k,J)}));if(D.length===0)return[p.AssetValue.from({chain:y})];return D},getBalanceAsDenoms:z5(y),getFees:()=>L5(y,J5[y]),getPubKey:Q,getSignerFromPhrase:({phrase:_,derivationPath:B})=>i1({derivationPath:p.derivationPathToString(B),index:f,phrase:_,prefix:C}),getSignerFromPrivateKey:async(_)=>{let B=await import("@cosmjs/proto-signing");return(B.DirectSecp256k1Wallet??B.default?.DirectSecp256k1Wallet).fromKey(_,C)},signAndBroadcastTransaction:z,signTransaction:Y,transfer:W,validateAddress:B5(y),verifySignature:N5(X)}}async function R8(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 k8({assetValue:{chain:y}}){return p.AssetValue.from({chain:y,value:F8(y)})}async function L5(y,T){let{chainId:C,baseDecimal:f}=p.getChainConfig(y),H=await r1(C,T);return{average:p.SwapKitNumber.fromBigInt(BigInt(H),f),fast:p.SwapKitNumber.fromBigInt(BigInt(p.applyFeeMultiplier(H,p.FeeOption.Fast,!0)),f),fastest:p.SwapKitNumber.fromBigInt(BigInt(p.applyFeeMultiplier(H,p.FeeOption.Fastest,!0)),f)}}function w8(y,T){return{amount:[{amount:y.getBaseValue("string"),denom:T}],gas:"200000"}}function F8(y){return{[p.Chain.Cosmos]:0.007,[p.Chain.Kujira]:0.02,[p.Chain.Noble]:0.01,[p.Chain.THORChain]:0.02,[p.Chain.Maya]:0.02,[p.Chain.Harbor]:0.02}[y]||0}function B5(y){let T=p.CosmosChainPrefixes[y];return function(f){if(!f.startsWith(T))return!1;try{let{prefix:H,words:U}=Zf.bech32.decode(f);return Zf.bech32.encode(H,U)===f.toLocaleLowerCase()}catch{return!1}}}function z5(y){return async function(C){let f=await p.getRPCUrl(y);return(await(await yf(f)).getAllBalances(C)).map((X)=>({...X,denom:X.denom.includes("/")?X.denom.toUpperCase():X.denom}))}}function $8(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 A5,M5,Zf,p,d1,R0,J5;var LT=E(()=>{D0();A5=require("@cosmjs/crypto"),M5=require("@cosmjs/proto-signing"),Zf=require("@scure/base"),p=require("@swapkit/helpers"),d1=require("@swapkit/helpers/api"),R0=require("ts-pattern");J5={[p.Chain.Cosmos]:1000,[p.Chain.Kujira]:1000,[p.Chain.Noble]:1000,[p.Chain.THORChain]:5000000,[p.Chain.Maya]:5000000,[p.Chain.Harbor]:5000000}});function n8({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 x8(y){return Wf.base64.encode(y)}function I8(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 Gf(y),W=await $f(),_=await K1(C,{aminoTypes:z,registry:W}),B=[];for(let R of H){let J=await Qf(R,y);B.push(J)}let{signatures:[M]}=await _.sign(Y,B,G,Q,{accountNumber:BigInt(U),chainId:X,sequence:q});return{bodyBytes:await O0({chain:y,memo:Q,msgs:H.map(_f)}),signature:x8(M)}}}function S8({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:W,fee:_}=JSON.parse(f),B=await D5(U,q),M=H.map((J)=>[Y(Q(Wf.base64.decode(J.pubKey)),y),Wf.base64.decode(J.signature)]),D=await yf(G),{transactionHash:R}=await D.broadcastTx(z(B,W,_,X,new Map(M)));return R}}async function D5(y,T,C=!0){let{createMultisigThresholdPubkey:f,encodeSecp256k1Pubkey:H}=(await import("@cosmjs/amino")).default;return f(y.map((U)=>H(Wf.base64.decode(U))),T,C)}function o8(y){return Wf.base64.decode(y)}async function P8({privateKey:y,message:T}){let{Secp256k1:C}=(await import("@cosmjs/crypto")).default,f=await C.createSignature(Wf.base64.decode(T),y);return Wf.base64.encode(Buffer.concat([f.r(32),f.s(32)]))}function a1({chain:y,...T}){let{isStagenet:C}=yy.SKConfig.get("envs"),f=yy.SKConfig.get("thornodeUrls"),H=y===yy.Chain.Maya,U=hf.match({isMayachain:H,isStagenet:C}).with({isMayachain:!0},({isStagenet:J})=>J?f.MAYA_STAGENET:f.MAYA).otherwise(({isStagenet:J})=>J?f.THOR_STAGENET:f.THOR),q=`${C?"s":""}${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=k0({chain:y,...T}),Y=ey(y),z;function W(){return z??=hf.match(T).with({phrase:hf.P.string},({phrase:J})=>Q.getSignerFromPhrase({derivationPath:G,phrase:J})).with({signer:hf.P.any},({signer:J})=>Promise.resolve(J)).otherwise(()=>Promise.resolve(void 0)),z}async function _(){let J=await yy.getRPCUrl(y),k=await W();if(!k)throw new yy.SwapKitError("toolbox_cosmos_no_signer");let O=await $f(),A=await Gf(y),Z=await Ff(J,k,{aminoTypes:A,registry:O});return{signer:k,signingClient:Z}}async function B({fee:J,memo:k,msgs:O}){let{signer:A,signingClient:Z}=await _(),L=(await A.getAccounts())?.[0]?.address;if(!L)throw new yy.SwapKitError("toolbox_cosmos_signer_not_defined");let w=await Z.signAndBroadcast(L,O,J,k);if(w.code!==0)throw new yy.SwapKitError("core_swap_transaction_error",{code:w.code,message:w.rawLog});return w.transactionHash}async function M(){let J,k=`${U}/${H?"mayachain":"thorchain"}/constants`;try{let{int_64_values:{NativeTransactionFee:O}}=await yy.RequestClient.get(k);if(!O||Number.isNaN(O)||O<0)throw new yy.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:O.toString()});J=new yy.SwapKitNumber(O)}catch{J=new yy.SwapKitNumber({decimal:yy.getChainConfig(y).baseDecimal,value:H?1:0.02})}return{[yy.FeeOption.Average]:J,[yy.FeeOption.Fast]:J,[yy.FeeOption.Fastest]:J}}async function D({assetValue:J,memo:k="",recipient:O}){let{TxRaw:A}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),{signer:Z,signingClient:L}=await _(),w=(await Z.getAccounts())?.[0]?.address;if(!w)throw new yy.SwapKitError("toolbox_cosmos_no_signer");let $="signAmino"in Z,F=JT({assetValue:J,memo:k,recipient:O,sender:w});if($){let N=await Qf(F,y),{signatures:x,authInfoBytes:o}=await L.sign(w,[N],Y,k),u=A.encode({authInfoBytes:o,bodyBytes:await O0({chain:y,memo:k,msgs:[F].map(_f)}),signatures:x}).finish();return(await L.broadcastTx(u)).transactionHash}let n=_f(F),S=await Qf(n,y);return B({fee:Y,memo:k,msgs:[S]})}async function R(J){let{signer:k,signingClient:O}=await _(),A=(await k.getAccounts())?.[0]?.address;if(!A)throw new yy.SwapKitError("toolbox_cosmos_signer_not_defined");return O.sign(A,J.msgs,J.fee,J.memo,{accountNumber:BigInt(J.accountNumber),chainId:J.chainId,sequence:J.sequence})}return{...Q,broadcastMultisigTx:S8({chain:y,prefix:q}),buildAminoMsg:JT,buildEncodedTxBody:O0,convertToSignable:Qf,createDefaultAminoTypes:()=>Gf(y),createDefaultRegistry:$f,createMultisig:D5,createTransaction:c1,deposit:D,getFees:M,importSignature:o8,parseAminoMessageForDirectSigning:_f,pubkeyToAddress:async(J)=>{let{pubkeyToAddress:k}=(await import("@cosmjs/amino")).default;return k(J,q)},secp256k1HdWalletFromMnemonic:n8({derivationPath:yy.derivationPathToString(G),prefix:q}),signAndBroadcastTransaction:B,signMultisigTx:I8(y),signTransaction:R,signWithPrivateKey:P8,transfer:D}}var Wf,yy,hf;var s1=E(()=>{g1();D0();LT();Wf=require("@scure/base"),yy=require("@swapkit/helpers"),hf=require("ts-pattern")});var Yf,V8=(y,T)=>{switch(y){case Yf.Chain.Cosmos:case Yf.Chain.Kujira:case Yf.Chain.Noble:return k0({chain:y,...T});case Yf.Chain.Maya:case Yf.Chain.THORChain:return a1({chain:y,...T});default:throw new Yf.SwapKitError("toolbox_cosmos_not_supported",{chain:y})}};var O5=E(()=>{LT();s1();Yf=require("@swapkit/helpers");LT();s1()});var zT={};By(zT,{verifySignature:()=>N5,transferMsgAmino:()=>m1,toBase64:()=>z8,parseAminoMessageForDirectSigning:()=>_f,getSignerFromPrivateKey:()=>O8,getSignerFromPhrase:()=>i1,getMsgSendDenom:()=>Xf,getFeeRateFromSwapKit:()=>R8,getDenomWithChain:()=>B0,getDefaultChainFee:()=>ey,getCosmosToolbox:()=>V8,getCosmosAddressValidator:()=>B5,getAssetFromDenom:()=>u1,fromBase64:()=>A8,fetchFeeRateFromSwapKit:()=>r1,estimateTransactionFee:()=>k8,depositMsgAmino:()=>t1,createTransaction:()=>c1,createThorchainToolbox:()=>a1,createStargateClient:()=>yf,createSigningStargateClient:()=>Ff,createOfflineStargateClient:()=>K1,createDefaultRegistry:()=>$f,createDefaultAminoTypes:()=>Gf,createCosmosToolbox:()=>k0,cosmosCreateTransaction:()=>l1,convertToSignable:()=>Qf,buildTransferTx:()=>Q5,buildEncodedTxBody:()=>O0,buildDepositTx:()=>_5,buildAminoMsg:()=>JT,bech32ToBase64:()=>M0,base64ToBech32:()=>N0,YUM_KUJIRA_FACTORY_DENOM:()=>f5,USK_KUJIRA_FACTORY_DENOM:()=>j1,THORCHAIN_GAS_VALUE:()=>B8,MAYA_GAS_VALUE:()=>D8,DEFAULT_NOBLE_FEE_MAINNET:()=>C5,DEFAULT_KUJI_FEE_MAINNET:()=>H5,DEFAULT_COSMOS_FEE_MAINNET:()=>T5});module.exports=ky(zT);var AT=E(()=>{g1();O5();D0()});function E8({builder:y,grouping:T="na",orders:C}){return{builder:y,grouping:T,orders:C,type:"order"}}function v8({cancels:y}){return{cancels:y,type:"cancel"}}function p8({cancels:y}){return{cancels:y,type:"cancelByCloid"}}function b8({oid:y,order:T}){return{oid:y,order:T,type:"modify"}}function j8({modifies:y}){return{modifies:y,type:"batchModify"}}function K8({asset:y,isCross:T,leverage:C}){return{asset:y,isCross:T,leverage:C,type:"updateLeverage"}}function l8({asset:y,isBuy:T,ntli:C}){return{asset:y,isBuy:T,ntli:C,type:"updateIsolatedMargin"}}function u8({asset:y,leverage:T}){return{asset:y,leverage:T,type:"topUpIsolatedOnlyMargin"}}function h8({time:y}){return{time:y,type:"scheduleCancel"}}function m8({amount:y,hyperliquidChain:T,nonce:C,signatureChainId:f,toPerp:H}){return{amount:y,hyperliquidChain:T,nonce:C,signatureChainId:f,toPerp:H,type:"usdClassTransfer"}}function t8({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 c8({agentAddress:y,agentName:T,hyperliquidChain:C,nonce:f,signatureChainId:H}){return{agentAddress:y,agentName:T,hyperliquidChain:C,nonce:f,signatureChainId:H,type:"approveAgent"}}function g8({builder:y,hyperliquidChain:T,maxFeeRate:C,nonce:f,signatureChainId:H}){return{builder:y,hyperliquidChain:T,maxFeeRate:C,nonce:f,signatureChainId:H,type:"approveBuilderFee"}}function i8({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 Sy(...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 yq(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 Jf(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 R5(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 Sy(new Uint8Array([205]),Jf(y,2));if(y<=0xffffffffn)return Sy(new Uint8Array([206]),Jf(y,4));return Sy(new Uint8Array([207]),Jf(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 Sy(new Uint8Array([209]),Jf(BigInt.asUintN(16,y),2));if(y>=-2147483648n)return Sy(new Uint8Array([210]),Jf(BigInt.asUintN(32,y),4));return Sy(new Uint8Array([211]),Jf(BigInt.asUintN(64,y),8))}function F5(y){let T=e8.encode(y);if(T.length<32)return Sy(new Uint8Array([160+T.length]),T);return Sy(yq(217,0,T.length),T)}function fq(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 Sy(C,...T)}function Tq(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 Sy(C,...T.flatMap(([f,H])=>[F5(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 F5(y);if(typeof y==="number"){if(!Number.isFinite(y)||!Number.isInteger(y))throw new MT.SwapKitError("helpers_invalid_params",{message:"Hyperliquid msgpack only supports integers"});return R5(BigInt(y))}if(typeof y==="bigint")return R5(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 Sy(T,y)}if(Array.isArray(y))return fq(y);if(typeof y==="object")return Tq(y);throw new MT.SwapKitError("helpers_invalid_params",{message:`Unsupported Hyperliquid msgpack value: ${String(y)}`})}function Hq(y){let T=y.startsWith("0x")?y.slice(2):y;if(T.length%2!==0||/[^a-fA-F0-9]/u.test(T))throw new MT.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 $5(y){return{domain:d8,message:{connectionId:y,source:"a"},primaryType:"Agent",types:{Agent:[...r8.Agent]}}}function n5(y){let T=s8[y.type],C=a8[y.type],{type:f,...H}=y;return{domain:{chainId:Number.parseInt(H.signatureChainId||"0xa4b1",16),name:"HyperliquidSignTransaction",verifyingContract:k5,version:"1"},message:{...H,hyperliquidChain:H.hyperliquidChain||w5},primaryType:T,types:{[T]:C}}}function x5(y){let T=NT.Signature.from(y);return{r:T.r,s:T.s,v:T.v}}function I5(y,T,{expiresAfter:C,vaultAddress:f}={}){let H=e1(y),U=Jf(BigInt(T),8),q=f?Sy(new Uint8Array([1]),Hq(f.toLowerCase())):new Uint8Array([0]),X=typeof C==="number"?Sy(new Uint8Array([0]),Jf(BigInt(C),8)):new Uint8Array;return NT.keccak256(Sy(H,U,q,X))}function S5(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 MT,NT,k5="0x0000000000000000000000000000000000000000",d8,r8,w5="Mainnet",a8,s8,e8;var o5=E(()=>{MT=require("@swapkit/helpers"),NT=require("ethers"),d8={chainId:1337,name:"Exchange",verifyingContract:k5,version:"1"},r8={Agent:[{name:"source",type:"string"},{name:"connectionId",type:"bytes32"}]},a8={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"}]},s8={approveAgent:"HyperliquidTransaction:ApproveAgent",approveBuilderFee:"HyperliquidTransaction:ApproveBuilderFee",sendAsset:"HyperliquidTransaction:SendAsset",tokenDelegate:"HyperliquidTransaction:TokenDelegate",usdClassTransfer:"HyperliquidTransaction:UsdClassTransfer"},e8=new TextEncoder});function jy(y,T){if(!TH(y))throw new Ty.SwapKitError(T,{address:y});return y.toLowerCase()}async function nf(y){let T=await BT();return Ty.RequestClient.post(`${T}/info`,{json:y})}function _q({dex:y,user:T}){return nf({...y?{dex:y}:{},type:"clearinghouseState",user:jy(T,"helpers_invalid_params")})}function Zq({user:y}){return nf({type:"spotClearinghouseState",user:jy(y,"helpers_invalid_params")})}function Wq({dex:y,user:T}){return nf({...y?{dex:y}:{},type:"openOrders",user:jy(T,"helpers_invalid_params")})}function Yq({dex:y,user:T}){return nf({...y?{dex:y}:{},type:"frontendOpenOrders",user:jy(T,"helpers_invalid_params")})}function Jq({oidOrCloid:y,user:T}){return nf({oid:y,type:"orderStatus",user:jy(T,"helpers_invalid_params")})}function Lq({aggregateByTime:y,user:T}){return nf({...typeof y==="boolean"?{aggregateByTime:y}:{},type:"userFills",user:jy(T,"helpers_invalid_params")})}function zq({aggregateByTime:y,endTime:T,startTime:C,user:f}){return nf({...typeof y==="boolean"?{aggregateByTime:y}:{},...typeof T==="number"?{endTime:T}:{},startTime:C,type:"userFillsByTime",user:jy(f,"helpers_invalid_params")})}function P5({coin:y,token:T,value:C,spotMeta:f}){if(!C||Number(C)<=0)return null;let H=y?.toUpperCase()||`TOKEN-${T||"UNKNOWN"}`,U=Cq[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 Ty.AssetValue({decimal:U,identifier:X,value:C})}function Aq(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=Ty.AssetValue.from({chain:dy,value:0});T.set(C.toString({includeSynthProtocol:!0}),C)}return[...T.values()]}async function BT(){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 fH(){return`${await BT()}/exchange`}function Mq(y){let T=Qq[y.type],{type:C,...f}=y,H=Gq[C];return{domain:{chainId:Number.parseInt(y.signatureChainId,16),name:"HyperliquidSignTransaction",verifyingContract:Xq,version:"1"},message:f,primaryType:T,types:{[T]:H}}}async function p5({action:y,expiresAfter:T,nonce:C,vaultAddress:f}){let H=C||Date.now(),U=f?jy(f,"helpers_invalid_params"):void 0,q=await fH(),X=I5(y,H,{expiresAfter:T,vaultAddress:U});return{action:y,endpoint:q,expiresAfter:T,nonce:H,typedData:$5(X),vaultAddress:U}}async function b5({action:y,nonce:T,signatureChainId:C}){let f=T||y.nonce||Date.now(),H=C||y.signatureChainId||"0xa4b1",U=S5({...y,nonce:f,signatureChainId:H});return{action:U,endpoint:await fH(),nonce:f,typedData:n5(U)}}async function yH({assetValue:y,recipient:T,sender:C,signatureChainId:f,time:H}){let U=jy(T,"core_transaction_invalid_recipient_address"),q=jy(C,"core_transaction_invalid_sender_address"),X=await fH(),G=y.getValue("string"),Q=H||Date.now(),Y=y.address;if(!Y)throw new Ty.SwapKitError("helpers_invalid_params",{asset:y.toString(),from:q});let z={amount:G,destination:U,hyperliquidChain:Uq,signatureChainId:f||qq,time:Q,token:Y,type:"spotSend"};return{action:z,endpoint:X,nonce:Q,typedData:Mq(z)}}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 Nq(y,T){let C=await BT(),f=T-5000;for(let H=0;H<5;H++){if(H>0)await new Promise((U)=>setTimeout(U,1000));try{let U=await Ty.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")&&Y0(y)}function Bq(y){let T=Iy(dy),C=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:C})),H,U=!1;function q(){if(U)return H;return H=mf.match(y).with({phrase:mf.P.string},({phrase:W})=>{return E5.HDNodeWallet.fromPhrase(W,void 0,f)}).with({signer:mf.P.not(mf.P.nullish)},({signer:W})=>W).otherwise(()=>{return}),U=!0,H}async function X(){let W=q();return W?await W.getAddress():""}async function G(W){let _=q();if(!_)throw new Ty.SwapKitError("toolbox_hypercore_no_signer");let B=await _.signTypedData(W.typedData.domain,W.typedData.types,W.typedData.message);return{action:W.action,endpoint:W.endpoint,nonce:W.nonce,signature:x5(B),..."expiresAfter"in W?{expiresAfter:W.expiresAfter}:{},..."vaultAddress"in W?{vaultAddress:W.vaultAddress}:{}}}async function Q(W){let _=jy(W,"helpers_invalid_params");try{let B=await BT(),[M,D,R]=await Promise.all([Ty.RequestClient.post(`${B}/info`,{json:{type:"spotClearinghouseState",user:_}}),Ty.RequestClient.post(`${B}/info`,{json:{type:"clearinghouseState",user:_}}),Ty.RequestClient.post(`${B}/info`,{json:{type:"spotMeta"}})]),J=(M.spotState?.balances||M.balances||[]).map(({coin:O,token:A,total:Z})=>P5({coin:O,spotMeta:R,token:A,value:Z})).filter((O)=>!!O),k=P5({coin:"USDC",spotMeta:R,value:D.withdrawable||D.marginSummary?.accountValue||D.marginSummary?.totalRawUsd});return Aq(k?[...J,k]:J)}catch{return T(_)}}async function Y(W){let _=q();if(!_)throw new Ty.SwapKitError("toolbox_hypercore_no_signer");let B=W.sender||await _.getAddress(),M=await yH({...W,feeRate:0,sender:B}),D=await G(M);return await V5(D),Nq(B,M.nonce)}function z(){return Ty.AssetValue.from({chain:dy,value:0})}return{broadcastTransaction:V5,createL1ActionRequest:p5,createTransaction:yH,createUserSignedActionRequest:b5,estimateTransactionFee:z,getAddress:X,getBalance:Q,getState:{clearinghouse:_q,frontendOpenOrders:Yq,openOrders:Wq,orderStatus:Jq,spotClearinghouse:Zq,userFills:Lq,userFillsByTime:zq},signTransaction:G,transfer:Y,validateAddress:TH}}var Ty,E5,mf,dy,v5,Cq,Uq="Mainnet",qq="0xa4b1",Xq="0x0000000000000000000000000000000000000000",Gq,Qq;var j5=E(()=>{P1();sy();o5();Ty=require("@swapkit/helpers"),E5=require("ethers"),mf=require("ts-pattern"),dy=Ty.Chain.Hype,{baseDecimal:v5}=Ty.getChainConfig(dy),Cq={HYPE:v5,USDC:6,USDT:6},Gq={spotSend:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"time",type:"uint64"}]},Qq={spotSend:"HyperliquidTransaction:SpotSend"}});var HH={};By(HH,{validateHyperCoreAddress:()=>TH,getHyperCoreToolbox:()=>Bq,createUserSignedActionRequest:()=>b5,createTransaction:()=>yH,createL1ActionRequest:()=>p5,buildUsdClassTransferAction:()=>m8,buildUpdateLeverageAction:()=>K8,buildUpdateIsolatedMarginAction:()=>l8,buildTopUpIsolatedOnlyMarginAction:()=>u8,buildTokenDelegateAction:()=>i8,buildSendAssetAction:()=>t8,buildScheduleCancelAction:()=>h8,buildOrderAction:()=>E8,buildModifyAction:()=>b8,buildCancelByCloidAction:()=>p8,buildCancelAction:()=>v8,buildBatchModifyAction:()=>j8,buildApproveBuilderFeeAction:()=>g8,buildApproveAgentAction:()=>c8});module.exports=ky(HH);var CH=E(()=>{j5()});async function u5(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 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 Dq(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}=a.getChainConfig(a.Chain.Solana),q=await T.getBalance(H),X=[a.AssetValue.from({chain:a.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,W=Y.tokenAmount.amount;if(Number(W)===0)continue;let _=await u5(z),B=_?.symbol||"UNKNOWN",M=_?.decimals||Y.tokenAmount.decimals;X.push(a.AssetValue.from({asset:`${a.Chain.Solana}.${B}-${z}`,fromBaseDecimal:M,value:W}))}return X}function qH(y){try{let T=new Tf.PublicKey(y);return Tf.PublicKey.isOnCurve(T.toBytes())}catch{return!1}}function Oq(y){let T=y&&"index"in y?y.index||0:0,C=a.derivationPathToString(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:a.updateDerivationPath(a.NetworkDerivationPath[a.Chain.Solana],{index:T})),f;async function H(){if(f)return f;return f=await w0.match(y).with({phrase:w0.P.string},({phrase:q})=>UH({derivationPath:C,phrase:q})).with({signer:w0.P.any},({signer:q})=>q).otherwise(()=>{return}),f}async function U(){let q=await H();return q?.publicKey?l5(q.publicKey):""}return{broadcastTransaction:DT(ff),createKeysForPath:UH,createTransaction:XH(ff),createTransactionFromInstructions:Fq,estimateTransactionFee:Rq(ff),getAddress:U,getAddressFromPubKey:l5,getBalance:Iy(a.Chain.Solana),getBalanceFromRPC:Dq,getConnection:ff,getPubkeyFromAddress:(q)=>new Tf.PublicKey(q),signAndBroadcastTransaction:async(q)=>{let X=await K5(ff,H)(q);return DT(ff)(X)},signTransaction:K5(ff,H),transfer:$q(ff,H),validateAddress:qH}}function Rq(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 a.SwapKitError("toolbox_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:Y}=a.getChainConfig(a.Chain.Solana);return a.AssetValue.from({chain:a.Chain.Solana,fromBaseDecimal:Y,value:Q.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:(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 kq(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 wq({amount:T.getBaseValue("number"),connection:U,decimals:T.decimal,from:q,isProgramDerivedAddress:H,recipient:C,tokenAddress:T.address});return}}async function wq({tokenAddress:y,recipient:T,from:C,connection:f,amount:H,decimals:U,isProgramDerivedAddress:q}){let{getAssociatedTokenAddress:X,getAccount:G,createAssociatedTokenAccountInstruction:Q,createTransferCheckedInstruction:Y}=await import("@solana/spl-token"),{Transaction:z}=await import("@solana/web3.js"),W=new z,_=new Tf.PublicKey(y),B=await X(_,C),M=new Tf.PublicKey(T),D=await X(_,M,q),R=!1;try{await G(f,D),R=!0}catch{}if(!R)W.add(Q(C,D,M,_));return W.add(Y(B,_,D,C,H,U)),W}function 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 a.SwapKitError("core_transaction_invalid_recipient_address");let G=await y(),Q=await kq(y)({assetValue:C,isProgramDerivedAddress:H,recipient:T,sender:U});if(!Q)throw new a.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 Fq({instructions:y}){let{Transaction:T}=await import("@solana/web3.js"),C=new T().add(...y);if(!C)throw new a.SwapKitError("core_transaction_invalid_sender_address");return C}function $q(y,T){return async({recipient:C,assetValue:f,memo:H,isProgramDerivedAddress:U})=>{let q=await T();if(!q)throw new a.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 DT(y)(Q)}return G.sign(q),DT(y)(G)}}function DT(y){return async(T)=>{return(await y()).sendRawTransaction(T.serialize())}}function K5(y,T){return async(C)=>{let f=await T();if(!f)throw new a.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=a.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 l5(y){return y.toString()}var Tf,a,w0;var h5=E(()=>{sy();Tf=require("@solana/web3.js"),a=require("@swapkit/helpers"),w0=require("ts-pattern")});var GH={};By(GH,{validateSolanaAddress:()=>qH,getSolanaToolbox:()=>Oq,fetchTokenMetaData:()=>u5,createKeysForPath:()=>UH});module.exports=ky(GH);var QH=E(()=>{h5()});function OT(y){if(!y)return!1;return/^0x[0-9a-fA-F]{1,64}$/.test(y)}async function RT({phrase:y,derivationPath:T=g.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 g.SwapKitError("toolbox_starknet_no_signer");let z=q.addHexPrefix(Buffer.from(Y.privateKey).toString("hex")),W=H.starkCurve.grindKey(z),_=q.addHexPrefix(W),B=H.starkCurve.getStarkKey(_),M=X.compile([B,0]);return{address:U.calculateContractAddressFromHash(B,ZH,M,0),privateKey:_,publicKey:B}}async function WH({phrase:y,derivationPath:T=g.DerivationPath.STRK}){let{Account:C,RpcProvider:f}=await import("starknet"),{privateKey:H,address:U}=await RT({derivationPath:T,phrase:y}),q=await g.getRPCUrl(g.Chain.Starknet),X=new f({nodeUrl:q});return new C({address:U,provider:X,signer:H})}function t5(y){let T=g.Chain.Starknet,C=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:C})),H,U,q;async function X(){if(U)return U;let{RpcProvider:A}=await import("starknet"),Z=await g.getRPCUrl(T);return U=new A({nodeUrl:Z}),U}async function G(A){let Z=await X(),L=A||await W();if(!L)return!1;try{return await Z.getClassHashAt(L),!0}catch(w){if(w instanceof Error&&w.message.includes("Contract not found"))return!1;let $=w;if($?.code===20||$?.code===19)return!1;throw w}}async function Q(){let{CallData:A,hash:Z}=await import("starknet"),L=await X(),w=await z();if(!w)throw new g.SwapKitError("toolbox_starknet_no_signer");if(!q)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 G())return w.address;let F=A.compile([q,0]);if(Z.calculateContractAddressFromHash(q,ZH,F,0).toLowerCase()!==w.address.toLowerCase())throw new g.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Address mismatch during deployment verification"}});let S={addressSalt:q,classHash:ZH,constructorCalldata:F},{transaction_hash:N}=await w.deployAccount(S);return await L.waitForTransaction(N),N}async function Y(){if(!await G()){if(!q)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 Q()}}async function z(){if(H)return H;return H=await Ky.match(y).with({phrase:Ky.P.string},async({phrase:A})=>{let{Account:Z,RpcProvider:L}=await import("starknet"),{privateKey:w,address:$,publicKey:F}=await RT({derivationPath:f,phrase:A});q=F;let n=await g.getRPCUrl(g.Chain.Starknet),S=new L({nodeUrl:n});return new Z({address:$,provider:S,signer:w})}).with({address:Ky.P.string,privateKey:Ky.P.string},async({privateKey:A,address:Z})=>{let{Account:L}=await import("starknet"),w=await X();return new L({address:Z,provider:w,signer:A})}).with({signer:Ky.P.instanceOf(Object)},({signer:A})=>A).otherwise(()=>{return}),H}async function W(){return(await z())?.address??""}async function _(A){let Z=await X(),{uint256:L,CallData:w}=await import("starknet"),$=[],F=[_H,m5];for(let n of F)try{let[S="0",N="0"]=await Z.callContract({calldata:w.compile({account:A}),contractAddress:n,entrypoint:"balanceOf"}),x=L.uint256ToBN({high:S,low:N});Ky.match(n).with(_H,()=>{$.push(g.AssetValue.from({chain:T,value:x}))}).with(m5,()=>{if(x>0n)$.push(g.AssetValue.from({asset:`${T}.ETH-${n}`,value:x}))}).otherwise(()=>{})}catch{}return $}async function B({recipient:A,assetValue:Z}){let{CallData:L,uint256:w}=await import("starknet");if(!OT(A))throw new g.SwapKitError("core_transaction_invalid_recipient_address",{address:A});let $=Z.isGasAsset?_H:Z.address;if(!$)throw new g.SwapKitError("toolbox_starknet_invalid_address",{address:$,assetValue:Z});let F=w.bnToUint256(Z.getBaseValue("bigint"));return[{calldata:L.compile([A,F]),contractAddress:$,entrypoint:"transfer"}]}async function M({recipient:A,assetValue:Z,sender:L}){let{baseDecimal:w}=g.getChainConfig(g.Chain.Starknet),$=await z(),F=await Ky.match({sender:L,signer:$}).with({sender:Ky.P.string},async({sender:n})=>{let{Account:S}=await import("starknet"),N=await X();return new S({address:n,provider:N,signer:"0x0"})}).with({signer:Ky.P.nonNullable},({signer:n})=>n).otherwise((n)=>{throw new g.SwapKitError({errorKey:"toolbox_starknet_fee_estimation_failed",info:{message:"Estimating fee needs a valid sender address or signer",params:n}})});try{let n=await B({assetValue:Z,recipient:A}),S=await F.estimateInvokeFee(n);if(S?.overall_fee)return g.AssetValue.from({chain:T,fromBaseDecimal:w,value:S.overall_fee})}catch(n){throw new g.SwapKitError("toolbox_starknet_fee_estimation_failed",n)}return g.AssetValue.from({chain:T,value:"0.00001"})}async function D({recipient:A,assetValue:Z,memo:L}){let w=await z();if(!w)throw new g.SwapKitError("toolbox_starknet_no_signer");await Y();let $=await B({assetValue:Z,memo:L,recipient:A});return(await w.execute($)).transaction_hash}async function R(A){let Z=await z();if(!Z)throw new g.SwapKitError("toolbox_starknet_no_signer");let L=await Z.signMessage(A);return Array.isArray(L)?L:[L.r.toString(),L.s.toString()]}async function J(A){let Z=await z();if(!Z)throw new g.SwapKitError("toolbox_starknet_no_signer");return await Y(),(await Z.execute(A)).transaction_hash}function k(A){return J(A)}function O(A,Z=!0){try{return Iy(T)(A,Z)}catch{return _(A)}}return{broadcastTransaction:J,createKeysForPath:WH,createTransaction:B,deployAccount:Q,estimateTransactionFee:M,getAddress:W,getBalance:O,getProvider:X,isAccountDeployed:G,signAndBroadcastTransaction:k,signMessage:R,transfer:D,validateAddress:OT}}var g,Ky,_H="0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",m5="0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",ZH="0x01a736d6ed154502257f02b1ccdf4d9d1089f80811cd6acad48e6b6a9d1f2003";var c5=E(()=>{sy();g=require("@swapkit/helpers"),Ky=require("ts-pattern")});var kT={};By(kT,{validateStarknetAddress:()=>OT,starknetCreateKeysForPath:()=>WH,getStarknetToolbox:()=>t5,deriveStarknetKeys:()=>RT});module.exports=ky(kT);var wT=E(()=>{c5()});async function $T(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?$T(y,T,C,f,X,q.nextCursor):X}function nT({coinObjectId:y,digest:T,version:C}){return{digest:T,objectId:y,version:C}}function xq(y,T,C){let f=T.reduce((Q,Y)=>Q+BigInt(Y.balance),0n);if(f<C)throw new fy.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(nT(U)),X=H.slice(1).map((Q)=>y.objectRef(nT(Q)));if(X.length>0)y.mergeCoins(q,X);let[G]=y.splitCoins(q,[C]);return G}function g5(y,T){let C=y.reduce((f,H)=>f+BigInt(H.balance),0n);if(C<T)throw new fy.SwapKitError("toolbox_sui_insufficient_balance",{available:C.toString(),required:T.toString()})}function r5(y){try{return d5.isValidSuiAddress(y)}catch{return!1}}function i5(y){return"signWithIntent"in y}function Iq({provider:y,...T}={}){let C;async function f(){if(C)return C;return C=await F0.match(T).with({phrase:F0.P.string},async({phrase:M})=>{let{Ed25519Keypair:D}=await import("@mysten/sui/keypairs/ed25519");return D.deriveKeypair(M)}).with({signer:F0.P.any},({signer:M})=>M).otherwise(()=>{return}),C}async function H(M=y){let{SuiClient:D}=await import("@mysten/sui/client");return new D({url:M||fy.getRPCUrlSync(fy.Chain.Sui)})}async function U(M){return BigInt(await M.getReferenceGasPrice())}async function q(){return(await f())?.toSuiAddress()||""}function X(M){try{let D=fy.AssetValue.from({address:M,chain:fy.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 fy.SwapKitError("toolbox_sui_address_required");let{baseDecimal:R,chain:J}=fy.getChainConfig(fy.Chain.Sui);try{let O=await(await H()).getAllBalances({owner:D}),A=O.find(({coinType:L})=>L===FT)?.totalBalance||"0",Z=[fy.AssetValue.from({chain:J,fromBaseDecimal:R,value:A})];for(let{coinType:L,totalBalance:w}of O){if(L===FT||Number(w)<=0)continue;let $=X(L);if($)Z.push(fy.AssetValue.from({asset:$.asset,fromBaseDecimal:$.decimals,value:w}))}return Z}catch{return[fy.AssetValue.from({chain:J})]}}async function Q(M){let D=fy.AssetValue.from({chain:fy.Chain.Sui,value:"0.01"});if(!M)return D;try{let R=await H(),{txBytes:J}=await Y(M),{effects:{status:k,gasUsed:O}}=await R.dryRunTransactionBlock({transactionBlock:J});if(k.status!=="success")return D;let{baseDecimal:A}=fy.getChainConfig(fy.Chain.Sui),Z=BigInt(O.computationCost)+BigInt(O.storageCost)-BigInt(O.storageRebate);return fy.AssetValue.from({chain:fy.Chain.Sui,fromBaseDecimal:A,value:Z.toString()})}catch{return D}}async function Y({recipient:M,assetValue:D,gasBudget:R,sender:J}){let{Transaction:k}=await import("@mysten/sui/transactions"),O=J||await q(),A=R||nq;if(!O)throw new fy.SwapKitError("toolbox_sui_no_sender");try{let Z=await H(),L=new k;if(L.setSender(O),D.isGasAsset||D.symbol==="SUI"){let $=D.getBaseValue("bigint"),[F,n]=await Promise.all([U(Z),$T(Z,O,FT,$+BigInt(A))]);g5(n,$+BigInt(A)),L.setGasPrice(F),L.setGasPayment(n.map(nT));let[S]=L.splitCoins(L.gas,[D.getBaseValue("string")]);L.transferObjects([S],M)}else{let $=D.address;if(!$)throw new fy.SwapKitError("toolbox_sui_missing_coin_type");let F=D.getBaseValue("bigint"),[n,S,N]=await Promise.all([U(Z),$T(Z,O,FT,BigInt(A)),$T(Z,O,$,F)]);if(!N.length)throw new fy.SwapKitError("toolbox_sui_no_coins_found",{coinType:$});g5(S,BigInt(A)),L.setGasPrice(n),L.setGasPayment(S.map(nT));let x=xq(L,N,F);L.transferObjects([x],M)}L.setGasBudget(A);let w=await L.build({client:Z});return{tx:L,txBytes:w}}catch(Z){if(Z instanceof fy.SwapKitError)throw Z;throw new fy.SwapKitError("toolbox_sui_transaction_creation_error",{error:Z})}}async function z(M){let D=await f();if(!D)throw new fy.SwapKitError("toolbox_sui_no_signer");if(M instanceof Uint8Array)return D.signTransaction(M);let{txBytes:R}="tx"in M?M:await Y(M);return D.signTransaction(R)}async function W({assetValue:M,gasBudget:D,recipient:R}){let J=await f();if(!J)throw new fy.SwapKitError("toolbox_sui_no_signer");let k=J.toSuiAddress()||await q();if(!k)throw new fy.SwapKitError("toolbox_sui_no_sender");let{txBytes:O}=await Y({assetValue:M,gasBudget:D,recipient:R,sender:k}),A=await H();if(!i5(J)){let L=await J.signTransaction(O),{digest:w}=await A.executeTransactionBlock({signature:L.signature,transactionBlock:L.bytes});return w}let{digest:Z}=await A.signAndExecuteTransaction({signer:J,transaction:O});return Z}async function _(M){let D=await H(),{digest:R}=await D.executeTransactionBlock({signature:M.signature,transactionBlock:M.bytes});return R}async function B(M){let D=await f();if(!D)throw new fy.SwapKitError("toolbox_sui_no_signer");let R=await H(),J;if(typeof M==="string")J=Uint8Array.from(Buffer.from(M,"base64"));else if(M instanceof Uint8Array)J=M;else J=await M.build({client:R});if(!i5(D)){let O=await D.signTransaction(J),{digest:A}=await R.executeTransactionBlock({signature:O.signature,transactionBlock:O.bytes});return A}let{digest:k}=await R.signAndExecuteTransaction({signer:D,transaction:J});return k}return{broadcastTransaction:_,createTransaction:Y,estimateTransactionFee:Q,getAddress:q,getBalance:G,signAndBroadcastTransaction:B,signTransaction:z,transfer:W,validateAddress:r5}}var d5,fy,F0,FT="0x2::sui::SUI",nq=50000000;var a5=E(()=>{d5=require("@mysten/sui/utils"),fy=require("@swapkit/helpers"),F0=require("ts-pattern")});var xT={};By(xT,{validateSuiAddress:()=>r5,getSuiToolbox:()=>Iq});module.exports=ky(xT);var IT=E(()=>{a5()});async function Eq(){let y=Date.now();if(ST&&y-e5<Vq)return ST;return ST=await y2.getHttpEndpoint(),e5=y,ST}async function vq(){let[y]=Ly.SKConfig.get("rpcUrls")[Ly.Chain.Ton]??[];if(y)return y;return await Eq()}function pq(y={}){let T,C,f;async function H(){if(!T){let O=y.provider??await vq();T=new d.TonClient({endpoint:O})}return T}async function U(){return(await X()).address.toString()}async function q(){if(f)return f;return f=await xf.match(y).with({phrase:xf.P.string},async({phrase:O})=>f2.mnemonicToWalletKey(O.split(" "))).with({signer:xf.P.any},({signer:O})=>O).otherwise(()=>{return}),f}async function X(O){if(!C||O){let A=await q(),Z=await H(),L=O||A;if(!L)throw new Ly.SwapKitError("core_wallet_connection_not_found");let w=d.WalletContractV4.create({publicKey:L.publicKey,workchain:0});C=Z.open(w)}return C}let G=Iy(Ly.Chain.Ton);async function Q({assetValue:O,recipient:A,memo:Z,sender:L}){if(O.isGasAsset){let u=Z?k(Z).toBoc().toString("base64"):void 0;return[{address:A,amount:O.getBaseValue("string"),payload:u}]}let w=O.address;if(!w)throw new Ly.SwapKitError({errorKey:"core_swap_contract_not_found",info:{asset:O.toString()}});let $=L??await U(),F=await R({jettonMasterAddress:w,ownerAddress:$}),n=d.Address.parse(A),S=d.Address.parse($),N=O.getBaseValue("bigint"),x=Z?k(Z):void 0,o=J({destinationAddress:n,forwardPayload:x,jettonAmount:N,responseAddress:S});return[{address:F.toString(),amount:Pq.toString(),payload:o.toBoc().toString("base64")}]}function Y({sender:O,...A}){return Q({...A,sender:O})}function z(O){return O.map((A)=>{let Z=A.payload?d.Cell.fromBase64(A.payload):void 0,L=A.stateInit?d.loadStateInit(d.Cell.fromBase64(A.stateInit).asSlice()):void 0,w=d.Address.parse(A.address),$=d.Address.isFriendly(A.address)?d.Address.parseFriendly(A.address).isBounceable:!0;return d.internal({body:Z,bounce:$,init:L,to:w,value:BigInt(A.amount)})})}async function W(O){let A=await q(),Z=await X();if(!Z||!A)throw new Ly.SwapKitError("core_wallet_connection_not_found");let L=await H(),{state:w}=await L.getContractState(Z.address),$=w==="active",F=$?await Z.getSeqno():0,n=Z.createTransfer({messages:z(O),secretKey:A.secretKey,sendMode:s5,seqno:F}),S=d.external({body:n,init:$?void 0:Z.init,to:Z.address});return d.beginCell().store(d.storeMessage(S)).endCell()}async function _(O){return await(await H()).sendFile(O.toBoc()),O.hash().toString("hex")}async function B(O){let A=await W(O);return _(A)}async function M({assetValue:O,recipient:A,memo:Z}){let L=await Y({assetValue:O,memo:Z,recipient:A});return B(L)}async function D({sender:O,...A}){let{baseDecimal:Z}=Ly.getChainConfig(Ly.Chain.Ton),L=await xf.match(O).with(xf.P.string,(F)=>{return d.Address.parseFriendly(F).address}).otherwise(async()=>{return(await X()).address});if(!L)throw new Ly.SwapKitError("toolbox_fee_estimation_failed",{chain:Ly.Chain.Ton});let w=Ly.AssetValue.from({chain:Ly.Chain.Ton,value:"0.01"}),$=await H();try{let F=await Y({sender:O,...A}),n=await q(),S=await X();if(!S||!n)return w;let N=await S.getSeqno(),x=S.createTransfer({messages:z(F),secretKey:n.secretKey,sendMode:s5,seqno:N}),{source_fees:o}=await $.estimateExternalMessageFee(L,{body:x,ignoreSignature:!0,initCode:null,initData:null}),u=o.in_fwd_fee+o.storage_fee+o.gas_fee+o.fwd_fee;return w.set(Ly.SwapKitNumber.fromBigInt(BigInt(u),Z))}catch{return w}}async function R({jettonMasterAddress:O,ownerAddress:A}){try{let Z=await H(),L=d.Address.parse(O),w=d.Address.parse(A);return await Z.open(d.JettonMaster.create(L)).getWalletAddress(w)}catch{throw new Ly.SwapKitError({errorKey:"core_swap_contract_not_found",info:{jettonMasterAddress:O,ownerAddress:A}})}}function J({jettonAmount:O,destinationAddress:A,responseAddress:Z,forwardAmount:L=oq,forwardPayload:w}){let $=d.beginCell().storeUint(Sq,32).storeUint(0,64).storeCoins(O).storeAddress(A).storeAddress(Z).storeBit(0).storeCoins(L);if(w)$.storeBit(1).storeRef(w);else $.storeBit(0);return $.endCell()}function k(O){return d.beginCell().storeUint(0,32).storeStringTail(O).endCell()}return{broadcastTransaction:_,createTransaction:Y,estimateTransactionFee:D,getAddress:U,getBalance:G,getJettonWalletAddress:R,sign:W,signAndBroadcastTransaction:B,transfer:M,validateAddress:T2}}function T2(y){try{return d.Address.parse(y),!0}catch{return!1}}var y2,Ly,f2,d,xf,Sq=260734629,oq,Pq,s5,Vq=60000,ST,e5=0;var H2=E(()=>{sy();y2=require("@orbs-network/ton-access"),Ly=require("@swapkit/helpers"),f2=require("@ton/crypto"),d=require("@ton/ton"),xf=require("ts-pattern"),oq=d.toNano("0.01"),Pq=d.toNano("0.05"),s5=d.SendMode.PAY_GAS_SEPARATELY+d.SendMode.IGNORE_ERRORS});var oT={};By(oT,{validateTonAddress:()=>T2,getTONToolbox:()=>pq});module.exports=ky(oT);var PT=E(()=>{H2()});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)??C2.NetworkDerivationPath[T].slice(0,3)];if(y!==void 0)f[2]=y;return f}function tf({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 If(y){return y[2]??0}function U2({deriveAddress:y,getBalance:T,getUtxos:C}){async function f(X){let{accountIndex:G,count:Q,startIndex:Y=0,change:z=!1}=X;if(ly("count",Q),Q<1)throw RangeError("count must be at least 1");ly("startIndex",Y);let W=[];for(let _=0;_<Q;_++){let B=await y({accountIndex:G,change:z,index:Y+_});if(B)W.push(B)}return W}async function H(X){let{gapLimit:G=20,change:Q=!1}=X??{},Y=[],z=0,W=0;while(z<G){let _=await y({change:Q,index:W});if(!_)break;if((await T(_.address)).some((D)=>D.getValue("number")>0))Y.push(_),z=0;else z++;W++}return Y}async function U(X=20){let[G,Q]=await Promise.all([H({change:!1,gapLimit:X}),H({change:!0,gapLimit:X})]),Y=[...G,...Q],z=await Promise.all(Y.map(async(_)=>{let M=(await T(_.address)).reduce((D,R)=>D+R.getValue("number"),0);return{..._,balance:M}})),W=z.reduce((_,B)=>_+B.balance,0);return{addresses:z,total:W}}async function q(X=20){let[G,Q]=await Promise.all([H({change:!1,gapLimit:X}),H({change:!0,gapLimit:X})]),Y=[...G,...Q];return(await Promise.all(Y.map(async(W)=>{return(await C(W.address)).map((B)=>({...B,address:W.address,derivationIndex:W.index,isChange:W.change}))}))).flat()}return{deriveAddresses:f,getAggregatedBalance:U,getAggregatedUtxos:q,scanForAddresses:H}}var C2;var $0=E(()=>{C2=require("@swapkit/helpers")});async function bq({chain:y,txHash:T}){let C=`${n0(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:AC(),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 n0(y){return`https://api.blockchair.com/${jq(y)}`}function q2(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 jq(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 Kq(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,q2(y))}catch{return q2(y)}}async function VT(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 G2({address:y,chain:T,apiKey:C}){if(!y)throw new c.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await VT(`${n0(T)}/dashboards/address/${y}?transaction_details=true`,C))[y]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function lq({address:y,chain:T,apiKey:C}){return(await G2({address:y,apiKey:C,chain:T}))?.address.balance||0}async function Q2({chain:y,apiKey:T,txHash:C}){if(!C)throw new c.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await VT(`${n0(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 hq({chain:y,apiKey:T,txHash:C}){if(!C)throw new c.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});let H=(await VT(`${n0(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<uq);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 mq({chain:y,address:T,apiKey:C,offset:f=0,limit:H=30}){return(await VT(`${n0(y)}/outputs?q=recipient(${T}),is_spent(false)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${H}&offset=${f}`,C)).map(({is_spent:G,script_hex:Q,block_id:Y,transaction_hash:z,index:W,value:_,spending_signature_hex:B})=>({hash:z,index:W,is_confirmed:Y!==-1,is_spent:G,script_hex:Q,txHex:B,value:_}))}function tq(y){return y.reduce((T,C)=>T+C.value,0)}function X2(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 _2({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 mq({address:T,apiKey:C,chain:y,limit:q,offset:U,targetValue:f}),Q=X.length<q,Y=X.filter(({is_spent:D})=>!D),z=tq(Y),W=H+z,_=f&&W>=f;if(Q||_)return X2(Y,f);let B=await _2({accumulativeValue:W,address:T,apiKey:C,chain:y,limit:q,offset:U+q,targetValue:f}),M=[...Y,...B];return X2(M,f)}catch(X){let G=X instanceof Error?X.message:String(X);return console.error(`Failed to fetch unspent UTXOs: ${G}`),[]}}async function cq({address:y,chain:T,apiKey:C,fetchTxHex:f=!0,targetValue:H}){let U=await _2({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 Q2({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 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:(C)=>bq({chain:y,txHash:C}),getAddressData:(C)=>G2({address:C,apiKey:T,chain:y}),getBalance:(C)=>lq({address:C,apiKey:T,chain:y}),getRawTx:(C)=>Q2({apiKey:T,chain:y,txHash:C}),getSuggestedTxFee:()=>Kq(y),getTransactionDetails:(C)=>hq({apiKey:T,chain:y,txHash:C}),getUtxos:(C)=>cq({...C,apiKey:T,chain:y})}}function gq(y){return y}function iq(){return function(T){switch(T){case c.Chain.Bitcoin:return Sf.NETWORKS.bitcoin;case c.Chain.BitcoinCash:return Sf.NETWORKS.bitcoinCash;case c.Chain.Dash:return Sf.NETWORKS.dash;case c.Chain.Litecoin:return Sf.NETWORKS.litecoin;case c.Chain.Dogecoin:return Sf.NETWORKS.dogecoin;case c.Chain.Zcash:return Sf.NETWORKS.zcash;default:throw new c.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}}var c,Sf,uq=4294967294;var Z2=E(()=>{sy();c=require("@swapkit/helpers"),Sf=require("@swapkit/utxo-signer")});function aq(y,T,C){return Hf.encodeCashAddr({hash:C,prefix:y,type:dq[T]})}function sq(y){let T=Hf.decodeCashAddr(y),C=rq[T.type];if(!C)throw Error(`Unknown CashAddr type: ${T.type}`);return{hash:T.hash,prefix:T.prefix,type:C}}var Hf,dq,rq,YH;var W2=E(()=>{Hf=require("@swapkit/utxo-signer"),dq={P2PKH:Hf.CashAddrType.P2PKH,P2SH:Hf.CashAddrType.P2SH},rq={[Hf.CashAddrType.P2PKH]:"P2PKH",[Hf.CashAddrType.P2SH]:"P2SH"};YH={decode:sq,encode:aq}});function zH(y){try{return ET(y),!0}catch{return!1}}function AH(y){return ET(y)?.network}function Cf(y){let T=ET(y);if(T?.format==="legacy")return y;return fX(T)}function x0(y){let T=ET(y);return TX(T)}function ET(y){try{let T=eq(y);if(T)return T}catch{}try{let T=yX(y);if(T)return T}catch{}throw new JH.SwapKitError("toolbox_utxo_invalid_address",{address:y})}function eq(y){try{let T=z2.decode(y);if(T.length!==21)throw new JH.SwapKitError("toolbox_utxo_invalid_address",{address:y});let C=T[0],f=Array.prototype.slice.call(T,1);switch(C){case of.legacy.mainnet.p2pkh:return{format:"legacy",hash:f,network:"mainnet",type:"p2pkh"};case of.legacy.mainnet.p2sh:return{format:"legacy",hash:f,network:"mainnet",type:"p2sh"};case of.legacy.testnet.p2pkh:return{format:"legacy",hash:f,network:"testnet",type:"p2pkh"};case of.legacy.testnet.p2sh:return{format:"legacy",hash:f,network:"testnet",type:"p2sh"};case of.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:f,network:"mainnet",type:"p2pkh"};case of.bitpay.mainnet.p2sh:return{format:"bitpay",hash:f,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function yX(y){if(y.indexOf(":")!==-1)try{return Y2(y)}catch{}else{let T=["bitcoincash","bchtest","bchreg"];for(let C of T)try{return Y2(`${C}:${y}`)}catch{}}return}function Y2(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 fX(y){let T=of.legacy[y.network][y.type],C=Buffer.alloc(1+y.hash.length);return C[0]=T,C.set(y.hash,1),z2.encode(C)}function TX(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 J2,L2,JH,z2,LH,of;var A2=E(()=>{W2();J2=require("@noble/hashes/sha2.js"),L2=require("@scure/base"),JH=require("@swapkit/helpers"),z2=L2.createBase58check(J2.sha256);((C)=>{C.Mainnet="mainnet";C.Testnet="testnet"})(LH||={});of={["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 N2.Script.encode(["RETURN",T])}var M2,N2,HX=1000,pT=10,bT=2,B2=10,CX=41,UX=107,jT,vT,I0,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 M2.SwapKitError("toolbox_utxo_invalid_address",{address:y})},Pf=({inputs:y,outputs:T,feeRate:C})=>{let f=y[0]&&"address"in y[0]&&y[0].address?cf(y[0].address):"P2PKH",U=(C?y.filter((Q)=>Q.value>=vT["type"in Q&&Q.type?Q.type:"P2PKH"]*Math.ceil(C)):y).reduce((Q,Y)=>Q+zf(Y),0),q=T?.reduce((Q,Y)=>Q+S0(Y),0)||I0[f],X=pT+U+q;return f==="P2WPKH"?Math.ceil(X+bT/4):X},zf=(y)=>{if("type"in y&&y.type)return vT[y.type];if("address"in y&&y.address)return vT[cf(y.address)];return CX+UX},S0=(y,T)=>{if(y?.script)return B2+y.script.length+(y.script.length>=74?2:1);if(T)return I0[T];if("address"in y&&y.address)return I0[cf(y.address)];return I0.P2PKH};var MH=E(()=>{M2=require("@swapkit/helpers"),N2=require("@swapkit/utxo-signer");((C)=>{C.P2PKH="P2PKH";C.P2WPKH="P2WPKH"})(jT||={});vT={["P2PKH"]:148,["P2WPKH"]:68},I0={["P2PKH"]:34,["P2WPKH"]:31}});function o0(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?cf(y[0].address):"P2PKH",q=y.filter((B)=>zf(B)*C<=B.value),G=U==="P2WPKH"?Math.ceil(bT/4):0,Q=pT+G+T.reduce((B,M)=>B+S0(M),0),Y=T.reduce((B,M)=>B+M.value,0),z=Q*C,W=0,_=[];for(let B of q){let M=zf(B),D=C*M;z+=D,W+=B.value,_.push(B);let R=z+Y;if(W<R)continue;let J=W-R,k=C*S0({address:H,value:0});if(J>k){let O=k+z,A=W-(Y+Math.ceil(O));if(A>Math.max(zf({value:0})*C,o0(f)))return{fee:Math.ceil(O),inputs:_,outputs:T.concat({address:H,value:A})}}return{fee:Math.ceil(z),inputs:_,outputs:T}}return{fee:Math.ceil(C*Pf({inputs:y,outputs:T}))}}var ry;var D2=E(()=>{MH();ry=require("@swapkit/helpers")});var gf=E(()=>{Z2();A2();D2();MH()});function Vf(y){return y.replace(/(bchtest:|bitcoincash:)/,"")}function Af(y){let T=Vf(y);return zH(T)&&AH(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 C=KT.Address(KT.ZCASH_NETWORK).decode(y);return C.type==="pkh"||C.type==="sh"}catch{return!1}}var KT;var P0=E(()=>{gf();KT=require("@swapkit/utxo-signer")});function DH({address:y,chain:T}){return BH.match(T).with(P.Chain.BitcoinCash,()=>Af(y)).with(P.Chain.Zcash,()=>df(y)).otherwise(()=>{try{return r.Address(ny(T)).decode(y),!0}catch{return!1}})}function ny(y){return BH.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 qX({phrase:y,derivationPath:T,network:C,seed:f}){let H=f??uT.mnemonicToSeedSync(y),q=NH.HDKey.fromMasterSeed(H,C.bip32).derive(T);if(!q.privateKey)throw new P.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive private key from phrase"});return q.privateKey}function O2(y){return R2.secp256k1.getPublicKey(y,!0)}function E0({publicKey:y,chain:T,network:C}){if(T===P.Chain.BitcoinCash){let U=r.p2pkh(y,C);if(!U.hash)throw new P.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return r.encodeCashAddr({hash:U.hash,prefix:r.CashAddrPrefix.MAINNET,type:r.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}let H=!V0.includes(T)?r.p2wpkh(y,C):r.p2pkh(y,C);if(!H.address)throw new P.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive address"});return H.address}function rf({phrase:y,derivationPath:T,chain:C,wif:f,seed:H}){let U=ny(C);if(f){let Q=r.WIF(U).decode(f),Y=O2(Q);return{privateKey:Q,publicKey:Y}}if(!y)throw new P.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let q=T||P.derivationPathToString(P.NetworkDerivationPath[C]),X=qX({derivationPath:q,network:U,phrase:y,seed:H}),G=O2(X);return{privateKey:X,publicKey:G}}function XX(y,T){return r.WIF(ny(T)).encode(y)}function GX({phrase:y,derivationPath:T,chain:C,seed:f}){let H=T.split("/");if(H.length<4)throw new P.SwapKitError("toolbox_utxo_invalid_params",{error:`Derivation path must have at least 4 levels (got ${H.length}): ${T}`});let U=ny(C),q=f??uT.mnemonicToSeedSync(y),X=NH.HDKey.fromMasterSeed(q,U.bip32),G=H.slice(0,4).join("/");return X.derive(G)}function Nf({inputs:y,outputs:T,chain:C,tx:f,sender:H,compiledMemo:U,enableRBF:q=!1}){let X=ny(C),G=!V0.includes(C),Q=q?r.RBF_SEQUENCE:void 0,Y=new Set;for(let z of y){let W=`${z.hash}:${z.index}`;if(Y.has(W))throw new P.SwapKitError("toolbox_utxo_invalid_params",{error:"Duplicate input detected"});Y.add(W);let _=typeof z.hash==="string"?Mf.hex.decode(z.hash):z.hash;if(G&&z.witnessUtxo)f.addInput({index:z.index,sequence:Q,txid:_,witnessUtxo:{amount:BigInt(z.witnessUtxo.value),script:z.witnessUtxo.script}});else if(z.txHex)f.addInput({index:z.index,nonWitnessUtxo:Mf.hex.decode(z.txHex),sequence:Q,txid:_,...C===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 z of T){let W="address"in z&&z.address?z.address:H;if(C===P.Chain.BitcoinCash)W=Cf(W);if(z.script){if(U)f.addOutput({amount:0n,script:U})}else f.addOutputAddress(W,BigInt(z.value),X)}return{inputs:y,tx:f}}async function 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 k2({assetValue:y,recipient:T,memo:C,sender:f,fetchTxHex:H=!1}){let U=y.chain,q=(await af(U))[P.FeeOption.Fastest],X=H||V0.includes(U),G=y.getBaseValue("number"),Q=Math.ceil(G+q*5000);return{inputs:await Oy(U).getUtxos({address:f,fetchTxHex:X,targetValue:Q}),outputs:[{address:T,value:G},...C?[{address:"",script:Ey(C),value:0}]:[]]}}async function w2({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 k2({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 P.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:H});let W=new r.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!G,version:1}),{inputs:_,tx:B}=Nf({chain:X,compiledMemo:G,enableRBF:q,inputs:Y,outputs:z,sender:H,tx:W});return{inputs:_,tx:B,utxos:Q.inputs}}async function F2({assetValue:y,feeOptionKey:T=P.FeeOption.Fast,feeRate:C,memo:f,sender:H,recipient:U}){let q=y.chain,X=await k2({assetValue:y,memo:f,recipient:U,sender:H}),G=C?Math.floor(C):(await af(q))[T];return uy({...X,chain:q,feeRate:G})}function QX(y){return async function({from:C,memo:f,feeRate:H,feeOptionKey:U=P.FeeOption.Fast,recipients:q=1}){let X=await Oy(y).getAddressData(C),G=H?Math.ceil(H):(await af(y))[U],Q=X?.utxo.map((M)=>({...M,hash:"",type:"P2PKH"})).filter((M)=>M.value>Math.max(o0(y),zf(M)*G));if(!Q?.length)return P.AssetValue.from({chain:y});let Y=BigInt(Q.reduce((M,D)=>M+D.value,0)),z=P.AssetValue.from({chain:y,value:Y}),W=typeof q==="number"?Array.from({length:q},()=>({address:C,value:0})):q;if(f)W.push({address:C,script:Ey(f),value:0});let _=Pf({inputs:Q,outputs:W}),B=P.AssetValue.from({chain:y,value:BigInt(_*G)});return z.sub(B)}}function _X(y){return async function(C){let{fee:f}=await F2(C);return P.AssetValue.from({chain:y,value:P.SwapKitNumber.fromBigInt(BigInt(f),8).getValue("string")})}}function ZX({chain:y,phrase:T,derivationPath:C,seed:f}){let H=ny(y),{privateKey:U,publicKey:q}=rf({chain:y,derivationPath:C,phrase:T,seed:f}),X=y===P.Chain.BitcoinCash?[r.BCHSigHash.ALL]:[r.SigHash.ALL];return{getAddress:()=>E0({chain:y,network:H,publicKey:q}),privateKey:U,publicKey:q,signTransaction:(G)=>{return G.sign(U,X),G}}}function WX(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 P.SwapKitError("toolbox_utxo_no_signer");if(!H)throw new P.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});P.warnOnce({condition:G&&!lT.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&&lT.includes(y),z=q||(await af(y))[U||P.FeeOption.Fast],{tx:W}=await w2({assetValue:X,enableRBF:Y,feeRate:z,memo:f,recipient:H,sender:Q}),_=await T.signTransaction(W);return _.finalize(),Oy(y).broadcastTx(Mf.hex.encode(_.extract()))}}function OH(y){return(T)=>DH({address:T,chain:y})}function RH(y){let T=ny(y);return function(f){if(!f)throw new P.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});return E0({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?uT.mnemonicToSeedSync(C):void 0,U="derivationPath"in T&&T.derivationPath?T.derivationPath:P.updateDerivationPath(P.NetworkDerivationPath[y],{index:f}),q=P.derivationPathToString(U),X=C?ZX({chain:y,derivationPath:q,phrase:C,seed:H}):void 0,G="signer"in T?T.signer:void 0,Q=X||G,Y=C?rf({chain:y,derivationPath:q,phrase:C,seed:H}):void 0;function z(){if(Q)return Q.getAddress();return Promise.resolve(void 0)}function W(F){if(!C)return;let n=Lf({accountIndex:F,chain:y,derivationPath:U});return GX({chain:y,derivationPath:P.derivationPathToString(n),phrase:C,seed:H})}let _=W();function B(){if(!_)return;return _.publicExtendedKey}function M({accountIndex:F}={}){let n=F===void 0?_:W(F);if(!n)return;let S=Lf({accountIndex:F,chain:y,derivationPath:U});return{accountIndex:If(S),path:P.derivationPathToString(S),xpub:n.publicExtendedKey}}function D({accountIndex:F,index:n,change:S=!1}){let N=F===void 0?_:W(F);if(!N)return;let x=tf({accountIndex:F,chain:y,change:S,derivationPath:U,index:n}),o=ny(y),u=N.deriveChild(Number(S)).deriveChild(n);if(!u.publicKey)throw new P.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive public key"});let v=E0({chain:y,network:o,publicKey:u.publicKey}),t=Mf.hex.encode(u.publicKey);return{accountIndex:If(x),address:v,change:S,index:n,path:P.derivationPathToString(x),pubkey:t}}async function R(F){if(!lT.includes(y))return{reason:`RBF is not supported on ${y}`,supported:!1};let n=await Oy(y).getTransactionDetails(F);return{canReplace:n.isRBF&&!n.confirmed,confirmed:n.confirmed,enabled:n.isRBF,fee:n.fee,sequences:n.sequences,supported:!0}}async function J({txid:F,newFeeRate:n,recipient:S,memo:N}){if(!lT.includes(y))throw new P.SwapKitError("toolbox_utxo_rbf_not_supported",{chain:y});let x=await Oy(y).getTransactionDetails(F);if(!x.isRBF)throw new P.SwapKitError("toolbox_utxo_tx_not_replaceable",{txid:F});if(x.confirmed)throw new P.SwapKitError("toolbox_utxo_tx_already_confirmed",{blockId:x.blockId,txid:F});let o=x.inputs.reduce((My,by)=>My+by.value,0),v=x.outputs.find((My)=>My.recipient===S)?.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(x.inputs.map(async(My)=>{let by=await Oy(y).getRawTx(My.transaction_hash);return{hash:My.transaction_hash,index:My.index,txHex:by,value:My.value,witnessUtxo:void 0}})),Cy=N?Ey(N):null,Ay=Pf({feeRate:n,inputs:t.map((My)=>({...My,type:"P2WPKH"})),outputs:[{address:S,value:v}]}),Xy=Math.ceil(Ay*n);if(Xy<=x.fee)throw new P.SwapKitError("toolbox_utxo_rbf_fee_too_low",{newFee:Xy,originalFee:x.fee});let oy=Xy-x.fee,Ry=v-oy;if(Ry<=0)throw new P.SwapKitError("toolbox_utxo_rbf_insufficient_change");let ty=new r.Transaction({allowLegacyWitnessUtxo:!0,version:1}),cy=[{address:S,value:Ry},...N?[{address:"",script:Ey(N),value:0}]:[]],gy=o-Ry-Xy,xy=await z();if(gy>o0(y)&&xy)cy.push({address:xy,value:gy});return Nf({chain:y,compiledMemo:Cy,inputs:t,outputs:cy,sender:xy||S,tx:ty}),{feeDelta:oy,newFee:Xy,originalFee:x.fee,tx:ty}}async function k({txid:F,newFeeRate:n,recipient:S,memo:N}){let{tx:x,originalFee:o,newFee:u}=await J({memo:N,newFeeRate:n,recipient:S,txid:F}),v=await w(x);v.finalize();let t=await Oy(y).broadcastTx(Mf.hex.encode(v.extract()));return{newFee:u,originalFee:o,txid:t}}function O({accountIndex:F,index:n,change:S=!1}){ly("index",n);let N=F===void 0?_:W(F);if(!N)return;return N.deriveChild(Number(S)).deriveChild(n).privateKey||void 0}function A({tx:F,inputDerivations:n}){if(!_)throw new P.SwapKitError("toolbox_utxo_no_signer");let S=y===P.Chain.BitcoinCash?[r.BCHSigHash.ALL]:[r.SigHash.ALL];for(let N=0;N<n.length;N++){let x=n[N];if(!x)continue;let{derivationIndex:o,isChange:u}=x,v=O({change:u,index:o});if(!v)throw new P.SwapKitError("toolbox_utxo_invalid_params",{error:`Could not derive private key for input ${N} at index ${o}`});F.signIdx(v,N,S)}return F}async function Z({utxos:F,recipient:n,assetValue:S,memo:N,feeRate:x,feeOptionKey:o,changeAddress:u}){if(!_)throw new P.SwapKitError("toolbox_utxo_no_signer");let v=x||(await af(y))[o||P.FeeOption.Fast],t=N?Ey(N):null,Cy=[{address:n,value:S.getBaseValue("number")}];if(t)Cy.push({address:"",script:t,value:0});let Ay=F.map(({hash:xy,index:My,value:by,txHex:VU,witnessUtxo:G1})=>({hash:xy,index:My,txHex:VU,value:by,witnessUtxo:G1?{script:G1.script,value:G1.value}:void 0})),{inputs:Xy,outputs:oy}=uy({chain:y,feeRate:v,inputs:Ay,outputs:Cy});if(!(Xy&&oy))throw new P.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:S,sender:"multiple addresses"});let Ry=new r.Transaction({allowLegacyWitnessUtxo:!0,version:1}),ty=F[0]?.address,cy=u||await z()||ty||n;Nf({chain:y,compiledMemo:t,inputs:Xy,outputs:oy,sender:cy,tx:Ry});let gy=Xy.map((xy)=>{let My=F.find((by)=>by.hash===xy.hash&&by.index===xy.index);return My?{derivationIndex:My.derivationIndex,isChange:My.isChange}:{derivationIndex:0,isChange:!1}});return A({inputDerivations:gy,tx:Ry}),Ry.finalize(),Oy(y).broadcastTx(Mf.hex.encode(Ry.extract()))}function L({address:F,gapLimit:n=20}){if(!_)return;for(let S=0;S<n;S++){let N=D({change:!1,index:S}),x=D({change:!0,index:S}),o=N?.address===F?!1:x?.address===F;if(N?.address===F||x?.address===F)return{change:o,index:S}}return}function w(F){if(!Q)throw new P.SwapKitError("toolbox_utxo_no_signer");return Q.signTransaction(F)}async function $(F){let n=await w(F);return n.finalize(),await Oy(y).broadcastTx(Mf.hex.encode(n.extract()))}return{accumulative:uy,broadcastTx:(F)=>Oy(y).broadcastTx(F),bumpFee:k,calculateTxSize:Pf,createKeysForPath:(F)=>rf({...F,chain:y}),createReplacementTransaction:J,createTransaction:w2,deriveAddressAtIndex:D,derivePrivateKeyAtIndex:O,estimateMaxSendableAmount:QX(y),estimateTransactionFee:_X(y),getAddress:z,getAddressFromKeys:RH(y),getBalance:Iy(y),getExtendedPublicKey:B,getExtendedPublicKeyInfo:M,getFeeRates:()=>af(y),getInputsOutputsFee:F2,getNetworkForChain:()=>ny(y),getPrivateKeyFromMnemonic:(F)=>XX(rf({...F,chain:y}).privateKey,y),isRBFEnabled:R,keys:Y,resolveDerivationIndex:L,signAndBroadcastTransaction:$,signTransaction:w,signTransactionWithMultipleKeys:A,transfer:WX(y,Q),transferFromMultipleAddresses:Z,validateAddress:OH(y)}}var R2,Mf,NH,uT,P,r,BH,V0,lT;var sf=E(()=>{sy();$0();gf();P0();R2=require("@noble/curves/secp256k1.js"),Mf=require("@scure/base"),NH=require("@scure/bip32"),uT=require("@scure/bip39"),P=require("@swapkit/helpers"),r=require("@swapkit/utxo-signer"),BH=require("ts-pattern"),V0=[P.Chain.Dash,P.Chain.Dogecoin,P.Chain.Zcash,P.Chain.BitcoinCash],lT=[P.Chain.Bitcoin]});function v0(y){return Vf(x0(y))}function YX(y){let T=ny(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 zy.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=zy.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:zy.updateDerivationPath(zy.NetworkDerivationPath[ay],{index:C})),H=T?rf({chain:ay,derivationPath:f,phrase:T}):void 0,U=H?YX(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(B,M=!0){return X(Vf(x0(B)))}function W(B){if(!U)throw new zy.SwapKitError("toolbox_utxo_no_signer");return U.signTransaction(B)}async function _(B){let M=await W(B);return M.finalize(),await Q(kH.hex.encode(M.extract()))}return{...Y,broadcastTx:Q,buildTx:LX,createTransaction:$2,getAddress:q,getAddressFromKeys:zX,getBalance:z,getFeeRates:G,signAndBroadcastTransaction:_,signTransaction:W,stripPrefix:Vf,stripToCashAddress:v0,transfer:JX({broadcastTx:Q,getFeeRates:G,signer:U}),validateAddress:Af}}async function $2({assetValue:y,recipient:T,memo:C,feeRate:f,sender:H}){if(!Af(T))throw new zy.SwapKitError("toolbox_utxo_invalid_address",{address:T});let U=Math.ceil(y.getBaseValue("number")+f*7500),q=await Oy(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 zy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:H});let W=new Ny.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!X,version:1}),_=Cf(H),{inputs:B,tx:M}=Nf({chain:ay,compiledMemo:X,inputs:Y,outputs:z.map((D)=>("address"in D)&&D.address?{...D,address:Cf(D.address)}:D),sender:_,tx:W});return{inputs:B,tx:M,utxos:Y}}function JX({broadcastTx:y,getFeeRates:T,signer:C}){return async function({recipient:H,assetValue:U,feeOptionKey:q=zy.FeeOption.Fast,...X}){let G=await C?.getAddress();if(!(C&&G))throw new zy.SwapKitError("toolbox_utxo_no_signer");if(!H)throw new zy.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let Q=X.feeRate||(await T())[q],{tx:Y}=await $2({...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 LX({assetValue:y,recipient:T,memo:C,feeRate:f,sender:H}){let U=x0(T);if(!Af(U))throw new zy.SwapKitError("toolbox_utxo_invalid_address",{address:U});let q=Math.ceil(y.getBaseValue("number")+f*7500),X=await Oy(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:W}=uy({chain:ay,feeRate:G,inputs:X,outputs:Y});if(!(z&&W))throw new zy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:H});let _=new Ny.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!Q,version:1}),{inputs:B,tx:M}=Nf({chain:ay,compiledMemo:Q,inputs:z,outputs:W,sender:Cf(H),tx:_});return{inputs:B,tx:M,utxos:X}}function zX(y){let T=Ny.NETWORKS.bitcoinCash,C=Ny.p2pkh(y.publicKey,T);if(!C.hash)throw new zy.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,zy,Ny,ay;var hT=E(()=>{gf();sf();P0();kH=require("@scure/base"),zy=require("@swapkit/helpers"),Ny=require("@swapkit/utxo-signer"),ay=zy.Chain.BitcoinCash});function x2(){let{isStagenet:y}=Yy.SKConfig.get("envs");return y?Uy.ZCASH_TEST_NETWORK:Uy.ZCASH_NETWORK}function MX(y){return AX.encode(y)}function NX({phrase:y,derivationPath:T}){let C=$H.mnemonicToSeedSync(y),H=FH.HDKey.fromMasterSeed(C).derive(T);if(!H.privateKey||!H.publicKey)throw new Yy.SwapKitError("toolbox_utxo_invalid_params");let{privateKey:U,publicKey:q}=H,X=Uy.utils.hash160(q),{isStagenet:G}=Yy.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=MX(Y);return{getAddress:()=>Promise.resolve(z),signTransaction:(W)=>{if(W instanceof Uy.ZcashPSBT){let _=W.toPCZT();return _.signAllInputs(U,q,Uy.ZcashSigHash.ALL),_.finalizeAllInputs(),Promise.resolve(_.extract())}if(W instanceof Uy.PCZT)return W.signAllInputs(U,q,Uy.ZcashSigHash.ALL),W.finalizeAllInputs(),Promise.resolve(W.extract());return W.signAllInputs(U,q,Uy.ZcashSigHash.ALL),Promise.resolve(W)}}}function BX({inputs:y,outputs:T,tx:C,sender:f,compiledMemo:H}){let U=x2();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:mT.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 n2(y){let{assetValue:T,recipient:C,memo:f,feeRate:H,sender:U,fetchTxHex:q}=y,X=f?Ey(f):null,G=await Oy(Yy.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:Yy.Chain.Zcash,changeAddress:U,feeRate:H,inputs:G,outputs:Q});if(!(Y&&z))throw new Yy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:U});let W=Uy.createZcashTransaction({consensusBranchId:Uy.ZcashConsensusBranchId.NU6_2,expiryHeight:0,lockTime:0,version:4,versionGroupId:Uy.ZcashVersionGroupId.SAPLING}),{tx:_,inputs:B}=BX({compiledMemo:X,inputs:Y,outputs:z,sender:U,tx:W});return{inputs:B,outputs:z,tx:_}}function nH(y){let T=ef.match(y).with({signer:ef.P.not(ef.P.nullish)},({signer:G})=>G).with({phrase:ef.P.string},({phrase:G,derivationPath:Q,index:Y=0})=>{let z=Q||Yy.NetworkDerivationPath[Yy.Chain.Zcash]||[44,133,0,0,0],W=Yy.updateDerivationPath(z,{index:Y}),_=Yy.derivationPathToString(W);return NX({derivationPath:_,phrase:G})}).otherwise(()=>{return}),C=Bf({chain:Yy.Chain.Zcash,signer:T});async function f(G){if(!T)throw new Yy.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=Yy.FeeOption.Fast,...z}){let W=await T?.getAddress();if(!(T&&W))throw new Yy.SwapKitError("toolbox_utxo_no_signer");let _=z.feeRate||(await C.getFeeRates())[Y],{tx:B}=await n2({...z,assetValue:Q,feeRate:_,recipient:G,sender:W}),D=(await T.signTransaction(B)).toHex();return C.broadcastTx(D)}function q({phrase:G,derivationPath:Q="m/44'/133'/0'/0/0"}){let Y=$H.mnemonicToSeedSync(G),W=FH.HDKey.fromMasterSeed(Y).derive(Q);if(!W.privateKey||!W.publicKey)throw new Yy.SwapKitError("toolbox_utxo_invalid_params");return{privateKey:W.privateKey,publicKey:W.publicKey}}function X({phrase:G,derivationPath:Q="m/44'/133'/0'/0/0"}){let Y=q({derivationPath:Q,phrase:G}),z=x2();return Uy.WIF(z).encode(Y.privateKey)}return{...C,createKeysForPath:q,createTransaction:n2,getPrivateKeyFromMnemonic:X,signAndBroadcastTransaction:H,signTransaction:f,transfer:U,validateAddress:df}}var mT,FH,$H,Yy,Uy,ef,AX;var xH=E(()=>{gf();sf();P0();mT=require("@scure/base"),FH=require("@scure/bip32"),$H=require("@scure/bip39"),Yy=require("@swapkit/helpers"),Uy=require("@swapkit/utxo-signer"),ef=require("ts-pattern");AX=mT.createBase58check(Uy.utils.sha256)});function P2({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=ny(T),q=S2.HDKey.fromExtendedKey(y,U.bip32),X=Lf({accountIndex:H,chain:T}),G=If(X),Q=[];for(let Y of[!1,!0]){let z=q.deriveChild(Number(Y));for(let W=0;W<C;W++){let _=f+W,B=z.deriveChild(_);if(!B.publicKey)continue;let M=tf({accountIndex:H,chain:T,change:Y,index:_});Q.push({accountIndex:G,address:E0({chain:T,network:U,publicKey:B.publicKey}),change:Y,index:_,path:o2.derivationPathToString(M),pubkey:I2.hex.encode(B.publicKey)})}}return Q}var I2,S2,o2;var V2=E(()=>{$0();sf();I2=require("@scure/base"),S2=require("@scure/bip32"),o2=require("@swapkit/helpers")});function DX(y,T){switch(y){case Uf.Chain.BitcoinCash:return wH(T||{});case Uf.Chain.Zcash:return nH(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 E2=E(()=>{hT();sf();xH();$0();V2();hT();P0();Uf=require("@swapkit/helpers")});var IH={};By(IH,{validateZcashAddress:()=>df,validateUtxoAddress:()=>DH,validateBchAddress:()=>Af,toLegacyAddress:()=>Cf,toCashAddress:()=>x0,stripToCashAddress:()=>v0,stripPrefix:()=>Vf,nonSegwitChains:()=>V0,isValidAddress:()=>zH,getUtxoToolbox:()=>DX,getUtxoNetwork:()=>iq,getUtxoApi:()=>Oy,getUTXOAddressValidator:()=>OH,getUTXOAddressPath:()=>tf,getUTXOAccountPath:()=>Lf,getUTXOAccountIndexFromPath:()=>If,getScriptTypeForAddress:()=>cf,getOutputSize:()=>S0,getNetworkForChain:()=>ny,getInputSize:()=>zf,getDustThreshold:()=>o0,detectAddressNetwork:()=>AH,deriveAddressesFromXpub:()=>P2,createZcashToolbox:()=>nH,createUTXOToolbox:()=>Bf,createHDWalletHelpers:()=>U2,createCustomUtxoApi:()=>gq,createBCHToolbox:()=>wH,compileMemo:()=>Ey,calculateTxSize:()=>Pf,assertDerivationIndex:()=>ly,addressFromKeysGetter:()=>RH,addInputsAndOutputs:()=>Nf,accumulative:()=>uy,UtxoNetwork:()=>LH,UTXOScriptType:()=>jT,TX_OVERHEAD:()=>pT,SEGWIT_MARKER_FLAG_WEIGHT:()=>bT,OutputSizes:()=>I0,OP_RETURN_OVERHEAD:()=>B2,MIN_TX_FEE:()=>HX,InputSizes:()=>vT});module.exports=ky(IH);var SH=E(()=>{sf();$0();gf();E2();hT();xH()});function p0(y){return y.length>=2&&y.length<=64&&/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/.test(y)}async function cT(y){let{KeyPair:T}=await import("@near-js/crypto"),C=y.index||0,f=y.derivationPath?tT.derivationPathToString(y.derivationPath.slice(0,3)):`m/44'/397'/${C}'`,{secretKey:H}=p2.parseSeedPhrase(y.phrase,f),U=T.fromString(H);return j2(U)}async function oH(y){let{KeyPair:T}=await import("@near-js/crypto"),C=T.fromString(y);return j2(C)}function j2(y){return new b2(y)}async function gT(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 tT.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 v2,tT,p2,b2;var PH=E(()=>{v2=require("@near-js/signers"),tT=require("@swapkit/helpers"),p2=Q1(require("near-seed-phrase"));b2=class b2 extends v2.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 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 pH(y){return"newAccountId"in y}function bH(y){return"contractCode"in y}function jH(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 OX(y){return(BigInt(y)*BigInt(1000000000000)).toString()}function RX(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 kX(y){let T;async function C(){if(T)return T;return T=await y0.match(y).with({phrase:y0.P.string},async(N)=>{return await cT(N)}).with({signer:y0.P.any},({signer:N})=>N).otherwise(()=>{return}),T}async function f(){let N=await Hy.getRPCUrl(Hy.Chain.Near);return new K2.JsonRpcProvider({url:N})}async function H(N){let{Account:x}=await import("@near-js/accounts"),o=await f(),u=await C(),v=N||await U();return new x(v,o,u)}async function U(){let N=await C();if(!N)throw new Hy.SwapKitError("toolbox_near_no_signer");return await N.getAddress()}async function q(N){return(await L({changeMethods:[],contractId:N.contractId,viewMethods:["storage_balance_of"]})).storage_balance_of({account_id:N.accountId})}async function X(N){let o=[await W({args:{account_id:N.recipient},attachedDeposit:"1250000000000000000000",gas:"150000000000000",methodName:"storage_deposit"}),await W({args:{amount:N.assetValue.getBaseValue("string"),memo:N.memo||null,receiver_id:N.recipient},attachedDeposit:"1",gas:"150000000000000",methodName:"ft_transfer"})];return w({actions:o,receiverId:N.contractId})}async function G(N){if(!await C())throw new Hy.SwapKitError("toolbox_near_no_signer");let{assetValue:o,recipient:u,memo:v}=N,t=await U();if(!o.isGasAsset&&o.address){if(!await q({accountId:u,contractId:o.address}))return X({assetValue:o,contractId:o.address,memo:v,recipient:u})}let Cy=await Q({...N,sender:t});return J(Cy)}async function Q({recipient:N,assetValue:x,memo:o,attachedDeposit:u,sender:v,functionCall:t}){let Cy=await f();if(!p0(N))throw new Hy.SwapKitError("toolbox_near_invalid_address",{recipient:N});if(!p0(v))throw new Hy.SwapKitError("toolbox_near_invalid_address",{sender:v});if(t)return z({...t,sender:v});if(!x.isGasAsset){let by=x.address;if(!by)throw new Hy.SwapKitError("toolbox_near_missing_contract_address");return z({args:{amount:x.getBaseValue("string"),memo:o||null,receiver_id:N},attachedDeposit:u||"1",contractId:by,gas:"250000000000000",methodName:"ft_transfer",sender:v})}let{publicKey:Ay,nonce:Xy}=await gT(Cy,v),oy=x.getBaseValue("bigint"),{actionCreators:Ry,createTransaction:ty}=await import("@near-js/transactions"),{baseDecode:cy}=await import("@near-js/utils"),gy=[Ry.transfer(oy)];if(o&&u)gy.push(Ry.functionCall("memo",{memo:o},BigInt("250000000000000"),BigInt(u)));let xy=await Cy.block({finality:"final"}),My=cy(xy.header.hash);return ty(v,Ay,N,Xy+1,gy,My)}function Y(N){let x=N.encode();return Buffer.from(x).toString("base64")}async function z({args:N,attachedDeposit:x,contractId:o,gas:u,methodName:v,sender:t}){let Cy=await f(),{publicKey:Ay,nonce:Xy}=await gT(Cy,t),{createTransaction:oy,actionCreators:Ry}=await import("@near-js/transactions"),{baseDecode:ty}=await import("@near-js/utils"),cy=await Cy.block({finality:"final"}),gy=ty(cy.header.hash),xy=[Ry.functionCall(v,Buffer.from(JSON.stringify(N)),BigInt(u),BigInt(x))];return oy(t,Ay,o,Xy+1,xy,gy)}async function W(N){let{actionCreators:x}=await import("@near-js/transactions");return x.functionCall(N.methodName,Buffer.from(JSON.stringify(N.args)),BigInt(N.gas),BigInt(N.attachedDeposit))}async function _(N){let x=await C();if(!x)throw new Hy.SwapKitError("toolbox_near_no_signer");await B(N);let[o,u]=await x.signTransaction(N);return u}async function B(N){let x=N.publicKey;if(x.toString?.().startsWith("ed25519:")||x.toString?.().startsWith("secp256k1:"))return;let{KeyType:o,PublicKey:u}=await import("@near-js/crypto"),v=x.data||x.ed25519Key?.data,t=x.secp256k1Key?.data;if(v){N.publicKey=new u({data:Uint8Array.from(v),keyType:o.ED25519});return}if(t)N.publicKey=new u({data:Uint8Array.from(t),keyType:o.SECP256K1})}function M(N){if(typeof N==="string")return N;if(Array.isArray(N))return N.map(M).find(Boolean);if(!(N&&typeof N==="object"))return;let x=N;return x.transaction?.hash||x.transaction_outcome?.id}function D(N){return N instanceof Error?N.message:String(N)}async function R(N){let o=await(await f()).sendTransaction(N),u=M(o);if(!u)throw new Hy.SwapKitError("toolbox_near_transfer_failed",{result:o});return u}async function J(N){let x=await C();if(!x)throw new Hy.SwapKitError("toolbox_near_no_signer");let o;try{o=await _(N)}catch(u){let v;try{v=x.signAndSendTransaction?await x.signAndSendTransaction({actions:N.actions,receiverId:N.receiverId,signerId:N.signerId}):await x.signAndSendTransactions?.({transactions:[N]})}catch(Cy){throw new Hy.SwapKitError({errorKey:"toolbox_near_sign_transaction_failed",info:{directSignError:D(u),signAndSendError:D(Cy)}},Cy)}let t=M(v);if(t)return t;throw u}return R(o)}async function k(N){let x=await C();if("assetValue"in N){let u=await O();try{let v=await Hy.getRPCUrl(Hy.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:Cy}}=await t.json(),{execution:Ay,send_sir:Xy}=Cy.transaction_costs.action_receipt_creation_config,{execution:oy,send_sir:Ry}=Cy.transaction_costs.action_creation_config.transfer_cost,ty=BigInt(Ry)+BigInt(oy),cy=BigInt(Xy)+BigInt(Ay),xy=(ty+cy)*BigInt(u.toString());return Hy.AssetValue.from({chain:Hy.Chain.Near,value:xy})}catch(v){console.debug("NEAR fee estimation (protocol config) failed, using fallback:",v);let t=BigInt("115123062500"),Cy=BigInt("108059500000"),Xy=(t+Cy)*BigInt(u.toString());return Hy.AssetValue.from({chain:Hy.Chain.Near,value:Xy})}}let o=x?await H():void 0;return $(N,o)}async function O(){let N=await f();try{return await N.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function A(N,x,o){if(!await C())throw new Hy.SwapKitError("toolbox_near_no_signer");let v=await H(),{formatNearAmount:t}=await import("@near-js/utils"),{PublicKey:Cy}=await import("@near-js/crypto"),Ay=t(o)||"0";return(await v.createAccount(N,Cy.fromString(x),BigInt(Ay))).transaction.hash}async function Z(N){let x=await C();try{if(!x)throw new Hy.SwapKitError("toolbox_near_no_signer");let{actionCreators:o}=await import("@near-js/transactions"),{contractId:u,methodName:v,args:t,deposit:Cy}=N,Ay=await H(),Xy=await $({args:t||{},contractId:u,methodName:v}),oy=o.functionCall(v,t||{},Xy.getBaseValue("bigint"),BigInt(Cy||"1"));return(await Ay.signAndSendTransaction({actions:[oy],receiverId:u})).transaction_outcome.id}catch(o){throw new Hy.SwapKitError("toolbox_near_transfer_failed",{error:o})}}async function L(N){let x=await H();return hH({account:x,changeMethods:N.changeMethods,contractId:N.contractId,viewMethods:N.viewMethods})}async function w(N){if(!await C())throw new Hy.SwapKitError("toolbox_near_no_signer");if(N.actions.length===0)throw new Hy.SwapKitError("toolbox_near_empty_batch");return(await(await H()).signAndSendTransaction({actions:N.actions,receiverId:N.receiverId})).transaction.hash}async function $(N,x){let o=await y0.match(N).when(VH,()=>wy.SIMPLE_TRANSFER).when(EH,(v)=>lH(v.methodName)).when(vH,(v)=>KH(v.actions)).when(pH,()=>wy.ACCOUNT_CREATION).when(bH,()=>wy.CONTRACT_DEPLOYMENT).when(jH,(v)=>{if(!x)throw new Hy.SwapKitError("toolbox_near_no_account");return v.customEstimator(x)}).otherwise(()=>{throw new Hy.SwapKitError("toolbox_near_invalid_gas_params")}),u=BigInt(o)*BigInt(1000000000000);return Hy.AssetValue.from({chain:Hy.Chain.Near,value:u})}function F(N,x){return console.warn("NEAR toolbox: estimateGas is deprecated, use estimateGasLimit instead"),$(N,x)}async function n(){let N=await f();try{return(await N.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}async function S(){let N=await C();return N?(await N.getPublicKey()).toString():""}return{broadcastTransaction:R,callFunction:Z,createAction:W,createContract:L,createContractFunctionCall:z,createSubAccount:A,createTransaction:Q,estimateGas:F,estimateGasLimit:$,estimateTransactionFee:k,executeBatchTransaction:w,getAddress:U,getBalance:Iy(Hy.Chain.Near),getGasPrice:n,getNearProvider:f,getPublicKey:S,getSignerFromPhrase:cT,getSignerFromPrivateKey:oH,serializeTransaction:Y,signAndBroadcastTransaction:J,signTransaction:_,transfer:G,validateAddress:p0}}var K2,Hy,y0;var mH=E(()=>{sy();PH();uH();K2=require("@near-js/providers"),Hy=require("@swapkit/helpers"),y0=require("ts-pattern")});var l2=E(()=>{mH()});var tH={};By(tH,{validateNearAddress:()=>p0,tgasToGas:()=>OX,isSimpleTransfer:()=>VH,isCustomEstimator:()=>jH,isContractDeployment:()=>bH,isContractCall:()=>EH,isBatchTransaction:()=>vH,isAccountCreation:()=>pH,getNearToolbox:()=>kX,getNearSignerFromPrivateKey:()=>oH,getNearSignerFromPhrase:()=>cT,getFullAccessPublicKey:()=>gT,getContractMethodGas:()=>lH,gasToTGas:()=>RX,estimateBatchGas:()=>KH,createNearContract:()=>hH,GAS_COSTS:()=>wy});module.exports=ky(tH);var cH=E(()=>{PH();uH();mH();l2()});var gH={};By(gH,{validateRadixAddress:()=>m2,getRadixToolbox:()=>xX});module.exports=ky(gH);function m2(y){return y.startsWith("account_rdx1")&&y.length===66}function wX({networkApi:y}){return async function(C){let f=await FX({address:C,networkApi:y}),H=await $X({networkApi:y,resources:f});if(!H.some((q)=>q.isGasAsset))return[hy.AssetValue.from({chain:hy.Chain.Radix}),...H];return H}}async function FX({address:y,networkApi:T}){let C=!0,f,H=[],U=await nX(T);while(C){let q={address:y,at_ledger_state:{state_version:U},cursor:f,limit_per_page:100},X=await T.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:q});if(H=H.concat(X.items),X.next_cursor)f=X.next_cursor;else C=!1}return H}async function $X({resources:y,networkApi:T}){let C=[],f=50,H=[];for(let U=0;U<y.length;U+=50)H.push(y.slice(U,U+50));for(let U of H){let q=U.map((Q)=>Q.resource_address),X=await T.state.getEntityDetailsVaultAggregated(q),G=new Map;for(let Q of X)if(Q.details!==void 0){let Y=Q.metadata?.items.find((W)=>W.key==="symbol"),z=Y?.value.typed.type==="String"?Y.value.typed.value:"?";if(Q.details.type==="FungibleResource")G.set(Q.address,{decimals:Q.details.divisibility,symbol:z})}for(let Q of U)if(Q.aggregation_level==="Global"){let Y=G.get(Q.resource_address)||{decimals:0,symbol:"?"},z=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 nX(y){return(await y.status.getCurrent()).ledger_state.state_version}function xX({dappConfig:y}={}){let T=y||hy.SKConfig.get("integrations").radix,C=h2.RadixDappToolkit({...T,networkId:T.network?.networkId||1}),f=u2.GatewayApiClient.initialize(C.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:wX({networkApi:f}),networkApi:f,signAndBroadcast:()=>{throw new hy.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:m2}}var u2,h2,hy;var iH=E(()=>{u2=require("@radixdlt/babylon-gateway-api-sdk"),h2=require("@radixdlt/radix-dapp-toolkit"),hy=require("@swapkit/helpers")});function iT(y){return/^[0-9A-Fa-f]{40}$/.test(y)}function b0(y){if(iT(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 t2.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:y,reason:"Currency exceeds maximum length (20 bytes)"}});return T.padEnd(40,"0")}function IX(y){if(!iT(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 f0(y){if(iT(y))return y.toUpperCase();if(y.length<=3)return y;return b0(y)}var t2;var dT=E(()=>{t2=require("@swapkit/helpers")});async function SX(y,T){let C=f0(y),f=aT.find((H)=>f0(H.currency)===C&&H.issuer===T);if(f)return f;try{let H=await rT.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){rT.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 aT.filter((T)=>T.issuer===y)}function PX(y,T){let C=f0(y);return aT.some((f)=>f0(f.currency)===C&&f.issuer===T)}var rT,aT;var c2=E(()=>{dT();rT=require("@swapkit/helpers"),aT=[{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={};By(dH,{validateRippleAddress:()=>eT,parseXrplTokenIdentifier:()=>d2,normalizeCurrency:()=>f0,isKnownToken:()=>PX,isHexCurrency:()=>iT,hexToCurrency:()=>IX,hashes:()=>a2.hashes,getXrplTokenInfo:()=>SX,getRippleToolbox:()=>EX,getKnownTokensByIssuer:()=>oX,formatXrplTokenIdentifier:()=>r2,currencyToHex:()=>b0,XRPL_TOKEN_ERROR_CODES:()=>sT,XRPL_KNOWN_TOKENS:()=>aT});module.exports=ky(dH);function d2(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(!qf.isValidAddress(T[2]))return null;return{currency:T[1],issuer:T[2]}}function r2(y,T){return`${i.Chain.Ripple}.${y}-${T}`}function VX(y){if(y.isGasAsset)return qf.xrpToDrops(y.getValue("string"));let T=d2(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 i2(y){let T=qf.Wallet.fromMnemonic(y);return{getAddress:()=>Promise.resolve(T.address),signTransaction:(C)=>Promise.resolve(T.sign(C))}}function eT(y){return qf.isValidAddress(y)}function EX(y={}){let T=T0.match(y).with({phrase:T0.P.string},({phrase:J})=>i2(J)).with({signer:T0.P.any},({signer:J})=>J).otherwise(()=>{return}),C;async function f(){let J=await i.getRPCUrl(i.Chain.Ripple);if(!J)throw new i.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:i.Chain.Ripple}});let k=new qf.Client(J);return await k.connect(),k}async function H(){if(C){let J=await C.catch(()=>null);if(J?.isConnected())return J}return C=f(),C}let U=()=>{if(!T)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return T.getAddress()},q=async(J)=>{let k=J||await U(),{baseDecimal:O}=i.getChainConfig(i.Chain.Ripple),A=await H();try{let[Z,L]=await Promise.all([A.request({account:k,command:"account_info"}),A.request({account:k,command:"account_lines"})]),w=Z.result.account_data.Balance,$=[i.AssetValue.from({chain:i.Chain.Ripple,fromBaseDecimal:O,value:w})];for(let F of L.result.lines){let n=r2(F.currency,F.account);if(Number.parseFloat(F.balance)!==0)$.push(i.AssetValue.from({asset:n,asyncTokenLookup:!1,value:F.balance}))}return $}catch(Z){if(Z.data?.error_code===g2.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:k,error:Z}})}},X=async()=>{let{baseDecimal:J}=i.getChainConfig(i.Chain.Ripple),A=(await(await H()).request({command:"fee"})).result.drops.open_ledger_fee;return i.AssetValue.from({chain:i.Chain.Ripple,fromBaseDecimal:J,value:A})};async function G(J){let k=J||await U(),O=await H();try{return(await O.request({account:k,command:"account_lines"})).result.lines.map((Z)=>({account:Z.account,authorized:Z.authorized??!1,balance:Z.balance,currency:Z.currency,freeze:Z.freeze??!1,freezePeer:Z.freeze_peer??!1,limit:Z.limit,limitPeer:Z.limit_peer,noRipple:Z.no_ripple??!1,noRipplePeer:Z.no_ripple_peer??!1,peerAuthorized:Z.peer_authorized??!1,qualityIn:Z.quality_in??0,qualityOut:Z.quality_out??0}))}catch(A){if(A.data?.error_code===g2.ACCOUNT_NOT_FOUND)return[];throw new i.SwapKitError({errorKey:"toolbox_ripple_get_trust_lines_error",info:{address:k,error:A}})}}async function Q({address:J,currency:k,issuer:O}){let A=await G(J),Z=b0(k);return A.some((L)=>{return b0(L.currency)===Z&&L.account===O})}async function Y({currency:J,issuer:k,limit:O,sender:A}){let Z=A||await U();if(!eT(k))throw new i.SwapKitError({errorKey:"core_transaction_invalid_recipient_address",info:{address:k}});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 w=await H(),$={Account:Z,LimitAmount:{currency:J,issuer:k,value:O},TransactionType:"TrustSet"};return w.autofill($)}async function z({assetValue:J,recipient:k,memo:O,sender:A,destinationTag:Z,extendBySeconds:L=150}){if(!eT(k))throw new i.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let w=A||await U();if(J.chain!==i.Chain.Ripple)throw new i.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:J.toString()}});let $=VX(J),F={Account:w,Amount:$,Destination:k,TransactionType:"Payment",...Z!==void 0&&{DestinationTag:Z}};if(O)F.Memos=[{Memo:{MemoData:Buffer.from(O).toString("hex")}}];let S=await(await H()).autofill(F);if(S.LastLedgerSequence&&L>0)S.LastLedgerSequence+=Math.ceil(L/4);return S}function W(J){if(!T)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return T.signTransaction(J)}async function _(J){let O=await(await H()).submitAndWait(J),{result:A}=O;if(A.validated)return A.hash;let Z=A.meta?.TransactionResult,L=T0.match(Z).with(sT.tecNO_LINE,()=>"No trust line exists for this token").with(sT.tecPATH_DRY,()=>"Payment path could not deliver funds").with(sT.tecFROZEN,()=>"Token is frozen").otherwise(()=>{return});throw new i.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:i.Chain.Ripple,...L?{reason:L}:{txResult:Z}}})}let B=async(J)=>{try{let k=await W(J);return _(k.tx_blob)}catch(k){if(k instanceof i.SwapKitError)throw k;throw new i.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:i.Chain.Ripple,error:k}})}};async function M(J){if(!T)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let k=await T.getAddress(),O=await z({...J,sender:k}),A=await W(O);return _(A.tx_blob)}async function D(J){if(!T)throw new i.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let k=await T.getAddress(),O=await Y({...J,sender:k}),A=await W(O);return _(A.tx_blob)}function R(){let J=C;if(C=null,J)J.then((k)=>{if(k?.isConnected())return k.disconnect();return}).catch((k)=>{console.warn("XRPL Cleanup failed silently:",k)})}return{broadcastTransaction:_,createSigner:i2,createTransaction:z,disconnect:R,estimateTransactionFee:X,getAddress:U,getBalance:q,getTrustLines:G,hasTrustLine:Q,setTrustLine:Y,setTrustLineAndBroadcast:D,signAndBroadcastTransaction:B,signTransaction:W,transfer:M,validateAddress:eT}}var i,T0,qf,a2,g2,sT;var rH=E(()=>{dT();i=require("@swapkit/helpers"),T0=require("ts-pattern"),qf=require("xrpl");dT();c2();a2=require("xrpl"),g2={ACCOUNT_NOT_FOUND:19},sT={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 Ef.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 y1(y,T,C){let f=y.get(T);if(f)f.push(C);else y.set(T,[C])}function jX(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===f1){let[X,G]=aH(y,C);C=G,y1(T,U,{data:new Uint8Array(j0(X)),wireType:f1})}else if(q===T1){let[X,G]=aH(y,C);C=G;let Q=Number(X);if(Q<0||C+Q>y.length)throw new Ef.SwapKitError("toolbox_tron_transaction_creation_failed");let Y=y.slice(C,C+Q);C+=Q,y1(T,U,{data:Y,wireType:T1})}else if(q===s2){if(C+8>y.length)throw new Ef.SwapKitError("toolbox_tron_transaction_creation_failed");let X=y.slice(C,C+8);C+=8,y1(T,U,{data:X,wireType:s2})}else if(q===e2){if(C+4>y.length)throw new Ef.SwapKitError("toolbox_tron_transaction_creation_failed");let X=y.slice(C,C+4);C+=4,y1(T,U,{data:X,wireType:e2})}else throw new Ef.SwapKitError("toolbox_tron_transaction_creation_failed")}return T}function KX(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===T1)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 fU(y,T){if(!y||y.length%2!==0)throw new Ef.SwapKitError("toolbox_tron_transaction_creation_failed");let C=H0.hexToBytes(y),f=jX(C);if(T.expiration!==void 0)f.set(vX,[{data:new Uint8Array(j0(BigInt(T.expiration))),wireType:f1}]);if(T.data!==void 0)f.set(pX,[{data:H0.hexToBytes(T.data),wireType:T1}]);if(T.fee_limit!==void 0)f.set(bX,[{data:new Uint8Array(j0(BigInt(T.fee_limit))),wireType:f1}]);let H=KX(f),U=H0.bytesToHex(H),q=H0.bytesToHex(yU.sha256(H));return{raw_data_hex:U,txID:q}}var yU,H0,Ef,f1=0,s2=1,T1=2,e2=5,vX=8,pX=10,bX=18;var TU=E(()=>{yU=require("@noble/hashes/sha2.js"),H0=require("@noble/hashes/utils.js"),Ef=require("@swapkit/helpers")});function my(y){if(typeof y!=="string")return!1;try{let T=H1.decode(y);return T.length===21&&T[0]===UU}catch{return!1}}function qU(y){return py.bytesToHex(H1.decode(y))}function uX(y){return H1.decode(y).slice(1)}function XU(y){let T=sH.secp256k1.getPublicKey(py.hexToBytes(y),!1),C=HU.keccak_256(T.slice(1)).slice(-20),f=new Uint8Array(21);return f[0]=UU,f.set(C,1),H1.encode(f)}function GU({txID:y,privateKey:T}){let C=sH.secp256k1.sign(py.hexToBytes(y),py.hexToBytes(T),{format:"recovered",prehash:!1}),f=C[0]??0,H=py.bytesToHex(C.slice(1,33)),U=py.bytesToHex(C.slice(33,65)),q=(f+27).toString(16).padStart(2,"0");return H+U+q}function C0({txID:y,raw_data_hex:T}){let C=py.bytesToHex(eH.sha256(py.hexToBytes(T)));if(y!==C)throw new yC.SwapKitError("toolbox_tron_invalid_transaction_integrity",{expected:C,txID:y})}function hX(y){return`000000000000000000000000${py.bytesToHex(uX(y))}`}function mX(y){let T=typeof y==="bigint"?y:BigInt(y);if(T<0n||T>=lX)throw new yC.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:T.toString()});return T.toString(16).padStart(64,"0")}function U0(y){return y.map(({type:T,value:C})=>T==="address"?hX(C):mX(BigInt(C))).join("")}function QU(y){return py.bytesToHex(new TextEncoder().encode(y))}var sH,eH,HU,py,CU,yC,H1,UU=65,lX;var fC=E(()=>{sH=require("@noble/curves/secp256k1.js"),eH=require("@noble/hashes/sha2.js"),HU=require("@noble/hashes/sha3.js"),py=require("@noble/hashes/utils.js"),CU=require("@scure/base"),yC=require("@swapkit/helpers"),H1=CU.createBase58check(eH.sha256),lX=2n**256n});function ZU(){try{return Zy.getRPCUrlSync(Zy.Chain.Tron)}catch{return _U}}function WU(){let y=new AbortController,T=setTimeout(()=>y.abort(),dX);return{cleanup:()=>clearTimeout(T),signal:y.signal}}async function vf(y,T){let{signal:C,cleanup:f}=WU();try{let H=await fetch(`${ZU()}${y}`,{body:JSON.stringify(T),headers:{"Content-Type":"application/json"},method:"POST",signal:C});if(!H.ok)throw new Zy.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${H.status} ${H.statusText} on ${y}`});return await H.json()}finally{f()}}async function YU(y,T){let{signal:C,cleanup:f}=WU();try{let H=await fetch(`${T??ZU()}${y}`,{headers:{"Content-Type":"application/json"},signal:C});if(!H.ok)throw new Zy.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${H.status} ${H.statusText} on ${y}`});return await H.json()}finally{f()}}async function JU(y){if(!my(y))throw new Zy.SwapKitError("toolbox_tron_trongrid_api_error",{address:y,message:"Invalid address"});try{let T=await YU(`/v1/accounts/${y}`,_U);if(!(T.success&&T.data)||T.data.length===0)return;let C;try{C=qU(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 Zy.SwapKitError)throw T;throw new Zy.SwapKitError("toolbox_tron_trongrid_api_error",{address:y,message:T instanceof Error?T.message:"Unknown error"})}}async function LU({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 Zy.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 Zy.SwapKitError("toolbox_tron_transaction_creation_failed");return C0(H),H}async function zU({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 Zy.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 Zy.SwapKitError("toolbox_tron_transaction_creation_failed");return C0(q.transaction),q.transaction}function AU({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 rX({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})}async function K0(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 Zy.SwapKitError("toolbox_tron_token_transfer_failed");return C}catch(T){throw new Zy.SwapKitError("toolbox_tron_broadcast_failed",{error:T})}}async function l0(){let y={};try{let{chainParameter:T}=await YU("/wallet/getchainparameters");for(let C of T)y[C.key]=C.value}catch(T){Zy.warnOnce({condition:!0,id:"tron_chain_params_failed",warning:`Failed to fetch chain params, using defaults: ${T instanceof Error?T.message:T}`})}return{bandwidthFee:y.getTransactionFee??tX,createAccountFee:y.getCreateNewAccountFeeInSystemContract??y.getCreateAccountFee??cX,energyFee:y.getEnergyFee??gX,memoFee:y.getMemoFee??iX}}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 Zy.warnOnce({condition:!0,id:"tron_account_resources_failed",warning:`Failed to fetch account resources, using defaults: ${T instanceof Error?T.message:T}`}),{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}}async function u0(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 rX({...y,ownerAddress:y.sender}),C=T.energy_required??T.energyRequired;if(T.result&&!T.result.result)throw new Zy.SwapKitError("toolbox_tron_trongrid_api_error",{message:T.result.message||"estimateenergy failed"});if(C!==void 0){if(Number.isFinite(C)&&C>0)return C;throw new Zy.SwapKitError("toolbox_tron_trongrid_api_error",{message:"Invalid estimateenergy response"})}}catch(T){Zy.warnOnce({condition:!0,id:"tron_energy_estimation_failed",warning:`Failed to estimate energy with estimateenergy, falling back to triggerconstantcontract: ${T instanceof Error?T.message:T}`})}try{let{energy_used:T}=await AU({...y,ownerAddress:y.sender});return T}catch(T){return Zy.warnOnce({condition:!0,id:"tron_energy_estimation_fallback_failed",warning:`Failed to estimate energy, using default: ${T instanceof Error?T.message:T}`}),65000}}async function MU({assetAddress:y,owner:T,spender:C}){let f=U0([{type:"address",value:T},{type:"address",value:C}]),U=(await AU({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 Zy,_U="https://api.trongrid.io",tX=1000,cX=1e6,gX=420,iX=1e6,dX=30000;var NU=E(()=>{fC();Zy=require("@swapkit/helpers")});function nU({phrase:y,derivationPath:T}){let C=wU.HDKey.fromMasterSeed(FU.mnemonicToSeedSync(y)).derive(T);if(!C.privateKey)throw new b.SwapKitError("toolbox_tron_no_signer");return kU.bytesToHex(C.privateKey)}function xU({phrase:y,derivationPath:T,index:C}){let f=T||b.derivationPathToString(b.updateDerivationPath(b.NetworkDerivationPath[b.Chain.Tron],{index:C||0}));return nU({derivationPath:f,phrase:y})}function sX({phrase:y,derivationPath:T}){let C=nU({derivationPath:T,phrase:y}),f=XU(C);return{getAddress:()=>Promise.resolve(f),signTransaction:(H)=>{C0(H);let U=GU({privateKey:C,txID:H.txID});return Promise.resolve({...H,signature:[U]})}}}function RU({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=QU(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}=fU(y.raw_data_hex,H);return{...y,raw_data:{...y.raw_data,...U},raw_data_hex:q,txID:X}}function IU(y={}){let T="index"in y?y.index||0:0,C=b.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:b.updateDerivationPath(b.NetworkDerivationPath[b.Chain.Tron],{index:T})),f,H=!1;function U(){if(H)return Promise.resolve(f);return f=q0.match(y).with({phrase:q0.P.string},({phrase:Z})=>sX({derivationPath:C,phrase:Z})).with({signer:q0.P.not(q0.P.nullish)},({signer:Z})=>Z).otherwise(()=>{return}),H=!0,Promise.resolve(f)}async function q(){let Z=await U();if(!Z)throw new b.SwapKitError("toolbox_tron_no_signer");return Z.getAddress()}async function X(Z,L){let w=Z||DU,$=L??(await l0()).energyFee,F=w*$,n=Math.ceil(F*1.5);return Math.min(Math.max(n,1e7),150000000)}async function G({contractAddress:Z,functionSelector:L,parameter:w,sender:$,memo:F,expiration:n,extraEnergy:S=0}){let N=await HC({contractAddress:Z,functionSelector:L,parameter:w,sender:$}),x=await X(N+S),o=await zU({contractAddress:Z,feeLimit:x,functionSelector:L,ownerAddress:$,parameter:w});return RU({expiration:n,feeLimit:x,memo:F,transaction:o})}async function Q(Z){if(!my(Z))return[b.AssetValue.from({chain:b.Chain.Tron})];try{let L=await JU(Z);if(!L)return[b.AssetValue.from({chain:b.Chain.Tron})];let w=[b.AssetValue.from({chain:b.Chain.Tron,fromBaseDecimal:6,value:String(L.balance)})],$=L.trc20?.find((F)=>(UC in F));if($){let F=$[UC];w.push(b.AssetValue.from({asset:`TRON.USDT-${UC}`,fromBaseDecimal:6,value:F}))}return w}catch(L){return b.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${L instanceof Error?L.message:L}`}),[b.AssetValue.from({chain:b.Chain.Tron})]}}async function Y({recipient:Z,assetValue:L,memo:w,expiration:$}){if(!my(Z))throw new b.SwapKitError("toolbox_tron_token_transfer_failed",{message:"invalid address"});let F=await U();if(!F)throw new b.SwapKitError("toolbox_tron_no_signer");try{let n=await q(),S=await D({assetValue:L,expiration:$,memo:w,recipient:Z,sender:n}),N=await F.signTransaction(S),x=await K0(N);if(!x)throw new b.SwapKitError("toolbox_tron_token_transfer_failed",{message:"broadcast failed"});return x}catch(n){throw new b.SwapKitError("toolbox_tron_token_transfer_failed",{message:n instanceof Error?n.message:String(n)})}}function z({requiredBandwidth:Z,resources:L,feePerUnit:w}){let $=Math.max(0,L.free+L.total-L.used);return Z>$?(Z-$)*w:0}async function W({memo:Z,recipient:L,senderAddress:w}){let[$,F,n]=await Promise.all([l0(),u0(L),TC(w)]),S=F?0:$.createAccountFee,N=z({feePerUnit:$.bandwidthFee,requiredBandwidth:BU,resources:n.bandwidth}),x=Z?$.memoFee:0;return b.AssetValue.from({chain:b.Chain.Tron,fromBaseDecimal:b.BaseDecimal.TRON,value:S+N+x})}async function _({assetValue:Z,memo:L,recipient:w,senderAddress:$}){let F=Z.address;if(!F)throw new b.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:Z.toString()});let[n,S,N,x]=await Promise.all([l0(),u0(w),TC($),HC({contractAddress:F,functionSelector:"transfer(address,uint256)",parameter:U0([{type:"address",value:w},{type:"uint256",value:Z.getBaseValue("string")}]),sender:$})]),u=x+(S?0:CC),v=z({feePerUnit:n.bandwidthFee,requiredBandwidth:OU,resources:N.bandwidth}),t=Math.max(0,N.energy.total-N.energy.used),Cy=u>t?(u-t)*n.energyFee:0,Ay=L?n.memoFee:0;return b.AssetValue.from({chain:b.Chain.Tron,fromBaseDecimal:b.BaseDecimal.TRON,value:v+Cy+Ay})}async function B({assetValue:Z,memo:L,recipient:w}){let[$,F]=await Promise.all([l0(),u0(w)]);if(Z.isGasAsset){let x=F?0:$.createAccountFee,o=L?$.memoFee:0;return b.AssetValue.from({chain:b.Chain.Tron,fromBaseDecimal:b.BaseDecimal.TRON,value:x+BU*$.bandwidthFee+o})}let S=await X(DU+(F?0:CC),$.energyFee),N=L?$.memoFee:0;return b.AssetValue.from({chain:b.Chain.Tron,fromBaseDecimal:b.BaseDecimal.TRON,value:S+OU*$.bandwidthFee+N})}async function M({assetValue:Z,memo:L,recipient:w,sender:$}){let F=await U();try{let n=$?$:F?await q():void 0;if(!n)return B({assetValue:Z,memo:L,recipient:w});return Z.isGasAsset?W({memo:L,recipient:w,senderAddress:n}):_({assetValue:Z,memo:L,recipient:w,senderAddress:n})}catch(n){throw b.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee: ${n instanceof Error?n.message:n}`}),new b.SwapKitError("toolbox_fee_estimation_failed",{chain:b.Chain.Tron,error:n})}}async function D({recipient:Z,assetValue:L,memo:w,sender:$,expiration:F}){if(!my(Z)||!my($))throw new b.SwapKitError("toolbox_tron_transaction_creation_failed",{message:"invalid address"});if(L.isGasAsset){let N=await LU({amount:L.getBaseValue("number"),from:$,to:Z});return RU({expiration:F,memo:w,transaction:N})}let n=L.address;if(!n)throw new b.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:L.toString()});let S=await u0(Z);return G({contractAddress:n,expiration:F,extraEnergy:S?0:CC,functionSelector:"transfer(address,uint256)",memo:w,parameter:U0([{type:"address",value:Z},{type:"uint256",value:L.getBaseValue("string")}]),sender:$})}async function R(Z){C0(Z);let L=await U();if(!L)throw new b.SwapKitError("toolbox_tron_no_signer");return L.signTransaction(Z)}async function J(Z){let L=await R(Z);return K0(L)}function k({assetAddress:Z,spenderAddress:L,from:w}){return MU({assetAddress:Z,owner:w,spender:L})}async function O({assetAddress:Z,spenderAddress:L,from:w,amount:$}){let F=await k({assetAddress:Z,from:w,spenderAddress:L});if(!$)return F>0n;return F>=BigInt($)}async function A({assetAddress:Z,spenderAddress:L,amount:w,from:$}){if(!my(Z)||!my(L))throw new b.SwapKitError("toolbox_tron_approve_failed");let F=await U();if(!F)throw new b.SwapKitError("toolbox_tron_no_signer");let n=$||await q(),S=w!==void 0?BigInt(w).toString():aX;try{let N=await G({contractAddress:Z,functionSelector:"approve(address,uint256)",parameter:U0([{type:"address",value:L},{type:"uint256",value:S}]),sender:n}),x=await F.signTransaction(N),o=await K0(x);if(!o)throw new b.SwapKitError("toolbox_tron_approve_failed");return o}catch(N){if(N instanceof b.SwapKitError)throw N;throw new b.SwapKitError("toolbox_tron_approve_failed",{error:N})}}return{approve:A,broadcastTransaction:K0,createTransaction:D,estimateTransactionFee:M,getAddress:q,getApprovedAmount:k,getBalance:Q,getRpcUrl:()=>b.getRPCUrl(b.Chain.Tron),isApproved:O,signAndBroadcastTransaction:J,signTransaction:R,transfer:Y,validateAddress:my}}var kU,wU,FU,b,q0,$U,BU=268,DU=65000,CC=25000,OU=345,UC="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",aX="115792089237316195423570985008687907853269984665640564039457584007913129639935";var SU=E(()=>{TU();NU();fC();kU=require("@noble/hashes/utils.js"),wU=require("@scure/bip32"),FU=require("@scure/bip39"),b=require("@swapkit/helpers"),q0=require("ts-pattern"),$U=my});var qC={};By(qC,{validateTronAddress:()=>$U,getTronToolbox:()=>IU,getTronPrivateKeyFromMnemonic:()=>xU});module.exports=ky(qC);var XC=E(()=>{SU()});function U1(y){if(!y||typeof y!=="string"||!y.startsWith("G")||y.length!==56)return!1;return eX.test(y)}function yG(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 fG(y){return yG(y)===504}function TG(y){return y.hash?.().toString("hex")}function HG(y){return[...new Set([y,...s.SKConfig.get("rpcUrls")[s.Chain.Stellar]])].filter(Boolean)}async function CG(y){if(!U1(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||s.NetworkDerivationPath[s.Chain.Stellar],f=s.derivationPathToString(C.slice(0,3));async function H({phrase:R,path:J}){let{HDKey:k}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:O}=await import("@scure/bip39"),{Keypair:A}=await import("@stellar/stellar-sdk"),Z=O(R),w=k.fromMasterSeed(Z).derive(J,!0);return A.fromRawEd25519Seed(Buffer.from(w.privateKey))}async function U(){if(T)return T;let R=C1.match(y).with({phrase:C1.P.string},({phrase:J})=>J).otherwise(()=>{return});if(!R)throw new s.SwapKitError("toolbox_stellar_no_signer");return T=await H({path:f,phrase:R}),T}async function q(R){let{Horizon:J}=await import("@stellar/stellar-sdk"),k=R||await s.getRPCUrl(s.Chain.Stellar);return new J.Server(k)}async function X(R,J){for(let k of J)try{return(await(await q(k)).transactions().transaction(R).call()).hash||R}catch{}return}async function G(R,J){let k=await s.getRPCUrl(s.Chain.Stellar),O=HG(k),A=TG(R),Z;for(let L of O)try{let w=await q(L),{hash:$}=await w.submitTransaction(R);return $}catch(w){if(Z=w,!fG(w))break;let $=A?await X(A,O):void 0;if($)return $}throw new s.SwapKitError(J,Z)}async function Q(){try{return(await U()).publicKey()}catch{return""}}async function Y(R){let J=R||await Q();if(!J)throw new s.SwapKitError("toolbox_stellar_account_not_found");try{return(await(await q()).loadAccount(J)).balances.map((A)=>{if(A.asset_type==="native")return s.AssetValue.from({chain:s.Chain.Stellar,value:A.balance});let Z="asset_code"in A?A.asset_code:"",L="asset_issuer"in A?A.asset_issuer:"";return s.AssetValue.from({asset:`${s.Chain.Stellar}.${Z}-${L}`,asyncTokenLookup:!1,value:A.balance})})}catch{return[s.AssetValue.from({chain:s.Chain.Stellar,value:0})]}}async function z({recipient:R,assetValue:J,memo:k,sender:O}){if(k){if(new TextEncoder().encode(k).length>28)throw new s.SwapKitError("helpers_invalid_memo_type")}if(!await CG(R))throw new s.SwapKitError("core_transaction_invalid_recipient_address");let Z=O||await Q();if(!Z)throw new s.SwapKitError("toolbox_stellar_no_signer");let{Asset:L,Memo:w,Networks:$,Operation:F,TransactionBuilder:n}=await import("@stellar/stellar-sdk"),S=await q(),N=await S.fetchBaseFee(),x=await S.loadAccount(Z),o=new n(x,{fee:String(N),networkPassphrase:$.PUBLIC});if(J.isGasAsset)try{await S.loadAccount(R),o.addOperation(F.payment({amount:J.getValue("string"),asset:L.native(),destination:R}))}catch{o.addOperation(F.createAccount({destination:R,startingBalance:J.getValue("string")}))}else o.addOperation(F.payment({amount:J.getValue("string"),asset:new L(J.symbol,J.address),destination:R}));if(k)o.addMemo(w.text(k));return o.setTimeout(30).build()}async function W(R){let{TransactionBuilder:J,Networks:k}=await import("@stellar/stellar-sdk"),O=await U(),A=J.fromXDR(R.toXDR(),k.PUBLIC);return A.sign(O),A}function _(R){return G(R,"toolbox_stellar_broadcast_error")}async function B({recipient:R,assetValue:J,memo:k}){let O=await U(),A=O.publicKey(),Z=await z({assetValue:J,memo:k,recipient:R,sender:A});return Z.sign(O),G(Z,"toolbox_stellar_transaction_failed")}async function M(R){let J=await W(R);return _(J)}async function D(){let{baseDecimal:R}=s.getChainConfig(s.Chain.Stellar);try{let O=(await(await q()).feeStats()).fee_charged.p50;return s.AssetValue.from({chain:s.Chain.Stellar,fromBaseDecimal:R,value:O})}catch{return s.AssetValue.from({chain:s.Chain.Stellar,fromBaseDecimal:R,value:"100"})}}return{broadcastTransaction:_,createTransaction:z,estimateTransactionFee:D,getAddress:Q,getBalance:Y,signAndBroadcastTransaction:M,signTransaction:W,transfer:B,validateAddress:U1}}var s,C1,eX;var PU=E(()=>{s=require("@swapkit/helpers"),C1=require("ts-pattern"),eX=/^G[A-Z2-7]{55}$/});var q1={};By(q1,{validateStellarAddress:()=>U1,getStellarToolbox:()=>oU});module.exports=ky(q1);var X1=E(()=>{PU()});var XG={};By(XG,{getToolbox:()=>GC,getFeeEstimator:()=>qG,getAddressValidator:()=>UG});module.exports=ky(XG);var K=require("@swapkit/helpers");async function UG(){let{match:y}=await import("ts-pattern"),{validateAptosAddress:T}=await Promise.resolve().then(() => (m0(),h0)),{validateEVMAddress:C}=await Promise.resolve().then(() => (P1(),uC)),{validateCardanoAddress:f}=await Promise.resolve().then(() => (p1(),v1)),{getCosmosAddressValidator:H}=await Promise.resolve().then(() => (AT(),zT)),{validateHyperCoreAddress:U}=await Promise.resolve().then(() => (CH(),HH)),{validateSolanaAddress:q}=await Promise.resolve().then(() => (QH(),GH)),{validateStarknetAddress:X}=await Promise.resolve().then(() => (wT(),kT)),{validateSuiAddress:G}=await Promise.resolve().then(() => (IT(),xT)),{validateTonAddress:Q}=await Promise.resolve().then(() => (PT(),oT)),{getUTXOAddressValidator:Y}=await Promise.resolve().then(() => (SH(),IH)),{validateNearAddress:z}=await Promise.resolve().then(() => (cH(),tH)),{validateRadixAddress:W}=await Promise.resolve().then(() => (iH(),gH)),{validateRippleAddress:_}=await Promise.resolve().then(() => (rH(),dH)),{validateTronAddress:B}=await Promise.resolve().then(() => (XC(),qC)),{validateStellarAddress:M}=await Promise.resolve().then(() => (X1(),q1));return function({address:R,chain:J}){return y(J).with(...K.EVMChains,()=>C(R)).with(...K.UTXOChains,(O)=>{return Y(O)(R)}).with(...K.CosmosChains,(O)=>{return H(O)(R)}).with(K.Chain.Aptos,()=>T(R)).with(K.Chain.Radix,()=>W(R)).with(K.Chain.Hype,()=>U(R)).with(K.Chain.Near,()=>z(R)).with(K.Chain.Ripple,()=>_(R)).with(K.Chain.Solana,()=>q(R)).with(K.Chain.Stellar,()=>M(R)).with(K.Chain.Starknet,()=>X(R)).with(K.Chain.Sui,()=>G(R)).with(K.Chain.Ton,()=>Q(R)).with(K.Chain.Tron,()=>B(R)).with(K.Chain.Cardano,()=>f(R)).otherwise(()=>!1)}}function qG(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(() => (m0(),h0));return H().estimateTransactionFee(C)}).with(K.Chain.Starknet,async()=>{let{getStarknetToolbox:H}=await Promise.resolve().then(() => (wT(),kT));return(await H()).estimateTransactionFee(C)}).with(K.Chain.Stellar,async()=>{let{getStellarToolbox:H}=await Promise.resolve().then(() => (X1(),q1));return H().estimateTransactionFee()}).with(K.Chain.Sui,async()=>{let{getSuiToolbox:H}=await Promise.resolve().then(() => (IT(),xT));return H().estimateTransactionFee(C)}).with(K.Chain.Ton,async()=>{let{getTONToolbox:H}=await Promise.resolve().then(() => (PT(),oT));return H().estimateTransactionFee(C)}).with(...K.CosmosChains,async()=>{let{estimateTransactionFee:H}=await Promise.resolve().then(() => (AT(),zT));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(() => (o1(),jC));return await f(y,T)}).with(...K.UTXOChains,async()=>{let{getUtxoToolbox:f}=await Promise.resolve().then(() => (SH(),IH));return f(y,T)}).with(...K.CosmosChains,async()=>{let{getCosmosToolbox:f}=await Promise.resolve().then(() => (AT(),zT));return f(y,T)}).with(K.Chain.Aptos,async()=>{let{getAptosToolbox:f}=await Promise.resolve().then(() => (m0(),h0));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(() => (X1(),q1));return f(T)}).with(K.Chain.Starknet,async()=>{let{getStarknetToolbox:f}=await Promise.resolve().then(() => (wT(),kT));return f(T)}).with(K.Chain.Sui,async()=>{let{getSuiToolbox:f}=await Promise.resolve().then(() => (IT(),xT));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(() => (p1(),v1));return f(T)}).with(K.Chain.Ton,async()=>{let{getTONToolbox:f}=await Promise.resolve().then(() => (PT(),oT));return f(T)}).otherwise(()=>{throw new K.SwapKitError("toolbox_not_supported",{chain:y})})}