@swapkit/toolboxes 4.18.0 → 4.20.0

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