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