@swapkit/toolboxes 4.13.2 → 4.14.0

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