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