@swapkit/toolboxes 4.15.13 → 4.15.14

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 I5=Object.create;var{getPrototypeOf:P5,defineProperty:Un,getOwnPropertyNames:AC,getOwnPropertyDescriptor:t5}=Object,qC=Object.prototype.hasOwnProperty;function GC(y){return this[y]}var p5,E5,U0=(y,n,o)=>{var f=y!=null&&typeof y==="object";if(f){var T=n?p5??=new WeakMap:E5??=new WeakMap,C=T.get(y);if(C)return C}o=y!=null?I5(P5(y)):{};let H=n||!y||!y.__esModule?Un(o,"default",{value:y,enumerable:!0}):o;for(let U of AC(y))if(!qC.call(H,U))Un(H,U,{get:GC.bind(y,U),enumerable:!0});if(f)T.set(y,H);return H},Ny=(y)=>{var n=(_C??=new WeakMap).get(y),o;if(n)return n;if(n=Un({},"__esModule",{value:!0}),y&&typeof y==="object"||typeof y==="function"){for(var f of AC(y))if(!qC.call(n,f))Un(n,f,{get:GC.bind(y,f),enumerable:!(o=t5(y,f))||o.enumerable})}return _C.set(y,n),n},_C;var V5=(y)=>y;function b5(y,n){this[y]=V5.bind(null,n)}var My=(y,n)=>{for(var o in n)Un(y,o,{get:n[o],enumerable:!0,configurable:!0,set:b5.bind(n,o)})};var P=(y,n)=>()=>(y&&(n=y(y=0)),n);function Ef(y){if(!y||typeof y!=="string"||!y.startsWith("0x"))return!1;let n=y.slice(2);if(n.length===0||n.length>64)return!1;return u5.test(n)}function XC({derivationPath:y,provider:n,...o}={}){let f,T=j.derivationPathToString(y||j.NetworkDerivationPath[j.Chain.Aptos],{allHardened:!0});async function C(){if(f)return f;return f=await Nf.match(o).with({phrase:Nf.P.string},async({phrase:Q})=>{let{Ed25519Account:B}=await import("@aptos-labs/ts-sdk");return B.fromDerivationPath({mnemonic:Q,path:T})}).with({signer:Nf.P.any},({signer:Q})=>Q).otherwise(()=>{return}),f}async function H(){let{Aptos:Q,AptosConfig:B}=await import("@aptos-labs/ts-sdk"),D=new B({fullnode:n||j.getRPCUrlSync(j.Chain.Aptos)});return new Q(D)}async function U(){return(await C())?.accountAddress.toString()||""}async function _(Q){let B=Q||await U();if(!B)throw new j.SwapKitError("toolbox_aptos_address_required");let{baseDecimal:D,chain:L}=j.getChainConfig(j.Chain.Aptos);try{let w=await H(),N=await w.getAccountAPTAmount({accountAddress:B}),z=[j.AssetValue.from({chain:L,fromBaseDecimal:D,value:N.toString()})],J=await w.getCurrentFungibleAssetBalances({options:{where:{owner_address:{_eq:B}}}});for(let Y of J){if(Y.asset_type===zf.COIN_TYPE||Number(Y.amount)<=0)continue;let R=Y.asset_type;if(R){let q=("metadata"in Y&&typeof Y.metadata==="object"&&Y.metadata!==null?Y.metadata:void 0)?.decimals??D;z.push(j.AssetValue.from({asset:`${j.Chain.Aptos}.APT-${R}`,fromBaseDecimal:q,value:String(Y.amount)}))}}return z}catch{return[j.AssetValue.from({chain:L})]}}async function A(Q){if(!Q){let{baseDecimal:J}=j.getChainConfig(j.Chain.Aptos),Y=n||j.getRPCUrlSync(j.Chain.Aptos),R=await fetch(`${Y}/estimate_gas_price`),{gas_estimate:l}=await R.json();return j.AssetValue.from({chain:j.Chain.Aptos,fromBaseDecimal:J,value:String(l)})}let B=await C();if(!B)throw new j.SwapKitError("toolbox_aptos_no_signer");let D=await Z(Q),L=await H(),[w]=await L.transaction.simulate.simple({signerPublicKey:B.publicKey,transaction:D});if(!w)throw new j.SwapKitError("toolbox_aptos_transaction_creation_error");let N=BigInt(w.gas_used)*BigInt(w.gas_unit_price),{baseDecimal:z}=j.getChainConfig(j.Chain.Aptos);return j.AssetValue.from({chain:j.Chain.Aptos,fromBaseDecimal:z,value:N.toString()})}async function Z({recipient:Q,assetValue:B,maxGasAmount:D,sender:L}){if(!Ef(Q))throw new j.SwapKitError("core_transaction_invalid_recipient_address");let w=L||await U();if(!w)throw new j.SwapKitError("toolbox_aptos_no_sender");let{AccountAddress:N}=await import("@aptos-labs/ts-sdk"),z=await H(),J=N.from(w);try{let Y=B.isGasAsset?zf.TRANSFER:zf.FUNGIBLE_STORE_TRANSFER,R=Nf.match({address:B?.address,isGasAsset:B.isGasAsset}).with({isGasAsset:!0},()=>[N.from(Q),B.getBaseValue("bigint")]).with({address:Nf.P.string},({address:l})=>[N.from(l),N.from(Q),B.getBaseValue("bigint")]).otherwise(()=>null);if(!R)throw new j.SwapKitError("toolbox_aptos_missing_asset_type");return z.transaction.build.simple({data:{function:Y,functionArguments:R,typeArguments:B.isGasAsset?[]:[zf.FUNGIBLE_ASSET_METADATA]},options:D?{maxGasAmount:D}:void 0,sender:J})}catch(Y){if(Y instanceof j.SwapKitError)throw Y;throw new j.SwapKitError("toolbox_aptos_transaction_creation_error",Y)}}async function M(Q){let B=await C();if(!B)throw new j.SwapKitError("toolbox_aptos_no_signer");return(await H()).transaction.sign({signer:B,transaction:Q})}async function W({assetValue:Q,maxGasAmount:B,recipient:D}){let L=await C();if(!L)throw new j.SwapKitError("toolbox_aptos_no_signer");if(!Ef(D))throw new j.SwapKitError("core_transaction_invalid_recipient_address");try{let w=L.accountAddress.toString(),N=await Z({assetValue:Q,maxGasAmount:B,recipient:D,sender:w});return(await(await H()).signAndSubmitTransaction({signer:L,transaction:N})).hash}catch(w){if(w instanceof j.SwapKitError)throw w;throw new j.SwapKitError("toolbox_aptos_transaction_creation_error",w)}}async function G({senderAuthenticator:Q,transaction:B}){try{return(await(await H()).transaction.submit.simple({senderAuthenticator:Q,transaction:B})).hash}catch(D){throw new j.SwapKitError("toolbox_aptos_broadcast_error",D)}}async function X(Q){let B=await M(Q);return G({senderAuthenticator:B,transaction:Q})}return{broadcastTransaction:G,createTransaction:Z,estimateTransactionFee:A,getAddress:U,getBalance:_,signAndBroadcastTransaction:X,signTransaction:M,transfer:W,validateAddress:Ef}}function WC({provider:y}){return async function({assetValue:o,recipient:f}){if(!Ef(f))throw new j.SwapKitError("core_transaction_invalid_recipient_address");let{AccountAddress:T}=await import("@aptos-labs/ts-sdk");if(o.isGasAsset)return(await y.signAndSubmitTransaction({arguments:[T.from(f).toString(),o.getBaseValue("string")],function:zf.TRANSFER,type:"entry_function_payload",type_arguments:[]})).hash;let C=o.address;if(!C)throw new j.SwapKitError("toolbox_aptos_missing_asset_type");return(await y.signAndSubmitTransaction({arguments:[C,T.from(f).toString(),o.getBaseValue("string")],function:zf.FUNGIBLE_STORE_TRANSFER,type:"entry_function_payload",type_arguments:[zf.FUNGIBLE_ASSET_METADATA]})).hash}}var j,Nf,zf,u5;var QC=P(()=>{j=require("@swapkit/helpers"),Nf=require("ts-pattern"),zf={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"},u5=/^[0-9a-fA-F]+$/});var Kn={};My(Kn,{validateAptosAddress:()=>Ef,getAptosToolbox:()=>XC,createAptosExtensionTransfer:()=>WC});module.exports=Ny(Kn);var hn=P(()=>{QC()});function JC(){function y(){let n=Date.now(),o=_0||n;return _0=o,n>_0?n:o+1}return v5+y().toString(36)}function Sy(y){return async function(o,f=!0){let T=await ZC.SwapKitApi.getChainBalance({address:o,chain:y,scamFilter:f}),{baseDecimal:C}=_n.getChainConfig(y),H=T.map(({identifier:_,value:A,decimal:Z})=>{return new _n.AssetValue({decimal:Z||C,identifier:_,value:A})});if(!H.some((_)=>_.isGasAsset))return[_n.AssetValue.from({chain:y}),...H];return H}}var _n,ZC,v5,_0=0;var iy=P(()=>{_n=require("@swapkit/helpers"),ZC=require("@swapkit/helpers/api"),v5=typeof process<"u"&&process.pid?process.pid.toString(36):""});function An(y){return{getBalance:Sy(y)}}function j5(y){return y}var mn=P(()=>{iy()});function LC(y){return new Of.JsonRpcProvider(y)}async function W0(y,n){return LC(n||await a.getRPCUrl(y))}function qn(y){return y>0n?`0x${y.toString(16)}`:"0x0"}function Q0(y){let{explorerUrl:n,chainIdHex:o,rpcUrls:f}=a.getChainConfig(y);return function(){return y!==a.Chain.Ethereum?{...K5({chain:y}),blockExplorerUrls:[n],chainId:o,rpcUrls:f}:void 0}}function Z0(y){return![a.Chain.Adi,a.Chain.Arbitrum,a.Chain.BinanceSmartChain].includes(y)}function K5({chain:y}){let{name:n,nativeCurrency:o,baseDecimal:f}=a.getChainConfig(y);return X0.match(y).with(a.Chain.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:f,name:"Ethereum",symbol:a.Chain.Ethereum}})).with(a.Chain.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:a.Chain.Ethereum}})).with(a.Chain.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:f,name:"Avalanche",symbol:y}})).with(a.Chain.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:a.Chain.Ethereum}})).with(a.Chain.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:f,name:"Berachain",symbol:"BERA"}})).with(a.Chain.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:f,name:"OKB",symbol:"OKB"}})).with(a.Chain.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:f,name:"Binance Coin",symbol:"BNB"}})).with(a.Chain.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:f,name:"xDAI",symbol:"XDAI"}})).with(a.Chain.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:a.Chain.Ethereum}})).with(a.Chain.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:f,name:"Polygon",symbol:a.Chain.Polygon}})).otherwise(()=>({chainName:n,nativeCurrency:{decimals:f,name:o,symbol:o}}))}async function J0(y,n){if(!("authorize"in y))throw Error("Signer does not support EIP-7702 authorization. Requires ethers.js v6.14+");let o={...n,nonce:n.nonce!==void 0?BigInt(n.nonce):void 0};return await y.authorize(o)}function YC(y,n){let o=n!==void 0?`index ${n}: `:"",f=(T,C)=>{throw new a.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:T,message:`${o}${C}`}})};X0.match(y).when(({chainId:T})=>typeof T!=="bigint",()=>f("chainId","chainId must be a bigint")).when(({address:T})=>!h5(T),()=>f("address","address must be a valid checksummed address")).when(({nonce:T})=>typeof T!=="bigint"||T<0n,()=>f("nonce","nonce must be a non-negative bigint")).when(({signature:T})=>!T,()=>f("signature","signature is required")).when(({signature:T})=>typeof T?.yParity!=="number"||![0,1].includes(T.yParity),()=>f("signature.yParity","yParity must be 0 or 1")).when(({signature:T})=>!MC(T?.r),()=>f("signature.r","r must be a 32-byte hex string")).when(({signature:T})=>!MC(T?.s),()=>f("signature.s","s must be a 32-byte hex string")).otherwise(()=>{})}function BC(y){return[{key:"name",type:"string"},{key:"version",type:"string"},{key:"chainId",type:"uint256"},{key:"verifyingContract",type:"address"},{key:"salt",type:"bytes32"}].filter(({key:n})=>y[n]!=null).map(({key:n,type:o})=>({name:n,type:o}))}function A0(y){return y.charAt(0).toUpperCase()+y.slice(1)}function q0(y,n){if(y.isTuple()&&y.components){let o=A0(y.name);return n[o]=y.components.map((f)=>({name:f.name,type:q0(f,n)})),o}if(y.isArray()){let o=y.arrayChildren;if(o?.isTuple()&&o.components){let f=A0(y.name.replace(/s$/,""));return n[f]=o.components.map((T)=>({name:T.name,type:q0(T,n)})),`${f}[]`}return`${o?.type??"bytes"}[]`}return y.type}function G0(y,n){if(typeof y==="bigint")return y;if(n?.isTuple()&&typeof y?.toObject==="function"){let o=y.toObject(),f={};for(let[T,C]of(n.components??[]).entries())f[C.name]=G0(o[C.name]??y[T],C);return f}if(Array.isArray(y)){let o=n?.arrayChildren;return y.map((f)=>G0(f,o??void 0))}return y}function m5({chain:y,abi:n,data:o,to:f}){let C=new Of.Interface(n).parseTransaction({data:o});if(!C)throw new a.SwapKitError({errorKey:"toolbox_evm_invalid_params",info:{error:"Could not decode calldata"}});let H={},U=A0(C.name);H[U]=C.fragment.inputs.map((W)=>({name:W.name,type:q0(W,H)}));let _={};for(let[W,G]of C.fragment.inputs.entries())_[G.name]=G0(C.args[W],G);let{chainId:A}=a.getChainConfig(y),Z={chainId:Number(A),verifyingContract:Of.getAddress(f)},M=BC(Z);return{domain:Z,message:_,primaryType:U,types:{EIP712Domain:M,...H}}}function M0(y,n){if(!Array.isArray(y)||y.length===0)throw new a.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{message:"EIP-7702 transactions require at least one authorization"}});for(let[o,f]of y.entries())if(YC(f,o),n!==void 0&&f.chainId!==n)throw new a.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:"chainId",message:`index ${o}: authorization chainId (${f.chainId}) does not match transaction chainId (${n})`}})}var a,Of,X0,MC=(y)=>typeof y==="string"&&/^0x[a-fA-F0-9]{64}$/.test(y),h5=(y)=>{try{return typeof y==="string"&&!!Of.getAddress(y)}catch{return!1}};var Gn=P(()=>{a=require("@swapkit/helpers"),Of=require("ethers"),X0=require("ts-pattern")});var zC;var NC=P(()=>{zC=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"}]});function bf({chain:y=S.Chain.Ethereum,provider:n,signer:o,isEIP1559Compatible:f=!0}){return{approve:r5({chain:y,isEIP1559Compatible:f,provider:n,signer:o}),approvedAmount:DC({chain:y,provider:n}),broadcastTransaction:n.broadcastTransaction,call:O0({chain:y,isEIP1559Compatible:f,provider:n,signer:o}),createApprovalTx:yU({chain:y,provider:n,signer:o}),createContract:B0({chain:y,provider:n}),createContractTxObject:wf({chain:y,provider:n}),createTransaction:L0({chain:y,provider:n,signer:o}),createTransferTx:L0({chain:y,provider:n,signer:o}),EIP1193SendTransaction:vf(n),estimateCall:RC({provider:n,signer:o}),estimateGasLimit:s5({chain:y,provider:n,signer:o}),estimateGasPrices:Df({chain:y,isEIP1559Compatible:f,provider:n}),estimateTransactionFee:fU({chain:y,isEIP1559Compatible:f,provider:n}),getAddress:()=>{return o?o.getAddress():void 0},getBalance:An(y).getBalance,getNetworkParams:Q0(y),isApproved:d5({chain:y,provider:n}),sendTransaction:kC({chain:y,isEIP1559Compatible:f,provider:n,signer:o}),signAuthorization:e5({signer:o}),signMessage:o?(T)=>o.signMessage(T):void 0,signTypedData:o?({domain:T,types:C,value:H})=>o.signTypedData(T,C,H):void 0,transfer:a5({chain:y,isEIP1559Compatible:f,provider:n,signer:o}),validateAddress:Wn}}function Wn(y){try{return Fy.getAddress(y),!0}catch{return!1}}function uf(y){return y instanceof Fy.BrowserProvider}function Qn(y,n,o){return new Fy.Contract(y,Fy.Interface.from(n),o)}function B0({provider:y}){return function(o,f){return new Fy.Contract(o,Fy.Interface.from(f),y)}}function z0({abi:y,funcName:n}){let o=y.find((f)=>f.name===n);if(!o)throw new S.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:n});return o.stateMutability&&c5.includes(o.stateMutability)}function OC(y){return Fy.getAddress(y)}function vf(y){return function({value:o,...f}){if(!uf(y))throw new S.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:T,gasPrice:C,maxFeePerGas:H,maxPriorityFeePerGas:U,..._}=f;return y.send("eth_sendTransaction",[{..._,value:qn(BigInt(o||0))}])}}function wC(y,n){let o=jf(y,n);if(o)return Fy.getAddress(o.toLowerCase());throw new S.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function jf({chain:y,symbol:n,ticker:o},f){try{let T=y===S.Chain.BinanceSmartChain&&n==="BNB"&&o==="BNB",C=y===S.Chain.Hyperevm&&n==="HYPE"&&o==="HYPE",H=y===f&&n===f&&o===f,U=i5.includes(y)&&n==="ETH"&&o==="ETH";if(H||T||C||U)return N0[f];return Fy.getAddress(n.slice(o.length+1).replace(/^0X/,""))}catch{return null}}function wf({provider:y}){return async({contractAddress:n,abi:o,funcName:f,funcParams:T=[],txOverrides:C})=>Qn(n,o,y).getFunction(f).populateTransaction(...T.concat(C).filter((H)=>typeof H<"u"))}function Df({chain:y,provider:n,isEIP1559Compatible:o=!0}){return Y0.match(y).with(S.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:T,maxPriorityFeePerGas:C}=await n.getFeeData();if(!T||C===null)throw new S.SwapKitError("toolbox_evm_no_fee_data");return{[S.FeeOption.Average]:{maxFeePerGas:S.applyFeeMultiplierToBigInt(T,S.FeeOption.Average),maxPriorityFeePerGas:S.applyFeeMultiplierToBigInt(C,S.FeeOption.Average)},[S.FeeOption.Fast]:{maxFeePerGas:S.applyFeeMultiplierToBigInt(T,S.FeeOption.Fast),maxPriorityFeePerGas:S.applyFeeMultiplierToBigInt(C,S.FeeOption.Fast)},[S.FeeOption.Fastest]:{maxFeePerGas:S.applyFeeMultiplierToBigInt(T,S.FeeOption.Fastest),maxPriorityFeePerGas:S.applyFeeMultiplierToBigInt(C,S.FeeOption.Fastest)}}}catch(T){throw new S.SwapKitError("toolbox_evm_gas_estimation_error",{error:T.msg??T.toString()})}}}).with(S.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:T}=await n.getFeeData();if(!T)throw new S.SwapKitError("toolbox_evm_no_fee_data");let C=T*12n/10n;return{[S.FeeOption.Average]:{gasPrice:C},[S.FeeOption.Fast]:{gasPrice:S.applyFeeMultiplierToBigInt(C,S.FeeOption.Fast)},[S.FeeOption.Fastest]:{gasPrice:S.applyFeeMultiplierToBigInt(C,S.FeeOption.Fastest)}}}catch(T){throw new S.SwapKitError("toolbox_evm_gas_estimation_error",{error:T.msg??T.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:T,maxPriorityFeePerGas:C,gasPrice:H}=await n.getFeeData();if(o){if(T===null||C===null)throw new S.SwapKitError("toolbox_evm_no_fee_data");return{[S.FeeOption.Average]:{maxFeePerGas:T,maxPriorityFeePerGas:C},[S.FeeOption.Fast]:{maxFeePerGas:S.applyFeeMultiplierToBigInt(T,S.FeeOption.Fast),maxPriorityFeePerGas:S.applyFeeMultiplierToBigInt(C,S.FeeOption.Fast)},[S.FeeOption.Fastest]:{maxFeePerGas:S.applyFeeMultiplierToBigInt(T,S.FeeOption.Fastest),maxPriorityFeePerGas:S.applyFeeMultiplierToBigInt(C,S.FeeOption.Fastest)}}}if(!H)throw new S.SwapKitError("toolbox_evm_no_gas_price");return{[S.FeeOption.Average]:{gasPrice:H},[S.FeeOption.Fast]:{gasPrice:S.applyFeeMultiplierToBigInt(H,S.FeeOption.Fast)},[S.FeeOption.Fastest]:{gasPrice:S.applyFeeMultiplierToBigInt(H,S.FeeOption.Fastest)}}}catch(T){throw new S.SwapKitError("toolbox_evm_gas_estimation_error",{error:T.msg??T.toString()})}}})}function O0({provider:y,isEIP1559Compatible:n,signer:o,chain:f}){return async function({callProvider:C,contractAddress:H,abi:U,funcName:_,funcParams:A=[],txOverrides:Z={},feeOption:M=S.FeeOption.Fast}){let W=C||y;if(!H)throw new S.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let G=z0({abi:U,funcName:_});if(G&&uf(W)&&o){let B=wf({chain:f,provider:W}),D=Z?.from||await o?.getAddress(),L=await B({abi:U,contractAddress:H,funcName:_,funcParams:A,txOverrides:{...Z,from:D}});return vf(W)(L)}let X=Qn(H,U,W);if(G){if(!o)throw new S.SwapKitError("toolbox_evm_no_signer");let B=Z?.from||await o.getAddress();if(!B)throw new S.SwapKitError("toolbox_evm_no_signer_address");let D=X.connect(o),L=Df({chain:f,isEIP1559Compatible:n,provider:y}),{maxFeePerGas:w,maxPriorityFeePerGas:N,gasPrice:z}=(await L())[M],J=await X.getFunction(_).estimateGas(...A,Z),Y=await D[_](...A,{...Z,gasLimit:J,gasPrice:z,maxFeePerGas:w,maxPriorityFeePerGas:N,nonce:Z?.nonce||await W.getTransactionCount(B)});return typeof Y?.hash==="string"?Y?.hash:Y}let Q=await X[_]?.(...A);return typeof Q?.hash==="string"?Q?.hash:Q}}function DC({provider:y,chain:n}){return function({assetAddress:f,spenderAddress:T,from:C}){return O0({chain:n,isEIP1559Compatible:!0,provider:y})({abi:Vf.erc20ABI,contractAddress:f,funcName:"allowance",funcParams:[C,T]})}}function d5({provider:y,chain:n}){return async function({assetAddress:f,spenderAddress:T,from:C,amount:H=Xn}){let U=await DC({chain:n,provider:y})({assetAddress:f,from:C,spenderAddress:T});return S.SwapKitNumber.fromBigInt(U).gte(S.SwapKitNumber.fromBigInt(BigInt(H)))}}function r5({signer:y,isEIP1559Compatible:n=!0,provider:o,chain:f}){return async function({assetAddress:C,spenderAddress:H,feeOptionKey:U=S.FeeOption.Fast,amount:_,gasLimitFallback:A,from:Z,nonce:M}){let W=[H,BigInt(_||Xn)],G=await y?.getAddress()||Z,X={abi:Vf.erc20ABI,contractAddress:C,funcName:"approve",funcParams:W,signer:y,txOverrides:{from:G}};if(uf(o)){let B=wf({chain:f,provider:o}),D=vf(o),L=await B(X);return D(L)}return O0({chain:f,isEIP1559Compatible:n,provider:o,signer:y})({...X,feeOption:U,funcParams:W,txOverrides:{from:G,gasLimit:A?BigInt(A.toString()):void 0,nonce:M}})}}function a5({signer:y,isEIP1559Compatible:n=!0,provider:o}){return async function({assetValue:T,memo:C,recipient:H,feeOptionKey:U=S.FeeOption.Fast,sender:_,...A}){let{hexlify:Z,toUtf8Bytes:M}=await import("ethers"),W=T.getBaseValue("bigint"),G=T.chain,X=_||await y?.getAddress(),Q=kC({chain:G,isEIP1559Compatible:n,provider:o,signer:y});if(!X)throw new S.SwapKitError("toolbox_evm_no_from_address");if(T.isGasAsset){let z={...A,data:Z(M(C||"")),feeOptionKey:U,from:X,to:H,value:W};return Q(z)}if(!jf(T,G))throw new S.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:D,maxPriorityFeePerGas:L,gasPrice:w}=(await Df({chain:G,isEIP1559Compatible:n,provider:o})())[U],N=await L0({chain:G,provider:o,signer:y})({assetValue:T,data:Z(M(C||"")),gasPrice:w,maxFeePerGas:D,maxPriorityFeePerGas:L,memo:C,recipient:H,sender:X});return Q(N)}}function RC({provider:y,signer:n}){return function({contractAddress:f,abi:T,funcName:C,funcParams:H=[],txOverrides:U}){if(!f)throw new S.SwapKitError("toolbox_evm_no_contract_address");let _=Qn(f,T,y);return n?_.connect(n).getFunction(C).estimateGas(...H,U):_.getFunction(C).estimateGas(...H,U)}}function s5({provider:y,signer:n}){return async function({assetValue:f,recipient:T,memo:C,data:H,sender:U,funcName:_,funcParams:A,txOverrides:Z}){let M=f.bigIntValue,W=f.isGasAsset?null:jf(f,f.chain);if(W&&_)return RC({provider:y,signer:n})({abi:Vf.erc20ABI,contractAddress:W,funcName:_,funcParams:A,txOverrides:Z});let{hexlify:G,toUtf8Bytes:X}=await import("ethers");return y.estimateGas({data:H?H:C?G(X(C)):void 0,from:U,to:T,value:M})}}function e5({signer:y}){if(!y)return;return(n)=>J0(y,n)}function kC({provider:y,signer:n,isEIP1559Compatible:o=!0,chain:f}){return async function({feeOptionKey:C=S.FeeOption.Fast,...H}){let{from:U,to:_,data:A,value:Z,...M}=H;if(!n)throw new S.SwapKitError("toolbox_evm_no_signer");if(!_)throw new S.SwapKitError("toolbox_evm_no_to_address");let W={...M,data:A||"0x",from:U,to:_,value:BigInt(Z||0)};if(uf(y))return vf(y)(W);let G=U||await n.getAddress(),X=H.nonce||await y.getTransactionCount(G),Q=(await y.getNetwork()).chainId,B=D0(W,o);if(B==="eip7702")M0(W.authorizations||[],Q);let D=Y0.match(B).with("eip7702",()=>4).with("eip1559",()=>2).otherwise(()=>0),L={...W,chainId:Q,nonce:X,type:D,...B==="eip7702"&&{authorizationList:W.authorizations}},w=Df({chain:f,isEIP1559Compatible:o,provider:y}),z=B!=="legacy"&&!(W.maxFeePerGas&&W.maxPriorityFeePerGas)||!W.gasPrice?Object.entries((await w())[C]).reduce((Y,[R,l])=>({...Y,[R]:qn(BigInt(l))}),{}):{},J;try{J=qn(W.gasLimit||await y.estimateGas(L)*11n/10n)}catch(Y){throw new S.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:Y})}try{let Y={...L,gasLimit:J,...z};try{return(await n.sendTransaction(Y)).hash}catch{let R=await n.signTransaction({...Y,from:G});return(await y.broadcastTransaction(R)).hash}}catch(Y){throw new S.SwapKitError("toolbox_evm_error_sending_transaction",{error:Y})}}}function L0({provider:y,signer:n}){return async function({assetValue:f,memo:T,recipient:C,data:H,sender:U,maxFeePerGas:_,maxPriorityFeePerGas:A,gasPrice:Z,...M}){let W=f.getBaseValue("bigint"),G=f.chain,X=U||await n?.getAddress();if(!X)throw new S.SwapKitError("toolbox_evm_no_from_address");if(S.isGasAsset(f)){let{hexlify:D,toUtf8Bytes:L}=await import("ethers");return{...M,data:H||D(L(T||"")),from:X,to:C,value:W}}let Q=jf(f,G);if(!Q)throw new S.SwapKitError("toolbox_evm_no_contract_address");return wf({chain:f.chain,provider:y})({abi:Vf.erc20ABI,contractAddress:Q,funcName:"transfer",funcParams:[C,W],txOverrides:{from:X,gasPrice:Z,maxFeePerGas:_,maxPriorityFeePerGas:A}})}}function yU({provider:y,signer:n,chain:o}){return async function({assetAddress:T,spenderAddress:C,amount:H,from:U}){let _=await n?.getAddress()||U,A=wf({chain:o,provider:y}),Z=["bigint","number"].includes(typeof H)?H:H||Xn;return await A({abi:Vf.erc20ABI,contractAddress:T,funcName:"approve",funcParams:[C,BigInt(Z)],txOverrides:{from:_}})}}function fU({provider:y,isEIP1559Compatible:n=!0,chain:o}){return async function({feeOption:T=S.FeeOption.Fast,...C}){let U=await Df({chain:o,isEIP1559Compatible:n,provider:y})(),_=await y.estimateGas(C),A=S.AssetValue.from({chain:o}),{gasPrice:Z,maxFeePerGas:M,maxPriorityFeePerGas:W}=U[T];if(!n&&Z)return A.set(S.SwapKitNumber.fromBigInt(Z*_,A.decimal));if(M&&W){let G=(M+W)*_;return A.set(S.SwapKitNumber.fromBigInt(G,A.decimal))}throw new S.SwapKitError("toolbox_evm_no_gas_price")}}var S,Vf,Fy,Y0,Xn,c5,g5,N0,i5,cn=(y)=>y.type===4||(y.authorizations?.length??0)>0,w0=(y)=>!cn(y)&&(y.type===2||!!y.maxFeePerGas||!!y.maxPriorityFeePerGas),D0=(y,n=!0)=>{if(cn(y))return"eip7702";if(w0(y)||n)return"eip1559";return"legacy"};var gn=P(()=>{mn();Gn();S=require("@swapkit/helpers"),Vf=require("@swapkit/helpers/contracts"),Fy=require("ethers"),Y0=require("ts-pattern"),Xn=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");c5=["payable","nonpayable"];g5=S.EVMChains.reduce((y,n)=>{return y[n]="0x0000000000000000000000000000000000000000",y},{}),N0={...g5,[S.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[S.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},i5=[S.Chain.Arbitrum,S.Chain.Aurora,S.Chain.Base,S.Chain.Optimism]});function dn(y){let n=Xy(Hy.Chain.Ethereum)(y);async function o(f,T="0x5ba1e12693dc8f9c48aad8770482f4739beed696",C="aggregate",H=Hy.FeeOption.Fast){let U=await n.createContractTxObject({abi:zC,contractAddress:T,funcName:C,funcParams:[f]});return n.sendTransaction({...U,feeOptionKey:H})}return{...n,multicall:o}}function Xy(y){return function({provider:o,...f}){let T=Z0(y),C=Zn.match(f).with({phrase:Zn.P.string},({phrase:U})=>lC.HDNodeWallet.fromPhrase(U).connect(o)).with({signer:Zn.P.any},({signer:U})=>U).otherwise(()=>{return});return bf({chain:y,isEIP1559Compatible:T,provider:o,signer:C})}}var Hy,lC,Zn,rn,an,sn,en,yT,fT,nT,SC,TT,oT,CT,HT,UT,_T,Jn,AT,qT,GT,XT;var R0=P(()=>{NC();Gn();gn();Hy=require("@swapkit/helpers"),lC=require("ethers"),Zn=require("ts-pattern");rn=Xy(Hy.Chain.Adi),an=Xy(Hy.Chain.Arbitrum),sn=Xy(Hy.Chain.Aurora),en=Xy(Hy.Chain.Avalanche),yT=Xy(Hy.Chain.Base),fT=Xy(Hy.Chain.Berachain),nT=Xy(Hy.Chain.BinanceSmartChain),SC=Xy(Hy.Chain.Botanix),TT=Xy(Hy.Chain.Core),oT=Xy(Hy.Chain.Corn),CT=Xy(Hy.Chain.Cronos),HT=Xy(Hy.Chain.Gnosis),UT=Xy(Hy.Chain.Hyperevm),_T=Xy(Hy.Chain.Polygon),Jn=Xy(Hy.Chain.Sonic),AT=Xy(Hy.Chain.Unichain),qT=Xy(Hy.Chain.XLayer),GT=Xy(Hy.Chain.Monad),XT=Xy(Hy.Chain.MegaETH)});var xC;var FC=P(()=>{xC=[{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 k0(y){return new WT.Contract(TU,xC,y)}function $C(y){return async function(){let o=k0(y);if(o&&"l1BaseFee"in o)return await o?.l1BaseFee();return}}function IC(y){return async function({from:o,to:f,nonce:T,...C}){let{Transaction:H}=await import("ethers");if(!f)throw new Uy.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return H.from({...C,authorizationList:C.authorizationList,nonce:T?T:o?await y.getTransactionCount(o):0,to:f}).serialized}}function PC(y){return async function(o){let f=k0(y),T=await IC(y)(o);if(f&&"getL1Fee"in f)return f.getL1Fee(T)}}function tC(y){return async function(o){let T=(await y.getFeeData()).gasPrice??0n,C=await y.estimateGas(o);return T*C}}function oU(y){return async function(o){let f=await PC(y)(o)??0n,T=await tC(y)(o);return f+T}}function CU(y){return async function(o){let f=k0(y),T=await IC(y)(o);if(f&&"getL1GasUsed"in f)return f.getL1GasUsed(T)}}function HU(y){return async function(){try{let{maxFeePerGas:o,maxPriorityFeePerGas:f,gasPrice:T}=await y.getFeeData(),C=await $C(y)(),H=T;if(!(o&&f))throw new Uy.SwapKitError("toolbox_evm_no_fee_data");return{[Uy.FeeOption.Average]:{gasPrice:H,l1GasPrice:C,maxFeePerGas:o,maxPriorityFeePerGas:f},[Uy.FeeOption.Fast]:{gasPrice:Uy.applyFeeMultiplierToBigInt(H,Uy.FeeOption.Fast),l1GasPrice:Uy.applyFeeMultiplierToBigInt(C||0n,Uy.FeeOption.Fast),maxFeePerGas:o,maxPriorityFeePerGas:Uy.applyFeeMultiplierToBigInt(f,Uy.FeeOption.Fast)},[Uy.FeeOption.Fastest]:{gasPrice:Uy.applyFeeMultiplierToBigInt(H,Uy.FeeOption.Fastest),l1GasPrice:Uy.applyFeeMultiplierToBigInt(C||0n,Uy.FeeOption.Fastest),maxFeePerGas:o,maxPriorityFeePerGas:Uy.applyFeeMultiplierToBigInt(f,Uy.FeeOption.Fastest)}}}catch(o){throw new Uy.SwapKitError("toolbox_evm_gas_estimation_error",{error:o.msg??o.toString()})}}}function QT({provider:y,...n}){let o=Mn.match(n).with({phrase:Mn.P.string},({phrase:C})=>WT.HDNodeWallet.fromPhrase(C).connect(y)).with({signer:Mn.P.any},({signer:C})=>C).otherwise(()=>{return}),f=bf({provider:y,signer:o}),T=$C(y);return{...f,estimateGasPrices:HU(y),estimateL1Gas:CU(y),estimateL1GasCost:PC(y),estimateL2GasCost:tC(y),estimateTotalGasCost:oU(y),getBalance:An(Uy.Chain.Optimism).getBalance,getL1GasPrice:T}}var Uy,WT,Mn,TU="0x420000000000000000000000000000000000000f";var l0=P(()=>{mn();FC();gn();Uy=require("@swapkit/helpers"),WT=require("ethers"),Mn=require("ts-pattern")});var VC={};My(VC,{validateEVMAddress:()=>Wn,toChecksumAddress:()=>OC,isStateChangingCall:()=>z0,isEIP7702Transaction:()=>cn,isEIP1559Transaction:()=>w0,isBrowserProvider:()=>uf,getTokenAddress:()=>jf,getEvmToolboxAsync:()=>EC,getEvmToolbox:()=>S0,getEstimateGasPrices:()=>Df,getEVMTxType:()=>D0,getEIP1193SendTransaction:()=>vf,getCreateContractTxObject:()=>wf,getCreateContract:()=>B0,getChecksumAddressFromAsset:()=>wC,createContract:()=>Qn,XLayerToolbox:()=>qT,UNIToolbox:()=>AT,SONICToolbox:()=>Jn,OPToolbox:()=>QT,MONADToolbox:()=>GT,MEGAETHToolbox:()=>XT,MAX_APPROVAL:()=>Xn,MATICToolbox:()=>_T,HYPEREVMToolbox:()=>UT,GNOToolbox:()=>HT,ETHToolbox:()=>dn,ContractAddress:()=>N0,CROToolbox:()=>CT,CORNToolbox:()=>oT,COREToolbox:()=>TT,BotanixToolbox:()=>SC,BaseEVMToolbox:()=>bf,BSCToolbox:()=>nT,BERAToolbox:()=>fT,BASEToolbox:()=>yT,AVAXToolbox:()=>en,AURORAToolbox:()=>sn,ARBToolbox:()=>an,ADIToolbox:()=>rn});function S0(y,n){return pC.match(y).with(qy.Chain.Adi,()=>rn(n)).with(qy.Chain.Arbitrum,()=>an(n)).with(qy.Chain.Aurora,()=>sn(n)).with(qy.Chain.Avalanche,()=>en(n)).with(qy.Chain.Base,()=>yT(n)).with(qy.Chain.Berachain,()=>fT(n)).with(qy.Chain.BinanceSmartChain,()=>nT(n)).with(qy.Chain.Botanix,()=>Jn(n)).with(qy.Chain.Core,()=>TT(n)).with(qy.Chain.Corn,()=>oT(n)).with(qy.Chain.Cronos,()=>CT(n)).with(qy.Chain.Ethereum,()=>dn(n)).with(qy.Chain.Gnosis,()=>HT(n)).with(qy.Chain.Hyperevm,()=>UT(n)).with(qy.Chain.Optimism,()=>QT(n)).with(qy.Chain.Polygon,()=>_T(n)).with(qy.Chain.Sonic,()=>Jn(n)).with(qy.Chain.Unichain,()=>AT(n)).with(qy.Chain.XLayer,()=>qT(n)).with(qy.Chain.Monad,()=>GT(n)).with(qy.Chain.MegaETH,()=>XT(n)).exhaustive()}async function EC(y,n){let o={...n,provider:n?.provider||await W0(y)};return S0(y,o)}var qy,pC;var x0=P(()=>{Gn();R0();l0();qy=require("@swapkit/helpers"),pC=require("ts-pattern");gn();R0();l0()});var bC;var uC=P(()=>{((o)=>{o.Test="goerli";o.Main="homestead"})(bC||={})});var vC={};My(vC,{validateEVMAddress:()=>Wn,validateAuthorizations:()=>M0,validateAuthorization:()=>YC,toHexString:()=>qn,toChecksumAddress:()=>OC,signAuthorization:()=>J0,parseEIP712FromEVMTx:()=>m5,isStateChangingCall:()=>z0,isEIP7702Transaction:()=>cn,isEIP1559Transaction:()=>w0,isBrowserProvider:()=>uf,getTokenAddress:()=>jf,getProviderSync:()=>LC,getProvider:()=>W0,getNetworkParams:()=>Q0,getIsEIP1559Compatible:()=>Z0,getEvmToolboxAsync:()=>EC,getEvmToolbox:()=>S0,getEvmApi:()=>An,getEstimateGasPrices:()=>Df,getEVMTxType:()=>D0,getEIP1193SendTransaction:()=>vf,getCreateContractTxObject:()=>wf,getCreateContract:()=>B0,getChecksumAddressFromAsset:()=>wC,createCustomEvmApi:()=>j5,createContract:()=>Qn,buildEIP712DomainType:()=>BC,XLayerToolbox:()=>qT,UNIToolbox:()=>AT,SONICToolbox:()=>Jn,OPToolbox:()=>QT,MONADToolbox:()=>GT,MEGAETHToolbox:()=>XT,MAX_APPROVAL:()=>Xn,MATICToolbox:()=>_T,HYPEREVMToolbox:()=>UT,GNOToolbox:()=>HT,EthNetwork:()=>bC,ETHToolbox:()=>dn,ContractAddress:()=>N0,CROToolbox:()=>CT,CORNToolbox:()=>oT,COREToolbox:()=>TT,BotanixToolbox:()=>SC,BaseEVMToolbox:()=>bf,BSCToolbox:()=>nT,BERAToolbox:()=>fT,BASEToolbox:()=>yT,AVAXToolbox:()=>en,AURORAToolbox:()=>sn,ARBToolbox:()=>an,ADIToolbox:()=>rn});module.exports=Ny(vC);var F0=P(()=>{mn();Gn();x0();uC()});async function I0(y,n){let o=await fetch(`${iC}${y}`,{...n,headers:{project_id:gC,...n?.headers}});if(!o.ok)throw Error(`Blockfrost API error: ${o.status} ${o.statusText}`);return o.json()}async function dC(y){try{return await I0(`/addresses/${y}/utxos`)}catch{return[]}}async function _U(){return(await I0("/blocks/latest")).slot}async function AU(){let y=await I0("/epochs/latest/parameters"),n={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 $y.default(y.collateral_percent),languageView:n,maxValueSize:Number.parseInt(y.max_val_size,10),minFeeA:new $y.default(y.min_fee_a),minFeeB:new $y.default(y.min_fee_b),minFeeRefScriptCostPerByte:new $y.default(15),priceMem:new $y.default(y.price_mem),priceSteps:new $y.default(y.price_step),stakeKeyDeposit:new $y.default(2000000),utxoCostPerByte:new $y.default(y.coins_per_utxo_size)}}async function KC(y){let n=await fetch(`${iC}/tx/submit`,{body:Buffer.from(y,"hex"),headers:{"Content-Type":"application/cbor",project_id:gC},method:"POST"});if(!n.ok){let o=await n.text();throw Error(`Transaction submission failed: ${o}`)}return n.json()}function qU(y,n){return y.map((o)=>{let f=o.amount.find((H)=>H.unit==="lovelace"),T=f?new $y.default(f.quantity):new $y.default(0),C=o.amount.filter((H)=>H.unit!=="lovelace").map((H)=>({amount:new $y.default(H.quantity),assetName:H.unit.slice(56),policyId:H.unit.slice(0,56)}));return{address:n,amount:T,index:o.output_index,tokens:C,txId:o.tx_hash}})}async function GU(y){try{let n=await dC(y),o=0n,f=new Map;for(let H of n){if(!H.amount||!Array.isArray(H.amount))continue;for(let U of H.amount){let{unit:_,quantity:A}=U;if(_==="lovelace")o+=BigInt(A);else{let Z=f.get(_)||0n;f.set(_,Z+BigInt(A))}}}let T=[],{baseDecimal:C}=_y.getChainConfig(_y.Chain.Cardano);if(o>0n)T.push(_y.AssetValue.from({chain:_y.Chain.Cardano,fromBaseDecimal:C,value:o.toString()}));for(let[H,U]of f)T.push(_y.AssetValue.from({asset:`${_y.Chain.Cardano}.${H}`,value:U.toString()}));if(T.length===0)return[_y.AssetValue.from({chain:_y.Chain.Cardano})];return T}catch(n){let o=n instanceof Error?n.message:String(n);return console.error(`Cardano balance fetch error: ${o}`),[_y.AssetValue.from({chain:_y.Chain.Cardano})]}}function rC(y){if(!y||typeof y!=="string")return!1;try{let n=hC.bech32.decode(y,120);return n.prefix==="addr"||n.prefix==="addr_test"}catch{return!1}}async function XU(y,n=0,o=0){let f=await mC.mnemonicToSeed(y,""),C=(await cC.Bip32PrivateKey.fromEntropy(Buffer.from(f.slice(0,64)))).derive($0+1852).derive($0+1815).derive($0+n),H=C.derive(0).derive(o),U=H.toBip32PublicKey().toPublicKey().toBytes(),_=Dy.crypto.hash28(U),Z=C.derive(2).derive(0).toBip32PublicKey().toPublicKey().toBytes(),M=Dy.crypto.hash28(Z),W={hash:_,type:Dy.types.HashType.ADDRESS},G={hash:M,type:Dy.types.HashType.ADDRESS},Q=new Dy.address.BaseAddress(UU,W,G).getBech32(),B=H.toPrivateKey();return{getAddress:()=>Q,publicKey:U,publicKeyHash:_,signTransaction:async(D)=>{try{let L=await import("@stricahq/cbors"),w=Buffer.from(D,"hex"),N=L.Decoder.decode(w),[z,J,Y,R]=N.value,l=L.Encoder.encode(z),q=Dy.crypto.hash32(l),O=B.sign(q),k=J instanceof Map?J:new Map,x=k.get(jC)||[];x.push([U,O]),k.set(jC,x);let F=[z,k,Y,R];return L.Encoder.encode(F).toString("hex")}catch(L){throw new _y.SwapKitError("toolbox_cardano_sign_transaction_failed",{message:String(L)})}}}}function WU(y){let n,o,f;async function T(){if(!f)f=await AU();return f}async function C(){if(n!==void 0)return n;if(y&&"phrase"in y&&y.phrase){let G=y.index??0;return n=await XU(y.phrase,0,G),n}if(y&&"signer"in y&&y.signer)return n=y.signer,n;return}async function H(){if(o)return o;let G=await C();if(!G)return"";if("getAddress"in G)return o=await G.getAddress(),o;return""}async function U(G){let X=G||await H();if(!X)throw new _y.SwapKitError("core_wallet_connection_not_found");return GU(X)}async function _(G){if(G)try{let{tx:D}=await A(G),L=D.getFee();return _y.AssetValue.from({chain:_y.Chain.Cardano,fromBaseDecimal:6,value:L.toString()})}catch{}let X=await T(),Q=400,B=X.minFeeB.plus(X.minFeeA.times(Q));return _y.AssetValue.from({chain:_y.Chain.Cardano,fromBaseDecimal:6,value:B.toString()})}async function A({sender:G="",recipient:X,assetValue:Q,memo:B,pureLovelaceOnly:D=!1}){let L=G||await H();if(!L)throw new _y.SwapKitError("core_wallet_connection_not_found");let[w,N,z]=await Promise.all([dC(L),_U(),T()]),J=w.filter((i)=>D?i.amount.every((fy)=>fy.unit==="lovelace"):i.amount.some((fy)=>fy.unit==="lovelace")).sort((i,fy)=>{let By=i.amount.some((Zy)=>Zy.unit!=="lovelace"),wy=fy.amount.some((Zy)=>Zy.unit!=="lovelace");if(By===wy)return 0;return By?1:-1}),Y=Dy.utils.getAddressFromString(L),R=Dy.utils.getAddressFromString(X),l=qU(J,Y),q=new $y.default(Q.getBaseValue("string")),O=[{address:R,amount:q,tokens:[]}],k;if(B){let i=new Map;i.set("msg",[B]),k={metadata:[{data:i,label:674}]}}let x={...z,minFeeB:z.minFeeB.plus(z.minFeeA.times(4))},u=new Dy.Transaction({protocolParams:x}).paymentTransaction({auxiliaryData:k,changeAddress:Y,inputs:l,outputs:O,ttl:N+3600}),{payload:h}=u.buildTransaction();return{tx:u,unsignedTx:h}}async function Z(G){let X=await C();if(!X||!("signTransaction"in X))throw new _y.SwapKitError("core_wallet_connection_not_found");return X.signTransaction(G)}async function M({recipient:G,assetValue:X,memo:Q}){let B=await C();if(!B||!("signTransaction"in B))throw new _y.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:D}=await A({assetValue:X,memo:Q,recipient:G,sender:await H()}),L=await Z(D);return await KC(L)}async function W(G){let X=await Z(G);return await KC(X)}return{createTransaction:A,estimateTransactionFee:_,getAddress:H,getBalance:U,signAndBroadcastTransaction:W,signTransaction:Z,transfer:M,validateAddress:rC}}var hC,mC,cC,Dy,_y,$y,gC="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS",iC="https://cardano-mainnet.blockfrost.io/api/v0",UU,$0=2147483648,jC=0;var aC=P(()=>{hC=require("@scure/base"),mC=require("@scure/bip39"),cC=require("@stricahq/bip32ed25519"),Dy=require("@stricahq/typhonjs"),_y=require("@swapkit/helpers"),$y=U0(require("bignumber.js")),UU=Dy.types.NetworkId.MAINNET});var P0={};My(P0,{validateCardanoAddress:()=>rC,getCardanoToolbox:()=>WU});module.exports=Ny(P0);var t0=P(()=>{aC()});function Ln(y){return hy.base64.encode(Uint8Array.from(hy.bech32.fromWords(hy.bech32.decode(y).words)))}function Yn(y,n="thor"){return hy.bech32.encode(n,hy.bech32.toWords(hy.base64.decode(y)))}function QU(y){return hy.base64.encode(y)}function ZU(y){if(!y.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new sC.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return hy.base64.decode(y)}var hy,sC;var p0=P(()=>{hy=require("@scure/base"),sC=require("@swapkit/helpers")});function dy(y){switch(y){case b.Chain.Maya:return{amount:[],gas:"10000000000"};case b.Chain.THORChain:return{amount:[],gas:"500000000"};case b.Chain.Kujira:return f1;case b.Chain.Noble:return n1;default:return y1}}async function ry(y){let n=await import("@cosmjs/stargate"),o=n.StargateClient??n.default?.StargateClient,f=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return o.connect({headers:f,url:y})}async function Rf(y,n,o={}){let f=await import("@cosmjs/stargate"),T=f.SigningStargateClient??f.default?.SigningStargateClient,C=f.GasPrice??f.default?.GasPrice,H=typeof o==="string"?o:"0.0003uatom",U=typeof o==="string"?{}:o;return T.connectWithSigner(y,n,{gasPrice:C.fromString(H),...U})}async function V0(y,n){let o=await import("@cosmjs/stargate");return(o.SigningStargateClient??o.default?.SigningStargateClient).offline(y,n)}async function b0({sender:y,recipient:n,assetValue:o,memo:f="",feeRate:T,sequence:C,accountNumber:H}){let{chain:U,chainId:_}=o,A=await b.getRPCUrl(U),M=await(await ry(A)).getAccount(y);if(!M)throw new b.SwapKitError("toolbox_cosmos_account_not_found",{sender:y});let W=b.AssetValue.from({chain:U}),G=Cf(W.symbol),X=dy(U),Q=G&&T?{amount:[{amount:T.toString(),denom:G}],gas:X.gas}:X,B={amount:[{amount:o.getBaseValue("string"),denom:Cf(o.symbol)}],fromAddress:y,toAddress:n};return{accountNumber:H??Number(M.accountNumber),chainId:_,fee:Q,memo:f,msgs:[{typeUrl:JU(U),value:B}],sequence:C??M.sequence}}var b,E0="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",eC="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",y1,f1,n1,Cf=(y,n=!1)=>{if(n)return y.toLowerCase();switch(y){case"uUSK":case"USK":return E0;case"uYUM":case"YUM":return eC;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return y}},Bn=({symbol:y,chain:n})=>{if(n===b.Chain.Maya)return(y.toUpperCase()!=="CACAO"?y:`${b.Chain.Maya}.${y}`).toUpperCase();if(n===b.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(y.toUpperCase())?`${b.Chain.THORChain}.${y}`:y).toUpperCase();return Cf(y,!1)},JU=(y)=>{switch(y){case b.Chain.Maya:case b.Chain.THORChain:return"/types.MsgSend";case b.Chain.Cosmos:case b.Chain.Kujira:case b.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new b.SwapKitError("toolbox_cosmos_not_supported",{chain:y})}},MU,u0=(y,n)=>{let o=MU[y.toLowerCase()];if(!o)return b.AssetValue.from({asset:y,fromBaseDecimal:8,value:n});let{chain:f,asset:T,decimals:C}=o,H=f?{chain:f}:{asset:T};return b.AssetValue.from({...H,fromBaseDecimal:C,value:n})};var zn=P(()=>{b=require("@swapkit/helpers"),y1={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},f1={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},n1={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};MU={atom:{chain:b.Chain.Cosmos,decimals:b.getChainConfig(b.Chain.Cosmos).baseDecimal},cacao:{chain:b.Chain.Maya,decimals:10},kuji:{chain:b.Chain.Kujira,decimals:b.getChainConfig(b.Chain.Kujira).baseDecimal},maya:{asset:`${b.Chain.Maya}.${b.Chain.Maya}`,decimals:4},rune:{chain:b.Chain.THORChain,decimals:b.getChainConfig(b.Chain.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:b.getChainConfig(b.Chain.THORChain).baseDecimal},uatom:{chain:b.Chain.Cosmos,decimals:b.getChainConfig(b.Chain.Cosmos).baseDecimal},ukuji:{chain:b.Chain.Kujira,decimals:b.getChainConfig(b.Chain.Kujira).baseDecimal},usdc:{chain:b.Chain.Noble,decimals:b.getChainConfig(b.Chain.Noble).baseDecimal},uusdc:{chain:b.Chain.Noble,decimals:b.getChainConfig(b.Chain.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:b.getChainConfig(b.Chain.THORChain).baseDecimal},[E0.toLowerCase()]:{asset:`${b.Chain.Kujira}.USK`,decimals:b.getChainConfig(b.Chain.Kujira).baseDecimal}}});var T1={};My(T1,{$root:()=>I});var Ly,v,Py,E,I;var o1=P(()=>{Ly=U0(require("protobufjs/minimal.js")),v=Ly.default.Reader,Py=Ly.default.Writer,E=Ly.default.util,I=Ly.default.roots.default||(Ly.default.roots.default={});I.common=(()=>{let y={};return y.Asset=(()=>{function n(o){if(o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.chain="",n.prototype.symbol="",n.prototype.ticker="",n.prototype.synth=!1,n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=Py.create();if(f.chain!=null&&Object.hasOwnProperty.call(f,"chain"))T.uint32(10).string(f.chain);if(f.symbol!=null&&Object.hasOwnProperty.call(f,"symbol"))T.uint32(18).string(f.symbol);if(f.ticker!=null&&Object.hasOwnProperty.call(f,"ticker"))T.uint32(26).string(f.ticker);if(f.synth!=null&&Object.hasOwnProperty.call(f,"synth"))T.uint32(32).bool(f.synth);return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof v))f=v.create(f);let C=T===void 0?f.len:f.pos+T,H=new I.common.Asset;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:H.chain=f.string();break;case 2:H.symbol=f.string();break;case 3:H.ticker=f.string();break;case 4:H.synth=f.bool();break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof v))f=new v(f);return this.decode(f,f.uint32())},n.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.chain!=null&&f.hasOwnProperty("chain")){if(!E.isString(f.chain))return"chain: string expected"}if(f.symbol!=null&&f.hasOwnProperty("symbol")){if(!E.isString(f.symbol))return"symbol: string expected"}if(f.ticker!=null&&f.hasOwnProperty("ticker")){if(!E.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},n.fromObject=function(f){if(f instanceof I.common.Asset)return f;let T=new I.common.Asset;if(f.chain!=null)T.chain=String(f.chain);if(f.symbol!=null)T.symbol=String(f.symbol);if(f.ticker!=null)T.ticker=String(f.ticker);if(f.synth!=null)T.synth=Boolean(f.synth);return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.defaults)C.chain="",C.symbol="",C.ticker="",C.synth=!1;if(f.chain!=null&&f.hasOwnProperty("chain"))C.chain=f.chain;if(f.symbol!=null&&f.hasOwnProperty("symbol"))C.symbol=f.symbol;if(f.ticker!=null&&f.hasOwnProperty("ticker"))C.ticker=f.ticker;if(f.synth!=null&&f.hasOwnProperty("synth"))C.synth=f.synth;return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},n})(),y.Coin=(()=>{function n(o){if(o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.asset=null,n.prototype.amount="",n.prototype.decimals=E.Long?E.Long.fromBits(0,0,!1):0,n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=Py.create();if(f.asset!=null&&Object.hasOwnProperty.call(f,"asset"))I.common.Asset.encode(f.asset,T.uint32(10).fork()).ldelim();if(f.amount!=null&&Object.hasOwnProperty.call(f,"amount"))T.uint32(18).string(f.amount);if(f.decimals!=null&&Object.hasOwnProperty.call(f,"decimals"))T.uint32(24).int64(f.decimals);return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof v))f=v.create(f);let C=T===void 0?f.len:f.pos+T,H=new I.common.Coin;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:H.asset=I.common.Asset.decode(f,f.uint32());break;case 2:H.amount=f.string();break;case 3:H.decimals=f.int64();break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof v))f=new v(f);return this.decode(f,f.uint32())},n.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.asset!=null&&f.hasOwnProperty("asset")){let T=I.common.Asset.verify(f.asset);if(T)return"asset."+T}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!E.isString(f.amount))return"amount: string expected"}if(f.decimals!=null&&f.hasOwnProperty("decimals")){if(!E.isInteger(f.decimals)&&!(f.decimals&&E.isInteger(f.decimals.low)&&E.isInteger(f.decimals.high)))return"decimals: integer|Long expected"}return null},n.fromObject=function(f){if(f instanceof I.common.Coin)return f;let T=new I.common.Coin;if(f.asset!=null){if(typeof f.asset!=="object")throw TypeError(".common.Coin.asset: object expected");T.asset=I.common.Asset.fromObject(f.asset)}if(f.amount!=null)T.amount=String(f.amount);if(f.decimals!=null){if(E.Long)(T.decimals=E.Long.fromValue(f.decimals)).unsigned=!1;else if(typeof f.decimals==="string")T.decimals=Number.parseInt(f.decimals,10);else if(typeof f.decimals==="number")T.decimals=f.decimals;else if(typeof f.decimals==="object")T.decimals=new E.LongBits(f.decimals.low>>>0,f.decimals.high>>>0).toNumber()}return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.defaults)if(C.asset=null,C.amount="",E.Long){let H=new E.Long(0,0,!1);C.decimals=T.longs===String?H.toString():T.longs===Number?H.toNumber():H}else C.decimals=T.longs===String?"0":0;if(f.asset!=null&&f.hasOwnProperty("asset"))C.asset=I.common.Asset.toObject(f.asset,T);if(f.amount!=null&&f.hasOwnProperty("amount"))C.amount=f.amount;if(f.decimals!=null&&f.hasOwnProperty("decimals"))if(typeof f.decimals==="number")C.decimals=T.longs===String?String(f.decimals):f.decimals;else C.decimals=T.longs===String?E.Long.prototype.toString.call(f.decimals):T.longs===Number?new E.LongBits(f.decimals.low>>>0,f.decimals.high>>>0).toNumber():f.decimals;return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},n})(),y.PubKeySet=(()=>{function n(o){if(o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.secp256k1="",n.prototype.ed25519="",n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=Py.create();if(f.secp256k1!=null&&Object.hasOwnProperty.call(f,"secp256k1"))T.uint32(10).string(f.secp256k1);if(f.ed25519!=null&&Object.hasOwnProperty.call(f,"ed25519"))T.uint32(18).string(f.ed25519);return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof v))f=v.create(f);let C=T===void 0?f.len:f.pos+T,H=new I.common.PubKeySet;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:H.secp256k1=f.string();break;case 2:H.ed25519=f.string();break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof v))f=new v(f);return this.decode(f,f.uint32())},n.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.secp256k1!=null&&f.hasOwnProperty("secp256k1")){if(!E.isString(f.secp256k1))return"secp256k1: string expected"}if(f.ed25519!=null&&f.hasOwnProperty("ed25519")){if(!E.isString(f.ed25519))return"ed25519: string expected"}return null},n.fromObject=function(f){if(f instanceof I.common.PubKeySet)return f;let T=new I.common.PubKeySet;if(f.secp256k1!=null)T.secp256k1=String(f.secp256k1);if(f.ed25519!=null)T.ed25519=String(f.ed25519);return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.defaults)C.secp256k1="",C.ed25519="";if(f.secp256k1!=null&&f.hasOwnProperty("secp256k1"))C.secp256k1=f.secp256k1;if(f.ed25519!=null&&f.hasOwnProperty("ed25519"))C.ed25519=f.ed25519;return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},n})(),y.Tx=(()=>{function n(o){if(this.coins=[],this.gas=[],o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.id="",n.prototype.chain="",n.prototype.fromAddress="",n.prototype.toAddress="",n.prototype.coins=E.emptyArray,n.prototype.gas=E.emptyArray,n.prototype.memo="",n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=Py.create();if(f.id!=null&&Object.hasOwnProperty.call(f,"id"))T.uint32(10).string(f.id);if(f.chain!=null&&Object.hasOwnProperty.call(f,"chain"))T.uint32(18).string(f.chain);if(f.fromAddress!=null&&Object.hasOwnProperty.call(f,"fromAddress"))T.uint32(26).string(f.fromAddress);if(f.toAddress!=null&&Object.hasOwnProperty.call(f,"toAddress"))T.uint32(34).string(f.toAddress);if(f.coins?.length)for(let C=0;C<f.coins.length;++C)I.common.Coin.encode(f.coins[C],T.uint32(42).fork()).ldelim();if(f.gas?.length)for(let C=0;C<f.gas.length;++C)I.common.Coin.encode(f.gas[C],T.uint32(50).fork()).ldelim();if(f.memo!=null&&Object.hasOwnProperty.call(f,"memo"))T.uint32(58).string(f.memo);return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof v))f=v.create(f);let C=T===void 0?f.len:f.pos+T,H=new I.common.Tx;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:H.id=f.string();break;case 2:H.chain=f.string();break;case 3:H.fromAddress=f.string();break;case 4:H.toAddress=f.string();break;case 5:if(!H.coins?.length)H.coins=[];H.coins.push(I.common.Coin.decode(f,f.uint32()));break;case 6:if(!H.gas?.length)H.gas=[];H.gas.push(I.common.Coin.decode(f,f.uint32()));break;case 7:H.memo=f.string();break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof v))f=new v(f);return this.decode(f,f.uint32())},n.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.id!=null&&f.hasOwnProperty("id")){if(!E.isString(f.id))return"id: string expected"}if(f.chain!=null&&f.hasOwnProperty("chain")){if(!E.isString(f.chain))return"chain: string expected"}if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress")){if(!E.isString(f.fromAddress))return"fromAddress: string expected"}if(f.toAddress!=null&&f.hasOwnProperty("toAddress")){if(!E.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 T=0;T<f.coins.length;++T){let C=I.common.Coin.verify(f.coins[T]);if(C)return"coins."+C}}if(f.gas!=null&&f.hasOwnProperty("gas")){if(!Array.isArray(f.gas))return"gas: array expected";for(let T=0;T<f.gas.length;++T){let C=I.common.Coin.verify(f.gas[T]);if(C)return"gas."+C}}if(f.memo!=null&&f.hasOwnProperty("memo")){if(!E.isString(f.memo))return"memo: string expected"}return null},n.fromObject=function(f){if(f instanceof I.common.Tx)return f;let T=new I.common.Tx;if(f.id!=null)T.id=String(f.id);if(f.chain!=null)T.chain=String(f.chain);if(f.fromAddress!=null)T.fromAddress=String(f.fromAddress);if(f.toAddress!=null)T.toAddress=String(f.toAddress);if(f.coins){if(!Array.isArray(f.coins))throw TypeError(".common.Tx.coins: array expected");T.coins=[];for(let C=0;C<f.coins.length;++C){if(typeof f.coins[C]!=="object")throw TypeError(".common.Tx.coins: object expected");T.coins[C]=I.common.Coin.fromObject(f.coins[C])}}if(f.gas){if(!Array.isArray(f.gas))throw TypeError(".common.Tx.gas: array expected");T.gas=[];for(let C=0;C<f.gas.length;++C){if(typeof f.gas[C]!=="object")throw TypeError(".common.Tx.gas: object expected");T.gas[C]=I.common.Coin.fromObject(f.gas[C])}}if(f.memo!=null)T.memo=String(f.memo);return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.arrays||T.defaults)C.coins=[],C.gas=[];if(T.defaults)C.id="",C.chain="",C.fromAddress="",C.toAddress="",C.memo="";if(f.id!=null&&f.hasOwnProperty("id"))C.id=f.id;if(f.chain!=null&&f.hasOwnProperty("chain"))C.chain=f.chain;if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress"))C.fromAddress=f.fromAddress;if(f.toAddress!=null&&f.hasOwnProperty("toAddress"))C.toAddress=f.toAddress;if(f.coins?.length){C.coins=[];for(let H=0;H<f.coins.length;++H)C.coins[H]=I.common.Coin.toObject(f.coins[H],T)}if(f.gas?.length){C.gas=[];for(let H=0;H<f.gas.length;++H)C.gas[H]=I.common.Coin.toObject(f.gas[H],T)}if(f.memo!=null&&f.hasOwnProperty("memo"))C.memo=f.memo;return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},n})(),y.Fee=(()=>{function n(o){if(this.coins=[],o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.coins=E.emptyArray,n.prototype.poolDeduct="",n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=Py.create();if(f.coins?.length)for(let C=0;C<f.coins.length;++C)I.common.Coin.encode(f.coins[C],T.uint32(10).fork()).ldelim();if(f.poolDeduct!=null&&Object.hasOwnProperty.call(f,"poolDeduct"))T.uint32(18).string(f.poolDeduct);return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof v))f=v.create(f);let C=T===void 0?f.len:f.pos+T,H=new I.common.Fee;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:if(!H.coins?.length)H.coins=[];H.coins.push(I.common.Coin.decode(f,f.uint32()));break;case 2:H.poolDeduct=f.string();break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof v))f=new v(f);return this.decode(f,f.uint32())},n.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 T=0;T<f.coins.length;++T){let C=I.common.Coin.verify(f.coins[T]);if(C)return"coins."+C}}if(f.poolDeduct!=null&&f.hasOwnProperty("poolDeduct")){if(!E.isString(f.poolDeduct))return"poolDeduct: string expected"}return null},n.fromObject=function(f){if(f instanceof I.common.Fee)return f;let T=new I.common.Fee;if(f.coins){if(!Array.isArray(f.coins))throw TypeError(".common.Fee.coins: array expected");T.coins=[];for(let C=0;C<f.coins.length;++C){if(typeof f.coins[C]!=="object")throw TypeError(".common.Fee.coins: object expected");T.coins[C]=I.common.Coin.fromObject(f.coins[C])}}if(f.poolDeduct!=null)T.poolDeduct=String(f.poolDeduct);return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.arrays||T.defaults)C.coins=[];if(T.defaults)C.poolDeduct="";if(f.coins?.length){C.coins=[];for(let H=0;H<f.coins.length;++H)C.coins[H]=I.common.Coin.toObject(f.coins[H],T)}if(f.poolDeduct!=null&&f.hasOwnProperty("poolDeduct"))C.poolDeduct=f.poolDeduct;return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},n})(),y.ProtoUint=(()=>{function n(o){if(o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.value="",n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=Py.create();if(f.value!=null&&Object.hasOwnProperty.call(f,"value"))T.uint32(10).string(f.value);return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof v))f=v.create(f);let C=T===void 0?f.len:f.pos+T,H=new I.common.ProtoUint;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:H.value=f.string();break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof v))f=new v(f);return this.decode(f,f.uint32())},n.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.value!=null&&f.hasOwnProperty("value")){if(!E.isString(f.value))return"value: string expected"}return null},n.fromObject=function(f){if(f instanceof I.common.ProtoUint)return f;let T=new I.common.ProtoUint;if(f.value!=null)T.value=String(f.value);return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.defaults)C.value="";if(f.value!=null&&f.hasOwnProperty("value"))C.value=f.value;return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},n})(),y})();I.types=(()=>{let y={};return y.MsgDeposit=(()=>{function n(o){if(this.coins=[],o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.coins=E.emptyArray,n.prototype.memo="",n.prototype.signer=E.newBuffer([]),n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=Py.create();if(f.coins?.length)for(let C=0;C<f.coins.length;++C)I.common.Coin.encode(f.coins[C],T.uint32(10).fork()).ldelim();if(f.memo!=null&&Object.hasOwnProperty.call(f,"memo"))T.uint32(18).string(f.memo);if(f.signer!=null&&Object.hasOwnProperty.call(f,"signer"))T.uint32(26).bytes(f.signer);return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof v))f=v.create(f);let C=T===void 0?f.len:f.pos+T,H=new I.types.MsgDeposit;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:if(!H.coins?.length)H.coins=[];H.coins.push(I.common.Coin.decode(f,f.uint32()));break;case 2:H.memo=f.string();break;case 3:H.signer=f.bytes();break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof v))f=new v(f);return this.decode(f,f.uint32())},n.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 T=0;T<f.coins.length;++T){let C=I.common.Coin.verify(f.coins[T]);if(C)return"coins."+C}}if(f.memo!=null&&f.hasOwnProperty("memo")){if(!E.isString(f.memo))return"memo: string expected"}if(f.signer!=null&&f.hasOwnProperty("signer")){if(!(f.signer&&typeof f.signer.length==="number"||E.isString(f.signer)))return"signer: buffer expected"}return null},n.fromObject=function(f){if(f instanceof I.types.MsgDeposit)return f;let T=new I.types.MsgDeposit;if(f.coins){if(!Array.isArray(f.coins))throw TypeError(".types.MsgDeposit.coins: array expected");T.coins=[];for(let C=0;C<f.coins.length;++C){if(typeof f.coins[C]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");T.coins[C]=I.common.Coin.fromObject(f.coins[C])}}if(f.memo!=null)T.memo=String(f.memo);if(f.signer!=null){if(typeof f.signer==="string")E.base64.decode(f.signer,T.signer=E.newBuffer(E.base64.length(f.signer)),0);else if(f.signer.length)T.signer=f.signer}return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.arrays||T.defaults)C.coins=[];if(T.defaults){if(C.memo="",T.bytes===String)C.signer="";else if(C.signer=[],T.bytes!==Array)C.signer=E.newBuffer(C.signer)}if(f.coins?.length){C.coins=[];for(let H=0;H<f.coins.length;++H)C.coins[H]=I.common.Coin.toObject(f.coins[H],T)}if(f.memo!=null&&f.hasOwnProperty("memo"))C.memo=f.memo;if(f.signer!=null&&f.hasOwnProperty("signer"))C.signer=T.bytes===String?E.base64.encode(f.signer,0,f.signer.length):T.bytes===Array?Array.prototype.slice.call(f.signer):f.signer;return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},n})(),y.MsgSend=(()=>{function n(o){if(this.amount=[],o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.fromAddress=E.newBuffer([]),n.prototype.toAddress=E.newBuffer([]),n.prototype.amount=E.emptyArray,n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=Py.create();if(f.fromAddress!=null&&Object.hasOwnProperty.call(f,"fromAddress"))T.uint32(10).bytes(f.fromAddress);if(f.toAddress!=null&&Object.hasOwnProperty.call(f,"toAddress"))T.uint32(18).bytes(f.toAddress);if(f.amount?.length)for(let C=0;C<f.amount.length;++C)I.cosmos.base.v1beta1.Coin.encode(f.amount[C],T.uint32(26).fork()).ldelim();return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof v))f=v.create(f);let C=T===void 0?f.len:f.pos+T,H=new I.types.MsgSend;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:H.fromAddress=f.bytes();break;case 2:H.toAddress=f.bytes();break;case 3:if(!H.amount?.length)H.amount=[];H.amount.push(I.cosmos.base.v1beta1.Coin.decode(f,f.uint32()));break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof v))f=new v(f);return this.decode(f,f.uint32())},n.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"||E.isString(f.fromAddress)))return"fromAddress: buffer expected"}if(f.toAddress!=null&&f.hasOwnProperty("toAddress")){if(!(f.toAddress&&typeof f.toAddress.length==="number"||E.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 T=0;T<f.amount.length;++T){let C=I.cosmos.base.v1beta1.Coin.verify(f.amount[T]);if(C)return"amount."+C}}return null},n.fromObject=function(f){if(f instanceof I.types.MsgSend)return f;let T=new I.types.MsgSend;if(f.fromAddress!=null){if(typeof f.fromAddress==="string")E.base64.decode(f.fromAddress,T.fromAddress=E.newBuffer(E.base64.length(f.fromAddress)),0);else if(f.fromAddress.length)T.fromAddress=f.fromAddress}if(f.toAddress!=null){if(typeof f.toAddress==="string")E.base64.decode(f.toAddress,T.toAddress=E.newBuffer(E.base64.length(f.toAddress)),0);else if(f.toAddress.length)T.toAddress=f.toAddress}if(f.amount){if(!Array.isArray(f.amount))throw TypeError(".types.MsgSend.amount: array expected");T.amount=[];for(let C=0;C<f.amount.length;++C){if(typeof f.amount[C]!=="object")throw TypeError(".types.MsgSend.amount: object expected");T.amount[C]=I.cosmos.base.v1beta1.Coin.fromObject(f.amount[C])}}return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.arrays||T.defaults)C.amount=[];if(T.defaults){if(T.bytes===String)C.fromAddress="";else if(C.fromAddress=[],T.bytes!==Array)C.fromAddress=E.newBuffer(C.fromAddress);if(T.bytes===String)C.toAddress="";else if(C.toAddress=[],T.bytes!==Array)C.toAddress=E.newBuffer(C.toAddress)}if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress"))C.fromAddress=T.bytes===String?E.base64.encode(f.fromAddress,0,f.fromAddress.length):T.bytes===Array?Array.prototype.slice.call(f.fromAddress):f.fromAddress;if(f.toAddress!=null&&f.hasOwnProperty("toAddress"))C.toAddress=T.bytes===String?E.base64.encode(f.toAddress,0,f.toAddress.length):T.bytes===Array?Array.prototype.slice.call(f.toAddress):f.toAddress;if(f.amount?.length){C.amount=[];for(let H=0;H<f.amount.length;++H)C.amount[H]=I.cosmos.base.v1beta1.Coin.toObject(f.amount[H],T)}return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},n})(),y})();I.cosmos=(()=>{let y={};return y.base=(()=>{let n={};return n.v1beta1=(()=>{let o={};return o.Coin=(()=>{function f(T){if(T){for(let C=Object.keys(T),H=0;H<C.length;++H)if(T[C[H]]!=null)this[C[H]]=T[C[H]]}}return f.prototype.denom="",f.prototype.amount="",f.create=function(C){return new f(C)},f.encode=function(C,H){if(!H)H=Py.create();if(C.denom!=null&&Object.hasOwnProperty.call(C,"denom"))H.uint32(10).string(C.denom);if(C.amount!=null&&Object.hasOwnProperty.call(C,"amount"))H.uint32(18).string(C.amount);return H},f.encodeDelimited=function(C,H){return this.encode(C,H).ldelim()},f.decode=function(C,H){if(!(C instanceof v))C=v.create(C);let U=H===void 0?C.len:C.pos+H,_=new I.cosmos.base.v1beta1.Coin;while(C.pos<U){let A=C.uint32();switch(A>>>3){case 1:_.denom=C.string();break;case 2:_.amount=C.string();break;default:C.skipType(A&7);break}}return _},f.decodeDelimited=function(C){if(!(C instanceof v))C=new v(C);return this.decode(C,C.uint32())},f.verify=function(C){if(typeof C!=="object"||C===null)return"object expected";if(C.denom!=null&&C.hasOwnProperty("denom")){if(!E.isString(C.denom))return"denom: string expected"}if(C.amount!=null&&C.hasOwnProperty("amount")){if(!E.isString(C.amount))return"amount: string expected"}return null},f.fromObject=function(C){if(C instanceof I.cosmos.base.v1beta1.Coin)return C;let H=new I.cosmos.base.v1beta1.Coin;if(C.denom!=null)H.denom=String(C.denom);if(C.amount!=null)H.amount=String(C.amount);return H},f.toObject=function(C,H){if(!H)H={};let U={};if(H.defaults)U.denom="",U.amount="";if(C.denom!=null&&C.hasOwnProperty("denom"))U.denom=C.denom;if(C.amount!=null&&C.hasOwnProperty("amount"))U.amount=C.amount;return U},f.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},f})(),o.DecCoin=(()=>{function f(T){if(T){for(let C=Object.keys(T),H=0;H<C.length;++H)if(T[C[H]]!=null)this[C[H]]=T[C[H]]}}return f.prototype.denom="",f.prototype.amount="",f.create=function(C){return new f(C)},f.encode=function(C,H){if(!H)H=Py.create();if(C.denom!=null&&Object.hasOwnProperty.call(C,"denom"))H.uint32(10).string(C.denom);if(C.amount!=null&&Object.hasOwnProperty.call(C,"amount"))H.uint32(18).string(C.amount);return H},f.encodeDelimited=function(C,H){return this.encode(C,H).ldelim()},f.decode=function(C,H){if(!(C instanceof v))C=v.create(C);let U=H===void 0?C.len:C.pos+H,_=new I.cosmos.base.v1beta1.DecCoin;while(C.pos<U){let A=C.uint32();switch(A>>>3){case 1:_.denom=C.string();break;case 2:_.amount=C.string();break;default:C.skipType(A&7);break}}return _},f.decodeDelimited=function(C){if(!(C instanceof v))C=new v(C);return this.decode(C,C.uint32())},f.verify=function(C){if(typeof C!=="object"||C===null)return"object expected";if(C.denom!=null&&C.hasOwnProperty("denom")){if(!E.isString(C.denom))return"denom: string expected"}if(C.amount!=null&&C.hasOwnProperty("amount")){if(!E.isString(C.amount))return"amount: string expected"}return null},f.fromObject=function(C){if(C instanceof I.cosmos.base.v1beta1.DecCoin)return C;let H=new I.cosmos.base.v1beta1.DecCoin;if(C.denom!=null)H.denom=String(C.denom);if(C.amount!=null)H.amount=String(C.amount);return H},f.toObject=function(C,H){if(!H)H={};let U={};if(H.defaults)U.denom="",U.amount="";if(C.denom!=null&&C.hasOwnProperty("denom"))U.denom=C.denom;if(C.amount!=null&&C.hasOwnProperty("amount"))U.amount=C.amount;return U},f.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},f})(),o.IntProto=(()=>{function f(T){if(T){for(let C=Object.keys(T),H=0;H<C.length;++H)if(T[C[H]]!=null)this[C[H]]=T[C[H]]}}return f.prototype.int="",f.create=function(C){return new f(C)},f.encode=function(C,H){if(!H)H=Py.create();if(C.int!=null&&Object.hasOwnProperty.call(C,"int"))H.uint32(10).string(C.int);return H},f.encodeDelimited=function(C,H){return this.encode(C,H).ldelim()},f.decode=function(C,H){if(!(C instanceof v))C=v.create(C);let U=H===void 0?C.len:C.pos+H,_=new I.cosmos.base.v1beta1.IntProto;while(C.pos<U){let A=C.uint32();switch(A>>>3){case 1:_.int=C.string();break;default:C.skipType(A&7);break}}return _},f.decodeDelimited=function(C){if(!(C instanceof v))C=new v(C);return this.decode(C,C.uint32())},f.verify=function(C){if(typeof C!=="object"||C===null)return"object expected";if(C.int!=null&&C.hasOwnProperty("int")){if(!E.isString(C.int))return"int: string expected"}return null},f.fromObject=function(C){if(C instanceof I.cosmos.base.v1beta1.IntProto)return C;let H=new I.cosmos.base.v1beta1.IntProto;if(C.int!=null)H.int=String(C.int);return H},f.toObject=function(C,H){if(!H)H={};let U={};if(H.defaults)U.int="";if(C.int!=null&&C.hasOwnProperty("int"))U.int=C.int;return U},f.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},f})(),o.DecProto=(()=>{function f(T){if(T){for(let C=Object.keys(T),H=0;H<C.length;++H)if(T[C[H]]!=null)this[C[H]]=T[C[H]]}}return f.prototype.dec="",f.create=function(C){return new f(C)},f.encode=function(C,H){if(!H)H=Py.create();if(C.dec!=null&&Object.hasOwnProperty.call(C,"dec"))H.uint32(10).string(C.dec);return H},f.encodeDelimited=function(C,H){return this.encode(C,H).ldelim()},f.decode=function(C,H){if(!(C instanceof v))C=v.create(C);let U=H===void 0?C.len:C.pos+H,_=new I.cosmos.base.v1beta1.DecProto;while(C.pos<U){let A=C.uint32();switch(A>>>3){case 1:_.dec=C.string();break;default:C.skipType(A&7);break}}return _},f.decodeDelimited=function(C){if(!(C instanceof v))C=new v(C);return this.decode(C,C.uint32())},f.verify=function(C){if(typeof C!=="object"||C===null)return"object expected";if(C.dec!=null&&C.hasOwnProperty("dec")){if(!E.isString(C.dec))return"dec: string expected"}return null},f.fromObject=function(C){if(C instanceof I.cosmos.base.v1beta1.DecProto)return C;let H=new I.cosmos.base.v1beta1.DecProto;if(C.dec!=null)H.dec=String(C.dec);return H},f.toObject=function(C,H){if(!H)H={};let U={};if(H.defaults)U.dec="";if(C.dec!=null&&C.hasOwnProperty("dec"))U.dec=C.dec;return U},f.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},f})(),o})(),n})(),y})()});async function kf(){let{$root:y}=await Promise.resolve().then(() => (o1(),T1)),n=await import("@cosmjs/proto-signing"),o=n.Registry??n.default?.Registry,f=await import("@cosmjs/stargate"),T=f.defaultRegistryTypes??f.default?.defaultRegistryTypes;return new o([...T,["/types.MsgSend",y.types.MsgSend],["/types.MsgDeposit",y.types.MsgDeposit]])}async function Hf(y){let n=await import("@cosmjs/stargate"),o=n.AminoTypes??n.default?.AminoTypes,f=y===C1.Chain.THORChain?"thorchain":"mayachain";return new o({"/types.MsgDeposit":{aminoType:`${f}/MsgDeposit`,fromAmino:({signer:T,...C})=>({...C,signer:Ln(T)}),toAmino:({signer:T,...C})=>({...C,signer:Yn(T)})},"/types.MsgSend":{aminoType:`${f}/MsgSend`,fromAmino:({from_address:T,to_address:C,...H})=>({...H,fromAddress:Ln(T),toAddress:Ln(C)}),toAmino:({fromAddress:T,toAddress:C,...H})=>({...H,from_address:Yn(T),to_address:Yn(C)})}})}var C1;var v0=P(()=>{p0();C1=require("@swapkit/helpers")});function h0(y){let{assetValue:n,recipient:o,memo:f,sender:T,asSignable:C,asAminoMessage:H}=y;if(o)return U1({asAminoMessage:H,asSignable:C,assetValue:n,memo:f,recipient:o,sender:T});return _1({asAminoMessage:H,asSignable:C,assetValue:n,memo:f,sender:T})}async function U1({sender:y,recipient:n,assetValue:o,memo:f="",asSignable:T=!0,asAminoMessage:C=!1,sequence:H,accountNumber:U}){let _=o.chain,A=await Ry.getRPCUrl(_),Z=await H1({rpcUrl:A,sender:y}),{chainId:M}=Ry.getChainConfig(_),W=j0({assetValue:o,recipient:n,sender:y}),G=T?await Uf(C?W:_f(W),_):W;return{accountNumber:U||Number(Z.accountNumber),chainId:M,fee:dy(_),memo:f,msgs:[G],sequence:H||Z.sequence}}async function _1({sender:y,assetValue:n,memo:o="",asSignable:f=!0,asAminoMessage:T=!1,sequence:C,accountNumber:H}){let U=n.chain,_=await Ry.getRPCUrl(U),A=await H1({rpcUrl:_,sender:y}),{chainId:Z}=Ry.getChainConfig(U),M=K0({assetValue:n,memo:o,sender:y}),W=f?await Uf(T?M:_f(M),U):M;return{accountNumber:H||Number(A.accountNumber),chainId:Z,fee:dy(U),memo:o,msgs:[W],sequence:C||A.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((n)=>{let o=Ry.AssetValue.from({asset:n.asset}),f=(o.isSynthetic?o.symbol.split("/")?.[1]:o.symbol)?.toUpperCase(),T=(o.isSynthetic?o.symbol.split("/")?.[0]:o.chain)?.toUpperCase();return{...n,asset:{chain:T,symbol:f,synth:o.isSynthetic,ticker:o.ticker}}})}}}async function Nn({chain:y,memo:n,msgs:o}){let f=await kf(),T=await Hf(y),C={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:n,messages:o.map((H)=>T.fromAmino(H))}};return f.encode(C)}var Ry,LU,YU,j0=({sender:y,recipient:n,assetValue:o})=>{return{type:`${o.chain===Ry.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:o.getBaseValue("string"),denom:Cf(o.symbol,!0)}],from_address:y,to_address:n}}},K0=({sender:y,assetValue:n,memo:o=""})=>{return{type:`${n.chain===Ry.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:n.getBaseValue("string"),asset:Bn(n)}],memo:o,signer:y}}},ZT=({sender:y,recipient:n,assetValue:o,memo:f})=>{return!n?K0({assetValue:o,memo:f,sender:y}):j0({assetValue:o,recipient:n,sender:y})},Uf=async(y,n)=>{return(await Hf(n)).fromAmino(y)},H1=async({rpcUrl:y,sender:n})=>{let f=await(await ry(y)).getAccount(n);if(!f)throw new Ry.SwapKitError("toolbox_cosmos_account_not_found",{sender:n});return f};var A1=P(()=>{zn();v0();Ry=require("@swapkit/helpers"),LU=dy(Ry.Chain.THORChain).gas,YU=dy(Ry.Chain.Maya).gas});var q1=()=>{};var G1=P(()=>{q1()});var m0=P(()=>{p0();A1();v0();G1()});async function i0(y,n){try{let f=(await g0.SwapKitApi.getGasRate()).find((T)=>T.chainId===y)?.value;return f?Number.parseFloat(f):n}catch{return n}}async function c0({phrase:y,prefix:n,...o}){let f="derivationPath"in o?o.derivationPath:`${t.DerivationPath[o.chain]}/${o.index}`;return await J1.DirectSecp256k1HdWallet.fromMnemonic(y,{hdPaths:[Z1.stringToPath(f)],prefix:n})}async function BU({privateKey:y,prefix:n}){let o=await import("@cosmjs/proto-signing");return(o.DirectSecp256k1Wallet??o.default?.DirectSecp256k1Wallet).fromKey(y,n)}function M1(y){return async function({signature:o,message:f,address:T}){let C=await y(T);if(!C?.pubkey)throw new t.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let H=await import("@cosmjs/crypto"),U=H.Secp256k1Signature??H.default?.Secp256k1Signature,_=H.Secp256k1??H.default?.Secp256k1,A=U.fromFixedLength(Af.base64.decode(o));return _.verifySignature(A,Af.base64.decode(f),C.pubkey.value)}}function wn({chain:y,...n}){let o=t.CosmosChainPrefixes[y],f="index"in n?n.index||0:0,T=t.derivationPathToString("derivationPath"in n&&n.derivationPath?n.derivationPath:t.updateDerivationPath(t.NetworkDerivationPath[y],{index:f})),C;async function H(){if(C)return C;return C=await On.match(n).with({phrase:On.P.string},({phrase:G})=>c0({derivationPath:T,phrase:G,prefix:o})).with({signer:On.P.any},({signer:G})=>G).otherwise(()=>{return}),C}async function U(G){let X=await t.getRPCUrl(y);return(await ry(X)).getAccount(G)}async function _(){let G=await H(),[X]=await G?.getAccounts()||[];return X?.address}async function A(){let G=await H(),[X]=await G?.getAccounts()||[];if(!X?.pubkey)throw new t.SwapKitError("toolbox_cosmos_signer_not_defined");return Af.base64.encode(X?.pubkey)}async function Z(G){let X=await H(),Q=await _(),B=await t.getRPCUrl(y);if(!(X&&Q))throw new t.SwapKitError("toolbox_cosmos_signer_not_defined");return await(await Rf(B,X)).sign(Q,G.msgs,G.fee,G.memo,{accountNumber:BigInt(G.accountNumber),chainId:G.chainId,sequence:G.sequence})}async function M(G){let X=await H(),Q=await _(),B=await t.getRPCUrl(y);if(!(X&&Q))throw new t.SwapKitError("toolbox_cosmos_signer_not_defined");let L=await(await Rf(B,X)).signAndBroadcast(Q,G.msgs,G.fee,G.memo);if(L.code!==0)throw new t.SwapKitError("core_swap_transaction_error",{code:L.code,message:L.rawLog});return L.transactionHash}async function W({recipient:G,assetValue:X,memo:Q="",feeRate:B,feeOptionKey:D=t.FeeOption.Fast}){let L=await H(),w=await _();if(!(L&&w))throw new t.SwapKitError("toolbox_cosmos_signer_not_defined");let N=await t.getRPCUrl(y),z=t.AssetValue.from({chain:y}),J=Bn(z),Y=B||OU((await W1(y,X1[y]))[D],J),R=await Rf(N,L),l=Cf(X.symbol),q=[{amount:X.getBaseValue("string"),denom:l}],{transactionHash:O}=await R.sendTokens(w,G,q,Y,Q);return O}return{createPrivateKeyFromPhrase:DU(T),createTransaction:b0,fetchFeeRateFromSwapKit:i0,getAccount:U,getAddress:_,getBalance:async(G,X)=>{let Q=await Q1(y)(G),B=await Promise.all(Q.filter(({denom:D})=>D&&!D.includes("IBC/")&&!([t.Chain.THORChain,t.Chain.Maya].includes(y)&&D.split("-").length>2)).map(({denom:D,amount:L})=>{let w=[t.Chain.THORChain,t.Chain.Maya].includes(y)&&(D.includes("/")||D.includes("˜"))?`${y}.${D}`:D;return u0(w,L)}));if(B.length===0)return[t.AssetValue.from({chain:y})];return B},getBalanceAsDenoms:Q1(y),getFees:()=>W1(y,X1[y]),getPubKey:A,getSignerFromPhrase:({phrase:G,derivationPath:X})=>c0({derivationPath:t.derivationPathToString(X),index:f,phrase:G,prefix:o}),getSignerFromPrivateKey:async(G)=>{let X=await import("@cosmjs/proto-signing");return(X.DirectSecp256k1Wallet??X.default?.DirectSecp256k1Wallet).fromKey(G,o)},signAndBroadcastTransaction:M,signTransaction:Z,transfer:W,validateAddress:L1(y),verifySignature:M1(U)}}async function zU(y,n){try{let f=(await g0.SwapKitApi.getGasRate()).find((T)=>T.chainId===y)?.value;return f?Number.parseFloat(f):n}catch{return n}}function NU({assetValue:{chain:y}}){return t.AssetValue.from({chain:y,value:wU(y)})}async function W1(y,n){let{chainId:o,baseDecimal:f}=t.getChainConfig(y),T=await i0(o,n);return{average:t.SwapKitNumber.fromBigInt(BigInt(T),f),fast:t.SwapKitNumber.fromBigInt(BigInt(t.applyFeeMultiplier(T,t.FeeOption.Fast,!0)),f),fastest:t.SwapKitNumber.fromBigInt(BigInt(t.applyFeeMultiplier(T,t.FeeOption.Fastest,!0)),f)}}function OU(y,n){return{amount:[{amount:y.getBaseValue("string"),denom:n}],gas:"200000"}}function wU(y){return{[t.Chain.Cosmos]:0.007,[t.Chain.Kujira]:0.02,[t.Chain.Noble]:0.01,[t.Chain.THORChain]:0.02,[t.Chain.Maya]:0.02,[t.Chain.Harbor]:0.02}[y]||0}function L1(y){let n=t.CosmosChainPrefixes[y];return function(f){if(!f.startsWith(n))return!1;try{let{prefix:T,words:C}=Af.bech32.decode(f);return Af.bech32.encode(T,C)===f.toLocaleLowerCase()}catch{return!1}}}function Q1(y){return async function(o){let f=await t.getRPCUrl(y);return(await(await ry(f)).getAllBalances(o)).map((U)=>({...U,denom:U.denom.includes("/")?U.denom.toUpperCase():U.denom}))}}function DU(y){return async function(o){let f=await import("@cosmjs/crypto"),T=f.stringToPath??f.default?.stringToPath,C=f.Slip10Curve??f.default?.Slip10Curve,H=f.Slip10??f.default?.Slip10,U=f.EnglishMnemonic??f.default?.EnglishMnemonic,_=f.Bip39??f.default?.Bip39,A=new U(o),Z=await _.mnemonicToSeed(A),{privkey:M}=H.derivePath(C.Secp256k1,Z,T(y));return M}}var Z1,J1,Af,t,g0,On,X1;var JT=P(()=>{zn();Z1=require("@cosmjs/crypto"),J1=require("@cosmjs/proto-signing"),Af=require("@scure/base"),t=require("@swapkit/helpers"),g0=require("@swapkit/helpers/api"),On=require("ts-pattern");X1={[t.Chain.Cosmos]:1000,[t.Chain.Kujira]:1000,[t.Chain.Noble]:1000,[t.Chain.THORChain]:5000000,[t.Chain.Maya]:5000000,[t.Chain.Harbor]:5000000}});function RU({prefix:y,derivationPath:n}){return async function(f,T=0){let C=await import("@cosmjs/amino"),H=C.Secp256k1HdWallet??C.default?.Secp256k1HdWallet,U=await import("@cosmjs/crypto"),_=U.stringToPath??U.default?.stringToPath;return H.fromMnemonic(f,{hdPaths:[_(`${n}/${T}`)],prefix:y})}}function kU(y){return qf.base64.encode(y)}function lU(y){return async function({wallet:o,tx:f}){let{msgs:T,accountNumber:C,sequence:H,chainId:U,fee:_,memo:A}=typeof f==="string"?JSON.parse(f):f,Z=(await o.getAccounts())?.[0]?.address||"",M=await Hf(y),W=await kf(),G=await V0(o,{aminoTypes:M,registry:W}),X=[];for(let D of T){let L=await Uf(D,y);X.push(L)}let{signatures:[Q]}=await G.sign(Z,X,_,A,{accountNumber:BigInt(C),chainId:U,sequence:H});return{bodyBytes:await Nn({chain:y,memo:A,msgs:T.map(_f)}),signature:kU(Q)}}}function SU({prefix:y,chain:n}){return async function(f,T,C,H,U){let _=await s.getRPCUrl(n),{encodeSecp256k1Pubkey:A,pubkeyToAddress:Z}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:M}=(await import("@cosmjs/stargate")).default,{sequence:W,fee:G}=JSON.parse(f),X=await Y1(C,H),Q=T.map((L)=>[Z(A(qf.base64.decode(L.pubKey)),y),qf.base64.decode(L.signature)]),B=await ry(_),{transactionHash:D}=await B.broadcastTx(M(X,W,G,U,new Map(Q)));return D}}async function Y1(y,n,o=!0){let{createMultisigThresholdPubkey:f,encodeSecp256k1Pubkey:T}=(await import("@cosmjs/amino")).default;return f(y.map((C)=>T(qf.base64.decode(C))),n,o)}function xU(y){return qf.base64.decode(y)}async function FU({privateKey:y,message:n}){let{Secp256k1:o}=(await import("@cosmjs/crypto")).default,f=await o.createSignature(qf.base64.decode(n),y);return qf.base64.encode(Buffer.concat([f.r(32),f.s(32)]))}function d0({chain:y,...n}){let{isStagenet:o}=s.SKConfig.get("envs"),f=s.SKConfig.get("thornodeUrls"),T=y===s.Chain.Maya,C=Kf.match({isMayachain:T,isStagenet:o}).with({isMayachain:!0},({isStagenet:L})=>L?f.MAYA_STAGENET:f.MAYA).otherwise(({isStagenet:L})=>L?f.THOR_STAGENET:f.THOR),H=`${o?"s":""}${s.CosmosChainPrefixes[y]}`,U="index"in n?n.index||0:0,_="derivationPath"in n&&n.derivationPath?n.derivationPath:s.updateDerivationPath(s.NetworkDerivationPath[y],{index:U}),A=wn({chain:y,...n}),Z=dy(y),M;function W(){return M??=Kf.match(n).with({phrase:Kf.P.string},({phrase:L})=>A.getSignerFromPhrase({derivationPath:_,phrase:L})).with({signer:Kf.P.any},({signer:L})=>Promise.resolve(L)).otherwise(()=>Promise.resolve(void 0)),M}async function G(){let L=await s.getRPCUrl(y),w=await W();if(!w)throw new s.SwapKitError("toolbox_cosmos_no_signer");let N=await kf(),z=await Hf(y),J=await Rf(L,w,{aminoTypes:z,registry:N});return{signer:w,signingClient:J}}async function X({fee:L,memo:w,msgs:N}){let{signer:z,signingClient:J}=await G(),Y=(await z.getAccounts())?.[0]?.address;if(!Y)throw new s.SwapKitError("toolbox_cosmos_signer_not_defined");let R=await J.signAndBroadcast(Y,N,L,w);if(R.code!==0)throw new s.SwapKitError("core_swap_transaction_error",{code:R.code,message:R.rawLog});return R.transactionHash}async function Q(){let L,w=`${C}/${T?"mayachain":"thorchain"}/constants`;try{let{int_64_values:{NativeTransactionFee:N}}=await s.RequestClient.get(w);if(!N||Number.isNaN(N)||N<0)throw new s.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:N.toString()});L=new s.SwapKitNumber(N)}catch{L=new s.SwapKitNumber({decimal:s.getChainConfig(y).baseDecimal,value:T?1:0.02})}return{[s.FeeOption.Average]:L,[s.FeeOption.Fast]:L,[s.FeeOption.Fastest]:L}}async function B({assetValue:L,memo:w="",recipient:N}){let{TxRaw:z}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),{signer:J,signingClient:Y}=await G(),R=(await J.getAccounts())?.[0]?.address;if(!R)throw new s.SwapKitError("toolbox_cosmos_no_signer");let l="signAmino"in J,q=ZT({assetValue:L,memo:w,recipient:N,sender:R});if(l){let x=await Uf(q,y),{signatures:F,authInfoBytes:u}=await Y.sign(R,[x],Z,w),h=z.encode({authInfoBytes:u,bodyBytes:await Nn({chain:y,memo:w,msgs:[q].map(_f)}),signatures:F}).finish();return(await Y.broadcastTx(h)).transactionHash}let O=_f(q),k=await Uf(O,y);return X({fee:Z,memo:w,msgs:[k]})}async function D(L){let{signer:w,signingClient:N}=await G(),z=(await w.getAccounts())?.[0]?.address;if(!z)throw new s.SwapKitError("toolbox_cosmos_signer_not_defined");return N.sign(z,L.msgs,L.fee,L.memo,{accountNumber:BigInt(L.accountNumber),chainId:L.chainId,sequence:L.sequence})}return{...A,broadcastMultisigTx:SU({chain:y,prefix:H}),buildAminoMsg:ZT,buildEncodedTxBody:Nn,convertToSignable:Uf,createDefaultAminoTypes:()=>Hf(y),createDefaultRegistry:kf,createMultisig:Y1,createTransaction:h0,deposit:B,getFees:Q,importSignature:xU,parseAminoMessageForDirectSigning:_f,pubkeyToAddress:async(L)=>{let{pubkeyToAddress:w}=(await import("@cosmjs/amino")).default;return w(L,H)},secp256k1HdWalletFromMnemonic:RU({derivationPath:s.derivationPathToString(_),prefix:H}),signAndBroadcastTransaction:X,signMultisigTx:lU(y),signTransaction:D,signWithPrivateKey:FU,transfer:B}}var qf,s,Kf;var r0=P(()=>{m0();zn();JT();qf=require("@scure/base"),s=require("@swapkit/helpers"),Kf=require("ts-pattern")});var Gf,$U=(y,n)=>{switch(y){case Gf.Chain.Cosmos:case Gf.Chain.Kujira:case Gf.Chain.Noble:return wn({chain:y,...n});case Gf.Chain.Maya:case Gf.Chain.THORChain:return d0({chain:y,...n});default:throw new Gf.SwapKitError("toolbox_cosmos_not_supported",{chain:y})}};var B1=P(()=>{JT();r0();Gf=require("@swapkit/helpers");JT();r0()});var MT={};My(MT,{verifySignature:()=>M1,transferMsgAmino:()=>j0,toBase64:()=>QU,parseAminoMessageForDirectSigning:()=>_f,getSignerFromPrivateKey:()=>BU,getSignerFromPhrase:()=>c0,getMsgSendDenom:()=>Cf,getFeeRateFromSwapKit:()=>zU,getDenomWithChain:()=>Bn,getDefaultChainFee:()=>dy,getCosmosToolbox:()=>$U,getCosmosAddressValidator:()=>L1,getAssetFromDenom:()=>u0,fromBase64:()=>ZU,fetchFeeRateFromSwapKit:()=>i0,estimateTransactionFee:()=>NU,depositMsgAmino:()=>K0,createTransaction:()=>h0,createThorchainToolbox:()=>d0,createStargateClient:()=>ry,createSigningStargateClient:()=>Rf,createOfflineStargateClient:()=>V0,createDefaultRegistry:()=>kf,createDefaultAminoTypes:()=>Hf,createCosmosToolbox:()=>wn,cosmosCreateTransaction:()=>b0,convertToSignable:()=>Uf,buildTransferTx:()=>U1,buildEncodedTxBody:()=>Nn,buildDepositTx:()=>_1,buildAminoMsg:()=>ZT,bech32ToBase64:()=>Ln,base64ToBech32:()=>Yn,YUM_KUJIRA_FACTORY_DENOM:()=>eC,USK_KUJIRA_FACTORY_DENOM:()=>E0,THORCHAIN_GAS_VALUE:()=>LU,MAYA_GAS_VALUE:()=>YU,DEFAULT_NOBLE_FEE_MAINNET:()=>n1,DEFAULT_KUJI_FEE_MAINNET:()=>f1,DEFAULT_COSMOS_FEE_MAINNET:()=>y1});module.exports=Ny(MT);var LT=P(()=>{m0();B1();zn()});function IU({builder:y,grouping:n="na",orders:o}){return{builder:y,grouping:n,orders:o,type:"order"}}function PU({cancels:y}){return{cancels:y,type:"cancel"}}function tU({cancels:y}){return{cancels:y,type:"cancelByCloid"}}function pU({oid:y,order:n}){return{oid:y,order:n,type:"modify"}}function EU({modifies:y}){return{modifies:y,type:"batchModify"}}function VU({asset:y,isCross:n,leverage:o}){return{asset:y,isCross:n,leverage:o,type:"updateLeverage"}}function bU({asset:y,isBuy:n,ntli:o}){return{asset:y,isBuy:n,ntli:o,type:"updateIsolatedMargin"}}function uU({asset:y,leverage:n}){return{asset:y,leverage:n,type:"topUpIsolatedOnlyMargin"}}function vU({time:y}){return{time:y,type:"scheduleCancel"}}function jU({amount:y,hyperliquidChain:n,nonce:o,signatureChainId:f,toPerp:T}){return{amount:y,hyperliquidChain:n,nonce:o,signatureChainId:f,toPerp:T,type:"usdClassTransfer"}}function KU({amount:y,destination:n,destinationDex:o,fromSubAccount:f,hyperliquidChain:T,nonce:C,signatureChainId:H,sourceDex:U,token:_}){return{amount:y,destination:n,destinationDex:o,fromSubAccount:f,hyperliquidChain:T,nonce:C,signatureChainId:H,sourceDex:U,token:_,type:"sendAsset"}}function hU({agentAddress:y,agentName:n,hyperliquidChain:o,nonce:f,signatureChainId:T}){return{agentAddress:y,agentName:n,hyperliquidChain:o,nonce:f,signatureChainId:T,type:"approveAgent"}}function mU({builder:y,hyperliquidChain:n,maxFeeRate:o,nonce:f,signatureChainId:T}){return{builder:y,hyperliquidChain:n,maxFeeRate:o,nonce:f,signatureChainId:T,type:"approveBuilderFee"}}function cU({hyperliquidChain:y,isUndelegate:n,nonce:o,signatureChainId:f,validator:T,wei:C}){return{hyperliquidChain:y,isUndelegate:n,nonce:o,signatureChainId:f,type:"tokenDelegate",validator:T,wei:C}}function xy(...y){let n=y.reduce((T,C)=>T+C.length,0),o=new Uint8Array(n),f=0;for(let T of y)o.set(T,f),f+=T.length;return o}function sU(y,n,o){if(o<n)return new Uint8Array([y+o]);if(o<=255)return new Uint8Array([y+n,o]);if(o<=65535)return new Uint8Array([y+n+1,o>>8,o&255]);return new Uint8Array([y+n+2,o>>>24&255,o>>>16&255,o>>>8&255,o&255])}function Xf(y,n){let o=new Uint8Array(n),f=y;for(let T=n-1;T>=0;T-=1)o[T]=Number(f&0xffn),f>>=8n;return o}function z1(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 xy(new Uint8Array([205]),Xf(y,2));if(y<=0xffffffffn)return xy(new Uint8Array([206]),Xf(y,4));return xy(new Uint8Array([207]),Xf(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 xy(new Uint8Array([209]),Xf(BigInt.asUintN(16,y),2));if(y>=-2147483648n)return xy(new Uint8Array([210]),Xf(BigInt.asUintN(32,y),4));return xy(new Uint8Array([211]),Xf(BigInt.asUintN(64,y),8))}function w1(y){let n=aU.encode(y);if(n.length<32)return xy(new Uint8Array([160+n.length]),n);return xy(sU(217,0,n.length),n)}function eU(y){let n=y.map((f)=>a0(f)),o=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 xy(o,...n)}function y2(y){let n=Object.entries(y).filter(([,f])=>typeof f<"u"),o=n.length<16?new Uint8Array([128+n.length]):n.length<=65535?new Uint8Array([222,n.length>>8,n.length&255]):new Uint8Array([223,n.length>>>24&255,n.length>>>16&255,n.length>>>8&255,n.length&255]);return xy(o,...n.flatMap(([f,T])=>[w1(f),a0(T)]))}function a0(y){if(y===null)return new Uint8Array([192]);if(typeof y==="boolean")return new Uint8Array([y?195:194]);if(typeof y==="string")return w1(y);if(typeof y==="number"){if(!Number.isFinite(y)||!Number.isInteger(y))throw new YT.SwapKitError("helpers_invalid_params",{message:"Hyperliquid msgpack only supports integers"});return z1(BigInt(y))}if(typeof y==="bigint")return z1(y);if(y instanceof Uint8Array){let n=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 xy(n,y)}if(Array.isArray(y))return eU(y);if(typeof y==="object")return y2(y);throw new YT.SwapKitError("helpers_invalid_params",{message:`Unsupported Hyperliquid msgpack value: ${String(y)}`})}function f2(y){let n=y.startsWith("0x")?y.slice(2):y;if(n.length%2!==0||/[^a-fA-F0-9]/u.test(n))throw new YT.SwapKitError("helpers_invalid_params",{hexValue:y});let o=new Uint8Array(n.length/2);for(let f=0;f<n.length;f+=2)o[f/2]=Number.parseInt(n.slice(f,f+2),16);return o}function D1(y){return{domain:gU,message:{connectionId:y,source:"a"},primaryType:"Agent",types:{Agent:[...iU.Agent]}}}function R1(y){let n=rU[y.type],o=dU[y.type],{type:f,...T}=y;return{domain:{chainId:Number.parseInt(T.signatureChainId||"0xa4b1",16),name:"HyperliquidSignTransaction",verifyingContract:N1,version:"1"},message:{...T,hyperliquidChain:T.hyperliquidChain||O1},primaryType:n,types:{[n]:o}}}function k1(y){let n=BT.Signature.from(y);return{r:n.r,s:n.s,v:n.v}}function l1(y,n,{expiresAfter:o,vaultAddress:f}={}){let T=a0(y),C=Xf(BigInt(n),8),H=f?xy(new Uint8Array([1]),f2(f.toLowerCase())):new Uint8Array([0]),U=typeof o==="number"?xy(new Uint8Array([0]),Xf(BigInt(o),8)):new Uint8Array;return BT.keccak256(xy(T,C,H,U))}function S1(y){let n=y.hyperliquidChain||O1;switch(y.type){case"approveAgent":return{...y,agentAddress:y.agentAddress.toLowerCase(),hyperliquidChain:n};case"approveBuilderFee":return{...y,builder:y.builder.toLowerCase(),hyperliquidChain:n};case"sendAsset":return{...y,destination:y.destination.toLowerCase(),fromSubAccount:y.fromSubAccount.toLowerCase(),hyperliquidChain:n};case"tokenDelegate":return{...y,hyperliquidChain:n,validator:y.validator.toLowerCase()};case"usdClassTransfer":return{...y,hyperliquidChain:n};default:return y}}var YT,BT,N1="0x0000000000000000000000000000000000000000",gU,iU,O1="Mainnet",dU,rU,aU;var x1=P(()=>{YT=require("@swapkit/helpers"),BT=require("ethers"),gU={chainId:1337,name:"Exchange",verifyingContract:N1,version:"1"},iU={Agent:[{name:"source",type:"string"},{name:"connectionId",type:"bytes32"}]},dU={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"}]},rU={approveAgent:"HyperliquidTransaction:ApproveAgent",approveBuilderFee:"HyperliquidTransaction:ApproveBuilderFee",sendAsset:"HyperliquidTransaction:SendAsset",tokenDelegate:"HyperliquidTransaction:TokenDelegate",usdClassTransfer:"HyperliquidTransaction:UsdClassTransfer"},aU=new TextEncoder});function Ey(y,n){if(!yo(y))throw new yy.SwapKitError(n,{address:y});return y.toLowerCase()}async function lf(y){let n=await zT();return yy.RequestClient.post(`${n}/info`,{json:y})}function _2({dex:y,user:n}){return lf({...y?{dex:y}:{},type:"clearinghouseState",user:Ey(n,"helpers_invalid_params")})}function A2({user:y}){return lf({type:"spotClearinghouseState",user:Ey(y,"helpers_invalid_params")})}function q2({dex:y,user:n}){return lf({...y?{dex:y}:{},type:"openOrders",user:Ey(n,"helpers_invalid_params")})}function G2({dex:y,user:n}){return lf({...y?{dex:y}:{},type:"frontendOpenOrders",user:Ey(n,"helpers_invalid_params")})}function X2({oidOrCloid:y,user:n}){return lf({oid:y,type:"orderStatus",user:Ey(n,"helpers_invalid_params")})}function W2({aggregateByTime:y,user:n}){return lf({...typeof y==="boolean"?{aggregateByTime:y}:{},type:"userFills",user:Ey(n,"helpers_invalid_params")})}function Q2({aggregateByTime:y,endTime:n,startTime:o,user:f}){return lf({...typeof y==="boolean"?{aggregateByTime:y}:{},...typeof n==="number"?{endTime:n}:{},startTime:o,type:"userFillsByTime",user:Ey(f,"helpers_invalid_params")})}function F1({coin:y,token:n,value:o,spotMeta:f}){if(!o||Number(o)<=0)return null;let T=y?.toUpperCase()||`TOKEN-${n||"UNKNOWN"}`,C=n2[T]||P1,H=f?.tokens?.find((_)=>_.name===y||n!==void 0&&_.index===Number(n)),U=H?`${my}.${T}-${H.name}:${H.tokenId}`:`${my}.${T}`;return new yy.AssetValue({decimal:C,identifier:U,value:o})}function Z2(y){let n=new Map;for(let o of y){let f=o.toString({includeSynthProtocol:!0}),T=n.get(f);n.set(f,T?T.add(o):o)}if(![...n.values()].some((o)=>o.isGasAsset||o.ticker==="HYPE")){let o=yy.AssetValue.from({chain:my,value:0});n.set(o.toString({includeSynthProtocol:!0}),o)}return[...n.values()]}async function zT(){try{return await yy.getRPCUrl(my)}catch{let[y]=yy.getChainConfig(my).rpcUrls;if(!y)throw new yy.SwapKitError("helpers_chain_no_public_or_set_rpc_url",{chain:my});return y}}async function e0(){return`${await zT()}/exchange`}function J2(y){let n=U2[y.type],{type:o,...f}=y,T=H2[o];return{domain:{chainId:Number.parseInt(y.signatureChainId,16),name:"HyperliquidSignTransaction",verifyingContract:C2,version:"1"},message:f,primaryType:n,types:{[n]:T}}}async function t1({action:y,expiresAfter:n,nonce:o,vaultAddress:f}){let T=o||Date.now(),C=f?Ey(f,"helpers_invalid_params"):void 0,H=await e0(),U=l1(y,T,{expiresAfter:n,vaultAddress:C});return{action:y,endpoint:H,expiresAfter:n,nonce:T,typedData:D1(U),vaultAddress:C}}async function p1({action:y,nonce:n,signatureChainId:o}){let f=n||y.nonce||Date.now(),T=o||y.signatureChainId||"0xa4b1",C=S1({...y,nonce:f,signatureChainId:T});return{action:C,endpoint:await e0(),nonce:f,typedData:R1(C)}}async function s0({assetValue:y,recipient:n,sender:o,signatureChainId:f,time:T}){let C=Ey(n,"core_transaction_invalid_recipient_address"),H=Ey(o,"core_transaction_invalid_sender_address"),U=await e0(),_=y.getValue("string"),A=T||Date.now(),Z=y.address;if(!Z)throw new yy.SwapKitError("helpers_invalid_params",{asset:y.toString(),from:H});let M={amount:_,destination:C,hyperliquidChain:T2,signatureChainId:f||o2,time:A,token:Z,type:"spotSend"};return{action:M,endpoint:U,nonce:A,typedData:J2(M)}}async function $1(y){let n=await yy.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(n.status!=="ok")throw new yy.SwapKitError("core_transaction_failed",{response:n});return n}async function M2(y,n){let o=await zT(),f=n-5000;for(let T=0;T<5;T++){if(T>0)await new Promise((C)=>setTimeout(C,1000));try{let C=await yy.RequestClient.post(`${o}/info`,{json:{startTime:f,type:"userNonFundingLedgerUpdates",user:y}}),H=Array.isArray(C)?C.find((U)=>U.time&&U.time>=n&&(U.delta?.type==="spotTransfer"||U.delta?.type==="internalTransfer")):void 0;if(H?.hash)return H.hash}catch{}}return""}function yo(y){return y.startsWith("0x")&&Wn(y)}function L2(y){let n=Sy(my),o=y&&"index"in y?y.index||0:0,f=yy.derivationPathToString(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:yy.updateDerivationPath(yy.NetworkDerivationPath[my],{index:o})),T,C=!1;function H(){if(C)return T;return T=hf.match(y).with({phrase:hf.P.string},({phrase:W})=>{return I1.HDNodeWallet.fromPhrase(W,void 0,f)}).with({signer:hf.P.not(hf.P.nullish)},({signer:W})=>W).otherwise(()=>{return}),C=!0,T}async function U(){let W=H();return W?await W.getAddress():""}async function _(W){let G=H();if(!G)throw new yy.SwapKitError("toolbox_hypercore_no_signer");let X=await G.signTypedData(W.typedData.domain,W.typedData.types,W.typedData.message);return{action:W.action,endpoint:W.endpoint,nonce:W.nonce,signature:k1(X),..."expiresAfter"in W?{expiresAfter:W.expiresAfter}:{},..."vaultAddress"in W?{vaultAddress:W.vaultAddress}:{}}}async function A(W){let G=Ey(W,"helpers_invalid_params");try{let X=await zT(),[Q,B,D]=await Promise.all([yy.RequestClient.post(`${X}/info`,{json:{type:"spotClearinghouseState",user:G}}),yy.RequestClient.post(`${X}/info`,{json:{type:"clearinghouseState",user:G}}),yy.RequestClient.post(`${X}/info`,{json:{type:"spotMeta"}})]),L=(Q.spotState?.balances||Q.balances||[]).map(({coin:N,token:z,total:J})=>F1({coin:N,spotMeta:D,token:z,value:J})).filter((N)=>!!N),w=F1({coin:"USDC",spotMeta:D,value:B.withdrawable||B.marginSummary?.accountValue||B.marginSummary?.totalRawUsd});return Z2(w?[...L,w]:L)}catch{return n(G)}}async function Z(W){let G=H();if(!G)throw new yy.SwapKitError("toolbox_hypercore_no_signer");let X=W.sender||await G.getAddress(),Q=await s0({...W,feeRate:0,sender:X}),B=await _(Q);return await $1(B),M2(X,Q.nonce)}function M(){return yy.AssetValue.from({chain:my,value:0})}return{broadcastTransaction:$1,createL1ActionRequest:t1,createTransaction:s0,createUserSignedActionRequest:p1,estimateTransactionFee:M,getAddress:U,getBalance:A,getState:{clearinghouse:_2,frontendOpenOrders:G2,openOrders:q2,orderStatus:X2,spotClearinghouse:A2,userFills:W2,userFillsByTime:Q2},signTransaction:_,transfer:Z,validateAddress:yo}}var yy,I1,hf,my,P1,n2,T2="Mainnet",o2="0xa4b1",C2="0x0000000000000000000000000000000000000000",H2,U2;var E1=P(()=>{F0();iy();x1();yy=require("@swapkit/helpers"),I1=require("ethers"),hf=require("ts-pattern"),my=yy.Chain.HyperCore,{baseDecimal:P1}=yy.getChainConfig(my),n2={HYPE:P1,USDC:6,USDT:6},H2={spotSend:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"time",type:"uint64"}]},U2={spotSend:"HyperliquidTransaction:SpotSend"}});var fo={};My(fo,{validateHyperCoreAddress:()=>yo,getHyperCoreToolbox:()=>L2,createUserSignedActionRequest:()=>p1,createTransaction:()=>s0,createL1ActionRequest:()=>t1,buildUsdClassTransferAction:()=>jU,buildUpdateLeverageAction:()=>VU,buildUpdateIsolatedMarginAction:()=>bU,buildTopUpIsolatedOnlyMarginAction:()=>uU,buildTokenDelegateAction:()=>cU,buildSendAssetAction:()=>KU,buildScheduleCancelAction:()=>vU,buildOrderAction:()=>IU,buildModifyAction:()=>pU,buildCancelByCloidAction:()=>tU,buildCancelAction:()=>PU,buildBatchModifyAction:()=>EU,buildApproveBuilderFeeAction:()=>mU,buildApproveAgentAction:()=>hU});module.exports=Ny(fo);var no=P(()=>{E1()});async function u1(y){let n=r.AssetValue.from({address:y,chain:r.Chain.Solana});if(n.symbol!=="UNKNOWN")return{decimals:n.decimal||0,id:y,logoURI:n.getIconUrl(),name:n.symbol,symbol:n.ticker};let o=`https://lite-api.jup.ag/tokens/v2/search?query=${encodeURIComponent(y)}`;try{let f=await fetch(o);if(!f.ok)return null;let T=await f.json();if(!Array.isArray(T)||T.length===0)return null;return T.find((H)=>H.id===y)||null}catch{return null}}async function Y2(y){let n=await ay(),{PublicKey:o}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:f}=await import("@solana/spl-token"),T=new o(y),{baseDecimal:C}=r.getChainConfig(r.Chain.Solana),H=await n.getBalance(T),U=[r.AssetValue.from({chain:r.Chain.Solana,fromBaseDecimal:C,value:H||0})],_=await n.getParsedTokenAccountsByOwner(T,{programId:f});for(let{account:A}of _.value){let Z=A.data.parsed.info,M=Z.mint,W=Z.tokenAmount.amount;if(Number(W)===0)continue;let G=await u1(M),X=G?.symbol||"UNKNOWN",Q=G?.decimals||Z.tokenAmount.decimals;U.push(r.AssetValue.from({asset:`${r.Chain.Solana}.${X}-${M}`,fromBaseDecimal:Q,value:W}))}return U}function oo(y){try{let n=new sy.PublicKey(y);return sy.PublicKey.isOnCurve(n.toBytes())}catch{return!1}}function B2(y){let n=y&&"index"in y?y.index||0:0,o=r.derivationPathToString(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:r.updateDerivationPath(r.NetworkDerivationPath[r.Chain.Solana],{index:n})),f;async function T(){if(f)return f;return f=await Dn.match(y).with({phrase:Dn.P.string},({phrase:H})=>To({derivationPath:o,phrase:H})).with({signer:Dn.P.any},({signer:H})=>H).otherwise(()=>{return}),f}async function C(){let H=await T();return H?.publicKey?b1(H.publicKey):""}return{broadcastTransaction:NT(ay),createKeysForPath:To,createTransaction:Co(ay),createTransactionFromInstructions:w2,estimateTransactionFee:z2(ay),getAddress:C,getAddressFromPubKey:b1,getBalance:Sy(r.Chain.Solana),getBalanceFromRPC:Y2,getConnection:ay,getPubkeyFromAddress:(H)=>new sy.PublicKey(H),signAndBroadcastTransaction:async(H)=>{let U=await V1(ay,T)(H);return NT(ay)(U)},signTransaction:V1(ay,T),transfer:D2(ay,T),validateAddress:oo}}function z2(y){return async({recipient:n,assetValue:o,memo:f,isProgramDerivedAddress:T,sender:C})=>{let H=await y(),_=(await Co(y)({assetValue:o,isProgramDerivedAddress:T,memo:f,recipient:n,sender:C})).compileMessage(),A=await H.getFeeForMessage(_);if(A.value===null)throw new r.SwapKitError("toolbox_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:Z}=r.getChainConfig(r.Chain.Solana);return r.AssetValue.from({chain:r.Chain.Solana,fromBaseDecimal:Z,value:A.value})}}async function ay(){let{Connection:y}=await import("@solana/web3.js"),n=await r.getRPCUrl(r.Chain.Solana);return new y(n,{commitment:"confirmed",fetchMiddleware:(o,f,T)=>{let C={};for(let[H,U]of Object.entries(f?.headers??{})){let _=H.toLowerCase();if(_!=="pragma"&&_!=="solana-client")C[H]=U}T(o,{...f,headers:C})}})}function N2(y){return async({assetValue:n,recipient:o,sender:f,isProgramDerivedAddress:T})=>{let C=await y(),H=new sy.PublicKey(f);if(n.isGasAsset){let{Transaction:U,SystemProgram:_}=await import("@solana/web3.js");return new U().add(_.transfer({fromPubkey:H,lamports:n.getBaseValue("number"),toPubkey:new sy.PublicKey(o)}))}if(n.address)return O2({amount:n.getBaseValue("number"),connection:C,decimals:n.decimal,from:H,isProgramDerivedAddress:T,recipient:o,tokenAddress:n.address});return}}async function O2({tokenAddress:y,recipient:n,from:o,connection:f,amount:T,decimals:C,isProgramDerivedAddress:H}){let{getAssociatedTokenAddress:U,getAccount:_,createAssociatedTokenAccountInstruction:A,createTransferCheckedInstruction:Z}=await import("@solana/spl-token"),{Transaction:M}=await import("@solana/web3.js"),W=new M,G=new sy.PublicKey(y),X=await U(G,o),Q=new sy.PublicKey(n),B=await U(G,Q,H),D=!1;try{await _(f,B),D=!0}catch{}if(!D)W.add(A(o,B,Q,G));return W.add(Z(X,G,B,o,T,C)),W}function Co(y){return async({recipient:n,assetValue:o,memo:f,isProgramDerivedAddress:T,sender:C})=>{let{createMemoInstruction:H}=await import("@solana/spl-memo"),U=new sy.PublicKey(C);if(!(T||oo(n)))throw new r.SwapKitError("core_transaction_invalid_recipient_address");let _=await y(),A=await N2(y)({assetValue:o,isProgramDerivedAddress:T,recipient:n,sender:C});if(!A)throw new r.SwapKitError("core_transaction_invalid_sender_address");if(f)A.add(H(f));let Z=await _.getLatestBlockhash();return A.recentBlockhash=Z.blockhash,A.feePayer=U,A}}async function w2({instructions:y}){let{Transaction:n}=await import("@solana/web3.js"),o=new n().add(...y);if(!o)throw new r.SwapKitError("core_transaction_invalid_sender_address");return o}function D2(y,n){return async({recipient:o,assetValue:f,memo:T,isProgramDerivedAddress:C})=>{let H=await n();if(!H)throw new r.SwapKitError("core_transaction_invalid_sender_address");let U=H.publicKey?.toString()??(await H.connect()).publicKey.toString(),_=await Co(y)({assetValue:f,isProgramDerivedAddress:C,memo:T,recipient:o,sender:U});if("signTransaction"in H){let A=await H.signTransaction(_);return NT(y)(A)}return _.sign(H),NT(y)(_)}}function NT(y){return async(n)=>{return(await y()).sendRawTransaction(n.serialize())}}function V1(y,n){return async(o)=>{let f=await n();if(!f)throw new r.SwapKitError("toolbox_solana_no_signer");let{VersionedTransaction:T}=await import("@solana/web3.js");if(!(o instanceof T)){let H=await(await y()).getLatestBlockhash();o.recentBlockhash=H.blockhash,o.feePayer=f.publicKey||void 0}if("connect"in f)return await f.signTransaction(o);return o.sign([f]),o}}async function To({phrase:y,derivationPath:n=r.DerivationPath.SOL}){let{HDKey:o}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:f}=await import("@scure/bip39"),{Keypair:T}=await import("@solana/web3.js"),C=f(y),H=o.fromMasterSeed(C);return T.fromSeed(H.derive(n,!0).privateKey)}function b1(y){return y.toString()}var sy,r,Dn;var v1=P(()=>{iy();sy=require("@solana/web3.js"),r=require("@swapkit/helpers"),Dn=require("ts-pattern")});var Ho={};My(Ho,{validateSolanaAddress:()=>oo,getSolanaToolbox:()=>B2,fetchTokenMetaData:()=>u1,createKeysForPath:()=>To});module.exports=Ny(Ho);var Uo=P(()=>{v1()});function OT(y){if(!y)return!1;return/^0x[0-9a-fA-F]{1,64}$/.test(y)}async function wT({phrase:y,derivationPath:n=m.DerivationPath.STRK}){let{HDKey:o}=await import("@scure/bip32"),{mnemonicToSeedSync:f}=await import("@scure/bip39"),{ec:T,hash:C,encode:H,CallData:U}=await import("starknet"),_=f(y),Z=o.fromMasterSeed(_).derive(n);if(!Z.privateKey)throw new m.SwapKitError("toolbox_starknet_no_signer");let M=H.addHexPrefix(Buffer.from(Z.privateKey).toString("hex")),W=T.starkCurve.grindKey(M),G=H.addHexPrefix(W),X=T.starkCurve.getStarkKey(G),Q=U.compile([X,0]);return{address:C.calculateContractAddressFromHash(X,Ao,Q,0),privateKey:G,publicKey:X}}async function qo({phrase:y,derivationPath:n=m.DerivationPath.STRK}){let{Account:o,RpcProvider:f}=await import("starknet"),{privateKey:T,address:C}=await wT({derivationPath:n,phrase:y}),H=await m.getRPCUrl(m.Chain.Starknet),U=new f({nodeUrl:H});return new o({address:C,provider:U,signer:T})}function K1(y){let n=m.Chain.Starknet,o=y&&"index"in y?y.index||0:0,f=m.derivationPathToString(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:m.updateDerivationPath(m.NetworkDerivationPath[n],{index:o})),T,C,H;async function U(){if(C)return C;let{RpcProvider:z}=await import("starknet"),J=await m.getRPCUrl(n);return C=new z({nodeUrl:J}),C}async function _(z){let J=await U(),Y=z||await W();if(!Y)return!1;try{return await J.getClassHashAt(Y),!0}catch(R){if(R instanceof Error&&R.message.includes("Contract not found"))return!1;let l=R;if(l?.code===20||l?.code===19)return!1;throw R}}async function A(){let{CallData:z,hash:J}=await import("starknet"),Y=await U(),R=await M();if(!R)throw new m.SwapKitError("toolbox_starknet_no_signer");if(!H)throw new m.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Cannot deploy account: public key not available. Use phrase-based wallet initialization."}});if(await _())return R.address;let q=z.compile([H,0]);if(J.calculateContractAddressFromHash(H,Ao,q,0).toLowerCase()!==R.address.toLowerCase())throw new m.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Address mismatch during deployment verification"}});let k={addressSalt:H,classHash:Ao,constructorCalldata:q},{transaction_hash:x}=await R.deployAccount(k);return await Y.waitForTransaction(x),x}async function Z(){if(!await _()){if(!H)throw new m.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 A()}}async function M(){if(T)return T;return T=await Vy.match(y).with({phrase:Vy.P.string},async({phrase:z})=>{let{Account:J,RpcProvider:Y}=await import("starknet"),{privateKey:R,address:l,publicKey:q}=await wT({derivationPath:f,phrase:z});H=q;let O=await m.getRPCUrl(m.Chain.Starknet),k=new Y({nodeUrl:O});return new J({address:l,provider:k,signer:R})}).with({address:Vy.P.string,privateKey:Vy.P.string},async({privateKey:z,address:J})=>{let{Account:Y}=await import("starknet"),R=await U();return new Y({address:J,provider:R,signer:z})}).with({signer:Vy.P.instanceOf(Object)},({signer:z})=>z).otherwise(()=>{return}),T}async function W(){return(await M())?.address??""}async function G(z){let J=await U(),{uint256:Y,CallData:R}=await import("starknet"),l=[],q=[_o,j1];for(let O of q)try{let[k="0",x="0"]=await J.callContract({calldata:R.compile({account:z}),contractAddress:O,entrypoint:"balanceOf"}),F=Y.uint256ToBN({high:k,low:x});Vy.match(O).with(_o,()=>{l.push(m.AssetValue.from({chain:n,value:F}))}).with(j1,()=>{if(F>0n)l.push(m.AssetValue.from({asset:`${n}.ETH-${O}`,value:F}))}).otherwise(()=>{})}catch{}return l}async function X({recipient:z,assetValue:J}){let{CallData:Y,uint256:R}=await import("starknet");if(!OT(z))throw new m.SwapKitError("core_transaction_invalid_recipient_address",{address:z});let l=J.isGasAsset?_o:J.address;if(!l)throw new m.SwapKitError("toolbox_starknet_invalid_address",{address:l,assetValue:J});let q=R.bnToUint256(J.getBaseValue("bigint"));return[{calldata:Y.compile([z,q]),contractAddress:l,entrypoint:"transfer"}]}async function Q({recipient:z,assetValue:J,sender:Y}){let{baseDecimal:R}=m.getChainConfig(m.Chain.Starknet),l=await M(),q=await Vy.match({sender:Y,signer:l}).with({sender:Vy.P.string},async({sender:O})=>{let{Account:k}=await import("starknet"),x=await U();return new k({address:O,provider:x,signer:"0x0"})}).with({signer:Vy.P.nonNullable},({signer:O})=>O).otherwise((O)=>{throw new m.SwapKitError({errorKey:"toolbox_starknet_fee_estimation_failed",info:{message:"Estimating fee needs a valid sender address or signer",params:O}})});try{let O=await X({assetValue:J,recipient:z}),k=await q.estimateInvokeFee(O);if(k?.overall_fee)return m.AssetValue.from({chain:n,fromBaseDecimal:R,value:k.overall_fee})}catch(O){throw new m.SwapKitError("toolbox_starknet_fee_estimation_failed",O)}return m.AssetValue.from({chain:n,value:"0.00001"})}async function B({recipient:z,assetValue:J,memo:Y}){let R=await M();if(!R)throw new m.SwapKitError("toolbox_starknet_no_signer");await Z();let l=await X({assetValue:J,memo:Y,recipient:z});return(await R.execute(l)).transaction_hash}async function D(z){let J=await M();if(!J)throw new m.SwapKitError("toolbox_starknet_no_signer");let Y=await J.signMessage(z);return Array.isArray(Y)?Y:[Y.r.toString(),Y.s.toString()]}async function L(z){let J=await M();if(!J)throw new m.SwapKitError("toolbox_starknet_no_signer");return await Z(),(await J.execute(z)).transaction_hash}function w(z){return L(z)}function N(z,J=!0){try{return Sy(n)(z,J)}catch{return G(z)}}return{broadcastTransaction:L,createKeysForPath:qo,createTransaction:X,deployAccount:A,estimateTransactionFee:Q,getAddress:W,getBalance:N,getProvider:U,isAccountDeployed:_,signAndBroadcastTransaction:w,signMessage:D,transfer:B,validateAddress:OT}}var m,Vy,_o="0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",j1="0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",Ao="0x01a736d6ed154502257f02b1ccdf4d9d1089f80811cd6acad48e6b6a9d1f2003";var h1=P(()=>{iy();m=require("@swapkit/helpers"),Vy=require("ts-pattern")});var DT={};My(DT,{validateStarknetAddress:()=>OT,starknetCreateKeysForPath:()=>qo,getStarknetToolbox:()=>K1,deriveStarknetKeys:()=>wT});module.exports=Ny(DT);var RT=P(()=>{h1()});async function g1(y,n,o,f=[],T){let C=await y.getCoins({coinType:o,cursor:T,owner:n}),H=[...f,...C.data];return C.hasNextPage?g1(y,n,o,H,C.nextCursor):H}function R2(y,n,o){let f=n.reduce((_,A)=>_+BigInt(A.balance),0n);if(f<o)throw new Ty.SwapKitError("toolbox_sui_insufficient_balance",{available:f.toString(),required:o.toString()});let{ids:T}=n.reduce((_,A)=>{if(_.total>=o)return _;return{ids:[..._.ids,A.coinObjectId],total:_.total+BigInt(A.balance)}},{ids:[],total:0n}),C=T[0],H=T.slice(1);if(H.length>0)y.mergeCoins(C,H);let[U]=y.splitCoins(C,[o]);return U}function i1(y){try{return c1.isValidSuiAddress(y)}catch{return!1}}function m1(y){return"signWithIntent"in y}function k2({provider:y,...n}={}){let o;async function f(){if(o)return o;return o=await Rn.match(n).with({phrase:Rn.P.string},async({phrase:X})=>{let{Ed25519Keypair:Q}=await import("@mysten/sui/keypairs/ed25519");return Q.deriveKeypair(X)}).with({signer:Rn.P.any},({signer:X})=>X).otherwise(()=>{return}),o}async function T(X=y){let{SuiClient:Q,getFullnodeUrl:B}=await import("@mysten/sui/client");return new Q({url:X||B("mainnet")})}async function C(){return(await f())?.toSuiAddress()||""}function H(X){try{let Q=Ty.AssetValue.from({address:X,chain:Ty.Chain.Sui});return{asset:Q.toString(),decimals:Q.decimal}}catch{}return null}async function U(X){let Q=X||await C();if(!Q)throw new Ty.SwapKitError("toolbox_sui_address_required");let{baseDecimal:B,chain:D}=Ty.getChainConfig(Ty.Chain.Sui);try{let L=await T(),{totalBalance:w}=await L.getBalance({owner:Q}),N=[Ty.AssetValue.from({chain:D,fromBaseDecimal:B,value:w})],z=await L.getAllBalances({owner:Q});for(let{coinType:J,totalBalance:Y}of z){if(J==="0x2::sui::SUI"||Number(Y)<=0)continue;let R=H(J);if(R)N.push(Ty.AssetValue.from({asset:R.asset,fromBaseDecimal:R.decimals,value:Y}))}return N}catch{return[Ty.AssetValue.from({chain:D})]}}async function _(X){let Q=Ty.AssetValue.from({chain:Ty.Chain.Sui,value:"0.01"});if(!X)return Q;try{let B=await T(),{txBytes:D}=await A(X),{effects:{status:L,gasUsed:w}}=await B.dryRunTransactionBlock({transactionBlock:D});if(L.status!=="success")return Q;let N=Number(w.computationCost)+Number(w.storageCost)-Number(w.storageRebate);return Ty.AssetValue.from({chain:Ty.Chain.Sui,value:N.toString()})}catch{return Q}}async function A({recipient:X,assetValue:Q,gasBudget:B,sender:D}){let{Transaction:L}=await import("@mysten/sui/transactions"),w=D||await C();if(!w)throw new Ty.SwapKitError("toolbox_sui_no_sender");try{let N=new L;if(N.setSender(w),Q.isGasAsset||Q.symbol==="SUI"){let[Y]=N.splitCoins(N.gas,[Q.getBaseValue("string")]);N.transferObjects([Y],X)}else{let Y=Q.address;if(!Y)throw new Ty.SwapKitError("toolbox_sui_missing_coin_type");let R=await T(),l=Q.getBaseValue("bigint"),q=await g1(R,w,Y);if(!q.length)throw new Ty.SwapKitError("toolbox_sui_no_coins_found",{coinType:Y});let O=R2(N,q,l);N.transferObjects([O],X)}if(B)N.setGasBudget(B);let z=await T(),J=await N.build({client:z});return{tx:N,txBytes:J}}catch(N){if(N instanceof Ty.SwapKitError)throw N;throw new Ty.SwapKitError("toolbox_sui_transaction_creation_error",{error:N})}}async function Z(X){let Q=await f();if(!Q)throw new Ty.SwapKitError("toolbox_sui_no_signer");if(X instanceof Uint8Array)return Q.signTransaction(X);let{txBytes:B}="tx"in X?X:await A(X);return Q.signTransaction(B)}async function M({assetValue:X,gasBudget:Q,recipient:B}){let D=await f();if(!D)throw new Ty.SwapKitError("toolbox_sui_no_signer");let L=D.toSuiAddress()||await C();if(!L)throw new Ty.SwapKitError("toolbox_sui_no_sender");let{txBytes:w}=await A({assetValue:X,gasBudget:Q,recipient:B,sender:L}),N=await T();if(!m1(D)){let J=await D.signTransaction(w),{digest:Y}=await N.executeTransactionBlock({signature:J.signature,transactionBlock:J.bytes});return Y}let{digest:z}=await N.signAndExecuteTransaction({signer:D,transaction:w});return z}async function W(X){let Q=await T(),{digest:B}=await Q.executeTransactionBlock({signature:X.signature,transactionBlock:X.bytes});return B}async function G(X){let Q=await f();if(!Q)throw new Ty.SwapKitError("toolbox_sui_no_signer");let B=await T(),D;if(typeof X==="string")D=Uint8Array.from(Buffer.from(X,"base64"));else if(X instanceof Uint8Array)D=X;else D=await X.build({client:B});if(!m1(Q)){let w=await Q.signTransaction(D),{digest:N}=await B.executeTransactionBlock({signature:w.signature,transactionBlock:w.bytes});return N}let{digest:L}=await B.signAndExecuteTransaction({signer:Q,transaction:D});return L}return{broadcastTransaction:W,createTransaction:A,estimateTransactionFee:_,getAddress:C,getBalance:U,signAndBroadcastTransaction:G,signTransaction:Z,transfer:M,validateAddress:i1}}var c1,Ty,Rn;var d1=P(()=>{c1=require("@mysten/sui/utils"),Ty=require("@swapkit/helpers"),Rn=require("ts-pattern")});var kT={};My(kT,{validateSuiAddress:()=>i1,getSuiToolbox:()=>k2});module.exports=Ny(kT);var lT=P(()=>{d1()});async function $2(){let y=Date.now();if(ST&&y-a1<F2)return ST;try{return ST=await s1.getHttpEndpoint(),a1=y,ST}catch{return Wy.getRPCUrl(Wy.Chain.Ton)}}function I2(y={}){let n,o,f;async function T(){if(!n){let N=y.provider??await $2();n=new g.TonClient({endpoint:N})}return n}async function C(){return(await U()).address.toString()}async function H(){if(f)return f;return f=await Sf.match(y).with({phrase:Sf.P.string},async({phrase:N})=>e1.mnemonicToWalletKey(N.split(" "))).with({signer:Sf.P.any},({signer:N})=>N).otherwise(()=>{return}),f}async function U(N){if(!o||N){let z=await H(),J=await T(),Y=N||z;if(!Y)throw new Wy.SwapKitError("core_wallet_connection_not_found");let R=g.WalletContractV4.create({publicKey:Y.publicKey,workchain:0});o=J.open(R)}return o}let _=Sy(Wy.Chain.Ton);async function A({assetValue:N,recipient:z,memo:J,sender:Y}){if(N.isGasAsset){let h=J?w(J).toBoc().toString("base64"):void 0;return[{address:z,amount:N.getBaseValue("string"),payload:h}]}let R=N.address;if(!R)throw new Wy.SwapKitError({errorKey:"core_swap_contract_not_found",info:{asset:N.toString()}});let l=Y??await C(),q=await D({jettonMasterAddress:R,ownerAddress:l}),O=g.Address.parse(z),k=g.Address.parse(l),x=N.getBaseValue("bigint"),F=J?w(J):void 0,u=L({destinationAddress:O,forwardPayload:F,jettonAmount:x,responseAddress:k});return[{address:q.toString(),amount:x2.toString(),payload:u.toBoc().toString("base64")}]}function Z({sender:N,...z}){return A({...z,sender:N})}function M(N){return N.map((z)=>{let J=z.payload?g.Cell.fromBase64(z.payload):void 0,Y=z.stateInit?g.loadStateInit(g.Cell.fromBase64(z.stateInit).asSlice()):void 0,R=g.Address.parse(z.address),l=g.Address.isFriendly(z.address)?g.Address.parseFriendly(z.address).isBounceable:!0;return g.internal({body:J,bounce:l,init:Y,to:R,value:BigInt(z.amount)})})}async function W(N){let z=await H(),J=await U();if(!J||!z)throw new Wy.SwapKitError("core_wallet_connection_not_found");let Y=await T(),{state:R}=await Y.getContractState(J.address),l=R==="active",q=l?await J.getSeqno():0,O=J.createTransfer({messages:M(N),secretKey:z.secretKey,sendMode:r1,seqno:q}),k=g.external({body:O,init:l?void 0:J.init,to:J.address});return g.beginCell().store(g.storeMessage(k)).endCell()}async function G(N){return await(await T()).sendFile(N.toBoc()),N.hash().toString("hex")}async function X(N){let z=await W(N);return G(z)}async function Q({assetValue:N,recipient:z,memo:J}){let Y=await Z({assetValue:N,memo:J,recipient:z});return X(Y)}async function B({sender:N,...z}){let{baseDecimal:J}=Wy.getChainConfig(Wy.Chain.Ton),Y=await Sf.match(N).with(Sf.P.string,(q)=>{return g.Address.parseFriendly(q).address}).otherwise(async()=>{return(await U()).address});if(!Y)throw new Wy.SwapKitError("toolbox_fee_estimation_failed",{chain:Wy.Chain.Ton});let R=Wy.AssetValue.from({chain:Wy.Chain.Ton,value:"0.01"}),l=await T();try{let q=await Z({sender:N,...z}),O=await H(),k=await U();if(!k||!O)return R;let x=await k.getSeqno(),F=k.createTransfer({messages:M(q),secretKey:O.secretKey,sendMode:r1,seqno:x}),{source_fees:u}=await l.estimateExternalMessageFee(Y,{body:F,ignoreSignature:!0,initCode:null,initData:null}),h=u.in_fwd_fee+u.storage_fee+u.gas_fee+u.fwd_fee;return R.set(Wy.SwapKitNumber.fromBigInt(BigInt(h),J))}catch{return R}}async function D({jettonMasterAddress:N,ownerAddress:z}){try{let J=await T(),Y=g.Address.parse(N),R=g.Address.parse(z);return await J.open(g.JettonMaster.create(Y)).getWalletAddress(R)}catch{throw new Wy.SwapKitError({errorKey:"core_swap_contract_not_found",info:{jettonMasterAddress:N,ownerAddress:z}})}}function L({jettonAmount:N,destinationAddress:z,responseAddress:J,forwardAmount:Y=S2,forwardPayload:R}){let l=g.beginCell().storeUint(l2,32).storeUint(0,64).storeCoins(N).storeAddress(z).storeAddress(J).storeBit(0).storeCoins(Y);if(R)l.storeBit(1).storeRef(R);else l.storeBit(0);return l.endCell()}function w(N){return g.beginCell().storeUint(0,32).storeStringTail(N).endCell()}return{broadcastTransaction:G,createTransaction:Z,estimateTransactionFee:B,getAddress:C,getBalance:_,getJettonWalletAddress:D,sign:W,signAndBroadcastTransaction:X,transfer:Q,validateAddress:yH}}function yH(y){try{return g.Address.parse(y),!0}catch{return!1}}var s1,Wy,e1,g,Sf,l2=260734629,S2,x2,r1,F2=60000,ST,a1=0;var fH=P(()=>{iy();s1=require("@orbs-network/ton-access"),Wy=require("@swapkit/helpers"),e1=require("@ton/crypto"),g=require("@ton/ton"),Sf=require("ts-pattern"),S2=g.toNano("0.01"),x2=g.toNano("0.05"),r1=g.SendMode.PAY_GAS_SEPARATELY+g.SendMode.IGNORE_ERRORS});var xT={};My(xT,{validateTonAddress:()=>yH,getTONToolbox:()=>I2});module.exports=Ny(xT);var FT=P(()=>{fH()});function by(y,n){if(!Number.isInteger(n)||n<0)throw RangeError(`${y} must be a non-negative integer, got: ${n}`)}function Wf({accountIndex:y,chain:n,derivationPath:o}){if(y!==void 0)by("accountIndex",y);let f=[...o?.slice(0,3)??nH.NetworkDerivationPath[n].slice(0,3)];if(y!==void 0)f[2]=y;return f}function mf({accountIndex:y,change:n=!1,chain:o,derivationPath:f,index:T}){return by("index",T),[...Wf({accountIndex:y,chain:o,derivationPath:f}),Number(n),T]}function xf(y){return y[2]??0}function TH({deriveAddress:y,getBalance:n,getUtxos:o}){async function f(U){let{accountIndex:_,count:A,startIndex:Z=0,change:M=!1}=U;if(by("count",A),A<1)throw RangeError("count must be at least 1");by("startIndex",Z);let W=[];for(let G=0;G<A;G++){let X=await y({accountIndex:_,change:M,index:Z+G});if(X)W.push(X)}return W}async function T(U){let{gapLimit:_=20,change:A=!1}=U??{},Z=[],M=0,W=0;while(M<_){let G=await y({change:A,index:W});if(!G)break;if((await n(G.address)).some((B)=>B.getValue("number")>0))Z.push(G),M=0;else M++;W++}return Z}async function C(U=20){let[_,A]=await Promise.all([T({change:!1,gapLimit:U}),T({change:!0,gapLimit:U})]),Z=[..._,...A],M=await Promise.all(Z.map(async(G)=>{let Q=(await n(G.address)).reduce((B,D)=>B+D.getValue("number"),0);return{...G,balance:Q}})),W=M.reduce((G,X)=>G+X.balance,0);return{addresses:M,total:W}}async function H(U=20){let[_,A]=await Promise.all([T({change:!1,gapLimit:U}),T({change:!0,gapLimit:U})]),Z=[..._,...A];return(await Promise.all(Z.map(async(W)=>{return(await o(W.address)).map((X)=>({...X,address:W.address,derivationIndex:W.index,isChange:W.change}))}))).flat()}return{deriveAddresses:f,getAggregatedBalance:C,getAggregatedUtxos:H,scanForAddresses:T}}var nH;var kn=P(()=>{nH=require("@swapkit/helpers")});async function P2({chain:y,txHash:n}){let o=`${ln(y)}/push/transaction`,f=JSON.stringify({data:n});try{let T=await K.RequestClient.post(o,{body:f,headers:{"Content-Type":"application/json"}});if(T.context.code!==200)throw new K.SwapKitError("toolbox_utxo_broadcast_failed",{error:T.context.error||"Transaction broadcast failed"});return T.data?.transaction_hash||n}catch(T){let C=await K.getRPCUrl(y);if(C){let H=JSON.stringify({id:JC(),jsonrpc:"2.0",method:"sendrawtransaction",params:[n]}),U=await K.RequestClient.post(C,{body:H,headers:{"Content-Type":"application/json"}});if(U.error)throw new K.SwapKitError("toolbox_utxo_broadcast_failed",{error:U.error?.message});if(U.result.includes('"code":-26'))throw new K.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return U.result}throw T}}function ln(y){return`https://api.blockchair.com/${t2(y)}`}function oH(y){switch(y){case K.Chain.Bitcoin:return 5;case K.Chain.Dogecoin:return 1e4;case K.Chain.Litecoin:return 1;case K.Chain.Zcash:return 1;default:return 2}}function t2(y){switch(y){case K.Chain.BitcoinCash:return"bitcoin-cash";case K.Chain.Litecoin:return"litecoin";case K.Chain.Dash:return"dash";case K.Chain.Dogecoin:return"dogecoin";case K.Chain.Zcash:return"zcash";case K.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function p2(y){try{let{feePerKb:n}=await K.RequestClient.get(`https://app.bitgo.com/api/v2/${y.toLowerCase()}/tx/fee`),o=n/1000;return Math.max(o,oH(y))}catch{return oH(y)}}async function $T(y,n){let o=await K.RequestClient.get(`${y}${n?`${y.includes("?")?"&":"?"}key=${n}`:""}`);if(!o||o.context.code!==200)throw new K.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${y}`});return o.data}async function HH({address:y,chain:n,apiKey:o}){if(!y)throw new K.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await $T(`${ln(n)}/dashboards/address/${y}?transaction_details=true`,o))[y]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function E2({address:y,chain:n,apiKey:o}){return(await HH({address:y,apiKey:o,chain:n}))?.address.balance||0}async function UH({chain:y,apiKey:n,txHash:o}){if(!o)throw new K.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await $T(`${ln(y)}/raw/transaction/${o}`,n))?.[o]?.raw_transaction||""}catch(f){let T=f instanceof Error?f.message:String(f);return console.error(`Failed to fetch raw transaction: ${T}`),""}}async function b2({chain:y,apiKey:n,txHash:o}){if(!o)throw new K.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});let T=(await $T(`${ln(y)}/dashboards/transaction/${o}`,n))?.[o];if(!T)throw new K.SwapKitError("toolbox_utxo_tx_not_found",{txHash:o});let{transaction:C,inputs:H,outputs:U}=T,_=H.map((Z)=>Z.spending_sequence),A=C.is_rbf===!0||_.some((Z)=>Z<V2);return{blockId:C.block_id,confirmed:C.block_id!==-1,fee:C.fee,inputs:H,isRBF:A,outputs:U,sequences:_,size:C.size,txid:C.hash,weight:C.weight}}async function u2({chain:y,address:n,apiKey:o,offset:f=0,limit:T=30}){return(await $T(`${ln(y)}/outputs?q=recipient(${n}),is_spent(false)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${T}&offset=${f}`,o)).map(({is_spent:_,script_hex:A,block_id:Z,transaction_hash:M,index:W,value:G,spending_signature_hex:X})=>({hash:M,index:W,is_confirmed:Z!==-1,is_spent:_,script_hex:A,txHex:X,value:G}))}function v2(y){return y.reduce((n,o)=>n+o.value,0)}function CH(y,n){let o=[...y].sort((f,T)=>T.value-f.value);if(n){let f=[],T=0;for(let C of o)if(f.push(C),T+=C.value,T>=n)break;return f}return o}async function _H({chain:y,address:n,apiKey:o,targetValue:f,accumulativeValue:T=0,offset:C=0,limit:H=30}){if(!n)throw new K.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let U=await u2({address:n,apiKey:o,chain:y,limit:H,offset:C,targetValue:f}),A=U.length<H,Z=U.filter(({is_spent:B})=>!B),M=v2(Z),W=T+M,G=f&&W>=f;if(A||G)return CH(Z,f);let X=await _H({accumulativeValue:W,address:n,apiKey:o,chain:y,limit:H,offset:C+H,targetValue:f}),Q=[...Z,...X];return CH(Q,f)}catch(U){let _=U instanceof Error?U.message:String(U);return console.error(`Failed to fetch unspent UTXOs: ${_}`),[]}}async function j2({address:y,chain:n,apiKey:o,fetchTxHex:f=!0,targetValue:T}){let C=await _H({address:y,apiKey:o,chain:n,targetValue:T}),H=[];for(let{hash:U,index:_,script_hex:A,value:Z}of C){let M;if(f)M=await UH({apiKey:o,chain:n,txHash:U});H.push({address:y,hash:U,index:_,txHex:M,value:Z,witnessUtxo:{script:Buffer.from(A,"hex"),value:Z}})}return H}function Yy(y){let n=K.SKConfig.get("apiKeys").blockchair||"";return K.warnOnce({condition:!n,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(o)=>P2({chain:y,txHash:o}),getAddressData:(o)=>HH({address:o,apiKey:n,chain:y}),getBalance:(o)=>E2({address:o,apiKey:n,chain:y}),getRawTx:(o)=>UH({apiKey:n,chain:y,txHash:o}),getSuggestedTxFee:()=>p2(y),getTransactionDetails:(o)=>b2({apiKey:n,chain:y,txHash:o}),getUtxos:(o)=>j2({...o,apiKey:n,chain:y})}}function K2(y){return y}function h2(){return function(n){switch(n){case K.Chain.Bitcoin:return Ff.NETWORKS.bitcoin;case K.Chain.BitcoinCash:return Ff.NETWORKS.bitcoinCash;case K.Chain.Dash:return Ff.NETWORKS.dash;case K.Chain.Litecoin:return Ff.NETWORKS.litecoin;case K.Chain.Dogecoin:return Ff.NETWORKS.dogecoin;case K.Chain.Zcash:return Ff.NETWORKS.zcash;default:throw new K.SwapKitError("toolbox_utxo_not_supported",{chain:n})}}}var K,Ff,V2=4294967294;var AH=P(()=>{iy();K=require("@swapkit/helpers"),Ff=require("@swapkit/utxo-signer")});function g2(y,n,o){return ey.encodeCashAddr({hash:o,prefix:y,type:m2[n]})}function i2(y){let n=ey.decodeCashAddr(y),o=c2[n.type];if(!o)throw Error(`Unknown CashAddr type: ${n.type}`);return{hash:n.hash,prefix:n.prefix,type:o}}var ey,m2,c2,Go;var qH=P(()=>{ey=require("@swapkit/utxo-signer"),m2={P2PKH:ey.CashAddrType.P2PKH,P2SH:ey.CashAddrType.P2SH},c2={[ey.CashAddrType.P2PKH]:"P2PKH",[ey.CashAddrType.P2SH]:"P2SH"};Go={decode:i2,encode:g2}});function Qo(y){try{return IT(y),!0}catch{return!1}}function Zo(y){return IT(y)?.network}function yf(y){let n=IT(y);if(n?.format==="legacy")return y;return a2(n)}function Sn(y){let n=IT(y);return s2(n)}function IT(y){try{let n=d2(y);if(n)return n}catch{}try{let n=r2(y);if(n)return n}catch{}throw new Xo.SwapKitError("toolbox_utxo_invalid_address",{address:y})}function d2(y){try{let n=QH.decode(y);if(n.length!==21)throw new Xo.SwapKitError("toolbox_utxo_invalid_address",{address:y});let o=n[0],f=Array.prototype.slice.call(n,1);switch(o){case $f.legacy.mainnet.p2pkh:return{format:"legacy",hash:f,network:"mainnet",type:"p2pkh"};case $f.legacy.mainnet.p2sh:return{format:"legacy",hash:f,network:"mainnet",type:"p2sh"};case $f.legacy.testnet.p2pkh:return{format:"legacy",hash:f,network:"testnet",type:"p2pkh"};case $f.legacy.testnet.p2sh:return{format:"legacy",hash:f,network:"testnet",type:"p2sh"};case $f.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:f,network:"mainnet",type:"p2pkh"};case $f.bitpay.mainnet.p2sh:return{format:"bitpay",hash:f,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function r2(y){if(y.indexOf(":")!==-1)try{return GH(y)}catch{}else{let n=["bitcoincash","bchtest","bchreg"];for(let o of n)try{return GH(`${o}:${y}`)}catch{}}return}function GH(y){try{let{hash:n,prefix:o,type:f}=Go.decode(y);return{format:"cashaddr",hash:Array.prototype.slice.call(n,0),network:o==="bitcoincash"?"mainnet":"testnet",type:f==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function a2(y){let n=$f.legacy[y.network][y.type],o=Buffer.alloc(1+y.hash.length);return o[0]=n,o.set(y.hash,1),QH.encode(o)}function s2(y){let n=y.network==="mainnet"?"bitcoincash":"bchtest",o=y.type==="p2pkh"?"P2PKH":"P2SH",f=new Uint8Array(y.hash);return Go.encode(n,o,f)}var XH,WH,Xo,QH,Wo,$f;var ZH=P(()=>{qH();XH=require("@noble/hashes/sha2.js"),WH=require("@scure/base"),Xo=require("@swapkit/helpers"),QH=WH.createBase58check(XH.sha256);((o)=>{o.Mainnet="mainnet";o.Testnet="testnet"})(Wo||={});$f={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function Iy(y){let n=new Uint8Array(Buffer.from(y,"utf8"));return MH.Script.encode(["RETURN",n])}var JH,MH,e2=1000,tT=10,pT=2,LH=10,y_=41,f_=107,ET,PT,xn,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 JH.SwapKitError("toolbox_utxo_invalid_address",{address:y})},If=({inputs:y,outputs:n,feeRate:o})=>{let f=y[0]&&"address"in y[0]&&y[0].address?cf(y[0].address):"P2PKH",C=(o?y.filter((A)=>A.value>=PT["type"in A&&A.type?A.type:"P2PKH"]*Math.ceil(o)):y).reduce((A,Z)=>A+Qf(Z),0),H=n?.reduce((A,Z)=>A+Fn(Z),0)||xn[f],U=tT+C+H;return f==="P2WPKH"?Math.ceil(U+pT/4):U},Qf=(y)=>{if("type"in y&&y.type)return PT[y.type];if("address"in y&&y.address)return PT[cf(y.address)];return y_+f_},Fn=(y,n)=>{if(y?.script)return LH+y.script.length+(y.script.length>=74?2:1);if(n)return xn[n];if("address"in y&&y.address)return xn[cf(y.address)];return xn.P2PKH};var Jo=P(()=>{JH=require("@swapkit/helpers"),MH=require("@swapkit/utxo-signer");((o)=>{o.P2PKH="P2PKH";o.P2WPKH="P2WPKH"})(ET||={});PT={["P2PKH"]:148,["P2WPKH"]:68},xn={["P2PKH"]:34,["P2WPKH"]:31}});function $n(y){switch(y){case cy.Chain.Bitcoin:case cy.Chain.BitcoinCash:return 550;case cy.Chain.Dash:case cy.Chain.Litecoin:return 5500;case cy.Chain.Dogecoin:return 1e5;case cy.Chain.Zcash:return 546;default:throw new cy.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}function uy({inputs:y,outputs:n,feeRate:o=1,chain:f=cy.Chain.Bitcoin,changeAddress:T=""}){let C=y[0]&&"address"in y[0]&&y[0].address?cf(y[0].address):"P2PKH",H=y.filter((X)=>Qf(X)*o<=X.value),_=C==="P2WPKH"?Math.ceil(pT/4):0,A=tT+_+n.reduce((X,Q)=>X+Fn(Q),0),Z=n.reduce((X,Q)=>X+Q.value,0),M=A*o,W=0,G=[];for(let X of H){let Q=Qf(X),B=o*Q;M+=B,W+=X.value,G.push(X);let D=M+Z;if(W<D)continue;let L=W-D,w=o*Fn({address:T,value:0});if(L>w){let N=w+M,z=W-(Z+Math.ceil(N));if(z>Math.max(Qf({value:0})*o,$n(f)))return{fee:Math.ceil(N),inputs:G,outputs:n.concat({address:T,value:z})}}return{fee:Math.ceil(M),inputs:G,outputs:n}}return{fee:Math.ceil(o*If({inputs:y,outputs:n}))}}var cy;var YH=P(()=>{Jo();cy=require("@swapkit/helpers")});var gf=P(()=>{AH();ZH();YH();Jo()});function Pf(y){return y.replace(/(bchtest:|bitcoincash:)/,"")}function Zf(y){let n=Pf(y);return Qo(n)&&Zo(n)==="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 o=VT.Address(VT.ZCASH_NETWORK).decode(y);return o.type==="pkh"||o.type==="sh"}catch{return!1}}var VT;var In=P(()=>{gf();VT=require("@swapkit/utxo-signer")});function Yo({address:y,chain:n}){return Lo.match(n).with($.Chain.BitcoinCash,()=>Zf(y)).with($.Chain.Zcash,()=>df(y)).otherwise(()=>{try{return d.Address(ky(n)).decode(y),!0}catch{return!1}})}function ky(y){return Lo.match(y).with($.Chain.Bitcoin,()=>d.NETWORKS.bitcoin).with($.Chain.BitcoinCash,()=>d.NETWORKS.bitcoinCash).with($.Chain.Dash,()=>d.NETWORKS.dash).with($.Chain.Dogecoin,()=>d.NETWORKS.dogecoin).with($.Chain.Litecoin,()=>d.NETWORKS.litecoin).with($.Chain.Zcash,()=>d.NETWORKS.zcash).exhaustive()}function n_({phrase:y,derivationPath:n,network:o,seed:f}){let T=f??uT.mnemonicToSeedSync(y),H=Mo.HDKey.fromMasterSeed(T,o.bip32).derive(n);if(!H.privateKey)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive private key from phrase"});return H.privateKey}function BH(y){return zH.secp256k1.getPublicKey(y,!0)}function tn({publicKey:y,chain:n,network:o}){if(n===$.Chain.BitcoinCash){let C=d.p2pkh(y,o);if(!C.hash)throw new $.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return d.encodeCashAddr({hash:C.hash,prefix:d.CashAddrPrefix.MAINNET,type:d.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}let T=!Pn.includes(n)?d.p2wpkh(y,o):d.p2pkh(y,o);if(!T.address)throw new $.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive address"});return T.address}function rf({phrase:y,derivationPath:n,chain:o,wif:f,seed:T}){let C=ky(o);if(f){let A=d.WIF(C).decode(f),Z=BH(A);return{privateKey:A,publicKey:Z}}if(!y)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let H=n||$.derivationPathToString($.NetworkDerivationPath[o]),U=n_({derivationPath:H,network:C,phrase:y,seed:T}),_=BH(U);return{privateKey:U,publicKey:_}}function T_(y,n){return d.WIF(ky(n)).encode(y)}function o_({phrase:y,derivationPath:n,chain:o,seed:f}){let T=n.split("/");if(T.length<4)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:`Derivation path must have at least 4 levels (got ${T.length}): ${n}`});let C=ky(o),H=f??uT.mnemonicToSeedSync(y),U=Mo.HDKey.fromMasterSeed(H,C.bip32),_=T.slice(0,4).join("/");return U.derive(_)}function Mf({inputs:y,outputs:n,chain:o,tx:f,sender:T,compiledMemo:C,enableRBF:H=!1}){let U=ky(o),_=!Pn.includes(o),A=H?d.RBF_SEQUENCE:void 0,Z=new Set;for(let M of y){let W=`${M.hash}:${M.index}`;if(Z.has(W))throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Duplicate input detected"});Z.add(W);let G=typeof M.hash==="string"?Jf.hex.decode(M.hash):M.hash;if(_&&M.witnessUtxo)f.addInput({index:M.index,sequence:A,txid:G,witnessUtxo:{amount:BigInt(M.witnessUtxo.value),script:M.witnessUtxo.script}});else if(M.txHex)f.addInput({index:M.index,nonWitnessUtxo:Jf.hex.decode(M.txHex),sequence:A,txid:G,...o===$.Chain.BitcoinCash?{sighashType:d.BCHSigHash.ALL}:{}});else throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Input requires either witnessUtxo or txHex for non-segwit chains"})}for(let M of n){let W="address"in M&&M.address?M.address:T;if(o===$.Chain.BitcoinCash)W=yf(W);if(M.script){if(C)f.addOutput({amount:0n,script:C})}else f.addOutputAddress(W,BigInt(M.value),U)}return{inputs:y,tx:f}}async function af(y){let n=await Yy(y).getSuggestedTxFee();return{[$.FeeOption.Average]:n,[$.FeeOption.Fast]:$.applyFeeMultiplier(n,$.FeeOption.Fast),[$.FeeOption.Fastest]:$.applyFeeMultiplier(n,$.FeeOption.Fastest)}}async function NH({assetValue:y,recipient:n,memo:o,sender:f,fetchTxHex:T=!1}){let C=y.chain,H=(await af(C))[$.FeeOption.Fastest],U=T||Pn.includes(C),_=y.getBaseValue("number"),A=Math.ceil(_+H*5000);return{inputs:await Yy(C).getUtxos({address:f,fetchTxHex:U,targetValue:A}),outputs:[{address:n,value:_},...o?[{address:"",script:Iy(o),value:0}]:[]]}}async function OH({assetValue:y,recipient:n,memo:o,feeRate:f,sender:T,fetchTxHex:C=!1,enableRBF:H=!1}){let U=y.chain,_=o?Iy(o):null,A=await NH({assetValue:y,fetchTxHex:C,memo:o,recipient:n,sender:T}),{inputs:Z,outputs:M}=uy({...A,chain:U,feeRate:f});if(!(Z&&M))throw new $.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:T});let W=new d.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!_,version:1}),{inputs:G,tx:X}=Mf({chain:U,compiledMemo:_,enableRBF:H,inputs:Z,outputs:M,sender:T,tx:W});return{inputs:G,tx:X,utxos:A.inputs}}async function wH({assetValue:y,feeOptionKey:n=$.FeeOption.Fast,feeRate:o,memo:f,sender:T,recipient:C}){let H=y.chain,U=await NH({assetValue:y,memo:f,recipient:C,sender:T}),_=o?Math.floor(o):(await af(H))[n];return uy({...U,chain:H,feeRate:_})}function C_(y){return async function({from:o,memo:f,feeRate:T,feeOptionKey:C=$.FeeOption.Fast,recipients:H=1}){let U=await Yy(y).getAddressData(o),_=T?Math.ceil(T):(await af(y))[C],A=U?.utxo.map((Q)=>({...Q,hash:"",type:"P2PKH"})).filter((Q)=>Q.value>Math.max($n(y),Qf(Q)*_));if(!A?.length)return $.AssetValue.from({chain:y});let Z=BigInt(A.reduce((Q,B)=>Q+B.value,0)),M=$.AssetValue.from({chain:y,value:Z}),W=typeof H==="number"?Array.from({length:H},()=>({address:o,value:0})):H;if(f)W.push({address:o,script:Iy(f),value:0});let G=If({inputs:A,outputs:W}),X=$.AssetValue.from({chain:y,value:BigInt(G*_)});return M.sub(X)}}function H_(y){return async function(o){let{fee:f}=await wH(o);return $.AssetValue.from({chain:y,value:$.SwapKitNumber.fromBigInt(BigInt(f),8).getValue("string")})}}function U_({chain:y,phrase:n,derivationPath:o,seed:f}){let T=ky(y),{privateKey:C,publicKey:H}=rf({chain:y,derivationPath:o,phrase:n,seed:f}),U=y===$.Chain.BitcoinCash?[d.BCHSigHash.ALL]:[d.SigHash.ALL];return{getAddress:()=>tn({chain:y,network:T,publicKey:H}),privateKey:C,publicKey:H,signTransaction:(_)=>{return _.sign(C,U),_}}}function __(y,n){return async function({memo:f,recipient:T,feeOptionKey:C,feeRate:H,assetValue:U,enableRBF:_=!1}){let A=await n?.getAddress();if(!(n&&A))throw new $.SwapKitError("toolbox_utxo_no_signer");if(!T)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});$.warnOnce({condition:_&&!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 Z=_&&bT.includes(y),M=H||(await af(y))[C||$.FeeOption.Fast],{tx:W}=await OH({assetValue:U,enableRBF:Z,feeRate:M,memo:f,recipient:T,sender:A}),G=await n.signTransaction(W);return G.finalize(),Yy(y).broadcastTx(Jf.hex.encode(G.extract()))}}function Bo(y){return(n)=>Yo({address:n,chain:y})}function zo(y){let n=ky(y);return function(f){if(!f)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});return tn({chain:y,network:n,publicKey:f.publicKey})}}function Lf({chain:y,...n}){let o="phrase"in n?n.phrase:void 0,f="index"in n?n.index||0:0,T=o?uT.mnemonicToSeedSync(o):void 0,C="derivationPath"in n&&n.derivationPath?n.derivationPath:$.updateDerivationPath($.NetworkDerivationPath[y],{index:f}),H=$.derivationPathToString(C),U=o?U_({chain:y,derivationPath:H,phrase:o,seed:T}):void 0,_="signer"in n?n.signer:void 0,A=U||_,Z=o?rf({chain:y,derivationPath:H,phrase:o,seed:T}):void 0;function M(){if(A)return A.getAddress();return Promise.resolve(void 0)}function W(q){if(!o)return;let O=Wf({accountIndex:q,chain:y,derivationPath:C});return o_({chain:y,derivationPath:$.derivationPathToString(O),phrase:o,seed:T})}let G=W();function X(){if(!G)return;return G.publicExtendedKey}function Q({accountIndex:q}={}){let O=q===void 0?G:W(q);if(!O)return;let k=Wf({accountIndex:q,chain:y,derivationPath:C});return{accountIndex:xf(k),path:$.derivationPathToString(k),xpub:O.publicExtendedKey}}function B({accountIndex:q,index:O,change:k=!1}){let x=q===void 0?G:W(q);if(!x)return;let F=mf({accountIndex:q,chain:y,change:k,derivationPath:C,index:O}),u=ky(y),h=x.deriveChild(Number(k)).deriveChild(O);if(!h.publicKey)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive public key"});let i=tn({chain:y,network:u,publicKey:h.publicKey}),fy=Jf.hex.encode(h.publicKey);return{accountIndex:xf(F),address:i,change:k,index:O,path:$.derivationPathToString(F),pubkey:fy}}async function D(q){if(!bT.includes(y))return{reason:`RBF is not supported on ${y}`,supported:!1};let O=await Yy(y).getTransactionDetails(q);return{canReplace:O.isRBF&&!O.confirmed,confirmed:O.confirmed,enabled:O.isRBF,fee:O.fee,sequences:O.sequences,supported:!0}}async function L({txid:q,newFeeRate:O,recipient:k,memo:x}){if(!bT.includes(y))throw new $.SwapKitError("toolbox_utxo_rbf_not_supported",{chain:y});let F=await Yy(y).getTransactionDetails(q);if(!F.isRBF)throw new $.SwapKitError("toolbox_utxo_tx_not_replaceable",{txid:q});if(F.confirmed)throw new $.SwapKitError("toolbox_utxo_tx_already_confirmed",{blockId:F.blockId,txid:q});let u=F.inputs.reduce((zy,of)=>zy+of.value,0),i=F.outputs.find((zy)=>zy.recipient===k)?.value||0;if(i===0)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not determine send amount from original transaction"});let fy=await Promise.all(F.inputs.map(async(zy)=>{let of=await Yy(y).getRawTx(zy.transaction_hash);return{hash:zy.transaction_hash,index:zy.index,txHex:of,value:zy.value,witnessUtxo:void 0}})),By=x?Iy(x):null,wy=If({feeRate:O,inputs:fy.map((zy)=>({...zy,type:"P2WPKH"})),outputs:[{address:k,value:i}]}),Zy=Math.ceil(wy*O);if(Zy<=F.fee)throw new $.SwapKitError("toolbox_utxo_rbf_fee_too_low",{newFee:Zy,originalFee:F.fee});let py=Zy-F.fee,ly=i-py;if(ly<=0)throw new $.SwapKitError("toolbox_utxo_rbf_insufficient_change");let Ky=new d.Transaction({allowLegacyWitnessUtxo:!0,version:1}),Yf=[{address:k,value:ly},...x?[{address:"",script:Iy(x),value:0}]:[]],Bf=u-ly-Zy,Tf=await M();if(Bf>$n(y)&&Tf)Yf.push({address:Tf,value:Bf});return Mf({chain:y,compiledMemo:By,inputs:fy,outputs:Yf,sender:Tf||k,tx:Ky}),{feeDelta:py,newFee:Zy,originalFee:F.fee,tx:Ky}}async function w({txid:q,newFeeRate:O,recipient:k,memo:x}){let{tx:F,originalFee:u,newFee:h}=await L({memo:x,newFeeRate:O,recipient:k,txid:q}),i=await R(F);i.finalize();let fy=await Yy(y).broadcastTx(Jf.hex.encode(i.extract()));return{newFee:h,originalFee:u,txid:fy}}function N({accountIndex:q,index:O,change:k=!1}){by("index",O);let x=q===void 0?G:W(q);if(!x)return;return x.deriveChild(Number(k)).deriveChild(O).privateKey||void 0}function z({tx:q,inputDerivations:O}){if(!G)throw new $.SwapKitError("toolbox_utxo_no_signer");let k=y===$.Chain.BitcoinCash?[d.BCHSigHash.ALL]:[d.SigHash.ALL];for(let x=0;x<O.length;x++){let F=O[x];if(!F)continue;let{derivationIndex:u,isChange:h}=F,i=N({change:h,index:u});if(!i)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:`Could not derive private key for input ${x} at index ${u}`});q.signIdx(i,x,k)}return q}async function J({utxos:q,recipient:O,assetValue:k,memo:x,feeRate:F,feeOptionKey:u,changeAddress:h}){if(!G)throw new $.SwapKitError("toolbox_utxo_no_signer");let i=F||(await af(y))[u||$.FeeOption.Fast],fy=x?Iy(x):null,By=[{address:O,value:k.getBaseValue("number")}];if(fy)By.push({address:"",script:fy,value:0});let wy=q.map(({hash:Tf,index:zy,value:of,txHex:$5,witnessUtxo:H0})=>({hash:Tf,index:zy,txHex:$5,value:of,witnessUtxo:H0?{script:H0.script,value:H0.value}:void 0})),{inputs:Zy,outputs:py}=uy({chain:y,feeRate:i,inputs:wy,outputs:By});if(!(Zy&&py))throw new $.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:k,sender:"multiple addresses"});let ly=new d.Transaction({allowLegacyWitnessUtxo:!0,version:1}),Ky=q[0]?.address,Yf=h||await M()||Ky||O;Mf({chain:y,compiledMemo:fy,inputs:Zy,outputs:py,sender:Yf,tx:ly});let Bf=Zy.map((Tf)=>{let zy=q.find((of)=>of.hash===Tf.hash&&of.index===Tf.index);return zy?{derivationIndex:zy.derivationIndex,isChange:zy.isChange}:{derivationIndex:0,isChange:!1}});return z({inputDerivations:Bf,tx:ly}),ly.finalize(),Yy(y).broadcastTx(Jf.hex.encode(ly.extract()))}function Y({address:q,gapLimit:O=20}){if(!G)return;for(let k=0;k<O;k++){let x=B({change:!1,index:k}),F=B({change:!0,index:k}),u=x?.address===q?!1:F?.address===q;if(x?.address===q||F?.address===q)return{change:u,index:k}}return}function R(q){if(!A)throw new $.SwapKitError("toolbox_utxo_no_signer");return A.signTransaction(q)}async function l(q){let O=await R(q);return O.finalize(),await Yy(y).broadcastTx(Jf.hex.encode(O.extract()))}return{accumulative:uy,broadcastTx:(q)=>Yy(y).broadcastTx(q),bumpFee:w,calculateTxSize:If,createKeysForPath:(q)=>rf({...q,chain:y}),createReplacementTransaction:L,createTransaction:OH,deriveAddressAtIndex:B,derivePrivateKeyAtIndex:N,estimateMaxSendableAmount:C_(y),estimateTransactionFee:H_(y),getAddress:M,getAddressFromKeys:zo(y),getBalance:Sy(y),getExtendedPublicKey:X,getExtendedPublicKeyInfo:Q,getFeeRates:()=>af(y),getInputsOutputsFee:wH,getNetworkForChain:()=>ky(y),getPrivateKeyFromMnemonic:(q)=>T_(rf({...q,chain:y}).privateKey,y),isRBFEnabled:D,keys:Z,resolveDerivationIndex:Y,signAndBroadcastTransaction:l,signTransaction:R,signTransactionWithMultipleKeys:z,transfer:__(y,A),transferFromMultipleAddresses:J,validateAddress:Bo(y)}}var zH,Jf,Mo,uT,$,d,Lo,Pn,bT;var sf=P(()=>{iy();kn();gf();In();zH=require("@noble/curves/secp256k1.js"),Jf=require("@scure/base"),Mo=require("@scure/bip32"),uT=require("@scure/bip39"),$=require("@swapkit/helpers"),d=require("@swapkit/utxo-signer"),Lo=require("ts-pattern"),Pn=[$.Chain.Dash,$.Chain.Dogecoin,$.Chain.Zcash,$.Chain.BitcoinCash],bT=[$.Chain.Bitcoin]});function pn(y){return Pf(Sn(y))}function A_(y){let n=ky(gy);function o(T){return T.sign(y.privateKey,[Jy.BCHSigHash.ALL]),T}function f(){let T=Jy.p2pkh(y.publicKey,n);if(!T.hash)throw new Qy.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});let C=Jy.encodeCashAddr({hash:T.hash,prefix:Jy.CashAddrPrefix.MAINNET,type:Jy.CashAddrType.P2PKH});return Promise.resolve(C.replace(/^bitcoincash:/,""))}return{getAddress:f,signTransaction:o}}function Oo(y){let n="phrase"in y?y.phrase:void 0,o="index"in y?y.index||0:0,f=Qy.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:Qy.updateDerivationPath(Qy.NetworkDerivationPath[gy],{index:o})),T=n?rf({chain:gy,derivationPath:f,phrase:n}):void 0,C=T?A_(T):("signer"in y)?y.signer:void 0;function H(){return Promise.resolve(C?.getAddress())}let{getBalance:U,getFeeRates:_,broadcastTx:A,...Z}=Lf({chain:gy});function M(X,Q=!0){return U(Pf(Sn(X)))}function W(X){if(!C)throw new Qy.SwapKitError("toolbox_utxo_no_signer");return C.signTransaction(X)}async function G(X){let Q=await W(X);return Q.finalize(),await A(No.hex.encode(Q.extract()))}return{...Z,broadcastTx:A,buildTx:G_,createTransaction:DH,getAddress:H,getAddressFromKeys:X_,getBalance:M,getFeeRates:_,signAndBroadcastTransaction:G,signTransaction:W,stripPrefix:Pf,stripToCashAddress:pn,transfer:q_({broadcastTx:A,getFeeRates:_,signer:C}),validateAddress:Zf}}async function DH({assetValue:y,recipient:n,memo:o,feeRate:f,sender:T}){if(!Zf(n))throw new Qy.SwapKitError("toolbox_utxo_invalid_address",{address:n});let C=Math.ceil(y.getBaseValue("number")+f*7500),H=await Yy(gy).getUtxos({address:pn(T),fetchTxHex:!0,targetValue:C}),U=o?Iy(o):null,_=[],A=yf(n);if(_.push({address:A,value:y.getBaseValue("number")}),U)_.push({script:U,value:0});let{inputs:Z,outputs:M}=uy({chain:gy,feeRate:f,inputs:H,outputs:_});if(!(Z&&M))throw new Qy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:T});let W=new Jy.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!U,version:1}),G=yf(T),{inputs:X,tx:Q}=Mf({chain:gy,compiledMemo:U,inputs:Z,outputs:M.map((B)=>("address"in B)&&B.address?{...B,address:yf(B.address)}:B),sender:G,tx:W});return{inputs:X,tx:Q,utxos:Z}}function q_({broadcastTx:y,getFeeRates:n,signer:o}){return async function({recipient:T,assetValue:C,feeOptionKey:H=Qy.FeeOption.Fast,...U}){let _=await o?.getAddress();if(!(o&&_))throw new Qy.SwapKitError("toolbox_utxo_no_signer");if(!T)throw new Qy.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let A=U.feeRate||(await n())[H],{tx:Z}=await DH({...U,assetValue:C,feeRate:A,recipient:T,sender:_}),M=await o.signTransaction(Z);return M.finalize(),y(No.hex.encode(M.extract()))}}async function G_({assetValue:y,recipient:n,memo:o,feeRate:f,sender:T}){let C=Sn(n);if(!Zf(C))throw new Qy.SwapKitError("toolbox_utxo_invalid_address",{address:C});let H=Math.ceil(y.getBaseValue("number")+f*7500),U=await Yy(gy).getUtxos({address:pn(T),fetchTxHex:!0,targetValue:H}),_=Number(f.toFixed(0)),A=o?Iy(o):null,Z=[];if(Z.push({address:yf(n),value:y.getBaseValue("number")}),A)Z.push({script:A,value:0});let{inputs:M,outputs:W}=uy({chain:gy,feeRate:_,inputs:U,outputs:Z});if(!(M&&W))throw new Qy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:T});let G=new Jy.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!A,version:1}),{inputs:X,tx:Q}=Mf({chain:gy,compiledMemo:A,inputs:M,outputs:W,sender:yf(T),tx:G});return{inputs:X,tx:Q,utxos:U}}function X_(y){let n=Jy.NETWORKS.bitcoinCash,o=Jy.p2pkh(y.publicKey,n);if(!o.hash)throw new Qy.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return Jy.encodeCashAddr({hash:o.hash,prefix:Jy.CashAddrPrefix.MAINNET,type:Jy.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}var No,Qy,Jy,gy;var vT=P(()=>{gf();sf();In();No=require("@scure/base"),Qy=require("@swapkit/helpers"),Jy=require("@swapkit/utxo-signer"),gy=Qy.Chain.BitcoinCash});function kH(){let{isStagenet:y}=Gy.SKConfig.get("envs");return y?Cy.ZCASH_TEST_NETWORK:Cy.ZCASH_NETWORK}function Q_(y){return W_.encode(y)}function Z_({phrase:y,derivationPath:n}){let o=Do.mnemonicToSeedSync(y),T=wo.HDKey.fromMasterSeed(o).derive(n);if(!T.privateKey||!T.publicKey)throw new Gy.SwapKitError("toolbox_utxo_invalid_params");let{privateKey:C,publicKey:H}=T,U=Cy.utils.hash160(H),{isStagenet:_}=Gy.SKConfig.get("envs"),A=_?new Uint8Array([29,37]):new Uint8Array([28,184]),Z=new Uint8Array(A.length+U.length);Z.set(A,0),Z.set(U,A.length);let M=Q_(Z);return{getAddress:()=>Promise.resolve(M),signTransaction:(W)=>{if(W instanceof Cy.PCZT)return W.signAllInputs(C,H,Cy.ZcashSigHash.ALL),W.finalizeAllInputs(),Promise.resolve(W.extract());return W.signAllInputs(C,H,Cy.ZcashSigHash.ALL),Promise.resolve(W)}}}function J_({inputs:y,outputs:n,tx:o,sender:f,compiledMemo:T}){let C=kH();for(let H of y){let U=Cy.Address(C).decode(f),_=Cy.OutScript.encode(U);o.addInput({index:H.index,script:_,sequence:4294967295,txid:jT.hex.decode(H.hash),value:BigInt(H.value)})}for(let H of n){let U="address"in H&&H.address?H.address:f,_=H.script;if(_&&!T)continue;if(_&&T)o.addOutput({amount:0n,script:T});else o.addOutputAddress(U,BigInt(H.value),C)}return{inputs:y,tx:o}}async function RH(y){let{assetValue:n,recipient:o,memo:f,feeRate:T,sender:C,fetchTxHex:H}=y,U=f?Iy(f):null,_=await Yy(Gy.Chain.Zcash).getUtxos({address:C,fetchTxHex:H!==!1}),A=[{address:o,value:Number(n.getBaseValue("string"))},...U?[{script:U,value:0}]:[]],{inputs:Z,outputs:M}=uy({chain:Gy.Chain.Zcash,changeAddress:C,feeRate:T,inputs:_,outputs:A});if(!(Z&&M))throw new Gy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:C});let W=Cy.createZcashTransaction({consensusBranchId:Cy.ZcashConsensusBranchId.NU6_1,expiryHeight:0,lockTime:0,version:4,versionGroupId:Cy.ZcashVersionGroupId.SAPLING}),{tx:G,inputs:X}=J_({compiledMemo:U,inputs:Z,outputs:M,sender:C,tx:W});return{inputs:X,outputs:M,tx:G}}function Ro(y){let n=ef.match(y).with({signer:ef.P.not(ef.P.nullish)},({signer:_})=>_).with({phrase:ef.P.string},({phrase:_,derivationPath:A,index:Z=0})=>{let M=A||Gy.NetworkDerivationPath[Gy.Chain.Zcash]||[44,133,0,0,0],W=Gy.updateDerivationPath(M,{index:Z}),G=Gy.derivationPathToString(W);return Z_({derivationPath:G,phrase:_})}).otherwise(()=>{return}),o=Lf({chain:Gy.Chain.Zcash,signer:n});async function f(_){if(!n)throw new Gy.SwapKitError("toolbox_utxo_no_signer");return await n.signTransaction(_)}async function T(_){let A=await f(_);return o.broadcastTx(A.toHex())}async function C({recipient:_,assetValue:A,feeOptionKey:Z=Gy.FeeOption.Fast,...M}){let W=await n?.getAddress();if(!(n&&W))throw new Gy.SwapKitError("toolbox_utxo_no_signer");let G=M.feeRate||(await o.getFeeRates())[Z],{tx:X}=await RH({...M,assetValue:A,feeRate:G,recipient:_,sender:W}),B=(await n.signTransaction(X)).toHex();return o.broadcastTx(B)}function H({phrase:_,derivationPath:A="m/44'/133'/0'/0/0"}){let Z=Do.mnemonicToSeedSync(_),W=wo.HDKey.fromMasterSeed(Z).derive(A);if(!W.privateKey||!W.publicKey)throw new Gy.SwapKitError("toolbox_utxo_invalid_params");return{privateKey:W.privateKey,publicKey:W.publicKey}}function U({phrase:_,derivationPath:A="m/44'/133'/0'/0/0"}){let Z=H({derivationPath:A,phrase:_}),M=kH();return Cy.WIF(M).encode(Z.privateKey)}return{...o,createKeysForPath:H,createTransaction:RH,getPrivateKeyFromMnemonic:U,signAndBroadcastTransaction:T,signTransaction:f,transfer:C,validateAddress:df}}var jT,wo,Do,Gy,Cy,ef,W_;var ko=P(()=>{gf();sf();In();jT=require("@scure/base"),wo=require("@scure/bip32"),Do=require("@scure/bip39"),Gy=require("@swapkit/helpers"),Cy=require("@swapkit/utxo-signer"),ef=require("ts-pattern");W_=jT.createBase58check(Cy.utils.sha256)});function FH({xpub:y,chain:n,count:o,startIndex:f=0,accountIndex:T}){if(by("count",o),o<1)throw RangeError("count must be at least 1");by("startIndex",f);let C=ky(n),H=SH.HDKey.fromExtendedKey(y,C.bip32),U=Wf({accountIndex:T,chain:n}),_=xf(U),A=[];for(let Z of[!1,!0]){let M=H.deriveChild(Number(Z));for(let W=0;W<o;W++){let G=f+W,X=M.deriveChild(G);if(!X.publicKey)continue;let Q=mf({accountIndex:T,chain:n,change:Z,index:G});A.push({accountIndex:_,address:tn({chain:n,network:C,publicKey:X.publicKey}),change:Z,index:G,path:xH.derivationPathToString(Q),pubkey:lH.hex.encode(X.publicKey)})}}return A}var lH,SH,xH;var $H=P(()=>{kn();sf();lH=require("@scure/base"),SH=require("@scure/bip32"),xH=require("@swapkit/helpers")});function M_(y,n){switch(y){case ff.Chain.BitcoinCash:return Oo(n||{});case ff.Chain.Zcash:return Ro(n);case ff.Chain.Bitcoin:case ff.Chain.Dogecoin:case ff.Chain.Litecoin:case ff.Chain.Dash:return Lf({chain:y,...n});default:throw new ff.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}var ff;var IH=P(()=>{vT();sf();ko();kn();$H();vT();In();ff=require("@swapkit/helpers")});var lo={};My(lo,{validateZcashAddress:()=>df,validateUtxoAddress:()=>Yo,validateBchAddress:()=>Zf,toLegacyAddress:()=>yf,toCashAddress:()=>Sn,stripToCashAddress:()=>pn,stripPrefix:()=>Pf,nonSegwitChains:()=>Pn,isValidAddress:()=>Qo,getUtxoToolbox:()=>M_,getUtxoNetwork:()=>h2,getUtxoApi:()=>Yy,getUTXOAddressValidator:()=>Bo,getUTXOAddressPath:()=>mf,getUTXOAccountPath:()=>Wf,getUTXOAccountIndexFromPath:()=>xf,getScriptTypeForAddress:()=>cf,getOutputSize:()=>Fn,getNetworkForChain:()=>ky,getInputSize:()=>Qf,getDustThreshold:()=>$n,detectAddressNetwork:()=>Zo,deriveAddressesFromXpub:()=>FH,createZcashToolbox:()=>Ro,createUTXOToolbox:()=>Lf,createHDWalletHelpers:()=>TH,createCustomUtxoApi:()=>K2,createBCHToolbox:()=>Oo,compileMemo:()=>Iy,calculateTxSize:()=>If,assertDerivationIndex:()=>by,addressFromKeysGetter:()=>zo,addInputsAndOutputs:()=>Mf,accumulative:()=>uy,UtxoNetwork:()=>Wo,UTXOScriptType:()=>ET,TX_OVERHEAD:()=>tT,SEGWIT_MARKER_FLAG_WEIGHT:()=>pT,OutputSizes:()=>xn,OP_RETURN_OVERHEAD:()=>LH,MIN_TX_FEE:()=>e2,InputSizes:()=>PT});module.exports=Ny(lo);var So=P(()=>{sf();kn();gf();IH();vT();ko()});function En(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:n}=await import("@near-js/crypto"),o=y.index||0,f=y.derivationPath?KT.derivationPathToString(y.derivationPath.slice(0,3)):`m/44'/397'/${o}'`,{secretKey:T}=tH.parseSeedPhrase(y.phrase,f),C=n.fromString(T);return EH(C)}async function xo(y){let{KeyPair:n}=await import("@near-js/crypto"),o=n.fromString(y);return EH(o)}function EH(y){return new pH(y)}async function mT(y,n){let f=(await y.query({account_id:n,finality:"final",request_type:"view_access_key_list"})).keys.find((U)=>U.access_key.permission==="FullAccess");if(!f)throw new KT.SwapKitError("toolbox_near_no_public_key_found");let{PublicKey:T}=await import("@near-js/crypto"),C=T.fromString(f.public_key);return{nonce:f.access_key.nonce||0,publicKey:C}}var PH,KT,tH,pH;var Fo=P(()=>{PH=require("@near-js/signers"),KT=require("@swapkit/helpers"),tH=U0(require("near-seed-phrase"));pH=class pH extends PH.KeyPairSigner{#y;constructor(y){super(y);this.#y=y}getAddress(){let y=this.#y.getPublicKey(),n=Buffer.from(y.data).toString("hex");return Promise.resolve(n)}}});function $o(y){return"recipient"in y&&"amount"in y&&!("contractId"in y)}function Io(y){return"contractId"in y&&"methodName"in y}function Po(y){return"actions"in y}function to(y){return"newAccountId"in y}function po(y){return"contractCode"in y}function Eo(y){return"customEstimator"in y}function Vo(y){let n=0;for(let o of y)switch(o.enum){case"transfer":n+=Number(Oy.SIMPLE_TRANSFER);break;case"functionCall":n+=Number(Oy.CONTRACT_CALL);break;case"createAccount":n+=Number(Oy.ACCOUNT_CREATION);break;case"deployContract":n+=Number(Oy.CONTRACT_DEPLOYMENT);break;case"addKey":n+=Number(Oy.ACCESS_KEY_ADDITION);break;case"deleteKey":n+=Number(Oy.ACCESS_KEY_DELETION);break;case"stake":n+=Number(Oy.STAKE);break;default:n+=Number(Oy.CONTRACT_CALL)}return n.toString()}function bo(y){if(y==="ft_transfer"||y==="ft_transfer_call")return Oy.TOKEN_TRANSFER;if(y==="storage_deposit")return Oy.STORAGE_DEPOSIT;return Oy.CONTRACT_CALL}function L_(y){return(BigInt(y)*BigInt(1000000000000)).toString()}function Y_(y){return(BigInt(y)/BigInt(1000000000000)).toString()}var Oy;var uo=P(()=>{Oy={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 vo({account:y,contractId:n,viewMethods:o,changeMethods:f}){let{Contract:T}=await import("@near-js/accounts");return new T(y,n,{changeMethods:f,useLocalViewExecution:!0,viewMethods:o})}function B_(y){let n;async function o(){if(n)return n;return n=await yn.match(y).with({phrase:yn.P.string},async(q)=>{return await hT(q)}).with({signer:yn.P.any},({signer:q})=>q).otherwise(()=>{return}),n}async function f(){let q=await ny.getRPCUrl(ny.Chain.Near);return new VH.JsonRpcProvider({url:q})}async function T(q){let{Account:O}=await import("@near-js/accounts"),k=await f(),x=await o(),F=q||await C();return new O(F,k,x)}async function C(){let q=await o();if(!q)throw new ny.SwapKitError("toolbox_near_no_signer");return await q.getAddress()}async function H(q){return(await N({changeMethods:[],contractId:q.contractId,viewMethods:["storage_balance_of"]})).storage_balance_of({account_id:q.accountId})}async function U(q){let k=[await W({args:{account_id:q.recipient},attachedDeposit:"1250000000000000000000",gas:"150000000000000",methodName:"storage_deposit"}),await W({args:{amount:q.assetValue.getBaseValue("string"),memo:q.memo||null,receiver_id:q.recipient},attachedDeposit:"1",gas:"150000000000000",methodName:"ft_transfer"})];return z({actions:k,receiverId:q.contractId})}async function _(q){if(!await o())throw new ny.SwapKitError("toolbox_near_no_signer");let{assetValue:k,recipient:x,memo:F}=q,u=await C();if(!k.isGasAsset&&k.address){if(!await H({accountId:x,contractId:k.address}))return U({assetValue:k,contractId:k.address,memo:F,recipient:x})}let h=await A({...q,sender:u});return Q(h)}async function A({recipient:q,assetValue:O,memo:k,attachedDeposit:x,sender:F,functionCall:u}){let h=await f();if(!En(q))throw new ny.SwapKitError("toolbox_near_invalid_address",{recipient:q});if(!En(F))throw new ny.SwapKitError("toolbox_near_invalid_address",{sender:F});if(u)return M({...u,sender:F});if(!O.isGasAsset){let Bf=O.address;if(!Bf)throw new ny.SwapKitError("toolbox_near_missing_contract_address");return M({args:{amount:O.getBaseValue("string"),memo:k||null,receiver_id:q},attachedDeposit:x||"1",contractId:Bf,gas:"250000000000000",methodName:"ft_transfer",sender:F})}let{publicKey:i,nonce:fy}=await mT(h,F),By=O.getBaseValue("bigint"),{actionCreators:wy,createTransaction:Zy}=await import("@near-js/transactions"),{baseDecode:py}=await import("@near-js/utils"),ly=[wy.transfer(By)];if(k&&x)ly.push(wy.functionCall("memo",{memo:k},BigInt("250000000000000"),BigInt(x)));let Ky=await h.block({finality:"final"}),Yf=py(Ky.header.hash);return Zy(F,i,q,fy+1,ly,Yf)}function Z(q){let O=q.encode();return Buffer.from(O).toString("base64")}async function M({args:q,attachedDeposit:O,contractId:k,gas:x,methodName:F,sender:u}){let h=await f(),{publicKey:i,nonce:fy}=await mT(h,u),{createTransaction:By,actionCreators:wy}=await import("@near-js/transactions"),{baseDecode:Zy}=await import("@near-js/utils"),py=await h.block({finality:"final"}),ly=Zy(py.header.hash),Ky=[wy.functionCall(F,Buffer.from(JSON.stringify(q)),BigInt(x),BigInt(O))];return By(u,i,k,fy+1,Ky,ly)}async function W(q){let{actionCreators:O}=await import("@near-js/transactions");return O.functionCall(q.methodName,Buffer.from(JSON.stringify(q.args)),BigInt(q.gas),BigInt(q.attachedDeposit))}async function G(q){let O=await o();if(!O)throw new ny.SwapKitError("toolbox_near_no_signer");let[k,x]=await O.signTransaction(q);return x}async function X(q){return(await(await f()).sendTransaction(q)).transaction.hash}async function Q(q){let O=await o();if(!O)throw new ny.SwapKitError("toolbox_near_no_signer");try{let k=await G(q);return await X(k)}catch{return O.signAndSendTransactions?.({transactions:[q]})}}async function B(q){let O=await o();if("assetValue"in q){let x=await D();try{let F=await ny.getRPCUrl(ny.Chain.Near),u=await fetch(F,{body:JSON.stringify({id:"dontcare",jsonrpc:"2.0",method:"EXPERIMENTAL_protocol_config",params:{finality:"final"}}),headers:{"Content-Type":"application/json"},method:"POST"}),{result:{runtime_config:h}}=await u.json(),{execution:i,send_sir:fy}=h.transaction_costs.action_receipt_creation_config,{execution:By,send_sir:wy}=h.transaction_costs.action_creation_config.transfer_cost,Zy=BigInt(wy)+BigInt(By),py=BigInt(fy)+BigInt(i),Ky=(Zy+py)*BigInt(x.toString());return ny.AssetValue.from({chain:ny.Chain.Near,value:Ky})}catch(F){console.debug("NEAR fee estimation (protocol config) failed, using fallback:",F);let u=BigInt("115123062500"),h=BigInt("108059500000"),fy=(u+h)*BigInt(x.toString());return ny.AssetValue.from({chain:ny.Chain.Near,value:fy})}}let k=O?await T():void 0;return J(q,k)}async function D(){let q=await f();try{return await q.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function L(q,O,k){if(!await o())throw new ny.SwapKitError("toolbox_near_no_signer");let F=await T(),{formatNearAmount:u}=await import("@near-js/utils"),{PublicKey:h}=await import("@near-js/crypto"),i=u(k)||"0";return(await F.createAccount(q,h.fromString(O),BigInt(i))).transaction.hash}async function w(q){let O=await o();try{if(!O)throw new ny.SwapKitError("toolbox_near_no_signer");let{actionCreators:k}=await import("@near-js/transactions"),{contractId:x,methodName:F,args:u,deposit:h}=q,i=await T(),fy=await J({args:u||{},contractId:x,methodName:F}),By=k.functionCall(F,u||{},fy.getBaseValue("bigint"),BigInt(h||"1"));return(await i.signAndSendTransaction({actions:[By],receiverId:x})).transaction_outcome.id}catch(k){throw new ny.SwapKitError("toolbox_near_transfer_failed",{error:k})}}async function N(q){let O=await T();return vo({account:O,changeMethods:q.changeMethods,contractId:q.contractId,viewMethods:q.viewMethods})}async function z(q){if(!await o())throw new ny.SwapKitError("toolbox_near_no_signer");if(q.actions.length===0)throw new ny.SwapKitError("toolbox_near_empty_batch");return(await(await T()).signAndSendTransaction({actions:q.actions,receiverId:q.receiverId})).transaction.hash}async function J(q,O){let k=await yn.match(q).when($o,()=>Oy.SIMPLE_TRANSFER).when(Io,(F)=>bo(F.methodName)).when(Po,(F)=>Vo(F.actions)).when(to,()=>Oy.ACCOUNT_CREATION).when(po,()=>Oy.CONTRACT_DEPLOYMENT).when(Eo,(F)=>{if(!O)throw new ny.SwapKitError("toolbox_near_no_account");return F.customEstimator(O)}).otherwise(()=>{throw new ny.SwapKitError("toolbox_near_invalid_gas_params")}),x=BigInt(k)*BigInt(1000000000000);return ny.AssetValue.from({chain:ny.Chain.Near,value:x})}function Y(q,O){return console.warn("NEAR toolbox: estimateGas is deprecated, use estimateGasLimit instead"),J(q,O)}async function R(){let q=await f();try{return(await q.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}async function l(){let q=await o();return q?(await q.getPublicKey()).toString():""}return{broadcastTransaction:X,callFunction:w,createAction:W,createContract:N,createContractFunctionCall:M,createSubAccount:L,createTransaction:A,estimateGas:Y,estimateGasLimit:J,estimateTransactionFee:B,executeBatchTransaction:z,getAddress:C,getBalance:Sy(ny.Chain.Near),getGasPrice:R,getNearProvider:f,getPublicKey:l,getSignerFromPhrase:hT,getSignerFromPrivateKey:xo,serializeTransaction:Z,signAndBroadcastTransaction:Q,signTransaction:G,transfer:_,validateAddress:En}}var VH,ny,yn;var jo=P(()=>{iy();Fo();uo();VH=require("@near-js/providers"),ny=require("@swapkit/helpers"),yn=require("ts-pattern")});var bH=P(()=>{jo()});var Ko={};My(Ko,{validateNearAddress:()=>En,tgasToGas:()=>L_,isSimpleTransfer:()=>$o,isCustomEstimator:()=>Eo,isContractDeployment:()=>po,isContractCall:()=>Io,isBatchTransaction:()=>Po,isAccountCreation:()=>to,getNearToolbox:()=>B_,getNearSignerFromPrivateKey:()=>xo,getNearSignerFromPhrase:()=>hT,getFullAccessPublicKey:()=>mT,getContractMethodGas:()=>bo,gasToTGas:()=>Y_,estimateBatchGas:()=>Vo,createNearContract:()=>vo,GAS_COSTS:()=>Oy});module.exports=Ny(Ko);var ho=P(()=>{Fo();uo();jo();bH()});var mo={};My(mo,{validateRadixAddress:()=>jH,getRadixToolbox:()=>D_});module.exports=Ny(mo);function jH(y){return y.startsWith("account_rdx1")&&y.length===66}function z_({networkApi:y}){return async function(o){let f=await N_({address:o,networkApi:y}),T=await O_({networkApi:y,resources:f});if(!T.some((H)=>H.isGasAsset))return[vy.AssetValue.from({chain:vy.Chain.Radix}),...T];return T}}async function N_({address:y,networkApi:n}){let o=!0,f,T=[],C=await w_(n);while(o){let H={address:y,at_ledger_state:{state_version:C},cursor:f,limit_per_page:100},U=await n.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:H});if(T=T.concat(U.items),U.next_cursor)f=U.next_cursor;else o=!1}return T}async function O_({resources:y,networkApi:n}){let o=[],f=50,T=[];for(let C=0;C<y.length;C+=50)T.push(y.slice(C,C+50));for(let C of T){let H=C.map((A)=>A.resource_address),U=await n.state.getEntityDetailsVaultAggregated(H),_=new Map;for(let A of U)if(A.details!==void 0){let Z=A.metadata?.items.find((W)=>W.key==="symbol"),M=Z?.value.typed.type==="String"?Z.value.typed.value:"?";if(A.details.type==="FungibleResource")_.set(A.address,{decimals:A.details.divisibility,symbol:M})}for(let A of C)if(A.aggregation_level==="Global"){let Z=_.get(A.resource_address)||{decimals:0,symbol:"?"},M=vy.AssetValue.from({asset:Z.symbol!==vy.Chain.Radix?`${vy.Chain.Radix}.${Z.symbol}-${A.resource_address}`:"XRD.XRD",value:A.amount});o.push(M)}}return o}async function w_(y){return(await y.status.getCurrent()).ledger_state.state_version}function D_({dappConfig:y}={}){let n=y||vy.SKConfig.get("integrations").radix,o=vH.RadixDappToolkit({...n,networkId:n.network?.networkId||1}),f=uH.GatewayApiClient.initialize(o.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:z_({networkApi:f}),networkApi:f,signAndBroadcast:()=>{throw new vy.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:jH}}var uH,vH,vy;var co=P(()=>{uH=require("@radixdlt/babylon-gateway-api-sdk"),vH=require("@radixdlt/radix-dapp-toolkit"),vy=require("@swapkit/helpers")});function cT(y){return/^[0-9A-Fa-f]{40}$/.test(y)}function Vn(y){if(cT(y))return y.toUpperCase();if(y.length<=3){let o=Buffer.from(y.padEnd(3,"\x00")).toString("hex");return`00${"0".repeat(22)}${o}${"0".repeat(10)}`.toUpperCase()}let n=Buffer.from(y).toString("hex").toUpperCase();if(n.length>40)throw new KH.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:y,reason:"Currency exceeds maximum length (20 bytes)"}});return n.padEnd(40,"0")}function R_(y){if(!cT(y))return y;if(y.toUpperCase().startsWith("00")){let n=y.slice(24,30);try{let o=Buffer.from(n,"hex").toString("ascii").replace(/\0/g,"");if(/^[A-Za-z0-9?!@#$%^&*<>(){}[\]|]+$/.test(o)&&o.length>0)return o}catch{}return y.toUpperCase()}try{let n=y.replace(/0+$/,""),o=n.length%2===0?n:`${n}0`,f=Buffer.from(o,"hex").toString("utf8");if(/^[\x20-\x7E]+$/.test(f))return f}catch{}return y.toUpperCase()}function fn(y){if(cT(y))return y.toUpperCase();if(y.length<=3)return y;return Vn(y)}var KH;var gT=P(()=>{KH=require("@swapkit/helpers")});async function k_(y,n){let o=fn(y),f=dT.find((T)=>fn(T.currency)===o&&T.issuer===n);if(f)return f;try{let T=await iT.RequestClient.get(`https://api.xrplmeta.org/token/${y}:${n}`);if(T)return{currency:y,decimals:15,description:T.desc,domain:T.domain,icon:T.icon,issuer:n,name:T.name,verified:T.self_assessment?.is_regulated||T.self_assessment?.is_licensed}}catch(T){iT.warnOnce({condition:!0,id:`xrpl_token_lookup_${y}_${n}`,warning:`Failed to fetch XRPL token info for ${y}:${n}: ${T}`})}return{currency:y,decimals:15,issuer:n,verified:!1}}function l_(y){return dT.filter((n)=>n.issuer===y)}function S_(y,n){let o=fn(y);return dT.some((f)=>fn(f.currency)===o&&f.issuer===n)}var iT,dT;var hH=P(()=>{gT();iT=require("@swapkit/helpers"),dT=[{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 go={};My(go,{validateRippleAddress:()=>aT,parseXrplTokenIdentifier:()=>gH,normalizeCurrency:()=>fn,isKnownToken:()=>S_,isHexCurrency:()=>cT,hexToCurrency:()=>R_,hashes:()=>dH.hashes,getXrplTokenInfo:()=>k_,getRippleToolbox:()=>F_,getKnownTokensByIssuer:()=>l_,formatXrplTokenIdentifier:()=>iH,currencyToHex:()=>Vn,XRPL_TOKEN_ERROR_CODES:()=>rT,XRPL_KNOWN_TOKENS:()=>dT});module.exports=Ny(go);function gH(y){let n=y.match(/^XRP\.([A-Fa-f0-9]{40}|[\x20-\x7E]{1,20})-([a-zA-Z0-9]{25,34})$/);if(!n?.[1]||!n?.[2])return null;if(!nf.isValidAddress(n[2]))return null;return{currency:n[1],issuer:n[2]}}function iH(y,n){return`${c.Chain.Ripple}.${y}-${n}`}function x_(y){if(y.isGasAsset)return nf.xrpToDrops(y.getValue("string"));let n=gH(y.toString());if(!n)throw new c.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:y.toString()}});return{currency:n.currency,issuer:n.issuer,value:y.getValue("string")}}function cH(y){let n=nf.Wallet.fromMnemonic(y);return{getAddress:()=>Promise.resolve(n.address),signTransaction:(o)=>Promise.resolve(n.sign(o))}}function aT(y){return nf.isValidAddress(y)}function F_(y={}){let n=nn.match(y).with({phrase:nn.P.string},({phrase:L})=>cH(L)).with({signer:nn.P.any},({signer:L})=>L).otherwise(()=>{return}),o;async function f(){let L=await c.getRPCUrl(c.Chain.Ripple);if(!L)throw new c.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:c.Chain.Ripple}});let w=new nf.Client(L);return await w.connect(),w}async function T(){if(o){let L=await o.catch(()=>null);if(L?.isConnected())return L}return o=f(),o}let C=()=>{if(!n)throw new c.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return n.getAddress()},H=async(L)=>{let w=L||await C(),{baseDecimal:N}=c.getChainConfig(c.Chain.Ripple),z=await T();try{let[J,Y]=await Promise.all([z.request({account:w,command:"account_info"}),z.request({account:w,command:"account_lines"})]),R=J.result.account_data.Balance,l=[c.AssetValue.from({chain:c.Chain.Ripple,fromBaseDecimal:N,value:R})];for(let q of Y.result.lines){let O=iH(q.currency,q.account);if(Number.parseFloat(q.balance)!==0)l.push(c.AssetValue.from({asset:O,asyncTokenLookup:!1,value:q.balance}))}return l}catch(J){if(J.data?.error_code===mH.ACCOUNT_NOT_FOUND)return[c.AssetValue.from({chain:c.Chain.Ripple,value:0})];throw new c.SwapKitError({errorKey:"toolbox_ripple_get_balance_error",info:{address:w,error:J}})}},U=async()=>{let{baseDecimal:L}=c.getChainConfig(c.Chain.Ripple),z=(await(await T()).request({command:"fee"})).result.drops.open_ledger_fee;return c.AssetValue.from({chain:c.Chain.Ripple,fromBaseDecimal:L,value:z})};async function _(L){let w=L||await C(),N=await T();try{return(await N.request({account:w,command:"account_lines"})).result.lines.map((J)=>({account:J.account,authorized:J.authorized??!1,balance:J.balance,currency:J.currency,freeze:J.freeze??!1,freezePeer:J.freeze_peer??!1,limit:J.limit,limitPeer:J.limit_peer,noRipple:J.no_ripple??!1,noRipplePeer:J.no_ripple_peer??!1,peerAuthorized:J.peer_authorized??!1,qualityIn:J.quality_in??0,qualityOut:J.quality_out??0}))}catch(z){if(z.data?.error_code===mH.ACCOUNT_NOT_FOUND)return[];throw new c.SwapKitError({errorKey:"toolbox_ripple_get_trust_lines_error",info:{address:w,error:z}})}}async function A({address:L,currency:w,issuer:N}){let z=await _(L),J=Vn(w);return z.some((Y)=>{return Vn(Y.currency)===J&&Y.account===N})}async function Z({currency:L,issuer:w,limit:N,sender:z}){let J=z||await C();if(!aT(w))throw new c.SwapKitError({errorKey:"core_transaction_invalid_recipient_address",info:{address:w}});let Y=Number.parseFloat(N);if(Number.isNaN(Y)||Y<0)throw new c.SwapKitError({errorKey:"toolbox_ripple_invalid_trust_line_limit",info:{limit:N}});let R=await T(),l={Account:J,LimitAmount:{currency:L,issuer:w,value:N},TransactionType:"TrustSet"};return R.autofill(l)}async function M({assetValue:L,recipient:w,memo:N,sender:z,destinationTag:J,extendBySeconds:Y=150}){if(!aT(w))throw new c.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let R=z||await C();if(L.chain!==c.Chain.Ripple)throw new c.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:L.toString()}});let l=x_(L),q={Account:R,Amount:l,Destination:w,TransactionType:"Payment",...J!==void 0&&{DestinationTag:J}};if(N)q.Memos=[{Memo:{MemoData:Buffer.from(N).toString("hex")}}];let k=await(await T()).autofill(q);if(k.LastLedgerSequence&&Y>0)k.LastLedgerSequence+=Math.ceil(Y/4);return k}function W(L){if(!n)throw new c.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return n.signTransaction(L)}async function G(L){let N=await(await T()).submitAndWait(L),{result:z}=N;if(z.validated)return z.hash;let J=z.meta?.TransactionResult,Y=nn.match(J).with(rT.tecNO_LINE,()=>"No trust line exists for this token").with(rT.tecPATH_DRY,()=>"Payment path could not deliver funds").with(rT.tecFROZEN,()=>"Token is frozen").otherwise(()=>{return});throw new c.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:c.Chain.Ripple,...Y?{reason:Y}:{txResult:J}}})}let X=async(L)=>{try{let w=await W(L);return G(w.tx_blob)}catch(w){if(w instanceof c.SwapKitError)throw w;throw new c.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:c.Chain.Ripple,error:w}})}};async function Q(L){if(!n)throw new c.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let w=await n.getAddress(),N=await M({...L,sender:w}),z=await W(N);return G(z.tx_blob)}async function B(L){if(!n)throw new c.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let w=await n.getAddress(),N=await Z({...L,sender:w}),z=await W(N);return G(z.tx_blob)}function D(){let L=o;if(o=null,L)L.then((w)=>{if(w?.isConnected())return w.disconnect();return}).catch((w)=>{console.warn("XRPL Cleanup failed silently:",w)})}return{broadcastTransaction:G,createSigner:cH,createTransaction:M,disconnect:D,estimateTransactionFee:U,getAddress:C,getBalance:H,getTrustLines:_,hasTrustLine:A,setTrustLine:Z,setTrustLineAndBroadcast:B,signAndBroadcastTransaction:X,signTransaction:W,transfer:Q,validateAddress:aT}}var c,nn,nf,dH,mH,rT;var io=P(()=>{gT();c=require("@swapkit/helpers"),nn=require("ts-pattern"),nf=require("xrpl");gT();hH();dH=require("xrpl"),mH={ACCOUNT_NOT_FOUND:19},rT={tecFROZEN:"tecFROZEN",tecNO_AUTH:"tecNO_AUTH",tecNO_DST:"tecNO_DST",tecNO_LINE:"tecNO_LINE",tecPATH_DRY:"tecPATH_DRY",tecUNFUNDED_OFFER:"tecUNFUNDED_OFFER"}});function ro(y,n){let o=0n,f=0n,T=n;while(T<y.length&&T-n<10){let C=y[T++];if(C===void 0)break;if(o|=BigInt(C&127)<<f,f+=7n,(C&128)===0)return[o,T]}throw new tf.SwapKitError("toolbox_tron_transaction_creation_failed")}function bn(y){let n=[],o=y<0n?y+2n**64n:y;while(o>=128n)n.push(Number(o&0x7fn)|128),o>>=7n;return n.push(Number(o)),n}function sT(y,n,o){let f=y.get(n);if(f)f.push(o);else y.set(n,[o])}function t_(y){let n=new Map,o=0;while(o<y.length){let[f,T]=ro(y,o);o=T;let C=Number(f>>3n),H=Number(f&7n);if(H===eT){let[U,_]=ro(y,o);o=_,sT(n,C,{data:new Uint8Array(bn(U)),wireType:eT})}else if(H===y0){let[U,_]=ro(y,o);o=_;let A=Number(U);if(A<0||o+A>y.length)throw new tf.SwapKitError("toolbox_tron_transaction_creation_failed");let Z=y.slice(o,o+A);o+=A,sT(n,C,{data:Z,wireType:y0})}else if(H===rH){if(o+8>y.length)throw new tf.SwapKitError("toolbox_tron_transaction_creation_failed");let U=y.slice(o,o+8);o+=8,sT(n,C,{data:U,wireType:rH})}else if(H===aH){if(o+4>y.length)throw new tf.SwapKitError("toolbox_tron_transaction_creation_failed");let U=y.slice(o,o+4);o+=4,sT(n,C,{data:U,wireType:aH})}else throw new tf.SwapKitError("toolbox_tron_transaction_creation_failed")}return n}function p_(y){let n=[];for(let[C,H]of[...y.entries()].sort(([U],[_])=>U-_))for(let{wireType:U,data:_}of H){let A=BigInt(C<<3|U);if(n.push(new Uint8Array(bn(A))),U===y0)n.push(new Uint8Array(bn(BigInt(_.length))));n.push(_)}let o=n.reduce((C,H)=>C+H.length,0),f=new Uint8Array(o),T=0;for(let C of n)f.set(C,T),T+=C.length;return f}function eH(y,n){if(!y||y.length%2!==0)throw new tf.SwapKitError("toolbox_tron_transaction_creation_failed");let o=Tn.hexToBytes(y),f=t_(o);if(n.expiration!==void 0)f.set($_,[{data:new Uint8Array(bn(BigInt(n.expiration))),wireType:eT}]);if(n.data!==void 0)f.set(I_,[{data:Tn.hexToBytes(n.data),wireType:y0}]);if(n.fee_limit!==void 0)f.set(P_,[{data:new Uint8Array(bn(BigInt(n.fee_limit))),wireType:eT}]);let T=p_(f),C=Tn.bytesToHex(T),H=Tn.bytesToHex(sH.sha256(T));return{raw_data_hex:C,txID:H}}var sH,Tn,tf,eT=0,rH=1,y0=2,aH=5,$_=8,I_=10,P_=18;var y5=P(()=>{sH=require("@noble/hashes/sha2.js"),Tn=require("@noble/hashes/utils.js"),tf=require("@swapkit/helpers")});function jy(y){if(typeof y!=="string")return!1;try{let n=f0.decode(y);return n.length===21&&n[0]===T5}catch{return!1}}function o5(y){return ty.bytesToHex(f0.decode(y))}function V_(y){return f0.decode(y).slice(1)}function C5(y){let n=ao.secp256k1.getPublicKey(ty.hexToBytes(y),!1),o=f5.keccak_256(n.slice(1)).slice(-20),f=new Uint8Array(21);return f[0]=T5,f.set(o,1),f0.encode(f)}function H5({txID:y,privateKey:n}){let o=ao.secp256k1.sign(ty.hexToBytes(y),ty.hexToBytes(n),{format:"recovered",prehash:!1}),f=o[0]??0,T=ty.bytesToHex(o.slice(1,33)),C=ty.bytesToHex(o.slice(33,65)),H=(f+27).toString(16).padStart(2,"0");return T+C+H}function on({txID:y,raw_data_hex:n}){let o=ty.bytesToHex(so.sha256(ty.hexToBytes(n)));if(y!==o)throw new eo.SwapKitError("toolbox_tron_invalid_transaction_integrity",{expected:o,txID:y})}function b_(y){return`000000000000000000000000${ty.bytesToHex(V_(y))}`}function u_(y){let n=typeof y==="bigint"?y:BigInt(y);if(n<0n||n>=E_)throw new eo.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:n.toString()});return n.toString(16).padStart(64,"0")}function Cn(y){return y.map(({type:n,value:o})=>n==="address"?b_(o):u_(BigInt(o))).join("")}function U5(y){return ty.bytesToHex(new TextEncoder().encode(y))}var ao,so,f5,ty,n5,eo,f0,T5=65,E_;var yC=P(()=>{ao=require("@noble/curves/secp256k1.js"),so=require("@noble/hashes/sha2.js"),f5=require("@noble/hashes/sha3.js"),ty=require("@noble/hashes/utils.js"),n5=require("@scure/base"),eo=require("@swapkit/helpers"),f0=n5.createBase58check(so.sha256),E_=2n**256n});function A5(){try{return Ay.getRPCUrlSync(Ay.Chain.Tron)}catch{return _5}}function q5(){let y=new AbortController,n=setTimeout(()=>y.abort(),m_);return{cleanup:()=>clearTimeout(n),signal:y.signal}}async function pf(y,n){let{signal:o,cleanup:f}=q5();try{let T=await fetch(`${A5()}${y}`,{body:JSON.stringify(n),headers:{"Content-Type":"application/json"},method:"POST",signal:o});if(!T.ok)throw new Ay.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${T.status} ${T.statusText} on ${y}`});return await T.json()}finally{f()}}async function G5(y,n){let{signal:o,cleanup:f}=q5();try{let T=await fetch(`${n??A5()}${y}`,{headers:{"Content-Type":"application/json"},signal:o});if(!T.ok)throw new Ay.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${T.status} ${T.statusText} on ${y}`});return await T.json()}finally{f()}}async function X5(y){if(!jy(y))throw new Ay.SwapKitError("toolbox_tron_trongrid_api_error",{address:y,message:"Invalid address"});try{let n=await G5(`/v1/accounts/${y}`,_5);if(!(n.success&&n.data)||n.data.length===0)return;let o;try{o=o5(y).toLowerCase()}catch{o=y.toLowerCase()}let f=n.data.find((T)=>T.address.toLowerCase()===o);if(!f)return;return{balance:f.balance,trc20:f.trc20||[]}}catch(n){if(n instanceof Ay.SwapKitError)throw n;throw new Ay.SwapKitError("toolbox_tron_trongrid_api_error",{address:y,message:n instanceof Error?n.message:"Unknown error"})}}async function W5({from:y,to:n,amount:o}){let T=await pf("/wallet/createtransaction",{amount:o,owner_address:y,to_address:n,visible:!0});if(!T.txID||!T.raw_data_hex||!T.raw_data)throw new Ay.SwapKitError("toolbox_tron_transaction_creation_failed");let H=T.raw_data?.contract?.[0]?.parameter?.value;if(H?.to_address!==n||H?.owner_address!==y||H?.amount!==o)throw new Ay.SwapKitError("toolbox_tron_transaction_creation_failed");return on(T),T}async function Q5({ownerAddress:y,contractAddress:n,functionSelector:o,parameter:f,feeLimit:T,callValue:C=0}){let H=await pf("/wallet/triggersmartcontract",{call_value:C,contract_address:n,fee_limit:T,function_selector:o,owner_address:y,parameter:f,visible:!0});if(!H.result.result||!H.transaction?.txID||!H.transaction?.raw_data_hex)throw new Ay.SwapKitError("toolbox_tron_transaction_creation_failed");let _=H.transaction.raw_data?.contract?.[0]?.parameter?.value;if(_?.contract_address!==n||_?.owner_address!==y)throw new Ay.SwapKitError("toolbox_tron_transaction_creation_failed");return on(H.transaction),H.transaction}function Z5({ownerAddress:y,contractAddress:n,functionSelector:o,parameter:f}){return pf("/wallet/triggerconstantcontract",{contract_address:n,function_selector:o,owner_address:y,parameter:f,visible:!0})}function c_({ownerAddress:y,contractAddress:n,functionSelector:o,parameter:f}){return pf("/wallet/estimateenergy",{contract_address:n,function_selector:o,owner_address:y,parameter:f,visible:!0})}async function un(y){try{let{result:n,txid:o}=await pf("/wallet/broadcasttransaction",{raw_data:y.raw_data,raw_data_hex:y.raw_data_hex,signature:y.signature,txID:y.txID,visible:y.visible});if(!n||!o)throw new Ay.SwapKitError("toolbox_tron_token_transfer_failed");return o}catch(n){throw new Ay.SwapKitError("toolbox_tron_broadcast_failed",{error:n})}}async function vn(){let y={};try{let{chainParameter:n}=await G5("/wallet/getchainparameters");for(let o of n)y[o.key]=o.value}catch(n){Ay.warnOnce({condition:!0,id:"tron_chain_params_failed",warning:`Failed to fetch chain params, using defaults: ${n instanceof Error?n.message:n}`})}return{bandwidthFee:y.getTransactionFee??v_,createAccountFee:y.getCreateNewAccountFeeInSystemContract??y.getCreateAccountFee??j_,energyFee:y.getEnergyFee??K_,memoFee:y.getMemoFee??h_}}async function fC(y){try{let n=await pf("/wallet/getaccountresource",{address:y,visible:!0});return{bandwidth:{free:(n.freeNetLimit??600)-(n.freeNetUsed??0),total:n.NetLimit??0,used:n.NetUsed??0},energy:{total:n.EnergyLimit??0,used:n.EnergyUsed??0}}}catch(n){return Ay.warnOnce({condition:!0,id:"tron_account_resources_failed",warning:`Failed to fetch account resources, using defaults: ${n instanceof Error?n.message:n}`}),{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}}async function jn(y){try{let n=await pf("/wallet/getaccount",{address:y,visible:!0});return n&&Object.keys(n).length>0}catch{return!1}}async function nC(y){try{let n=await c_({...y,ownerAddress:y.sender}),o=n.energy_required??n.energyRequired;if(n.result&&!n.result.result)throw new Ay.SwapKitError("toolbox_tron_trongrid_api_error",{message:n.result.message||"estimateenergy failed"});if(o!==void 0){if(Number.isFinite(o)&&o>0)return o;throw new Ay.SwapKitError("toolbox_tron_trongrid_api_error",{message:"Invalid estimateenergy response"})}}catch(n){Ay.warnOnce({condition:!0,id:"tron_energy_estimation_failed",warning:`Failed to estimate energy with estimateenergy, falling back to triggerconstantcontract: ${n instanceof Error?n.message:n}`})}try{let{energy_used:n}=await Z5({...y,ownerAddress:y.sender});return n}catch(n){return Ay.warnOnce({condition:!0,id:"tron_energy_estimation_fallback_failed",warning:`Failed to estimate energy, using default: ${n instanceof Error?n.message:n}`}),65000}}async function J5({assetAddress:y,owner:n,spender:o}){let f=Cn([{type:"address",value:n},{type:"address",value:o}]),C=(await Z5({contractAddress:y,functionSelector:"allowance(address,address)",ownerAddress:o,parameter:f})).constant_result?.[0];if(!C)return 0n;try{return BigInt(`0x${C}`)}catch{return 0n}}var Ay,_5="https://api.trongrid.io",v_=1000,j_=1e6,K_=420,h_=1e6,m_=30000;var M5=P(()=>{yC();Ay=require("@swapkit/helpers")});function R5({phrase:y,derivationPath:n}){let o=O5.HDKey.fromMasterSeed(w5.mnemonicToSeedSync(y)).derive(n);if(!o.privateKey)throw new p.SwapKitError("toolbox_tron_no_signer");return N5.bytesToHex(o.privateKey)}function k5({phrase:y,derivationPath:n,index:o}){let f=n||p.derivationPathToString(p.updateDerivationPath(p.NetworkDerivationPath[p.Chain.Tron],{index:o||0}));return R5({derivationPath:f,phrase:y})}function i_({phrase:y,derivationPath:n}){let o=R5({derivationPath:n,phrase:y}),f=C5(o);return{getAddress:()=>Promise.resolve(f),signTransaction:(T)=>{on(T);let C=H5({privateKey:o,txID:T.txID});return Promise.resolve({...T,signature:[C]})}}}function z5({transaction:y,memo:n,expiration:o,feeLimit:f}){let T={},C={};if(f!==void 0&&y.raw_data)T.fee_limit=f,C.fee_limit=f;if(n){let _=U5(n);T.data=_,C.data=_}if(o){let _=y.raw_data.expiration+o*1000;T.expiration=_,C.expiration=_}if(Object.keys(T).length===0)return y;let{raw_data_hex:H,txID:U}=eH(y.raw_data_hex,T);return{...y,raw_data:{...y.raw_data,...C},raw_data_hex:H,txID:U}}function l5(y={}){let n="index"in y?y.index||0:0,o=p.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:p.updateDerivationPath(p.NetworkDerivationPath[p.Chain.Tron],{index:n})),f,T=!1;function C(){if(T)return Promise.resolve(f);return f=Hn.match(y).with({phrase:Hn.P.string},({phrase:J})=>i_({derivationPath:o,phrase:J})).with({signer:Hn.P.not(Hn.P.nullish)},({signer:J})=>J).otherwise(()=>{return}),T=!0,Promise.resolve(f)}async function H(){let J=await C();if(!J)throw new p.SwapKitError("toolbox_tron_no_signer");return J.getAddress()}async function U(J,Y){let R=J||Y5,l=Y??(await vn()).energyFee,q=R*l,O=Math.ceil(q*1.5);return Math.min(Math.max(O,1e7),150000000)}async function _({contractAddress:J,functionSelector:Y,parameter:R,sender:l,memo:q,expiration:O,extraEnergy:k=0}){let x=await nC({contractAddress:J,functionSelector:Y,parameter:R,sender:l}),F=await U(x+k),u=await Q5({contractAddress:J,feeLimit:F,functionSelector:Y,ownerAddress:l,parameter:R});return z5({expiration:O,feeLimit:F,memo:q,transaction:u})}async function A(J){if(!jy(J))return[p.AssetValue.from({chain:p.Chain.Tron})];try{let Y=await X5(J);if(!Y)return[p.AssetValue.from({chain:p.Chain.Tron})];let R=[p.AssetValue.from({chain:p.Chain.Tron,fromBaseDecimal:6,value:String(Y.balance)})],l=Y.trc20?.find((q)=>(oC in q));if(l){let q=l[oC];R.push(p.AssetValue.from({asset:`TRON.USDT-${oC}`,fromBaseDecimal:6,value:q}))}return R}catch(Y){return p.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${Y instanceof Error?Y.message:Y}`}),[p.AssetValue.from({chain:p.Chain.Tron})]}}async function Z({recipient:J,assetValue:Y,memo:R,expiration:l}){if(!jy(J))throw new p.SwapKitError("toolbox_tron_token_transfer_failed",{message:"invalid address"});let q=await C();if(!q)throw new p.SwapKitError("toolbox_tron_no_signer");try{let O=await H(),k=await B({assetValue:Y,expiration:l,memo:R,recipient:J,sender:O}),x=await q.signTransaction(k),F=await un(x);if(!F)throw new p.SwapKitError("toolbox_tron_token_transfer_failed",{message:"broadcast failed"});return F}catch(O){throw new p.SwapKitError("toolbox_tron_token_transfer_failed",{message:O instanceof Error?O.message:String(O)})}}function M({requiredBandwidth:J,resources:Y,feePerUnit:R}){let l=Math.max(0,Y.free+Y.total-Y.used);return J>l?(J-l)*R:0}async function W({memo:J,recipient:Y,senderAddress:R}){let[l,q,O]=await Promise.all([vn(),jn(Y),fC(R)]),k=q?0:l.createAccountFee,x=M({feePerUnit:l.bandwidthFee,requiredBandwidth:L5,resources:O.bandwidth}),F=J?l.memoFee:0;return p.AssetValue.from({chain:p.Chain.Tron,fromBaseDecimal:p.BaseDecimal.TRON,value:k+x+F})}async function G({assetValue:J,memo:Y,recipient:R,senderAddress:l}){let q=J.address;if(!q)throw new p.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:J.toString()});let[O,k,x,F]=await Promise.all([vn(),jn(R),fC(l),nC({contractAddress:q,functionSelector:"transfer(address,uint256)",parameter:Cn([{type:"address",value:R},{type:"uint256",value:J.getBaseValue("string")}]),sender:l})]),h=F+(k?0:TC),i=M({feePerUnit:O.bandwidthFee,requiredBandwidth:B5,resources:x.bandwidth}),fy=Math.max(0,x.energy.total-x.energy.used),By=h>fy?(h-fy)*O.energyFee:0,wy=Y?O.memoFee:0;return p.AssetValue.from({chain:p.Chain.Tron,fromBaseDecimal:p.BaseDecimal.TRON,value:i+By+wy})}async function X({assetValue:J,memo:Y,recipient:R}){let[l,q]=await Promise.all([vn(),jn(R)]);if(J.isGasAsset){let F=q?0:l.createAccountFee,u=Y?l.memoFee:0;return p.AssetValue.from({chain:p.Chain.Tron,fromBaseDecimal:p.BaseDecimal.TRON,value:F+L5*l.bandwidthFee+u})}let k=await U(Y5+(q?0:TC),l.energyFee),x=Y?l.memoFee:0;return p.AssetValue.from({chain:p.Chain.Tron,fromBaseDecimal:p.BaseDecimal.TRON,value:k+B5*l.bandwidthFee+x})}async function Q({assetValue:J,memo:Y,recipient:R,sender:l}){let q=await C();try{let O=l?l:q?await H():void 0;if(!O)return X({assetValue:J,memo:Y,recipient:R});return J.isGasAsset?W({memo:Y,recipient:R,senderAddress:O}):G({assetValue:J,memo:Y,recipient:R,senderAddress:O})}catch(O){throw p.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee: ${O instanceof Error?O.message:O}`}),new p.SwapKitError("toolbox_fee_estimation_failed",{chain:p.Chain.Tron,error:O})}}async function B({recipient:J,assetValue:Y,memo:R,sender:l,expiration:q}){if(!jy(J)||!jy(l))throw new p.SwapKitError("toolbox_tron_transaction_creation_failed",{message:"invalid address"});if(Y.isGasAsset){let x=await W5({amount:Y.getBaseValue("number"),from:l,to:J});return z5({expiration:q,memo:R,transaction:x})}let O=Y.address;if(!O)throw new p.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:Y.toString()});let k=await jn(J);return _({contractAddress:O,expiration:q,extraEnergy:k?0:TC,functionSelector:"transfer(address,uint256)",memo:R,parameter:Cn([{type:"address",value:J},{type:"uint256",value:Y.getBaseValue("string")}]),sender:l})}async function D(J){on(J);let Y=await C();if(!Y)throw new p.SwapKitError("toolbox_tron_no_signer");return Y.signTransaction(J)}async function L(J){let Y=await D(J);return un(Y)}function w({assetAddress:J,spenderAddress:Y,from:R}){return J5({assetAddress:J,owner:R,spender:Y})}async function N({assetAddress:J,spenderAddress:Y,from:R,amount:l}){let q=await w({assetAddress:J,from:R,spenderAddress:Y});if(!l)return q>0n;return q>=BigInt(l)}async function z({assetAddress:J,spenderAddress:Y,amount:R,from:l}){if(!jy(J)||!jy(Y))throw new p.SwapKitError("toolbox_tron_approve_failed");let q=await C();if(!q)throw new p.SwapKitError("toolbox_tron_no_signer");let O=l||await H(),k=R!==void 0?BigInt(R).toString():g_;try{let x=await _({contractAddress:J,functionSelector:"approve(address,uint256)",parameter:Cn([{type:"address",value:Y},{type:"uint256",value:k}]),sender:O}),F=await q.signTransaction(x),u=await un(F);if(!u)throw new p.SwapKitError("toolbox_tron_approve_failed");return u}catch(x){if(x instanceof p.SwapKitError)throw x;throw new p.SwapKitError("toolbox_tron_approve_failed",{error:x})}}return{approve:z,broadcastTransaction:un,createTransaction:B,estimateTransactionFee:Q,getAddress:H,getApprovedAmount:w,getBalance:A,getRpcUrl:()=>p.getRPCUrl(p.Chain.Tron),isApproved:N,signAndBroadcastTransaction:L,signTransaction:D,transfer:Z,validateAddress:jy}}var N5,O5,w5,p,Hn,D5,L5=268,Y5=65000,TC=25000,B5=345,oC="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",g_="115792089237316195423570985008687907853269984665640564039457584007913129639935";var S5=P(()=>{y5();M5();yC();N5=require("@noble/hashes/utils.js"),O5=require("@scure/bip32"),w5=require("@scure/bip39"),p=require("@swapkit/helpers"),Hn=require("ts-pattern"),D5=jy});var CC={};My(CC,{validateTronAddress:()=>D5,getTronToolbox:()=>l5,getTronPrivateKeyFromMnemonic:()=>k5});module.exports=Ny(CC);var HC=P(()=>{S5()});function T0(y){if(!y||typeof y!=="string"||!y.startsWith("G")||y.length!==56)return!1;return d_.test(y)}async function r_(y){if(!T0(y))return!1;try{let{StrKey:n}=await import("@stellar/stellar-sdk");return n.isValidEd25519PublicKey(y)}catch{return!1}}function x5(y={}){let n,o=y.derivationPath||e.NetworkDerivationPath[e.Chain.Stellar],f=e.derivationPathToString(o.slice(0,3));async function T({phrase:Q,path:B}){let{HDKey:D}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:L}=await import("@scure/bip39"),{Keypair:w}=await import("@stellar/stellar-sdk"),N=L(Q),J=D.fromMasterSeed(N).derive(B,!0);return w.fromRawEd25519Seed(Buffer.from(J.privateKey))}async function C(){if(n)return n;let Q=n0.match(y).with({phrase:n0.P.string},({phrase:B})=>B).otherwise(()=>{return});if(!Q)throw new e.SwapKitError("toolbox_stellar_no_signer");return n=await T({path:f,phrase:Q}),n}async function H(){let{Horizon:Q}=await import("@stellar/stellar-sdk"),B=await e.getRPCUrl(e.Chain.Stellar);return new Q.Server(B)}async function U(){try{return(await C()).publicKey()}catch{return""}}async function _(Q){let B=Q||await U();if(!B)throw new e.SwapKitError("toolbox_stellar_account_not_found");try{return(await(await H()).loadAccount(B)).balances.map((w)=>{if(w.asset_type==="native")return e.AssetValue.from({chain:e.Chain.Stellar,value:w.balance});let N="asset_code"in w?w.asset_code:"",z="asset_issuer"in w?w.asset_issuer:"";return e.AssetValue.from({asset:`${e.Chain.Stellar}.${N}-${z}`,asyncTokenLookup:!1,value:w.balance})})}catch{return[e.AssetValue.from({chain:e.Chain.Stellar,value:0})]}}async function A({recipient:Q,assetValue:B,memo:D,sender:L}){if(D){if(new TextEncoder().encode(D).length>28)throw new e.SwapKitError("helpers_invalid_memo_type")}if(!await r_(Q))throw new e.SwapKitError("core_transaction_invalid_recipient_address");let N=L||await U();if(!N)throw new e.SwapKitError("toolbox_stellar_no_signer");let{Asset:z,Memo:J,Networks:Y,Operation:R,TransactionBuilder:l}=await import("@stellar/stellar-sdk"),q=await H(),O=await q.fetchBaseFee(),k=await q.loadAccount(N),x=new l(k,{fee:String(O),networkPassphrase:Y.PUBLIC});if(B.isGasAsset)try{await q.loadAccount(Q),x.addOperation(R.payment({amount:B.getValue("string"),asset:z.native(),destination:Q}))}catch{x.addOperation(R.createAccount({destination:Q,startingBalance:B.getValue("string")}))}else x.addOperation(R.payment({amount:B.getValue("string"),asset:new z(B.symbol,B.address),destination:Q}));if(D)x.addMemo(J.text(D));return x.setTimeout(30).build()}async function Z(Q){let{TransactionBuilder:B,Networks:D}=await import("@stellar/stellar-sdk"),L=await C(),w=B.fromXDR(Q.toXDR(),D.PUBLIC);return w.sign(L),w}async function M(Q){try{let B=await H(),{hash:D}=await B.submitTransaction(Q);return D}catch(B){throw new e.SwapKitError("toolbox_stellar_broadcast_error",B)}}async function W({recipient:Q,assetValue:B,memo:D}){let L=await C(),w=L.publicKey(),N=await A({assetValue:B,memo:D,recipient:Q,sender:w});N.sign(L);try{return(await(await H()).submitTransaction(N)).hash}catch(z){if(z instanceof e.SwapKitError)throw z;throw new e.SwapKitError("toolbox_stellar_transaction_failed",z)}}async function G(Q){let B=await Z(Q);return M(B)}async function X(){let{baseDecimal:Q}=e.getChainConfig(e.Chain.Stellar);try{let L=(await(await H()).feeStats()).fee_charged.p50;return e.AssetValue.from({chain:e.Chain.Stellar,fromBaseDecimal:Q,value:L})}catch{return e.AssetValue.from({chain:e.Chain.Stellar,fromBaseDecimal:Q,value:"100"})}}return{broadcastTransaction:M,createTransaction:A,estimateTransactionFee:X,getAddress:U,getBalance:_,signAndBroadcastTransaction:G,signTransaction:Z,transfer:W,validateAddress:T0}}var e,n0,d_;var F5=P(()=>{e=require("@swapkit/helpers"),n0=require("ts-pattern"),d_=/^G[A-Z2-7]{55}$/});var o0={};My(o0,{validateStellarAddress:()=>T0,getStellarToolbox:()=>x5});module.exports=Ny(o0);var C0=P(()=>{F5()});var e_={};My(e_,{getToolbox:()=>UC,getFeeEstimator:()=>s_,getAddressValidator:()=>a_});module.exports=Ny(e_);var V=require("@swapkit/helpers");async function a_(){let{match:y}=await import("ts-pattern"),{validateAptosAddress:n}=await Promise.resolve().then(() => (hn(),Kn)),{validateEVMAddress:o}=await Promise.resolve().then(() => (F0(),vC)),{validateCardanoAddress:f}=await Promise.resolve().then(() => (t0(),P0)),{getCosmosAddressValidator:T}=await Promise.resolve().then(() => (LT(),MT)),{validateHyperCoreAddress:C}=await Promise.resolve().then(() => (no(),fo)),{validateSolanaAddress:H}=await Promise.resolve().then(() => (Uo(),Ho)),{validateStarknetAddress:U}=await Promise.resolve().then(() => (RT(),DT)),{validateSuiAddress:_}=await Promise.resolve().then(() => (lT(),kT)),{validateTonAddress:A}=await Promise.resolve().then(() => (FT(),xT)),{getUTXOAddressValidator:Z}=await Promise.resolve().then(() => (So(),lo)),{validateNearAddress:M}=await Promise.resolve().then(() => (ho(),Ko)),{validateRadixAddress:W}=await Promise.resolve().then(() => (co(),mo)),{validateRippleAddress:G}=await Promise.resolve().then(() => (io(),go)),{validateTronAddress:X}=await Promise.resolve().then(() => (HC(),CC)),{validateStellarAddress:Q}=await Promise.resolve().then(() => (C0(),o0));return function({address:D,chain:L}){return y(L).with(...V.EVMChains,()=>o(D)).with(...V.UTXOChains,(N)=>{return Z(N)(D)}).with(...V.CosmosChains,(N)=>{return T(N)(D)}).with(V.Chain.Aptos,()=>n(D)).with(V.Chain.Radix,()=>W(D)).with(V.Chain.HyperCore,()=>C(D)).with(V.Chain.Near,()=>M(D)).with(V.Chain.Ripple,()=>G(D)).with(V.Chain.Solana,()=>H(D)).with(V.Chain.Stellar,()=>Q(D)).with(V.Chain.Starknet,()=>U(D)).with(V.Chain.Sui,()=>_(D)).with(V.Chain.Ton,()=>A(D)).with(V.Chain.Tron,()=>X(D)).with(V.Chain.Cardano,()=>f(D)).otherwise(()=>!1)}}function s_(y){return async function(o){let{match:f}=await import("ts-pattern");return f(y).returnType().with(...V.EVMChains,async(T)=>{let C=await UC(T),H=await C.createTransaction(o),U="feeOptionKey"in o?o.feeOptionKey:V.FeeOption.Fast;return C.estimateTransactionFee({...H,feeOption:U})}).with(V.Chain.Bitcoin,V.Chain.BitcoinCash,V.Chain.Dogecoin,V.Chain.Dash,V.Chain.Litecoin,V.Chain.Solana,V.Chain.Ripple,V.Chain.Tron,V.Chain.Near,V.Chain.Cardano,V.Chain.HyperCore,async(T)=>{return(await UC(T)).estimateTransactionFee(o)}).with(V.Chain.Aptos,async()=>{let{getAptosToolbox:T}=await Promise.resolve().then(() => (hn(),Kn));return T().estimateTransactionFee(o)}).with(V.Chain.Starknet,async()=>{let{getStarknetToolbox:T}=await Promise.resolve().then(() => (RT(),DT));return(await T()).estimateTransactionFee(o)}).with(V.Chain.Stellar,async()=>{let{getStellarToolbox:T}=await Promise.resolve().then(() => (C0(),o0));return T().estimateTransactionFee()}).with(V.Chain.Sui,async()=>{let{getSuiToolbox:T}=await Promise.resolve().then(() => (lT(),kT));return T().estimateTransactionFee(o)}).with(V.Chain.Ton,async()=>{let{getTONToolbox:T}=await Promise.resolve().then(() => (FT(),xT));return T().estimateTransactionFee(o)}).with(...V.CosmosChains,async()=>{let{estimateTransactionFee:T}=await Promise.resolve().then(() => (LT(),MT));return T(o)}).otherwise(async()=>V.AssetValue.from({chain:y}))}}async function UC(y,n){let{match:o}=await import("ts-pattern");return o(y).returnType().with(...V.EVMChains,async()=>{let{getEvmToolboxAsync:f}=await Promise.resolve().then(() => (x0(),VC));return await f(y,n)}).with(...V.UTXOChains,async()=>{let{getUtxoToolbox:f}=await Promise.resolve().then(() => (So(),lo));return f(y,n)}).with(...V.CosmosChains,async()=>{let{getCosmosToolbox:f}=await Promise.resolve().then(() => (LT(),MT));return f(y,n)}).with(V.Chain.Aptos,async()=>{let{getAptosToolbox:f}=await Promise.resolve().then(() => (hn(),Kn));return f(n)}).with(V.Chain.HyperCore,async()=>{let{getHyperCoreToolbox:f}=await Promise.resolve().then(() => (no(),fo));return f(n)}).with(V.Chain.Radix,async()=>{let{getRadixToolbox:f}=await Promise.resolve().then(() => (co(),mo));return f(n)}).with(V.Chain.Ripple,async()=>{let{getRippleToolbox:f}=await Promise.resolve().then(() => (io(),go));return f(n)}).with(V.Chain.Solana,async()=>{let{getSolanaToolbox:f}=await Promise.resolve().then(() => (Uo(),Ho));return f(n)}).with(V.Chain.Stellar,async()=>{let{getStellarToolbox:f}=await Promise.resolve().then(() => (C0(),o0));return f(n)}).with(V.Chain.Starknet,async()=>{let{getStarknetToolbox:f}=await Promise.resolve().then(() => (RT(),DT));return f(n)}).with(V.Chain.Sui,async()=>{let{getSuiToolbox:f}=await Promise.resolve().then(() => (lT(),kT));return f(n)}).with(V.Chain.Tron,async()=>{let{getTronToolbox:f}=await Promise.resolve().then(() => (HC(),CC));return f(n)}).with(V.Chain.Near,async()=>{let{getNearToolbox:f}=await Promise.resolve().then(() => (ho(),Ko));return f(n)}).with(V.Chain.Cardano,async()=>{let{getCardanoToolbox:f}=await Promise.resolve().then(() => (t0(),P0));return f(n)}).with(V.Chain.Ton,async()=>{let{getTONToolbox:f}=await Promise.resolve().then(() => (FT(),xT));return f(n)}).otherwise(()=>{throw new V.SwapKitError("toolbox_not_supported",{chain:y})})}
1
+ var I5=Object.create;var{getPrototypeOf:t5,defineProperty:Un,getOwnPropertyNames:AC,getOwnPropertyDescriptor:P5}=Object,qC=Object.prototype.hasOwnProperty;function GC(y){return this[y]}var p5,E5,U0=(y,n,o)=>{var f=y!=null&&typeof y==="object";if(f){var T=n?p5??=new WeakMap:E5??=new WeakMap,C=T.get(y);if(C)return C}o=y!=null?I5(t5(y)):{};let H=n||!y||!y.__esModule?Un(o,"default",{value:y,enumerable:!0}):o;for(let U of AC(y))if(!qC.call(H,U))Un(H,U,{get:GC.bind(y,U),enumerable:!0});if(f)T.set(y,H);return H},Ny=(y)=>{var n=(_C??=new WeakMap).get(y),o;if(n)return n;if(n=Un({},"__esModule",{value:!0}),y&&typeof y==="object"||typeof y==="function"){for(var f of AC(y))if(!qC.call(n,f))Un(n,f,{get:GC.bind(y,f),enumerable:!(o=P5(y,f))||o.enumerable})}return _C.set(y,n),n},_C;var V5=(y)=>y;function b5(y,n){this[y]=V5.bind(null,n)}var My=(y,n)=>{for(var o in n)Un(y,o,{get:n[o],enumerable:!0,configurable:!0,set:b5.bind(n,o)})};var t=(y,n)=>()=>(y&&(n=y(y=0)),n);function Ef(y){if(!y||typeof y!=="string"||!y.startsWith("0x"))return!1;let n=y.slice(2);if(n.length===0||n.length>64)return!1;return u5.test(n)}function WC({derivationPath:y,provider:n,...o}={}){let f,T=j.derivationPathToString(y||j.NetworkDerivationPath[j.Chain.Aptos],{allHardened:!0});async function C(){if(f)return f;return f=await Nf.match(o).with({phrase:Nf.P.string},async({phrase:Q})=>{let{Ed25519Account:B}=await import("@aptos-labs/ts-sdk");return B.fromDerivationPath({mnemonic:Q,path:T})}).with({signer:Nf.P.any},({signer:Q})=>Q).otherwise(()=>{return}),f}async function H(){let{Aptos:Q,AptosConfig:B}=await import("@aptos-labs/ts-sdk"),D=new B({fullnode:n||j.getRPCUrlSync(j.Chain.Aptos)});return new Q(D)}async function U(){return(await C())?.accountAddress.toString()||""}async function _(Q){let B=Q||await U();if(!B)throw new j.SwapKitError("toolbox_aptos_address_required");let{baseDecimal:D,chain:L}=j.getChainConfig(j.Chain.Aptos);try{let w=await H(),N=await w.getAccountAPTAmount({accountAddress:B}),z=[j.AssetValue.from({chain:L,fromBaseDecimal:D,value:N.toString()})],J=await w.getCurrentFungibleAssetBalances({options:{where:{owner_address:{_eq:B}}}});for(let Y of J){if(Y.asset_type===zf.COIN_TYPE||Number(Y.amount)<=0)continue;let R=Y.asset_type;if(R){let q=("metadata"in Y&&typeof Y.metadata==="object"&&Y.metadata!==null?Y.metadata:void 0)?.decimals??D;z.push(j.AssetValue.from({asset:`${j.Chain.Aptos}.APT-${R}`,fromBaseDecimal:q,value:String(Y.amount)}))}}return z}catch{return[j.AssetValue.from({chain:L})]}}async function A(Q){if(!Q){let{baseDecimal:J}=j.getChainConfig(j.Chain.Aptos),Y=n||j.getRPCUrlSync(j.Chain.Aptos),R=await fetch(`${Y}/estimate_gas_price`),{gas_estimate:l}=await R.json();return j.AssetValue.from({chain:j.Chain.Aptos,fromBaseDecimal:J,value:String(l)})}let B=await C();if(!B)throw new j.SwapKitError("toolbox_aptos_no_signer");let D=await Z(Q),L=await H(),[w]=await L.transaction.simulate.simple({signerPublicKey:B.publicKey,transaction:D});if(!w)throw new j.SwapKitError("toolbox_aptos_transaction_creation_error");let N=BigInt(w.gas_used)*BigInt(w.gas_unit_price),{baseDecimal:z}=j.getChainConfig(j.Chain.Aptos);return j.AssetValue.from({chain:j.Chain.Aptos,fromBaseDecimal:z,value:N.toString()})}async function Z({recipient:Q,assetValue:B,maxGasAmount:D,sender:L}){if(!Ef(Q))throw new j.SwapKitError("core_transaction_invalid_recipient_address");let w=L||await U();if(!w)throw new j.SwapKitError("toolbox_aptos_no_sender");let{AccountAddress:N}=await import("@aptos-labs/ts-sdk"),z=await H(),J=N.from(w);try{let Y=B.isGasAsset?zf.TRANSFER:zf.FUNGIBLE_STORE_TRANSFER,R=Nf.match({address:B?.address,isGasAsset:B.isGasAsset}).with({isGasAsset:!0},()=>[N.from(Q),B.getBaseValue("bigint")]).with({address:Nf.P.string},({address:l})=>[N.from(l),N.from(Q),B.getBaseValue("bigint")]).otherwise(()=>null);if(!R)throw new j.SwapKitError("toolbox_aptos_missing_asset_type");return z.transaction.build.simple({data:{function:Y,functionArguments:R,typeArguments:B.isGasAsset?[]:[zf.FUNGIBLE_ASSET_METADATA]},options:D?{maxGasAmount:D}:void 0,sender:J})}catch(Y){if(Y instanceof j.SwapKitError)throw Y;throw new j.SwapKitError("toolbox_aptos_transaction_creation_error",Y)}}async function M(Q){let B=await C();if(!B)throw new j.SwapKitError("toolbox_aptos_no_signer");return(await H()).transaction.sign({signer:B,transaction:Q})}async function X({assetValue:Q,maxGasAmount:B,recipient:D}){let L=await C();if(!L)throw new j.SwapKitError("toolbox_aptos_no_signer");if(!Ef(D))throw new j.SwapKitError("core_transaction_invalid_recipient_address");try{let w=L.accountAddress.toString(),N=await Z({assetValue:Q,maxGasAmount:B,recipient:D,sender:w});return(await(await H()).signAndSubmitTransaction({signer:L,transaction:N})).hash}catch(w){if(w instanceof j.SwapKitError)throw w;throw new j.SwapKitError("toolbox_aptos_transaction_creation_error",w)}}async function G({senderAuthenticator:Q,transaction:B}){try{return(await(await H()).transaction.submit.simple({senderAuthenticator:Q,transaction:B})).hash}catch(D){throw new j.SwapKitError("toolbox_aptos_broadcast_error",D)}}async function W(Q){let B=await M(Q);return G({senderAuthenticator:B,transaction:Q})}return{broadcastTransaction:G,createTransaction:Z,estimateTransactionFee:A,getAddress:U,getBalance:_,signAndBroadcastTransaction:W,signTransaction:M,transfer:X,validateAddress:Ef}}function XC({provider:y}){return async function({assetValue:o,recipient:f}){if(!Ef(f))throw new j.SwapKitError("core_transaction_invalid_recipient_address");let{AccountAddress:T}=await import("@aptos-labs/ts-sdk");if(o.isGasAsset)return(await y.signAndSubmitTransaction({arguments:[T.from(f).toString(),o.getBaseValue("string")],function:zf.TRANSFER,type:"entry_function_payload",type_arguments:[]})).hash;let C=o.address;if(!C)throw new j.SwapKitError("toolbox_aptos_missing_asset_type");return(await y.signAndSubmitTransaction({arguments:[C,T.from(f).toString(),o.getBaseValue("string")],function:zf.FUNGIBLE_STORE_TRANSFER,type:"entry_function_payload",type_arguments:[zf.FUNGIBLE_ASSET_METADATA]})).hash}}var j,Nf,zf,u5;var QC=t(()=>{j=require("@swapkit/helpers"),Nf=require("ts-pattern"),zf={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"},u5=/^[0-9a-fA-F]+$/});var Kn={};My(Kn,{validateAptosAddress:()=>Ef,getAptosToolbox:()=>WC,createAptosExtensionTransfer:()=>XC});module.exports=Ny(Kn);var hn=t(()=>{QC()});function JC(){function y(){let n=Date.now(),o=_0||n;return _0=o,n>_0?n:o+1}return v5+y().toString(36)}function Sy(y){return async function(o,f=!0){let T=await ZC.SwapKitApi.getChainBalance({address:o,chain:y,scamFilter:f}),{baseDecimal:C}=_n.getChainConfig(y),H=T.map(({identifier:_,value:A,decimal:Z})=>{return new _n.AssetValue({decimal:Z||C,identifier:_,value:A})});if(!H.some((_)=>_.isGasAsset))return[_n.AssetValue.from({chain:y}),...H];return H}}var _n,ZC,v5,_0=0;var iy=t(()=>{_n=require("@swapkit/helpers"),ZC=require("@swapkit/helpers/api"),v5=typeof process<"u"&&process.pid?process.pid.toString(36):""});function An(y){return{getBalance:Sy(y)}}function j5(y){return y}var mn=t(()=>{iy()});function LC(y){return new Of.JsonRpcProvider(y)}async function X0(y,n){return LC(n||await a.getRPCUrl(y))}function qn(y){return y>0n?`0x${y.toString(16)}`:"0x0"}function Q0(y){let{explorerUrl:n,chainIdHex:o,rpcUrls:f}=a.getChainConfig(y);return function(){return y!==a.Chain.Ethereum?{...K5({chain:y}),blockExplorerUrls:[n],chainId:o,rpcUrls:f}:void 0}}function Z0(y){return![a.Chain.Adi,a.Chain.Arbitrum,a.Chain.BinanceSmartChain].includes(y)}function K5({chain:y}){let{name:n,nativeCurrency:o,baseDecimal:f}=a.getChainConfig(y);return W0.match(y).with(a.Chain.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:f,name:"Ethereum",symbol:a.Chain.Ethereum}})).with(a.Chain.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:a.Chain.Ethereum}})).with(a.Chain.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:f,name:"Avalanche",symbol:y}})).with(a.Chain.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:a.Chain.Ethereum}})).with(a.Chain.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:f,name:"Berachain",symbol:"BERA"}})).with(a.Chain.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:f,name:"OKB",symbol:"OKB"}})).with(a.Chain.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:f,name:"Binance Coin",symbol:"BNB"}})).with(a.Chain.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:f,name:"xDAI",symbol:"XDAI"}})).with(a.Chain.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:a.Chain.Ethereum}})).with(a.Chain.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:f,name:"Polygon",symbol:a.Chain.Polygon}})).otherwise(()=>({chainName:n,nativeCurrency:{decimals:f,name:o,symbol:o}}))}async function J0(y,n){if(!("authorize"in y))throw Error("Signer does not support EIP-7702 authorization. Requires ethers.js v6.14+");let o={...n,nonce:n.nonce!==void 0?BigInt(n.nonce):void 0};return await y.authorize(o)}function YC(y,n){let o=n!==void 0?`index ${n}: `:"",f=(T,C)=>{throw new a.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:T,message:`${o}${C}`}})};W0.match(y).when(({chainId:T})=>typeof T!=="bigint",()=>f("chainId","chainId must be a bigint")).when(({address:T})=>!h5(T),()=>f("address","address must be a valid checksummed address")).when(({nonce:T})=>typeof T!=="bigint"||T<0n,()=>f("nonce","nonce must be a non-negative bigint")).when(({signature:T})=>!T,()=>f("signature","signature is required")).when(({signature:T})=>typeof T?.yParity!=="number"||![0,1].includes(T.yParity),()=>f("signature.yParity","yParity must be 0 or 1")).when(({signature:T})=>!MC(T?.r),()=>f("signature.r","r must be a 32-byte hex string")).when(({signature:T})=>!MC(T?.s),()=>f("signature.s","s must be a 32-byte hex string")).otherwise(()=>{})}function BC(y){return[{key:"name",type:"string"},{key:"version",type:"string"},{key:"chainId",type:"uint256"},{key:"verifyingContract",type:"address"},{key:"salt",type:"bytes32"}].filter(({key:n})=>y[n]!=null).map(({key:n,type:o})=>({name:n,type:o}))}function A0(y){return y.charAt(0).toUpperCase()+y.slice(1)}function q0(y,n){if(y.isTuple()&&y.components){let o=A0(y.name);return n[o]=y.components.map((f)=>({name:f.name,type:q0(f,n)})),o}if(y.isArray()){let o=y.arrayChildren;if(o?.isTuple()&&o.components){let f=A0(y.name.replace(/s$/,""));return n[f]=o.components.map((T)=>({name:T.name,type:q0(T,n)})),`${f}[]`}return`${o?.type??"bytes"}[]`}return y.type}function G0(y,n){if(typeof y==="bigint")return y;if(n?.isTuple()&&typeof y?.toObject==="function"){let o=y.toObject(),f={};for(let[T,C]of(n.components??[]).entries())f[C.name]=G0(o[C.name]??y[T],C);return f}if(Array.isArray(y)){let o=n?.arrayChildren;return y.map((f)=>G0(f,o??void 0))}return y}function m5({chain:y,abi:n,data:o,to:f}){let C=new Of.Interface(n).parseTransaction({data:o});if(!C)throw new a.SwapKitError({errorKey:"toolbox_evm_invalid_params",info:{error:"Could not decode calldata"}});let H={},U=A0(C.name);H[U]=C.fragment.inputs.map((X)=>({name:X.name,type:q0(X,H)}));let _={};for(let[X,G]of C.fragment.inputs.entries())_[G.name]=G0(C.args[X],G);let{chainId:A}=a.getChainConfig(y),Z={chainId:Number(A),verifyingContract:Of.getAddress(f)},M=BC(Z);return{domain:Z,message:_,primaryType:U,types:{EIP712Domain:M,...H}}}function M0(y,n){if(!Array.isArray(y)||y.length===0)throw new a.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{message:"EIP-7702 transactions require at least one authorization"}});for(let[o,f]of y.entries())if(YC(f,o),n!==void 0&&f.chainId!==n)throw new a.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:"chainId",message:`index ${o}: authorization chainId (${f.chainId}) does not match transaction chainId (${n})`}})}var a,Of,W0,MC=(y)=>typeof y==="string"&&/^0x[a-fA-F0-9]{64}$/.test(y),h5=(y)=>{try{return typeof y==="string"&&!!Of.getAddress(y)}catch{return!1}};var Gn=t(()=>{a=require("@swapkit/helpers"),Of=require("ethers"),W0=require("ts-pattern")});var zC;var NC=t(()=>{zC=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"}]});function bf({chain:y=S.Chain.Ethereum,provider:n,signer:o,isEIP1559Compatible:f=!0}){return{approve:r5({chain:y,isEIP1559Compatible:f,provider:n,signer:o}),approvedAmount:DC({chain:y,provider:n}),broadcastTransaction:n.broadcastTransaction,call:O0({chain:y,isEIP1559Compatible:f,provider:n,signer:o}),createApprovalTx:yU({chain:y,provider:n,signer:o}),createContract:B0({chain:y,provider:n}),createContractTxObject:wf({chain:y,provider:n}),createTransaction:L0({chain:y,provider:n,signer:o}),createTransferTx:L0({chain:y,provider:n,signer:o}),EIP1193SendTransaction:vf(n),estimateCall:RC({provider:n,signer:o}),estimateGasLimit:s5({chain:y,provider:n,signer:o}),estimateGasPrices:Df({chain:y,isEIP1559Compatible:f,provider:n}),estimateTransactionFee:fU({chain:y,isEIP1559Compatible:f,provider:n}),getAddress:()=>{return o?o.getAddress():void 0},getBalance:An(y).getBalance,getNetworkParams:Q0(y),isApproved:d5({chain:y,provider:n}),sendTransaction:kC({chain:y,isEIP1559Compatible:f,provider:n,signer:o}),signAuthorization:e5({signer:o}),signMessage:o?(T)=>o.signMessage(T):void 0,signTypedData:o?({domain:T,types:C,value:H})=>o.signTypedData(T,C,H):void 0,transfer:a5({chain:y,isEIP1559Compatible:f,provider:n,signer:o}),validateAddress:Xn}}function Xn(y){try{return Fy.getAddress(y),!0}catch{return!1}}function uf(y){return y instanceof Fy.BrowserProvider}function Qn(y,n,o){return new Fy.Contract(y,Fy.Interface.from(n),o)}function B0({provider:y}){return function(o,f){return new Fy.Contract(o,Fy.Interface.from(f),y)}}function z0({abi:y,funcName:n}){let o=y.find((f)=>f.name===n);if(!o)throw new S.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:n});return o.stateMutability&&c5.includes(o.stateMutability)}function OC(y){return Fy.getAddress(y)}function vf(y){return function({value:o,...f}){if(!uf(y))throw new S.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:T,gasPrice:C,maxFeePerGas:H,maxPriorityFeePerGas:U,..._}=f;return y.send("eth_sendTransaction",[{..._,value:qn(BigInt(o||0))}])}}function wC(y,n){let o=jf(y,n);if(o)return Fy.getAddress(o.toLowerCase());throw new S.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function jf({chain:y,symbol:n,ticker:o},f){try{let T=y===S.Chain.BinanceSmartChain&&n==="BNB"&&o==="BNB",C=y===S.Chain.Hyperevm&&n==="HYPE"&&o==="HYPE",H=y===f&&n===f&&o===f,U=i5.includes(y)&&n==="ETH"&&o==="ETH";if(H||T||C||U)return N0[f];return Fy.getAddress(n.slice(o.length+1).replace(/^0X/,""))}catch{return null}}function wf({provider:y}){return async({contractAddress:n,abi:o,funcName:f,funcParams:T=[],txOverrides:C})=>Qn(n,o,y).getFunction(f).populateTransaction(...T.concat(C).filter((H)=>typeof H<"u"))}function Df({chain:y,provider:n,isEIP1559Compatible:o=!0}){return Y0.match(y).with(S.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:T,maxPriorityFeePerGas:C}=await n.getFeeData();if(!T||C===null)throw new S.SwapKitError("toolbox_evm_no_fee_data");return{[S.FeeOption.Average]:{maxFeePerGas:S.applyFeeMultiplierToBigInt(T,S.FeeOption.Average),maxPriorityFeePerGas:S.applyFeeMultiplierToBigInt(C,S.FeeOption.Average)},[S.FeeOption.Fast]:{maxFeePerGas:S.applyFeeMultiplierToBigInt(T,S.FeeOption.Fast),maxPriorityFeePerGas:S.applyFeeMultiplierToBigInt(C,S.FeeOption.Fast)},[S.FeeOption.Fastest]:{maxFeePerGas:S.applyFeeMultiplierToBigInt(T,S.FeeOption.Fastest),maxPriorityFeePerGas:S.applyFeeMultiplierToBigInt(C,S.FeeOption.Fastest)}}}catch(T){throw new S.SwapKitError("toolbox_evm_gas_estimation_error",{error:T.msg??T.toString()})}}}).with(S.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:T}=await n.getFeeData();if(!T)throw new S.SwapKitError("toolbox_evm_no_fee_data");let C=T*12n/10n;return{[S.FeeOption.Average]:{gasPrice:C},[S.FeeOption.Fast]:{gasPrice:S.applyFeeMultiplierToBigInt(C,S.FeeOption.Fast)},[S.FeeOption.Fastest]:{gasPrice:S.applyFeeMultiplierToBigInt(C,S.FeeOption.Fastest)}}}catch(T){throw new S.SwapKitError("toolbox_evm_gas_estimation_error",{error:T.msg??T.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:T,maxPriorityFeePerGas:C,gasPrice:H}=await n.getFeeData();if(o){if(T===null||C===null)throw new S.SwapKitError("toolbox_evm_no_fee_data");return{[S.FeeOption.Average]:{maxFeePerGas:T,maxPriorityFeePerGas:C},[S.FeeOption.Fast]:{maxFeePerGas:S.applyFeeMultiplierToBigInt(T,S.FeeOption.Fast),maxPriorityFeePerGas:S.applyFeeMultiplierToBigInt(C,S.FeeOption.Fast)},[S.FeeOption.Fastest]:{maxFeePerGas:S.applyFeeMultiplierToBigInt(T,S.FeeOption.Fastest),maxPriorityFeePerGas:S.applyFeeMultiplierToBigInt(C,S.FeeOption.Fastest)}}}if(!H)throw new S.SwapKitError("toolbox_evm_no_gas_price");return{[S.FeeOption.Average]:{gasPrice:H},[S.FeeOption.Fast]:{gasPrice:S.applyFeeMultiplierToBigInt(H,S.FeeOption.Fast)},[S.FeeOption.Fastest]:{gasPrice:S.applyFeeMultiplierToBigInt(H,S.FeeOption.Fastest)}}}catch(T){throw new S.SwapKitError("toolbox_evm_gas_estimation_error",{error:T.msg??T.toString()})}}})}function O0({provider:y,isEIP1559Compatible:n,signer:o,chain:f}){return async function({callProvider:C,contractAddress:H,abi:U,funcName:_,funcParams:A=[],txOverrides:Z={},feeOption:M=S.FeeOption.Fast}){let X=C||y;if(!H)throw new S.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let G=z0({abi:U,funcName:_});if(G&&uf(X)&&o){let B=wf({chain:f,provider:X}),D=Z?.from||await o?.getAddress(),L=await B({abi:U,contractAddress:H,funcName:_,funcParams:A,txOverrides:{...Z,from:D}});return vf(X)(L)}let W=Qn(H,U,X);if(G){if(!o)throw new S.SwapKitError("toolbox_evm_no_signer");let B=Z?.from||await o.getAddress();if(!B)throw new S.SwapKitError("toolbox_evm_no_signer_address");let D=W.connect(o),L=Df({chain:f,isEIP1559Compatible:n,provider:y}),{maxFeePerGas:w,maxPriorityFeePerGas:N,gasPrice:z}=(await L())[M],J=await W.getFunction(_).estimateGas(...A,Z),Y=await D[_](...A,{...Z,gasLimit:J,gasPrice:z,maxFeePerGas:w,maxPriorityFeePerGas:N,nonce:Z?.nonce||await X.getTransactionCount(B)});return typeof Y?.hash==="string"?Y?.hash:Y}let Q=await W[_]?.(...A);return typeof Q?.hash==="string"?Q?.hash:Q}}function DC({provider:y,chain:n}){return function({assetAddress:f,spenderAddress:T,from:C}){return O0({chain:n,isEIP1559Compatible:!0,provider:y})({abi:Vf.erc20ABI,contractAddress:f,funcName:"allowance",funcParams:[C,T]})}}function d5({provider:y,chain:n}){return async function({assetAddress:f,spenderAddress:T,from:C,amount:H=Wn}){let U=await DC({chain:n,provider:y})({assetAddress:f,from:C,spenderAddress:T});return S.SwapKitNumber.fromBigInt(U).gte(S.SwapKitNumber.fromBigInt(BigInt(H)))}}function r5({signer:y,isEIP1559Compatible:n=!0,provider:o,chain:f}){return async function({assetAddress:C,spenderAddress:H,feeOptionKey:U=S.FeeOption.Fast,amount:_,gasLimitFallback:A,from:Z,nonce:M}){let X=[H,BigInt(_||Wn)],G=await y?.getAddress()||Z,W={abi:Vf.erc20ABI,contractAddress:C,funcName:"approve",funcParams:X,signer:y,txOverrides:{from:G}};if(uf(o)){let B=wf({chain:f,provider:o}),D=vf(o),L=await B(W);return D(L)}return O0({chain:f,isEIP1559Compatible:n,provider:o,signer:y})({...W,feeOption:U,funcParams:X,txOverrides:{from:G,gasLimit:A?BigInt(A.toString()):void 0,nonce:M}})}}function a5({signer:y,isEIP1559Compatible:n=!0,provider:o}){return async function({assetValue:T,memo:C,recipient:H,feeOptionKey:U=S.FeeOption.Fast,sender:_,...A}){let{hexlify:Z,toUtf8Bytes:M}=await import("ethers"),X=T.getBaseValue("bigint"),G=T.chain,W=_||await y?.getAddress(),Q=kC({chain:G,isEIP1559Compatible:n,provider:o,signer:y});if(!W)throw new S.SwapKitError("toolbox_evm_no_from_address");if(T.isGasAsset){let z={...A,data:Z(M(C||"")),feeOptionKey:U,from:W,to:H,value:X};return Q(z)}if(!jf(T,G))throw new S.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:D,maxPriorityFeePerGas:L,gasPrice:w}=(await Df({chain:G,isEIP1559Compatible:n,provider:o})())[U],N=await L0({chain:G,provider:o,signer:y})({assetValue:T,data:Z(M(C||"")),gasPrice:w,maxFeePerGas:D,maxPriorityFeePerGas:L,memo:C,recipient:H,sender:W});return Q(N)}}function RC({provider:y,signer:n}){return function({contractAddress:f,abi:T,funcName:C,funcParams:H=[],txOverrides:U}){if(!f)throw new S.SwapKitError("toolbox_evm_no_contract_address");let _=Qn(f,T,y);return n?_.connect(n).getFunction(C).estimateGas(...H,U):_.getFunction(C).estimateGas(...H,U)}}function s5({provider:y,signer:n}){return async function({assetValue:f,recipient:T,memo:C,data:H,sender:U,funcName:_,funcParams:A,txOverrides:Z}){let M=f.bigIntValue,X=f.isGasAsset?null:jf(f,f.chain);if(X&&_)return RC({provider:y,signer:n})({abi:Vf.erc20ABI,contractAddress:X,funcName:_,funcParams:A,txOverrides:Z});let{hexlify:G,toUtf8Bytes:W}=await import("ethers");return y.estimateGas({data:H?H:C?G(W(C)):void 0,from:U,to:T,value:M})}}function e5({signer:y}){if(!y)return;return(n)=>J0(y,n)}function kC({provider:y,signer:n,isEIP1559Compatible:o=!0,chain:f}){return async function({feeOptionKey:C=S.FeeOption.Fast,...H}){let{from:U,to:_,data:A,value:Z,...M}=H;if(!n)throw new S.SwapKitError("toolbox_evm_no_signer");if(!_)throw new S.SwapKitError("toolbox_evm_no_to_address");let X={...M,data:A||"0x",from:U,to:_,value:BigInt(Z||0)};if(uf(y))return vf(y)(X);let G=U||await n.getAddress(),W=H.nonce||await y.getTransactionCount(G),Q=(await y.getNetwork()).chainId,B=D0(X,o);if(B==="eip7702")M0(X.authorizations||[],Q);let D=Y0.match(B).with("eip7702",()=>4).with("eip1559",()=>2).otherwise(()=>0),L={...X,chainId:Q,nonce:W,type:D,...B==="eip7702"&&{authorizationList:X.authorizations}},w=Df({chain:f,isEIP1559Compatible:o,provider:y}),z=B!=="legacy"&&!(X.maxFeePerGas&&X.maxPriorityFeePerGas)||!X.gasPrice?Object.entries((await w())[C]).reduce((Y,[R,l])=>({...Y,[R]:qn(BigInt(l))}),{}):{},J;try{J=qn(X.gasLimit||await y.estimateGas(L)*11n/10n)}catch(Y){throw new S.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:Y})}try{let Y={...L,gasLimit:J,...z};try{return(await n.sendTransaction(Y)).hash}catch{let R=await n.signTransaction({...Y,from:G});return(await y.broadcastTransaction(R)).hash}}catch(Y){throw new S.SwapKitError("toolbox_evm_error_sending_transaction",{error:Y})}}}function L0({provider:y,signer:n}){return async function({assetValue:f,memo:T,recipient:C,data:H,sender:U,maxFeePerGas:_,maxPriorityFeePerGas:A,gasPrice:Z,...M}){let X=f.getBaseValue("bigint"),G=f.chain,W=U||await n?.getAddress();if(!W)throw new S.SwapKitError("toolbox_evm_no_from_address");if(S.isGasAsset(f)){let{hexlify:D,toUtf8Bytes:L}=await import("ethers");return{...M,data:H||D(L(T||"")),from:W,to:C,value:X}}let Q=jf(f,G);if(!Q)throw new S.SwapKitError("toolbox_evm_no_contract_address");return wf({chain:f.chain,provider:y})({abi:Vf.erc20ABI,contractAddress:Q,funcName:"transfer",funcParams:[C,X],txOverrides:{from:W,gasPrice:Z,maxFeePerGas:_,maxPriorityFeePerGas:A}})}}function yU({provider:y,signer:n,chain:o}){return async function({assetAddress:T,spenderAddress:C,amount:H,from:U}){let _=await n?.getAddress()||U,A=wf({chain:o,provider:y}),Z=["bigint","number"].includes(typeof H)?H:H||Wn;return await A({abi:Vf.erc20ABI,contractAddress:T,funcName:"approve",funcParams:[C,BigInt(Z)],txOverrides:{from:_}})}}function fU({provider:y,isEIP1559Compatible:n=!0,chain:o}){return async function({feeOption:T=S.FeeOption.Fast,...C}){let U=await Df({chain:o,isEIP1559Compatible:n,provider:y})(),_=await y.estimateGas(C),A=S.AssetValue.from({chain:o}),{gasPrice:Z,maxFeePerGas:M,maxPriorityFeePerGas:X}=U[T];if(!n&&Z)return A.set(S.SwapKitNumber.fromBigInt(Z*_,A.decimal));if(M&&X){let G=(M+X)*_;return A.set(S.SwapKitNumber.fromBigInt(G,A.decimal))}throw new S.SwapKitError("toolbox_evm_no_gas_price")}}var S,Vf,Fy,Y0,Wn,c5,g5,N0,i5,cn=(y)=>y.type===4||(y.authorizations?.length??0)>0,w0=(y)=>!cn(y)&&(y.type===2||!!y.maxFeePerGas||!!y.maxPriorityFeePerGas),D0=(y,n=!0)=>{if(cn(y))return"eip7702";if(w0(y)||n)return"eip1559";return"legacy"};var gn=t(()=>{mn();Gn();S=require("@swapkit/helpers"),Vf=require("@swapkit/helpers/contracts"),Fy=require("ethers"),Y0=require("ts-pattern"),Wn=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");c5=["payable","nonpayable"];g5=S.EVMChains.reduce((y,n)=>{return y[n]="0x0000000000000000000000000000000000000000",y},{}),N0={...g5,[S.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[S.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},i5=[S.Chain.Arbitrum,S.Chain.Aurora,S.Chain.Base,S.Chain.Optimism]});function dn(y){let n=Wy(Hy.Chain.Ethereum)(y);async function o(f,T="0x5ba1e12693dc8f9c48aad8770482f4739beed696",C="aggregate",H=Hy.FeeOption.Fast){let U=await n.createContractTxObject({abi:zC,contractAddress:T,funcName:C,funcParams:[f]});return n.sendTransaction({...U,feeOptionKey:H})}return{...n,multicall:o}}function Wy(y){return function({provider:o,...f}){let T=Z0(y),C=Zn.match(f).with({phrase:Zn.P.string},({phrase:U})=>lC.HDNodeWallet.fromPhrase(U).connect(o)).with({signer:Zn.P.any},({signer:U})=>U).otherwise(()=>{return});return bf({chain:y,isEIP1559Compatible:T,provider:o,signer:C})}}var Hy,lC,Zn,rn,an,sn,en,yT,fT,nT,SC,TT,oT,CT,HT,UT,_T,Jn,AT,qT,GT,WT;var R0=t(()=>{NC();Gn();gn();Hy=require("@swapkit/helpers"),lC=require("ethers"),Zn=require("ts-pattern");rn=Wy(Hy.Chain.Adi),an=Wy(Hy.Chain.Arbitrum),sn=Wy(Hy.Chain.Aurora),en=Wy(Hy.Chain.Avalanche),yT=Wy(Hy.Chain.Base),fT=Wy(Hy.Chain.Berachain),nT=Wy(Hy.Chain.BinanceSmartChain),SC=Wy(Hy.Chain.Botanix),TT=Wy(Hy.Chain.Core),oT=Wy(Hy.Chain.Corn),CT=Wy(Hy.Chain.Cronos),HT=Wy(Hy.Chain.Gnosis),UT=Wy(Hy.Chain.Hyperevm),_T=Wy(Hy.Chain.Polygon),Jn=Wy(Hy.Chain.Sonic),AT=Wy(Hy.Chain.Unichain),qT=Wy(Hy.Chain.XLayer),GT=Wy(Hy.Chain.Monad),WT=Wy(Hy.Chain.MegaETH)});var xC;var FC=t(()=>{xC=[{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 k0(y){return new XT.Contract(TU,xC,y)}function $C(y){return async function(){let o=k0(y);if(o&&"l1BaseFee"in o)return await o?.l1BaseFee();return}}function IC(y){return async function({from:o,to:f,nonce:T,...C}){let{Transaction:H}=await import("ethers");if(!f)throw new Uy.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return H.from({...C,authorizationList:C.authorizationList,nonce:T?T:o?await y.getTransactionCount(o):0,to:f}).serialized}}function tC(y){return async function(o){let f=k0(y),T=await IC(y)(o);if(f&&"getL1Fee"in f)return f.getL1Fee(T)}}function PC(y){return async function(o){let T=(await y.getFeeData()).gasPrice??0n,C=await y.estimateGas(o);return T*C}}function oU(y){return async function(o){let f=await tC(y)(o)??0n,T=await PC(y)(o);return f+T}}function CU(y){return async function(o){let f=k0(y),T=await IC(y)(o);if(f&&"getL1GasUsed"in f)return f.getL1GasUsed(T)}}function HU(y){return async function(){try{let{maxFeePerGas:o,maxPriorityFeePerGas:f,gasPrice:T}=await y.getFeeData(),C=await $C(y)(),H=T;if(!(o&&f))throw new Uy.SwapKitError("toolbox_evm_no_fee_data");return{[Uy.FeeOption.Average]:{gasPrice:H,l1GasPrice:C,maxFeePerGas:o,maxPriorityFeePerGas:f},[Uy.FeeOption.Fast]:{gasPrice:Uy.applyFeeMultiplierToBigInt(H,Uy.FeeOption.Fast),l1GasPrice:Uy.applyFeeMultiplierToBigInt(C||0n,Uy.FeeOption.Fast),maxFeePerGas:o,maxPriorityFeePerGas:Uy.applyFeeMultiplierToBigInt(f,Uy.FeeOption.Fast)},[Uy.FeeOption.Fastest]:{gasPrice:Uy.applyFeeMultiplierToBigInt(H,Uy.FeeOption.Fastest),l1GasPrice:Uy.applyFeeMultiplierToBigInt(C||0n,Uy.FeeOption.Fastest),maxFeePerGas:o,maxPriorityFeePerGas:Uy.applyFeeMultiplierToBigInt(f,Uy.FeeOption.Fastest)}}}catch(o){throw new Uy.SwapKitError("toolbox_evm_gas_estimation_error",{error:o.msg??o.toString()})}}}function QT({provider:y,...n}){let o=Mn.match(n).with({phrase:Mn.P.string},({phrase:C})=>XT.HDNodeWallet.fromPhrase(C).connect(y)).with({signer:Mn.P.any},({signer:C})=>C).otherwise(()=>{return}),f=bf({provider:y,signer:o}),T=$C(y);return{...f,estimateGasPrices:HU(y),estimateL1Gas:CU(y),estimateL1GasCost:tC(y),estimateL2GasCost:PC(y),estimateTotalGasCost:oU(y),getBalance:An(Uy.Chain.Optimism).getBalance,getL1GasPrice:T}}var Uy,XT,Mn,TU="0x420000000000000000000000000000000000000f";var l0=t(()=>{mn();FC();gn();Uy=require("@swapkit/helpers"),XT=require("ethers"),Mn=require("ts-pattern")});var VC={};My(VC,{validateEVMAddress:()=>Xn,toChecksumAddress:()=>OC,isStateChangingCall:()=>z0,isEIP7702Transaction:()=>cn,isEIP1559Transaction:()=>w0,isBrowserProvider:()=>uf,getTokenAddress:()=>jf,getEvmToolboxAsync:()=>EC,getEvmToolbox:()=>S0,getEstimateGasPrices:()=>Df,getEVMTxType:()=>D0,getEIP1193SendTransaction:()=>vf,getCreateContractTxObject:()=>wf,getCreateContract:()=>B0,getChecksumAddressFromAsset:()=>wC,createContract:()=>Qn,XLayerToolbox:()=>qT,UNIToolbox:()=>AT,SONICToolbox:()=>Jn,OPToolbox:()=>QT,MONADToolbox:()=>GT,MEGAETHToolbox:()=>WT,MAX_APPROVAL:()=>Wn,MATICToolbox:()=>_T,HYPEREVMToolbox:()=>UT,GNOToolbox:()=>HT,ETHToolbox:()=>dn,ContractAddress:()=>N0,CROToolbox:()=>CT,CORNToolbox:()=>oT,COREToolbox:()=>TT,BotanixToolbox:()=>SC,BaseEVMToolbox:()=>bf,BSCToolbox:()=>nT,BERAToolbox:()=>fT,BASEToolbox:()=>yT,AVAXToolbox:()=>en,AURORAToolbox:()=>sn,ARBToolbox:()=>an,ADIToolbox:()=>rn});function S0(y,n){return pC.match(y).with(qy.Chain.Adi,()=>rn(n)).with(qy.Chain.Arbitrum,()=>an(n)).with(qy.Chain.Aurora,()=>sn(n)).with(qy.Chain.Avalanche,()=>en(n)).with(qy.Chain.Base,()=>yT(n)).with(qy.Chain.Berachain,()=>fT(n)).with(qy.Chain.BinanceSmartChain,()=>nT(n)).with(qy.Chain.Botanix,()=>Jn(n)).with(qy.Chain.Core,()=>TT(n)).with(qy.Chain.Corn,()=>oT(n)).with(qy.Chain.Cronos,()=>CT(n)).with(qy.Chain.Ethereum,()=>dn(n)).with(qy.Chain.Gnosis,()=>HT(n)).with(qy.Chain.Hyperevm,()=>UT(n)).with(qy.Chain.Optimism,()=>QT(n)).with(qy.Chain.Polygon,()=>_T(n)).with(qy.Chain.Sonic,()=>Jn(n)).with(qy.Chain.Unichain,()=>AT(n)).with(qy.Chain.XLayer,()=>qT(n)).with(qy.Chain.Monad,()=>GT(n)).with(qy.Chain.MegaETH,()=>WT(n)).exhaustive()}async function EC(y,n){let o={...n,provider:n?.provider||await X0(y)};return S0(y,o)}var qy,pC;var x0=t(()=>{Gn();R0();l0();qy=require("@swapkit/helpers"),pC=require("ts-pattern");gn();R0();l0()});var bC;var uC=t(()=>{((o)=>{o.Test="goerli";o.Main="homestead"})(bC||={})});var vC={};My(vC,{validateEVMAddress:()=>Xn,validateAuthorizations:()=>M0,validateAuthorization:()=>YC,toHexString:()=>qn,toChecksumAddress:()=>OC,signAuthorization:()=>J0,parseEIP712FromEVMTx:()=>m5,isStateChangingCall:()=>z0,isEIP7702Transaction:()=>cn,isEIP1559Transaction:()=>w0,isBrowserProvider:()=>uf,getTokenAddress:()=>jf,getProviderSync:()=>LC,getProvider:()=>X0,getNetworkParams:()=>Q0,getIsEIP1559Compatible:()=>Z0,getEvmToolboxAsync:()=>EC,getEvmToolbox:()=>S0,getEvmApi:()=>An,getEstimateGasPrices:()=>Df,getEVMTxType:()=>D0,getEIP1193SendTransaction:()=>vf,getCreateContractTxObject:()=>wf,getCreateContract:()=>B0,getChecksumAddressFromAsset:()=>wC,createCustomEvmApi:()=>j5,createContract:()=>Qn,buildEIP712DomainType:()=>BC,XLayerToolbox:()=>qT,UNIToolbox:()=>AT,SONICToolbox:()=>Jn,OPToolbox:()=>QT,MONADToolbox:()=>GT,MEGAETHToolbox:()=>WT,MAX_APPROVAL:()=>Wn,MATICToolbox:()=>_T,HYPEREVMToolbox:()=>UT,GNOToolbox:()=>HT,EthNetwork:()=>bC,ETHToolbox:()=>dn,ContractAddress:()=>N0,CROToolbox:()=>CT,CORNToolbox:()=>oT,COREToolbox:()=>TT,BotanixToolbox:()=>SC,BaseEVMToolbox:()=>bf,BSCToolbox:()=>nT,BERAToolbox:()=>fT,BASEToolbox:()=>yT,AVAXToolbox:()=>en,AURORAToolbox:()=>sn,ARBToolbox:()=>an,ADIToolbox:()=>rn});module.exports=Ny(vC);var F0=t(()=>{mn();Gn();x0();uC()});async function I0(y,n){let o=await fetch(`${iC}${y}`,{...n,headers:{project_id:gC,...n?.headers}});if(!o.ok)throw Error(`Blockfrost API error: ${o.status} ${o.statusText}`);return o.json()}async function dC(y){try{return await I0(`/addresses/${y}/utxos`)}catch{return[]}}async function _U(){return(await I0("/blocks/latest")).slot}async function AU(){let y=await I0("/epochs/latest/parameters"),n={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 $y.default(y.collateral_percent),languageView:n,maxValueSize:Number.parseInt(y.max_val_size,10),minFeeA:new $y.default(y.min_fee_a),minFeeB:new $y.default(y.min_fee_b),minFeeRefScriptCostPerByte:new $y.default(15),priceMem:new $y.default(y.price_mem),priceSteps:new $y.default(y.price_step),stakeKeyDeposit:new $y.default(2000000),utxoCostPerByte:new $y.default(y.coins_per_utxo_size)}}async function KC(y){let n=await fetch(`${iC}/tx/submit`,{body:Buffer.from(y,"hex"),headers:{"Content-Type":"application/cbor",project_id:gC},method:"POST"});if(!n.ok){let o=await n.text();throw Error(`Transaction submission failed: ${o}`)}return n.json()}function qU(y,n){return y.map((o)=>{let f=o.amount.find((H)=>H.unit==="lovelace"),T=f?new $y.default(f.quantity):new $y.default(0),C=o.amount.filter((H)=>H.unit!=="lovelace").map((H)=>({amount:new $y.default(H.quantity),assetName:H.unit.slice(56),policyId:H.unit.slice(0,56)}));return{address:n,amount:T,index:o.output_index,tokens:C,txId:o.tx_hash}})}async function GU(y){try{let n=await dC(y),o=0n,f=new Map;for(let H of n){if(!H.amount||!Array.isArray(H.amount))continue;for(let U of H.amount){let{unit:_,quantity:A}=U;if(_==="lovelace")o+=BigInt(A);else{let Z=f.get(_)||0n;f.set(_,Z+BigInt(A))}}}let T=[],{baseDecimal:C}=_y.getChainConfig(_y.Chain.Cardano);if(o>0n)T.push(_y.AssetValue.from({chain:_y.Chain.Cardano,fromBaseDecimal:C,value:o.toString()}));for(let[H,U]of f)T.push(_y.AssetValue.from({asset:`${_y.Chain.Cardano}.${H}`,value:U.toString()}));if(T.length===0)return[_y.AssetValue.from({chain:_y.Chain.Cardano})];return T}catch(n){let o=n instanceof Error?n.message:String(n);return console.error(`Cardano balance fetch error: ${o}`),[_y.AssetValue.from({chain:_y.Chain.Cardano})]}}function rC(y){if(!y||typeof y!=="string")return!1;try{let n=hC.bech32.decode(y,120);return n.prefix==="addr"||n.prefix==="addr_test"}catch{return!1}}async function WU(y,n=0,o=0){let f=await mC.mnemonicToSeed(y,""),C=(await cC.Bip32PrivateKey.fromEntropy(Buffer.from(f.slice(0,64)))).derive($0+1852).derive($0+1815).derive($0+n),H=C.derive(0).derive(o),U=H.toBip32PublicKey().toPublicKey().toBytes(),_=Dy.crypto.hash28(U),Z=C.derive(2).derive(0).toBip32PublicKey().toPublicKey().toBytes(),M=Dy.crypto.hash28(Z),X={hash:_,type:Dy.types.HashType.ADDRESS},G={hash:M,type:Dy.types.HashType.ADDRESS},Q=new Dy.address.BaseAddress(UU,X,G).getBech32(),B=H.toPrivateKey();return{getAddress:()=>Q,publicKey:U,publicKeyHash:_,signTransaction:async(D)=>{try{let L=await import("@stricahq/cbors"),w=Buffer.from(D,"hex"),N=L.Decoder.decode(w),[z,J,Y,R]=N.value,l=L.Encoder.encode(z),q=Dy.crypto.hash32(l),O=B.sign(q),k=J instanceof Map?J:new Map,x=k.get(jC)||[];x.push([U,O]),k.set(jC,x);let F=[z,k,Y,R];return L.Encoder.encode(F).toString("hex")}catch(L){throw new _y.SwapKitError("toolbox_cardano_sign_transaction_failed",{message:String(L)})}}}}function XU(y){let n,o,f;async function T(){if(!f)f=await AU();return f}async function C(){if(n!==void 0)return n;if(y&&"phrase"in y&&y.phrase){let G=y.index??0;return n=await WU(y.phrase,0,G),n}if(y&&"signer"in y&&y.signer)return n=y.signer,n;return}async function H(){if(o)return o;let G=await C();if(!G)return"";if("getAddress"in G)return o=await G.getAddress(),o;return""}async function U(G){let W=G||await H();if(!W)throw new _y.SwapKitError("core_wallet_connection_not_found");return GU(W)}async function _(G){if(G)try{let{tx:D}=await A(G),L=D.getFee();return _y.AssetValue.from({chain:_y.Chain.Cardano,fromBaseDecimal:6,value:L.toString()})}catch{}let W=await T(),Q=400,B=W.minFeeB.plus(W.minFeeA.times(Q));return _y.AssetValue.from({chain:_y.Chain.Cardano,fromBaseDecimal:6,value:B.toString()})}async function A({sender:G="",recipient:W,assetValue:Q,memo:B,pureLovelaceOnly:D=!1}){let L=G||await H();if(!L)throw new _y.SwapKitError("core_wallet_connection_not_found");let[w,N,z]=await Promise.all([dC(L),_U(),T()]),J=w.filter((i)=>D?i.amount.every((fy)=>fy.unit==="lovelace"):i.amount.some((fy)=>fy.unit==="lovelace")).sort((i,fy)=>{let By=i.amount.some((Zy)=>Zy.unit!=="lovelace"),wy=fy.amount.some((Zy)=>Zy.unit!=="lovelace");if(By===wy)return 0;return By?1:-1}),Y=Dy.utils.getAddressFromString(L),R=Dy.utils.getAddressFromString(W),l=qU(J,Y),q=new $y.default(Q.getBaseValue("string")),O=[{address:R,amount:q,tokens:[]}],k;if(B){let i=new Map;i.set("msg",[B]),k={metadata:[{data:i,label:674}]}}let x={...z,minFeeB:z.minFeeB.plus(z.minFeeA.times(4))},u=new Dy.Transaction({protocolParams:x}).paymentTransaction({auxiliaryData:k,changeAddress:Y,inputs:l,outputs:O,ttl:N+3600}),{payload:h}=u.buildTransaction();return{tx:u,unsignedTx:h}}async function Z(G){let W=await C();if(!W||!("signTransaction"in W))throw new _y.SwapKitError("core_wallet_connection_not_found");return W.signTransaction(G)}async function M({recipient:G,assetValue:W,memo:Q}){let B=await C();if(!B||!("signTransaction"in B))throw new _y.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:D}=await A({assetValue:W,memo:Q,recipient:G,sender:await H()}),L=await Z(D);return await KC(L)}async function X(G){let W=await Z(G);return await KC(W)}return{createTransaction:A,estimateTransactionFee:_,getAddress:H,getBalance:U,signAndBroadcastTransaction:X,signTransaction:Z,transfer:M,validateAddress:rC}}var hC,mC,cC,Dy,_y,$y,gC="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS",iC="https://cardano-mainnet.blockfrost.io/api/v0",UU,$0=2147483648,jC=0;var aC=t(()=>{hC=require("@scure/base"),mC=require("@scure/bip39"),cC=require("@stricahq/bip32ed25519"),Dy=require("@stricahq/typhonjs"),_y=require("@swapkit/helpers"),$y=U0(require("bignumber.js")),UU=Dy.types.NetworkId.MAINNET});var t0={};My(t0,{validateCardanoAddress:()=>rC,getCardanoToolbox:()=>XU});module.exports=Ny(t0);var P0=t(()=>{aC()});function Ln(y){return hy.base64.encode(Uint8Array.from(hy.bech32.fromWords(hy.bech32.decode(y).words)))}function Yn(y,n="thor"){return hy.bech32.encode(n,hy.bech32.toWords(hy.base64.decode(y)))}function QU(y){return hy.base64.encode(y)}function ZU(y){if(!y.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new sC.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return hy.base64.decode(y)}var hy,sC;var p0=t(()=>{hy=require("@scure/base"),sC=require("@swapkit/helpers")});function dy(y){switch(y){case b.Chain.Maya:return{amount:[],gas:"10000000000"};case b.Chain.THORChain:return{amount:[],gas:"500000000"};case b.Chain.Kujira:return f1;case b.Chain.Noble:return n1;default:return y1}}async function ry(y){let n=await import("@cosmjs/stargate"),o=n.StargateClient??n.default?.StargateClient,f=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return o.connect({headers:f,url:y})}async function Rf(y,n,o={}){let f=await import("@cosmjs/stargate"),T=f.SigningStargateClient??f.default?.SigningStargateClient,C=f.GasPrice??f.default?.GasPrice,H=typeof o==="string"?o:"0.0003uatom",U=typeof o==="string"?{}:o;return T.connectWithSigner(y,n,{gasPrice:C.fromString(H),...U})}async function V0(y,n){let o=await import("@cosmjs/stargate");return(o.SigningStargateClient??o.default?.SigningStargateClient).offline(y,n)}async function b0({sender:y,recipient:n,assetValue:o,memo:f="",feeRate:T,sequence:C,accountNumber:H}){let{chain:U,chainId:_}=o,A=await b.getRPCUrl(U),M=await(await ry(A)).getAccount(y);if(!M)throw new b.SwapKitError("toolbox_cosmos_account_not_found",{sender:y});let X=b.AssetValue.from({chain:U}),G=Cf(X.symbol),W=dy(U),Q=G&&T?{amount:[{amount:T.toString(),denom:G}],gas:W.gas}:W,B={amount:[{amount:o.getBaseValue("string"),denom:Cf(o.symbol)}],fromAddress:y,toAddress:n};return{accountNumber:H??Number(M.accountNumber),chainId:_,fee:Q,memo:f,msgs:[{typeUrl:JU(U),value:B}],sequence:C??M.sequence}}var b,E0="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",eC="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",y1,f1,n1,Cf=(y,n=!1)=>{if(n)return y.toLowerCase();switch(y){case"uUSK":case"USK":return E0;case"uYUM":case"YUM":return eC;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return y}},Bn=({symbol:y,chain:n})=>{if(n===b.Chain.Maya)return(y.toUpperCase()!=="CACAO"?y:`${b.Chain.Maya}.${y}`).toUpperCase();if(n===b.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(y.toUpperCase())?`${b.Chain.THORChain}.${y}`:y).toUpperCase();return Cf(y,!1)},JU=(y)=>{switch(y){case b.Chain.Maya:case b.Chain.THORChain:return"/types.MsgSend";case b.Chain.Cosmos:case b.Chain.Kujira:case b.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new b.SwapKitError("toolbox_cosmos_not_supported",{chain:y})}},MU,u0=(y,n)=>{let o=MU[y.toLowerCase()];if(!o)return b.AssetValue.from({asset:y,fromBaseDecimal:8,value:n});let{chain:f,asset:T,decimals:C}=o,H=f?{chain:f}:{asset:T};return b.AssetValue.from({...H,fromBaseDecimal:C,value:n})};var zn=t(()=>{b=require("@swapkit/helpers"),y1={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},f1={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},n1={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};MU={atom:{chain:b.Chain.Cosmos,decimals:b.getChainConfig(b.Chain.Cosmos).baseDecimal},cacao:{chain:b.Chain.Maya,decimals:10},kuji:{chain:b.Chain.Kujira,decimals:b.getChainConfig(b.Chain.Kujira).baseDecimal},maya:{asset:`${b.Chain.Maya}.${b.Chain.Maya}`,decimals:4},rune:{chain:b.Chain.THORChain,decimals:b.getChainConfig(b.Chain.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:b.getChainConfig(b.Chain.THORChain).baseDecimal},uatom:{chain:b.Chain.Cosmos,decimals:b.getChainConfig(b.Chain.Cosmos).baseDecimal},ukuji:{chain:b.Chain.Kujira,decimals:b.getChainConfig(b.Chain.Kujira).baseDecimal},usdc:{chain:b.Chain.Noble,decimals:b.getChainConfig(b.Chain.Noble).baseDecimal},uusdc:{chain:b.Chain.Noble,decimals:b.getChainConfig(b.Chain.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:b.getChainConfig(b.Chain.THORChain).baseDecimal},[E0.toLowerCase()]:{asset:`${b.Chain.Kujira}.USK`,decimals:b.getChainConfig(b.Chain.Kujira).baseDecimal}}});var T1={};My(T1,{$root:()=>I});var Ly,v,ty,E,I;var o1=t(()=>{Ly=U0(require("protobufjs/minimal.js")),v=Ly.default.Reader,ty=Ly.default.Writer,E=Ly.default.util,I=Ly.default.roots.default||(Ly.default.roots.default={});I.common=(()=>{let y={};return y.Asset=(()=>{function n(o){if(o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.chain="",n.prototype.symbol="",n.prototype.ticker="",n.prototype.synth=!1,n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=ty.create();if(f.chain!=null&&Object.hasOwnProperty.call(f,"chain"))T.uint32(10).string(f.chain);if(f.symbol!=null&&Object.hasOwnProperty.call(f,"symbol"))T.uint32(18).string(f.symbol);if(f.ticker!=null&&Object.hasOwnProperty.call(f,"ticker"))T.uint32(26).string(f.ticker);if(f.synth!=null&&Object.hasOwnProperty.call(f,"synth"))T.uint32(32).bool(f.synth);return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof v))f=v.create(f);let C=T===void 0?f.len:f.pos+T,H=new I.common.Asset;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:H.chain=f.string();break;case 2:H.symbol=f.string();break;case 3:H.ticker=f.string();break;case 4:H.synth=f.bool();break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof v))f=new v(f);return this.decode(f,f.uint32())},n.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.chain!=null&&f.hasOwnProperty("chain")){if(!E.isString(f.chain))return"chain: string expected"}if(f.symbol!=null&&f.hasOwnProperty("symbol")){if(!E.isString(f.symbol))return"symbol: string expected"}if(f.ticker!=null&&f.hasOwnProperty("ticker")){if(!E.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},n.fromObject=function(f){if(f instanceof I.common.Asset)return f;let T=new I.common.Asset;if(f.chain!=null)T.chain=String(f.chain);if(f.symbol!=null)T.symbol=String(f.symbol);if(f.ticker!=null)T.ticker=String(f.ticker);if(f.synth!=null)T.synth=Boolean(f.synth);return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.defaults)C.chain="",C.symbol="",C.ticker="",C.synth=!1;if(f.chain!=null&&f.hasOwnProperty("chain"))C.chain=f.chain;if(f.symbol!=null&&f.hasOwnProperty("symbol"))C.symbol=f.symbol;if(f.ticker!=null&&f.hasOwnProperty("ticker"))C.ticker=f.ticker;if(f.synth!=null&&f.hasOwnProperty("synth"))C.synth=f.synth;return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},n})(),y.Coin=(()=>{function n(o){if(o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.asset=null,n.prototype.amount="",n.prototype.decimals=E.Long?E.Long.fromBits(0,0,!1):0,n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=ty.create();if(f.asset!=null&&Object.hasOwnProperty.call(f,"asset"))I.common.Asset.encode(f.asset,T.uint32(10).fork()).ldelim();if(f.amount!=null&&Object.hasOwnProperty.call(f,"amount"))T.uint32(18).string(f.amount);if(f.decimals!=null&&Object.hasOwnProperty.call(f,"decimals"))T.uint32(24).int64(f.decimals);return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof v))f=v.create(f);let C=T===void 0?f.len:f.pos+T,H=new I.common.Coin;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:H.asset=I.common.Asset.decode(f,f.uint32());break;case 2:H.amount=f.string();break;case 3:H.decimals=f.int64();break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof v))f=new v(f);return this.decode(f,f.uint32())},n.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.asset!=null&&f.hasOwnProperty("asset")){let T=I.common.Asset.verify(f.asset);if(T)return"asset."+T}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!E.isString(f.amount))return"amount: string expected"}if(f.decimals!=null&&f.hasOwnProperty("decimals")){if(!E.isInteger(f.decimals)&&!(f.decimals&&E.isInteger(f.decimals.low)&&E.isInteger(f.decimals.high)))return"decimals: integer|Long expected"}return null},n.fromObject=function(f){if(f instanceof I.common.Coin)return f;let T=new I.common.Coin;if(f.asset!=null){if(typeof f.asset!=="object")throw TypeError(".common.Coin.asset: object expected");T.asset=I.common.Asset.fromObject(f.asset)}if(f.amount!=null)T.amount=String(f.amount);if(f.decimals!=null){if(E.Long)(T.decimals=E.Long.fromValue(f.decimals)).unsigned=!1;else if(typeof f.decimals==="string")T.decimals=Number.parseInt(f.decimals,10);else if(typeof f.decimals==="number")T.decimals=f.decimals;else if(typeof f.decimals==="object")T.decimals=new E.LongBits(f.decimals.low>>>0,f.decimals.high>>>0).toNumber()}return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.defaults)if(C.asset=null,C.amount="",E.Long){let H=new E.Long(0,0,!1);C.decimals=T.longs===String?H.toString():T.longs===Number?H.toNumber():H}else C.decimals=T.longs===String?"0":0;if(f.asset!=null&&f.hasOwnProperty("asset"))C.asset=I.common.Asset.toObject(f.asset,T);if(f.amount!=null&&f.hasOwnProperty("amount"))C.amount=f.amount;if(f.decimals!=null&&f.hasOwnProperty("decimals"))if(typeof f.decimals==="number")C.decimals=T.longs===String?String(f.decimals):f.decimals;else C.decimals=T.longs===String?E.Long.prototype.toString.call(f.decimals):T.longs===Number?new E.LongBits(f.decimals.low>>>0,f.decimals.high>>>0).toNumber():f.decimals;return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},n})(),y.PubKeySet=(()=>{function n(o){if(o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.secp256k1="",n.prototype.ed25519="",n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=ty.create();if(f.secp256k1!=null&&Object.hasOwnProperty.call(f,"secp256k1"))T.uint32(10).string(f.secp256k1);if(f.ed25519!=null&&Object.hasOwnProperty.call(f,"ed25519"))T.uint32(18).string(f.ed25519);return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof v))f=v.create(f);let C=T===void 0?f.len:f.pos+T,H=new I.common.PubKeySet;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:H.secp256k1=f.string();break;case 2:H.ed25519=f.string();break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof v))f=new v(f);return this.decode(f,f.uint32())},n.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.secp256k1!=null&&f.hasOwnProperty("secp256k1")){if(!E.isString(f.secp256k1))return"secp256k1: string expected"}if(f.ed25519!=null&&f.hasOwnProperty("ed25519")){if(!E.isString(f.ed25519))return"ed25519: string expected"}return null},n.fromObject=function(f){if(f instanceof I.common.PubKeySet)return f;let T=new I.common.PubKeySet;if(f.secp256k1!=null)T.secp256k1=String(f.secp256k1);if(f.ed25519!=null)T.ed25519=String(f.ed25519);return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.defaults)C.secp256k1="",C.ed25519="";if(f.secp256k1!=null&&f.hasOwnProperty("secp256k1"))C.secp256k1=f.secp256k1;if(f.ed25519!=null&&f.hasOwnProperty("ed25519"))C.ed25519=f.ed25519;return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},n})(),y.Tx=(()=>{function n(o){if(this.coins=[],this.gas=[],o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.id="",n.prototype.chain="",n.prototype.fromAddress="",n.prototype.toAddress="",n.prototype.coins=E.emptyArray,n.prototype.gas=E.emptyArray,n.prototype.memo="",n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=ty.create();if(f.id!=null&&Object.hasOwnProperty.call(f,"id"))T.uint32(10).string(f.id);if(f.chain!=null&&Object.hasOwnProperty.call(f,"chain"))T.uint32(18).string(f.chain);if(f.fromAddress!=null&&Object.hasOwnProperty.call(f,"fromAddress"))T.uint32(26).string(f.fromAddress);if(f.toAddress!=null&&Object.hasOwnProperty.call(f,"toAddress"))T.uint32(34).string(f.toAddress);if(f.coins?.length)for(let C=0;C<f.coins.length;++C)I.common.Coin.encode(f.coins[C],T.uint32(42).fork()).ldelim();if(f.gas?.length)for(let C=0;C<f.gas.length;++C)I.common.Coin.encode(f.gas[C],T.uint32(50).fork()).ldelim();if(f.memo!=null&&Object.hasOwnProperty.call(f,"memo"))T.uint32(58).string(f.memo);return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof v))f=v.create(f);let C=T===void 0?f.len:f.pos+T,H=new I.common.Tx;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:H.id=f.string();break;case 2:H.chain=f.string();break;case 3:H.fromAddress=f.string();break;case 4:H.toAddress=f.string();break;case 5:if(!H.coins?.length)H.coins=[];H.coins.push(I.common.Coin.decode(f,f.uint32()));break;case 6:if(!H.gas?.length)H.gas=[];H.gas.push(I.common.Coin.decode(f,f.uint32()));break;case 7:H.memo=f.string();break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof v))f=new v(f);return this.decode(f,f.uint32())},n.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.id!=null&&f.hasOwnProperty("id")){if(!E.isString(f.id))return"id: string expected"}if(f.chain!=null&&f.hasOwnProperty("chain")){if(!E.isString(f.chain))return"chain: string expected"}if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress")){if(!E.isString(f.fromAddress))return"fromAddress: string expected"}if(f.toAddress!=null&&f.hasOwnProperty("toAddress")){if(!E.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 T=0;T<f.coins.length;++T){let C=I.common.Coin.verify(f.coins[T]);if(C)return"coins."+C}}if(f.gas!=null&&f.hasOwnProperty("gas")){if(!Array.isArray(f.gas))return"gas: array expected";for(let T=0;T<f.gas.length;++T){let C=I.common.Coin.verify(f.gas[T]);if(C)return"gas."+C}}if(f.memo!=null&&f.hasOwnProperty("memo")){if(!E.isString(f.memo))return"memo: string expected"}return null},n.fromObject=function(f){if(f instanceof I.common.Tx)return f;let T=new I.common.Tx;if(f.id!=null)T.id=String(f.id);if(f.chain!=null)T.chain=String(f.chain);if(f.fromAddress!=null)T.fromAddress=String(f.fromAddress);if(f.toAddress!=null)T.toAddress=String(f.toAddress);if(f.coins){if(!Array.isArray(f.coins))throw TypeError(".common.Tx.coins: array expected");T.coins=[];for(let C=0;C<f.coins.length;++C){if(typeof f.coins[C]!=="object")throw TypeError(".common.Tx.coins: object expected");T.coins[C]=I.common.Coin.fromObject(f.coins[C])}}if(f.gas){if(!Array.isArray(f.gas))throw TypeError(".common.Tx.gas: array expected");T.gas=[];for(let C=0;C<f.gas.length;++C){if(typeof f.gas[C]!=="object")throw TypeError(".common.Tx.gas: object expected");T.gas[C]=I.common.Coin.fromObject(f.gas[C])}}if(f.memo!=null)T.memo=String(f.memo);return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.arrays||T.defaults)C.coins=[],C.gas=[];if(T.defaults)C.id="",C.chain="",C.fromAddress="",C.toAddress="",C.memo="";if(f.id!=null&&f.hasOwnProperty("id"))C.id=f.id;if(f.chain!=null&&f.hasOwnProperty("chain"))C.chain=f.chain;if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress"))C.fromAddress=f.fromAddress;if(f.toAddress!=null&&f.hasOwnProperty("toAddress"))C.toAddress=f.toAddress;if(f.coins?.length){C.coins=[];for(let H=0;H<f.coins.length;++H)C.coins[H]=I.common.Coin.toObject(f.coins[H],T)}if(f.gas?.length){C.gas=[];for(let H=0;H<f.gas.length;++H)C.gas[H]=I.common.Coin.toObject(f.gas[H],T)}if(f.memo!=null&&f.hasOwnProperty("memo"))C.memo=f.memo;return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},n})(),y.Fee=(()=>{function n(o){if(this.coins=[],o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.coins=E.emptyArray,n.prototype.poolDeduct="",n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=ty.create();if(f.coins?.length)for(let C=0;C<f.coins.length;++C)I.common.Coin.encode(f.coins[C],T.uint32(10).fork()).ldelim();if(f.poolDeduct!=null&&Object.hasOwnProperty.call(f,"poolDeduct"))T.uint32(18).string(f.poolDeduct);return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof v))f=v.create(f);let C=T===void 0?f.len:f.pos+T,H=new I.common.Fee;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:if(!H.coins?.length)H.coins=[];H.coins.push(I.common.Coin.decode(f,f.uint32()));break;case 2:H.poolDeduct=f.string();break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof v))f=new v(f);return this.decode(f,f.uint32())},n.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 T=0;T<f.coins.length;++T){let C=I.common.Coin.verify(f.coins[T]);if(C)return"coins."+C}}if(f.poolDeduct!=null&&f.hasOwnProperty("poolDeduct")){if(!E.isString(f.poolDeduct))return"poolDeduct: string expected"}return null},n.fromObject=function(f){if(f instanceof I.common.Fee)return f;let T=new I.common.Fee;if(f.coins){if(!Array.isArray(f.coins))throw TypeError(".common.Fee.coins: array expected");T.coins=[];for(let C=0;C<f.coins.length;++C){if(typeof f.coins[C]!=="object")throw TypeError(".common.Fee.coins: object expected");T.coins[C]=I.common.Coin.fromObject(f.coins[C])}}if(f.poolDeduct!=null)T.poolDeduct=String(f.poolDeduct);return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.arrays||T.defaults)C.coins=[];if(T.defaults)C.poolDeduct="";if(f.coins?.length){C.coins=[];for(let H=0;H<f.coins.length;++H)C.coins[H]=I.common.Coin.toObject(f.coins[H],T)}if(f.poolDeduct!=null&&f.hasOwnProperty("poolDeduct"))C.poolDeduct=f.poolDeduct;return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},n})(),y.ProtoUint=(()=>{function n(o){if(o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.value="",n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=ty.create();if(f.value!=null&&Object.hasOwnProperty.call(f,"value"))T.uint32(10).string(f.value);return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof v))f=v.create(f);let C=T===void 0?f.len:f.pos+T,H=new I.common.ProtoUint;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:H.value=f.string();break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof v))f=new v(f);return this.decode(f,f.uint32())},n.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.value!=null&&f.hasOwnProperty("value")){if(!E.isString(f.value))return"value: string expected"}return null},n.fromObject=function(f){if(f instanceof I.common.ProtoUint)return f;let T=new I.common.ProtoUint;if(f.value!=null)T.value=String(f.value);return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.defaults)C.value="";if(f.value!=null&&f.hasOwnProperty("value"))C.value=f.value;return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},n})(),y})();I.types=(()=>{let y={};return y.MsgDeposit=(()=>{function n(o){if(this.coins=[],o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.coins=E.emptyArray,n.prototype.memo="",n.prototype.signer=E.newBuffer([]),n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=ty.create();if(f.coins?.length)for(let C=0;C<f.coins.length;++C)I.common.Coin.encode(f.coins[C],T.uint32(10).fork()).ldelim();if(f.memo!=null&&Object.hasOwnProperty.call(f,"memo"))T.uint32(18).string(f.memo);if(f.signer!=null&&Object.hasOwnProperty.call(f,"signer"))T.uint32(26).bytes(f.signer);return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof v))f=v.create(f);let C=T===void 0?f.len:f.pos+T,H=new I.types.MsgDeposit;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:if(!H.coins?.length)H.coins=[];H.coins.push(I.common.Coin.decode(f,f.uint32()));break;case 2:H.memo=f.string();break;case 3:H.signer=f.bytes();break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof v))f=new v(f);return this.decode(f,f.uint32())},n.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 T=0;T<f.coins.length;++T){let C=I.common.Coin.verify(f.coins[T]);if(C)return"coins."+C}}if(f.memo!=null&&f.hasOwnProperty("memo")){if(!E.isString(f.memo))return"memo: string expected"}if(f.signer!=null&&f.hasOwnProperty("signer")){if(!(f.signer&&typeof f.signer.length==="number"||E.isString(f.signer)))return"signer: buffer expected"}return null},n.fromObject=function(f){if(f instanceof I.types.MsgDeposit)return f;let T=new I.types.MsgDeposit;if(f.coins){if(!Array.isArray(f.coins))throw TypeError(".types.MsgDeposit.coins: array expected");T.coins=[];for(let C=0;C<f.coins.length;++C){if(typeof f.coins[C]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");T.coins[C]=I.common.Coin.fromObject(f.coins[C])}}if(f.memo!=null)T.memo=String(f.memo);if(f.signer!=null){if(typeof f.signer==="string")E.base64.decode(f.signer,T.signer=E.newBuffer(E.base64.length(f.signer)),0);else if(f.signer.length)T.signer=f.signer}return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.arrays||T.defaults)C.coins=[];if(T.defaults){if(C.memo="",T.bytes===String)C.signer="";else if(C.signer=[],T.bytes!==Array)C.signer=E.newBuffer(C.signer)}if(f.coins?.length){C.coins=[];for(let H=0;H<f.coins.length;++H)C.coins[H]=I.common.Coin.toObject(f.coins[H],T)}if(f.memo!=null&&f.hasOwnProperty("memo"))C.memo=f.memo;if(f.signer!=null&&f.hasOwnProperty("signer"))C.signer=T.bytes===String?E.base64.encode(f.signer,0,f.signer.length):T.bytes===Array?Array.prototype.slice.call(f.signer):f.signer;return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},n})(),y.MsgSend=(()=>{function n(o){if(this.amount=[],o){for(let f=Object.keys(o),T=0;T<f.length;++T)if(o[f[T]]!=null)this[f[T]]=o[f[T]]}}return n.prototype.fromAddress=E.newBuffer([]),n.prototype.toAddress=E.newBuffer([]),n.prototype.amount=E.emptyArray,n.create=function(f){return new n(f)},n.encode=function(f,T){if(!T)T=ty.create();if(f.fromAddress!=null&&Object.hasOwnProperty.call(f,"fromAddress"))T.uint32(10).bytes(f.fromAddress);if(f.toAddress!=null&&Object.hasOwnProperty.call(f,"toAddress"))T.uint32(18).bytes(f.toAddress);if(f.amount?.length)for(let C=0;C<f.amount.length;++C)I.cosmos.base.v1beta1.Coin.encode(f.amount[C],T.uint32(26).fork()).ldelim();return T},n.encodeDelimited=function(f,T){return this.encode(f,T).ldelim()},n.decode=function(f,T){if(!(f instanceof v))f=v.create(f);let C=T===void 0?f.len:f.pos+T,H=new I.types.MsgSend;while(f.pos<C){let U=f.uint32();switch(U>>>3){case 1:H.fromAddress=f.bytes();break;case 2:H.toAddress=f.bytes();break;case 3:if(!H.amount?.length)H.amount=[];H.amount.push(I.cosmos.base.v1beta1.Coin.decode(f,f.uint32()));break;default:f.skipType(U&7);break}}return H},n.decodeDelimited=function(f){if(!(f instanceof v))f=new v(f);return this.decode(f,f.uint32())},n.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"||E.isString(f.fromAddress)))return"fromAddress: buffer expected"}if(f.toAddress!=null&&f.hasOwnProperty("toAddress")){if(!(f.toAddress&&typeof f.toAddress.length==="number"||E.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 T=0;T<f.amount.length;++T){let C=I.cosmos.base.v1beta1.Coin.verify(f.amount[T]);if(C)return"amount."+C}}return null},n.fromObject=function(f){if(f instanceof I.types.MsgSend)return f;let T=new I.types.MsgSend;if(f.fromAddress!=null){if(typeof f.fromAddress==="string")E.base64.decode(f.fromAddress,T.fromAddress=E.newBuffer(E.base64.length(f.fromAddress)),0);else if(f.fromAddress.length)T.fromAddress=f.fromAddress}if(f.toAddress!=null){if(typeof f.toAddress==="string")E.base64.decode(f.toAddress,T.toAddress=E.newBuffer(E.base64.length(f.toAddress)),0);else if(f.toAddress.length)T.toAddress=f.toAddress}if(f.amount){if(!Array.isArray(f.amount))throw TypeError(".types.MsgSend.amount: array expected");T.amount=[];for(let C=0;C<f.amount.length;++C){if(typeof f.amount[C]!=="object")throw TypeError(".types.MsgSend.amount: object expected");T.amount[C]=I.cosmos.base.v1beta1.Coin.fromObject(f.amount[C])}}return T},n.toObject=function(f,T){if(!T)T={};let C={};if(T.arrays||T.defaults)C.amount=[];if(T.defaults){if(T.bytes===String)C.fromAddress="";else if(C.fromAddress=[],T.bytes!==Array)C.fromAddress=E.newBuffer(C.fromAddress);if(T.bytes===String)C.toAddress="";else if(C.toAddress=[],T.bytes!==Array)C.toAddress=E.newBuffer(C.toAddress)}if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress"))C.fromAddress=T.bytes===String?E.base64.encode(f.fromAddress,0,f.fromAddress.length):T.bytes===Array?Array.prototype.slice.call(f.fromAddress):f.fromAddress;if(f.toAddress!=null&&f.hasOwnProperty("toAddress"))C.toAddress=T.bytes===String?E.base64.encode(f.toAddress,0,f.toAddress.length):T.bytes===Array?Array.prototype.slice.call(f.toAddress):f.toAddress;if(f.amount?.length){C.amount=[];for(let H=0;H<f.amount.length;++H)C.amount[H]=I.cosmos.base.v1beta1.Coin.toObject(f.amount[H],T)}return C},n.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},n})(),y})();I.cosmos=(()=>{let y={};return y.base=(()=>{let n={};return n.v1beta1=(()=>{let o={};return o.Coin=(()=>{function f(T){if(T){for(let C=Object.keys(T),H=0;H<C.length;++H)if(T[C[H]]!=null)this[C[H]]=T[C[H]]}}return f.prototype.denom="",f.prototype.amount="",f.create=function(C){return new f(C)},f.encode=function(C,H){if(!H)H=ty.create();if(C.denom!=null&&Object.hasOwnProperty.call(C,"denom"))H.uint32(10).string(C.denom);if(C.amount!=null&&Object.hasOwnProperty.call(C,"amount"))H.uint32(18).string(C.amount);return H},f.encodeDelimited=function(C,H){return this.encode(C,H).ldelim()},f.decode=function(C,H){if(!(C instanceof v))C=v.create(C);let U=H===void 0?C.len:C.pos+H,_=new I.cosmos.base.v1beta1.Coin;while(C.pos<U){let A=C.uint32();switch(A>>>3){case 1:_.denom=C.string();break;case 2:_.amount=C.string();break;default:C.skipType(A&7);break}}return _},f.decodeDelimited=function(C){if(!(C instanceof v))C=new v(C);return this.decode(C,C.uint32())},f.verify=function(C){if(typeof C!=="object"||C===null)return"object expected";if(C.denom!=null&&C.hasOwnProperty("denom")){if(!E.isString(C.denom))return"denom: string expected"}if(C.amount!=null&&C.hasOwnProperty("amount")){if(!E.isString(C.amount))return"amount: string expected"}return null},f.fromObject=function(C){if(C instanceof I.cosmos.base.v1beta1.Coin)return C;let H=new I.cosmos.base.v1beta1.Coin;if(C.denom!=null)H.denom=String(C.denom);if(C.amount!=null)H.amount=String(C.amount);return H},f.toObject=function(C,H){if(!H)H={};let U={};if(H.defaults)U.denom="",U.amount="";if(C.denom!=null&&C.hasOwnProperty("denom"))U.denom=C.denom;if(C.amount!=null&&C.hasOwnProperty("amount"))U.amount=C.amount;return U},f.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},f})(),o.DecCoin=(()=>{function f(T){if(T){for(let C=Object.keys(T),H=0;H<C.length;++H)if(T[C[H]]!=null)this[C[H]]=T[C[H]]}}return f.prototype.denom="",f.prototype.amount="",f.create=function(C){return new f(C)},f.encode=function(C,H){if(!H)H=ty.create();if(C.denom!=null&&Object.hasOwnProperty.call(C,"denom"))H.uint32(10).string(C.denom);if(C.amount!=null&&Object.hasOwnProperty.call(C,"amount"))H.uint32(18).string(C.amount);return H},f.encodeDelimited=function(C,H){return this.encode(C,H).ldelim()},f.decode=function(C,H){if(!(C instanceof v))C=v.create(C);let U=H===void 0?C.len:C.pos+H,_=new I.cosmos.base.v1beta1.DecCoin;while(C.pos<U){let A=C.uint32();switch(A>>>3){case 1:_.denom=C.string();break;case 2:_.amount=C.string();break;default:C.skipType(A&7);break}}return _},f.decodeDelimited=function(C){if(!(C instanceof v))C=new v(C);return this.decode(C,C.uint32())},f.verify=function(C){if(typeof C!=="object"||C===null)return"object expected";if(C.denom!=null&&C.hasOwnProperty("denom")){if(!E.isString(C.denom))return"denom: string expected"}if(C.amount!=null&&C.hasOwnProperty("amount")){if(!E.isString(C.amount))return"amount: string expected"}return null},f.fromObject=function(C){if(C instanceof I.cosmos.base.v1beta1.DecCoin)return C;let H=new I.cosmos.base.v1beta1.DecCoin;if(C.denom!=null)H.denom=String(C.denom);if(C.amount!=null)H.amount=String(C.amount);return H},f.toObject=function(C,H){if(!H)H={};let U={};if(H.defaults)U.denom="",U.amount="";if(C.denom!=null&&C.hasOwnProperty("denom"))U.denom=C.denom;if(C.amount!=null&&C.hasOwnProperty("amount"))U.amount=C.amount;return U},f.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},f})(),o.IntProto=(()=>{function f(T){if(T){for(let C=Object.keys(T),H=0;H<C.length;++H)if(T[C[H]]!=null)this[C[H]]=T[C[H]]}}return f.prototype.int="",f.create=function(C){return new f(C)},f.encode=function(C,H){if(!H)H=ty.create();if(C.int!=null&&Object.hasOwnProperty.call(C,"int"))H.uint32(10).string(C.int);return H},f.encodeDelimited=function(C,H){return this.encode(C,H).ldelim()},f.decode=function(C,H){if(!(C instanceof v))C=v.create(C);let U=H===void 0?C.len:C.pos+H,_=new I.cosmos.base.v1beta1.IntProto;while(C.pos<U){let A=C.uint32();switch(A>>>3){case 1:_.int=C.string();break;default:C.skipType(A&7);break}}return _},f.decodeDelimited=function(C){if(!(C instanceof v))C=new v(C);return this.decode(C,C.uint32())},f.verify=function(C){if(typeof C!=="object"||C===null)return"object expected";if(C.int!=null&&C.hasOwnProperty("int")){if(!E.isString(C.int))return"int: string expected"}return null},f.fromObject=function(C){if(C instanceof I.cosmos.base.v1beta1.IntProto)return C;let H=new I.cosmos.base.v1beta1.IntProto;if(C.int!=null)H.int=String(C.int);return H},f.toObject=function(C,H){if(!H)H={};let U={};if(H.defaults)U.int="";if(C.int!=null&&C.hasOwnProperty("int"))U.int=C.int;return U},f.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},f})(),o.DecProto=(()=>{function f(T){if(T){for(let C=Object.keys(T),H=0;H<C.length;++H)if(T[C[H]]!=null)this[C[H]]=T[C[H]]}}return f.prototype.dec="",f.create=function(C){return new f(C)},f.encode=function(C,H){if(!H)H=ty.create();if(C.dec!=null&&Object.hasOwnProperty.call(C,"dec"))H.uint32(10).string(C.dec);return H},f.encodeDelimited=function(C,H){return this.encode(C,H).ldelim()},f.decode=function(C,H){if(!(C instanceof v))C=v.create(C);let U=H===void 0?C.len:C.pos+H,_=new I.cosmos.base.v1beta1.DecProto;while(C.pos<U){let A=C.uint32();switch(A>>>3){case 1:_.dec=C.string();break;default:C.skipType(A&7);break}}return _},f.decodeDelimited=function(C){if(!(C instanceof v))C=new v(C);return this.decode(C,C.uint32())},f.verify=function(C){if(typeof C!=="object"||C===null)return"object expected";if(C.dec!=null&&C.hasOwnProperty("dec")){if(!E.isString(C.dec))return"dec: string expected"}return null},f.fromObject=function(C){if(C instanceof I.cosmos.base.v1beta1.DecProto)return C;let H=new I.cosmos.base.v1beta1.DecProto;if(C.dec!=null)H.dec=String(C.dec);return H},f.toObject=function(C,H){if(!H)H={};let U={};if(H.defaults)U.dec="";if(C.dec!=null&&C.hasOwnProperty("dec"))U.dec=C.dec;return U},f.prototype.toJSON=function(){return this.constructor.toObject(this,Ly.default.util.toJSONOptions)},f})(),o})(),n})(),y})()});async function kf(){let{$root:y}=await Promise.resolve().then(() => (o1(),T1)),n=await import("@cosmjs/proto-signing"),o=n.Registry??n.default?.Registry,f=await import("@cosmjs/stargate"),T=f.defaultRegistryTypes??f.default?.defaultRegistryTypes;return new o([...T,["/types.MsgSend",y.types.MsgSend],["/types.MsgDeposit",y.types.MsgDeposit]])}async function Hf(y){let n=await import("@cosmjs/stargate"),o=n.AminoTypes??n.default?.AminoTypes,f=y===C1.Chain.THORChain?"thorchain":"mayachain";return new o({"/types.MsgDeposit":{aminoType:`${f}/MsgDeposit`,fromAmino:({signer:T,...C})=>({...C,signer:Ln(T)}),toAmino:({signer:T,...C})=>({...C,signer:Yn(T)})},"/types.MsgSend":{aminoType:`${f}/MsgSend`,fromAmino:({from_address:T,to_address:C,...H})=>({...H,fromAddress:Ln(T),toAddress:Ln(C)}),toAmino:({fromAddress:T,toAddress:C,...H})=>({...H,from_address:Yn(T),to_address:Yn(C)})}})}var C1;var v0=t(()=>{p0();C1=require("@swapkit/helpers")});function h0(y){let{assetValue:n,recipient:o,memo:f,sender:T,asSignable:C,asAminoMessage:H}=y;if(o)return U1({asAminoMessage:H,asSignable:C,assetValue:n,memo:f,recipient:o,sender:T});return _1({asAminoMessage:H,asSignable:C,assetValue:n,memo:f,sender:T})}async function U1({sender:y,recipient:n,assetValue:o,memo:f="",asSignable:T=!0,asAminoMessage:C=!1,sequence:H,accountNumber:U}){let _=o.chain,A=await Ry.getRPCUrl(_),Z=await H1({rpcUrl:A,sender:y}),{chainId:M}=Ry.getChainConfig(_),X=j0({assetValue:o,recipient:n,sender:y}),G=T?await Uf(C?X:_f(X),_):X;return{accountNumber:U||Number(Z.accountNumber),chainId:M,fee:dy(_),memo:f,msgs:[G],sequence:H||Z.sequence}}async function _1({sender:y,assetValue:n,memo:o="",asSignable:f=!0,asAminoMessage:T=!1,sequence:C,accountNumber:H}){let U=n.chain,_=await Ry.getRPCUrl(U),A=await H1({rpcUrl:_,sender:y}),{chainId:Z}=Ry.getChainConfig(U),M=K0({assetValue:n,memo:o,sender:y}),X=f?await Uf(T?M:_f(M),U):M;return{accountNumber:H||Number(A.accountNumber),chainId:Z,fee:dy(U),memo:o,msgs:[X],sequence:C||A.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((n)=>{let o=Ry.AssetValue.from({asset:n.asset}),f=(o.isSynthetic?o.symbol.split("/")?.[1]:o.symbol)?.toUpperCase(),T=(o.isSynthetic?o.symbol.split("/")?.[0]:o.chain)?.toUpperCase();return{...n,asset:{chain:T,symbol:f,synth:o.isSynthetic,ticker:o.ticker}}})}}}async function Nn({chain:y,memo:n,msgs:o}){let f=await kf(),T=await Hf(y),C={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:n,messages:o.map((H)=>T.fromAmino(H))}};return f.encode(C)}var Ry,LU,YU,j0=({sender:y,recipient:n,assetValue:o})=>{return{type:`${o.chain===Ry.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:o.getBaseValue("string"),denom:Cf(o.symbol,!0)}],from_address:y,to_address:n}}},K0=({sender:y,assetValue:n,memo:o=""})=>{return{type:`${n.chain===Ry.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:n.getBaseValue("string"),asset:Bn(n)}],memo:o,signer:y}}},ZT=({sender:y,recipient:n,assetValue:o,memo:f})=>{return!n?K0({assetValue:o,memo:f,sender:y}):j0({assetValue:o,recipient:n,sender:y})},Uf=async(y,n)=>{return(await Hf(n)).fromAmino(y)},H1=async({rpcUrl:y,sender:n})=>{let f=await(await ry(y)).getAccount(n);if(!f)throw new Ry.SwapKitError("toolbox_cosmos_account_not_found",{sender:n});return f};var A1=t(()=>{zn();v0();Ry=require("@swapkit/helpers"),LU=dy(Ry.Chain.THORChain).gas,YU=dy(Ry.Chain.Maya).gas});var q1=()=>{};var G1=t(()=>{q1()});var m0=t(()=>{p0();A1();v0();G1()});async function i0(y,n){try{let f=(await g0.SwapKitApi.getGasRate()).find((T)=>T.chainId===y)?.value;return f?Number.parseFloat(f):n}catch{return n}}async function c0({phrase:y,prefix:n,...o}){let f="derivationPath"in o?o.derivationPath:`${P.DerivationPath[o.chain]}/${o.index}`;return await J1.DirectSecp256k1HdWallet.fromMnemonic(y,{hdPaths:[Z1.stringToPath(f)],prefix:n})}async function BU({privateKey:y,prefix:n}){let o=await import("@cosmjs/proto-signing");return(o.DirectSecp256k1Wallet??o.default?.DirectSecp256k1Wallet).fromKey(y,n)}function M1(y){return async function({signature:o,message:f,address:T}){let C=await y(T);if(!C?.pubkey)throw new P.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let H=await import("@cosmjs/crypto"),U=H.Secp256k1Signature??H.default?.Secp256k1Signature,_=H.Secp256k1??H.default?.Secp256k1,A=U.fromFixedLength(Af.base64.decode(o));return _.verifySignature(A,Af.base64.decode(f),C.pubkey.value)}}function wn({chain:y,...n}){let o=P.CosmosChainPrefixes[y],f="index"in n?n.index||0:0,T=P.derivationPathToString("derivationPath"in n&&n.derivationPath?n.derivationPath:P.updateDerivationPath(P.NetworkDerivationPath[y],{index:f})),C;async function H(){if(C)return C;return C=await On.match(n).with({phrase:On.P.string},({phrase:G})=>c0({derivationPath:T,phrase:G,prefix:o})).with({signer:On.P.any},({signer:G})=>G).otherwise(()=>{return}),C}async function U(G){let W=await P.getRPCUrl(y);return(await ry(W)).getAccount(G)}async function _(){let G=await H(),[W]=await G?.getAccounts()||[];return W?.address}async function A(){let G=await H(),[W]=await G?.getAccounts()||[];if(!W?.pubkey)throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");return Af.base64.encode(W?.pubkey)}async function Z(G){let W=await H(),Q=await _(),B=await P.getRPCUrl(y);if(!(W&&Q))throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");return await(await Rf(B,W)).sign(Q,G.msgs,G.fee,G.memo,{accountNumber:BigInt(G.accountNumber),chainId:G.chainId,sequence:G.sequence})}async function M(G){let W=await H(),Q=await _(),B=await P.getRPCUrl(y);if(!(W&&Q))throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");let L=await(await Rf(B,W)).signAndBroadcast(Q,G.msgs,G.fee,G.memo);if(L.code!==0)throw new P.SwapKitError("core_swap_transaction_error",{code:L.code,message:L.rawLog});return L.transactionHash}async function X({recipient:G,assetValue:W,memo:Q="",feeRate:B,feeOptionKey:D=P.FeeOption.Fast}){let L=await H(),w=await _();if(!(L&&w))throw new P.SwapKitError("toolbox_cosmos_signer_not_defined");let N=await P.getRPCUrl(y),z=P.AssetValue.from({chain:y}),J=Bn(z),Y=B||OU((await X1(y,W1[y]))[D],J),R=await Rf(N,L),l=Cf(W.symbol),q=[{amount:W.getBaseValue("string"),denom:l}],{transactionHash:O}=await R.sendTokens(w,G,q,Y,Q);return O}return{createPrivateKeyFromPhrase:DU(T),createTransaction:b0,fetchFeeRateFromSwapKit:i0,getAccount:U,getAddress:_,getBalance:async(G,W)=>{let Q=await Q1(y)(G),B=await Promise.all(Q.filter(({denom:D})=>D&&!D.includes("IBC/")&&!([P.Chain.THORChain,P.Chain.Maya].includes(y)&&D.split("-").length>2)).map(({denom:D,amount:L})=>{let w=[P.Chain.THORChain,P.Chain.Maya].includes(y)&&(D.includes("/")||D.includes("˜"))?`${y}.${D}`:D;return u0(w,L)}));if(B.length===0)return[P.AssetValue.from({chain:y})];return B},getBalanceAsDenoms:Q1(y),getFees:()=>X1(y,W1[y]),getPubKey:A,getSignerFromPhrase:({phrase:G,derivationPath:W})=>c0({derivationPath:P.derivationPathToString(W),index:f,phrase:G,prefix:o}),getSignerFromPrivateKey:async(G)=>{let W=await import("@cosmjs/proto-signing");return(W.DirectSecp256k1Wallet??W.default?.DirectSecp256k1Wallet).fromKey(G,o)},signAndBroadcastTransaction:M,signTransaction:Z,transfer:X,validateAddress:L1(y),verifySignature:M1(U)}}async function zU(y,n){try{let f=(await g0.SwapKitApi.getGasRate()).find((T)=>T.chainId===y)?.value;return f?Number.parseFloat(f):n}catch{return n}}function NU({assetValue:{chain:y}}){return P.AssetValue.from({chain:y,value:wU(y)})}async function X1(y,n){let{chainId:o,baseDecimal:f}=P.getChainConfig(y),T=await i0(o,n);return{average:P.SwapKitNumber.fromBigInt(BigInt(T),f),fast:P.SwapKitNumber.fromBigInt(BigInt(P.applyFeeMultiplier(T,P.FeeOption.Fast,!0)),f),fastest:P.SwapKitNumber.fromBigInt(BigInt(P.applyFeeMultiplier(T,P.FeeOption.Fastest,!0)),f)}}function OU(y,n){return{amount:[{amount:y.getBaseValue("string"),denom:n}],gas:"200000"}}function wU(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 L1(y){let n=P.CosmosChainPrefixes[y];return function(f){if(!f.startsWith(n))return!1;try{let{prefix:T,words:C}=Af.bech32.decode(f);return Af.bech32.encode(T,C)===f.toLocaleLowerCase()}catch{return!1}}}function Q1(y){return async function(o){let f=await P.getRPCUrl(y);return(await(await ry(f)).getAllBalances(o)).map((U)=>({...U,denom:U.denom.includes("/")?U.denom.toUpperCase():U.denom}))}}function DU(y){return async function(o){let f=await import("@cosmjs/crypto"),T=f.stringToPath??f.default?.stringToPath,C=f.Slip10Curve??f.default?.Slip10Curve,H=f.Slip10??f.default?.Slip10,U=f.EnglishMnemonic??f.default?.EnglishMnemonic,_=f.Bip39??f.default?.Bip39,A=new U(o),Z=await _.mnemonicToSeed(A),{privkey:M}=H.derivePath(C.Secp256k1,Z,T(y));return M}}var Z1,J1,Af,P,g0,On,W1;var JT=t(()=>{zn();Z1=require("@cosmjs/crypto"),J1=require("@cosmjs/proto-signing"),Af=require("@scure/base"),P=require("@swapkit/helpers"),g0=require("@swapkit/helpers/api"),On=require("ts-pattern");W1={[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 RU({prefix:y,derivationPath:n}){return async function(f,T=0){let C=await import("@cosmjs/amino"),H=C.Secp256k1HdWallet??C.default?.Secp256k1HdWallet,U=await import("@cosmjs/crypto"),_=U.stringToPath??U.default?.stringToPath;return H.fromMnemonic(f,{hdPaths:[_(`${n}/${T}`)],prefix:y})}}function kU(y){return qf.base64.encode(y)}function lU(y){return async function({wallet:o,tx:f}){let{msgs:T,accountNumber:C,sequence:H,chainId:U,fee:_,memo:A}=typeof f==="string"?JSON.parse(f):f,Z=(await o.getAccounts())?.[0]?.address||"",M=await Hf(y),X=await kf(),G=await V0(o,{aminoTypes:M,registry:X}),W=[];for(let D of T){let L=await Uf(D,y);W.push(L)}let{signatures:[Q]}=await G.sign(Z,W,_,A,{accountNumber:BigInt(C),chainId:U,sequence:H});return{bodyBytes:await Nn({chain:y,memo:A,msgs:T.map(_f)}),signature:kU(Q)}}}function SU({prefix:y,chain:n}){return async function(f,T,C,H,U){let _=await s.getRPCUrl(n),{encodeSecp256k1Pubkey:A,pubkeyToAddress:Z}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:M}=(await import("@cosmjs/stargate")).default,{sequence:X,fee:G}=JSON.parse(f),W=await Y1(C,H),Q=T.map((L)=>[Z(A(qf.base64.decode(L.pubKey)),y),qf.base64.decode(L.signature)]),B=await ry(_),{transactionHash:D}=await B.broadcastTx(M(W,X,G,U,new Map(Q)));return D}}async function Y1(y,n,o=!0){let{createMultisigThresholdPubkey:f,encodeSecp256k1Pubkey:T}=(await import("@cosmjs/amino")).default;return f(y.map((C)=>T(qf.base64.decode(C))),n,o)}function xU(y){return qf.base64.decode(y)}async function FU({privateKey:y,message:n}){let{Secp256k1:o}=(await import("@cosmjs/crypto")).default,f=await o.createSignature(qf.base64.decode(n),y);return qf.base64.encode(Buffer.concat([f.r(32),f.s(32)]))}function d0({chain:y,...n}){let{isStagenet:o}=s.SKConfig.get("envs"),f=s.SKConfig.get("thornodeUrls"),T=y===s.Chain.Maya,C=Kf.match({isMayachain:T,isStagenet:o}).with({isMayachain:!0},({isStagenet:L})=>L?f.MAYA_STAGENET:f.MAYA).otherwise(({isStagenet:L})=>L?f.THOR_STAGENET:f.THOR),H=`${o?"s":""}${s.CosmosChainPrefixes[y]}`,U="index"in n?n.index||0:0,_="derivationPath"in n&&n.derivationPath?n.derivationPath:s.updateDerivationPath(s.NetworkDerivationPath[y],{index:U}),A=wn({chain:y,...n}),Z=dy(y),M;function X(){return M??=Kf.match(n).with({phrase:Kf.P.string},({phrase:L})=>A.getSignerFromPhrase({derivationPath:_,phrase:L})).with({signer:Kf.P.any},({signer:L})=>Promise.resolve(L)).otherwise(()=>Promise.resolve(void 0)),M}async function G(){let L=await s.getRPCUrl(y),w=await X();if(!w)throw new s.SwapKitError("toolbox_cosmos_no_signer");let N=await kf(),z=await Hf(y),J=await Rf(L,w,{aminoTypes:z,registry:N});return{signer:w,signingClient:J}}async function W({fee:L,memo:w,msgs:N}){let{signer:z,signingClient:J}=await G(),Y=(await z.getAccounts())?.[0]?.address;if(!Y)throw new s.SwapKitError("toolbox_cosmos_signer_not_defined");let R=await J.signAndBroadcast(Y,N,L,w);if(R.code!==0)throw new s.SwapKitError("core_swap_transaction_error",{code:R.code,message:R.rawLog});return R.transactionHash}async function Q(){let L,w=`${C}/${T?"mayachain":"thorchain"}/constants`;try{let{int_64_values:{NativeTransactionFee:N}}=await s.RequestClient.get(w);if(!N||Number.isNaN(N)||N<0)throw new s.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:N.toString()});L=new s.SwapKitNumber(N)}catch{L=new s.SwapKitNumber({decimal:s.getChainConfig(y).baseDecimal,value:T?1:0.02})}return{[s.FeeOption.Average]:L,[s.FeeOption.Fast]:L,[s.FeeOption.Fastest]:L}}async function B({assetValue:L,memo:w="",recipient:N}){let{TxRaw:z}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),{signer:J,signingClient:Y}=await G(),R=(await J.getAccounts())?.[0]?.address;if(!R)throw new s.SwapKitError("toolbox_cosmos_no_signer");let l="signAmino"in J,q=ZT({assetValue:L,memo:w,recipient:N,sender:R});if(l){let x=await Uf(q,y),{signatures:F,authInfoBytes:u}=await Y.sign(R,[x],Z,w),h=z.encode({authInfoBytes:u,bodyBytes:await Nn({chain:y,memo:w,msgs:[q].map(_f)}),signatures:F}).finish();return(await Y.broadcastTx(h)).transactionHash}let O=_f(q),k=await Uf(O,y);return W({fee:Z,memo:w,msgs:[k]})}async function D(L){let{signer:w,signingClient:N}=await G(),z=(await w.getAccounts())?.[0]?.address;if(!z)throw new s.SwapKitError("toolbox_cosmos_signer_not_defined");return N.sign(z,L.msgs,L.fee,L.memo,{accountNumber:BigInt(L.accountNumber),chainId:L.chainId,sequence:L.sequence})}return{...A,broadcastMultisigTx:SU({chain:y,prefix:H}),buildAminoMsg:ZT,buildEncodedTxBody:Nn,convertToSignable:Uf,createDefaultAminoTypes:()=>Hf(y),createDefaultRegistry:kf,createMultisig:Y1,createTransaction:h0,deposit:B,getFees:Q,importSignature:xU,parseAminoMessageForDirectSigning:_f,pubkeyToAddress:async(L)=>{let{pubkeyToAddress:w}=(await import("@cosmjs/amino")).default;return w(L,H)},secp256k1HdWalletFromMnemonic:RU({derivationPath:s.derivationPathToString(_),prefix:H}),signAndBroadcastTransaction:W,signMultisigTx:lU(y),signTransaction:D,signWithPrivateKey:FU,transfer:B}}var qf,s,Kf;var r0=t(()=>{m0();zn();JT();qf=require("@scure/base"),s=require("@swapkit/helpers"),Kf=require("ts-pattern")});var Gf,$U=(y,n)=>{switch(y){case Gf.Chain.Cosmos:case Gf.Chain.Kujira:case Gf.Chain.Noble:return wn({chain:y,...n});case Gf.Chain.Maya:case Gf.Chain.THORChain:return d0({chain:y,...n});default:throw new Gf.SwapKitError("toolbox_cosmos_not_supported",{chain:y})}};var B1=t(()=>{JT();r0();Gf=require("@swapkit/helpers");JT();r0()});var MT={};My(MT,{verifySignature:()=>M1,transferMsgAmino:()=>j0,toBase64:()=>QU,parseAminoMessageForDirectSigning:()=>_f,getSignerFromPrivateKey:()=>BU,getSignerFromPhrase:()=>c0,getMsgSendDenom:()=>Cf,getFeeRateFromSwapKit:()=>zU,getDenomWithChain:()=>Bn,getDefaultChainFee:()=>dy,getCosmosToolbox:()=>$U,getCosmosAddressValidator:()=>L1,getAssetFromDenom:()=>u0,fromBase64:()=>ZU,fetchFeeRateFromSwapKit:()=>i0,estimateTransactionFee:()=>NU,depositMsgAmino:()=>K0,createTransaction:()=>h0,createThorchainToolbox:()=>d0,createStargateClient:()=>ry,createSigningStargateClient:()=>Rf,createOfflineStargateClient:()=>V0,createDefaultRegistry:()=>kf,createDefaultAminoTypes:()=>Hf,createCosmosToolbox:()=>wn,cosmosCreateTransaction:()=>b0,convertToSignable:()=>Uf,buildTransferTx:()=>U1,buildEncodedTxBody:()=>Nn,buildDepositTx:()=>_1,buildAminoMsg:()=>ZT,bech32ToBase64:()=>Ln,base64ToBech32:()=>Yn,YUM_KUJIRA_FACTORY_DENOM:()=>eC,USK_KUJIRA_FACTORY_DENOM:()=>E0,THORCHAIN_GAS_VALUE:()=>LU,MAYA_GAS_VALUE:()=>YU,DEFAULT_NOBLE_FEE_MAINNET:()=>n1,DEFAULT_KUJI_FEE_MAINNET:()=>f1,DEFAULT_COSMOS_FEE_MAINNET:()=>y1});module.exports=Ny(MT);var LT=t(()=>{m0();B1();zn()});function IU({builder:y,grouping:n="na",orders:o}){return{builder:y,grouping:n,orders:o,type:"order"}}function tU({cancels:y}){return{cancels:y,type:"cancel"}}function PU({cancels:y}){return{cancels:y,type:"cancelByCloid"}}function pU({oid:y,order:n}){return{oid:y,order:n,type:"modify"}}function EU({modifies:y}){return{modifies:y,type:"batchModify"}}function VU({asset:y,isCross:n,leverage:o}){return{asset:y,isCross:n,leverage:o,type:"updateLeverage"}}function bU({asset:y,isBuy:n,ntli:o}){return{asset:y,isBuy:n,ntli:o,type:"updateIsolatedMargin"}}function uU({asset:y,leverage:n}){return{asset:y,leverage:n,type:"topUpIsolatedOnlyMargin"}}function vU({time:y}){return{time:y,type:"scheduleCancel"}}function jU({amount:y,hyperliquidChain:n,nonce:o,signatureChainId:f,toPerp:T}){return{amount:y,hyperliquidChain:n,nonce:o,signatureChainId:f,toPerp:T,type:"usdClassTransfer"}}function KU({amount:y,destination:n,destinationDex:o,fromSubAccount:f,hyperliquidChain:T,nonce:C,signatureChainId:H,sourceDex:U,token:_}){return{amount:y,destination:n,destinationDex:o,fromSubAccount:f,hyperliquidChain:T,nonce:C,signatureChainId:H,sourceDex:U,token:_,type:"sendAsset"}}function hU({agentAddress:y,agentName:n,hyperliquidChain:o,nonce:f,signatureChainId:T}){return{agentAddress:y,agentName:n,hyperliquidChain:o,nonce:f,signatureChainId:T,type:"approveAgent"}}function mU({builder:y,hyperliquidChain:n,maxFeeRate:o,nonce:f,signatureChainId:T}){return{builder:y,hyperliquidChain:n,maxFeeRate:o,nonce:f,signatureChainId:T,type:"approveBuilderFee"}}function cU({hyperliquidChain:y,isUndelegate:n,nonce:o,signatureChainId:f,validator:T,wei:C}){return{hyperliquidChain:y,isUndelegate:n,nonce:o,signatureChainId:f,type:"tokenDelegate",validator:T,wei:C}}function xy(...y){let n=y.reduce((T,C)=>T+C.length,0),o=new Uint8Array(n),f=0;for(let T of y)o.set(T,f),f+=T.length;return o}function sU(y,n,o){if(o<n)return new Uint8Array([y+o]);if(o<=255)return new Uint8Array([y+n,o]);if(o<=65535)return new Uint8Array([y+n+1,o>>8,o&255]);return new Uint8Array([y+n+2,o>>>24&255,o>>>16&255,o>>>8&255,o&255])}function Wf(y,n){let o=new Uint8Array(n),f=y;for(let T=n-1;T>=0;T-=1)o[T]=Number(f&0xffn),f>>=8n;return o}function z1(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 xy(new Uint8Array([205]),Wf(y,2));if(y<=0xffffffffn)return xy(new Uint8Array([206]),Wf(y,4));return xy(new Uint8Array([207]),Wf(y,8))}if(y>=-32n)return new Uint8Array([256+Number(y)]);if(y>=-128n)return new Uint8Array([208,256+Number(y)]);if(y>=-32768n)return xy(new Uint8Array([209]),Wf(BigInt.asUintN(16,y),2));if(y>=-2147483648n)return xy(new Uint8Array([210]),Wf(BigInt.asUintN(32,y),4));return xy(new Uint8Array([211]),Wf(BigInt.asUintN(64,y),8))}function w1(y){let n=aU.encode(y);if(n.length<32)return xy(new Uint8Array([160+n.length]),n);return xy(sU(217,0,n.length),n)}function eU(y){let n=y.map((f)=>a0(f)),o=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 xy(o,...n)}function y2(y){let n=Object.entries(y).filter(([,f])=>typeof f<"u"),o=n.length<16?new Uint8Array([128+n.length]):n.length<=65535?new Uint8Array([222,n.length>>8,n.length&255]):new Uint8Array([223,n.length>>>24&255,n.length>>>16&255,n.length>>>8&255,n.length&255]);return xy(o,...n.flatMap(([f,T])=>[w1(f),a0(T)]))}function a0(y){if(y===null)return new Uint8Array([192]);if(typeof y==="boolean")return new Uint8Array([y?195:194]);if(typeof y==="string")return w1(y);if(typeof y==="number"){if(!Number.isFinite(y)||!Number.isInteger(y))throw new YT.SwapKitError("helpers_invalid_params",{message:"Hyperliquid msgpack only supports integers"});return z1(BigInt(y))}if(typeof y==="bigint")return z1(y);if(y instanceof Uint8Array){let n=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 xy(n,y)}if(Array.isArray(y))return eU(y);if(typeof y==="object")return y2(y);throw new YT.SwapKitError("helpers_invalid_params",{message:`Unsupported Hyperliquid msgpack value: ${String(y)}`})}function f2(y){let n=y.startsWith("0x")?y.slice(2):y;if(n.length%2!==0||/[^a-fA-F0-9]/u.test(n))throw new YT.SwapKitError("helpers_invalid_params",{hexValue:y});let o=new Uint8Array(n.length/2);for(let f=0;f<n.length;f+=2)o[f/2]=Number.parseInt(n.slice(f,f+2),16);return o}function D1(y){return{domain:gU,message:{connectionId:y,source:"a"},primaryType:"Agent",types:{Agent:[...iU.Agent]}}}function R1(y){let n=rU[y.type],o=dU[y.type],{type:f,...T}=y;return{domain:{chainId:Number.parseInt(T.signatureChainId||"0xa4b1",16),name:"HyperliquidSignTransaction",verifyingContract:N1,version:"1"},message:{...T,hyperliquidChain:T.hyperliquidChain||O1},primaryType:n,types:{[n]:o}}}function k1(y){let n=BT.Signature.from(y);return{r:n.r,s:n.s,v:n.v}}function l1(y,n,{expiresAfter:o,vaultAddress:f}={}){let T=a0(y),C=Wf(BigInt(n),8),H=f?xy(new Uint8Array([1]),f2(f.toLowerCase())):new Uint8Array([0]),U=typeof o==="number"?xy(new Uint8Array([0]),Wf(BigInt(o),8)):new Uint8Array;return BT.keccak256(xy(T,C,H,U))}function S1(y){let n=y.hyperliquidChain||O1;switch(y.type){case"approveAgent":return{...y,agentAddress:y.agentAddress.toLowerCase(),hyperliquidChain:n};case"approveBuilderFee":return{...y,builder:y.builder.toLowerCase(),hyperliquidChain:n};case"sendAsset":return{...y,destination:y.destination.toLowerCase(),fromSubAccount:y.fromSubAccount.toLowerCase(),hyperliquidChain:n};case"tokenDelegate":return{...y,hyperliquidChain:n,validator:y.validator.toLowerCase()};case"usdClassTransfer":return{...y,hyperliquidChain:n};default:return y}}var YT,BT,N1="0x0000000000000000000000000000000000000000",gU,iU,O1="Mainnet",dU,rU,aU;var x1=t(()=>{YT=require("@swapkit/helpers"),BT=require("ethers"),gU={chainId:1337,name:"Exchange",verifyingContract:N1,version:"1"},iU={Agent:[{name:"source",type:"string"},{name:"connectionId",type:"bytes32"}]},dU={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"}]},rU={approveAgent:"HyperliquidTransaction:ApproveAgent",approveBuilderFee:"HyperliquidTransaction:ApproveBuilderFee",sendAsset:"HyperliquidTransaction:SendAsset",tokenDelegate:"HyperliquidTransaction:TokenDelegate",usdClassTransfer:"HyperliquidTransaction:UsdClassTransfer"},aU=new TextEncoder});function Ey(y,n){if(!yo(y))throw new yy.SwapKitError(n,{address:y});return y.toLowerCase()}async function lf(y){let n=await zT();return yy.RequestClient.post(`${n}/info`,{json:y})}function _2({dex:y,user:n}){return lf({...y?{dex:y}:{},type:"clearinghouseState",user:Ey(n,"helpers_invalid_params")})}function A2({user:y}){return lf({type:"spotClearinghouseState",user:Ey(y,"helpers_invalid_params")})}function q2({dex:y,user:n}){return lf({...y?{dex:y}:{},type:"openOrders",user:Ey(n,"helpers_invalid_params")})}function G2({dex:y,user:n}){return lf({...y?{dex:y}:{},type:"frontendOpenOrders",user:Ey(n,"helpers_invalid_params")})}function W2({oidOrCloid:y,user:n}){return lf({oid:y,type:"orderStatus",user:Ey(n,"helpers_invalid_params")})}function X2({aggregateByTime:y,user:n}){return lf({...typeof y==="boolean"?{aggregateByTime:y}:{},type:"userFills",user:Ey(n,"helpers_invalid_params")})}function Q2({aggregateByTime:y,endTime:n,startTime:o,user:f}){return lf({...typeof y==="boolean"?{aggregateByTime:y}:{},...typeof n==="number"?{endTime:n}:{},startTime:o,type:"userFillsByTime",user:Ey(f,"helpers_invalid_params")})}function F1({coin:y,token:n,value:o,spotMeta:f}){if(!o||Number(o)<=0)return null;let T=y?.toUpperCase()||`TOKEN-${n||"UNKNOWN"}`,C=n2[T]||t1,H=f?.tokens?.find((_)=>_.name===y||n!==void 0&&_.index===Number(n)),U=H?`${my}.${T}-${H.name}:${H.tokenId}`:`${my}.${T}`;return new yy.AssetValue({decimal:C,identifier:U,value:o})}function Z2(y){let n=new Map;for(let o of y){let f=o.toString({includeSynthProtocol:!0}),T=n.get(f);n.set(f,T?T.add(o):o)}if(![...n.values()].some((o)=>o.isGasAsset||o.ticker==="HYPE")){let o=yy.AssetValue.from({chain:my,value:0});n.set(o.toString({includeSynthProtocol:!0}),o)}return[...n.values()]}async function zT(){try{return await yy.getRPCUrl(my)}catch{let[y]=yy.getChainConfig(my).rpcUrls;if(!y)throw new yy.SwapKitError("helpers_chain_no_public_or_set_rpc_url",{chain:my});return y}}async function e0(){return`${await zT()}/exchange`}function J2(y){let n=U2[y.type],{type:o,...f}=y,T=H2[o];return{domain:{chainId:Number.parseInt(y.signatureChainId,16),name:"HyperliquidSignTransaction",verifyingContract:C2,version:"1"},message:f,primaryType:n,types:{[n]:T}}}async function P1({action:y,expiresAfter:n,nonce:o,vaultAddress:f}){let T=o||Date.now(),C=f?Ey(f,"helpers_invalid_params"):void 0,H=await e0(),U=l1(y,T,{expiresAfter:n,vaultAddress:C});return{action:y,endpoint:H,expiresAfter:n,nonce:T,typedData:D1(U),vaultAddress:C}}async function p1({action:y,nonce:n,signatureChainId:o}){let f=n||y.nonce||Date.now(),T=o||y.signatureChainId||"0xa4b1",C=S1({...y,nonce:f,signatureChainId:T});return{action:C,endpoint:await e0(),nonce:f,typedData:R1(C)}}async function s0({assetValue:y,recipient:n,sender:o,signatureChainId:f,time:T}){let C=Ey(n,"core_transaction_invalid_recipient_address"),H=Ey(o,"core_transaction_invalid_sender_address"),U=await e0(),_=y.getValue("string"),A=T||Date.now(),Z=y.address;if(!Z)throw new yy.SwapKitError("helpers_invalid_params",{asset:y.toString(),from:H});let M={amount:_,destination:C,hyperliquidChain:T2,signatureChainId:f||o2,time:A,token:Z,type:"spotSend"};return{action:M,endpoint:U,nonce:A,typedData:J2(M)}}async function $1(y){let n=await yy.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(n.status!=="ok")throw new yy.SwapKitError("core_transaction_failed",{response:n});return n}async function M2(y,n){let o=await zT(),f=n-5000;for(let T=0;T<5;T++){if(T>0)await new Promise((C)=>setTimeout(C,1000));try{let C=await yy.RequestClient.post(`${o}/info`,{json:{startTime:f,type:"userNonFundingLedgerUpdates",user:y}}),H=Array.isArray(C)?C.find((U)=>U.time&&U.time>=n&&(U.delta?.type==="spotTransfer"||U.delta?.type==="internalTransfer")):void 0;if(H?.hash)return H.hash}catch{}}return""}function yo(y){return y.startsWith("0x")&&Xn(y)}function L2(y){let n=Sy(my),o=y&&"index"in y?y.index||0:0,f=yy.derivationPathToString(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:yy.updateDerivationPath(yy.NetworkDerivationPath[my],{index:o})),T,C=!1;function H(){if(C)return T;return T=hf.match(y).with({phrase:hf.P.string},({phrase:X})=>{return I1.HDNodeWallet.fromPhrase(X,void 0,f)}).with({signer:hf.P.not(hf.P.nullish)},({signer:X})=>X).otherwise(()=>{return}),C=!0,T}async function U(){let X=H();return X?await X.getAddress():""}async function _(X){let G=H();if(!G)throw new yy.SwapKitError("toolbox_hypercore_no_signer");let W=await G.signTypedData(X.typedData.domain,X.typedData.types,X.typedData.message);return{action:X.action,endpoint:X.endpoint,nonce:X.nonce,signature:k1(W),..."expiresAfter"in X?{expiresAfter:X.expiresAfter}:{},..."vaultAddress"in X?{vaultAddress:X.vaultAddress}:{}}}async function A(X){let G=Ey(X,"helpers_invalid_params");try{let W=await zT(),[Q,B,D]=await Promise.all([yy.RequestClient.post(`${W}/info`,{json:{type:"spotClearinghouseState",user:G}}),yy.RequestClient.post(`${W}/info`,{json:{type:"clearinghouseState",user:G}}),yy.RequestClient.post(`${W}/info`,{json:{type:"spotMeta"}})]),L=(Q.spotState?.balances||Q.balances||[]).map(({coin:N,token:z,total:J})=>F1({coin:N,spotMeta:D,token:z,value:J})).filter((N)=>!!N),w=F1({coin:"USDC",spotMeta:D,value:B.withdrawable||B.marginSummary?.accountValue||B.marginSummary?.totalRawUsd});return Z2(w?[...L,w]:L)}catch{return n(G)}}async function Z(X){let G=H();if(!G)throw new yy.SwapKitError("toolbox_hypercore_no_signer");let W=X.sender||await G.getAddress(),Q=await s0({...X,feeRate:0,sender:W}),B=await _(Q);return await $1(B),M2(W,Q.nonce)}function M(){return yy.AssetValue.from({chain:my,value:0})}return{broadcastTransaction:$1,createL1ActionRequest:P1,createTransaction:s0,createUserSignedActionRequest:p1,estimateTransactionFee:M,getAddress:U,getBalance:A,getState:{clearinghouse:_2,frontendOpenOrders:G2,openOrders:q2,orderStatus:W2,spotClearinghouse:A2,userFills:X2,userFillsByTime:Q2},signTransaction:_,transfer:Z,validateAddress:yo}}var yy,I1,hf,my,t1,n2,T2="Mainnet",o2="0xa4b1",C2="0x0000000000000000000000000000000000000000",H2,U2;var E1=t(()=>{F0();iy();x1();yy=require("@swapkit/helpers"),I1=require("ethers"),hf=require("ts-pattern"),my=yy.Chain.HyperCore,{baseDecimal:t1}=yy.getChainConfig(my),n2={HYPE:t1,USDC:6,USDT:6},H2={spotSend:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"time",type:"uint64"}]},U2={spotSend:"HyperliquidTransaction:SpotSend"}});var fo={};My(fo,{validateHyperCoreAddress:()=>yo,getHyperCoreToolbox:()=>L2,createUserSignedActionRequest:()=>p1,createTransaction:()=>s0,createL1ActionRequest:()=>P1,buildUsdClassTransferAction:()=>jU,buildUpdateLeverageAction:()=>VU,buildUpdateIsolatedMarginAction:()=>bU,buildTopUpIsolatedOnlyMarginAction:()=>uU,buildTokenDelegateAction:()=>cU,buildSendAssetAction:()=>KU,buildScheduleCancelAction:()=>vU,buildOrderAction:()=>IU,buildModifyAction:()=>pU,buildCancelByCloidAction:()=>PU,buildCancelAction:()=>tU,buildBatchModifyAction:()=>EU,buildApproveBuilderFeeAction:()=>mU,buildApproveAgentAction:()=>hU});module.exports=Ny(fo);var no=t(()=>{E1()});async function u1(y){let n=r.AssetValue.from({address:y,chain:r.Chain.Solana});if(n.symbol!=="UNKNOWN")return{decimals:n.decimal||0,id:y,logoURI:n.getIconUrl(),name:n.symbol,symbol:n.ticker};let o=`https://lite-api.jup.ag/tokens/v2/search?query=${encodeURIComponent(y)}`;try{let f=await fetch(o);if(!f.ok)return null;let T=await f.json();if(!Array.isArray(T)||T.length===0)return null;return T.find((H)=>H.id===y)||null}catch{return null}}async function Y2(y){let n=await ay(),{PublicKey:o}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:f}=await import("@solana/spl-token"),T=new o(y),{baseDecimal:C}=r.getChainConfig(r.Chain.Solana),H=await n.getBalance(T),U=[r.AssetValue.from({chain:r.Chain.Solana,fromBaseDecimal:C,value:H||0})],_=await n.getParsedTokenAccountsByOwner(T,{programId:f});for(let{account:A}of _.value){let Z=A.data.parsed.info,M=Z.mint,X=Z.tokenAmount.amount;if(Number(X)===0)continue;let G=await u1(M),W=G?.symbol||"UNKNOWN",Q=G?.decimals||Z.tokenAmount.decimals;U.push(r.AssetValue.from({asset:`${r.Chain.Solana}.${W}-${M}`,fromBaseDecimal:Q,value:X}))}return U}function oo(y){try{let n=new sy.PublicKey(y);return sy.PublicKey.isOnCurve(n.toBytes())}catch{return!1}}function B2(y){let n=y&&"index"in y?y.index||0:0,o=r.derivationPathToString(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:r.updateDerivationPath(r.NetworkDerivationPath[r.Chain.Solana],{index:n})),f;async function T(){if(f)return f;return f=await Dn.match(y).with({phrase:Dn.P.string},({phrase:H})=>To({derivationPath:o,phrase:H})).with({signer:Dn.P.any},({signer:H})=>H).otherwise(()=>{return}),f}async function C(){let H=await T();return H?.publicKey?b1(H.publicKey):""}return{broadcastTransaction:NT(ay),createKeysForPath:To,createTransaction:Co(ay),createTransactionFromInstructions:w2,estimateTransactionFee:z2(ay),getAddress:C,getAddressFromPubKey:b1,getBalance:Sy(r.Chain.Solana),getBalanceFromRPC:Y2,getConnection:ay,getPubkeyFromAddress:(H)=>new sy.PublicKey(H),signAndBroadcastTransaction:async(H)=>{let U=await V1(ay,T)(H);return NT(ay)(U)},signTransaction:V1(ay,T),transfer:D2(ay,T),validateAddress:oo}}function z2(y){return async({recipient:n,assetValue:o,memo:f,isProgramDerivedAddress:T,sender:C})=>{let H=await y(),_=(await Co(y)({assetValue:o,isProgramDerivedAddress:T,memo:f,recipient:n,sender:C})).compileMessage(),A=await H.getFeeForMessage(_);if(A.value===null)throw new r.SwapKitError("toolbox_fee_estimation_failed","Could not estimate Solana fee.");let{baseDecimal:Z}=r.getChainConfig(r.Chain.Solana);return r.AssetValue.from({chain:r.Chain.Solana,fromBaseDecimal:Z,value:A.value})}}async function ay(){let{Connection:y}=await import("@solana/web3.js"),n=await r.getRPCUrl(r.Chain.Solana);return new y(n,{commitment:"confirmed",fetchMiddleware:(o,f,T)=>{let C={};for(let[H,U]of Object.entries(f?.headers??{})){let _=H.toLowerCase();if(_!=="pragma"&&_!=="solana-client")C[H]=U}T(o,{...f,headers:C})}})}function N2(y){return async({assetValue:n,recipient:o,sender:f,isProgramDerivedAddress:T})=>{let C=await y(),H=new sy.PublicKey(f);if(n.isGasAsset){let{Transaction:U,SystemProgram:_}=await import("@solana/web3.js");return new U().add(_.transfer({fromPubkey:H,lamports:n.getBaseValue("number"),toPubkey:new sy.PublicKey(o)}))}if(n.address)return O2({amount:n.getBaseValue("number"),connection:C,decimals:n.decimal,from:H,isProgramDerivedAddress:T,recipient:o,tokenAddress:n.address});return}}async function O2({tokenAddress:y,recipient:n,from:o,connection:f,amount:T,decimals:C,isProgramDerivedAddress:H}){let{getAssociatedTokenAddress:U,getAccount:_,createAssociatedTokenAccountInstruction:A,createTransferCheckedInstruction:Z}=await import("@solana/spl-token"),{Transaction:M}=await import("@solana/web3.js"),X=new M,G=new sy.PublicKey(y),W=await U(G,o),Q=new sy.PublicKey(n),B=await U(G,Q,H),D=!1;try{await _(f,B),D=!0}catch{}if(!D)X.add(A(o,B,Q,G));return X.add(Z(W,G,B,o,T,C)),X}function Co(y){return async({recipient:n,assetValue:o,memo:f,isProgramDerivedAddress:T,sender:C})=>{let{createMemoInstruction:H}=await import("@solana/spl-memo"),U=new sy.PublicKey(C);if(!(T||oo(n)))throw new r.SwapKitError("core_transaction_invalid_recipient_address");let _=await y(),A=await N2(y)({assetValue:o,isProgramDerivedAddress:T,recipient:n,sender:C});if(!A)throw new r.SwapKitError("core_transaction_invalid_sender_address");if(f)A.add(H(f));let Z=await _.getLatestBlockhash();return A.recentBlockhash=Z.blockhash,A.feePayer=U,A}}async function w2({instructions:y}){let{Transaction:n}=await import("@solana/web3.js"),o=new n().add(...y);if(!o)throw new r.SwapKitError("core_transaction_invalid_sender_address");return o}function D2(y,n){return async({recipient:o,assetValue:f,memo:T,isProgramDerivedAddress:C})=>{let H=await n();if(!H)throw new r.SwapKitError("core_transaction_invalid_sender_address");let U=H.publicKey?.toString()??(await H.connect()).publicKey.toString(),_=await Co(y)({assetValue:f,isProgramDerivedAddress:C,memo:T,recipient:o,sender:U});if("signTransaction"in H){let A=await H.signTransaction(_);return NT(y)(A)}return _.sign(H),NT(y)(_)}}function NT(y){return async(n)=>{return(await y()).sendRawTransaction(n.serialize())}}function V1(y,n){return async(o)=>{let f=await n();if(!f)throw new r.SwapKitError("toolbox_solana_no_signer");let{VersionedTransaction:T}=await import("@solana/web3.js");if(!(o instanceof T)){let H=await(await y()).getLatestBlockhash();o.recentBlockhash=H.blockhash,o.feePayer=f.publicKey||void 0}if("connect"in f)return await f.signTransaction(o);return o.sign([f]),o}}async function To({phrase:y,derivationPath:n=r.DerivationPath.SOL}){let{HDKey:o}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:f}=await import("@scure/bip39"),{Keypair:T}=await import("@solana/web3.js"),C=f(y),H=o.fromMasterSeed(C);return T.fromSeed(H.derive(n,!0).privateKey)}function b1(y){return y.toString()}var sy,r,Dn;var v1=t(()=>{iy();sy=require("@solana/web3.js"),r=require("@swapkit/helpers"),Dn=require("ts-pattern")});var Ho={};My(Ho,{validateSolanaAddress:()=>oo,getSolanaToolbox:()=>B2,fetchTokenMetaData:()=>u1,createKeysForPath:()=>To});module.exports=Ny(Ho);var Uo=t(()=>{v1()});function OT(y){if(!y)return!1;return/^0x[0-9a-fA-F]{1,64}$/.test(y)}async function wT({phrase:y,derivationPath:n=m.DerivationPath.STRK}){let{HDKey:o}=await import("@scure/bip32"),{mnemonicToSeedSync:f}=await import("@scure/bip39"),{ec:T,hash:C,encode:H,CallData:U}=await import("starknet"),_=f(y),Z=o.fromMasterSeed(_).derive(n);if(!Z.privateKey)throw new m.SwapKitError("toolbox_starknet_no_signer");let M=H.addHexPrefix(Buffer.from(Z.privateKey).toString("hex")),X=T.starkCurve.grindKey(M),G=H.addHexPrefix(X),W=T.starkCurve.getStarkKey(G),Q=U.compile([W,0]);return{address:C.calculateContractAddressFromHash(W,Ao,Q,0),privateKey:G,publicKey:W}}async function qo({phrase:y,derivationPath:n=m.DerivationPath.STRK}){let{Account:o,RpcProvider:f}=await import("starknet"),{privateKey:T,address:C}=await wT({derivationPath:n,phrase:y}),H=await m.getRPCUrl(m.Chain.Starknet),U=new f({nodeUrl:H});return new o({address:C,provider:U,signer:T})}function K1(y){let n=m.Chain.Starknet,o=y&&"index"in y?y.index||0:0,f=m.derivationPathToString(y&&"derivationPath"in y&&y.derivationPath?y.derivationPath:m.updateDerivationPath(m.NetworkDerivationPath[n],{index:o})),T,C,H;async function U(){if(C)return C;let{RpcProvider:z}=await import("starknet"),J=await m.getRPCUrl(n);return C=new z({nodeUrl:J}),C}async function _(z){let J=await U(),Y=z||await X();if(!Y)return!1;try{return await J.getClassHashAt(Y),!0}catch(R){if(R instanceof Error&&R.message.includes("Contract not found"))return!1;let l=R;if(l?.code===20||l?.code===19)return!1;throw R}}async function A(){let{CallData:z,hash:J}=await import("starknet"),Y=await U(),R=await M();if(!R)throw new m.SwapKitError("toolbox_starknet_no_signer");if(!H)throw new m.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Cannot deploy account: public key not available. Use phrase-based wallet initialization."}});if(await _())return R.address;let q=z.compile([H,0]);if(J.calculateContractAddressFromHash(H,Ao,q,0).toLowerCase()!==R.address.toLowerCase())throw new m.SwapKitError({errorKey:"toolbox_starknet_account_not_deployed",info:{message:"Address mismatch during deployment verification"}});let k={addressSalt:H,classHash:Ao,constructorCalldata:q},{transaction_hash:x}=await R.deployAccount(k);return await Y.waitForTransaction(x),x}async function Z(){if(!await _()){if(!H)throw new m.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 A()}}async function M(){if(T)return T;return T=await Vy.match(y).with({phrase:Vy.P.string},async({phrase:z})=>{let{Account:J,RpcProvider:Y}=await import("starknet"),{privateKey:R,address:l,publicKey:q}=await wT({derivationPath:f,phrase:z});H=q;let O=await m.getRPCUrl(m.Chain.Starknet),k=new Y({nodeUrl:O});return new J({address:l,provider:k,signer:R})}).with({address:Vy.P.string,privateKey:Vy.P.string},async({privateKey:z,address:J})=>{let{Account:Y}=await import("starknet"),R=await U();return new Y({address:J,provider:R,signer:z})}).with({signer:Vy.P.instanceOf(Object)},({signer:z})=>z).otherwise(()=>{return}),T}async function X(){return(await M())?.address??""}async function G(z){let J=await U(),{uint256:Y,CallData:R}=await import("starknet"),l=[],q=[_o,j1];for(let O of q)try{let[k="0",x="0"]=await J.callContract({calldata:R.compile({account:z}),contractAddress:O,entrypoint:"balanceOf"}),F=Y.uint256ToBN({high:k,low:x});Vy.match(O).with(_o,()=>{l.push(m.AssetValue.from({chain:n,value:F}))}).with(j1,()=>{if(F>0n)l.push(m.AssetValue.from({asset:`${n}.ETH-${O}`,value:F}))}).otherwise(()=>{})}catch{}return l}async function W({recipient:z,assetValue:J}){let{CallData:Y,uint256:R}=await import("starknet");if(!OT(z))throw new m.SwapKitError("core_transaction_invalid_recipient_address",{address:z});let l=J.isGasAsset?_o:J.address;if(!l)throw new m.SwapKitError("toolbox_starknet_invalid_address",{address:l,assetValue:J});let q=R.bnToUint256(J.getBaseValue("bigint"));return[{calldata:Y.compile([z,q]),contractAddress:l,entrypoint:"transfer"}]}async function Q({recipient:z,assetValue:J,sender:Y}){let{baseDecimal:R}=m.getChainConfig(m.Chain.Starknet),l=await M(),q=await Vy.match({sender:Y,signer:l}).with({sender:Vy.P.string},async({sender:O})=>{let{Account:k}=await import("starknet"),x=await U();return new k({address:O,provider:x,signer:"0x0"})}).with({signer:Vy.P.nonNullable},({signer:O})=>O).otherwise((O)=>{throw new m.SwapKitError({errorKey:"toolbox_starknet_fee_estimation_failed",info:{message:"Estimating fee needs a valid sender address or signer",params:O}})});try{let O=await W({assetValue:J,recipient:z}),k=await q.estimateInvokeFee(O);if(k?.overall_fee)return m.AssetValue.from({chain:n,fromBaseDecimal:R,value:k.overall_fee})}catch(O){throw new m.SwapKitError("toolbox_starknet_fee_estimation_failed",O)}return m.AssetValue.from({chain:n,value:"0.00001"})}async function B({recipient:z,assetValue:J,memo:Y}){let R=await M();if(!R)throw new m.SwapKitError("toolbox_starknet_no_signer");await Z();let l=await W({assetValue:J,memo:Y,recipient:z});return(await R.execute(l)).transaction_hash}async function D(z){let J=await M();if(!J)throw new m.SwapKitError("toolbox_starknet_no_signer");let Y=await J.signMessage(z);return Array.isArray(Y)?Y:[Y.r.toString(),Y.s.toString()]}async function L(z){let J=await M();if(!J)throw new m.SwapKitError("toolbox_starknet_no_signer");return await Z(),(await J.execute(z)).transaction_hash}function w(z){return L(z)}function N(z,J=!0){try{return Sy(n)(z,J)}catch{return G(z)}}return{broadcastTransaction:L,createKeysForPath:qo,createTransaction:W,deployAccount:A,estimateTransactionFee:Q,getAddress:X,getBalance:N,getProvider:U,isAccountDeployed:_,signAndBroadcastTransaction:w,signMessage:D,transfer:B,validateAddress:OT}}var m,Vy,_o="0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",j1="0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",Ao="0x01a736d6ed154502257f02b1ccdf4d9d1089f80811cd6acad48e6b6a9d1f2003";var h1=t(()=>{iy();m=require("@swapkit/helpers"),Vy=require("ts-pattern")});var DT={};My(DT,{validateStarknetAddress:()=>OT,starknetCreateKeysForPath:()=>qo,getStarknetToolbox:()=>K1,deriveStarknetKeys:()=>wT});module.exports=Ny(DT);var RT=t(()=>{h1()});async function g1(y,n,o,f=[],T){let C=await y.getCoins({coinType:o,cursor:T,owner:n}),H=[...f,...C.data];return C.hasNextPage?g1(y,n,o,H,C.nextCursor):H}function R2(y,n,o){let f=n.reduce((_,A)=>_+BigInt(A.balance),0n);if(f<o)throw new Ty.SwapKitError("toolbox_sui_insufficient_balance",{available:f.toString(),required:o.toString()});let{ids:T}=n.reduce((_,A)=>{if(_.total>=o)return _;return{ids:[..._.ids,A.coinObjectId],total:_.total+BigInt(A.balance)}},{ids:[],total:0n}),C=T[0],H=T.slice(1);if(H.length>0)y.mergeCoins(C,H);let[U]=y.splitCoins(C,[o]);return U}function i1(y){try{return c1.isValidSuiAddress(y)}catch{return!1}}function m1(y){return"signWithIntent"in y}function k2({provider:y,...n}={}){let o;async function f(){if(o)return o;return o=await Rn.match(n).with({phrase:Rn.P.string},async({phrase:W})=>{let{Ed25519Keypair:Q}=await import("@mysten/sui/keypairs/ed25519");return Q.deriveKeypair(W)}).with({signer:Rn.P.any},({signer:W})=>W).otherwise(()=>{return}),o}async function T(W=y){let{SuiClient:Q,getFullnodeUrl:B}=await import("@mysten/sui/client");return new Q({url:W||B("mainnet")})}async function C(){return(await f())?.toSuiAddress()||""}function H(W){try{let Q=Ty.AssetValue.from({address:W,chain:Ty.Chain.Sui});return{asset:Q.toString(),decimals:Q.decimal}}catch{}return null}async function U(W){let Q=W||await C();if(!Q)throw new Ty.SwapKitError("toolbox_sui_address_required");let{baseDecimal:B,chain:D}=Ty.getChainConfig(Ty.Chain.Sui);try{let L=await T(),{totalBalance:w}=await L.getBalance({owner:Q}),N=[Ty.AssetValue.from({chain:D,fromBaseDecimal:B,value:w})],z=await L.getAllBalances({owner:Q});for(let{coinType:J,totalBalance:Y}of z){if(J==="0x2::sui::SUI"||Number(Y)<=0)continue;let R=H(J);if(R)N.push(Ty.AssetValue.from({asset:R.asset,fromBaseDecimal:R.decimals,value:Y}))}return N}catch{return[Ty.AssetValue.from({chain:D})]}}async function _(W){let Q=Ty.AssetValue.from({chain:Ty.Chain.Sui,value:"0.01"});if(!W)return Q;try{let B=await T(),{txBytes:D}=await A(W),{effects:{status:L,gasUsed:w}}=await B.dryRunTransactionBlock({transactionBlock:D});if(L.status!=="success")return Q;let N=Number(w.computationCost)+Number(w.storageCost)-Number(w.storageRebate);return Ty.AssetValue.from({chain:Ty.Chain.Sui,value:N.toString()})}catch{return Q}}async function A({recipient:W,assetValue:Q,gasBudget:B,sender:D}){let{Transaction:L}=await import("@mysten/sui/transactions"),w=D||await C();if(!w)throw new Ty.SwapKitError("toolbox_sui_no_sender");try{let N=new L;if(N.setSender(w),Q.isGasAsset||Q.symbol==="SUI"){let[Y]=N.splitCoins(N.gas,[Q.getBaseValue("string")]);N.transferObjects([Y],W)}else{let Y=Q.address;if(!Y)throw new Ty.SwapKitError("toolbox_sui_missing_coin_type");let R=await T(),l=Q.getBaseValue("bigint"),q=await g1(R,w,Y);if(!q.length)throw new Ty.SwapKitError("toolbox_sui_no_coins_found",{coinType:Y});let O=R2(N,q,l);N.transferObjects([O],W)}if(B)N.setGasBudget(B);let z=await T(),J=await N.build({client:z});return{tx:N,txBytes:J}}catch(N){if(N instanceof Ty.SwapKitError)throw N;throw new Ty.SwapKitError("toolbox_sui_transaction_creation_error",{error:N})}}async function Z(W){let Q=await f();if(!Q)throw new Ty.SwapKitError("toolbox_sui_no_signer");if(W instanceof Uint8Array)return Q.signTransaction(W);let{txBytes:B}="tx"in W?W:await A(W);return Q.signTransaction(B)}async function M({assetValue:W,gasBudget:Q,recipient:B}){let D=await f();if(!D)throw new Ty.SwapKitError("toolbox_sui_no_signer");let L=D.toSuiAddress()||await C();if(!L)throw new Ty.SwapKitError("toolbox_sui_no_sender");let{txBytes:w}=await A({assetValue:W,gasBudget:Q,recipient:B,sender:L}),N=await T();if(!m1(D)){let J=await D.signTransaction(w),{digest:Y}=await N.executeTransactionBlock({signature:J.signature,transactionBlock:J.bytes});return Y}let{digest:z}=await N.signAndExecuteTransaction({signer:D,transaction:w});return z}async function X(W){let Q=await T(),{digest:B}=await Q.executeTransactionBlock({signature:W.signature,transactionBlock:W.bytes});return B}async function G(W){let Q=await f();if(!Q)throw new Ty.SwapKitError("toolbox_sui_no_signer");let B=await T(),D;if(typeof W==="string")D=Uint8Array.from(Buffer.from(W,"base64"));else if(W instanceof Uint8Array)D=W;else D=await W.build({client:B});if(!m1(Q)){let w=await Q.signTransaction(D),{digest:N}=await B.executeTransactionBlock({signature:w.signature,transactionBlock:w.bytes});return N}let{digest:L}=await B.signAndExecuteTransaction({signer:Q,transaction:D});return L}return{broadcastTransaction:X,createTransaction:A,estimateTransactionFee:_,getAddress:C,getBalance:U,signAndBroadcastTransaction:G,signTransaction:Z,transfer:M,validateAddress:i1}}var c1,Ty,Rn;var d1=t(()=>{c1=require("@mysten/sui/utils"),Ty=require("@swapkit/helpers"),Rn=require("ts-pattern")});var kT={};My(kT,{validateSuiAddress:()=>i1,getSuiToolbox:()=>k2});module.exports=Ny(kT);var lT=t(()=>{d1()});async function $2(){let y=Date.now();if(ST&&y-a1<F2)return ST;try{return ST=await s1.getHttpEndpoint(),a1=y,ST}catch{return Xy.getRPCUrl(Xy.Chain.Ton)}}function I2(y={}){let n,o,f;async function T(){if(!n){let N=y.provider??await $2();n=new g.TonClient({endpoint:N})}return n}async function C(){return(await U()).address.toString()}async function H(){if(f)return f;return f=await Sf.match(y).with({phrase:Sf.P.string},async({phrase:N})=>e1.mnemonicToWalletKey(N.split(" "))).with({signer:Sf.P.any},({signer:N})=>N).otherwise(()=>{return}),f}async function U(N){if(!o||N){let z=await H(),J=await T(),Y=N||z;if(!Y)throw new Xy.SwapKitError("core_wallet_connection_not_found");let R=g.WalletContractV4.create({publicKey:Y.publicKey,workchain:0});o=J.open(R)}return o}let _=Sy(Xy.Chain.Ton);async function A({assetValue:N,recipient:z,memo:J,sender:Y}){if(N.isGasAsset){let h=J?w(J).toBoc().toString("base64"):void 0;return[{address:z,amount:N.getBaseValue("string"),payload:h}]}let R=N.address;if(!R)throw new Xy.SwapKitError({errorKey:"core_swap_contract_not_found",info:{asset:N.toString()}});let l=Y??await C(),q=await D({jettonMasterAddress:R,ownerAddress:l}),O=g.Address.parse(z),k=g.Address.parse(l),x=N.getBaseValue("bigint"),F=J?w(J):void 0,u=L({destinationAddress:O,forwardPayload:F,jettonAmount:x,responseAddress:k});return[{address:q.toString(),amount:x2.toString(),payload:u.toBoc().toString("base64")}]}function Z({sender:N,...z}){return A({...z,sender:N})}function M(N){return N.map((z)=>{let J=z.payload?g.Cell.fromBase64(z.payload):void 0,Y=z.stateInit?g.loadStateInit(g.Cell.fromBase64(z.stateInit).asSlice()):void 0,R=g.Address.parse(z.address),l=g.Address.isFriendly(z.address)?g.Address.parseFriendly(z.address).isBounceable:!0;return g.internal({body:J,bounce:l,init:Y,to:R,value:BigInt(z.amount)})})}async function X(N){let z=await H(),J=await U();if(!J||!z)throw new Xy.SwapKitError("core_wallet_connection_not_found");let Y=await T(),{state:R}=await Y.getContractState(J.address),l=R==="active",q=l?await J.getSeqno():0,O=J.createTransfer({messages:M(N),secretKey:z.secretKey,sendMode:r1,seqno:q}),k=g.external({body:O,init:l?void 0:J.init,to:J.address});return g.beginCell().store(g.storeMessage(k)).endCell()}async function G(N){return await(await T()).sendFile(N.toBoc()),N.hash().toString("hex")}async function W(N){let z=await X(N);return G(z)}async function Q({assetValue:N,recipient:z,memo:J}){let Y=await Z({assetValue:N,memo:J,recipient:z});return W(Y)}async function B({sender:N,...z}){let{baseDecimal:J}=Xy.getChainConfig(Xy.Chain.Ton),Y=await Sf.match(N).with(Sf.P.string,(q)=>{return g.Address.parseFriendly(q).address}).otherwise(async()=>{return(await U()).address});if(!Y)throw new Xy.SwapKitError("toolbox_fee_estimation_failed",{chain:Xy.Chain.Ton});let R=Xy.AssetValue.from({chain:Xy.Chain.Ton,value:"0.01"}),l=await T();try{let q=await Z({sender:N,...z}),O=await H(),k=await U();if(!k||!O)return R;let x=await k.getSeqno(),F=k.createTransfer({messages:M(q),secretKey:O.secretKey,sendMode:r1,seqno:x}),{source_fees:u}=await l.estimateExternalMessageFee(Y,{body:F,ignoreSignature:!0,initCode:null,initData:null}),h=u.in_fwd_fee+u.storage_fee+u.gas_fee+u.fwd_fee;return R.set(Xy.SwapKitNumber.fromBigInt(BigInt(h),J))}catch{return R}}async function D({jettonMasterAddress:N,ownerAddress:z}){try{let J=await T(),Y=g.Address.parse(N),R=g.Address.parse(z);return await J.open(g.JettonMaster.create(Y)).getWalletAddress(R)}catch{throw new Xy.SwapKitError({errorKey:"core_swap_contract_not_found",info:{jettonMasterAddress:N,ownerAddress:z}})}}function L({jettonAmount:N,destinationAddress:z,responseAddress:J,forwardAmount:Y=S2,forwardPayload:R}){let l=g.beginCell().storeUint(l2,32).storeUint(0,64).storeCoins(N).storeAddress(z).storeAddress(J).storeBit(0).storeCoins(Y);if(R)l.storeBit(1).storeRef(R);else l.storeBit(0);return l.endCell()}function w(N){return g.beginCell().storeUint(0,32).storeStringTail(N).endCell()}return{broadcastTransaction:G,createTransaction:Z,estimateTransactionFee:B,getAddress:C,getBalance:_,getJettonWalletAddress:D,sign:X,signAndBroadcastTransaction:W,transfer:Q,validateAddress:yH}}function yH(y){try{return g.Address.parse(y),!0}catch{return!1}}var s1,Xy,e1,g,Sf,l2=260734629,S2,x2,r1,F2=60000,ST,a1=0;var fH=t(()=>{iy();s1=require("@orbs-network/ton-access"),Xy=require("@swapkit/helpers"),e1=require("@ton/crypto"),g=require("@ton/ton"),Sf=require("ts-pattern"),S2=g.toNano("0.01"),x2=g.toNano("0.05"),r1=g.SendMode.PAY_GAS_SEPARATELY+g.SendMode.IGNORE_ERRORS});var xT={};My(xT,{validateTonAddress:()=>yH,getTONToolbox:()=>I2});module.exports=Ny(xT);var FT=t(()=>{fH()});function by(y,n){if(!Number.isInteger(n)||n<0)throw RangeError(`${y} must be a non-negative integer, got: ${n}`)}function Xf({accountIndex:y,chain:n,derivationPath:o}){if(y!==void 0)by("accountIndex",y);let f=[...o?.slice(0,3)??nH.NetworkDerivationPath[n].slice(0,3)];if(y!==void 0)f[2]=y;return f}function mf({accountIndex:y,change:n=!1,chain:o,derivationPath:f,index:T}){return by("index",T),[...Xf({accountIndex:y,chain:o,derivationPath:f}),Number(n),T]}function xf(y){return y[2]??0}function TH({deriveAddress:y,getBalance:n,getUtxos:o}){async function f(U){let{accountIndex:_,count:A,startIndex:Z=0,change:M=!1}=U;if(by("count",A),A<1)throw RangeError("count must be at least 1");by("startIndex",Z);let X=[];for(let G=0;G<A;G++){let W=await y({accountIndex:_,change:M,index:Z+G});if(W)X.push(W)}return X}async function T(U){let{gapLimit:_=20,change:A=!1}=U??{},Z=[],M=0,X=0;while(M<_){let G=await y({change:A,index:X});if(!G)break;if((await n(G.address)).some((B)=>B.getValue("number")>0))Z.push(G),M=0;else M++;X++}return Z}async function C(U=20){let[_,A]=await Promise.all([T({change:!1,gapLimit:U}),T({change:!0,gapLimit:U})]),Z=[..._,...A],M=await Promise.all(Z.map(async(G)=>{let Q=(await n(G.address)).reduce((B,D)=>B+D.getValue("number"),0);return{...G,balance:Q}})),X=M.reduce((G,W)=>G+W.balance,0);return{addresses:M,total:X}}async function H(U=20){let[_,A]=await Promise.all([T({change:!1,gapLimit:U}),T({change:!0,gapLimit:U})]),Z=[..._,...A];return(await Promise.all(Z.map(async(X)=>{return(await o(X.address)).map((W)=>({...W,address:X.address,derivationIndex:X.index,isChange:X.change}))}))).flat()}return{deriveAddresses:f,getAggregatedBalance:C,getAggregatedUtxos:H,scanForAddresses:T}}var nH;var kn=t(()=>{nH=require("@swapkit/helpers")});async function t2({chain:y,txHash:n}){let o=`${ln(y)}/push/transaction`,f=JSON.stringify({data:n});try{let T=await K.RequestClient.post(o,{body:f,headers:{"Content-Type":"application/json"}});if(T.context.code!==200)throw new K.SwapKitError("toolbox_utxo_broadcast_failed",{error:T.context.error||"Transaction broadcast failed"});return T.data?.transaction_hash||n}catch(T){let C=await K.getRPCUrl(y);if(C){let H=JSON.stringify({id:JC(),jsonrpc:"2.0",method:"sendrawtransaction",params:[n]}),U=await K.RequestClient.post(C,{body:H,headers:{"Content-Type":"application/json"}});if(U.error)throw new K.SwapKitError("toolbox_utxo_broadcast_failed",{error:U.error?.message});if(U.result.includes('"code":-26'))throw new K.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return U.result}throw T}}function ln(y){return`https://api.blockchair.com/${P2(y)}`}function oH(y){switch(y){case K.Chain.Bitcoin:return 5;case K.Chain.Dogecoin:return 1e4;case K.Chain.Litecoin:return 1;case K.Chain.Zcash:return 1;default:return 2}}function P2(y){switch(y){case K.Chain.BitcoinCash:return"bitcoin-cash";case K.Chain.Litecoin:return"litecoin";case K.Chain.Dash:return"dash";case K.Chain.Dogecoin:return"dogecoin";case K.Chain.Zcash:return"zcash";case K.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function p2(y){try{let{feePerKb:n}=await K.RequestClient.get(`https://app.bitgo.com/api/v2/${y.toLowerCase()}/tx/fee`),o=n/1000;return Math.max(o,oH(y))}catch{return oH(y)}}async function $T(y,n){let o=await K.RequestClient.get(`${y}${n?`${y.includes("?")?"&":"?"}key=${n}`:""}`);if(!o||o.context.code!==200)throw new K.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${y}`});return o.data}async function HH({address:y,chain:n,apiKey:o}){if(!y)throw new K.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await $T(`${ln(n)}/dashboards/address/${y}?transaction_details=true`,o))[y]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function E2({address:y,chain:n,apiKey:o}){return(await HH({address:y,apiKey:o,chain:n}))?.address.balance||0}async function UH({chain:y,apiKey:n,txHash:o}){if(!o)throw new K.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await $T(`${ln(y)}/raw/transaction/${o}`,n))?.[o]?.raw_transaction||""}catch(f){let T=f instanceof Error?f.message:String(f);return console.error(`Failed to fetch raw transaction: ${T}`),""}}async function b2({chain:y,apiKey:n,txHash:o}){if(!o)throw new K.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});let T=(await $T(`${ln(y)}/dashboards/transaction/${o}`,n))?.[o];if(!T)throw new K.SwapKitError("toolbox_utxo_tx_not_found",{txHash:o});let{transaction:C,inputs:H,outputs:U}=T,_=H.map((Z)=>Z.spending_sequence),A=C.is_rbf===!0||_.some((Z)=>Z<V2);return{blockId:C.block_id,confirmed:C.block_id!==-1,fee:C.fee,inputs:H,isRBF:A,outputs:U,sequences:_,size:C.size,txid:C.hash,weight:C.weight}}async function u2({chain:y,address:n,apiKey:o,offset:f=0,limit:T=30}){return(await $T(`${ln(y)}/outputs?q=recipient(${n}),is_spent(false)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${T}&offset=${f}`,o)).map(({is_spent:_,script_hex:A,block_id:Z,transaction_hash:M,index:X,value:G,spending_signature_hex:W})=>({hash:M,index:X,is_confirmed:Z!==-1,is_spent:_,script_hex:A,txHex:W,value:G}))}function v2(y){return y.reduce((n,o)=>n+o.value,0)}function CH(y,n){let o=[...y].sort((f,T)=>T.value-f.value);if(n){let f=[],T=0;for(let C of o)if(f.push(C),T+=C.value,T>=n)break;return f}return o}async function _H({chain:y,address:n,apiKey:o,targetValue:f,accumulativeValue:T=0,offset:C=0,limit:H=30}){if(!n)throw new K.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let U=await u2({address:n,apiKey:o,chain:y,limit:H,offset:C,targetValue:f}),A=U.length<H,Z=U.filter(({is_spent:B})=>!B),M=v2(Z),X=T+M,G=f&&X>=f;if(A||G)return CH(Z,f);let W=await _H({accumulativeValue:X,address:n,apiKey:o,chain:y,limit:H,offset:C+H,targetValue:f}),Q=[...Z,...W];return CH(Q,f)}catch(U){let _=U instanceof Error?U.message:String(U);return console.error(`Failed to fetch unspent UTXOs: ${_}`),[]}}async function j2({address:y,chain:n,apiKey:o,fetchTxHex:f=!0,targetValue:T}){let C=await _H({address:y,apiKey:o,chain:n,targetValue:T}),H=[];for(let{hash:U,index:_,script_hex:A,value:Z}of C){let M;if(f)M=await UH({apiKey:o,chain:n,txHash:U});H.push({address:y,hash:U,index:_,txHex:M,value:Z,witnessUtxo:{script:Buffer.from(A,"hex"),value:Z}})}return H}function Yy(y){let n=K.SKConfig.get("apiKeys").blockchair||"";return K.warnOnce({condition:!n,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(o)=>t2({chain:y,txHash:o}),getAddressData:(o)=>HH({address:o,apiKey:n,chain:y}),getBalance:(o)=>E2({address:o,apiKey:n,chain:y}),getRawTx:(o)=>UH({apiKey:n,chain:y,txHash:o}),getSuggestedTxFee:()=>p2(y),getTransactionDetails:(o)=>b2({apiKey:n,chain:y,txHash:o}),getUtxos:(o)=>j2({...o,apiKey:n,chain:y})}}function K2(y){return y}function h2(){return function(n){switch(n){case K.Chain.Bitcoin:return Ff.NETWORKS.bitcoin;case K.Chain.BitcoinCash:return Ff.NETWORKS.bitcoinCash;case K.Chain.Dash:return Ff.NETWORKS.dash;case K.Chain.Litecoin:return Ff.NETWORKS.litecoin;case K.Chain.Dogecoin:return Ff.NETWORKS.dogecoin;case K.Chain.Zcash:return Ff.NETWORKS.zcash;default:throw new K.SwapKitError("toolbox_utxo_not_supported",{chain:n})}}}var K,Ff,V2=4294967294;var AH=t(()=>{iy();K=require("@swapkit/helpers"),Ff=require("@swapkit/utxo-signer")});function g2(y,n,o){return ey.encodeCashAddr({hash:o,prefix:y,type:m2[n]})}function i2(y){let n=ey.decodeCashAddr(y),o=c2[n.type];if(!o)throw Error(`Unknown CashAddr type: ${n.type}`);return{hash:n.hash,prefix:n.prefix,type:o}}var ey,m2,c2,Go;var qH=t(()=>{ey=require("@swapkit/utxo-signer"),m2={P2PKH:ey.CashAddrType.P2PKH,P2SH:ey.CashAddrType.P2SH},c2={[ey.CashAddrType.P2PKH]:"P2PKH",[ey.CashAddrType.P2SH]:"P2SH"};Go={decode:i2,encode:g2}});function Qo(y){try{return IT(y),!0}catch{return!1}}function Zo(y){return IT(y)?.network}function yf(y){let n=IT(y);if(n?.format==="legacy")return y;return a2(n)}function Sn(y){let n=IT(y);return s2(n)}function IT(y){try{let n=d2(y);if(n)return n}catch{}try{let n=r2(y);if(n)return n}catch{}throw new Wo.SwapKitError("toolbox_utxo_invalid_address",{address:y})}function d2(y){try{let n=QH.decode(y);if(n.length!==21)throw new Wo.SwapKitError("toolbox_utxo_invalid_address",{address:y});let o=n[0],f=Array.prototype.slice.call(n,1);switch(o){case $f.legacy.mainnet.p2pkh:return{format:"legacy",hash:f,network:"mainnet",type:"p2pkh"};case $f.legacy.mainnet.p2sh:return{format:"legacy",hash:f,network:"mainnet",type:"p2sh"};case $f.legacy.testnet.p2pkh:return{format:"legacy",hash:f,network:"testnet",type:"p2pkh"};case $f.legacy.testnet.p2sh:return{format:"legacy",hash:f,network:"testnet",type:"p2sh"};case $f.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:f,network:"mainnet",type:"p2pkh"};case $f.bitpay.mainnet.p2sh:return{format:"bitpay",hash:f,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function r2(y){if(y.indexOf(":")!==-1)try{return GH(y)}catch{}else{let n=["bitcoincash","bchtest","bchreg"];for(let o of n)try{return GH(`${o}:${y}`)}catch{}}return}function GH(y){try{let{hash:n,prefix:o,type:f}=Go.decode(y);return{format:"cashaddr",hash:Array.prototype.slice.call(n,0),network:o==="bitcoincash"?"mainnet":"testnet",type:f==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function a2(y){let n=$f.legacy[y.network][y.type],o=Buffer.alloc(1+y.hash.length);return o[0]=n,o.set(y.hash,1),QH.encode(o)}function s2(y){let n=y.network==="mainnet"?"bitcoincash":"bchtest",o=y.type==="p2pkh"?"P2PKH":"P2SH",f=new Uint8Array(y.hash);return Go.encode(n,o,f)}var WH,XH,Wo,QH,Xo,$f;var ZH=t(()=>{qH();WH=require("@noble/hashes/sha2.js"),XH=require("@scure/base"),Wo=require("@swapkit/helpers"),QH=XH.createBase58check(WH.sha256);((o)=>{o.Mainnet="mainnet";o.Testnet="testnet"})(Xo||={});$f={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function Iy(y){let n=new Uint8Array(Buffer.from(y,"utf8"));return MH.Script.encode(["RETURN",n])}var JH,MH,e2=1000,PT=10,pT=2,LH=10,y_=41,f_=107,ET,tT,xn,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 JH.SwapKitError("toolbox_utxo_invalid_address",{address:y})},If=({inputs:y,outputs:n,feeRate:o})=>{let f=y[0]&&"address"in y[0]&&y[0].address?cf(y[0].address):"P2PKH",C=(o?y.filter((A)=>A.value>=tT["type"in A&&A.type?A.type:"P2PKH"]*Math.ceil(o)):y).reduce((A,Z)=>A+Qf(Z),0),H=n?.reduce((A,Z)=>A+Fn(Z),0)||xn[f],U=PT+C+H;return f==="P2WPKH"?Math.ceil(U+pT/4):U},Qf=(y)=>{if("type"in y&&y.type)return tT[y.type];if("address"in y&&y.address)return tT[cf(y.address)];return y_+f_},Fn=(y,n)=>{if(y?.script)return LH+y.script.length+(y.script.length>=74?2:1);if(n)return xn[n];if("address"in y&&y.address)return xn[cf(y.address)];return xn.P2PKH};var Jo=t(()=>{JH=require("@swapkit/helpers"),MH=require("@swapkit/utxo-signer");((o)=>{o.P2PKH="P2PKH";o.P2WPKH="P2WPKH"})(ET||={});tT={["P2PKH"]:148,["P2WPKH"]:68},xn={["P2PKH"]:34,["P2WPKH"]:31}});function $n(y){switch(y){case cy.Chain.Bitcoin:case cy.Chain.BitcoinCash:return 550;case cy.Chain.Dash:case cy.Chain.Litecoin:return 5500;case cy.Chain.Dogecoin:return 1e5;case cy.Chain.Zcash:return 546;default:throw new cy.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}function uy({inputs:y,outputs:n,feeRate:o=1,chain:f=cy.Chain.Bitcoin,changeAddress:T=""}){let C=y[0]&&"address"in y[0]&&y[0].address?cf(y[0].address):"P2PKH",H=y.filter((W)=>Qf(W)*o<=W.value),_=C==="P2WPKH"?Math.ceil(pT/4):0,A=PT+_+n.reduce((W,Q)=>W+Fn(Q),0),Z=n.reduce((W,Q)=>W+Q.value,0),M=A*o,X=0,G=[];for(let W of H){let Q=Qf(W),B=o*Q;M+=B,X+=W.value,G.push(W);let D=M+Z;if(X<D)continue;let L=X-D,w=o*Fn({address:T,value:0});if(L>w){let N=w+M,z=X-(Z+Math.ceil(N));if(z>Math.max(Qf({value:0})*o,$n(f)))return{fee:Math.ceil(N),inputs:G,outputs:n.concat({address:T,value:z})}}return{fee:Math.ceil(M),inputs:G,outputs:n}}return{fee:Math.ceil(o*If({inputs:y,outputs:n}))}}var cy;var YH=t(()=>{Jo();cy=require("@swapkit/helpers")});var gf=t(()=>{AH();ZH();YH();Jo()});function tf(y){return y.replace(/(bchtest:|bitcoincash:)/,"")}function Zf(y){let n=tf(y);return Qo(n)&&Zo(n)==="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 o=VT.Address(VT.ZCASH_NETWORK).decode(y);return o.type==="pkh"||o.type==="sh"}catch{return!1}}var VT;var In=t(()=>{gf();VT=require("@swapkit/utxo-signer")});function Yo({address:y,chain:n}){return Lo.match(n).with($.Chain.BitcoinCash,()=>Zf(y)).with($.Chain.Zcash,()=>df(y)).otherwise(()=>{try{return d.Address(ky(n)).decode(y),!0}catch{return!1}})}function ky(y){return Lo.match(y).with($.Chain.Bitcoin,()=>d.NETWORKS.bitcoin).with($.Chain.BitcoinCash,()=>d.NETWORKS.bitcoinCash).with($.Chain.Dash,()=>d.NETWORKS.dash).with($.Chain.Dogecoin,()=>d.NETWORKS.dogecoin).with($.Chain.Litecoin,()=>d.NETWORKS.litecoin).with($.Chain.Zcash,()=>d.NETWORKS.zcash).exhaustive()}function n_({phrase:y,derivationPath:n,network:o,seed:f}){let T=f??uT.mnemonicToSeedSync(y),H=Mo.HDKey.fromMasterSeed(T,o.bip32).derive(n);if(!H.privateKey)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive private key from phrase"});return H.privateKey}function BH(y){return zH.secp256k1.getPublicKey(y,!0)}function Pn({publicKey:y,chain:n,network:o}){if(n===$.Chain.BitcoinCash){let C=d.p2pkh(y,o);if(!C.hash)throw new $.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return d.encodeCashAddr({hash:C.hash,prefix:d.CashAddrPrefix.MAINNET,type:d.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}let T=!tn.includes(n)?d.p2wpkh(y,o):d.p2pkh(y,o);if(!T.address)throw new $.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive address"});return T.address}function rf({phrase:y,derivationPath:n,chain:o,wif:f,seed:T}){let C=ky(o);if(f){let A=d.WIF(C).decode(f),Z=BH(A);return{privateKey:A,publicKey:Z}}if(!y)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let H=n||$.derivationPathToString($.NetworkDerivationPath[o]),U=n_({derivationPath:H,network:C,phrase:y,seed:T}),_=BH(U);return{privateKey:U,publicKey:_}}function T_(y,n){return d.WIF(ky(n)).encode(y)}function o_({phrase:y,derivationPath:n,chain:o,seed:f}){let T=n.split("/");if(T.length<4)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:`Derivation path must have at least 4 levels (got ${T.length}): ${n}`});let C=ky(o),H=f??uT.mnemonicToSeedSync(y),U=Mo.HDKey.fromMasterSeed(H,C.bip32),_=T.slice(0,4).join("/");return U.derive(_)}function Mf({inputs:y,outputs:n,chain:o,tx:f,sender:T,compiledMemo:C,enableRBF:H=!1}){let U=ky(o),_=!tn.includes(o),A=H?d.RBF_SEQUENCE:void 0,Z=new Set;for(let M of y){let X=`${M.hash}:${M.index}`;if(Z.has(X))throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Duplicate input detected"});Z.add(X);let G=typeof M.hash==="string"?Jf.hex.decode(M.hash):M.hash;if(_&&M.witnessUtxo)f.addInput({index:M.index,sequence:A,txid:G,witnessUtxo:{amount:BigInt(M.witnessUtxo.value),script:M.witnessUtxo.script}});else if(M.txHex)f.addInput({index:M.index,nonWitnessUtxo:Jf.hex.decode(M.txHex),sequence:A,txid:G,...o===$.Chain.BitcoinCash?{sighashType:d.BCHSigHash.ALL}:{}});else throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Input requires either witnessUtxo or txHex for non-segwit chains"})}for(let M of n){let X="address"in M&&M.address?M.address:T;if(o===$.Chain.BitcoinCash)X=yf(X);if(M.script){if(C)f.addOutput({amount:0n,script:C})}else f.addOutputAddress(X,BigInt(M.value),U)}return{inputs:y,tx:f}}async function af(y){let n=await Yy(y).getSuggestedTxFee();return{[$.FeeOption.Average]:n,[$.FeeOption.Fast]:$.applyFeeMultiplier(n,$.FeeOption.Fast),[$.FeeOption.Fastest]:$.applyFeeMultiplier(n,$.FeeOption.Fastest)}}async function NH({assetValue:y,recipient:n,memo:o,sender:f,fetchTxHex:T=!1}){let C=y.chain,H=(await af(C))[$.FeeOption.Fastest],U=T||tn.includes(C),_=y.getBaseValue("number"),A=Math.ceil(_+H*5000);return{inputs:await Yy(C).getUtxos({address:f,fetchTxHex:U,targetValue:A}),outputs:[{address:n,value:_},...o?[{address:"",script:Iy(o),value:0}]:[]]}}async function OH({assetValue:y,recipient:n,memo:o,feeRate:f,sender:T,fetchTxHex:C=!1,enableRBF:H=!1}){let U=y.chain,_=o?Iy(o):null,A=await NH({assetValue:y,fetchTxHex:C,memo:o,recipient:n,sender:T}),{inputs:Z,outputs:M}=uy({...A,chain:U,feeRate:f});if(!(Z&&M))throw new $.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:T});let X=new d.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!_,version:1}),{inputs:G,tx:W}=Mf({chain:U,compiledMemo:_,enableRBF:H,inputs:Z,outputs:M,sender:T,tx:X});return{inputs:G,tx:W,utxos:A.inputs}}async function wH({assetValue:y,feeOptionKey:n=$.FeeOption.Fast,feeRate:o,memo:f,sender:T,recipient:C}){let H=y.chain,U=await NH({assetValue:y,memo:f,recipient:C,sender:T}),_=o?Math.floor(o):(await af(H))[n];return uy({...U,chain:H,feeRate:_})}function C_(y){return async function({from:o,memo:f,feeRate:T,feeOptionKey:C=$.FeeOption.Fast,recipients:H=1}){let U=await Yy(y).getAddressData(o),_=T?Math.ceil(T):(await af(y))[C],A=U?.utxo.map((Q)=>({...Q,hash:"",type:"P2PKH"})).filter((Q)=>Q.value>Math.max($n(y),Qf(Q)*_));if(!A?.length)return $.AssetValue.from({chain:y});let Z=BigInt(A.reduce((Q,B)=>Q+B.value,0)),M=$.AssetValue.from({chain:y,value:Z}),X=typeof H==="number"?Array.from({length:H},()=>({address:o,value:0})):H;if(f)X.push({address:o,script:Iy(f),value:0});let G=If({inputs:A,outputs:X}),W=$.AssetValue.from({chain:y,value:BigInt(G*_)});return M.sub(W)}}function H_(y){return async function(o){let{fee:f}=await wH(o);return $.AssetValue.from({chain:y,value:$.SwapKitNumber.fromBigInt(BigInt(f),8).getValue("string")})}}function U_({chain:y,phrase:n,derivationPath:o,seed:f}){let T=ky(y),{privateKey:C,publicKey:H}=rf({chain:y,derivationPath:o,phrase:n,seed:f}),U=y===$.Chain.BitcoinCash?[d.BCHSigHash.ALL]:[d.SigHash.ALL];return{getAddress:()=>Pn({chain:y,network:T,publicKey:H}),privateKey:C,publicKey:H,signTransaction:(_)=>{return _.sign(C,U),_}}}function __(y,n){return async function({memo:f,recipient:T,feeOptionKey:C,feeRate:H,assetValue:U,enableRBF:_=!1}){let A=await n?.getAddress();if(!(n&&A))throw new $.SwapKitError("toolbox_utxo_no_signer");if(!T)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});$.warnOnce({condition:_&&!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 Z=_&&bT.includes(y),M=H||(await af(y))[C||$.FeeOption.Fast],{tx:X}=await OH({assetValue:U,enableRBF:Z,feeRate:M,memo:f,recipient:T,sender:A}),G=await n.signTransaction(X);return G.finalize(),Yy(y).broadcastTx(Jf.hex.encode(G.extract()))}}function Bo(y){return(n)=>Yo({address:n,chain:y})}function zo(y){let n=ky(y);return function(f){if(!f)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});return Pn({chain:y,network:n,publicKey:f.publicKey})}}function Lf({chain:y,...n}){let o="phrase"in n?n.phrase:void 0,f="index"in n?n.index||0:0,T=o?uT.mnemonicToSeedSync(o):void 0,C="derivationPath"in n&&n.derivationPath?n.derivationPath:$.updateDerivationPath($.NetworkDerivationPath[y],{index:f}),H=$.derivationPathToString(C),U=o?U_({chain:y,derivationPath:H,phrase:o,seed:T}):void 0,_="signer"in n?n.signer:void 0,A=U||_,Z=o?rf({chain:y,derivationPath:H,phrase:o,seed:T}):void 0;function M(){if(A)return A.getAddress();return Promise.resolve(void 0)}function X(q){if(!o)return;let O=Xf({accountIndex:q,chain:y,derivationPath:C});return o_({chain:y,derivationPath:$.derivationPathToString(O),phrase:o,seed:T})}let G=X();function W(){if(!G)return;return G.publicExtendedKey}function Q({accountIndex:q}={}){let O=q===void 0?G:X(q);if(!O)return;let k=Xf({accountIndex:q,chain:y,derivationPath:C});return{accountIndex:xf(k),path:$.derivationPathToString(k),xpub:O.publicExtendedKey}}function B({accountIndex:q,index:O,change:k=!1}){let x=q===void 0?G:X(q);if(!x)return;let F=mf({accountIndex:q,chain:y,change:k,derivationPath:C,index:O}),u=ky(y),h=x.deriveChild(Number(k)).deriveChild(O);if(!h.publicKey)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not derive public key"});let i=Pn({chain:y,network:u,publicKey:h.publicKey}),fy=Jf.hex.encode(h.publicKey);return{accountIndex:xf(F),address:i,change:k,index:O,path:$.derivationPathToString(F),pubkey:fy}}async function D(q){if(!bT.includes(y))return{reason:`RBF is not supported on ${y}`,supported:!1};let O=await Yy(y).getTransactionDetails(q);return{canReplace:O.isRBF&&!O.confirmed,confirmed:O.confirmed,enabled:O.isRBF,fee:O.fee,sequences:O.sequences,supported:!0}}async function L({txid:q,newFeeRate:O,recipient:k,memo:x}){if(!bT.includes(y))throw new $.SwapKitError("toolbox_utxo_rbf_not_supported",{chain:y});let F=await Yy(y).getTransactionDetails(q);if(!F.isRBF)throw new $.SwapKitError("toolbox_utxo_tx_not_replaceable",{txid:q});if(F.confirmed)throw new $.SwapKitError("toolbox_utxo_tx_already_confirmed",{blockId:F.blockId,txid:q});let u=F.inputs.reduce((zy,of)=>zy+of.value,0),i=F.outputs.find((zy)=>zy.recipient===k)?.value||0;if(i===0)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not determine send amount from original transaction"});let fy=await Promise.all(F.inputs.map(async(zy)=>{let of=await Yy(y).getRawTx(zy.transaction_hash);return{hash:zy.transaction_hash,index:zy.index,txHex:of,value:zy.value,witnessUtxo:void 0}})),By=x?Iy(x):null,wy=If({feeRate:O,inputs:fy.map((zy)=>({...zy,type:"P2WPKH"})),outputs:[{address:k,value:i}]}),Zy=Math.ceil(wy*O);if(Zy<=F.fee)throw new $.SwapKitError("toolbox_utxo_rbf_fee_too_low",{newFee:Zy,originalFee:F.fee});let py=Zy-F.fee,ly=i-py;if(ly<=0)throw new $.SwapKitError("toolbox_utxo_rbf_insufficient_change");let Ky=new d.Transaction({allowLegacyWitnessUtxo:!0,version:1}),Yf=[{address:k,value:ly},...x?[{address:"",script:Iy(x),value:0}]:[]],Bf=u-ly-Zy,Tf=await M();if(Bf>$n(y)&&Tf)Yf.push({address:Tf,value:Bf});return Mf({chain:y,compiledMemo:By,inputs:fy,outputs:Yf,sender:Tf||k,tx:Ky}),{feeDelta:py,newFee:Zy,originalFee:F.fee,tx:Ky}}async function w({txid:q,newFeeRate:O,recipient:k,memo:x}){let{tx:F,originalFee:u,newFee:h}=await L({memo:x,newFeeRate:O,recipient:k,txid:q}),i=await R(F);i.finalize();let fy=await Yy(y).broadcastTx(Jf.hex.encode(i.extract()));return{newFee:h,originalFee:u,txid:fy}}function N({accountIndex:q,index:O,change:k=!1}){by("index",O);let x=q===void 0?G:X(q);if(!x)return;return x.deriveChild(Number(k)).deriveChild(O).privateKey||void 0}function z({tx:q,inputDerivations:O}){if(!G)throw new $.SwapKitError("toolbox_utxo_no_signer");let k=y===$.Chain.BitcoinCash?[d.BCHSigHash.ALL]:[d.SigHash.ALL];for(let x=0;x<O.length;x++){let F=O[x];if(!F)continue;let{derivationIndex:u,isChange:h}=F,i=N({change:h,index:u});if(!i)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:`Could not derive private key for input ${x} at index ${u}`});q.signIdx(i,x,k)}return q}async function J({utxos:q,recipient:O,assetValue:k,memo:x,feeRate:F,feeOptionKey:u,changeAddress:h}){if(!G)throw new $.SwapKitError("toolbox_utxo_no_signer");let i=F||(await af(y))[u||$.FeeOption.Fast],fy=x?Iy(x):null,By=[{address:O,value:k.getBaseValue("number")}];if(fy)By.push({address:"",script:fy,value:0});let wy=q.map(({hash:Tf,index:zy,value:of,txHex:$5,witnessUtxo:H0})=>({hash:Tf,index:zy,txHex:$5,value:of,witnessUtxo:H0?{script:H0.script,value:H0.value}:void 0})),{inputs:Zy,outputs:py}=uy({chain:y,feeRate:i,inputs:wy,outputs:By});if(!(Zy&&py))throw new $.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:k,sender:"multiple addresses"});let ly=new d.Transaction({allowLegacyWitnessUtxo:!0,version:1}),Ky=q[0]?.address,Yf=h||await M()||Ky||O;Mf({chain:y,compiledMemo:fy,inputs:Zy,outputs:py,sender:Yf,tx:ly});let Bf=Zy.map((Tf)=>{let zy=q.find((of)=>of.hash===Tf.hash&&of.index===Tf.index);return zy?{derivationIndex:zy.derivationIndex,isChange:zy.isChange}:{derivationIndex:0,isChange:!1}});return z({inputDerivations:Bf,tx:ly}),ly.finalize(),Yy(y).broadcastTx(Jf.hex.encode(ly.extract()))}function Y({address:q,gapLimit:O=20}){if(!G)return;for(let k=0;k<O;k++){let x=B({change:!1,index:k}),F=B({change:!0,index:k}),u=x?.address===q?!1:F?.address===q;if(x?.address===q||F?.address===q)return{change:u,index:k}}return}function R(q){if(!A)throw new $.SwapKitError("toolbox_utxo_no_signer");return A.signTransaction(q)}async function l(q){let O=await R(q);return O.finalize(),await Yy(y).broadcastTx(Jf.hex.encode(O.extract()))}return{accumulative:uy,broadcastTx:(q)=>Yy(y).broadcastTx(q),bumpFee:w,calculateTxSize:If,createKeysForPath:(q)=>rf({...q,chain:y}),createReplacementTransaction:L,createTransaction:OH,deriveAddressAtIndex:B,derivePrivateKeyAtIndex:N,estimateMaxSendableAmount:C_(y),estimateTransactionFee:H_(y),getAddress:M,getAddressFromKeys:zo(y),getBalance:Sy(y),getExtendedPublicKey:W,getExtendedPublicKeyInfo:Q,getFeeRates:()=>af(y),getInputsOutputsFee:wH,getNetworkForChain:()=>ky(y),getPrivateKeyFromMnemonic:(q)=>T_(rf({...q,chain:y}).privateKey,y),isRBFEnabled:D,keys:Z,resolveDerivationIndex:Y,signAndBroadcastTransaction:l,signTransaction:R,signTransactionWithMultipleKeys:z,transfer:__(y,A),transferFromMultipleAddresses:J,validateAddress:Bo(y)}}var zH,Jf,Mo,uT,$,d,Lo,tn,bT;var sf=t(()=>{iy();kn();gf();In();zH=require("@noble/curves/secp256k1.js"),Jf=require("@scure/base"),Mo=require("@scure/bip32"),uT=require("@scure/bip39"),$=require("@swapkit/helpers"),d=require("@swapkit/utxo-signer"),Lo=require("ts-pattern"),tn=[$.Chain.Dash,$.Chain.Dogecoin,$.Chain.Zcash,$.Chain.BitcoinCash],bT=[$.Chain.Bitcoin]});function pn(y){return tf(Sn(y))}function A_(y){let n=ky(gy);function o(T){return T.sign(y.privateKey,[Jy.BCHSigHash.ALL]),T}function f(){let T=Jy.p2pkh(y.publicKey,n);if(!T.hash)throw new Qy.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});let C=Jy.encodeCashAddr({hash:T.hash,prefix:Jy.CashAddrPrefix.MAINNET,type:Jy.CashAddrType.P2PKH});return Promise.resolve(C.replace(/^bitcoincash:/,""))}return{getAddress:f,signTransaction:o}}function Oo(y){let n="phrase"in y?y.phrase:void 0,o="index"in y?y.index||0:0,f=Qy.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:Qy.updateDerivationPath(Qy.NetworkDerivationPath[gy],{index:o})),T=n?rf({chain:gy,derivationPath:f,phrase:n}):void 0,C=T?A_(T):("signer"in y)?y.signer:void 0;function H(){return Promise.resolve(C?.getAddress())}let{getBalance:U,getFeeRates:_,broadcastTx:A,...Z}=Lf({chain:gy});function M(W,Q=!0){return U(tf(Sn(W)))}function X(W){if(!C)throw new Qy.SwapKitError("toolbox_utxo_no_signer");return C.signTransaction(W)}async function G(W){let Q=await X(W);return Q.finalize(),await A(No.hex.encode(Q.extract()))}return{...Z,broadcastTx:A,buildTx:G_,createTransaction:DH,getAddress:H,getAddressFromKeys:W_,getBalance:M,getFeeRates:_,signAndBroadcastTransaction:G,signTransaction:X,stripPrefix:tf,stripToCashAddress:pn,transfer:q_({broadcastTx:A,getFeeRates:_,signer:C}),validateAddress:Zf}}async function DH({assetValue:y,recipient:n,memo:o,feeRate:f,sender:T}){if(!Zf(n))throw new Qy.SwapKitError("toolbox_utxo_invalid_address",{address:n});let C=Math.ceil(y.getBaseValue("number")+f*7500),H=await Yy(gy).getUtxos({address:pn(T),fetchTxHex:!0,targetValue:C}),U=o?Iy(o):null,_=[],A=yf(n);if(_.push({address:A,value:y.getBaseValue("number")}),U)_.push({script:U,value:0});let{inputs:Z,outputs:M}=uy({chain:gy,feeRate:f,inputs:H,outputs:_});if(!(Z&&M))throw new Qy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:T});let X=new Jy.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!U,version:1}),G=yf(T),{inputs:W,tx:Q}=Mf({chain:gy,compiledMemo:U,inputs:Z,outputs:M.map((B)=>("address"in B)&&B.address?{...B,address:yf(B.address)}:B),sender:G,tx:X});return{inputs:W,tx:Q,utxos:Z}}function q_({broadcastTx:y,getFeeRates:n,signer:o}){return async function({recipient:T,assetValue:C,feeOptionKey:H=Qy.FeeOption.Fast,...U}){let _=await o?.getAddress();if(!(o&&_))throw new Qy.SwapKitError("toolbox_utxo_no_signer");if(!T)throw new Qy.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let A=U.feeRate||(await n())[H],{tx:Z}=await DH({...U,assetValue:C,feeRate:A,recipient:T,sender:_}),M=await o.signTransaction(Z);return M.finalize(),y(No.hex.encode(M.extract()))}}async function G_({assetValue:y,recipient:n,memo:o,feeRate:f,sender:T}){let C=Sn(n);if(!Zf(C))throw new Qy.SwapKitError("toolbox_utxo_invalid_address",{address:C});let H=Math.ceil(y.getBaseValue("number")+f*7500),U=await Yy(gy).getUtxos({address:pn(T),fetchTxHex:!0,targetValue:H}),_=Number(f.toFixed(0)),A=o?Iy(o):null,Z=[];if(Z.push({address:yf(n),value:y.getBaseValue("number")}),A)Z.push({script:A,value:0});let{inputs:M,outputs:X}=uy({chain:gy,feeRate:_,inputs:U,outputs:Z});if(!(M&&X))throw new Qy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:y,sender:T});let G=new Jy.Transaction({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!A,version:1}),{inputs:W,tx:Q}=Mf({chain:gy,compiledMemo:A,inputs:M,outputs:X,sender:yf(T),tx:G});return{inputs:W,tx:Q,utxos:U}}function W_(y){let n=Jy.NETWORKS.bitcoinCash,o=Jy.p2pkh(y.publicKey,n);if(!o.hash)throw new Qy.SwapKitError("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return Jy.encodeCashAddr({hash:o.hash,prefix:Jy.CashAddrPrefix.MAINNET,type:Jy.CashAddrType.P2PKH}).replace(/^bitcoincash:/,"")}var No,Qy,Jy,gy;var vT=t(()=>{gf();sf();In();No=require("@scure/base"),Qy=require("@swapkit/helpers"),Jy=require("@swapkit/utxo-signer"),gy=Qy.Chain.BitcoinCash});function kH(){let{isStagenet:y}=Gy.SKConfig.get("envs");return y?Cy.ZCASH_TEST_NETWORK:Cy.ZCASH_NETWORK}function Q_(y){return X_.encode(y)}function Z_({phrase:y,derivationPath:n}){let o=Do.mnemonicToSeedSync(y),T=wo.HDKey.fromMasterSeed(o).derive(n);if(!T.privateKey||!T.publicKey)throw new Gy.SwapKitError("toolbox_utxo_invalid_params");let{privateKey:C,publicKey:H}=T,U=Cy.utils.hash160(H),{isStagenet:_}=Gy.SKConfig.get("envs"),A=_?new Uint8Array([29,37]):new Uint8Array([28,184]),Z=new Uint8Array(A.length+U.length);Z.set(A,0),Z.set(U,A.length);let M=Q_(Z);return{getAddress:()=>Promise.resolve(M),signTransaction:(X)=>{if(X instanceof Cy.PCZT)return X.signAllInputs(C,H,Cy.ZcashSigHash.ALL),X.finalizeAllInputs(),Promise.resolve(X.extract());return X.signAllInputs(C,H,Cy.ZcashSigHash.ALL),Promise.resolve(X)}}}function J_({inputs:y,outputs:n,tx:o,sender:f,compiledMemo:T}){let C=kH();for(let H of y){let U=Cy.Address(C).decode(f),_=Cy.OutScript.encode(U);o.addInput({index:H.index,script:_,sequence:4294967295,txid:jT.hex.decode(H.hash),value:BigInt(H.value)})}for(let H of n){let U="address"in H&&H.address?H.address:f,_=H.script;if(_&&!T)continue;if(_&&T)o.addOutput({amount:0n,script:T});else o.addOutputAddress(U,BigInt(H.value),C)}return{inputs:y,tx:o}}async function RH(y){let{assetValue:n,recipient:o,memo:f,feeRate:T,sender:C,fetchTxHex:H}=y,U=f?Iy(f):null,_=await Yy(Gy.Chain.Zcash).getUtxos({address:C,fetchTxHex:H!==!1}),A=[{address:o,value:Number(n.getBaseValue("string"))},...U?[{script:U,value:0}]:[]],{inputs:Z,outputs:M}=uy({chain:Gy.Chain.Zcash,changeAddress:C,feeRate:T,inputs:_,outputs:A});if(!(Z&&M))throw new Gy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:n,sender:C});let X=Cy.createZcashTransaction({consensusBranchId:Cy.ZcashConsensusBranchId.NU6_1,expiryHeight:0,lockTime:0,version:4,versionGroupId:Cy.ZcashVersionGroupId.SAPLING}),{tx:G,inputs:W}=J_({compiledMemo:U,inputs:Z,outputs:M,sender:C,tx:X});return{inputs:W,outputs:M,tx:G}}function Ro(y){let n=ef.match(y).with({signer:ef.P.not(ef.P.nullish)},({signer:_})=>_).with({phrase:ef.P.string},({phrase:_,derivationPath:A,index:Z=0})=>{let M=A||Gy.NetworkDerivationPath[Gy.Chain.Zcash]||[44,133,0,0,0],X=Gy.updateDerivationPath(M,{index:Z}),G=Gy.derivationPathToString(X);return Z_({derivationPath:G,phrase:_})}).otherwise(()=>{return}),o=Lf({chain:Gy.Chain.Zcash,signer:n});async function f(_){if(!n)throw new Gy.SwapKitError("toolbox_utxo_no_signer");return await n.signTransaction(_)}async function T(_){let A=await f(_);return o.broadcastTx(A.toHex())}async function C({recipient:_,assetValue:A,feeOptionKey:Z=Gy.FeeOption.Fast,...M}){let X=await n?.getAddress();if(!(n&&X))throw new Gy.SwapKitError("toolbox_utxo_no_signer");let G=M.feeRate||(await o.getFeeRates())[Z],{tx:W}=await RH({...M,assetValue:A,feeRate:G,recipient:_,sender:X}),B=(await n.signTransaction(W)).toHex();return o.broadcastTx(B)}function H({phrase:_,derivationPath:A="m/44'/133'/0'/0/0"}){let Z=Do.mnemonicToSeedSync(_),X=wo.HDKey.fromMasterSeed(Z).derive(A);if(!X.privateKey||!X.publicKey)throw new Gy.SwapKitError("toolbox_utxo_invalid_params");return{privateKey:X.privateKey,publicKey:X.publicKey}}function U({phrase:_,derivationPath:A="m/44'/133'/0'/0/0"}){let Z=H({derivationPath:A,phrase:_}),M=kH();return Cy.WIF(M).encode(Z.privateKey)}return{...o,createKeysForPath:H,createTransaction:RH,getPrivateKeyFromMnemonic:U,signAndBroadcastTransaction:T,signTransaction:f,transfer:C,validateAddress:df}}var jT,wo,Do,Gy,Cy,ef,X_;var ko=t(()=>{gf();sf();In();jT=require("@scure/base"),wo=require("@scure/bip32"),Do=require("@scure/bip39"),Gy=require("@swapkit/helpers"),Cy=require("@swapkit/utxo-signer"),ef=require("ts-pattern");X_=jT.createBase58check(Cy.utils.sha256)});function FH({xpub:y,chain:n,count:o,startIndex:f=0,accountIndex:T}){if(by("count",o),o<1)throw RangeError("count must be at least 1");by("startIndex",f);let C=ky(n),H=SH.HDKey.fromExtendedKey(y,C.bip32),U=Xf({accountIndex:T,chain:n}),_=xf(U),A=[];for(let Z of[!1,!0]){let M=H.deriveChild(Number(Z));for(let X=0;X<o;X++){let G=f+X,W=M.deriveChild(G);if(!W.publicKey)continue;let Q=mf({accountIndex:T,chain:n,change:Z,index:G});A.push({accountIndex:_,address:Pn({chain:n,network:C,publicKey:W.publicKey}),change:Z,index:G,path:xH.derivationPathToString(Q),pubkey:lH.hex.encode(W.publicKey)})}}return A}var lH,SH,xH;var $H=t(()=>{kn();sf();lH=require("@scure/base"),SH=require("@scure/bip32"),xH=require("@swapkit/helpers")});function M_(y,n){switch(y){case ff.Chain.BitcoinCash:return Oo(n||{});case ff.Chain.Zcash:return Ro(n);case ff.Chain.Bitcoin:case ff.Chain.Dogecoin:case ff.Chain.Litecoin:case ff.Chain.Dash:return Lf({chain:y,...n});default:throw new ff.SwapKitError("toolbox_utxo_not_supported",{chain:y})}}var ff;var IH=t(()=>{vT();sf();ko();kn();$H();vT();In();ff=require("@swapkit/helpers")});var lo={};My(lo,{validateZcashAddress:()=>df,validateUtxoAddress:()=>Yo,validateBchAddress:()=>Zf,toLegacyAddress:()=>yf,toCashAddress:()=>Sn,stripToCashAddress:()=>pn,stripPrefix:()=>tf,nonSegwitChains:()=>tn,isValidAddress:()=>Qo,getUtxoToolbox:()=>M_,getUtxoNetwork:()=>h2,getUtxoApi:()=>Yy,getUTXOAddressValidator:()=>Bo,getUTXOAddressPath:()=>mf,getUTXOAccountPath:()=>Xf,getUTXOAccountIndexFromPath:()=>xf,getScriptTypeForAddress:()=>cf,getOutputSize:()=>Fn,getNetworkForChain:()=>ky,getInputSize:()=>Qf,getDustThreshold:()=>$n,detectAddressNetwork:()=>Zo,deriveAddressesFromXpub:()=>FH,createZcashToolbox:()=>Ro,createUTXOToolbox:()=>Lf,createHDWalletHelpers:()=>TH,createCustomUtxoApi:()=>K2,createBCHToolbox:()=>Oo,compileMemo:()=>Iy,calculateTxSize:()=>If,assertDerivationIndex:()=>by,addressFromKeysGetter:()=>zo,addInputsAndOutputs:()=>Mf,accumulative:()=>uy,UtxoNetwork:()=>Xo,UTXOScriptType:()=>ET,TX_OVERHEAD:()=>PT,SEGWIT_MARKER_FLAG_WEIGHT:()=>pT,OutputSizes:()=>xn,OP_RETURN_OVERHEAD:()=>LH,MIN_TX_FEE:()=>e2,InputSizes:()=>tT});module.exports=Ny(lo);var So=t(()=>{sf();kn();gf();IH();vT();ko()});function En(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:n}=await import("@near-js/crypto"),o=y.index||0,f=y.derivationPath?KT.derivationPathToString(y.derivationPath.slice(0,3)):`m/44'/397'/${o}'`,{secretKey:T}=PH.parseSeedPhrase(y.phrase,f),C=n.fromString(T);return EH(C)}async function xo(y){let{KeyPair:n}=await import("@near-js/crypto"),o=n.fromString(y);return EH(o)}function EH(y){return new pH(y)}async function mT(y,n){let f=(await y.query({account_id:n,finality:"final",request_type:"view_access_key_list"})).keys.find((U)=>U.access_key.permission==="FullAccess");if(!f)throw new KT.SwapKitError("toolbox_near_no_public_key_found");let{PublicKey:T}=await import("@near-js/crypto"),C=T.fromString(f.public_key);return{nonce:f.access_key.nonce||0,publicKey:C}}var tH,KT,PH,pH;var Fo=t(()=>{tH=require("@near-js/signers"),KT=require("@swapkit/helpers"),PH=U0(require("near-seed-phrase"));pH=class pH extends tH.KeyPairSigner{#y;constructor(y){super(y);this.#y=y}getAddress(){let y=this.#y.getPublicKey(),n=Buffer.from(y.data).toString("hex");return Promise.resolve(n)}}});function $o(y){return"recipient"in y&&"amount"in y&&!("contractId"in y)}function Io(y){return"contractId"in y&&"methodName"in y}function to(y){return"actions"in y}function Po(y){return"newAccountId"in y}function po(y){return"contractCode"in y}function Eo(y){return"customEstimator"in y}function Vo(y){let n=0;for(let o of y)switch(o.enum){case"transfer":n+=Number(Oy.SIMPLE_TRANSFER);break;case"functionCall":n+=Number(Oy.CONTRACT_CALL);break;case"createAccount":n+=Number(Oy.ACCOUNT_CREATION);break;case"deployContract":n+=Number(Oy.CONTRACT_DEPLOYMENT);break;case"addKey":n+=Number(Oy.ACCESS_KEY_ADDITION);break;case"deleteKey":n+=Number(Oy.ACCESS_KEY_DELETION);break;case"stake":n+=Number(Oy.STAKE);break;default:n+=Number(Oy.CONTRACT_CALL)}return n.toString()}function bo(y){if(y==="ft_transfer"||y==="ft_transfer_call")return Oy.TOKEN_TRANSFER;if(y==="storage_deposit")return Oy.STORAGE_DEPOSIT;return Oy.CONTRACT_CALL}function L_(y){return(BigInt(y)*BigInt(1000000000000)).toString()}function Y_(y){return(BigInt(y)/BigInt(1000000000000)).toString()}var Oy;var uo=t(()=>{Oy={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 vo({account:y,contractId:n,viewMethods:o,changeMethods:f}){let{Contract:T}=await import("@near-js/accounts");return new T(y,n,{changeMethods:f,useLocalViewExecution:!0,viewMethods:o})}function B_(y){let n;async function o(){if(n)return n;return n=await yn.match(y).with({phrase:yn.P.string},async(q)=>{return await hT(q)}).with({signer:yn.P.any},({signer:q})=>q).otherwise(()=>{return}),n}async function f(){let q=await ny.getRPCUrl(ny.Chain.Near);return new VH.JsonRpcProvider({url:q})}async function T(q){let{Account:O}=await import("@near-js/accounts"),k=await f(),x=await o(),F=q||await C();return new O(F,k,x)}async function C(){let q=await o();if(!q)throw new ny.SwapKitError("toolbox_near_no_signer");return await q.getAddress()}async function H(q){return(await N({changeMethods:[],contractId:q.contractId,viewMethods:["storage_balance_of"]})).storage_balance_of({account_id:q.accountId})}async function U(q){let k=[await X({args:{account_id:q.recipient},attachedDeposit:"1250000000000000000000",gas:"150000000000000",methodName:"storage_deposit"}),await X({args:{amount:q.assetValue.getBaseValue("string"),memo:q.memo||null,receiver_id:q.recipient},attachedDeposit:"1",gas:"150000000000000",methodName:"ft_transfer"})];return z({actions:k,receiverId:q.contractId})}async function _(q){if(!await o())throw new ny.SwapKitError("toolbox_near_no_signer");let{assetValue:k,recipient:x,memo:F}=q,u=await C();if(!k.isGasAsset&&k.address){if(!await H({accountId:x,contractId:k.address}))return U({assetValue:k,contractId:k.address,memo:F,recipient:x})}let h=await A({...q,sender:u});return Q(h)}async function A({recipient:q,assetValue:O,memo:k,attachedDeposit:x,sender:F,functionCall:u}){let h=await f();if(!En(q))throw new ny.SwapKitError("toolbox_near_invalid_address",{recipient:q});if(!En(F))throw new ny.SwapKitError("toolbox_near_invalid_address",{sender:F});if(u)return M({...u,sender:F});if(!O.isGasAsset){let Bf=O.address;if(!Bf)throw new ny.SwapKitError("toolbox_near_missing_contract_address");return M({args:{amount:O.getBaseValue("string"),memo:k||null,receiver_id:q},attachedDeposit:x||"1",contractId:Bf,gas:"250000000000000",methodName:"ft_transfer",sender:F})}let{publicKey:i,nonce:fy}=await mT(h,F),By=O.getBaseValue("bigint"),{actionCreators:wy,createTransaction:Zy}=await import("@near-js/transactions"),{baseDecode:py}=await import("@near-js/utils"),ly=[wy.transfer(By)];if(k&&x)ly.push(wy.functionCall("memo",{memo:k},BigInt("250000000000000"),BigInt(x)));let Ky=await h.block({finality:"final"}),Yf=py(Ky.header.hash);return Zy(F,i,q,fy+1,ly,Yf)}function Z(q){let O=q.encode();return Buffer.from(O).toString("base64")}async function M({args:q,attachedDeposit:O,contractId:k,gas:x,methodName:F,sender:u}){let h=await f(),{publicKey:i,nonce:fy}=await mT(h,u),{createTransaction:By,actionCreators:wy}=await import("@near-js/transactions"),{baseDecode:Zy}=await import("@near-js/utils"),py=await h.block({finality:"final"}),ly=Zy(py.header.hash),Ky=[wy.functionCall(F,Buffer.from(JSON.stringify(q)),BigInt(x),BigInt(O))];return By(u,i,k,fy+1,Ky,ly)}async function X(q){let{actionCreators:O}=await import("@near-js/transactions");return O.functionCall(q.methodName,Buffer.from(JSON.stringify(q.args)),BigInt(q.gas),BigInt(q.attachedDeposit))}async function G(q){let O=await o();if(!O)throw new ny.SwapKitError("toolbox_near_no_signer");let[k,x]=await O.signTransaction(q);return x}async function W(q){return(await(await f()).sendTransaction(q)).transaction.hash}async function Q(q){let O=await o();if(!O)throw new ny.SwapKitError("toolbox_near_no_signer");try{let k=await G(q);return await W(k)}catch{return O.signAndSendTransactions?.({transactions:[q]})}}async function B(q){let O=await o();if("assetValue"in q){let x=await D();try{let F=await ny.getRPCUrl(ny.Chain.Near),u=await fetch(F,{body:JSON.stringify({id:"dontcare",jsonrpc:"2.0",method:"EXPERIMENTAL_protocol_config",params:{finality:"final"}}),headers:{"Content-Type":"application/json"},method:"POST"}),{result:{runtime_config:h}}=await u.json(),{execution:i,send_sir:fy}=h.transaction_costs.action_receipt_creation_config,{execution:By,send_sir:wy}=h.transaction_costs.action_creation_config.transfer_cost,Zy=BigInt(wy)+BigInt(By),py=BigInt(fy)+BigInt(i),Ky=(Zy+py)*BigInt(x.toString());return ny.AssetValue.from({chain:ny.Chain.Near,value:Ky})}catch(F){console.debug("NEAR fee estimation (protocol config) failed, using fallback:",F);let u=BigInt("115123062500"),h=BigInt("108059500000"),fy=(u+h)*BigInt(x.toString());return ny.AssetValue.from({chain:ny.Chain.Near,value:fy})}}let k=O?await T():void 0;return J(q,k)}async function D(){let q=await f();try{return await q.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function L(q,O,k){if(!await o())throw new ny.SwapKitError("toolbox_near_no_signer");let F=await T(),{formatNearAmount:u}=await import("@near-js/utils"),{PublicKey:h}=await import("@near-js/crypto"),i=u(k)||"0";return(await F.createAccount(q,h.fromString(O),BigInt(i))).transaction.hash}async function w(q){let O=await o();try{if(!O)throw new ny.SwapKitError("toolbox_near_no_signer");let{actionCreators:k}=await import("@near-js/transactions"),{contractId:x,methodName:F,args:u,deposit:h}=q,i=await T(),fy=await J({args:u||{},contractId:x,methodName:F}),By=k.functionCall(F,u||{},fy.getBaseValue("bigint"),BigInt(h||"1"));return(await i.signAndSendTransaction({actions:[By],receiverId:x})).transaction_outcome.id}catch(k){throw new ny.SwapKitError("toolbox_near_transfer_failed",{error:k})}}async function N(q){let O=await T();return vo({account:O,changeMethods:q.changeMethods,contractId:q.contractId,viewMethods:q.viewMethods})}async function z(q){if(!await o())throw new ny.SwapKitError("toolbox_near_no_signer");if(q.actions.length===0)throw new ny.SwapKitError("toolbox_near_empty_batch");return(await(await T()).signAndSendTransaction({actions:q.actions,receiverId:q.receiverId})).transaction.hash}async function J(q,O){let k=await yn.match(q).when($o,()=>Oy.SIMPLE_TRANSFER).when(Io,(F)=>bo(F.methodName)).when(to,(F)=>Vo(F.actions)).when(Po,()=>Oy.ACCOUNT_CREATION).when(po,()=>Oy.CONTRACT_DEPLOYMENT).when(Eo,(F)=>{if(!O)throw new ny.SwapKitError("toolbox_near_no_account");return F.customEstimator(O)}).otherwise(()=>{throw new ny.SwapKitError("toolbox_near_invalid_gas_params")}),x=BigInt(k)*BigInt(1000000000000);return ny.AssetValue.from({chain:ny.Chain.Near,value:x})}function Y(q,O){return console.warn("NEAR toolbox: estimateGas is deprecated, use estimateGasLimit instead"),J(q,O)}async function R(){let q=await f();try{return(await q.gasPrice(null)).gas_price||"100000000"}catch{return"100000000"}}async function l(){let q=await o();return q?(await q.getPublicKey()).toString():""}return{broadcastTransaction:W,callFunction:w,createAction:X,createContract:N,createContractFunctionCall:M,createSubAccount:L,createTransaction:A,estimateGas:Y,estimateGasLimit:J,estimateTransactionFee:B,executeBatchTransaction:z,getAddress:C,getBalance:Sy(ny.Chain.Near),getGasPrice:R,getNearProvider:f,getPublicKey:l,getSignerFromPhrase:hT,getSignerFromPrivateKey:xo,serializeTransaction:Z,signAndBroadcastTransaction:Q,signTransaction:G,transfer:_,validateAddress:En}}var VH,ny,yn;var jo=t(()=>{iy();Fo();uo();VH=require("@near-js/providers"),ny=require("@swapkit/helpers"),yn=require("ts-pattern")});var bH=t(()=>{jo()});var Ko={};My(Ko,{validateNearAddress:()=>En,tgasToGas:()=>L_,isSimpleTransfer:()=>$o,isCustomEstimator:()=>Eo,isContractDeployment:()=>po,isContractCall:()=>Io,isBatchTransaction:()=>to,isAccountCreation:()=>Po,getNearToolbox:()=>B_,getNearSignerFromPrivateKey:()=>xo,getNearSignerFromPhrase:()=>hT,getFullAccessPublicKey:()=>mT,getContractMethodGas:()=>bo,gasToTGas:()=>Y_,estimateBatchGas:()=>Vo,createNearContract:()=>vo,GAS_COSTS:()=>Oy});module.exports=Ny(Ko);var ho=t(()=>{Fo();uo();jo();bH()});var mo={};My(mo,{validateRadixAddress:()=>jH,getRadixToolbox:()=>D_});module.exports=Ny(mo);function jH(y){return y.startsWith("account_rdx1")&&y.length===66}function z_({networkApi:y}){return async function(o){let f=await N_({address:o,networkApi:y}),T=await O_({networkApi:y,resources:f});if(!T.some((H)=>H.isGasAsset))return[vy.AssetValue.from({chain:vy.Chain.Radix}),...T];return T}}async function N_({address:y,networkApi:n}){let o=!0,f,T=[],C=await w_(n);while(o){let H={address:y,at_ledger_state:{state_version:C},cursor:f,limit_per_page:100},U=await n.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:H});if(T=T.concat(U.items),U.next_cursor)f=U.next_cursor;else o=!1}return T}async function O_({resources:y,networkApi:n}){let o=[],f=50,T=[];for(let C=0;C<y.length;C+=50)T.push(y.slice(C,C+50));for(let C of T){let H=C.map((A)=>A.resource_address),U=await n.state.getEntityDetailsVaultAggregated(H),_=new Map;for(let A of U)if(A.details!==void 0){let Z=A.metadata?.items.find((X)=>X.key==="symbol"),M=Z?.value.typed.type==="String"?Z.value.typed.value:"?";if(A.details.type==="FungibleResource")_.set(A.address,{decimals:A.details.divisibility,symbol:M})}for(let A of C)if(A.aggregation_level==="Global"){let Z=_.get(A.resource_address)||{decimals:0,symbol:"?"},M=vy.AssetValue.from({asset:Z.symbol!==vy.Chain.Radix?`${vy.Chain.Radix}.${Z.symbol}-${A.resource_address}`:"XRD.XRD",value:A.amount});o.push(M)}}return o}async function w_(y){return(await y.status.getCurrent()).ledger_state.state_version}function D_({dappConfig:y}={}){let n=y||vy.SKConfig.get("integrations").radix,o=vH.RadixDappToolkit({...n,networkId:n.network?.networkId||1}),f=uH.GatewayApiClient.initialize(o.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:z_({networkApi:f}),networkApi:f,signAndBroadcast:()=>{throw new vy.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:jH}}var uH,vH,vy;var co=t(()=>{uH=require("@radixdlt/babylon-gateway-api-sdk"),vH=require("@radixdlt/radix-dapp-toolkit"),vy=require("@swapkit/helpers")});function cT(y){return/^[0-9A-Fa-f]{40}$/.test(y)}function Vn(y){if(cT(y))return y.toUpperCase();if(y.length<=3){let o=Buffer.from(y.padEnd(3,"\x00")).toString("hex");return`00${"0".repeat(22)}${o}${"0".repeat(10)}`.toUpperCase()}let n=Buffer.from(y).toString("hex").toUpperCase();if(n.length>40)throw new KH.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:y,reason:"Currency exceeds maximum length (20 bytes)"}});return n.padEnd(40,"0")}function R_(y){if(!cT(y))return y;if(y.toUpperCase().startsWith("00")){let n=y.slice(24,30);try{let o=Buffer.from(n,"hex").toString("ascii").replace(/\0/g,"");if(/^[A-Za-z0-9?!@#$%^&*<>(){}[\]|]+$/.test(o)&&o.length>0)return o}catch{}return y.toUpperCase()}try{let n=y.replace(/0+$/,""),o=n.length%2===0?n:`${n}0`,f=Buffer.from(o,"hex").toString("utf8");if(/^[\x20-\x7E]+$/.test(f))return f}catch{}return y.toUpperCase()}function fn(y){if(cT(y))return y.toUpperCase();if(y.length<=3)return y;return Vn(y)}var KH;var gT=t(()=>{KH=require("@swapkit/helpers")});async function k_(y,n){let o=fn(y),f=dT.find((T)=>fn(T.currency)===o&&T.issuer===n);if(f)return f;try{let T=await iT.RequestClient.get(`https://api.xrplmeta.org/token/${y}:${n}`);if(T)return{currency:y,decimals:15,description:T.desc,domain:T.domain,icon:T.icon,issuer:n,name:T.name,verified:T.self_assessment?.is_regulated||T.self_assessment?.is_licensed}}catch(T){iT.warnOnce({condition:!0,id:`xrpl_token_lookup_${y}_${n}`,warning:`Failed to fetch XRPL token info for ${y}:${n}: ${T}`})}return{currency:y,decimals:15,issuer:n,verified:!1}}function l_(y){return dT.filter((n)=>n.issuer===y)}function S_(y,n){let o=fn(y);return dT.some((f)=>fn(f.currency)===o&&f.issuer===n)}var iT,dT;var hH=t(()=>{gT();iT=require("@swapkit/helpers"),dT=[{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 go={};My(go,{validateRippleAddress:()=>aT,parseXrplTokenIdentifier:()=>gH,normalizeCurrency:()=>fn,isKnownToken:()=>S_,isHexCurrency:()=>cT,hexToCurrency:()=>R_,hashes:()=>dH.hashes,getXrplTokenInfo:()=>k_,getRippleToolbox:()=>F_,getKnownTokensByIssuer:()=>l_,formatXrplTokenIdentifier:()=>iH,currencyToHex:()=>Vn,XRPL_TOKEN_ERROR_CODES:()=>rT,XRPL_KNOWN_TOKENS:()=>dT});module.exports=Ny(go);function gH(y){let n=y.match(/^XRP\.([A-Fa-f0-9]{40}|[\x20-\x7E]{1,20})-([a-zA-Z0-9]{25,34})$/);if(!n?.[1]||!n?.[2])return null;if(!nf.isValidAddress(n[2]))return null;return{currency:n[1],issuer:n[2]}}function iH(y,n){return`${c.Chain.Ripple}.${y}-${n}`}function x_(y){if(y.isGasAsset)return nf.xrpToDrops(y.getValue("string"));let n=gH(y.toString());if(!n)throw new c.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:y.toString()}});return{currency:n.currency,issuer:n.issuer,value:y.getValue("string")}}function cH(y){let n=nf.Wallet.fromMnemonic(y);return{getAddress:()=>Promise.resolve(n.address),signTransaction:(o)=>Promise.resolve(n.sign(o))}}function aT(y){return nf.isValidAddress(y)}function F_(y={}){let n=nn.match(y).with({phrase:nn.P.string},({phrase:L})=>cH(L)).with({signer:nn.P.any},({signer:L})=>L).otherwise(()=>{return}),o;async function f(){let L=await c.getRPCUrl(c.Chain.Ripple);if(!L)throw new c.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:c.Chain.Ripple}});let w=new nf.Client(L);return await w.connect(),w}async function T(){if(o){let L=await o.catch(()=>null);if(L?.isConnected())return L}return o=f(),o}let C=()=>{if(!n)throw new c.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return n.getAddress()},H=async(L)=>{let w=L||await C(),{baseDecimal:N}=c.getChainConfig(c.Chain.Ripple),z=await T();try{let[J,Y]=await Promise.all([z.request({account:w,command:"account_info"}),z.request({account:w,command:"account_lines"})]),R=J.result.account_data.Balance,l=[c.AssetValue.from({chain:c.Chain.Ripple,fromBaseDecimal:N,value:R})];for(let q of Y.result.lines){let O=iH(q.currency,q.account);if(Number.parseFloat(q.balance)!==0)l.push(c.AssetValue.from({asset:O,asyncTokenLookup:!1,value:q.balance}))}return l}catch(J){if(J.data?.error_code===mH.ACCOUNT_NOT_FOUND)return[c.AssetValue.from({chain:c.Chain.Ripple,value:0})];throw new c.SwapKitError({errorKey:"toolbox_ripple_get_balance_error",info:{address:w,error:J}})}},U=async()=>{let{baseDecimal:L}=c.getChainConfig(c.Chain.Ripple),z=(await(await T()).request({command:"fee"})).result.drops.open_ledger_fee;return c.AssetValue.from({chain:c.Chain.Ripple,fromBaseDecimal:L,value:z})};async function _(L){let w=L||await C(),N=await T();try{return(await N.request({account:w,command:"account_lines"})).result.lines.map((J)=>({account:J.account,authorized:J.authorized??!1,balance:J.balance,currency:J.currency,freeze:J.freeze??!1,freezePeer:J.freeze_peer??!1,limit:J.limit,limitPeer:J.limit_peer,noRipple:J.no_ripple??!1,noRipplePeer:J.no_ripple_peer??!1,peerAuthorized:J.peer_authorized??!1,qualityIn:J.quality_in??0,qualityOut:J.quality_out??0}))}catch(z){if(z.data?.error_code===mH.ACCOUNT_NOT_FOUND)return[];throw new c.SwapKitError({errorKey:"toolbox_ripple_get_trust_lines_error",info:{address:w,error:z}})}}async function A({address:L,currency:w,issuer:N}){let z=await _(L),J=Vn(w);return z.some((Y)=>{return Vn(Y.currency)===J&&Y.account===N})}async function Z({currency:L,issuer:w,limit:N,sender:z}){let J=z||await C();if(!aT(w))throw new c.SwapKitError({errorKey:"core_transaction_invalid_recipient_address",info:{address:w}});let Y=Number.parseFloat(N);if(Number.isNaN(Y)||Y<0)throw new c.SwapKitError({errorKey:"toolbox_ripple_invalid_trust_line_limit",info:{limit:N}});let R=await T(),l={Account:J,LimitAmount:{currency:L,issuer:w,value:N},TransactionType:"TrustSet"};return R.autofill(l)}async function M({assetValue:L,recipient:w,memo:N,sender:z,destinationTag:J,extendBySeconds:Y=150}){if(!aT(w))throw new c.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let R=z||await C();if(L.chain!==c.Chain.Ripple)throw new c.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:L.toString()}});let l=x_(L),q={Account:R,Amount:l,Destination:w,TransactionType:"Payment",...J!==void 0&&{DestinationTag:J}};if(N)q.Memos=[{Memo:{MemoData:Buffer.from(N).toString("hex")}}];let k=await(await T()).autofill(q);if(k.LastLedgerSequence&&Y>0)k.LastLedgerSequence+=Math.ceil(Y/4);return k}function X(L){if(!n)throw new c.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return n.signTransaction(L)}async function G(L){let N=await(await T()).submitAndWait(L),{result:z}=N;if(z.validated)return z.hash;let J=z.meta?.TransactionResult,Y=nn.match(J).with(rT.tecNO_LINE,()=>"No trust line exists for this token").with(rT.tecPATH_DRY,()=>"Payment path could not deliver funds").with(rT.tecFROZEN,()=>"Token is frozen").otherwise(()=>{return});throw new c.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:c.Chain.Ripple,...Y?{reason:Y}:{txResult:J}}})}let W=async(L)=>{try{let w=await X(L);return G(w.tx_blob)}catch(w){if(w instanceof c.SwapKitError)throw w;throw new c.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:c.Chain.Ripple,error:w}})}};async function Q(L){if(!n)throw new c.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let w=await n.getAddress(),N=await M({...L,sender:w}),z=await X(N);return G(z.tx_blob)}async function B(L){if(!n)throw new c.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let w=await n.getAddress(),N=await Z({...L,sender:w}),z=await X(N);return G(z.tx_blob)}function D(){let L=o;if(o=null,L)L.then((w)=>{if(w?.isConnected())return w.disconnect();return}).catch((w)=>{console.warn("XRPL Cleanup failed silently:",w)})}return{broadcastTransaction:G,createSigner:cH,createTransaction:M,disconnect:D,estimateTransactionFee:U,getAddress:C,getBalance:H,getTrustLines:_,hasTrustLine:A,setTrustLine:Z,setTrustLineAndBroadcast:B,signAndBroadcastTransaction:W,signTransaction:X,transfer:Q,validateAddress:aT}}var c,nn,nf,dH,mH,rT;var io=t(()=>{gT();c=require("@swapkit/helpers"),nn=require("ts-pattern"),nf=require("xrpl");gT();hH();dH=require("xrpl"),mH={ACCOUNT_NOT_FOUND:19},rT={tecFROZEN:"tecFROZEN",tecNO_AUTH:"tecNO_AUTH",tecNO_DST:"tecNO_DST",tecNO_LINE:"tecNO_LINE",tecPATH_DRY:"tecPATH_DRY",tecUNFUNDED_OFFER:"tecUNFUNDED_OFFER"}});function ro(y,n){let o=0n,f=0n,T=n;while(T<y.length&&T-n<10){let C=y[T++];if(C===void 0)break;if(o|=BigInt(C&127)<<f,f+=7n,(C&128)===0)return[o,T]}throw new Pf.SwapKitError("toolbox_tron_transaction_creation_failed")}function bn(y){let n=[],o=y<0n?y+2n**64n:y;while(o>=128n)n.push(Number(o&0x7fn)|128),o>>=7n;return n.push(Number(o)),n}function sT(y,n,o){let f=y.get(n);if(f)f.push(o);else y.set(n,[o])}function P_(y){let n=new Map,o=0;while(o<y.length){let[f,T]=ro(y,o);o=T;let C=Number(f>>3n),H=Number(f&7n);if(H===eT){let[U,_]=ro(y,o);o=_,sT(n,C,{data:new Uint8Array(bn(U)),wireType:eT})}else if(H===y0){let[U,_]=ro(y,o);o=_;let A=Number(U);if(A<0||o+A>y.length)throw new Pf.SwapKitError("toolbox_tron_transaction_creation_failed");let Z=y.slice(o,o+A);o+=A,sT(n,C,{data:Z,wireType:y0})}else if(H===rH){if(o+8>y.length)throw new Pf.SwapKitError("toolbox_tron_transaction_creation_failed");let U=y.slice(o,o+8);o+=8,sT(n,C,{data:U,wireType:rH})}else if(H===aH){if(o+4>y.length)throw new Pf.SwapKitError("toolbox_tron_transaction_creation_failed");let U=y.slice(o,o+4);o+=4,sT(n,C,{data:U,wireType:aH})}else throw new Pf.SwapKitError("toolbox_tron_transaction_creation_failed")}return n}function p_(y){let n=[];for(let[C,H]of[...y.entries()].sort(([U],[_])=>U-_))for(let{wireType:U,data:_}of H){let A=BigInt(C<<3|U);if(n.push(new Uint8Array(bn(A))),U===y0)n.push(new Uint8Array(bn(BigInt(_.length))));n.push(_)}let o=n.reduce((C,H)=>C+H.length,0),f=new Uint8Array(o),T=0;for(let C of n)f.set(C,T),T+=C.length;return f}function eH(y,n){if(!y||y.length%2!==0)throw new Pf.SwapKitError("toolbox_tron_transaction_creation_failed");let o=Tn.hexToBytes(y),f=P_(o);if(n.expiration!==void 0)f.set($_,[{data:new Uint8Array(bn(BigInt(n.expiration))),wireType:eT}]);if(n.data!==void 0)f.set(I_,[{data:Tn.hexToBytes(n.data),wireType:y0}]);if(n.fee_limit!==void 0)f.set(t_,[{data:new Uint8Array(bn(BigInt(n.fee_limit))),wireType:eT}]);let T=p_(f),C=Tn.bytesToHex(T),H=Tn.bytesToHex(sH.sha256(T));return{raw_data_hex:C,txID:H}}var sH,Tn,Pf,eT=0,rH=1,y0=2,aH=5,$_=8,I_=10,t_=18;var y5=t(()=>{sH=require("@noble/hashes/sha2.js"),Tn=require("@noble/hashes/utils.js"),Pf=require("@swapkit/helpers")});function jy(y){if(typeof y!=="string")return!1;try{let n=f0.decode(y);return n.length===21&&n[0]===T5}catch{return!1}}function o5(y){return Py.bytesToHex(f0.decode(y))}function V_(y){return f0.decode(y).slice(1)}function C5(y){let n=ao.secp256k1.getPublicKey(Py.hexToBytes(y),!1),o=f5.keccak_256(n.slice(1)).slice(-20),f=new Uint8Array(21);return f[0]=T5,f.set(o,1),f0.encode(f)}function H5({txID:y,privateKey:n}){let o=ao.secp256k1.sign(Py.hexToBytes(y),Py.hexToBytes(n),{format:"recovered",prehash:!1}),f=o[0]??0,T=Py.bytesToHex(o.slice(1,33)),C=Py.bytesToHex(o.slice(33,65)),H=(f+27).toString(16).padStart(2,"0");return T+C+H}function on({txID:y,raw_data_hex:n}){let o=Py.bytesToHex(so.sha256(Py.hexToBytes(n)));if(y!==o)throw new eo.SwapKitError("toolbox_tron_invalid_transaction_integrity",{expected:o,txID:y})}function b_(y){return`000000000000000000000000${Py.bytesToHex(V_(y))}`}function u_(y){let n=typeof y==="bigint"?y:BigInt(y);if(n<0n||n>=E_)throw new eo.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:n.toString()});return n.toString(16).padStart(64,"0")}function Cn(y){return y.map(({type:n,value:o})=>n==="address"?b_(o):u_(BigInt(o))).join("")}function U5(y){return Py.bytesToHex(new TextEncoder().encode(y))}var ao,so,f5,Py,n5,eo,f0,T5=65,E_;var yC=t(()=>{ao=require("@noble/curves/secp256k1.js"),so=require("@noble/hashes/sha2.js"),f5=require("@noble/hashes/sha3.js"),Py=require("@noble/hashes/utils.js"),n5=require("@scure/base"),eo=require("@swapkit/helpers"),f0=n5.createBase58check(so.sha256),E_=2n**256n});function A5(){try{return Ay.getRPCUrlSync(Ay.Chain.Tron)}catch{return _5}}function q5(){let y=new AbortController,n=setTimeout(()=>y.abort(),m_);return{cleanup:()=>clearTimeout(n),signal:y.signal}}async function pf(y,n){let{signal:o,cleanup:f}=q5();try{let T=await fetch(`${A5()}${y}`,{body:JSON.stringify(n),headers:{"Content-Type":"application/json"},method:"POST",signal:o});if(!T.ok)throw new Ay.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${T.status} ${T.statusText} on ${y}`});return await T.json()}finally{f()}}async function G5(y,n){let{signal:o,cleanup:f}=q5();try{let T=await fetch(`${n??A5()}${y}`,{headers:{"Content-Type":"application/json"},signal:o});if(!T.ok)throw new Ay.SwapKitError("toolbox_tron_trongrid_api_error",{message:`${T.status} ${T.statusText} on ${y}`});return await T.json()}finally{f()}}async function W5(y){if(!jy(y))throw new Ay.SwapKitError("toolbox_tron_trongrid_api_error",{address:y,message:"Invalid address"});try{let n=await G5(`/v1/accounts/${y}`,_5);if(!(n.success&&n.data)||n.data.length===0)return;let o;try{o=o5(y).toLowerCase()}catch{o=y.toLowerCase()}let f=n.data.find((T)=>T.address.toLowerCase()===o);if(!f)return;return{balance:f.balance,trc20:f.trc20||[]}}catch(n){if(n instanceof Ay.SwapKitError)throw n;throw new Ay.SwapKitError("toolbox_tron_trongrid_api_error",{address:y,message:n instanceof Error?n.message:"Unknown error"})}}async function X5({from:y,to:n,amount:o}){let T=await pf("/wallet/createtransaction",{amount:o,owner_address:y,to_address:n,visible:!0});if(!T.txID||!T.raw_data_hex||!T.raw_data)throw new Ay.SwapKitError("toolbox_tron_transaction_creation_failed");let H=T.raw_data?.contract?.[0]?.parameter?.value;if(H?.to_address!==n||H?.owner_address!==y||H?.amount!==o)throw new Ay.SwapKitError("toolbox_tron_transaction_creation_failed");return on(T),T}async function Q5({ownerAddress:y,contractAddress:n,functionSelector:o,parameter:f,feeLimit:T,callValue:C=0}){let H=await pf("/wallet/triggersmartcontract",{call_value:C,contract_address:n,fee_limit:T,function_selector:o,owner_address:y,parameter:f,visible:!0});if(!H.result.result||!H.transaction?.txID||!H.transaction?.raw_data_hex)throw new Ay.SwapKitError("toolbox_tron_transaction_creation_failed");let _=H.transaction.raw_data?.contract?.[0]?.parameter?.value;if(_?.contract_address!==n||_?.owner_address!==y)throw new Ay.SwapKitError("toolbox_tron_transaction_creation_failed");return on(H.transaction),H.transaction}function Z5({ownerAddress:y,contractAddress:n,functionSelector:o,parameter:f}){return pf("/wallet/triggerconstantcontract",{contract_address:n,function_selector:o,owner_address:y,parameter:f,visible:!0})}function c_({ownerAddress:y,contractAddress:n,functionSelector:o,parameter:f}){return pf("/wallet/estimateenergy",{contract_address:n,function_selector:o,owner_address:y,parameter:f,visible:!0})}async function un(y){try{let{result:n,txid:o}=await pf("/wallet/broadcasttransaction",{raw_data:y.raw_data,raw_data_hex:y.raw_data_hex,signature:y.signature,txID:y.txID,visible:y.visible});if(!n||!o)throw new Ay.SwapKitError("toolbox_tron_token_transfer_failed");return o}catch(n){throw new Ay.SwapKitError("toolbox_tron_broadcast_failed",{error:n})}}async function vn(){let y={};try{let{chainParameter:n}=await G5("/wallet/getchainparameters");for(let o of n)y[o.key]=o.value}catch(n){Ay.warnOnce({condition:!0,id:"tron_chain_params_failed",warning:`Failed to fetch chain params, using defaults: ${n instanceof Error?n.message:n}`})}return{bandwidthFee:y.getTransactionFee??v_,createAccountFee:y.getCreateNewAccountFeeInSystemContract??y.getCreateAccountFee??j_,energyFee:y.getEnergyFee??K_,memoFee:y.getMemoFee??h_}}async function fC(y){try{let n=await pf("/wallet/getaccountresource",{address:y,visible:!0});return{bandwidth:{free:(n.freeNetLimit??600)-(n.freeNetUsed??0),total:n.NetLimit??0,used:n.NetUsed??0},energy:{total:n.EnergyLimit??0,used:n.EnergyUsed??0}}}catch(n){return Ay.warnOnce({condition:!0,id:"tron_account_resources_failed",warning:`Failed to fetch account resources, using defaults: ${n instanceof Error?n.message:n}`}),{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}}async function jn(y){try{let n=await pf("/wallet/getaccount",{address:y,visible:!0});return n&&Object.keys(n).length>0}catch{return!1}}async function nC(y){try{let n=await c_({...y,ownerAddress:y.sender}),o=n.energy_required??n.energyRequired;if(n.result&&!n.result.result)throw new Ay.SwapKitError("toolbox_tron_trongrid_api_error",{message:n.result.message||"estimateenergy failed"});if(o!==void 0){if(Number.isFinite(o)&&o>0)return o;throw new Ay.SwapKitError("toolbox_tron_trongrid_api_error",{message:"Invalid estimateenergy response"})}}catch(n){Ay.warnOnce({condition:!0,id:"tron_energy_estimation_failed",warning:`Failed to estimate energy with estimateenergy, falling back to triggerconstantcontract: ${n instanceof Error?n.message:n}`})}try{let{energy_used:n}=await Z5({...y,ownerAddress:y.sender});return n}catch(n){return Ay.warnOnce({condition:!0,id:"tron_energy_estimation_fallback_failed",warning:`Failed to estimate energy, using default: ${n instanceof Error?n.message:n}`}),65000}}async function J5({assetAddress:y,owner:n,spender:o}){let f=Cn([{type:"address",value:n},{type:"address",value:o}]),C=(await Z5({contractAddress:y,functionSelector:"allowance(address,address)",ownerAddress:o,parameter:f})).constant_result?.[0];if(!C)return 0n;try{return BigInt(`0x${C}`)}catch{return 0n}}var Ay,_5="https://api.trongrid.io",v_=1000,j_=1e6,K_=420,h_=1e6,m_=30000;var M5=t(()=>{yC();Ay=require("@swapkit/helpers")});function R5({phrase:y,derivationPath:n}){let o=O5.HDKey.fromMasterSeed(w5.mnemonicToSeedSync(y)).derive(n);if(!o.privateKey)throw new p.SwapKitError("toolbox_tron_no_signer");return N5.bytesToHex(o.privateKey)}function k5({phrase:y,derivationPath:n,index:o}){let f=n||p.derivationPathToString(p.updateDerivationPath(p.NetworkDerivationPath[p.Chain.Tron],{index:o||0}));return R5({derivationPath:f,phrase:y})}function i_({phrase:y,derivationPath:n}){let o=R5({derivationPath:n,phrase:y}),f=C5(o);return{getAddress:()=>Promise.resolve(f),signTransaction:(T)=>{on(T);let C=H5({privateKey:o,txID:T.txID});return Promise.resolve({...T,signature:[C]})}}}function z5({transaction:y,memo:n,expiration:o,feeLimit:f}){let T={},C={};if(f!==void 0&&y.raw_data)T.fee_limit=f,C.fee_limit=f;if(n){let _=U5(n);T.data=_,C.data=_}if(o){let _=y.raw_data.expiration+o*1000;T.expiration=_,C.expiration=_}if(Object.keys(T).length===0)return y;let{raw_data_hex:H,txID:U}=eH(y.raw_data_hex,T);return{...y,raw_data:{...y.raw_data,...C},raw_data_hex:H,txID:U}}function l5(y={}){let n="index"in y?y.index||0:0,o=p.derivationPathToString("derivationPath"in y&&y.derivationPath?y.derivationPath:p.updateDerivationPath(p.NetworkDerivationPath[p.Chain.Tron],{index:n})),f,T=!1;function C(){if(T)return Promise.resolve(f);return f=Hn.match(y).with({phrase:Hn.P.string},({phrase:J})=>i_({derivationPath:o,phrase:J})).with({signer:Hn.P.not(Hn.P.nullish)},({signer:J})=>J).otherwise(()=>{return}),T=!0,Promise.resolve(f)}async function H(){let J=await C();if(!J)throw new p.SwapKitError("toolbox_tron_no_signer");return J.getAddress()}async function U(J,Y){let R=J||Y5,l=Y??(await vn()).energyFee,q=R*l,O=Math.ceil(q*1.5);return Math.min(Math.max(O,1e7),150000000)}async function _({contractAddress:J,functionSelector:Y,parameter:R,sender:l,memo:q,expiration:O,extraEnergy:k=0}){let x=await nC({contractAddress:J,functionSelector:Y,parameter:R,sender:l}),F=await U(x+k),u=await Q5({contractAddress:J,feeLimit:F,functionSelector:Y,ownerAddress:l,parameter:R});return z5({expiration:O,feeLimit:F,memo:q,transaction:u})}async function A(J){if(!jy(J))return[p.AssetValue.from({chain:p.Chain.Tron})];try{let Y=await W5(J);if(!Y)return[p.AssetValue.from({chain:p.Chain.Tron})];let R=[p.AssetValue.from({chain:p.Chain.Tron,fromBaseDecimal:6,value:String(Y.balance)})],l=Y.trc20?.find((q)=>(oC in q));if(l){let q=l[oC];R.push(p.AssetValue.from({asset:`TRON.USDT-${oC}`,fromBaseDecimal:6,value:q}))}return R}catch(Y){return p.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${Y instanceof Error?Y.message:Y}`}),[p.AssetValue.from({chain:p.Chain.Tron})]}}async function Z({recipient:J,assetValue:Y,memo:R,expiration:l}){if(!jy(J))throw new p.SwapKitError("toolbox_tron_token_transfer_failed",{message:"invalid address"});let q=await C();if(!q)throw new p.SwapKitError("toolbox_tron_no_signer");try{let O=await H(),k=await B({assetValue:Y,expiration:l,memo:R,recipient:J,sender:O}),x=await q.signTransaction(k),F=await un(x);if(!F)throw new p.SwapKitError("toolbox_tron_token_transfer_failed",{message:"broadcast failed"});return F}catch(O){throw new p.SwapKitError("toolbox_tron_token_transfer_failed",{message:O instanceof Error?O.message:String(O)})}}function M({requiredBandwidth:J,resources:Y,feePerUnit:R}){let l=Math.max(0,Y.free+Y.total-Y.used);return J>l?(J-l)*R:0}async function X({memo:J,recipient:Y,senderAddress:R}){let[l,q,O]=await Promise.all([vn(),jn(Y),fC(R)]),k=q?0:l.createAccountFee,x=M({feePerUnit:l.bandwidthFee,requiredBandwidth:L5,resources:O.bandwidth}),F=J?l.memoFee:0;return p.AssetValue.from({chain:p.Chain.Tron,fromBaseDecimal:p.BaseDecimal.TRON,value:k+x+F})}async function G({assetValue:J,memo:Y,recipient:R,senderAddress:l}){let q=J.address;if(!q)throw new p.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:J.toString()});let[O,k,x,F]=await Promise.all([vn(),jn(R),fC(l),nC({contractAddress:q,functionSelector:"transfer(address,uint256)",parameter:Cn([{type:"address",value:R},{type:"uint256",value:J.getBaseValue("string")}]),sender:l})]),h=F+(k?0:TC),i=M({feePerUnit:O.bandwidthFee,requiredBandwidth:B5,resources:x.bandwidth}),fy=Math.max(0,x.energy.total-x.energy.used),By=h>fy?(h-fy)*O.energyFee:0,wy=Y?O.memoFee:0;return p.AssetValue.from({chain:p.Chain.Tron,fromBaseDecimal:p.BaseDecimal.TRON,value:i+By+wy})}async function W({assetValue:J,memo:Y,recipient:R}){let[l,q]=await Promise.all([vn(),jn(R)]);if(J.isGasAsset){let F=q?0:l.createAccountFee,u=Y?l.memoFee:0;return p.AssetValue.from({chain:p.Chain.Tron,fromBaseDecimal:p.BaseDecimal.TRON,value:F+L5*l.bandwidthFee+u})}let k=await U(Y5+(q?0:TC),l.energyFee),x=Y?l.memoFee:0;return p.AssetValue.from({chain:p.Chain.Tron,fromBaseDecimal:p.BaseDecimal.TRON,value:k+B5*l.bandwidthFee+x})}async function Q({assetValue:J,memo:Y,recipient:R,sender:l}){let q=await C();try{let O=l?l:q?await H():void 0;if(!O)return W({assetValue:J,memo:Y,recipient:R});return J.isGasAsset?X({memo:Y,recipient:R,senderAddress:O}):G({assetValue:J,memo:Y,recipient:R,senderAddress:O})}catch(O){throw p.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee: ${O instanceof Error?O.message:O}`}),new p.SwapKitError("toolbox_fee_estimation_failed",{chain:p.Chain.Tron,error:O})}}async function B({recipient:J,assetValue:Y,memo:R,sender:l,expiration:q}){if(!jy(J)||!jy(l))throw new p.SwapKitError("toolbox_tron_transaction_creation_failed",{message:"invalid address"});if(Y.isGasAsset){let x=await X5({amount:Y.getBaseValue("number"),from:l,to:J});return z5({expiration:q,memo:R,transaction:x})}let O=Y.address;if(!O)throw new p.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:Y.toString()});let k=await jn(J);return _({contractAddress:O,expiration:q,extraEnergy:k?0:TC,functionSelector:"transfer(address,uint256)",memo:R,parameter:Cn([{type:"address",value:J},{type:"uint256",value:Y.getBaseValue("string")}]),sender:l})}async function D(J){on(J);let Y=await C();if(!Y)throw new p.SwapKitError("toolbox_tron_no_signer");return Y.signTransaction(J)}async function L(J){let Y=await D(J);return un(Y)}function w({assetAddress:J,spenderAddress:Y,from:R}){return J5({assetAddress:J,owner:R,spender:Y})}async function N({assetAddress:J,spenderAddress:Y,from:R,amount:l}){let q=await w({assetAddress:J,from:R,spenderAddress:Y});if(!l)return q>0n;return q>=BigInt(l)}async function z({assetAddress:J,spenderAddress:Y,amount:R,from:l}){if(!jy(J)||!jy(Y))throw new p.SwapKitError("toolbox_tron_approve_failed");let q=await C();if(!q)throw new p.SwapKitError("toolbox_tron_no_signer");let O=l||await H(),k=R!==void 0?BigInt(R).toString():g_;try{let x=await _({contractAddress:J,functionSelector:"approve(address,uint256)",parameter:Cn([{type:"address",value:Y},{type:"uint256",value:k}]),sender:O}),F=await q.signTransaction(x),u=await un(F);if(!u)throw new p.SwapKitError("toolbox_tron_approve_failed");return u}catch(x){if(x instanceof p.SwapKitError)throw x;throw new p.SwapKitError("toolbox_tron_approve_failed",{error:x})}}return{approve:z,broadcastTransaction:un,createTransaction:B,estimateTransactionFee:Q,getAddress:H,getApprovedAmount:w,getBalance:A,getRpcUrl:()=>p.getRPCUrl(p.Chain.Tron),isApproved:N,signAndBroadcastTransaction:L,signTransaction:D,transfer:Z,validateAddress:jy}}var N5,O5,w5,p,Hn,D5,L5=268,Y5=65000,TC=25000,B5=345,oC="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",g_="115792089237316195423570985008687907853269984665640564039457584007913129639935";var S5=t(()=>{y5();M5();yC();N5=require("@noble/hashes/utils.js"),O5=require("@scure/bip32"),w5=require("@scure/bip39"),p=require("@swapkit/helpers"),Hn=require("ts-pattern"),D5=jy});var CC={};My(CC,{validateTronAddress:()=>D5,getTronToolbox:()=>l5,getTronPrivateKeyFromMnemonic:()=>k5});module.exports=Ny(CC);var HC=t(()=>{S5()});function T0(y){if(!y||typeof y!=="string"||!y.startsWith("G")||y.length!==56)return!1;return d_.test(y)}async function r_(y){if(!T0(y))return!1;try{let{StrKey:n}=await import("@stellar/stellar-sdk");return n.isValidEd25519PublicKey(y)}catch{return!1}}function x5(y={}){let n,o=y.derivationPath||e.NetworkDerivationPath[e.Chain.Stellar],f=e.derivationPathToString(o.slice(0,3));async function T({phrase:Q,path:B}){let{HDKey:D}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:L}=await import("@scure/bip39"),{Keypair:w}=await import("@stellar/stellar-sdk"),N=L(Q),J=D.fromMasterSeed(N).derive(B,!0);return w.fromRawEd25519Seed(Buffer.from(J.privateKey))}async function C(){if(n)return n;let Q=n0.match(y).with({phrase:n0.P.string},({phrase:B})=>B).otherwise(()=>{return});if(!Q)throw new e.SwapKitError("toolbox_stellar_no_signer");return n=await T({path:f,phrase:Q}),n}async function H(){let{Horizon:Q}=await import("@stellar/stellar-sdk"),B=await e.getRPCUrl(e.Chain.Stellar);return new Q.Server(B)}async function U(){try{return(await C()).publicKey()}catch{return""}}async function _(Q){let B=Q||await U();if(!B)throw new e.SwapKitError("toolbox_stellar_account_not_found");try{return(await(await H()).loadAccount(B)).balances.map((w)=>{if(w.asset_type==="native")return e.AssetValue.from({chain:e.Chain.Stellar,value:w.balance});let N="asset_code"in w?w.asset_code:"",z="asset_issuer"in w?w.asset_issuer:"";return e.AssetValue.from({asset:`${e.Chain.Stellar}.${N}-${z}`,asyncTokenLookup:!1,value:w.balance})})}catch{return[e.AssetValue.from({chain:e.Chain.Stellar,value:0})]}}async function A({recipient:Q,assetValue:B,memo:D,sender:L}){if(D){if(new TextEncoder().encode(D).length>28)throw new e.SwapKitError("helpers_invalid_memo_type")}if(!await r_(Q))throw new e.SwapKitError("core_transaction_invalid_recipient_address");let N=L||await U();if(!N)throw new e.SwapKitError("toolbox_stellar_no_signer");let{Asset:z,Memo:J,Networks:Y,Operation:R,TransactionBuilder:l}=await import("@stellar/stellar-sdk"),q=await H(),O=await q.fetchBaseFee(),k=await q.loadAccount(N),x=new l(k,{fee:String(O),networkPassphrase:Y.PUBLIC});if(B.isGasAsset)try{await q.loadAccount(Q),x.addOperation(R.payment({amount:B.getValue("string"),asset:z.native(),destination:Q}))}catch{x.addOperation(R.createAccount({destination:Q,startingBalance:B.getValue("string")}))}else x.addOperation(R.payment({amount:B.getValue("string"),asset:new z(B.symbol,B.address),destination:Q}));if(D)x.addMemo(J.text(D));return x.setTimeout(30).build()}async function Z(Q){let{TransactionBuilder:B,Networks:D}=await import("@stellar/stellar-sdk"),L=await C(),w=B.fromXDR(Q.toXDR(),D.PUBLIC);return w.sign(L),w}async function M(Q){try{let B=await H(),{hash:D}=await B.submitTransaction(Q);return D}catch(B){throw new e.SwapKitError("toolbox_stellar_broadcast_error",B)}}async function X({recipient:Q,assetValue:B,memo:D}){let L=await C(),w=L.publicKey(),N=await A({assetValue:B,memo:D,recipient:Q,sender:w});N.sign(L);try{return(await(await H()).submitTransaction(N)).hash}catch(z){if(z instanceof e.SwapKitError)throw z;throw new e.SwapKitError("toolbox_stellar_transaction_failed",z)}}async function G(Q){let B=await Z(Q);return M(B)}async function W(){let{baseDecimal:Q}=e.getChainConfig(e.Chain.Stellar);try{let L=(await(await H()).feeStats()).fee_charged.p50;return e.AssetValue.from({chain:e.Chain.Stellar,fromBaseDecimal:Q,value:L})}catch{return e.AssetValue.from({chain:e.Chain.Stellar,fromBaseDecimal:Q,value:"100"})}}return{broadcastTransaction:M,createTransaction:A,estimateTransactionFee:W,getAddress:U,getBalance:_,signAndBroadcastTransaction:G,signTransaction:Z,transfer:X,validateAddress:T0}}var e,n0,d_;var F5=t(()=>{e=require("@swapkit/helpers"),n0=require("ts-pattern"),d_=/^G[A-Z2-7]{55}$/});var o0={};My(o0,{validateStellarAddress:()=>T0,getStellarToolbox:()=>x5});module.exports=Ny(o0);var C0=t(()=>{F5()});var e_={};My(e_,{getToolbox:()=>UC,getFeeEstimator:()=>s_,getAddressValidator:()=>a_});module.exports=Ny(e_);var V=require("@swapkit/helpers");async function a_(){let{match:y}=await import("ts-pattern"),{validateAptosAddress:n}=await Promise.resolve().then(() => (hn(),Kn)),{validateEVMAddress:o}=await Promise.resolve().then(() => (F0(),vC)),{validateCardanoAddress:f}=await Promise.resolve().then(() => (P0(),t0)),{getCosmosAddressValidator:T}=await Promise.resolve().then(() => (LT(),MT)),{validateHyperCoreAddress:C}=await Promise.resolve().then(() => (no(),fo)),{validateSolanaAddress:H}=await Promise.resolve().then(() => (Uo(),Ho)),{validateStarknetAddress:U}=await Promise.resolve().then(() => (RT(),DT)),{validateSuiAddress:_}=await Promise.resolve().then(() => (lT(),kT)),{validateTonAddress:A}=await Promise.resolve().then(() => (FT(),xT)),{getUTXOAddressValidator:Z}=await Promise.resolve().then(() => (So(),lo)),{validateNearAddress:M}=await Promise.resolve().then(() => (ho(),Ko)),{validateRadixAddress:X}=await Promise.resolve().then(() => (co(),mo)),{validateRippleAddress:G}=await Promise.resolve().then(() => (io(),go)),{validateTronAddress:W}=await Promise.resolve().then(() => (HC(),CC)),{validateStellarAddress:Q}=await Promise.resolve().then(() => (C0(),o0));return function({address:D,chain:L}){return y(L).with(...V.EVMChains,()=>o(D)).with(...V.UTXOChains,(N)=>{return Z(N)(D)}).with(...V.CosmosChains,(N)=>{return T(N)(D)}).with(V.Chain.Aptos,()=>n(D)).with(V.Chain.Radix,()=>X(D)).with(V.Chain.HyperCore,()=>C(D)).with(V.Chain.Near,()=>M(D)).with(V.Chain.Ripple,()=>G(D)).with(V.Chain.Solana,()=>H(D)).with(V.Chain.Stellar,()=>Q(D)).with(V.Chain.Starknet,()=>U(D)).with(V.Chain.Sui,()=>_(D)).with(V.Chain.Ton,()=>A(D)).with(V.Chain.Tron,()=>W(D)).with(V.Chain.Cardano,()=>f(D)).otherwise(()=>!1)}}function s_(y){return async function(o){let{match:f}=await import("ts-pattern");return f(y).returnType().with(...V.EVMChains,async(T)=>{let C=await UC(T),H=await C.createTransaction(o),U="feeOptionKey"in o?o.feeOptionKey:V.FeeOption.Fast;return C.estimateTransactionFee({...H,feeOption:U})}).with(V.Chain.Bitcoin,V.Chain.BitcoinCash,V.Chain.Dogecoin,V.Chain.Dash,V.Chain.Litecoin,V.Chain.Solana,V.Chain.Ripple,V.Chain.Tron,V.Chain.Near,V.Chain.Cardano,V.Chain.HyperCore,async(T)=>{return(await UC(T)).estimateTransactionFee(o)}).with(V.Chain.Aptos,async()=>{let{getAptosToolbox:T}=await Promise.resolve().then(() => (hn(),Kn));return T().estimateTransactionFee(o)}).with(V.Chain.Starknet,async()=>{let{getStarknetToolbox:T}=await Promise.resolve().then(() => (RT(),DT));return(await T()).estimateTransactionFee(o)}).with(V.Chain.Stellar,async()=>{let{getStellarToolbox:T}=await Promise.resolve().then(() => (C0(),o0));return T().estimateTransactionFee()}).with(V.Chain.Sui,async()=>{let{getSuiToolbox:T}=await Promise.resolve().then(() => (lT(),kT));return T().estimateTransactionFee(o)}).with(V.Chain.Ton,async()=>{let{getTONToolbox:T}=await Promise.resolve().then(() => (FT(),xT));return T().estimateTransactionFee(o)}).with(...V.CosmosChains,async()=>{let{estimateTransactionFee:T}=await Promise.resolve().then(() => (LT(),MT));return T(o)}).otherwise(async()=>V.AssetValue.from({chain:y}))}}async function UC(y,n){let{match:o}=await import("ts-pattern");return o(y).returnType().with(...V.EVMChains,async()=>{let{getEvmToolboxAsync:f}=await Promise.resolve().then(() => (x0(),VC));return await f(y,n)}).with(...V.UTXOChains,async()=>{let{getUtxoToolbox:f}=await Promise.resolve().then(() => (So(),lo));return f(y,n)}).with(...V.CosmosChains,async()=>{let{getCosmosToolbox:f}=await Promise.resolve().then(() => (LT(),MT));return f(y,n)}).with(V.Chain.Aptos,async()=>{let{getAptosToolbox:f}=await Promise.resolve().then(() => (hn(),Kn));return f(n)}).with(V.Chain.HyperCore,async()=>{let{getHyperCoreToolbox:f}=await Promise.resolve().then(() => (no(),fo));return f(n)}).with(V.Chain.Radix,async()=>{let{getRadixToolbox:f}=await Promise.resolve().then(() => (co(),mo));return f(n)}).with(V.Chain.Ripple,async()=>{let{getRippleToolbox:f}=await Promise.resolve().then(() => (io(),go));return f(n)}).with(V.Chain.Solana,async()=>{let{getSolanaToolbox:f}=await Promise.resolve().then(() => (Uo(),Ho));return f(n)}).with(V.Chain.Stellar,async()=>{let{getStellarToolbox:f}=await Promise.resolve().then(() => (C0(),o0));return f(n)}).with(V.Chain.Starknet,async()=>{let{getStarknetToolbox:f}=await Promise.resolve().then(() => (RT(),DT));return f(n)}).with(V.Chain.Sui,async()=>{let{getSuiToolbox:f}=await Promise.resolve().then(() => (lT(),kT));return f(n)}).with(V.Chain.Tron,async()=>{let{getTronToolbox:f}=await Promise.resolve().then(() => (HC(),CC));return f(n)}).with(V.Chain.Near,async()=>{let{getNearToolbox:f}=await Promise.resolve().then(() => (ho(),Ko));return f(n)}).with(V.Chain.Cardano,async()=>{let{getCardanoToolbox:f}=await Promise.resolve().then(() => (P0(),t0));return f(n)}).with(V.Chain.Ton,async()=>{let{getTONToolbox:f}=await Promise.resolve().then(() => (FT(),xT));return f(n)}).otherwise(()=>{throw new V.SwapKitError("toolbox_not_supported",{chain:y})})}