@swapkit/toolboxes 4.22.0 → 4.23.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- var yn=Object.create;var{getPrototypeOf:sn,defineProperty:I,getOwnPropertyNames:lt,getOwnPropertyDescriptor:pn}=Object,dt=Object.prototype.hasOwnProperty;function ft(e){return this[e]}var un,an,wr=(e,t,n)=>{var r=e!=null&&typeof e==="object";if(r){var o=t?un??=new WeakMap:an??=new WeakMap,i=o.get(e);if(i)return i}n=e!=null?yn(sn(e)):{};let s=t||!e||!e.__esModule?I(n,"default",{value:e,enumerable:!0}):n;for(let p of lt(e))if(!dt.call(s,p))I(s,p,{get:ft.bind(e,p),enumerable:!0});if(r)o.set(e,s);return s},gt=(e)=>{var t=(ct??=new WeakMap).get(e),n;if(t)return t;if(t=I({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function"){for(var r of lt(e))if(!dt.call(t,r))I(t,r,{get:ft.bind(e,r),enumerable:!(n=pn(e,r))||n.enumerable})}return ct.set(e,t),t},ct;var cn=(e)=>e;function ln(e,t){this[e]=cn.bind(null,t)}var Oe=(e,t)=>{for(var n in t)I(e,n,{get:t[n],enumerable:!0,configurable:!0,set:ln.bind(t,n)})};var D=(e,t)=>()=>(e&&(t=e(e=0)),t);function Dr(){function e(){let t=Date.now(),n=We||t;return We=n,t>We?t:n+1}return dn+e().toString(36)}function ie(e){return async function(n,r=!0){let o=await At.SwapKitApi.getChainBalance({address:n,chain:e,scamFilter:r}),{baseDecimal:i}=P.getChainConfig(e),s=o.map(({identifier:a,value:f,decimal:d})=>{return new P.AssetValue({decimal:d||i,identifier:a,value:f})});if(!s.some((a)=>a.isGasAsset))return[P.AssetValue.from({chain:e}),...s];return s}}var P,At,dn,We=0;var $e=D(()=>{P=require("@swapkit/helpers"),At=require("@swapkit/helpers/api"),dn=typeof process<"u"&&process.pid?process.pid.toString(36):""});function V(e){return{getBalance:ie(e)}}function fn(e){return e}var ye=D(()=>{$e()});function Ct(e){return new B.JsonRpcProvider(e)}async function gn(e,t){return Ct(t||await c.getRPCUrl(e))}function je(e){let t=c.SKConfig.get("rpcUrls")[e]?.filter(Boolean)??[];if(t.length===0)throw new c.SwapKitError("helpers_chain_no_public_or_set_rpc_url",{chain:e});let{chainId:n}=c.getChainConfig(e),r=B.Network.from(Number(n)),[o]=t;if(t.length===1)return new B.JsonRpcProvider(o,r,{staticNetwork:r});return new B.FallbackProvider(t.map((i,s)=>({priority:s+1,provider:new B.JsonRpcProvider(i,r,{staticNetwork:r}),stallTimeout:2000})),r,{quorum:1})}function O(e){return e>0n?`0x${e.toString(16)}`:"0x0"}function Xe(e){let{explorerUrl:t,chainIdHex:n,rpcUrls:r}=c.getChainConfig(e);return function(){return e!==c.Chain.Ethereum?{...An({chain:e}),blockExplorerUrls:[t],chainId:n,rpcUrls:r}:void 0}}function Ze(e){return![c.Chain.Adi,c.Chain.Arbitrum,c.Chain.BinanceSmartChain,c.Chain.Robinhood].includes(e)}function An({chain:e}){let{name:t,nativeCurrency:n,baseDecimal:r}=c.getChainConfig(e);return Ye.match(e).with(c.Chain.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:r,name:"Ethereum",symbol:c.Chain.Ethereum}})).with(c.Chain.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:r,name:"Ethereum",symbol:c.Chain.Ethereum}})).with(c.Chain.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:r,name:"Avalanche",symbol:e}})).with(c.Chain.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:r,name:"Ethereum",symbol:c.Chain.Ethereum}})).with(c.Chain.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:r,name:"Berachain",symbol:"BERA"}})).with(c.Chain.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:r,name:"OKB",symbol:"OKB"}})).with(c.Chain.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:r,name:"Binance Coin",symbol:"BNB"}})).with(c.Chain.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:r,name:"xDAI",symbol:"XDAI"}})).with(c.Chain.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:r,name:"Ethereum",symbol:c.Chain.Ethereum}})).with(c.Chain.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:r,name:"Polygon",symbol:c.Chain.Polygon}})).with(c.Chain.Robinhood,()=>({chainName:"Robinhood Chain",nativeCurrency:{decimals:r,name:"Ethereum",symbol:c.Chain.Ethereum}})).otherwise(()=>({chainName:t,nativeCurrency:{decimals:r,name:n,symbol:n}}))}async function Ne(e,t){if(!("authorize"in e))throw Error("Signer does not support EIP-7702 authorization. Requires ethers.js v6.14+");let n={...t,nonce:t.nonce!==void 0?BigInt(t.nonce):void 0};return await e.authorize(n)}function Tt(e,t){let n=t!==void 0?`index ${t}: `:"",r=(o,i)=>{throw new c.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:o,message:`${n}${i}`}})};Ye.match(e).when(({chainId:o})=>typeof o!=="bigint",()=>r("chainId","chainId must be a bigint")).when(({address:o})=>!Hn(o),()=>r("address","address must be a valid checksummed address")).when(({nonce:o})=>typeof o!=="bigint"||o<0n,()=>r("nonce","nonce must be a non-negative bigint")).when(({signature:o})=>!o,()=>r("signature","signature is required")).when(({signature:o})=>typeof o?.yParity!=="number"||![0,1].includes(o.yParity),()=>r("signature.yParity","yParity must be 0 or 1")).when(({signature:o})=>!Ht(o?.r),()=>r("signature.r","r must be a 32-byte hex string")).when(({signature:o})=>!Ht(o?.s),()=>r("signature.s","s must be a 32-byte hex string")).otherwise(()=>{})}function mt(e){return[{key:"name",type:"string"},{key:"version",type:"string"},{key:"chainId",type:"uint256"},{key:"verifyingContract",type:"address"},{key:"salt",type:"bytes32"}].filter(({key:t})=>e[t]!=null).map(({key:t,type:n})=>({name:t,type:n}))}function Qe(e){return e.charAt(0).toUpperCase()+e.slice(1)}function ze(e,t){if(e.isTuple()&&e.components){let n=Qe(e.name);return t[n]=e.components.map((r)=>({name:r.name,type:ze(r,t)})),n}if(e.isArray()){let n=e.arrayChildren;if(n?.isTuple()&&n.components){let r=Qe(e.name.replace(/s$/,""));return t[r]=n.components.map((o)=>({name:o.name,type:ze(o,t)})),`${r}[]`}return`${n?.type??"bytes"}[]`}return e.type}function Fe(e,t){if(typeof e==="bigint")return e;if(t?.isTuple()&&typeof e?.toObject==="function"){let n=e.toObject(),r={};for(let[o,i]of(t.components??[]).entries())r[i.name]=Fe(n[i.name]??e[o],i);return r}if(Array.isArray(e)){let n=t?.arrayChildren;return e.map((r)=>Fe(r,n??void 0))}return e}function Cn({chain:e,abi:t,data:n,to:r}){let i=new B.Interface(t).parseTransaction({data:n});if(!i)throw new c.SwapKitError({errorKey:"toolbox_evm_invalid_params",info:{error:"Could not decode calldata"}});let s={},p=Qe(i.name);s[p]=i.fragment.inputs.map((u)=>({name:u.name,type:ze(u,s)}));let a={};for(let[u,l]of i.fragment.inputs.entries())a[l.name]=Fe(i.args[u],l);let{chainId:f}=c.getChainConfig(e),d={chainId:Number(f),verifyingContract:B.getAddress(r)},T=mt(d);return{domain:d,message:a,primaryType:p,types:{EIP712Domain:T,...s}}}function Je(e,t){if(!Array.isArray(e)||e.length===0)throw new c.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{message:"EIP-7702 transactions require at least one authorization"}});for(let[n,r]of e.entries())if(Tt(r,n),t!==void 0&&r.chainId!==t)throw new c.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:"chainId",message:`index ${n}: authorization chainId (${r.chainId}) does not match transaction chainId (${t})`}})}var c,B,Ye,Ht=(e)=>typeof e==="string"&&/^0x[a-fA-F0-9]{64}$/.test(e),Hn=(e)=>{try{return typeof e==="string"&&!!B.getAddress(e)}catch{return!1}};var K=D(()=>{c=require("@swapkit/helpers"),B=require("ethers"),Ye=require("ts-pattern")});var bt;var xt=D(()=>{bt=[{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 X({chain:e=y.Chain.Ethereum,provider:t,signer:n,isEIP1559Compatible:r=!0}){return{approve:Un({chain:e,isEIP1559Compatible:r,provider:t,signer:n}),approvedAmount:St({chain:e,provider:t}),broadcastTransaction:t.broadcastTransaction,call:Ee({chain:e,isEIP1559Compatible:r,provider:t,signer:n}),createApprovalTx:Rn({chain:e,provider:t,signer:n}),createContract:Pe({chain:e,provider:t}),createContractTxObject:Q({chain:e,provider:t}),createTransaction:he({chain:e,provider:t,signer:n}),createTransferTx:he({chain:e,provider:t,signer:n}),EIP1193SendTransaction:N(t),estimateCall:Dt({provider:t,signer:n}),estimateGasLimit:Sn({chain:e,provider:t,signer:n}),estimateGasPrices:z({chain:e,isEIP1559Compatible:r,provider:t}),estimateTransactionFee:Mn({chain:e,isEIP1559Compatible:r,provider:t}),getAddress:()=>{return n?n.getAddress():void 0},getBalance:V(e).getBalance,getNetworkParams:Xe(e),isApproved:xn({chain:e,provider:t}),sendTransaction:Rt({chain:e,isEIP1559Compatible:r,provider:t,signer:n}),signAuthorization:Dn({signer:n}),signMessage:n?(o)=>n.signMessage(o):void 0,signTypedData:n?({domain:o,types:i,value:s})=>n.signTypedData(o,i,s):void 0,transfer:wn({chain:e,isEIP1559Compatible:r,provider:t,signer:n}),validateAddress:v}}function v(e){try{return q.getAddress(e),!0}catch{return!1}}function Z(e){return e instanceof q.BrowserProvider}function ee(e,t,n){return new q.Contract(e,q.Interface.from(t),n)}function Pe({provider:e}){return function(n,r){return new q.Contract(n,q.Interface.from(r),e)}}function Ve({abi:e,funcName:t}){let n=e.find((r)=>r.name===t);if(!n)throw new y.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:t});return n.stateMutability&&Tn.includes(n.stateMutability)}function Ut(e){return q.getAddress(e)}function N(e){return function({value:n,...r}){if(!Z(e))throw new y.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:o,gasPrice:i,maxFeePerGas:s,maxPriorityFeePerGas:p,...a}=r;return e.send("eth_sendTransaction",[{...a,value:O(BigInt(n||0))}])}}function wt(e,t){let n=J(e,t);if(n)return q.getAddress(n.toLowerCase());throw new y.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function J({chain:e,symbol:t,ticker:n},r){try{let o=e===y.Chain.BinanceSmartChain&&t==="BNB"&&n==="BNB",i=e===y.Chain.Hyperevm&&t==="HYPE"&&n==="HYPE",s=e===r&&t===r&&n===r,p=bn.includes(e)&&t==="ETH"&&n==="ETH";if(s||o||i||p)return Ke[r];return q.getAddress(t.slice(n.length+1).replace(/^0X/,""))}catch{return null}}function Q({provider:e}){return async({contractAddress:t,abi:n,funcName:r,funcParams:o=[],txOverrides:i})=>{let s=await ee(t,n,e).getFunction(r).populateTransaction(...o.concat(i).filter((p)=>typeof p<"u"));return{...s,value:O(BigInt(s.value||0))}}}function z({chain:e,provider:t,isEIP1559Compatible:n=!0}){return Ie.match(e).with(y.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:o,maxPriorityFeePerGas:i}=await t.getFeeData();if(!o||i===null)throw new y.SwapKitError("toolbox_evm_no_fee_data");return{[y.FeeOption.Average]:{maxFeePerGas:y.applyFeeMultiplierToBigInt(o,y.FeeOption.Average),maxPriorityFeePerGas:y.applyFeeMultiplierToBigInt(i,y.FeeOption.Average)},[y.FeeOption.Fast]:{maxFeePerGas:y.applyFeeMultiplierToBigInt(o,y.FeeOption.Fast),maxPriorityFeePerGas:y.applyFeeMultiplierToBigInt(i,y.FeeOption.Fast)},[y.FeeOption.Fastest]:{maxFeePerGas:y.applyFeeMultiplierToBigInt(o,y.FeeOption.Fastest),maxPriorityFeePerGas:y.applyFeeMultiplierToBigInt(i,y.FeeOption.Fastest)}}}catch(o){throw new y.SwapKitError("toolbox_evm_gas_estimation_error",{error:o.msg??o.toString()})}}}).with(y.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:o}=await t.getFeeData();if(!o)throw new y.SwapKitError("toolbox_evm_no_fee_data");let i=o*12n/10n;return{[y.FeeOption.Average]:{gasPrice:i},[y.FeeOption.Fast]:{gasPrice:y.applyFeeMultiplierToBigInt(i,y.FeeOption.Fast)},[y.FeeOption.Fastest]:{gasPrice:y.applyFeeMultiplierToBigInt(i,y.FeeOption.Fastest)}}}catch(o){throw new y.SwapKitError("toolbox_evm_gas_estimation_error",{error:o.msg??o.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:o,maxPriorityFeePerGas:i,gasPrice:s}=await t.getFeeData();if(n){if(o===null||i===null)throw new y.SwapKitError("toolbox_evm_no_fee_data");return{[y.FeeOption.Average]:{maxFeePerGas:o,maxPriorityFeePerGas:i},[y.FeeOption.Fast]:{maxFeePerGas:y.applyFeeMultiplierToBigInt(o,y.FeeOption.Fast),maxPriorityFeePerGas:y.applyFeeMultiplierToBigInt(i,y.FeeOption.Fast)},[y.FeeOption.Fastest]:{maxFeePerGas:y.applyFeeMultiplierToBigInt(o,y.FeeOption.Fastest),maxPriorityFeePerGas:y.applyFeeMultiplierToBigInt(i,y.FeeOption.Fastest)}}}if(!s)throw new y.SwapKitError("toolbox_evm_no_gas_price");return{[y.FeeOption.Average]:{gasPrice:s},[y.FeeOption.Fast]:{gasPrice:y.applyFeeMultiplierToBigInt(s,y.FeeOption.Fast)},[y.FeeOption.Fastest]:{gasPrice:y.applyFeeMultiplierToBigInt(s,y.FeeOption.Fastest)}}}catch(o){throw new y.SwapKitError("toolbox_evm_gas_estimation_error",{error:o.msg??o.toString()})}}})}function Ee({provider:e,isEIP1559Compatible:t,signer:n,chain:r}){return async function({callProvider:i,contractAddress:s,abi:p,funcName:a,funcParams:f=[],txOverrides:d={},feeOption:T=y.FeeOption.Fast}){let u=i||e;if(!s)throw new y.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let l=Ve({abi:p,funcName:a});if(l&&Z(u)&&n){let U=Q({chain:r,provider:u}),S=d?.from||await n?.getAddress(),w=await U({abi:p,contractAddress:s,funcName:a,funcParams:f,txOverrides:{...d,from:S}});return N(u)(w)}let A=ee(s,p,u);if(l){if(!n)throw new y.SwapKitError("toolbox_evm_no_signer");let U=d?.from||await n.getAddress();if(!U)throw new y.SwapKitError("toolbox_evm_no_signer_address");let S=A.connect(n),w=z({chain:r,isEIP1559Compatible:t,provider:e}),{maxFeePerGas:k,maxPriorityFeePerGas:G,gasPrice:$}=(await w())[T],Y=await A.getFunction(a).estimateGas(...f,d),M=await S[a](...f,{...d,gasLimit:Y,gasPrice:$,maxFeePerGas:k,maxPriorityFeePerGas:G,nonce:d?.nonce||await u.getTransactionCount(U)});return typeof M?.hash==="string"?M?.hash:M}let x=await A[a]?.(...f);return typeof x?.hash==="string"?x?.hash:x}}function St({provider:e,chain:t}){return function({assetAddress:r,spenderAddress:o,from:i}){return Ee({chain:t,isEIP1559Compatible:!0,provider:e})({abi:j.erc20ABI,contractAddress:r,funcName:"allowance",funcParams:[i,o]})}}function xn({provider:e,chain:t}){return async function({assetAddress:r,spenderAddress:o,from:i,amount:s=E}){let p=await St({chain:t,provider:e})({assetAddress:r,from:i,spenderAddress:o});return y.SwapKitNumber.fromBigInt(p).gte(y.SwapKitNumber.fromBigInt(BigInt(s)))}}function Un({signer:e,isEIP1559Compatible:t=!0,provider:n,chain:r}){return async function({assetAddress:i,spenderAddress:s,feeOptionKey:p=y.FeeOption.Fast,amount:a,gasLimitFallback:f,from:d,nonce:T}){let u=[s,BigInt(a||E)],l=await e?.getAddress()||d,A={abi:j.erc20ABI,contractAddress:i,funcName:"approve",funcParams:u,signer:e,txOverrides:{from:l}};if(Z(n)){let U=Q({chain:r,provider:n}),S=N(n),w=await U(A);return S(w)}return Ee({chain:r,isEIP1559Compatible:t,provider:n,signer:e})({...A,feeOption:p,funcParams:u,txOverrides:{from:l,gasLimit:f?BigInt(f.toString()):void 0,nonce:T}})}}function wn({signer:e,isEIP1559Compatible:t=!0,provider:n}){return async function({assetValue:o,memo:i,recipient:s,feeOptionKey:p=y.FeeOption.Fast,sender:a,...f}){let{hexlify:d,toUtf8Bytes:T}=await import("ethers"),u=o.getBaseValue("bigint"),l=o.chain,A=a||await e?.getAddress(),x=Rt({chain:l,isEIP1559Compatible:t,provider:n,signer:e});if(!A)throw new y.SwapKitError("toolbox_evm_no_from_address");if(o.isGasAsset){let $={...f,data:d(T(i||"")),feeOptionKey:p,from:A,to:s,value:O(u)};return x($)}if(!J(o,l))throw new y.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:S,maxPriorityFeePerGas:w,gasPrice:k}=(await z({chain:l,isEIP1559Compatible:t,provider:n})())[p],G=await he({chain:l,provider:n,signer:e})({assetValue:o,data:d(T(i||"")),gasPrice:k,maxFeePerGas:S,maxPriorityFeePerGas:w,memo:i,recipient:s,sender:A});return x(G)}}function Dt({provider:e,signer:t}){return function({contractAddress:r,abi:o,funcName:i,funcParams:s=[],txOverrides:p}){if(!r)throw new y.SwapKitError("toolbox_evm_no_contract_address");let a=ee(r,o,e);return t?a.connect(t).getFunction(i).estimateGas(...s,p):a.getFunction(i).estimateGas(...s,p)}}function Sn({provider:e,signer:t}){return async function({assetValue:r,recipient:o,memo:i,data:s,sender:p,funcName:a,funcParams:f,txOverrides:d}){let T=r.bigIntValue,u=r.isGasAsset?null:J(r,r.chain);if(u&&a)return Dt({provider:e,signer:t})({abi:j.erc20ABI,contractAddress:u,funcName:a,funcParams:f,txOverrides:d});let{hexlify:l,toUtf8Bytes:A}=await import("ethers");return e.estimateGas({data:s?s:i?l(A(i)):void 0,from:p,to:o,value:T})}}function Dn({signer:e}){if(!e)return;return(t)=>Ne(e,t)}function Rt({provider:e,signer:t,isEIP1559Compatible:n=!0,chain:r}){return async function({feeOptionKey:i=y.FeeOption.Fast,...s}){let{from:p,to:a,data:f,value:d,...T}=s;if(!t)throw new y.SwapKitError("toolbox_evm_no_signer");if(!a)throw new y.SwapKitError("toolbox_evm_no_to_address");let u={...T,data:f||"0x",from:p,to:a,value:BigInt(d||0)};if(Z(e))return N(e)(u);let l=p||await t.getAddress(),A=s.nonce||await e.getTransactionCount(l),x=(await e.getNetwork()).chainId,U=et(u,n);if(U==="eip7702")Je(u.authorizations||[],x);let S=Ie.match(U).with("eip7702",()=>4).with("eip1559",()=>2).otherwise(()=>0),w={...u,chainId:x,nonce:A,type:S,...U==="eip7702"&&{authorizationList:u.authorizations}},k=z({chain:r,isEIP1559Compatible:n,provider:e}),$=U!=="legacy"&&!(u.maxFeePerGas&&u.maxPriorityFeePerGas)||!u.gasPrice?Object.entries((await k())[i]).reduce((M,[oe,at])=>({...M,[oe]:O(BigInt(at))}),{}):{},Y;try{Y=O(u.gasLimit?BigInt(u.gasLimit):await e.estimateGas(w)*11n/10n)}catch(M){throw new y.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:M})}try{let M={...w,gasLimit:Y,...$};try{return(await t.sendTransaction(M)).hash}catch{let oe=await t.signTransaction({...M,from:l});return(await e.broadcastTransaction(oe)).hash}}catch(M){throw new y.SwapKitError("toolbox_evm_error_sending_transaction",{error:M})}}}function he({provider:e,signer:t}){return async function({assetValue:r,memo:o,recipient:i,data:s,sender:p,maxFeePerGas:a,maxPriorityFeePerGas:f,gasPrice:d,...T}){let u=r.getBaseValue("bigint"),l=r.chain,A=p||await t?.getAddress();if(!A)throw new y.SwapKitError("toolbox_evm_no_from_address");if(y.isGasAsset(r)){let{hexlify:S,toUtf8Bytes:w}=await import("ethers");return{...T,data:s||S(w(o||"")),from:A,to:i,value:O(u)}}let x=J(r,l);if(!x)throw new y.SwapKitError("toolbox_evm_no_contract_address");return Q({chain:r.chain,provider:e})({abi:j.erc20ABI,contractAddress:x,funcName:"transfer",funcParams:[i,u],txOverrides:{from:A,gasPrice:d,maxFeePerGas:a,maxPriorityFeePerGas:f}})}}function Rn({provider:e,signer:t,chain:n}){return async function({assetAddress:o,spenderAddress:i,amount:s,from:p}){let a=await t?.getAddress()||p,f=Q({chain:n,provider:e}),d=["bigint","number"].includes(typeof s)?s:s||E;return await f({abi:j.erc20ABI,contractAddress:o,funcName:"approve",funcParams:[i,BigInt(d)],txOverrides:{from:a}})}}function Mn({provider:e,isEIP1559Compatible:t=!0,chain:n}){return async function({feeOption:o=y.FeeOption.Fast,...i}){let p=await z({chain:n,isEIP1559Compatible:t,provider:e})(),a=await e.estimateGas(i),f=y.AssetValue.from({chain:n}),{gasPrice:d,maxFeePerGas:T,maxPriorityFeePerGas:u}=p[o];if(!t&&d)return f.set(y.SwapKitNumber.fromBigInt(d*a,f.decimal));if(T&&u){let l=(T+u)*a;return f.set(y.SwapKitNumber.fromBigInt(l,f.decimal))}throw new y.SwapKitError("toolbox_evm_no_gas_price")}}var y,j,q,Ie,E,Tn,mn,Ke,bn,se=(e)=>e.type===4||(e.authorizations?.length??0)>0,ve=(e)=>!se(e)&&(e.type===2||!!e.maxFeePerGas||!!e.maxPriorityFeePerGas),et=(e,t=!0)=>{if(se(e))return"eip7702";if(ve(e)||t)return"eip1559";return"legacy"};var pe=D(()=>{ye();K();y=require("@swapkit/helpers"),j=require("@swapkit/helpers/contracts"),q=require("ethers"),Ie=require("ts-pattern"),E=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");Tn=["payable","nonpayable"];mn=y.EVMChains.reduce((e,t)=>{return e[t]="0x0000000000000000000000000000000000000000",e},{}),Ke={...mn,[y.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[y.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},bn=[y.Chain.Arbitrum,y.Chain.Aurora,y.Chain.Base,y.Chain.Optimism,y.Chain.Robinhood]});function ue(e){let t=m(H.Chain.Ethereum)(e);async function n(r,o="0x5ba1e12693dc8f9c48aad8770482f4739beed696",i="aggregate",s=H.FeeOption.Fast){let p=await t.createContractTxObject({abi:bt,contractAddress:o,funcName:i,funcParams:[r]});return t.sendTransaction({...p,feeOptionKey:s})}return{...t,multicall:n}}function m(e){return function({provider:n,...r}){let o=Ze(e),i=te.match(r).with({phrase:te.P.string},({phrase:p})=>Mt.HDNodeWallet.fromPhrase(p).connect(n)).with({signer:te.P.any},({signer:p})=>p).otherwise(()=>{return});return X({chain:e,isEIP1559Compatible:o,provider:n,signer:i})}}var H,Mt,te,ae,ce,le,de,fe,ge,Ae,Bt,He,Ce,Te,me,be,xe,Ue,we,Se,De,Re,ne,Me,Be;var tt=D(()=>{xt();K();pe();H=require("@swapkit/helpers"),Mt=require("ethers"),te=require("ts-pattern");ae=m(H.Chain.Adi),ce=m(H.Chain.Arbitrum),le=m(H.Chain.Aurora),de=m(H.Chain.Avalanche),fe=m(H.Chain.Base),ge=m(H.Chain.Berachain),Ae=m(H.Chain.BinanceSmartChain),Bt=m(H.Chain.Botanix),He=m(H.Chain.Core),Ce=m(H.Chain.Corn),Te=m(H.Chain.Cronos),me=m(H.Chain.Gnosis),be=m(H.Chain.Hyperevm),xe=m(H.Chain.Linea),Ue=m(H.Chain.Polygon),we=m(H.Chain.MegaETH),Se=m(H.Chain.Monad),De=m(H.Chain.Plasma),Re=m(H.Chain.Robinhood),ne=m(H.Chain.Sonic),Me=m(H.Chain.Unichain),Be=m(H.Chain.XLayer)});var qt;var Lt=D(()=>{qt=[{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 nt(e){return new qe.Contract(qn,qt,e)}function _t(e){return async function(){let n=nt(e);if(n&&"l1BaseFee"in n)return await n?.l1BaseFee();return}}function kt(e){return async function({from:n,to:r,nonce:o,...i}){let{Transaction:s}=await import("ethers");if(!r)throw new b.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return s.from({...i,authorizationList:i.authorizationList,nonce:o?o:n?await e.getTransactionCount(n):0,to:r}).serialized}}function Gt(e){return async function(n){let r=nt(e),o=await kt(e)(n);if(r&&"getL1Fee"in r)return r.getL1Fee(o)}}function Ot(e){return async function(n){let o=(await e.getFeeData()).gasPrice??0n,i=await e.estimateGas(n);return o*i}}function Ln(e){return async function(n){let r=await Gt(e)(n)??0n,o=await Ot(e)(n);return r+o}}function _n(e){return async function(n){let r=nt(e),o=await kt(e)(n);if(r&&"getL1GasUsed"in r)return r.getL1GasUsed(o)}}function kn(e){return async function(){try{let{maxFeePerGas:n,maxPriorityFeePerGas:r,gasPrice:o}=await e.getFeeData(),i=await _t(e)(),s=o;if(!(n&&r))throw new b.SwapKitError("toolbox_evm_no_fee_data");return{[b.FeeOption.Average]:{gasPrice:s,l1GasPrice:i,maxFeePerGas:n,maxPriorityFeePerGas:r},[b.FeeOption.Fast]:{gasPrice:b.applyFeeMultiplierToBigInt(s,b.FeeOption.Fast),l1GasPrice:b.applyFeeMultiplierToBigInt(i||0n,b.FeeOption.Fast),maxFeePerGas:n,maxPriorityFeePerGas:b.applyFeeMultiplierToBigInt(r,b.FeeOption.Fast)},[b.FeeOption.Fastest]:{gasPrice:b.applyFeeMultiplierToBigInt(s,b.FeeOption.Fastest),l1GasPrice:b.applyFeeMultiplierToBigInt(i||0n,b.FeeOption.Fastest),maxFeePerGas:n,maxPriorityFeePerGas:b.applyFeeMultiplierToBigInt(r,b.FeeOption.Fastest)}}}catch(n){throw new b.SwapKitError("toolbox_evm_gas_estimation_error",{error:n.msg??n.toString()})}}}function Le({provider:e,...t}){let n=re.match(t).with({phrase:re.P.string},({phrase:i})=>qe.HDNodeWallet.fromPhrase(i).connect(e)).with({signer:re.P.any},({signer:i})=>i).otherwise(()=>{return}),r=X({provider:e,signer:n}),o=_t(e);return{...r,estimateGasPrices:kn(e),estimateL1Gas:_n(e),estimateL1GasCost:Gt(e),estimateL2GasCost:Ot(e),estimateTotalGasCost:Ln(e),getBalance:V(b.Chain.Optimism).getBalance,getL1GasPrice:o}}var b,qe,re,qn="0x420000000000000000000000000000000000000f";var rt=D(()=>{ye();Lt();pe();b=require("@swapkit/helpers"),qe=require("ethers"),re=require("ts-pattern")});var Gn={};Oe(Gn,{validateEVMAddress:()=>v,toChecksumAddress:()=>Ut,isStateChangingCall:()=>Ve,isEIP7702Transaction:()=>se,isEIP1559Transaction:()=>ve,isBrowserProvider:()=>Z,getTokenAddress:()=>J,getEvmToolboxAsync:()=>$t,getEvmToolbox:()=>ot,getEstimateGasPrices:()=>z,getEVMTxType:()=>et,getEIP1193SendTransaction:()=>N,getCreateContractTxObject:()=>Q,getCreateContract:()=>Pe,getChecksumAddressFromAsset:()=>wt,createContract:()=>ee,XLayerToolbox:()=>Be,UNIToolbox:()=>Me,SONICToolbox:()=>ne,RBHToolbox:()=>Re,PLASMAToolbox:()=>De,OPToolbox:()=>Le,MONADToolbox:()=>Se,MEGAETHToolbox:()=>we,MAX_APPROVAL:()=>E,MATICToolbox:()=>Ue,LINEAToolbox:()=>xe,HYPEREVMToolbox:()=>be,GNOToolbox:()=>me,ETHToolbox:()=>ue,ContractAddress:()=>Ke,CROToolbox:()=>Te,CORNToolbox:()=>Ce,COREToolbox:()=>He,BotanixToolbox:()=>Bt,BaseEVMToolbox:()=>X,BSCToolbox:()=>Ae,BERAToolbox:()=>ge,BASEToolbox:()=>fe,AVAXToolbox:()=>de,AURORAToolbox:()=>le,ARBToolbox:()=>ce,ADIToolbox:()=>ae});function ot(e,t){return Wt.match(e).with(C.Chain.Adi,()=>ae(t)).with(C.Chain.Arbitrum,()=>ce(t)).with(C.Chain.Aurora,()=>le(t)).with(C.Chain.Avalanche,()=>de(t)).with(C.Chain.Base,()=>fe(t)).with(C.Chain.Berachain,()=>ge(t)).with(C.Chain.BinanceSmartChain,()=>Ae(t)).with(C.Chain.Botanix,()=>ne(t)).with(C.Chain.Core,()=>He(t)).with(C.Chain.Corn,()=>Ce(t)).with(C.Chain.Cronos,()=>Te(t)).with(C.Chain.Ethereum,()=>ue(t)).with(C.Chain.Gnosis,()=>me(t)).with(C.Chain.Hyperevm,()=>be(t)).with(C.Chain.Linea,()=>xe(t)).with(C.Chain.MegaETH,()=>we(t)).with(C.Chain.Monad,()=>Se(t)).with(C.Chain.Optimism,()=>Le(t)).with(C.Chain.Plasma,()=>De(t)).with(C.Chain.Polygon,()=>Ue(t)).with(C.Chain.Robinhood,()=>Re(t)).with(C.Chain.Sonic,()=>ne(t)).with(C.Chain.Unichain,()=>Me(t)).with(C.Chain.XLayer,()=>Be(t)).exhaustive()}async function $t(e,t){let n={...t,provider:t?.provider||je(e)};return ot(e,n)}var C,Wt;var Qt=D(()=>{K();tt();rt();C=require("@swapkit/helpers"),Wt=require("ts-pattern");pe();tt();rt()});var zt;var Ft=D(()=>{((n)=>{n.Test="goerli";n.Main="homestead"})(zt||={})});var On={};Oe(On,{validateEVMAddress:()=>v,validateAuthorizations:()=>Je,validateAuthorization:()=>Tt,toHexString:()=>O,toChecksumAddress:()=>Ut,signAuthorization:()=>Ne,parseEIP712FromEVMTx:()=>Cn,isStateChangingCall:()=>Ve,isEIP7702Transaction:()=>se,isEIP1559Transaction:()=>ve,isBrowserProvider:()=>Z,getTokenAddress:()=>J,getProviderSync:()=>Ct,getProvider:()=>gn,getNetworkParams:()=>Xe,getIsEIP1559Compatible:()=>Ze,getFallbackProvider:()=>je,getEvmToolboxAsync:()=>$t,getEvmToolbox:()=>ot,getEvmApi:()=>V,getEstimateGasPrices:()=>z,getEVMTxType:()=>et,getEIP1193SendTransaction:()=>N,getCreateContractTxObject:()=>Q,getCreateContract:()=>Pe,getChecksumAddressFromAsset:()=>wt,createCustomEvmApi:()=>fn,createContract:()=>ee,buildEIP712DomainType:()=>mt,XLayerToolbox:()=>Be,UNIToolbox:()=>Me,SONICToolbox:()=>ne,RBHToolbox:()=>Re,PLASMAToolbox:()=>De,OPToolbox:()=>Le,MONADToolbox:()=>Se,MEGAETHToolbox:()=>we,MAX_APPROVAL:()=>E,MATICToolbox:()=>Ue,LINEAToolbox:()=>xe,HYPEREVMToolbox:()=>be,GNOToolbox:()=>me,EthNetwork:()=>zt,ETHToolbox:()=>ue,ContractAddress:()=>Ke,CROToolbox:()=>Te,CORNToolbox:()=>Ce,COREToolbox:()=>He,BotanixToolbox:()=>Bt,BaseEVMToolbox:()=>X,BSCToolbox:()=>Ae,BERAToolbox:()=>ge,BASEToolbox:()=>fe,AVAXToolbox:()=>de,AURORAToolbox:()=>le,ARBToolbox:()=>ce,ADIToolbox:()=>ae});module.exports=gt(On);var Yt=D(()=>{ye();K();Qt();Ft()});function Wn({builder:e,grouping:t="na",orders:n}){return{builder:e,grouping:t,orders:n,type:"order"}}function $n({cancels:e}){return{cancels:e,type:"cancel"}}function Qn({cancels:e}){return{cancels:e,type:"cancelByCloid"}}function zn({oid:e,order:t}){return{oid:e,order:t,type:"modify"}}function Fn({modifies:e}){return{modifies:e,type:"batchModify"}}function Yn({asset:e,isCross:t,leverage:n}){return{asset:e,isCross:t,leverage:n,type:"updateLeverage"}}function jn({asset:e,isBuy:t,ntli:n}){return{asset:e,isBuy:t,ntli:n,type:"updateIsolatedMargin"}}function Xn({asset:e,leverage:t}){return{asset:e,leverage:t,type:"topUpIsolatedOnlyMargin"}}function Zn({time:e}){return{time:e,type:"scheduleCancel"}}function Nn({amount:e,hyperliquidChain:t,nonce:n,signatureChainId:r,toPerp:o}){return{amount:e,hyperliquidChain:t,nonce:n,signatureChainId:r,toPerp:o,type:"usdClassTransfer"}}function Jn({amount:e,destination:t,destinationDex:n,fromSubAccount:r,hyperliquidChain:o,nonce:i,signatureChainId:s,sourceDex:p,token:a}){return{amount:e,destination:t,destinationDex:n,fromSubAccount:r,hyperliquidChain:o,nonce:i,signatureChainId:s,sourceDex:p,token:a,type:"sendAsset"}}function hn({agentAddress:e,agentName:t,hyperliquidChain:n,nonce:r,signatureChainId:o}){return{agentAddress:e,agentName:t,hyperliquidChain:n,nonce:r,signatureChainId:o,type:"approveAgent"}}function In({builder:e,hyperliquidChain:t,maxFeeRate:n,nonce:r,signatureChainId:o}){return{builder:e,hyperliquidChain:t,maxFeeRate:n,nonce:r,signatureChainId:o,type:"approveBuilderFee"}}function Pn({hyperliquidChain:e,isUndelegate:t,nonce:n,signatureChainId:r,validator:o,wei:i}){return{hyperliquidChain:e,isUndelegate:t,nonce:n,signatureChainId:r,type:"tokenDelegate",validator:o,wei:i}}function R(...e){let t=e.reduce((o,i)=>o+i.length,0),n=new Uint8Array(t),r=0;for(let o of e)n.set(o,r),r+=o.length;return n}function tr(e,t,n){if(n<t)return new Uint8Array([e+n]);if(n<=255)return new Uint8Array([e+t,n]);if(n<=65535)return new Uint8Array([e+t+1,n>>8,n&255]);return new Uint8Array([e+t+2,n>>>24&255,n>>>16&255,n>>>8&255,n&255])}function W(e,t){let n=new Uint8Array(t),r=e;for(let o=t-1;o>=0;o-=1)n[o]=Number(r&0xffn),r>>=8n;return n}function jt(e){if(e>=0n){if(e<=0x7fn)return new Uint8Array([Number(e)]);if(e<=0xffn)return new Uint8Array([204,Number(e)]);if(e<=0xffffn)return R(new Uint8Array([205]),W(e,2));if(e<=0xffffffffn)return R(new Uint8Array([206]),W(e,4));return R(new Uint8Array([207]),W(e,8))}if(e>=-32n)return new Uint8Array([256+Number(e)]);if(e>=-128n)return new Uint8Array([208,256+Number(e)]);if(e>=-32768n)return R(new Uint8Array([209]),W(BigInt.asUintN(16,e),2));if(e>=-2147483648n)return R(new Uint8Array([210]),W(BigInt.asUintN(32,e),4));return R(new Uint8Array([211]),W(BigInt.asUintN(64,e),8))}function Nt(e){let t=er.encode(e);if(t.length<32)return R(new Uint8Array([160+t.length]),t);return R(tr(217,0,t.length),t)}function nr(e){let t=e.map((r)=>yt(r)),n=e.length<16?new Uint8Array([144+e.length]):e.length<=65535?new Uint8Array([220,e.length>>8,e.length&255]):new Uint8Array([221,e.length>>>24&255,e.length>>>16&255,e.length>>>8&255,e.length&255]);return R(n,...t)}function rr(e){let t=Object.entries(e).filter(([,r])=>typeof r<"u"),n=t.length<16?new Uint8Array([128+t.length]):t.length<=65535?new Uint8Array([222,t.length>>8,t.length&255]):new Uint8Array([223,t.length>>>24&255,t.length>>>16&255,t.length>>>8&255,t.length&255]);return R(n,...t.flatMap(([r,o])=>[Nt(r),yt(o)]))}function yt(e){if(e===null)return new Uint8Array([192]);if(typeof e==="boolean")return new Uint8Array([e?195:194]);if(typeof e==="string")return Nt(e);if(typeof e==="number"){if(!Number.isFinite(e)||!Number.isInteger(e))throw new _e.SwapKitError("helpers_invalid_params",{message:"Hyperliquid msgpack only supports integers"});return jt(BigInt(e))}if(typeof e==="bigint")return jt(e);if(e instanceof Uint8Array){let t=e.length<=255?new Uint8Array([196,e.length]):e.length<=65535?new Uint8Array([197,e.length>>8,e.length&255]):new Uint8Array([198,e.length>>>24&255,e.length>>>16&255,e.length>>>8&255,e.length&255]);return R(t,e)}if(Array.isArray(e))return nr(e);if(typeof e==="object")return rr(e);throw new _e.SwapKitError("helpers_invalid_params",{message:`Unsupported Hyperliquid msgpack value: ${String(e)}`})}function or(e){let t=e.startsWith("0x")?e.slice(2):e;if(t.length%2!==0||/[^a-fA-F0-9]/u.test(t))throw new _e.SwapKitError("helpers_invalid_params",{hexValue:e});let n=new Uint8Array(t.length/2);for(let r=0;r<t.length;r+=2)n[r/2]=Number.parseInt(t.slice(r,r+2),16);return n}function Jt(e){return{domain:Vn,message:{connectionId:e,source:"a"},primaryType:"Agent",types:{Agent:[...Kn.Agent]}}}function ht(e){let t=vn[e.type],n=En[e.type],{type:r,...o}=e;return{domain:{chainId:Number.parseInt(o.signatureChainId||"0xa4b1",16),name:"HyperliquidSignTransaction",verifyingContract:Xt,version:"1"},message:{...o,hyperliquidChain:o.hyperliquidChain||Zt},primaryType:t,types:{[t]:n}}}function It(e){let t=ke.Signature.from(e);return{r:t.r,s:t.s,v:t.v}}function Pt(e,t,{expiresAfter:n,vaultAddress:r}={}){let o=yt(e),i=W(BigInt(t),8),s=r?R(new Uint8Array([1]),or(r.toLowerCase())):new Uint8Array([0]),p=typeof n==="number"?R(new Uint8Array([0]),W(BigInt(n),8)):new Uint8Array;return ke.keccak256(R(o,i,s,p))}function Vt(e){let t=e.hyperliquidChain||Zt;switch(e.type){case"approveAgent":return{...e,agentAddress:e.agentAddress.toLowerCase(),hyperliquidChain:t};case"approveBuilderFee":return{...e,builder:e.builder.toLowerCase(),hyperliquidChain:t};case"sendAsset":return{...e,destination:e.destination.toLowerCase(),fromSubAccount:e.fromSubAccount.toLowerCase(),hyperliquidChain:t};case"tokenDelegate":return{...e,hyperliquidChain:t,validator:e.validator.toLowerCase()};case"usdClassTransfer":return{...e,hyperliquidChain:t};default:return e}}var _e,ke,Xt="0x0000000000000000000000000000000000000000",Vn,Kn,Zt="Mainnet",En,vn,er;var Kt=D(()=>{_e=require("@swapkit/helpers"),ke=require("ethers"),Vn={chainId:1337,name:"Exchange",verifyingContract:Xt,version:"1"},Kn={Agent:[{name:"source",type:"string"},{name:"connectionId",type:"bytes32"}]},En={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"}]},vn={approveAgent:"HyperliquidTransaction:ApproveAgent",approveBuilderFee:"HyperliquidTransaction:ApproveBuilderFee",sendAsset:"HyperliquidTransaction:SendAsset",tokenDelegate:"HyperliquidTransaction:TokenDelegate",usdClassTransfer:"HyperliquidTransaction:UsdClassTransfer"},er=new TextEncoder});function L(e,t){if(!ut(e))throw new g.SwapKitError(t,{address:e});return e.toLowerCase()}async function F(e){let t=await Ge();return g.RequestClient.post(`${t}/info`,{json:e})}function cr({dex:e,user:t}){return F({...e?{dex:e}:{},type:"clearinghouseState",user:L(t,"helpers_invalid_params")})}function lr({user:e}){return F({type:"spotClearinghouseState",user:L(e,"helpers_invalid_params")})}function dr({dex:e,user:t}){return F({...e?{dex:e}:{},type:"openOrders",user:L(t,"helpers_invalid_params")})}function fr({dex:e,user:t}){return F({...e?{dex:e}:{},type:"frontendOpenOrders",user:L(t,"helpers_invalid_params")})}function gr({oidOrCloid:e,user:t}){return F({oid:e,type:"orderStatus",user:L(t,"helpers_invalid_params")})}function Ar({aggregateByTime:e,user:t}){return F({...typeof e==="boolean"?{aggregateByTime:e}:{},type:"userFills",user:L(t,"helpers_invalid_params")})}function Hr({aggregateByTime:e,endTime:t,startTime:n,user:r}){return F({...typeof e==="boolean"?{aggregateByTime:e}:{},...typeof t==="number"?{endTime:t}:{},startTime:n,type:"userFillsByTime",user:L(r,"helpers_invalid_params")})}function Et({coin:e,token:t,value:n,spotMeta:r}){if(!n||Number(n)<=0)return null;let o=e?.toUpperCase()||`TOKEN-${t||"UNKNOWN"}`,i=ir[o]||tn,s=r?.tokens?.find((a)=>a.name===e||t!==void 0&&a.index===Number(t)),p=s?`${_}.${o}-${s.name}:${s.tokenId}`:`${_}.${o}`;return new g.AssetValue({decimal:i,identifier:p,value:n})}function Cr(e){let t=new Map;for(let n of e){let r=n.toString({includeSynthProtocol:!0}),o=t.get(r);t.set(r,o?o.add(n):n)}if(![...t.values()].some((n)=>n.isGasAsset||n.ticker==="HYPE")){let n=g.AssetValue.from({chain:_,value:0});t.set(n.toString({includeSynthProtocol:!0}),n)}return[...t.values()]}async function Ge(){try{return await g.getRPCUrl(_)}catch{let[e]=g.getChainConfig(_).rpcUrls;if(!e)throw new g.SwapKitError("helpers_chain_no_public_or_set_rpc_url",{chain:_});return e}}async function pt(){return`${await Ge()}/exchange`}function Tr(e){let t=ar[e.type],{type:n,...r}=e,o=ur[n];return{domain:{chainId:Number.parseInt(e.signatureChainId,16),name:"HyperliquidSignTransaction",verifyingContract:pr,version:"1"},message:r,primaryType:t,types:{[t]:o}}}async function nn({action:e,expiresAfter:t,nonce:n,vaultAddress:r}){let o=n||Date.now(),i=r?L(r,"helpers_invalid_params"):void 0,s=await pt(),p=Pt(e,o,{expiresAfter:t,vaultAddress:i});return{action:e,endpoint:s,expiresAfter:t,nonce:o,typedData:Jt(p),vaultAddress:i}}async function rn({action:e,nonce:t,signatureChainId:n}){let r=t||e.nonce||Date.now(),o=n||e.signatureChainId||"0xa4b1",i=Vt({...e,nonce:r,signatureChainId:o});return{action:i,endpoint:await pt(),nonce:r,typedData:ht(i)}}async function st({assetValue:e,recipient:t,sender:n,signatureChainId:r,time:o}){let i=L(t,"core_transaction_invalid_recipient_address"),s=L(n,"core_transaction_invalid_sender_address"),p=await pt(),a=e.getValue("string"),f=o||Date.now(),d=e.address;if(!d)throw new g.SwapKitError("helpers_invalid_params",{asset:e.toString(),from:s});let T={amount:a,destination:i,hyperliquidChain:yr,signatureChainId:r||sr,time:f,token:d,type:"spotSend"};return{action:T,endpoint:p,nonce:f,typedData:Tr(T)}}async function vt(e){let t=await g.RequestClient.post(e.endpoint,{json:{action:e.action,...typeof e.expiresAfter==="number"?{expiresAfter:e.expiresAfter}:{},nonce:e.nonce,signature:e.signature,...e.vaultAddress?{vaultAddress:e.vaultAddress}:{}}});if(t.status!=="ok")throw new g.SwapKitError("core_transaction_failed",{response:t});return t}async function mr(e,t){let n=await Ge(),r=t-5000;for(let o=0;o<5;o++){if(o>0)await new Promise((i)=>setTimeout(i,1000));try{let i=await g.RequestClient.post(`${n}/info`,{json:{startTime:r,type:"userNonFundingLedgerUpdates",user:e}}),s=Array.isArray(i)?i.find((p)=>p.time&&p.time>=t&&(p.delta?.type==="spotTransfer"||p.delta?.type==="internalTransfer")):void 0;if(s?.hash)return s.hash}catch{}}return""}function ut(e){return e.startsWith("0x")&&v(e)}function br(e){let t=ie(_),n=e&&"index"in e?e.index||0:0,r=g.derivationPathToString(e&&"derivationPath"in e&&e.derivationPath?e.derivationPath:g.updateDerivationPath(g.NetworkDerivationPath[_],{index:n})),o,i=!1;function s(){if(i)return o;return o=h.match(e).with({phrase:h.P.string},({phrase:u})=>{return en.HDNodeWallet.fromPhrase(u,void 0,r)}).with({signer:h.P.not(h.P.nullish)},({signer:u})=>u).otherwise(()=>{return}),i=!0,o}async function p(){let u=s();return u?await u.getAddress():""}async function a(u){let l=s();if(!l)throw new g.SwapKitError("toolbox_hypercore_no_signer");let A=await l.signTypedData(u.typedData.domain,u.typedData.types,u.typedData.message);return{action:u.action,endpoint:u.endpoint,nonce:u.nonce,signature:It(A),..."expiresAfter"in u?{expiresAfter:u.expiresAfter}:{},..."vaultAddress"in u?{vaultAddress:u.vaultAddress}:{}}}async function f(u){let l=L(u,"helpers_invalid_params");try{let A=await Ge(),[x,U,S]=await Promise.all([g.RequestClient.post(`${A}/info`,{json:{type:"spotClearinghouseState",user:l}}),g.RequestClient.post(`${A}/info`,{json:{type:"clearinghouseState",user:l}}),g.RequestClient.post(`${A}/info`,{json:{type:"spotMeta"}})]),w=(x.spotState?.balances||x.balances||[]).map(({coin:G,token:$,total:Y})=>Et({coin:G,spotMeta:S,token:$,value:Y})).filter((G)=>!!G),k=Et({coin:"USDC",spotMeta:S,value:U.withdrawable||U.marginSummary?.accountValue||U.marginSummary?.totalRawUsd});return Cr(k?[...w,k]:w)}catch{return t(l)}}async function d(u){let l=s();if(!l)throw new g.SwapKitError("toolbox_hypercore_no_signer");let A=u.sender||await l.getAddress(),x=await st({...u,feeRate:0,sender:A}),U=await a(x);return await vt(U),mr(A,x.nonce)}function T(){return g.AssetValue.from({chain:_,value:0})}return{broadcastTransaction:vt,createL1ActionRequest:nn,createTransaction:st,createUserSignedActionRequest:rn,estimateTransactionFee:T,getAddress:p,getBalance:f,getState:{clearinghouse:cr,frontendOpenOrders:fr,openOrders:dr,orderStatus:gr,spotClearinghouse:lr,userFills:Ar,userFillsByTime:Hr},signTransaction:a,transfer:d,validateAddress:ut}}var g,en,h,_,tn,ir,yr="Mainnet",sr="0xa4b1",pr="0x0000000000000000000000000000000000000000",ur,ar;var on=D(()=>{Yt();$e();Kt();g=require("@swapkit/helpers"),en=require("ethers"),h=require("ts-pattern"),_=g.Chain.Hype,{baseDecimal:tn}=g.getChainConfig(_),ir={HYPE:tn,USDC:6,USDT:6},ur={spotSend:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"time",type:"uint64"}]},ar={spotSend:"HyperliquidTransaction:SpotSend"}});var xr={};Oe(xr,{validateHyperCoreAddress:()=>ut,getHyperCoreToolbox:()=>br,createUserSignedActionRequest:()=>rn,createTransaction:()=>st,createL1ActionRequest:()=>nn,buildUsdClassTransferAction:()=>Nn,buildUpdateLeverageAction:()=>Yn,buildUpdateIsolatedMarginAction:()=>jn,buildTopUpIsolatedOnlyMarginAction:()=>Xn,buildTokenDelegateAction:()=>Pn,buildSendAssetAction:()=>Jn,buildScheduleCancelAction:()=>Zn,buildOrderAction:()=>Wn,buildModifyAction:()=>zn,buildCancelByCloidAction:()=>Qn,buildCancelAction:()=>$n,buildBatchModifyAction:()=>Fn,buildApproveBuilderFeeAction:()=>In,buildApproveAgentAction:()=>hn});module.exports=gt(xr);var Ur=D(()=>{on()});Ur();
1
+ var yn=Object.create;var{getPrototypeOf:sn,defineProperty:I,getOwnPropertyNames:lt,getOwnPropertyDescriptor:pn}=Object,dt=Object.prototype.hasOwnProperty;function ft(e){return this[e]}var un,an,wr=(e,t,n)=>{var r=e!=null&&typeof e==="object";if(r){var o=t?un??=new WeakMap:an??=new WeakMap,i=o.get(e);if(i)return i}n=e!=null?yn(sn(e)):{};let s=t||!e||!e.__esModule?I(n,"default",{value:e,enumerable:!0}):n;for(let p of lt(e))if(!dt.call(s,p))I(s,p,{get:ft.bind(e,p),enumerable:!0});if(r)o.set(e,s);return s},gt=(e)=>{var t=(ct??=new WeakMap).get(e),n;if(t)return t;if(t=I({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function"){for(var r of lt(e))if(!dt.call(t,r))I(t,r,{get:ft.bind(e,r),enumerable:!(n=pn(e,r))||n.enumerable})}return ct.set(e,t),t},ct;var cn=(e)=>e;function ln(e,t){this[e]=cn.bind(null,t)}var Ge=(e,t)=>{for(var n in t)I(e,n,{get:t[n],enumerable:!0,configurable:!0,set:ln.bind(t,n)})};var D=(e,t)=>()=>(e&&(t=e(e=0)),t);function Dr(){function e(){let t=Date.now(),n=We||t;return We=n,t>We?t:n+1}return dn+e().toString(36)}function ie(e){return async function(n,r=!0){let o=await At.SwapKitApi.getChainBalance({address:n,chain:e,scamFilter:r}),{baseDecimal:i}=P.getChainConfig(e),s=o.map(({identifier:a,value:f,decimal:d})=>{return new P.AssetValue({decimal:d||i,identifier:a,value:f})});if(!s.some((a)=>a.isGasAsset))return[P.AssetValue.from({chain:e}),...s];return s}}var P,At,dn,We=0;var $e=D(()=>{P=require("@swapkit/helpers"),At=require("@swapkit/helpers/api"),dn=typeof process<"u"&&process.pid?process.pid.toString(36):""});function V(e){return{getBalance:ie(e)}}function fn(e){return e}var ye=D(()=>{$e()});function Ct(e){return new B.JsonRpcProvider(e)}async function gn(e,t){return Ct(t||await c.getRPCUrl(e))}function je(e){let t=c.SKConfig.get("rpcUrls")[e]?.filter(Boolean)??[];if(t.length===0)throw new c.SwapKitError("helpers_chain_no_public_or_set_rpc_url",{chain:e});let{chainId:n}=c.getChainConfig(e),r=B.Network.from(Number(n)),[o]=t;if(t.length===1)return new B.JsonRpcProvider(o,r,{staticNetwork:r});return new B.FallbackProvider(t.map((i,s)=>({priority:s+1,provider:new B.JsonRpcProvider(i,r,{staticNetwork:r}),stallTimeout:2000})),r,{quorum:1})}function G(e){return e>0n?`0x${e.toString(16)}`:"0x0"}function Xe(e){let{explorerUrl:t,chainIdHex:n,rpcUrls:r}=c.getChainConfig(e);return function(){return e!==c.Chain.Ethereum?{...An({chain:e}),blockExplorerUrls:[t],chainId:n,rpcUrls:r}:void 0}}function Ze(e){return![c.Chain.Adi,c.Chain.Arbitrum,c.Chain.BinanceSmartChain,c.Chain.Robinhood].includes(e)}function An({chain:e}){let{name:t,nativeCurrency:n,baseDecimal:r}=c.getChainConfig(e);return Ye.match(e).with(c.Chain.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:r,name:"Ethereum",symbol:c.Chain.Ethereum}})).with(c.Chain.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:r,name:"Ethereum",symbol:c.Chain.Ethereum}})).with(c.Chain.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:r,name:"Avalanche",symbol:e}})).with(c.Chain.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:r,name:"Ethereum",symbol:c.Chain.Ethereum}})).with(c.Chain.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:r,name:"Berachain",symbol:"BERA"}})).with(c.Chain.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:r,name:"OKB",symbol:"OKB"}})).with(c.Chain.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:r,name:"Binance Coin",symbol:"BNB"}})).with(c.Chain.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:r,name:"xDAI",symbol:"XDAI"}})).with(c.Chain.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:r,name:"Ethereum",symbol:c.Chain.Ethereum}})).with(c.Chain.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:r,name:"Polygon",symbol:c.Chain.Polygon}})).with(c.Chain.Robinhood,()=>({chainName:"Robinhood Chain",nativeCurrency:{decimals:r,name:"Ethereum",symbol:c.Chain.Ethereum}})).otherwise(()=>({chainName:t,nativeCurrency:{decimals:r,name:n,symbol:n}}))}async function Ne(e,t){if(!("authorize"in e))throw Error("Signer does not support EIP-7702 authorization. Requires ethers.js v6.14+");let n={...t,nonce:t.nonce!==void 0?BigInt(t.nonce):void 0};return await e.authorize(n)}function Tt(e,t){let n=t!==void 0?`index ${t}: `:"",r=(o,i)=>{throw new c.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:o,message:`${n}${i}`}})};Ye.match(e).when(({chainId:o})=>typeof o!=="bigint",()=>r("chainId","chainId must be a bigint")).when(({address:o})=>!Hn(o),()=>r("address","address must be a valid checksummed address")).when(({nonce:o})=>typeof o!=="bigint"||o<0n,()=>r("nonce","nonce must be a non-negative bigint")).when(({signature:o})=>!o,()=>r("signature","signature is required")).when(({signature:o})=>typeof o?.yParity!=="number"||![0,1].includes(o.yParity),()=>r("signature.yParity","yParity must be 0 or 1")).when(({signature:o})=>!Ht(o?.r),()=>r("signature.r","r must be a 32-byte hex string")).when(({signature:o})=>!Ht(o?.s),()=>r("signature.s","s must be a 32-byte hex string")).otherwise(()=>{})}function mt(e){return[{key:"name",type:"string"},{key:"version",type:"string"},{key:"chainId",type:"uint256"},{key:"verifyingContract",type:"address"},{key:"salt",type:"bytes32"}].filter(({key:t})=>e[t]!=null).map(({key:t,type:n})=>({name:t,type:n}))}function Qe(e){return e.charAt(0).toUpperCase()+e.slice(1)}function ze(e,t){if(e.isTuple()&&e.components){let n=Qe(e.name);return t[n]=e.components.map((r)=>({name:r.name,type:ze(r,t)})),n}if(e.isArray()){let n=e.arrayChildren;if(n?.isTuple()&&n.components){let r=Qe(e.name.replace(/s$/,""));return t[r]=n.components.map((o)=>({name:o.name,type:ze(o,t)})),`${r}[]`}return`${n?.type??"bytes"}[]`}return e.type}function Fe(e,t){if(typeof e==="bigint")return e;if(t?.isTuple()&&typeof e?.toObject==="function"){let n=e.toObject(),r={};for(let[o,i]of(t.components??[]).entries())r[i.name]=Fe(n[i.name]??e[o],i);return r}if(Array.isArray(e)){let n=t?.arrayChildren;return e.map((r)=>Fe(r,n??void 0))}return e}function Cn({chain:e,abi:t,data:n,to:r}){let i=new B.Interface(t).parseTransaction({data:n});if(!i)throw new c.SwapKitError({errorKey:"toolbox_evm_invalid_params",info:{error:"Could not decode calldata"}});let s={},p=Qe(i.name);s[p]=i.fragment.inputs.map((u)=>({name:u.name,type:ze(u,s)}));let a={};for(let[u,l]of i.fragment.inputs.entries())a[l.name]=Fe(i.args[u],l);let{chainId:f}=c.getChainConfig(e),d={chainId:Number(f),verifyingContract:B.getAddress(r)},T=mt(d);return{domain:d,message:a,primaryType:p,types:{EIP712Domain:T,...s}}}function Je(e,t){if(!Array.isArray(e)||e.length===0)throw new c.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{message:"EIP-7702 transactions require at least one authorization"}});for(let[n,r]of e.entries())if(Tt(r,n),t!==void 0&&r.chainId!==t)throw new c.SwapKitError({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:"chainId",message:`index ${n}: authorization chainId (${r.chainId}) does not match transaction chainId (${t})`}})}var c,B,Ye,Ht=(e)=>typeof e==="string"&&/^0x[a-fA-F0-9]{64}$/.test(e),Hn=(e)=>{try{return typeof e==="string"&&!!B.getAddress(e)}catch{return!1}};var K=D(()=>{c=require("@swapkit/helpers"),B=require("ethers"),Ye=require("ts-pattern")});var bt;var xt=D(()=>{bt=[{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 X({chain:e=y.Chain.Ethereum,provider:t,signer:n,isEIP1559Compatible:r=!0}){return{approve:Un({chain:e,isEIP1559Compatible:r,provider:t,signer:n}),approvedAmount:St({chain:e,provider:t}),broadcastTransaction:t.broadcastTransaction,call:Ee({chain:e,isEIP1559Compatible:r,provider:t,signer:n}),createApprovalTx:Rn({chain:e,provider:t,signer:n}),createContract:Pe({chain:e,provider:t}),createContractTxObject:Q({chain:e,provider:t}),createTransaction:he({chain:e,provider:t,signer:n}),createTransferTx:he({chain:e,provider:t,signer:n}),EIP1193SendTransaction:N(t),estimateCall:Dt({provider:t,signer:n}),estimateGasLimit:Sn({chain:e,provider:t,signer:n}),estimateGasPrices:z({chain:e,isEIP1559Compatible:r,provider:t}),estimateTransactionFee:Mn({chain:e,isEIP1559Compatible:r,provider:t}),getAddress:()=>{return n?n.getAddress():void 0},getBalance:V(e).getBalance,getNetworkParams:Xe(e),isApproved:xn({chain:e,provider:t}),sendTransaction:Rt({chain:e,isEIP1559Compatible:r,provider:t,signer:n}),signAuthorization:Dn({signer:n}),signMessage:n?(o)=>n.signMessage(o):void 0,signTypedData:n?({domain:o,types:i,value:s})=>n.signTypedData(o,i,s):void 0,transfer:wn({chain:e,isEIP1559Compatible:r,provider:t,signer:n}),validateAddress:v}}function v(e){try{return q.getAddress(e),!0}catch{return!1}}function Z(e){return e instanceof q.BrowserProvider}function ee(e,t,n){return new q.Contract(e,q.Interface.from(t),n)}function Pe({provider:e}){return function(n,r){return new q.Contract(n,q.Interface.from(r),e)}}function Ve({abi:e,funcName:t}){let n=e.find((r)=>r.name===t);if(!n)throw new y.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:t});return n.stateMutability&&Tn.includes(n.stateMutability)}function Ut(e){return q.getAddress(e)}function N(e){return function({value:n,...r}){if(!Z(e))throw new y.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:o,gasPrice:i,maxFeePerGas:s,maxPriorityFeePerGas:p,...a}=r;return e.send("eth_sendTransaction",[{...a,value:G(BigInt(n||0))}])}}function wt(e,t){let n=J(e,t);if(n)return q.getAddress(n.toLowerCase());throw new y.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function J({chain:e,symbol:t,ticker:n},r){try{let o=e===y.Chain.BinanceSmartChain&&t==="BNB"&&n==="BNB",i=e===y.Chain.Hyperevm&&t==="HYPE"&&n==="HYPE",s=e===r&&t===r&&n===r,p=bn.includes(e)&&t==="ETH"&&n==="ETH";if(s||o||i||p)return Ke[r];return q.getAddress(t.slice(n.length+1).replace(/^0X/,""))}catch{return null}}function Q({provider:e}){return async({contractAddress:t,abi:n,funcName:r,funcParams:o=[],txOverrides:i})=>{let s=await ee(t,n,e).getFunction(r).populateTransaction(...o.concat(i).filter((p)=>typeof p<"u"));return{...s,value:G(BigInt(s.value||0))}}}function z({chain:e,provider:t,isEIP1559Compatible:n=!0}){return Ie.match(e).with(y.Chain.Gnosis,()=>{return async function(){try{let{gasPrice:o,maxPriorityFeePerGas:i}=await t.getFeeData();if(!o||i===null)throw new y.SwapKitError("toolbox_evm_no_fee_data");return{[y.FeeOption.Average]:{maxFeePerGas:y.applyFeeMultiplierToBigInt(o,y.FeeOption.Average),maxPriorityFeePerGas:y.applyFeeMultiplierToBigInt(i,y.FeeOption.Average)},[y.FeeOption.Fast]:{maxFeePerGas:y.applyFeeMultiplierToBigInt(o,y.FeeOption.Fast),maxPriorityFeePerGas:y.applyFeeMultiplierToBigInt(i,y.FeeOption.Fast)},[y.FeeOption.Fastest]:{maxFeePerGas:y.applyFeeMultiplierToBigInt(o,y.FeeOption.Fastest),maxPriorityFeePerGas:y.applyFeeMultiplierToBigInt(i,y.FeeOption.Fastest)}}}catch(o){throw new y.SwapKitError("toolbox_evm_gas_estimation_error",{error:o.msg??o.toString()})}}}).with(y.Chain.Arbitrum,()=>{return async function(){try{let{gasPrice:o}=await t.getFeeData();if(!o)throw new y.SwapKitError("toolbox_evm_no_fee_data");let i=o*12n/10n;return{[y.FeeOption.Average]:{gasPrice:i},[y.FeeOption.Fast]:{gasPrice:y.applyFeeMultiplierToBigInt(i,y.FeeOption.Fast)},[y.FeeOption.Fastest]:{gasPrice:y.applyFeeMultiplierToBigInt(i,y.FeeOption.Fastest)}}}catch(o){throw new y.SwapKitError("toolbox_evm_gas_estimation_error",{error:o.msg??o.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:o,maxPriorityFeePerGas:i,gasPrice:s}=await t.getFeeData();if(n){if(o===null||i===null)throw new y.SwapKitError("toolbox_evm_no_fee_data");return{[y.FeeOption.Average]:{maxFeePerGas:o,maxPriorityFeePerGas:i},[y.FeeOption.Fast]:{maxFeePerGas:y.applyFeeMultiplierToBigInt(o,y.FeeOption.Fast),maxPriorityFeePerGas:y.applyFeeMultiplierToBigInt(i,y.FeeOption.Fast)},[y.FeeOption.Fastest]:{maxFeePerGas:y.applyFeeMultiplierToBigInt(o,y.FeeOption.Fastest),maxPriorityFeePerGas:y.applyFeeMultiplierToBigInt(i,y.FeeOption.Fastest)}}}if(!s)throw new y.SwapKitError("toolbox_evm_no_gas_price");return{[y.FeeOption.Average]:{gasPrice:s},[y.FeeOption.Fast]:{gasPrice:y.applyFeeMultiplierToBigInt(s,y.FeeOption.Fast)},[y.FeeOption.Fastest]:{gasPrice:y.applyFeeMultiplierToBigInt(s,y.FeeOption.Fastest)}}}catch(o){throw new y.SwapKitError("toolbox_evm_gas_estimation_error",{error:o.msg??o.toString()})}}})}function Ee({provider:e,isEIP1559Compatible:t,signer:n,chain:r}){return async function({callProvider:i,contractAddress:s,abi:p,funcName:a,funcParams:f=[],txOverrides:d={},feeOption:T=y.FeeOption.Fast}){let u=i||e;if(!s)throw new y.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let l=Ve({abi:p,funcName:a});if(l&&Z(u)&&n){let U=Q({chain:r,provider:u}),S=d?.from||await n?.getAddress(),w=await U({abi:p,contractAddress:s,funcName:a,funcParams:f,txOverrides:{...d,from:S}});return N(u)(w)}let A=ee(s,p,u);if(l){if(!n)throw new y.SwapKitError("toolbox_evm_no_signer");let U=d?.from||await n.getAddress();if(!U)throw new y.SwapKitError("toolbox_evm_no_signer_address");let S=A.connect(n),w=z({chain:r,isEIP1559Compatible:t,provider:e}),{maxFeePerGas:k,maxPriorityFeePerGas:O,gasPrice:$}=(await w())[T],Y=await A.getFunction(a).estimateGas(...f,d),M=await S[a](...f,{...d,gasLimit:Y,gasPrice:$,maxFeePerGas:k,maxPriorityFeePerGas:O,nonce:d?.nonce||await u.getTransactionCount(U)});return typeof M?.hash==="string"?M?.hash:M}let x=await A[a]?.(...f);return typeof x?.hash==="string"?x?.hash:x}}function St({provider:e,chain:t}){return function({assetAddress:r,spenderAddress:o,from:i}){return Ee({chain:t,isEIP1559Compatible:!0,provider:e})({abi:j.erc20ABI,contractAddress:r,funcName:"allowance",funcParams:[i,o]})}}function xn({provider:e,chain:t}){return async function({assetAddress:r,spenderAddress:o,from:i,amount:s=E}){let p=await St({chain:t,provider:e})({assetAddress:r,from:i,spenderAddress:o});return y.SwapKitNumber.fromBigInt(p).gte(y.SwapKitNumber.fromBigInt(BigInt(s)))}}function Un({signer:e,isEIP1559Compatible:t=!0,provider:n,chain:r}){return async function({assetAddress:i,spenderAddress:s,feeOptionKey:p=y.FeeOption.Fast,amount:a,gasLimitFallback:f,from:d,nonce:T}){let u=[s,BigInt(a||E)],l=await e?.getAddress()||d,A={abi:j.erc20ABI,contractAddress:i,funcName:"approve",funcParams:u,signer:e,txOverrides:{from:l}};if(Z(n)){let U=Q({chain:r,provider:n}),S=N(n),w=await U(A);return S(w)}return Ee({chain:r,isEIP1559Compatible:t,provider:n,signer:e})({...A,feeOption:p,funcParams:u,txOverrides:{from:l,gasLimit:f?BigInt(f.toString()):void 0,nonce:T}})}}function wn({signer:e,isEIP1559Compatible:t=!0,provider:n}){return async function({assetValue:o,memo:i,recipient:s,feeOptionKey:p=y.FeeOption.Fast,sender:a,...f}){let{hexlify:d,toUtf8Bytes:T}=await import("ethers"),u=o.getBaseValue("bigint"),l=o.chain,A=a||await e?.getAddress(),x=Rt({chain:l,isEIP1559Compatible:t,provider:n,signer:e});if(!A)throw new y.SwapKitError("toolbox_evm_no_from_address");if(o.isGasAsset){let $={...f,data:d(T(i||"")),feeOptionKey:p,from:A,to:s,value:G(u)};return x($)}if(!J(o,l))throw new y.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:S,maxPriorityFeePerGas:w,gasPrice:k}=(await z({chain:l,isEIP1559Compatible:t,provider:n})())[p],O=await he({chain:l,provider:n,signer:e})({assetValue:o,data:d(T(i||"")),gasPrice:k,maxFeePerGas:S,maxPriorityFeePerGas:w,memo:i,recipient:s,sender:A});return x(O)}}function Dt({provider:e,signer:t}){return function({contractAddress:r,abi:o,funcName:i,funcParams:s=[],txOverrides:p}){if(!r)throw new y.SwapKitError("toolbox_evm_no_contract_address");let a=ee(r,o,e);return t?a.connect(t).getFunction(i).estimateGas(...s,p):a.getFunction(i).estimateGas(...s,p)}}function Sn({provider:e,signer:t}){return async function({assetValue:r,recipient:o,memo:i,data:s,sender:p,funcName:a,funcParams:f,txOverrides:d}){let T=r.bigIntValue,u=r.isGasAsset?null:J(r,r.chain);if(u&&a)return Dt({provider:e,signer:t})({abi:j.erc20ABI,contractAddress:u,funcName:a,funcParams:f,txOverrides:d});let{hexlify:l,toUtf8Bytes:A}=await import("ethers");return e.estimateGas({data:s?s:i?l(A(i)):void 0,from:p,to:o,value:T})}}function Dn({signer:e}){if(!e)return;return(t)=>Ne(e,t)}function Rt({provider:e,signer:t,isEIP1559Compatible:n=!0,chain:r}){return async function({feeOptionKey:i=y.FeeOption.Fast,...s}){let{from:p,to:a,data:f,value:d,...T}=s;if(!t)throw new y.SwapKitError("toolbox_evm_no_signer");if(!a)throw new y.SwapKitError("toolbox_evm_no_to_address");let u={...T,data:f||"0x",from:p,to:a,value:BigInt(d||0)};if(Z(e))return N(e)(u);let l=p||await t.getAddress(),A=s.nonce||await e.getTransactionCount(l),x=(await e.getNetwork()).chainId,U=et(u,n);if(U==="eip7702")Je(u.authorizations||[],x);let S=Ie.match(U).with("eip7702",()=>4).with("eip1559",()=>2).otherwise(()=>0),w={...u,chainId:x,nonce:A,type:S,...U==="eip7702"&&{authorizationList:u.authorizations}},k=z({chain:r,isEIP1559Compatible:n,provider:e}),$=U!=="legacy"&&!(u.maxFeePerGas&&u.maxPriorityFeePerGas)||!u.gasPrice?Object.entries((await k())[i]).reduce((M,[oe,at])=>({...M,[oe]:G(BigInt(at))}),{}):{},Y;try{Y=G(u.gasLimit?BigInt(u.gasLimit):await e.estimateGas(w)*11n/10n)}catch(M){throw new y.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:M})}try{let M={...w,gasLimit:Y,...$};try{return(await t.sendTransaction(M)).hash}catch{let oe=await t.signTransaction({...M,from:l});return(await e.broadcastTransaction(oe)).hash}}catch(M){throw new y.SwapKitError("toolbox_evm_error_sending_transaction",{error:M})}}}function he({provider:e,signer:t}){return async function({assetValue:r,memo:o,recipient:i,data:s,sender:p,maxFeePerGas:a,maxPriorityFeePerGas:f,gasPrice:d,...T}){let u=r.getBaseValue("bigint"),l=r.chain,A=p||await t?.getAddress();if(!A)throw new y.SwapKitError("toolbox_evm_no_from_address");if(y.isGasAsset(r)){let{hexlify:S,toUtf8Bytes:w}=await import("ethers");return{...T,data:s||S(w(o||"")),from:A,to:i,value:G(u)}}let x=J(r,l);if(!x)throw new y.SwapKitError("toolbox_evm_no_contract_address");return Q({chain:r.chain,provider:e})({abi:j.erc20ABI,contractAddress:x,funcName:"transfer",funcParams:[i,u],txOverrides:{from:A,gasPrice:d,maxFeePerGas:a,maxPriorityFeePerGas:f}})}}function Rn({provider:e,signer:t,chain:n}){return async function({assetAddress:o,spenderAddress:i,amount:s,from:p}){let a=await t?.getAddress()||p,f=Q({chain:n,provider:e}),d=["bigint","number"].includes(typeof s)?s:s||E;return await f({abi:j.erc20ABI,contractAddress:o,funcName:"approve",funcParams:[i,BigInt(d)],txOverrides:{from:a}})}}function Mn({provider:e,isEIP1559Compatible:t=!0,chain:n}){return async function({feeOption:o=y.FeeOption.Fast,...i}){let p=await z({chain:n,isEIP1559Compatible:t,provider:e})(),a=await e.estimateGas(i),f=y.AssetValue.from({chain:n}),{gasPrice:d,maxFeePerGas:T,maxPriorityFeePerGas:u}=p[o];if(!t&&d)return f.set(y.SwapKitNumber.fromBigInt(d*a,f.decimal));if(T&&u){let l=(T+u)*a;return f.set(y.SwapKitNumber.fromBigInt(l,f.decimal))}throw new y.SwapKitError("toolbox_evm_no_gas_price")}}var y,j,q,Ie,E,Tn,mn,Ke,bn,se=(e)=>e.type===4||(e.authorizations?.length??0)>0,ve=(e)=>!se(e)&&(e.type===2||!!e.maxFeePerGas||!!e.maxPriorityFeePerGas),et=(e,t=!0)=>{if(se(e))return"eip7702";if(ve(e)||t)return"eip1559";return"legacy"};var pe=D(()=>{ye();K();y=require("@swapkit/helpers"),j=require("@swapkit/helpers/contracts"),q=require("ethers"),Ie=require("ts-pattern"),E=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");Tn=["payable","nonpayable"];mn=y.EVMChains.reduce((e,t)=>{return e[t]="0x0000000000000000000000000000000000000000",e},{}),Ke={...mn,[y.Chain.Optimism]:"0x4200000000000000000000000000000000000042",[y.Chain.Polygon]:"0x0000000000000000000000000000000000001010"},bn=[y.Chain.Arbitrum,y.Chain.Aurora,y.Chain.Base,y.Chain.Optimism,y.Chain.Robinhood]});function ue(e){let t=m(H.Chain.Ethereum)(e);async function n(r,o="0x5ba1e12693dc8f9c48aad8770482f4739beed696",i="aggregate",s=H.FeeOption.Fast){let p=await t.createContractTxObject({abi:bt,contractAddress:o,funcName:i,funcParams:[r]});return t.sendTransaction({...p,feeOptionKey:s})}return{...t,multicall:n}}function m(e){return function({provider:n,...r}){let o=Ze(e),i=te.match(r).with({phrase:te.P.string},({phrase:p})=>Mt.HDNodeWallet.fromPhrase(p).connect(n)).with({signer:te.P.any},({signer:p})=>p).otherwise(()=>{return});return X({chain:e,isEIP1559Compatible:o,provider:n,signer:i})}}var H,Mt,te,ae,ce,le,de,fe,ge,Ae,Bt,He,Ce,Te,me,be,xe,Ue,we,Se,De,Re,ne,Me,Be;var tt=D(()=>{xt();K();pe();H=require("@swapkit/helpers"),Mt=require("ethers"),te=require("ts-pattern");ae=m(H.Chain.Adi),ce=m(H.Chain.Arbitrum),le=m(H.Chain.Aurora),de=m(H.Chain.Avalanche),fe=m(H.Chain.Base),ge=m(H.Chain.Berachain),Ae=m(H.Chain.BinanceSmartChain),Bt=m(H.Chain.Botanix),He=m(H.Chain.Core),Ce=m(H.Chain.Corn),Te=m(H.Chain.Cronos),me=m(H.Chain.Gnosis),be=m(H.Chain.Robinhood),xe=m(H.Chain.Hyperevm),Ue=m(H.Chain.Linea),we=m(H.Chain.Polygon),Se=m(H.Chain.MegaETH),De=m(H.Chain.Monad),Re=m(H.Chain.Plasma),ne=m(H.Chain.Sonic),Me=m(H.Chain.Unichain),Be=m(H.Chain.XLayer)});var qt;var Lt=D(()=>{qt=[{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 nt(e){return new qe.Contract(qn,qt,e)}function _t(e){return async function(){let n=nt(e);if(n&&"l1BaseFee"in n)return await n?.l1BaseFee();return}}function kt(e){return async function({from:n,to:r,nonce:o,...i}){let{Transaction:s}=await import("ethers");if(!r)throw new b.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return s.from({...i,authorizationList:i.authorizationList,nonce:o?o:n?await e.getTransactionCount(n):0,to:r}).serialized}}function Ot(e){return async function(n){let r=nt(e),o=await kt(e)(n);if(r&&"getL1Fee"in r)return r.getL1Fee(o)}}function Gt(e){return async function(n){let o=(await e.getFeeData()).gasPrice??0n,i=await e.estimateGas(n);return o*i}}function Ln(e){return async function(n){let r=await Ot(e)(n)??0n,o=await Gt(e)(n);return r+o}}function _n(e){return async function(n){let r=nt(e),o=await kt(e)(n);if(r&&"getL1GasUsed"in r)return r.getL1GasUsed(o)}}function kn(e){return async function(){try{let{maxFeePerGas:n,maxPriorityFeePerGas:r,gasPrice:o}=await e.getFeeData(),i=await _t(e)(),s=o;if(!(n&&r))throw new b.SwapKitError("toolbox_evm_no_fee_data");return{[b.FeeOption.Average]:{gasPrice:s,l1GasPrice:i,maxFeePerGas:n,maxPriorityFeePerGas:r},[b.FeeOption.Fast]:{gasPrice:b.applyFeeMultiplierToBigInt(s,b.FeeOption.Fast),l1GasPrice:b.applyFeeMultiplierToBigInt(i||0n,b.FeeOption.Fast),maxFeePerGas:n,maxPriorityFeePerGas:b.applyFeeMultiplierToBigInt(r,b.FeeOption.Fast)},[b.FeeOption.Fastest]:{gasPrice:b.applyFeeMultiplierToBigInt(s,b.FeeOption.Fastest),l1GasPrice:b.applyFeeMultiplierToBigInt(i||0n,b.FeeOption.Fastest),maxFeePerGas:n,maxPriorityFeePerGas:b.applyFeeMultiplierToBigInt(r,b.FeeOption.Fastest)}}}catch(n){throw new b.SwapKitError("toolbox_evm_gas_estimation_error",{error:n.msg??n.toString()})}}}function Le({provider:e,...t}){let n=re.match(t).with({phrase:re.P.string},({phrase:i})=>qe.HDNodeWallet.fromPhrase(i).connect(e)).with({signer:re.P.any},({signer:i})=>i).otherwise(()=>{return}),r=X({provider:e,signer:n}),o=_t(e);return{...r,estimateGasPrices:kn(e),estimateL1Gas:_n(e),estimateL1GasCost:Ot(e),estimateL2GasCost:Gt(e),estimateTotalGasCost:Ln(e),getBalance:V(b.Chain.Optimism).getBalance,getL1GasPrice:o}}var b,qe,re,qn="0x420000000000000000000000000000000000000f";var rt=D(()=>{ye();Lt();pe();b=require("@swapkit/helpers"),qe=require("ethers"),re=require("ts-pattern")});var On={};Ge(On,{validateEVMAddress:()=>v,toChecksumAddress:()=>Ut,isStateChangingCall:()=>Ve,isEIP7702Transaction:()=>se,isEIP1559Transaction:()=>ve,isBrowserProvider:()=>Z,getTokenAddress:()=>J,getEvmToolboxAsync:()=>$t,getEvmToolbox:()=>ot,getEstimateGasPrices:()=>z,getEVMTxType:()=>et,getEIP1193SendTransaction:()=>N,getCreateContractTxObject:()=>Q,getCreateContract:()=>Pe,getChecksumAddressFromAsset:()=>wt,createContract:()=>ee,XLayerToolbox:()=>Be,UNIToolbox:()=>Me,SONICToolbox:()=>ne,PLASMAToolbox:()=>Re,OPToolbox:()=>Le,MONADToolbox:()=>De,MEGAETHToolbox:()=>Se,MAX_APPROVAL:()=>E,MATICToolbox:()=>we,LINEAToolbox:()=>Ue,HYPEREVMToolbox:()=>xe,HOODToolbox:()=>be,GNOToolbox:()=>me,ETHToolbox:()=>ue,ContractAddress:()=>Ke,CROToolbox:()=>Te,CORNToolbox:()=>Ce,COREToolbox:()=>He,BotanixToolbox:()=>Bt,BaseEVMToolbox:()=>X,BSCToolbox:()=>Ae,BERAToolbox:()=>ge,BASEToolbox:()=>fe,AVAXToolbox:()=>de,AURORAToolbox:()=>le,ARBToolbox:()=>ce,ADIToolbox:()=>ae});function ot(e,t){return Wt.match(e).with(C.Chain.Adi,()=>ae(t)).with(C.Chain.Arbitrum,()=>ce(t)).with(C.Chain.Aurora,()=>le(t)).with(C.Chain.Avalanche,()=>de(t)).with(C.Chain.Base,()=>fe(t)).with(C.Chain.Berachain,()=>ge(t)).with(C.Chain.BinanceSmartChain,()=>Ae(t)).with(C.Chain.Botanix,()=>ne(t)).with(C.Chain.Core,()=>He(t)).with(C.Chain.Corn,()=>Ce(t)).with(C.Chain.Cronos,()=>Te(t)).with(C.Chain.Ethereum,()=>ue(t)).with(C.Chain.Gnosis,()=>me(t)).with(C.Chain.Hyperevm,()=>xe(t)).with(C.Chain.Linea,()=>Ue(t)).with(C.Chain.MegaETH,()=>Se(t)).with(C.Chain.Monad,()=>De(t)).with(C.Chain.Optimism,()=>Le(t)).with(C.Chain.Plasma,()=>Re(t)).with(C.Chain.Polygon,()=>we(t)).with(C.Chain.Robinhood,()=>be(t)).with(C.Chain.Sonic,()=>ne(t)).with(C.Chain.Unichain,()=>Me(t)).with(C.Chain.XLayer,()=>Be(t)).exhaustive()}async function $t(e,t){let n={...t,provider:t?.provider||je(e)};return ot(e,n)}var C,Wt;var Qt=D(()=>{K();tt();rt();C=require("@swapkit/helpers"),Wt=require("ts-pattern");pe();tt();rt()});var zt;var Ft=D(()=>{((n)=>{n.Test="goerli";n.Main="homestead"})(zt||={})});var Gn={};Ge(Gn,{validateEVMAddress:()=>v,validateAuthorizations:()=>Je,validateAuthorization:()=>Tt,toHexString:()=>G,toChecksumAddress:()=>Ut,signAuthorization:()=>Ne,parseEIP712FromEVMTx:()=>Cn,isStateChangingCall:()=>Ve,isEIP7702Transaction:()=>se,isEIP1559Transaction:()=>ve,isBrowserProvider:()=>Z,getTokenAddress:()=>J,getProviderSync:()=>Ct,getProvider:()=>gn,getNetworkParams:()=>Xe,getIsEIP1559Compatible:()=>Ze,getFallbackProvider:()=>je,getEvmToolboxAsync:()=>$t,getEvmToolbox:()=>ot,getEvmApi:()=>V,getEstimateGasPrices:()=>z,getEVMTxType:()=>et,getEIP1193SendTransaction:()=>N,getCreateContractTxObject:()=>Q,getCreateContract:()=>Pe,getChecksumAddressFromAsset:()=>wt,createCustomEvmApi:()=>fn,createContract:()=>ee,buildEIP712DomainType:()=>mt,XLayerToolbox:()=>Be,UNIToolbox:()=>Me,SONICToolbox:()=>ne,PLASMAToolbox:()=>Re,OPToolbox:()=>Le,MONADToolbox:()=>De,MEGAETHToolbox:()=>Se,MAX_APPROVAL:()=>E,MATICToolbox:()=>we,LINEAToolbox:()=>Ue,HYPEREVMToolbox:()=>xe,HOODToolbox:()=>be,GNOToolbox:()=>me,EthNetwork:()=>zt,ETHToolbox:()=>ue,ContractAddress:()=>Ke,CROToolbox:()=>Te,CORNToolbox:()=>Ce,COREToolbox:()=>He,BotanixToolbox:()=>Bt,BaseEVMToolbox:()=>X,BSCToolbox:()=>Ae,BERAToolbox:()=>ge,BASEToolbox:()=>fe,AVAXToolbox:()=>de,AURORAToolbox:()=>le,ARBToolbox:()=>ce,ADIToolbox:()=>ae});module.exports=gt(Gn);var Yt=D(()=>{ye();K();Qt();Ft()});function Wn({builder:e,grouping:t="na",orders:n}){return{builder:e,grouping:t,orders:n,type:"order"}}function $n({cancels:e}){return{cancels:e,type:"cancel"}}function Qn({cancels:e}){return{cancels:e,type:"cancelByCloid"}}function zn({oid:e,order:t}){return{oid:e,order:t,type:"modify"}}function Fn({modifies:e}){return{modifies:e,type:"batchModify"}}function Yn({asset:e,isCross:t,leverage:n}){return{asset:e,isCross:t,leverage:n,type:"updateLeverage"}}function jn({asset:e,isBuy:t,ntli:n}){return{asset:e,isBuy:t,ntli:n,type:"updateIsolatedMargin"}}function Xn({asset:e,leverage:t}){return{asset:e,leverage:t,type:"topUpIsolatedOnlyMargin"}}function Zn({time:e}){return{time:e,type:"scheduleCancel"}}function Nn({amount:e,hyperliquidChain:t,nonce:n,signatureChainId:r,toPerp:o}){return{amount:e,hyperliquidChain:t,nonce:n,signatureChainId:r,toPerp:o,type:"usdClassTransfer"}}function Jn({amount:e,destination:t,destinationDex:n,fromSubAccount:r,hyperliquidChain:o,nonce:i,signatureChainId:s,sourceDex:p,token:a}){return{amount:e,destination:t,destinationDex:n,fromSubAccount:r,hyperliquidChain:o,nonce:i,signatureChainId:s,sourceDex:p,token:a,type:"sendAsset"}}function hn({agentAddress:e,agentName:t,hyperliquidChain:n,nonce:r,signatureChainId:o}){return{agentAddress:e,agentName:t,hyperliquidChain:n,nonce:r,signatureChainId:o,type:"approveAgent"}}function In({builder:e,hyperliquidChain:t,maxFeeRate:n,nonce:r,signatureChainId:o}){return{builder:e,hyperliquidChain:t,maxFeeRate:n,nonce:r,signatureChainId:o,type:"approveBuilderFee"}}function Pn({hyperliquidChain:e,isUndelegate:t,nonce:n,signatureChainId:r,validator:o,wei:i}){return{hyperliquidChain:e,isUndelegate:t,nonce:n,signatureChainId:r,type:"tokenDelegate",validator:o,wei:i}}function R(...e){let t=e.reduce((o,i)=>o+i.length,0),n=new Uint8Array(t),r=0;for(let o of e)n.set(o,r),r+=o.length;return n}function tr(e,t,n){if(n<t)return new Uint8Array([e+n]);if(n<=255)return new Uint8Array([e+t,n]);if(n<=65535)return new Uint8Array([e+t+1,n>>8,n&255]);return new Uint8Array([e+t+2,n>>>24&255,n>>>16&255,n>>>8&255,n&255])}function W(e,t){let n=new Uint8Array(t),r=e;for(let o=t-1;o>=0;o-=1)n[o]=Number(r&0xffn),r>>=8n;return n}function jt(e){if(e>=0n){if(e<=0x7fn)return new Uint8Array([Number(e)]);if(e<=0xffn)return new Uint8Array([204,Number(e)]);if(e<=0xffffn)return R(new Uint8Array([205]),W(e,2));if(e<=0xffffffffn)return R(new Uint8Array([206]),W(e,4));return R(new Uint8Array([207]),W(e,8))}if(e>=-32n)return new Uint8Array([256+Number(e)]);if(e>=-128n)return new Uint8Array([208,256+Number(e)]);if(e>=-32768n)return R(new Uint8Array([209]),W(BigInt.asUintN(16,e),2));if(e>=-2147483648n)return R(new Uint8Array([210]),W(BigInt.asUintN(32,e),4));return R(new Uint8Array([211]),W(BigInt.asUintN(64,e),8))}function Nt(e){let t=er.encode(e);if(t.length<32)return R(new Uint8Array([160+t.length]),t);return R(tr(217,0,t.length),t)}function nr(e){let t=e.map((r)=>yt(r)),n=e.length<16?new Uint8Array([144+e.length]):e.length<=65535?new Uint8Array([220,e.length>>8,e.length&255]):new Uint8Array([221,e.length>>>24&255,e.length>>>16&255,e.length>>>8&255,e.length&255]);return R(n,...t)}function rr(e){let t=Object.entries(e).filter(([,r])=>typeof r<"u"),n=t.length<16?new Uint8Array([128+t.length]):t.length<=65535?new Uint8Array([222,t.length>>8,t.length&255]):new Uint8Array([223,t.length>>>24&255,t.length>>>16&255,t.length>>>8&255,t.length&255]);return R(n,...t.flatMap(([r,o])=>[Nt(r),yt(o)]))}function yt(e){if(e===null)return new Uint8Array([192]);if(typeof e==="boolean")return new Uint8Array([e?195:194]);if(typeof e==="string")return Nt(e);if(typeof e==="number"){if(!Number.isFinite(e)||!Number.isInteger(e))throw new _e.SwapKitError("helpers_invalid_params",{message:"Hyperliquid msgpack only supports integers"});return jt(BigInt(e))}if(typeof e==="bigint")return jt(e);if(e instanceof Uint8Array){let t=e.length<=255?new Uint8Array([196,e.length]):e.length<=65535?new Uint8Array([197,e.length>>8,e.length&255]):new Uint8Array([198,e.length>>>24&255,e.length>>>16&255,e.length>>>8&255,e.length&255]);return R(t,e)}if(Array.isArray(e))return nr(e);if(typeof e==="object")return rr(e);throw new _e.SwapKitError("helpers_invalid_params",{message:`Unsupported Hyperliquid msgpack value: ${String(e)}`})}function or(e){let t=e.startsWith("0x")?e.slice(2):e;if(t.length%2!==0||/[^a-fA-F0-9]/u.test(t))throw new _e.SwapKitError("helpers_invalid_params",{hexValue:e});let n=new Uint8Array(t.length/2);for(let r=0;r<t.length;r+=2)n[r/2]=Number.parseInt(t.slice(r,r+2),16);return n}function Jt(e){return{domain:Vn,message:{connectionId:e,source:"a"},primaryType:"Agent",types:{Agent:[...Kn.Agent]}}}function ht(e){let t=vn[e.type],n=En[e.type],{type:r,...o}=e;return{domain:{chainId:Number.parseInt(o.signatureChainId||"0xa4b1",16),name:"HyperliquidSignTransaction",verifyingContract:Xt,version:"1"},message:{...o,hyperliquidChain:o.hyperliquidChain||Zt},primaryType:t,types:{[t]:n}}}function It(e){let t=ke.Signature.from(e);return{r:t.r,s:t.s,v:t.v}}function Pt(e,t,{expiresAfter:n,vaultAddress:r}={}){let o=yt(e),i=W(BigInt(t),8),s=r?R(new Uint8Array([1]),or(r.toLowerCase())):new Uint8Array([0]),p=typeof n==="number"?R(new Uint8Array([0]),W(BigInt(n),8)):new Uint8Array;return ke.keccak256(R(o,i,s,p))}function Vt(e){let t=e.hyperliquidChain||Zt;switch(e.type){case"approveAgent":return{...e,agentAddress:e.agentAddress.toLowerCase(),hyperliquidChain:t};case"approveBuilderFee":return{...e,builder:e.builder.toLowerCase(),hyperliquidChain:t};case"sendAsset":return{...e,destination:e.destination.toLowerCase(),fromSubAccount:e.fromSubAccount.toLowerCase(),hyperliquidChain:t};case"tokenDelegate":return{...e,hyperliquidChain:t,validator:e.validator.toLowerCase()};case"usdClassTransfer":return{...e,hyperliquidChain:t};default:return e}}var _e,ke,Xt="0x0000000000000000000000000000000000000000",Vn,Kn,Zt="Mainnet",En,vn,er;var Kt=D(()=>{_e=require("@swapkit/helpers"),ke=require("ethers"),Vn={chainId:1337,name:"Exchange",verifyingContract:Xt,version:"1"},Kn={Agent:[{name:"source",type:"string"},{name:"connectionId",type:"bytes32"}]},En={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"}]},vn={approveAgent:"HyperliquidTransaction:ApproveAgent",approveBuilderFee:"HyperliquidTransaction:ApproveBuilderFee",sendAsset:"HyperliquidTransaction:SendAsset",tokenDelegate:"HyperliquidTransaction:TokenDelegate",usdClassTransfer:"HyperliquidTransaction:UsdClassTransfer"},er=new TextEncoder});function L(e,t){if(!ut(e))throw new g.SwapKitError(t,{address:e});return e.toLowerCase()}async function F(e){let t=await Oe();return g.RequestClient.post(`${t}/info`,{json:e})}function cr({dex:e,user:t}){return F({...e?{dex:e}:{},type:"clearinghouseState",user:L(t,"helpers_invalid_params")})}function lr({user:e}){return F({type:"spotClearinghouseState",user:L(e,"helpers_invalid_params")})}function dr({dex:e,user:t}){return F({...e?{dex:e}:{},type:"openOrders",user:L(t,"helpers_invalid_params")})}function fr({dex:e,user:t}){return F({...e?{dex:e}:{},type:"frontendOpenOrders",user:L(t,"helpers_invalid_params")})}function gr({oidOrCloid:e,user:t}){return F({oid:e,type:"orderStatus",user:L(t,"helpers_invalid_params")})}function Ar({aggregateByTime:e,user:t}){return F({...typeof e==="boolean"?{aggregateByTime:e}:{},type:"userFills",user:L(t,"helpers_invalid_params")})}function Hr({aggregateByTime:e,endTime:t,startTime:n,user:r}){return F({...typeof e==="boolean"?{aggregateByTime:e}:{},...typeof t==="number"?{endTime:t}:{},startTime:n,type:"userFillsByTime",user:L(r,"helpers_invalid_params")})}function Et({coin:e,token:t,value:n,spotMeta:r}){if(!n||Number(n)<=0)return null;let o=e?.toUpperCase()||`TOKEN-${t||"UNKNOWN"}`,i=ir[o]||tn,s=r?.tokens?.find((a)=>a.name===e||t!==void 0&&a.index===Number(t)),p=s?`${_}.${o}-${s.name}:${s.tokenId}`:`${_}.${o}`;return new g.AssetValue({decimal:i,identifier:p,value:n})}function Cr(e){let t=new Map;for(let n of e){let r=n.toString({includeSynthProtocol:!0}),o=t.get(r);t.set(r,o?o.add(n):n)}if(![...t.values()].some((n)=>n.isGasAsset||n.ticker==="HYPE")){let n=g.AssetValue.from({chain:_,value:0});t.set(n.toString({includeSynthProtocol:!0}),n)}return[...t.values()]}async function Oe(){try{return await g.getRPCUrl(_)}catch{let[e]=g.getChainConfig(_).rpcUrls;if(!e)throw new g.SwapKitError("helpers_chain_no_public_or_set_rpc_url",{chain:_});return e}}async function pt(){return`${await Oe()}/exchange`}function Tr(e){let t=ar[e.type],{type:n,...r}=e,o=ur[n];return{domain:{chainId:Number.parseInt(e.signatureChainId,16),name:"HyperliquidSignTransaction",verifyingContract:pr,version:"1"},message:r,primaryType:t,types:{[t]:o}}}async function nn({action:e,expiresAfter:t,nonce:n,vaultAddress:r}){let o=n||Date.now(),i=r?L(r,"helpers_invalid_params"):void 0,s=await pt(),p=Pt(e,o,{expiresAfter:t,vaultAddress:i});return{action:e,endpoint:s,expiresAfter:t,nonce:o,typedData:Jt(p),vaultAddress:i}}async function rn({action:e,nonce:t,signatureChainId:n}){let r=t||e.nonce||Date.now(),o=n||e.signatureChainId||"0xa4b1",i=Vt({...e,nonce:r,signatureChainId:o});return{action:i,endpoint:await pt(),nonce:r,typedData:ht(i)}}async function st({assetValue:e,recipient:t,sender:n,signatureChainId:r,time:o}){let i=L(t,"core_transaction_invalid_recipient_address"),s=L(n,"core_transaction_invalid_sender_address"),p=await pt(),a=e.getValue("string"),f=o||Date.now(),d=e.address;if(!d)throw new g.SwapKitError("helpers_invalid_params",{asset:e.toString(),from:s});let T={amount:a,destination:i,hyperliquidChain:yr,signatureChainId:r||sr,time:f,token:d,type:"spotSend"};return{action:T,endpoint:p,nonce:f,typedData:Tr(T)}}async function vt(e){let t=await g.RequestClient.post(e.endpoint,{json:{action:e.action,...typeof e.expiresAfter==="number"?{expiresAfter:e.expiresAfter}:{},nonce:e.nonce,signature:e.signature,...e.vaultAddress?{vaultAddress:e.vaultAddress}:{}}});if(t.status!=="ok")throw new g.SwapKitError("core_transaction_failed",{response:t});return t}async function mr(e,t){let n=await Oe(),r=t-5000;for(let o=0;o<5;o++){if(o>0)await new Promise((i)=>setTimeout(i,1000));try{let i=await g.RequestClient.post(`${n}/info`,{json:{startTime:r,type:"userNonFundingLedgerUpdates",user:e}}),s=Array.isArray(i)?i.find((p)=>p.time&&p.time>=t&&(p.delta?.type==="spotTransfer"||p.delta?.type==="internalTransfer")):void 0;if(s?.hash)return s.hash}catch{}}return""}function ut(e){return e.startsWith("0x")&&v(e)}function br(e){let t=ie(_),n=e&&"index"in e?e.index||0:0,r=g.derivationPathToString(e&&"derivationPath"in e&&e.derivationPath?e.derivationPath:g.updateDerivationPath(g.NetworkDerivationPath[_],{index:n})),o,i=!1;function s(){if(i)return o;return o=h.match(e).with({phrase:h.P.string},({phrase:u})=>{return en.HDNodeWallet.fromPhrase(u,void 0,r)}).with({signer:h.P.not(h.P.nullish)},({signer:u})=>u).otherwise(()=>{return}),i=!0,o}async function p(){let u=s();return u?await u.getAddress():""}async function a(u){let l=s();if(!l)throw new g.SwapKitError("toolbox_hypercore_no_signer");let A=await l.signTypedData(u.typedData.domain,u.typedData.types,u.typedData.message);return{action:u.action,endpoint:u.endpoint,nonce:u.nonce,signature:It(A),..."expiresAfter"in u?{expiresAfter:u.expiresAfter}:{},..."vaultAddress"in u?{vaultAddress:u.vaultAddress}:{}}}async function f(u){let l=L(u,"helpers_invalid_params");try{let A=await Oe(),[x,U,S]=await Promise.all([g.RequestClient.post(`${A}/info`,{json:{type:"spotClearinghouseState",user:l}}),g.RequestClient.post(`${A}/info`,{json:{type:"clearinghouseState",user:l}}),g.RequestClient.post(`${A}/info`,{json:{type:"spotMeta"}})]),w=(x.spotState?.balances||x.balances||[]).map(({coin:O,token:$,total:Y})=>Et({coin:O,spotMeta:S,token:$,value:Y})).filter((O)=>!!O),k=Et({coin:"USDC",spotMeta:S,value:U.withdrawable||U.marginSummary?.accountValue||U.marginSummary?.totalRawUsd});return Cr(k?[...w,k]:w)}catch{return t(l)}}async function d(u){let l=s();if(!l)throw new g.SwapKitError("toolbox_hypercore_no_signer");let A=u.sender||await l.getAddress(),x=await st({...u,feeRate:0,sender:A}),U=await a(x);return await vt(U),mr(A,x.nonce)}function T(){return g.AssetValue.from({chain:_,value:0})}return{broadcastTransaction:vt,createL1ActionRequest:nn,createTransaction:st,createUserSignedActionRequest:rn,estimateTransactionFee:T,getAddress:p,getBalance:f,getState:{clearinghouse:cr,frontendOpenOrders:fr,openOrders:dr,orderStatus:gr,spotClearinghouse:lr,userFills:Ar,userFillsByTime:Hr},signTransaction:a,transfer:d,validateAddress:ut}}var g,en,h,_,tn,ir,yr="Mainnet",sr="0xa4b1",pr="0x0000000000000000000000000000000000000000",ur,ar;var on=D(()=>{Yt();$e();Kt();g=require("@swapkit/helpers"),en=require("ethers"),h=require("ts-pattern"),_=g.Chain.Hype,{baseDecimal:tn}=g.getChainConfig(_),ir={HYPE:tn,USDC:6,USDT:6},ur={spotSend:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"time",type:"uint64"}]},ar={spotSend:"HyperliquidTransaction:SpotSend"}});var xr={};Ge(xr,{validateHyperCoreAddress:()=>ut,getHyperCoreToolbox:()=>br,createUserSignedActionRequest:()=>rn,createTransaction:()=>st,createL1ActionRequest:()=>nn,buildUsdClassTransferAction:()=>Nn,buildUpdateLeverageAction:()=>Yn,buildUpdateIsolatedMarginAction:()=>jn,buildTopUpIsolatedOnlyMarginAction:()=>Xn,buildTokenDelegateAction:()=>Pn,buildSendAssetAction:()=>Jn,buildScheduleCancelAction:()=>Zn,buildOrderAction:()=>Wn,buildModifyAction:()=>zn,buildCancelByCloidAction:()=>Qn,buildCancelAction:()=>$n,buildBatchModifyAction:()=>Fn,buildApproveBuilderFeeAction:()=>In,buildApproveAgentAction:()=>hn});module.exports=gt(xr);var Ur=D(()=>{on()});Ur();
@@ -1 +1 @@
1
- import"../../chunk-44m22jy1.js";import{q as V}from"../../chunk-x9vsnagh.js";import{ea as E}from"../../chunk-jdh5asaw.js";import"../../chunk-fjyc6m34.js";function Me({builder:e,grouping:r="na",orders:t}){return{builder:e,grouping:r,orders:t,type:"order"}}function ke({cancels:e}){return{cancels:e,type:"cancel"}}function Fe({cancels:e}){return{cancels:e,type:"cancelByCloid"}}function ve({oid:e,order:r}){return{oid:e,order:r,type:"modify"}}function Le({modifies:e}){return{modifies:e,type:"batchModify"}}function Ne({asset:e,isCross:r,leverage:t}){return{asset:e,isCross:r,leverage:t,type:"updateLeverage"}}function je({asset:e,isBuy:r,ntli:t}){return{asset:e,isBuy:r,ntli:t,type:"updateIsolatedMargin"}}function $e({asset:e,leverage:r}){return{asset:e,leverage:r,type:"topUpIsolatedOnlyMargin"}}function ze({time:e}){return{time:e,type:"scheduleCancel"}}function Qe({amount:e,hyperliquidChain:r,nonce:t,signatureChainId:n,toPerp:i}){return{amount:e,hyperliquidChain:r,nonce:t,signatureChainId:n,toPerp:i,type:"usdClassTransfer"}}function We({amount:e,destination:r,destinationDex:t,fromSubAccount:n,hyperliquidChain:i,nonce:o,signatureChainId:a,sourceDex:p,token:g}){return{amount:e,destination:r,destinationDex:t,fromSubAccount:n,hyperliquidChain:i,nonce:o,signatureChainId:a,sourceDex:p,token:g,type:"sendAsset"}}function Ee({agentAddress:e,agentName:r,hyperliquidChain:t,nonce:n,signatureChainId:i}){return{agentAddress:e,agentName:r,hyperliquidChain:t,nonce:n,signatureChainId:i,type:"approveAgent"}}function Ve({builder:e,hyperliquidChain:r,maxFeeRate:t,nonce:n,signatureChainId:i}){return{builder:e,hyperliquidChain:r,maxFeeRate:t,nonce:n,signatureChainId:i,type:"approveBuilderFee"}}function Ge({hyperliquidChain:e,isUndelegate:r,nonce:t,signatureChainId:n,validator:i,wei:o}){return{hyperliquidChain:e,isUndelegate:r,nonce:t,signatureChainId:n,type:"tokenDelegate",validator:i,wei:o}}import{AssetValue as R,Chain as ce,derivationPathToString as de,getChainConfig as G,getRPCUrl as ue,NetworkDerivationPath as ge,RequestClient as A,SwapKitError as m,updateDerivationPath as le}from"@swapkit/helpers";import{HDNodeWallet as Ce}from"ethers";import{match as fe,P as O}from"ts-pattern";import{SwapKitError as w}from"@swapkit/helpers";import{keccak256 as Z,Signature as ee}from"ethers";var M="0x0000000000000000000000000000000000000000",re={chainId:1337,name:"Exchange",verifyingContract:M,version:"1"},te={Agent:[{name:"source",type:"string"},{name:"connectionId",type:"bytes32"}]},k="Mainnet",ne={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"}]},ie={approveAgent:"HyperliquidTransaction:ApproveAgent",approveBuilderFee:"HyperliquidTransaction:ApproveBuilderFee",sendAsset:"HyperliquidTransaction:SendAsset",tokenDelegate:"HyperliquidTransaction:TokenDelegate",usdClassTransfer:"HyperliquidTransaction:UsdClassTransfer"},oe=new TextEncoder;function y(...e){let r=e.reduce((i,o)=>i+o.length,0),t=new Uint8Array(r),n=0;for(let i of e)t.set(i,n),n+=i.length;return t}function se(e,r,t){if(t<r)return new Uint8Array([e+t]);if(t<=255)return new Uint8Array([e+r,t]);if(t<=65535)return new Uint8Array([e+r+1,t>>8,t&255]);return new Uint8Array([e+r+2,t>>>24&255,t>>>16&255,t>>>8&255,t&255])}function C(e,r){let t=new Uint8Array(r),n=e;for(let i=r-1;i>=0;i-=1)t[i]=Number(n&0xffn),n>>=8n;return t}function _(e){if(e>=0n){if(e<=0x7fn)return new Uint8Array([Number(e)]);if(e<=0xffn)return new Uint8Array([204,Number(e)]);if(e<=0xffffn)return y(new Uint8Array([205]),C(e,2));if(e<=0xffffffffn)return y(new Uint8Array([206]),C(e,4));return y(new Uint8Array([207]),C(e,8))}if(e>=-32n)return new Uint8Array([256+Number(e)]);if(e>=-128n)return new Uint8Array([208,256+Number(e)]);if(e>=-32768n)return y(new Uint8Array([209]),C(BigInt.asUintN(16,e),2));if(e>=-2147483648n)return y(new Uint8Array([210]),C(BigInt.asUintN(32,e),4));return y(new Uint8Array([211]),C(BigInt.asUintN(64,e),8))}function F(e){let r=oe.encode(e);if(r.length<32)return y(new Uint8Array([160+r.length]),r);return y(se(217,0,r.length),r)}function ae(e){let r=e.map((n)=>D(n)),t=e.length<16?new Uint8Array([144+e.length]):e.length<=65535?new Uint8Array([220,e.length>>8,e.length&255]):new Uint8Array([221,e.length>>>24&255,e.length>>>16&255,e.length>>>8&255,e.length&255]);return y(t,...r)}function pe(e){let r=Object.entries(e).filter(([,n])=>typeof n<"u"),t=r.length<16?new Uint8Array([128+r.length]):r.length<=65535?new Uint8Array([222,r.length>>8,r.length&255]):new Uint8Array([223,r.length>>>24&255,r.length>>>16&255,r.length>>>8&255,r.length&255]);return y(t,...r.flatMap(([n,i])=>[F(n),D(i)]))}function D(e){if(e===null)return new Uint8Array([192]);if(typeof e==="boolean")return new Uint8Array([e?195:194]);if(typeof e==="string")return F(e);if(typeof e==="number"){if(!Number.isFinite(e)||!Number.isInteger(e))throw new w("helpers_invalid_params",{message:"Hyperliquid msgpack only supports integers"});return _(BigInt(e))}if(typeof e==="bigint")return _(e);if(e instanceof Uint8Array){let r=e.length<=255?new Uint8Array([196,e.length]):e.length<=65535?new Uint8Array([197,e.length>>8,e.length&255]):new Uint8Array([198,e.length>>>24&255,e.length>>>16&255,e.length>>>8&255,e.length&255]);return y(r,e)}if(Array.isArray(e))return ae(e);if(typeof e==="object")return pe(e);throw new w("helpers_invalid_params",{message:`Unsupported Hyperliquid msgpack value: ${String(e)}`})}function ye(e){let r=e.startsWith("0x")?e.slice(2):e;if(r.length%2!==0||/[^a-fA-F0-9]/u.test(r))throw new w("helpers_invalid_params",{hexValue:e});let t=new Uint8Array(r.length/2);for(let n=0;n<r.length;n+=2)t[n/2]=Number.parseInt(r.slice(n,n+2),16);return t}function v(e){return{domain:re,message:{connectionId:e,source:"a"},primaryType:"Agent",types:{Agent:[...te.Agent]}}}function L(e){let r=ie[e.type],t=ne[e.type],{type:n,...i}=e;return{domain:{chainId:Number.parseInt(i.signatureChainId||"0xa4b1",16),name:"HyperliquidSignTransaction",verifyingContract:M,version:"1"},message:{...i,hyperliquidChain:i.hyperliquidChain||k},primaryType:r,types:{[r]:t}}}function N(e){let r=ee.from(e);return{r:r.r,s:r.s,v:r.v}}function j(e,r,{expiresAfter:t,vaultAddress:n}={}){let i=D(e),o=C(BigInt(r),8),a=n?y(new Uint8Array([1]),ye(n.toLowerCase())):new Uint8Array([0]),p=typeof t==="number"?y(new Uint8Array([0]),C(BigInt(t),8)):new Uint8Array;return Z(y(i,o,a,p))}function $(e){let r=e.hyperliquidChain||k;switch(e.type){case"approveAgent":return{...e,agentAddress:e.agentAddress.toLowerCase(),hyperliquidChain:r};case"approveBuilderFee":return{...e,builder:e.builder.toLowerCase(),hyperliquidChain:r};case"sendAsset":return{...e,destination:e.destination.toLowerCase(),fromSubAccount:e.fromSubAccount.toLowerCase(),hyperliquidChain:r};case"tokenDelegate":return{...e,hyperliquidChain:r,validator:e.validator.toLowerCase()};case"usdClassTransfer":return{...e,hyperliquidChain:r};default:return e}}var u=ce.Hype,{baseDecimal:K}=G(u),Ae={HYPE:K,USDC:6,USDT:6},me="Mainnet",He="0xa4b1",he="0x0000000000000000000000000000000000000000",Te={spotSend:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"time",type:"uint64"}]},xe={spotSend:"HyperliquidTransaction:SpotSend"};function c(e,r){if(!Y(e))throw new m(r,{address:e});return e.toLowerCase()}async function f(e){let r=await S();return A.post(`${r}/info`,{json:e})}function be({dex:e,user:r}){return f({...e?{dex:e}:{},type:"clearinghouseState",user:c(r,"helpers_invalid_params")})}function Se({user:e}){return f({type:"spotClearinghouseState",user:c(e,"helpers_invalid_params")})}function Ue({dex:e,user:r}){return f({...e?{dex:e}:{},type:"openOrders",user:c(r,"helpers_invalid_params")})}function we({dex:e,user:r}){return f({...e?{dex:e}:{},type:"frontendOpenOrders",user:c(r,"helpers_invalid_params")})}function De({oidOrCloid:e,user:r}){return f({oid:e,type:"orderStatus",user:c(r,"helpers_invalid_params")})}function Oe({aggregateByTime:e,user:r}){return f({...typeof e==="boolean"?{aggregateByTime:e}:{},type:"userFills",user:c(r,"helpers_invalid_params")})}function Re({aggregateByTime:e,endTime:r,startTime:t,user:n}){return f({...typeof e==="boolean"?{aggregateByTime:e}:{},...typeof r==="number"?{endTime:r}:{},startTime:t,type:"userFillsByTime",user:c(n,"helpers_invalid_params")})}function z({coin:e,token:r,value:t,spotMeta:n}){if(!t||Number(t)<=0)return null;let i=e?.toUpperCase()||`TOKEN-${r||"UNKNOWN"}`,o=Ae[i]||K,a=n?.tokens?.find((g)=>g.name===e||r!==void 0&&g.index===Number(r)),p=a?`${u}.${i}-${a.name}:${a.tokenId}`:`${u}.${i}`;return new R({decimal:o,identifier:p,value:t})}function Be(e){let r=new Map;for(let t of e){let n=t.toString({includeSynthProtocol:!0}),i=r.get(n);r.set(n,i?i.add(t):t)}if(![...r.values()].some((t)=>t.isGasAsset||t.ticker==="HYPE")){let t=R.from({chain:u,value:0});r.set(t.toString({includeSynthProtocol:!0}),t)}return[...r.values()]}async function S(){try{return await ue(u)}catch{let[e]=G(u).rpcUrls;if(!e)throw new m("helpers_chain_no_public_or_set_rpc_url",{chain:u});return e}}async function B(){return`${await S()}/exchange`}function Pe(e){let r=xe[e.type],{type:t,...n}=e,i=Te[t];return{domain:{chainId:Number.parseInt(e.signatureChainId,16),name:"HyperliquidSignTransaction",verifyingContract:he,version:"1"},message:n,primaryType:r,types:{[r]:i}}}async function Ie({action:e,expiresAfter:r,nonce:t,vaultAddress:n}){let i=t||Date.now(),o=n?c(n,"helpers_invalid_params"):void 0,a=await B(),p=j(e,i,{expiresAfter:r,vaultAddress:o});return{action:e,endpoint:a,expiresAfter:r,nonce:i,typedData:v(p),vaultAddress:o}}async function qe({action:e,nonce:r,signatureChainId:t}){let n=r||e.nonce||Date.now(),i=t||e.signatureChainId||"0xa4b1",o=$({...e,nonce:n,signatureChainId:i});return{action:o,endpoint:await B(),nonce:n,typedData:L(o)}}async function Q({assetValue:e,recipient:r,sender:t,signatureChainId:n,time:i}){let o=c(r,"core_transaction_invalid_recipient_address"),a=c(t,"core_transaction_invalid_sender_address"),p=await B(),g=e.getValue("string"),T=i||Date.now(),x=e.address;if(!x)throw new m("helpers_invalid_params",{asset:e.toString(),from:a});let b={amount:g,destination:o,hyperliquidChain:me,signatureChainId:n||He,time:T,token:x,type:"spotSend"};return{action:b,endpoint:p,nonce:T,typedData:Pe(b)}}async function W(e){let r=await A.post(e.endpoint,{json:{action:e.action,...typeof e.expiresAfter==="number"?{expiresAfter:e.expiresAfter}:{},nonce:e.nonce,signature:e.signature,...e.vaultAddress?{vaultAddress:e.vaultAddress}:{}}});if(r.status!=="ok")throw new m("core_transaction_failed",{response:r});return r}async function _e(e,r){let t=await S(),n=r-5000;for(let i=0;i<5;i++){if(i>0)await new Promise((o)=>setTimeout(o,1000));try{let o=await A.post(`${t}/info`,{json:{startTime:n,type:"userNonFundingLedgerUpdates",user:e}}),a=Array.isArray(o)?o.find((p)=>p.time&&p.time>=r&&(p.delta?.type==="spotTransfer"||p.delta?.type==="internalTransfer")):void 0;if(a?.hash)return a.hash}catch{}}return""}function Y(e){return e.startsWith("0x")&&V(e)}function or(e){let r=E(u),t=e&&"index"in e?e.index||0:0,n=de(e&&"derivationPath"in e&&e.derivationPath?e.derivationPath:le(ge[u],{index:t})),i,o=!1;function a(){if(o)return i;return i=fe(e).with({phrase:O.string},({phrase:s})=>{return Ce.fromPhrase(s,void 0,n)}).with({signer:O.not(O.nullish)},({signer:s})=>s).otherwise(()=>{return}),o=!0,i}async function p(){let s=a();return s?await s.getAddress():""}async function g(s){let d=a();if(!d)throw new m("toolbox_hypercore_no_signer");let l=await d.signTypedData(s.typedData.domain,s.typedData.types,s.typedData.message);return{action:s.action,endpoint:s.endpoint,nonce:s.nonce,signature:N(l),..."expiresAfter"in s?{expiresAfter:s.expiresAfter}:{},..."vaultAddress"in s?{vaultAddress:s.vaultAddress}:{}}}async function T(s){let d=c(s,"helpers_invalid_params");try{let l=await S(),[H,h,P]=await Promise.all([A.post(`${l}/info`,{json:{type:"spotClearinghouseState",user:d}}),A.post(`${l}/info`,{json:{type:"clearinghouseState",user:d}}),A.post(`${l}/info`,{json:{type:"spotMeta"}})]),I=(H.spotState?.balances||H.balances||[]).map(({coin:U,token:J,total:X})=>z({coin:U,spotMeta:P,token:J,value:X})).filter((U)=>!!U),q=z({coin:"USDC",spotMeta:P,value:h.withdrawable||h.marginSummary?.accountValue||h.marginSummary?.totalRawUsd});return Be(q?[...I,q]:I)}catch{return r(d)}}async function x(s){let d=a();if(!d)throw new m("toolbox_hypercore_no_signer");let l=s.sender||await d.getAddress(),H=await Q({...s,feeRate:0,sender:l}),h=await g(H);return await W(h),_e(l,H.nonce)}function b(){return R.from({chain:u,value:0})}return{broadcastTransaction:W,createL1ActionRequest:Ie,createTransaction:Q,createUserSignedActionRequest:qe,estimateTransactionFee:b,getAddress:p,getBalance:T,getState:{clearinghouse:be,frontendOpenOrders:we,openOrders:Ue,orderStatus:De,spotClearinghouse:Se,userFills:Oe,userFillsByTime:Re},signTransaction:g,transfer:x,validateAddress:Y}}export{Y as validateHyperCoreAddress,or as getHyperCoreToolbox,qe as createUserSignedActionRequest,Q as createTransaction,Ie as createL1ActionRequest,Qe as buildUsdClassTransferAction,Ne as buildUpdateLeverageAction,je as buildUpdateIsolatedMarginAction,$e as buildTopUpIsolatedOnlyMarginAction,Ge as buildTokenDelegateAction,We as buildSendAssetAction,ze as buildScheduleCancelAction,Me as buildOrderAction,ve as buildModifyAction,Fe as buildCancelByCloidAction,ke as buildCancelAction,Le as buildBatchModifyAction,Ve as buildApproveBuilderFeeAction,Ee as buildApproveAgentAction};
1
+ import"../../chunk-44m22jy1.js";import{q as V}from"../../chunk-6b99avsd.js";import{ea as E}from"../../chunk-jdh5asaw.js";import"../../chunk-fjyc6m34.js";function Me({builder:e,grouping:r="na",orders:t}){return{builder:e,grouping:r,orders:t,type:"order"}}function ke({cancels:e}){return{cancels:e,type:"cancel"}}function Fe({cancels:e}){return{cancels:e,type:"cancelByCloid"}}function ve({oid:e,order:r}){return{oid:e,order:r,type:"modify"}}function Le({modifies:e}){return{modifies:e,type:"batchModify"}}function Ne({asset:e,isCross:r,leverage:t}){return{asset:e,isCross:r,leverage:t,type:"updateLeverage"}}function je({asset:e,isBuy:r,ntli:t}){return{asset:e,isBuy:r,ntli:t,type:"updateIsolatedMargin"}}function $e({asset:e,leverage:r}){return{asset:e,leverage:r,type:"topUpIsolatedOnlyMargin"}}function ze({time:e}){return{time:e,type:"scheduleCancel"}}function Qe({amount:e,hyperliquidChain:r,nonce:t,signatureChainId:n,toPerp:i}){return{amount:e,hyperliquidChain:r,nonce:t,signatureChainId:n,toPerp:i,type:"usdClassTransfer"}}function We({amount:e,destination:r,destinationDex:t,fromSubAccount:n,hyperliquidChain:i,nonce:o,signatureChainId:a,sourceDex:p,token:g}){return{amount:e,destination:r,destinationDex:t,fromSubAccount:n,hyperliquidChain:i,nonce:o,signatureChainId:a,sourceDex:p,token:g,type:"sendAsset"}}function Ee({agentAddress:e,agentName:r,hyperliquidChain:t,nonce:n,signatureChainId:i}){return{agentAddress:e,agentName:r,hyperliquidChain:t,nonce:n,signatureChainId:i,type:"approveAgent"}}function Ve({builder:e,hyperliquidChain:r,maxFeeRate:t,nonce:n,signatureChainId:i}){return{builder:e,hyperliquidChain:r,maxFeeRate:t,nonce:n,signatureChainId:i,type:"approveBuilderFee"}}function Ge({hyperliquidChain:e,isUndelegate:r,nonce:t,signatureChainId:n,validator:i,wei:o}){return{hyperliquidChain:e,isUndelegate:r,nonce:t,signatureChainId:n,type:"tokenDelegate",validator:i,wei:o}}import{AssetValue as R,Chain as ce,derivationPathToString as de,getChainConfig as G,getRPCUrl as ue,NetworkDerivationPath as ge,RequestClient as A,SwapKitError as m,updateDerivationPath as le}from"@swapkit/helpers";import{HDNodeWallet as Ce}from"ethers";import{match as fe,P as O}from"ts-pattern";import{SwapKitError as w}from"@swapkit/helpers";import{keccak256 as Z,Signature as ee}from"ethers";var M="0x0000000000000000000000000000000000000000",re={chainId:1337,name:"Exchange",verifyingContract:M,version:"1"},te={Agent:[{name:"source",type:"string"},{name:"connectionId",type:"bytes32"}]},k="Mainnet",ne={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"}]},ie={approveAgent:"HyperliquidTransaction:ApproveAgent",approveBuilderFee:"HyperliquidTransaction:ApproveBuilderFee",sendAsset:"HyperliquidTransaction:SendAsset",tokenDelegate:"HyperliquidTransaction:TokenDelegate",usdClassTransfer:"HyperliquidTransaction:UsdClassTransfer"},oe=new TextEncoder;function y(...e){let r=e.reduce((i,o)=>i+o.length,0),t=new Uint8Array(r),n=0;for(let i of e)t.set(i,n),n+=i.length;return t}function se(e,r,t){if(t<r)return new Uint8Array([e+t]);if(t<=255)return new Uint8Array([e+r,t]);if(t<=65535)return new Uint8Array([e+r+1,t>>8,t&255]);return new Uint8Array([e+r+2,t>>>24&255,t>>>16&255,t>>>8&255,t&255])}function C(e,r){let t=new Uint8Array(r),n=e;for(let i=r-1;i>=0;i-=1)t[i]=Number(n&0xffn),n>>=8n;return t}function _(e){if(e>=0n){if(e<=0x7fn)return new Uint8Array([Number(e)]);if(e<=0xffn)return new Uint8Array([204,Number(e)]);if(e<=0xffffn)return y(new Uint8Array([205]),C(e,2));if(e<=0xffffffffn)return y(new Uint8Array([206]),C(e,4));return y(new Uint8Array([207]),C(e,8))}if(e>=-32n)return new Uint8Array([256+Number(e)]);if(e>=-128n)return new Uint8Array([208,256+Number(e)]);if(e>=-32768n)return y(new Uint8Array([209]),C(BigInt.asUintN(16,e),2));if(e>=-2147483648n)return y(new Uint8Array([210]),C(BigInt.asUintN(32,e),4));return y(new Uint8Array([211]),C(BigInt.asUintN(64,e),8))}function F(e){let r=oe.encode(e);if(r.length<32)return y(new Uint8Array([160+r.length]),r);return y(se(217,0,r.length),r)}function ae(e){let r=e.map((n)=>D(n)),t=e.length<16?new Uint8Array([144+e.length]):e.length<=65535?new Uint8Array([220,e.length>>8,e.length&255]):new Uint8Array([221,e.length>>>24&255,e.length>>>16&255,e.length>>>8&255,e.length&255]);return y(t,...r)}function pe(e){let r=Object.entries(e).filter(([,n])=>typeof n<"u"),t=r.length<16?new Uint8Array([128+r.length]):r.length<=65535?new Uint8Array([222,r.length>>8,r.length&255]):new Uint8Array([223,r.length>>>24&255,r.length>>>16&255,r.length>>>8&255,r.length&255]);return y(t,...r.flatMap(([n,i])=>[F(n),D(i)]))}function D(e){if(e===null)return new Uint8Array([192]);if(typeof e==="boolean")return new Uint8Array([e?195:194]);if(typeof e==="string")return F(e);if(typeof e==="number"){if(!Number.isFinite(e)||!Number.isInteger(e))throw new w("helpers_invalid_params",{message:"Hyperliquid msgpack only supports integers"});return _(BigInt(e))}if(typeof e==="bigint")return _(e);if(e instanceof Uint8Array){let r=e.length<=255?new Uint8Array([196,e.length]):e.length<=65535?new Uint8Array([197,e.length>>8,e.length&255]):new Uint8Array([198,e.length>>>24&255,e.length>>>16&255,e.length>>>8&255,e.length&255]);return y(r,e)}if(Array.isArray(e))return ae(e);if(typeof e==="object")return pe(e);throw new w("helpers_invalid_params",{message:`Unsupported Hyperliquid msgpack value: ${String(e)}`})}function ye(e){let r=e.startsWith("0x")?e.slice(2):e;if(r.length%2!==0||/[^a-fA-F0-9]/u.test(r))throw new w("helpers_invalid_params",{hexValue:e});let t=new Uint8Array(r.length/2);for(let n=0;n<r.length;n+=2)t[n/2]=Number.parseInt(r.slice(n,n+2),16);return t}function v(e){return{domain:re,message:{connectionId:e,source:"a"},primaryType:"Agent",types:{Agent:[...te.Agent]}}}function L(e){let r=ie[e.type],t=ne[e.type],{type:n,...i}=e;return{domain:{chainId:Number.parseInt(i.signatureChainId||"0xa4b1",16),name:"HyperliquidSignTransaction",verifyingContract:M,version:"1"},message:{...i,hyperliquidChain:i.hyperliquidChain||k},primaryType:r,types:{[r]:t}}}function N(e){let r=ee.from(e);return{r:r.r,s:r.s,v:r.v}}function j(e,r,{expiresAfter:t,vaultAddress:n}={}){let i=D(e),o=C(BigInt(r),8),a=n?y(new Uint8Array([1]),ye(n.toLowerCase())):new Uint8Array([0]),p=typeof t==="number"?y(new Uint8Array([0]),C(BigInt(t),8)):new Uint8Array;return Z(y(i,o,a,p))}function $(e){let r=e.hyperliquidChain||k;switch(e.type){case"approveAgent":return{...e,agentAddress:e.agentAddress.toLowerCase(),hyperliquidChain:r};case"approveBuilderFee":return{...e,builder:e.builder.toLowerCase(),hyperliquidChain:r};case"sendAsset":return{...e,destination:e.destination.toLowerCase(),fromSubAccount:e.fromSubAccount.toLowerCase(),hyperliquidChain:r};case"tokenDelegate":return{...e,hyperliquidChain:r,validator:e.validator.toLowerCase()};case"usdClassTransfer":return{...e,hyperliquidChain:r};default:return e}}var u=ce.Hype,{baseDecimal:K}=G(u),Ae={HYPE:K,USDC:6,USDT:6},me="Mainnet",He="0xa4b1",he="0x0000000000000000000000000000000000000000",Te={spotSend:[{name:"hyperliquidChain",type:"string"},{name:"destination",type:"string"},{name:"token",type:"string"},{name:"amount",type:"string"},{name:"time",type:"uint64"}]},xe={spotSend:"HyperliquidTransaction:SpotSend"};function c(e,r){if(!Y(e))throw new m(r,{address:e});return e.toLowerCase()}async function f(e){let r=await S();return A.post(`${r}/info`,{json:e})}function be({dex:e,user:r}){return f({...e?{dex:e}:{},type:"clearinghouseState",user:c(r,"helpers_invalid_params")})}function Se({user:e}){return f({type:"spotClearinghouseState",user:c(e,"helpers_invalid_params")})}function Ue({dex:e,user:r}){return f({...e?{dex:e}:{},type:"openOrders",user:c(r,"helpers_invalid_params")})}function we({dex:e,user:r}){return f({...e?{dex:e}:{},type:"frontendOpenOrders",user:c(r,"helpers_invalid_params")})}function De({oidOrCloid:e,user:r}){return f({oid:e,type:"orderStatus",user:c(r,"helpers_invalid_params")})}function Oe({aggregateByTime:e,user:r}){return f({...typeof e==="boolean"?{aggregateByTime:e}:{},type:"userFills",user:c(r,"helpers_invalid_params")})}function Re({aggregateByTime:e,endTime:r,startTime:t,user:n}){return f({...typeof e==="boolean"?{aggregateByTime:e}:{},...typeof r==="number"?{endTime:r}:{},startTime:t,type:"userFillsByTime",user:c(n,"helpers_invalid_params")})}function z({coin:e,token:r,value:t,spotMeta:n}){if(!t||Number(t)<=0)return null;let i=e?.toUpperCase()||`TOKEN-${r||"UNKNOWN"}`,o=Ae[i]||K,a=n?.tokens?.find((g)=>g.name===e||r!==void 0&&g.index===Number(r)),p=a?`${u}.${i}-${a.name}:${a.tokenId}`:`${u}.${i}`;return new R({decimal:o,identifier:p,value:t})}function Be(e){let r=new Map;for(let t of e){let n=t.toString({includeSynthProtocol:!0}),i=r.get(n);r.set(n,i?i.add(t):t)}if(![...r.values()].some((t)=>t.isGasAsset||t.ticker==="HYPE")){let t=R.from({chain:u,value:0});r.set(t.toString({includeSynthProtocol:!0}),t)}return[...r.values()]}async function S(){try{return await ue(u)}catch{let[e]=G(u).rpcUrls;if(!e)throw new m("helpers_chain_no_public_or_set_rpc_url",{chain:u});return e}}async function B(){return`${await S()}/exchange`}function Pe(e){let r=xe[e.type],{type:t,...n}=e,i=Te[t];return{domain:{chainId:Number.parseInt(e.signatureChainId,16),name:"HyperliquidSignTransaction",verifyingContract:he,version:"1"},message:n,primaryType:r,types:{[r]:i}}}async function Ie({action:e,expiresAfter:r,nonce:t,vaultAddress:n}){let i=t||Date.now(),o=n?c(n,"helpers_invalid_params"):void 0,a=await B(),p=j(e,i,{expiresAfter:r,vaultAddress:o});return{action:e,endpoint:a,expiresAfter:r,nonce:i,typedData:v(p),vaultAddress:o}}async function qe({action:e,nonce:r,signatureChainId:t}){let n=r||e.nonce||Date.now(),i=t||e.signatureChainId||"0xa4b1",o=$({...e,nonce:n,signatureChainId:i});return{action:o,endpoint:await B(),nonce:n,typedData:L(o)}}async function Q({assetValue:e,recipient:r,sender:t,signatureChainId:n,time:i}){let o=c(r,"core_transaction_invalid_recipient_address"),a=c(t,"core_transaction_invalid_sender_address"),p=await B(),g=e.getValue("string"),T=i||Date.now(),x=e.address;if(!x)throw new m("helpers_invalid_params",{asset:e.toString(),from:a});let b={amount:g,destination:o,hyperliquidChain:me,signatureChainId:n||He,time:T,token:x,type:"spotSend"};return{action:b,endpoint:p,nonce:T,typedData:Pe(b)}}async function W(e){let r=await A.post(e.endpoint,{json:{action:e.action,...typeof e.expiresAfter==="number"?{expiresAfter:e.expiresAfter}:{},nonce:e.nonce,signature:e.signature,...e.vaultAddress?{vaultAddress:e.vaultAddress}:{}}});if(r.status!=="ok")throw new m("core_transaction_failed",{response:r});return r}async function _e(e,r){let t=await S(),n=r-5000;for(let i=0;i<5;i++){if(i>0)await new Promise((o)=>setTimeout(o,1000));try{let o=await A.post(`${t}/info`,{json:{startTime:n,type:"userNonFundingLedgerUpdates",user:e}}),a=Array.isArray(o)?o.find((p)=>p.time&&p.time>=r&&(p.delta?.type==="spotTransfer"||p.delta?.type==="internalTransfer")):void 0;if(a?.hash)return a.hash}catch{}}return""}function Y(e){return e.startsWith("0x")&&V(e)}function or(e){let r=E(u),t=e&&"index"in e?e.index||0:0,n=de(e&&"derivationPath"in e&&e.derivationPath?e.derivationPath:le(ge[u],{index:t})),i,o=!1;function a(){if(o)return i;return i=fe(e).with({phrase:O.string},({phrase:s})=>{return Ce.fromPhrase(s,void 0,n)}).with({signer:O.not(O.nullish)},({signer:s})=>s).otherwise(()=>{return}),o=!0,i}async function p(){let s=a();return s?await s.getAddress():""}async function g(s){let d=a();if(!d)throw new m("toolbox_hypercore_no_signer");let l=await d.signTypedData(s.typedData.domain,s.typedData.types,s.typedData.message);return{action:s.action,endpoint:s.endpoint,nonce:s.nonce,signature:N(l),..."expiresAfter"in s?{expiresAfter:s.expiresAfter}:{},..."vaultAddress"in s?{vaultAddress:s.vaultAddress}:{}}}async function T(s){let d=c(s,"helpers_invalid_params");try{let l=await S(),[H,h,P]=await Promise.all([A.post(`${l}/info`,{json:{type:"spotClearinghouseState",user:d}}),A.post(`${l}/info`,{json:{type:"clearinghouseState",user:d}}),A.post(`${l}/info`,{json:{type:"spotMeta"}})]),I=(H.spotState?.balances||H.balances||[]).map(({coin:U,token:J,total:X})=>z({coin:U,spotMeta:P,token:J,value:X})).filter((U)=>!!U),q=z({coin:"USDC",spotMeta:P,value:h.withdrawable||h.marginSummary?.accountValue||h.marginSummary?.totalRawUsd});return Be(q?[...I,q]:I)}catch{return r(d)}}async function x(s){let d=a();if(!d)throw new m("toolbox_hypercore_no_signer");let l=s.sender||await d.getAddress(),H=await Q({...s,feeRate:0,sender:l}),h=await g(H);return await W(h),_e(l,H.nonce)}function b(){return R.from({chain:u,value:0})}return{broadcastTransaction:W,createL1ActionRequest:Ie,createTransaction:Q,createUserSignedActionRequest:qe,estimateTransactionFee:b,getAddress:p,getBalance:T,getState:{clearinghouse:be,frontendOpenOrders:we,openOrders:Ue,orderStatus:De,spotClearinghouse:Se,userFills:Oe,userFillsByTime:Re},signTransaction:g,transfer:x,validateAddress:Y}}export{Y as validateHyperCoreAddress,or as getHyperCoreToolbox,qe as createUserSignedActionRequest,Q as createTransaction,Ie as createL1ActionRequest,Qe as buildUsdClassTransferAction,Ne as buildUpdateLeverageAction,je as buildUpdateIsolatedMarginAction,$e as buildTopUpIsolatedOnlyMarginAction,Ge as buildTokenDelegateAction,We as buildSendAssetAction,ze as buildScheduleCancelAction,Me as buildOrderAction,ve as buildModifyAction,Fe as buildCancelByCloidAction,ke as buildCancelAction,Le as buildBatchModifyAction,Ve as buildApproveBuilderFeeAction,Ee as buildApproveAgentAction};