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