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