viem 0.0.1-alpha.30 → 0.0.1-alpha.32

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 (48) hide show
  1. package/dist/chains.js +46 -46
  2. package/dist/chains.mjs +1 -1
  3. package/dist/{chunk-ZX4U6QKQ.js → chunk-4TDJALZ6.js} +75 -75
  4. package/dist/{chunk-EAD66IDC.js → chunk-DEF2SWG2.js} +54 -28
  5. package/dist/chunk-DEF2SWG2.js.map +1 -0
  6. package/dist/{chunk-EYRMK2SV.mjs → chunk-HJBIOX2W.mjs} +2 -2
  7. package/dist/{chunk-VOK5ALIT.js → chunk-K3Q7U5IY.js} +15 -15
  8. package/dist/{chunk-NPFW67BV.js → chunk-NZUM6QVJ.js} +22 -22
  9. package/dist/{chunk-25AJVKAT.mjs → chunk-P76FCR36.mjs} +55 -29
  10. package/dist/chunk-P76FCR36.mjs.map +1 -0
  11. package/dist/{chunk-AO7KQBK3.mjs → chunk-QPXAI2W5.mjs} +2 -2
  12. package/dist/{chunk-BHMSFL4W.js → chunk-S3HZ74MN.js} +14 -14
  13. package/dist/{chunk-23UHN6UC.mjs → chunk-ZIH5V7HU.mjs} +3 -3
  14. package/dist/{chunk-IP3NSE7H.mjs → chunk-ZZWYDER3.mjs} +2 -2
  15. package/dist/contract.d.ts +1 -1
  16. package/dist/contract.js +4 -4
  17. package/dist/contract.mjs +3 -3
  18. package/dist/{createPublicClient-99be385b.d.ts → createPublicClient-2187596f.d.ts} +1 -1
  19. package/dist/ens.d.ts +1 -1
  20. package/dist/ens.js +4 -4
  21. package/dist/ens.mjs +3 -3
  22. package/dist/index.d.ts +20 -5
  23. package/dist/index.js +97 -91
  24. package/dist/index.js.map +1 -1
  25. package/dist/index.mjs +16 -10
  26. package/dist/index.mjs.map +1 -1
  27. package/dist/{parseGwei-e299cf13.d.ts → parseGwei-308eada9.d.ts} +10 -7
  28. package/dist/public.d.ts +2 -2
  29. package/dist/public.js +3 -3
  30. package/dist/public.mjs +2 -2
  31. package/dist/test.js +3 -3
  32. package/dist/test.mjs +2 -2
  33. package/dist/utils/index.d.ts +4 -4
  34. package/dist/utils/index.js +4 -2
  35. package/dist/utils/index.mjs +7 -5
  36. package/dist/wallet.js +3 -3
  37. package/dist/wallet.mjs +2 -2
  38. package/package.json +1 -1
  39. package/dist/chunk-25AJVKAT.mjs.map +0 -1
  40. package/dist/chunk-EAD66IDC.js.map +0 -1
  41. /package/dist/{chunk-ZX4U6QKQ.js.map → chunk-4TDJALZ6.js.map} +0 -0
  42. /package/dist/{chunk-EYRMK2SV.mjs.map → chunk-HJBIOX2W.mjs.map} +0 -0
  43. /package/dist/{chunk-VOK5ALIT.js.map → chunk-K3Q7U5IY.js.map} +0 -0
  44. /package/dist/{chunk-NPFW67BV.js.map → chunk-NZUM6QVJ.js.map} +0 -0
  45. /package/dist/{chunk-AO7KQBK3.mjs.map → chunk-QPXAI2W5.mjs.map} +0 -0
  46. /package/dist/{chunk-BHMSFL4W.js.map → chunk-S3HZ74MN.js.map} +0 -0
  47. /package/dist/{chunk-23UHN6UC.mjs.map → chunk-ZIH5V7HU.mjs.map} +0 -0
  48. /package/dist/{chunk-IP3NSE7H.mjs.map → chunk-ZZWYDER3.mjs.map} +0 -0
package/dist/index.mjs CHANGED
@@ -3,7 +3,7 @@ import {
3
3
  getEnsName,
4
4
  labelhash,
5
5
  namehash
6
- } from "./chunk-23UHN6UC.mjs";
6
+ } from "./chunk-ZIH5V7HU.mjs";
7
7
  import {
8
8
  call,
9
9
  createBlockFilter,
@@ -37,7 +37,7 @@ import {
37
37
  watchContractEvent,
38
38
  watchEvent,
39
39
  watchPendingTransactions
40
- } from "./chunk-EYRMK2SV.mjs";
40
+ } from "./chunk-HJBIOX2W.mjs";
41
41
  import {
42
42
  dropTransaction,
43
43
  getAutomine,
@@ -67,7 +67,7 @@ import {
67
67
  setStorageAt,
68
68
  snapshot,
69
69
  stopImpersonatingAccount
70
- } from "./chunk-AO7KQBK3.mjs";
70
+ } from "./chunk-QPXAI2W5.mjs";
71
71
  import {
72
72
  addChain,
73
73
  deployContract,
@@ -80,7 +80,7 @@ import {
80
80
  switchChain,
81
81
  watchAsset,
82
82
  writeContract
83
- } from "./chunk-IP3NSE7H.mjs";
83
+ } from "./chunk-ZZWYDER3.mjs";
84
84
  import {
85
85
  AbiConstructorNotFoundError,
86
86
  AbiConstructorParamsNotFoundError,
@@ -142,6 +142,7 @@ import {
142
142
  RpcError,
143
143
  RpcRequestError,
144
144
  SizeExceedsPaddingSizeError,
145
+ SwitchChainError,
145
146
  TimeoutError,
146
147
  TipAboveFeeCapError,
147
148
  TransactionExecutionError,
@@ -152,6 +153,7 @@ import {
152
153
  UnknownNodeError,
153
154
  UnknownRpcError,
154
155
  UrlRequiredError,
156
+ UserRejectedRequestError,
155
157
  WaitForTransactionReceiptTimeoutError,
156
158
  WebSocketRequestError,
157
159
  boolToBytes,
@@ -194,8 +196,8 @@ import {
194
196
  getContractError,
195
197
  getCreate2Address,
196
198
  getCreateAddress,
197
- getEventSignature,
198
- getFunctionSignature,
199
+ getEventSelector,
200
+ getFunctionSelector,
199
201
  getSocket,
200
202
  gweiUnits,
201
203
  hexToBigInt,
@@ -232,7 +234,7 @@ import {
232
234
  transactionType,
233
235
  trim,
234
236
  weiUnits
235
- } from "./chunk-25AJVKAT.mjs";
237
+ } from "./chunk-P76FCR36.mjs";
236
238
 
237
239
  // src/clients/transports/createTransport.ts
238
240
  function createTransport({
@@ -304,6 +306,7 @@ function fallback(transports, config = {}) {
304
306
  // src/clients/transports/http.ts
305
307
  function http(url, config = {}) {
306
308
  const {
309
+ fetchOptions,
307
310
  key = "http",
308
311
  name = "HTTP JSON-RPC",
309
312
  retryDelay,
@@ -324,6 +327,7 @@ function http(url, config = {}) {
324
327
  method,
325
328
  params
326
329
  },
330
+ fetchOptions,
327
331
  timeout
328
332
  });
329
333
  return result;
@@ -597,7 +601,7 @@ function createWalletClient({
597
601
  key,
598
602
  name,
599
603
  pollingInterval,
600
- transport,
604
+ transport: () => transport({ retryCount: 0 }),
601
605
  type: "walletClient"
602
606
  });
603
607
  return {
@@ -666,6 +670,7 @@ export {
666
670
  RpcError,
667
671
  RpcRequestError,
668
672
  SizeExceedsPaddingSizeError,
673
+ SwitchChainError,
669
674
  TimeoutError,
670
675
  TipAboveFeeCapError,
671
676
  TransactionExecutionError,
@@ -676,6 +681,7 @@ export {
676
681
  UnknownNodeError,
677
682
  UnknownRpcError,
678
683
  UrlRequiredError,
684
+ UserRejectedRequestError,
679
685
  WaitForTransactionReceiptTimeoutError,
680
686
  WebSocketRequestError,
681
687
  boolToBytes,
@@ -724,8 +730,8 @@ export {
724
730
  getContractError,
725
731
  getCreate2Address,
726
732
  getCreateAddress,
727
- getEventSignature,
728
- getFunctionSignature,
733
+ getEventSelector,
734
+ getFunctionSelector,
729
735
  gweiUnits,
730
736
  hexToBigInt,
731
737
  hexToBool,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/clients/transports/createTransport.ts","../src/clients/transports/custom.ts","../src/clients/transports/fallback.ts","../src/clients/transports/http.ts","../src/clients/transports/webSocket.ts","../src/utils/uid.ts","../src/clients/createClient.ts","../src/clients/decorators/public.ts","../src/clients/decorators/test.ts","../src/clients/decorators/wallet.ts","../src/clients/createPublicClient.ts","../src/clients/createTestClient.ts","../src/clients/createWalletClient.ts"],"sourcesContent":["import type { Chain } from '../../types'\nimport type { Requests } from '../../types/eip1193'\nimport { buildRequest } from '../../utils'\n\nexport type BaseRpcRequests = {\n request(...args: any): Promise<any>\n}\n\nexport type TransportConfig<\n TType extends string = string,\n TRequests extends BaseRpcRequests['request'] = Requests['request'],\n> = {\n /** The name of the transport. */\n name: string\n /** The key of the transport. */\n key: string\n /** The JSON-RPC request function that matches the EIP-1193 request spec. */\n request: TRequests\n /** The base delay (in ms) between retries. */\n retryDelay?: number\n /** The max number of times to retry. */\n retryCount?: number\n /** The timeout (in ms) for requests. */\n timeout?: number\n /** The type of the transport. */\n type: TType\n}\n\nexport type Transport<\n TType extends string = string,\n TRpcAttributes = Record<string, any>,\n TRequests extends BaseRpcRequests['request'] = Requests['request'],\n> = <TChain extends Chain = Chain>({\n chain,\n}: {\n chain?: TChain\n retryCount?: TransportConfig['retryCount']\n}) => {\n config: TransportConfig<TType>\n request: TRequests\n value?: TRpcAttributes\n}\n\n/**\n * @description Creates an transport intended to be used with a client.\n */\nexport function createTransport<\n TType extends string = string,\n TRpcAttributes = any,\n>(\n {\n key,\n name,\n request,\n retryCount = 3,\n retryDelay = 150,\n timeout,\n type,\n }: TransportConfig<TType>,\n value?: TRpcAttributes,\n): ReturnType<Transport<TType, TRpcAttributes>> {\n return {\n config: { key, name, request, retryCount, retryDelay, timeout, type },\n request: buildRequest(request, { retryCount, retryDelay }),\n value,\n }\n}\n","import type {\n BaseRpcRequests,\n Transport,\n TransportConfig,\n} from './createTransport'\nimport { createTransport } from './createTransport'\n\ntype EthereumProvider = { request: BaseRpcRequests['request'] }\n\nexport type CustomTransportConfig = {\n /** The key of the transport. */\n key?: TransportConfig['key']\n /** The name of the transport. */\n name?: TransportConfig['name']\n /** The max number of times to retry. */\n retryCount?: TransportConfig['retryCount']\n /** The base delay (in ms) between retries. */\n retryDelay?: TransportConfig['retryDelay']\n}\n\nexport type CustomTransport = Transport<'custom', EthereumProvider['request']>\n\n/**\n * @description Creates a custom transport given an EIP-1193 compliant `request` attribute.\n */\nexport function custom<TProvider extends EthereumProvider>(\n /** An Ethereum provider with an EIP-1193 \"request\" attribute. */\n provider: TProvider,\n config: CustomTransportConfig = {},\n): CustomTransport {\n const { key = 'custom', name = 'Custom Provider', retryDelay } = config\n return ({ retryCount: defaultRetryCount }) =>\n createTransport({\n key,\n name,\n request: provider.request.bind(provider),\n retryCount: config.retryCount ?? defaultRetryCount,\n retryDelay,\n type: 'custom',\n })\n}\n","import { isDeterministicError } from '../../utils/buildRequest'\nimport type { Transport, TransportConfig } from './createTransport'\nimport { createTransport } from './createTransport'\n\nexport type FallbackTransportConfig = {\n /** The key of the Fallback transport. */\n key?: TransportConfig['key']\n /** The name of the Fallback transport. */\n name?: TransportConfig['name']\n /** The max number of times to retry. */\n retryCount?: TransportConfig['retryCount']\n /** The base delay (in ms) between retries. */\n retryDelay?: TransportConfig['retryDelay']\n}\n\nexport type FallbackTransport = Transport<\n 'fallback',\n { transports: Transport[] }\n>\n\nexport function fallback(\n transports: Transport[],\n config: FallbackTransportConfig = {},\n): FallbackTransport {\n const { key = 'fallback', name = 'Fallback', retryCount, retryDelay } = config\n return ({ chain }) =>\n createTransport(\n {\n key,\n name,\n async request({ method, params }) {\n const fetch = async (i: number = 0): Promise<any> => {\n const transport = transports[i]({ chain, retryCount: 0 })\n try {\n return await transport.request({\n method,\n params,\n } as any)\n } catch (err) {\n // If the error is deterministic, we don't need to fall back.\n // So throw the error.\n if (isDeterministicError(err as Error)) throw err\n\n // If we've reached the end of the fallbacks, throw the error.\n if (i === transports.length - 1) throw err\n\n // Otherwise, try the next fallback.\n return fetch(i + 1)\n }\n }\n return fetch()\n },\n retryCount,\n retryDelay,\n type: 'fallback',\n },\n {\n transports: transports.map(\n (fn) => fn({ chain, retryCount: 0 }) as unknown as Transport,\n ),\n },\n )\n}\n","import { UrlRequiredError } from '../../errors'\nimport { rpc } from '../../utils/rpc'\nimport type { Transport, TransportConfig } from './createTransport'\nimport { createTransport } from './createTransport'\n\nexport type HttpTransportConfig = {\n /** The key of the HTTP transport. */\n key?: TransportConfig['key']\n /** The name of the HTTP transport. */\n name?: TransportConfig['name']\n /** The max number of times to retry. */\n retryCount?: TransportConfig['retryCount']\n /** The base delay (in ms) between retries. */\n retryDelay?: TransportConfig['retryDelay']\n /** The timeout (in ms) for the HTTP request. Default: 10_000 */\n timeout?: TransportConfig['timeout']\n}\n\nexport type HttpTransport = Transport<\n 'http',\n {\n url?: string\n }\n>\n\n/**\n * @description Creates a HTTP transport that connects to a JSON-RPC API.\n */\nexport function http(\n /** URL of the JSON-RPC API. Defaults to the chain's public RPC URL. */\n url?: string,\n config: HttpTransportConfig = {},\n): HttpTransport {\n const {\n key = 'http',\n name = 'HTTP JSON-RPC',\n retryDelay,\n timeout = 10_000,\n } = config\n return ({ chain, retryCount: defaultRetryCount }) => {\n const retryCount = config.retryCount ?? defaultRetryCount\n const url_ = url || chain?.rpcUrls.default.http[0]\n if (!url_) throw new UrlRequiredError()\n return createTransport(\n {\n key,\n name,\n async request({ method, params }) {\n const { result } = await rpc.http(url_, {\n body: {\n method,\n params,\n },\n timeout,\n })\n return result\n },\n retryCount,\n retryDelay,\n timeout,\n type: 'http',\n },\n {\n url,\n },\n )\n }\n}\n","import WebSocket from 'isomorphic-ws'\nimport { UrlRequiredError } from '../../errors'\nimport type { Hash } from '../../types'\nimport type { RpcResponse } from '../../utils/rpc'\nimport { getSocket, rpc } from '../../utils/rpc'\nimport type { Transport, TransportConfig } from './createTransport'\nimport { createTransport } from './createTransport'\n\ntype WebSocketTransportSubscribeArgs = {\n onData: (data: RpcResponse) => void\n onError?: (error: any) => void\n}\n\ntype WebSocketTransportSubscribeResponse = {\n subscriptionId: Hash\n unsubscribe: () => Promise<RpcResponse<boolean>>\n}\n\ntype WebSocketTransportSubscribe = {\n subscribe(\n args: WebSocketTransportSubscribeArgs & {\n /**\n * @description Add information about compiled contracts\n * @link https://hardhat.org/hardhat-network/docs/reference#hardhat_addcompilationresult\n */\n params: ['newHeads']\n },\n ): Promise<WebSocketTransportSubscribeResponse>\n}\n\nexport type WebSocketTransportConfig = {\n /** The key of the WebSocket transport. */\n key?: TransportConfig['key']\n /** The name of the WebSocket transport. */\n name?: TransportConfig['name']\n /** The max number of times to retry. */\n retryCount?: TransportConfig['retryCount']\n /** The base delay (in ms) between retries. */\n retryDelay?: TransportConfig['retryDelay']\n /** The timeout (in ms) for async WebSocket requests. Default: 10_000 */\n timeout?: TransportConfig['timeout']\n}\n\nexport type WebSocketTransport = Transport<\n 'webSocket',\n {\n getSocket(): Promise<WebSocket>\n subscribe: WebSocketTransportSubscribe['subscribe']\n }\n>\n\n/**\n * @description Creates a WebSocket transport that connects to a JSON-RPC API.\n */\nexport function webSocket(\n /** URL of the JSON-RPC API. Defaults to the chain's public RPC URL. */\n url?: string,\n config: WebSocketTransportConfig = {},\n): WebSocketTransport {\n const {\n key = 'webSocket',\n name = 'WebSocket JSON-RPC',\n retryDelay,\n timeout = 10_000,\n } = config\n return ({ chain, retryCount: defaultRetryCount }) => {\n const retryCount = config.retryCount ?? defaultRetryCount\n const url_ = url || chain?.rpcUrls.default.webSocket?.[0]\n if (!url_) throw new UrlRequiredError()\n return createTransport(\n {\n key,\n name,\n async request({ method, params }) {\n const socket = await getSocket(url_)\n const { result } = await rpc.webSocketAsync(socket, {\n body: { method, params },\n timeout,\n })\n return result\n },\n retryCount,\n retryDelay,\n timeout,\n type: 'webSocket',\n },\n {\n getSocket() {\n return getSocket(url_)\n },\n async subscribe({ params, onData, onError }: any) {\n const socket = await getSocket(url_)\n const { result: subscriptionId } = await new Promise<any>(\n (resolve, reject) =>\n rpc.webSocket(socket, {\n body: {\n method: 'eth_subscribe',\n params,\n },\n onData: (data) => {\n if (typeof data.id === 'number') {\n resolve(data)\n return\n }\n onData(data)\n },\n onError: (error) => {\n reject(error)\n onError?.(error)\n },\n }),\n )\n return {\n subscriptionId,\n async unsubscribe() {\n return new Promise<any>((resolve, reject) =>\n rpc.webSocket(socket, {\n body: {\n method: 'eth_unsubscribe',\n params: [subscriptionId],\n },\n onData: resolve,\n onError: reject,\n }),\n )\n },\n }\n },\n },\n )\n }\n}\n","let size = 256\nlet index = size\nlet buffer: string\n\nexport function uid(length = 11) {\n if (!buffer || index + length > size * 2) {\n buffer = ''\n index = 0\n for (let i = 0; i < size; i++) {\n buffer += ((256 + Math.random() * 256) | 0).toString(16).substring(1)\n }\n }\n return buffer.substring(index, index++ + length)\n}\n","import { Chain } from '../types'\nimport type { Requests } from '../types/eip1193'\nimport { buildRequest } from '../utils/buildRequest'\nimport { uid } from '../utils/uid'\nimport type { BaseRpcRequests, Transport } from './transports/createTransport'\n\nexport type Client<\n TTransport extends Transport = Transport,\n TChain extends Chain = Chain,\n TRequests extends BaseRpcRequests = Requests,\n> = {\n /** Chain for the client. */\n chain?: TChain\n /** A key for the client. */\n key: string\n /** A name for the client. */\n name: string\n /** Frequency (in ms) for polling enabled actions & events. Defaults to 4_000 milliseconds. */\n pollingInterval: number\n /** Request function wrapped with friendly error handling */\n request: TRequests['request']\n /** The RPC transport (http, webSocket, custom, etc) */\n transport: ReturnType<TTransport>['config'] & ReturnType<TTransport>['value']\n /** The type of client. */\n type: string\n /** A unique ID for the client. */\n uid: string\n}\n\nexport type ClientConfig<\n TTransport extends Transport = Transport,\n TChain extends Chain = Chain,\n TRequests extends BaseRpcRequests = Requests,\n> = Partial<\n Pick<\n Client<TTransport, TChain, TRequests>,\n 'chain' | 'key' | 'name' | 'pollingInterval' | 'type'\n >\n> & {\n transport: TTransport\n}\n\n/**\n * @description Creates a base RPC client with the given transport.\n *\n * - Intended to be used as a base for other RPC clients.\n * - Has access to _all_ EIP-1474 RPC methods.\n *\n * @example\n * import { mainnet } from 'viem/chains'\n * import { createClient, http } from 'viem/clients'\n * const client = createClient(http({ chain: mainnet }))\n */\nexport function createClient<\n TTransport extends Transport,\n TChain extends Chain,\n TRequests extends BaseRpcRequests,\n>({\n chain,\n key = 'base',\n name = 'Base Client',\n pollingInterval = 4_000,\n transport,\n type = 'base',\n}: ClientConfig<TTransport, TChain, TRequests>): Client<\n TTransport,\n TChain,\n TRequests\n> {\n const { config, request, value } = transport({ chain })\n return {\n chain,\n key,\n name,\n pollingInterval,\n request,\n transport: { ...config, ...value },\n type,\n uid: uid(),\n }\n}\n","import { Abi, AbiEvent } from 'abitype'\nimport type {\n CallArgs,\n CallResponse,\n CreateBlockFilterResponse,\n CreateContractEventFilterArgs,\n CreateContractEventFilterResponse,\n CreateEventFilterArgs,\n CreateEventFilterResponse,\n CreatePendingTransactionFilterResponse,\n EstimateGasArgs,\n EstimateGasResponse,\n EstimateContractGasArgs,\n EstimateContractGasResponse,\n GetBalanceArgs,\n GetBalanceResponse,\n GetBlockArgs,\n GetBlockNumberArgs,\n GetBlockNumberResponse,\n GetBlockResponse,\n GetBlockTransactionCountArgs,\n GetBlockTransactionCountResponse,\n GetBytecodeArgs,\n GetBytecodeResponse,\n GetChainIdResponse,\n GetFeeHistoryArgs,\n GetFeeHistoryResponse,\n GetFilterChangesArgs,\n GetFilterChangesResponse,\n GetFilterLogsArgs,\n GetFilterLogsResponse,\n GetGasPriceResponse,\n GetTransactionArgs,\n GetTransactionConfirmationsArgs,\n GetTransactionConfirmationsResponse,\n GetTransactionReceiptArgs,\n GetTransactionReceiptResponse,\n GetTransactionResponse,\n UninstallFilterArgs,\n UninstallFilterResponse,\n WaitForTransactionReceiptArgs,\n WaitForTransactionReceiptResponse,\n WatchBlockNumberArgs,\n WatchBlocksArgs,\n WatchPendingTransactionsArgs,\n GetLogsArgs,\n GetLogsResponse,\n GetStorageAtArgs,\n GetStorageAtResponse,\n MulticallArgs,\n MulticallResponse,\n ReadContractArgs,\n ReadContractResponse,\n SimulateContractArgs,\n SimulateContractResponse,\n WatchContractEventArgs,\n WatchEventArgs,\n} from '../../actions/public'\nimport {\n call,\n createBlockFilter,\n createContractEventFilter,\n createEventFilter,\n createPendingTransactionFilter,\n estimateContractGas,\n estimateGas,\n getBalance,\n getBlock,\n getBlockNumber,\n getBlockTransactionCount,\n getBytecode,\n getChainId,\n getFeeHistory,\n getFilterChanges,\n getFilterLogs,\n getGasPrice,\n getLogs,\n getTransaction,\n getTransactionConfirmations,\n getTransactionReceipt,\n uninstallFilter,\n waitForTransactionReceipt,\n watchBlockNumber,\n watchBlocks,\n watchEvent,\n watchPendingTransactions,\n getStorageAt,\n multicall,\n readContract,\n simulateContract,\n watchContractEvent,\n} from '../../actions/public'\nimport type {\n GetEnsAddressArgs,\n GetEnsAddressResponse,\n GetEnsNameArgs,\n GetEnsNameResponse,\n} from '../../actions/ens'\nimport { getEnsAddress, getEnsName } from '../../actions/ens'\nimport type { PublicClient } from '../createPublicClient'\nimport {\n Chain,\n ContractConfig,\n FilterType,\n MaybeExtractEventArgsFromAbi,\n} from '../../types'\n\nexport type PublicActions<TChain extends Chain = Chain> = {\n call: (args: CallArgs<TChain>) => Promise<CallResponse>\n createBlockFilter: () => Promise<CreateBlockFilterResponse>\n createContractEventFilter: <\n TAbi extends Abi | readonly unknown[],\n TEventName extends string | undefined,\n TArgs extends MaybeExtractEventArgsFromAbi<TAbi, TEventName> | undefined,\n >(\n args: CreateContractEventFilterArgs<TAbi, TEventName, TArgs>,\n ) => Promise<CreateContractEventFilterResponse<TAbi, TEventName, TArgs>>\n createEventFilter: <\n TAbiEvent extends AbiEvent | undefined,\n TAbi extends Abi | readonly unknown[],\n TEventName extends string | undefined,\n TArgs extends MaybeExtractEventArgsFromAbi<TAbi, TEventName> | undefined,\n >(\n args?: CreateEventFilterArgs<TAbiEvent, TAbi, TEventName, TArgs>,\n ) => Promise<CreateEventFilterResponse<TAbiEvent, TAbi, TEventName, TArgs>>\n createPendingTransactionFilter: () => Promise<CreatePendingTransactionFilterResponse>\n estimateContractGas: <\n TChain extends Chain,\n TAbi extends Abi | readonly unknown[],\n TFunctionName extends string,\n >(\n args: EstimateContractGasArgs<TChain, TAbi, TFunctionName>,\n ) => Promise<EstimateContractGasResponse>\n estimateGas: (args: EstimateGasArgs<TChain>) => Promise<EstimateGasResponse>\n getBalance: (args: GetBalanceArgs) => Promise<GetBalanceResponse>\n getBlock: (args: GetBlockArgs) => Promise<GetBlockResponse<TChain>>\n getBlockNumber: (args?: GetBlockNumberArgs) => Promise<GetBlockNumberResponse>\n getBlockTransactionCount: (\n args?: GetBlockTransactionCountArgs,\n ) => Promise<GetBlockTransactionCountResponse>\n getBytecode: (args: GetBytecodeArgs) => Promise<GetBytecodeResponse>\n getChainId: () => Promise<GetChainIdResponse>\n getEnsAddress: (args: GetEnsAddressArgs) => Promise<GetEnsAddressResponse>\n getEnsName: (args: GetEnsNameArgs) => Promise<GetEnsNameResponse>\n getFeeHistory: (args: GetFeeHistoryArgs) => Promise<GetFeeHistoryResponse>\n getFilterChanges: <\n TFilterType extends FilterType,\n TAbiEvent extends AbiEvent | undefined,\n TAbi extends Abi | readonly unknown[],\n TEventName extends string | undefined,\n >(\n args: GetFilterChangesArgs<TFilterType, TAbiEvent, TAbi, TEventName>,\n ) => Promise<\n GetFilterChangesResponse<TFilterType, TAbiEvent, TAbi, TEventName>\n >\n getFilterLogs: <\n TAbiEvent extends AbiEvent | undefined,\n TAbi extends Abi | readonly unknown[],\n TEventName extends string | undefined,\n >(\n args: GetFilterLogsArgs<TAbiEvent, TAbi, TEventName>,\n ) => Promise<GetFilterLogsResponse<TAbiEvent, TAbi, TEventName>>\n getGasPrice: () => Promise<GetGasPriceResponse>\n getLogs: <TAbiEvent extends AbiEvent | undefined>(\n args?: GetLogsArgs<TAbiEvent>,\n ) => Promise<GetLogsResponse<TAbiEvent>>\n getStorageAt: (args: GetStorageAtArgs) => Promise<GetStorageAtResponse>\n getTransaction: (\n args: GetTransactionArgs,\n ) => Promise<GetTransactionResponse<TChain>>\n getTransactionConfirmations: (\n args: GetTransactionConfirmationsArgs<TChain>,\n ) => Promise<GetTransactionConfirmationsResponse>\n getTransactionReceipt: (\n args: GetTransactionReceiptArgs,\n ) => Promise<GetTransactionReceiptResponse<TChain>>\n multicall: <\n TContracts extends ContractConfig[],\n TAllowFailure extends boolean = true,\n >(\n args: MulticallArgs<TContracts, TAllowFailure>,\n ) => Promise<MulticallResponse<TContracts, TAllowFailure>>\n readContract: <\n TAbi extends Abi | readonly unknown[],\n TFunctionName extends string,\n >(\n args: ReadContractArgs<TAbi, TFunctionName>,\n ) => Promise<ReadContractResponse>\n simulateContract: <\n TAbi extends Abi | readonly unknown[] = Abi,\n TFunctionName extends string = any,\n >(\n args: SimulateContractArgs<TChain, TAbi, TFunctionName>,\n ) => Promise<SimulateContractResponse<TChain, TAbi, TFunctionName>>\n uninstallFilter: (\n args: UninstallFilterArgs,\n ) => Promise<UninstallFilterResponse>\n waitForTransactionReceipt: (\n args: WaitForTransactionReceiptArgs<TChain>,\n ) => Promise<WaitForTransactionReceiptResponse<TChain>>\n watchBlockNumber: (\n args: WatchBlockNumberArgs,\n ) => ReturnType<typeof watchBlockNumber>\n watchBlocks: (args: WatchBlocksArgs<TChain>) => ReturnType<typeof watchBlocks>\n watchContractEvent: <\n TAbi extends Abi | readonly unknown[],\n TEventName extends string,\n >(\n args: WatchContractEventArgs<TAbi, TEventName>,\n ) => ReturnType<typeof watchContractEvent>\n watchEvent: <\n TAbiEvent extends AbiEvent | undefined,\n TEventName extends string | undefined,\n >(\n args: WatchEventArgs<TAbiEvent>,\n ) => ReturnType<typeof watchEvent>\n watchPendingTransactions: (\n args: WatchPendingTransactionsArgs,\n ) => ReturnType<typeof watchPendingTransactions>\n}\n\nexport const publicActions = <\n TChain extends Chain,\n TClient extends PublicClient<any, any>,\n>(\n client: TClient,\n): PublicActions<TChain> => ({\n call: (args) => call(client, args),\n createBlockFilter: () => createBlockFilter(client),\n createContractEventFilter: (args) => createContractEventFilter(client, args),\n createEventFilter: (args) => createEventFilter(client, args),\n createPendingTransactionFilter: () => createPendingTransactionFilter(client),\n estimateContractGas: (args) => estimateContractGas(client, args),\n estimateGas: (args) => estimateGas(client, args),\n getBalance: (args) => getBalance(client, args),\n getBlock: (args) => getBlock(client, args),\n getBlockNumber: (args) => getBlockNumber(client, args),\n getBlockTransactionCount: (args) => getBlockTransactionCount(client, args),\n getBytecode: (args) => getBytecode(client, args),\n getChainId: () => getChainId(client),\n getEnsAddress: (args) => getEnsAddress(client, args),\n getEnsName: (args) => getEnsName(client, args),\n getFeeHistory: (args) => getFeeHistory(client, args),\n getFilterChanges: (args) => getFilterChanges(client, args),\n getFilterLogs: (args) => getFilterLogs(client, args),\n getGasPrice: () => getGasPrice(client),\n getLogs: (args) => getLogs(client, args),\n getStorageAt: (args) => getStorageAt(client, args),\n getTransaction: (args) => getTransaction(client, args),\n getTransactionConfirmations: (args) =>\n getTransactionConfirmations(client, args),\n getTransactionReceipt: (args) => getTransactionReceipt(client, args),\n multicall: (args) => multicall(client, args),\n readContract: (args) => readContract(client, args),\n simulateContract: (args) => simulateContract(client, args),\n uninstallFilter: (args) => uninstallFilter(client, args),\n waitForTransactionReceipt: (args) => waitForTransactionReceipt(client, args),\n watchBlocks: (args) => watchBlocks(client, args),\n watchBlockNumber: (args) => watchBlockNumber(client, args),\n watchContractEvent: (args) => watchContractEvent(client, args),\n watchEvent: (args) => watchEvent(client, args),\n watchPendingTransactions: (args) => watchPendingTransactions(client, args),\n})\n","import type {\n DropTransactionArgs,\n GetAutomineResponse,\n GetTxPoolContentResponse,\n GetTxPoolStatusResponse,\n ImpersonateAccountArgs,\n IncreaseTimeArgs,\n InspectTxpoolResponse,\n MineArgs,\n ResetArgs,\n RevertArgs,\n SendUnsignedTransactionArgs,\n SendUnsignedTransactionResponse,\n SetBalanceArgs,\n SetBlockGasLimitArgs,\n SetBlockTimestampIntervalArgs,\n SetCodeArgs,\n SetCoinbaseArgs,\n SetIntervalMiningArgs,\n SetMinGasPriceArgs,\n SetNextBlockBaseFeePerGasArgs,\n SetNextBlockTimestampArgs,\n SetNonceArgs,\n SetStorageAtArgs,\n StopImpersonatingAccountArgs,\n} from '../../actions/test'\nimport {\n dropTransaction,\n getAutomine,\n getTxpoolContent,\n getTxpoolStatus,\n impersonateAccount,\n increaseTime,\n inspectTxpool,\n mine,\n removeBlockTimestampInterval,\n reset,\n revert,\n sendUnsignedTransaction,\n setAutomine,\n setBalance,\n setBlockGasLimit,\n setBlockTimestampInterval,\n setCode,\n setCoinbase,\n setIntervalMining,\n setLoggingEnabled,\n setMinGasPrice,\n setNextBlockBaseFeePerGas,\n setNextBlockTimestamp,\n setNonce,\n setRpcUrl,\n setStorageAt,\n snapshot,\n stopImpersonatingAccount,\n} from '../../actions/test'\nimport { Chain, Quantity } from '../../types'\nimport type { TestClient } from '../createTestClient'\n\nexport type TestActions<TChain extends Chain = Chain> = {\n dropTransaction: (args: DropTransactionArgs) => Promise<void>\n getAutomine: () => Promise<GetAutomineResponse>\n getTxPoolContent: () => Promise<GetTxPoolContentResponse>\n getTxPoolStatus: () => Promise<GetTxPoolStatusResponse>\n impersonateAccount: (args: ImpersonateAccountArgs) => Promise<void>\n increaseTime: (args: IncreaseTimeArgs) => Promise<Quantity>\n inspectTxpool: () => Promise<InspectTxpoolResponse>\n mine: (args: MineArgs) => Promise<void>\n removeBlockTimestampInterval: () => Promise<void>\n reset: (args: ResetArgs) => Promise<void>\n revert: (args: RevertArgs) => Promise<void>\n sendUnsignedTransaction: (\n args: SendUnsignedTransactionArgs,\n ) => Promise<SendUnsignedTransactionResponse>\n setAutomine: (args: boolean) => Promise<void>\n setBalance: (args: SetBalanceArgs) => Promise<void>\n setBlockGasLimit: (args: SetBlockGasLimitArgs) => Promise<void>\n setBlockTimestampInterval: (\n args: SetBlockTimestampIntervalArgs,\n ) => Promise<void>\n setCode: (args: SetCodeArgs) => Promise<void>\n setCoinbase: (args: SetCoinbaseArgs) => Promise<void>\n setIntervalMining: (args: SetIntervalMiningArgs) => Promise<void>\n setLoggingEnabled: (args: boolean) => Promise<void>\n setMinGasPrice: (args: SetMinGasPriceArgs) => Promise<void>\n setNextBlockBaseFeePerGas: (\n args: SetNextBlockBaseFeePerGasArgs,\n ) => Promise<void>\n setNextBlockTimestamp: (args: SetNextBlockTimestampArgs) => Promise<void>\n setNonce: (args: SetNonceArgs) => Promise<void>\n setRpcUrl: (args: string) => Promise<void>\n setStorageAt: (args: SetStorageAtArgs) => Promise<void>\n snapshot: () => Promise<Quantity>\n stopImpersonatingAccount: (\n args: StopImpersonatingAccountArgs,\n ) => Promise<void>\n}\n\nexport const testActions = <\n TChain extends Chain,\n TClient extends TestClient<any, any>,\n>(\n client: TClient,\n): TestActions<TChain> => ({\n dropTransaction: (args) => dropTransaction(client, args),\n getAutomine: () => getAutomine(client),\n getTxPoolContent: () => getTxpoolContent(client),\n getTxPoolStatus: () => getTxpoolStatus(client),\n impersonateAccount: (args) => impersonateAccount(client, args),\n increaseTime: (args) => increaseTime(client, args),\n inspectTxpool: () => inspectTxpool(client),\n mine: (args) => mine(client, args),\n removeBlockTimestampInterval: () => removeBlockTimestampInterval(client),\n reset: (args) => reset(client, args),\n revert: (args) => revert(client, args),\n sendUnsignedTransaction: (args) => sendUnsignedTransaction(client, args),\n setAutomine: (args) => setAutomine(client, args),\n setBalance: (args) => setBalance(client, args),\n setBlockGasLimit: (args) => setBlockGasLimit(client, args),\n setBlockTimestampInterval: (args) => setBlockTimestampInterval(client, args),\n setCode: (args) => setCode(client, args),\n setCoinbase: (args) => setCoinbase(client, args),\n setIntervalMining: (args) => setIntervalMining(client, args),\n setLoggingEnabled: (args) => setLoggingEnabled(client, args),\n setMinGasPrice: (args) => setMinGasPrice(client, args),\n setNextBlockBaseFeePerGas: (args) => setNextBlockBaseFeePerGas(client, args),\n setNextBlockTimestamp: (args) => setNextBlockTimestamp(client, args),\n setNonce: (args) => setNonce(client, args),\n setRpcUrl: (args) => setRpcUrl(client, args),\n setStorageAt: (args) => setStorageAt(client, args),\n snapshot: () => snapshot(client),\n stopImpersonatingAccount: (args) => stopImpersonatingAccount(client, args),\n})\n","import { Abi } from 'abitype'\nimport {\n AddChainArgs,\n DeployContractArgs,\n DeployContractResponse,\n GetAccountsResponse,\n GetPermissionsResponse,\n RequestAccountsResponse,\n RequestPermissionsArgs,\n RequestPermissionsResponse,\n SendTransactionArgs,\n SendTransactionResponse,\n SignMessageArgs,\n SignMessageResponse,\n SwitchChainArgs,\n watchAsset,\n WatchAssetArgs,\n WatchAssetResponse,\n writeContract,\n WriteContractArgs,\n WriteContractResponse,\n} from '../../actions/wallet'\nimport {\n addChain,\n deployContract,\n getAccounts,\n getPermissions,\n requestAccounts,\n requestPermissions,\n sendTransaction,\n signMessage,\n switchChain,\n} from '../../actions/wallet'\nimport type { Chain } from '../../types'\nimport type { WalletClient } from '../createWalletClient'\n\nexport type WalletActions<TChain extends Chain = Chain> = {\n addChain: (args: AddChainArgs) => Promise<void>\n deployContract: <TAbi extends Abi | readonly unknown[]>(\n args: DeployContractArgs<TChain, TAbi>,\n ) => Promise<DeployContractResponse>\n getAccounts: () => Promise<GetAccountsResponse>\n getPermissions: () => Promise<GetPermissionsResponse>\n requestAccounts: () => Promise<RequestAccountsResponse>\n requestPermissions: (\n args: RequestPermissionsArgs,\n ) => Promise<RequestPermissionsResponse>\n sendTransaction: (\n args: SendTransactionArgs<TChain>,\n ) => Promise<SendTransactionResponse>\n signMessage: (args: SignMessageArgs) => Promise<SignMessageResponse>\n switchChain: (args: SwitchChainArgs) => Promise<void>\n watchAsset: (args: WatchAssetArgs) => Promise<WatchAssetResponse>\n writeContract: <\n TAbi extends Abi | readonly unknown[],\n TFunctionName extends string,\n >(\n args: WriteContractArgs<TChain, TAbi, TFunctionName>,\n ) => Promise<WriteContractResponse>\n}\n\nexport const walletActions = <\n TChain extends Chain,\n TClient extends WalletClient<any, any>,\n>(\n client: TClient,\n): WalletActions<TChain> => ({\n addChain: (args) => addChain(client, args),\n deployContract: (args) => deployContract(client, args),\n getAccounts: () => getAccounts(client),\n getPermissions: () => getPermissions(client),\n requestAccounts: () => requestAccounts(client),\n requestPermissions: (args) => requestPermissions(client, args),\n sendTransaction: (args) => sendTransaction(client, args),\n signMessage: (args) => signMessage(client, args),\n switchChain: (args) => switchChain(client, args),\n watchAsset: (args) => watchAsset(client, args),\n writeContract: (args) => writeContract(client, args),\n})\n","import type { PublicRequests } from '../types/eip1193'\nimport type { Transport } from './transports/createTransport'\nimport type { Client, ClientConfig } from './createClient'\nimport { createClient } from './createClient'\nimport { publicActions, PublicActions } from './decorators'\nimport { Chain } from '../types'\n\nexport type PublicClientConfig<\n TTransport extends Transport = Transport,\n TChain extends Chain = Chain,\n> = Pick<\n ClientConfig<TTransport, TChain>,\n 'chain' | 'key' | 'name' | 'pollingInterval' | 'transport'\n>\n\nexport type PublicClient<\n TTransport extends Transport = Transport,\n TChain extends Chain = Chain,\n TIncludeActions extends boolean = true,\n> = Client<TTransport, TChain, PublicRequests> &\n (TIncludeActions extends true ? PublicActions<TChain> : {})\n\n/**\n * @description Creates a public client with a given transport.\n *\n * - Only has access to \"public\" EIP-1474 RPC methods (ie. `eth_blockNumber`, etc).\n *\n * @example\n * import { mainnet } from 'viem/chains'\n * import { createPublicClient, http } from 'viem/clients'\n * const client = createPublicClient({ transport: http('https://...') })\n */\nexport function createPublicClient<\n TTransport extends Transport,\n TChain extends Chain,\n>({\n chain,\n key = 'public',\n name = 'Public Client',\n transport,\n pollingInterval,\n}: PublicClientConfig<TTransport, TChain>): PublicClient<\n TTransport,\n TChain,\n true\n> {\n const client = createClient({\n chain,\n key,\n name,\n pollingInterval,\n transport,\n type: 'publicClient',\n })\n return {\n ...client,\n ...publicActions(client as PublicClient<any, any>),\n }\n}\n","import type { TestRequests } from '../types/eip1193'\nimport type { Transport } from './transports/createTransport'\nimport type { Client, ClientConfig } from './createClient'\nimport { createClient } from './createClient'\nimport { Chain } from '../types'\nimport { testActions, TestActions } from './decorators'\n\ntype TestClientModes = 'anvil' | 'hardhat'\n\nexport type TestClientConfig<\n TTransport extends Transport = Transport,\n TChain extends Chain = Chain,\n TMode extends TestClientModes = TestClientModes,\n> = {\n chain?: ClientConfig<TTransport, TChain>['chain']\n /** The key of the client. */\n key?: ClientConfig['key']\n /** Mode of the test client. Available: \"anvil\" | \"hardhat\" */\n mode: TMode\n /** The name of the client. */\n name?: ClientConfig['name']\n /** Frequency (in ms) for polling enabled actions & events. Defaults to 4_000 milliseconds. */\n pollingInterval?: ClientConfig['pollingInterval']\n transport: ClientConfig<TTransport, TChain>['transport']\n}\n\nexport type TestClient<\n TTransport extends Transport = Transport,\n TChain extends Chain = Chain,\n TMode extends TestClientModes = TestClientModes,\n TIncludeActions extends boolean = true,\n> = Client<TTransport, TChain, TestRequests<TMode>> & {\n mode: TMode\n} & (TIncludeActions extends true ? TestActions<TChain> : {})\n\n/**\n * @description Creates a test client with a given transport.\n *\n * - Only has access to \"test\" RPC methods (ie. `anvil_setBalance`,\n * `evm_mine`, etc).\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { local } from 'viem/chains'\n * const client = createTestClient({ chain: local, mode: 'anvil', transport: http() })\n */\nexport function createTestClient<\n TTransport extends Transport,\n TChain extends Chain,\n TMode extends TestClientModes,\n>({\n chain,\n key = 'test',\n name = 'Test Client',\n mode,\n pollingInterval,\n transport,\n}: TestClientConfig<TTransport, TChain, TMode>): TestClient<\n TTransport,\n TChain,\n TMode,\n true\n> {\n const client = {\n ...createClient({\n chain,\n key,\n name,\n pollingInterval,\n transport,\n type: 'testClient',\n }),\n mode,\n }\n return {\n ...client,\n ...testActions(client as TestClient<any, any, any>),\n }\n}\n","import type { SignableRequests, WalletRequests } from '../types/eip1193'\nimport type { Transport } from './transports/createTransport'\nimport type { Client, ClientConfig } from './createClient'\nimport { createClient } from './createClient'\nimport { Chain } from '../types'\nimport { WalletActions, walletActions } from './decorators'\nimport { wagmiContractConfig } from '../_test'\n\nexport type WalletClientConfig<\n TTransport extends Transport = Transport,\n TChain extends Chain = Chain,\n> = {\n chain?: ClientConfig<TTransport, TChain>['chain']\n /** The key of the Wallet Client. */\n key?: ClientConfig['key']\n /** The name of the Wallet Client. */\n name?: ClientConfig['name']\n /** Frequency (in ms) for polling enabled actions & events. Defaults to 4_000 milliseconds. */\n pollingInterval?: ClientConfig['pollingInterval']\n transport: ClientConfig<TTransport, TChain>['transport']\n}\n\nexport type WalletClient<\n TTransport extends Transport = Transport,\n TChain extends Chain = Chain,\n TIncludeActions extends boolean = true,\n> = Client<TTransport, TChain, SignableRequests & WalletRequests> &\n (TIncludeActions extends true ? WalletActions<TChain> : {})\n\n/**\n * @description Creates a wallet client with a given transport.\n *\n * - Only has access to \"wallet\" & \"signable\" EIP-1474 RPC methods\n * (ie. `eth_sendTransaction`, `eth_requestAccounts`, etc).\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * const client = createWalletClient(\n * custom(window.ethereum)\n * )\n */\nexport function createWalletClient<\n TTransport extends Transport,\n TChain extends Chain,\n>({\n transport,\n key = 'wallet',\n name = 'Wallet Client',\n pollingInterval,\n}: WalletClientConfig<TTransport, TChain>): WalletClient<\n TTransport,\n TChain,\n true\n> {\n const client = createClient({\n key,\n name,\n pollingInterval,\n transport,\n type: 'walletClient',\n })\n return {\n ...client,\n ...(walletActions(client as any) as any),\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CO,SAAS,gBAId;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA,aAAa;AAAA,EACb,aAAa;AAAA,EACb;AAAA,EACA;AACF,GACA,OAC8C;AAC9C,SAAO;AAAA,IACL,QAAQ,EAAE,KAAK,MAAM,SAAS,YAAY,YAAY,SAAS,KAAK;AAAA,IACpE,SAAS,aAAa,SAAS,EAAE,YAAY,WAAW,CAAC;AAAA,IACzD;AAAA,EACF;AACF;;;ACzCO,SAAS,OAEd,UACA,SAAgC,CAAC,GAChB;AACjB,QAAM,EAAE,MAAM,UAAU,OAAO,mBAAmB,WAAW,IAAI;AACjE,SAAO,CAAC,EAAE,YAAY,kBAAkB,MACtC,gBAAgB;AAAA,IACd;AAAA,IACA;AAAA,IACA,SAAS,SAAS,QAAQ,KAAK,QAAQ;AAAA,IACvC,YAAY,OAAO,cAAc;AAAA,IACjC;AAAA,IACA,MAAM;AAAA,EACR,CAAC;AACL;;;ACpBO,SAAS,SACd,YACA,SAAkC,CAAC,GAChB;AACnB,QAAM,EAAE,MAAM,YAAY,OAAO,YAAY,YAAY,WAAW,IAAI;AACxE,SAAO,CAAC,EAAE,MAAM,MACd;AAAA,IACE;AAAA,MACE;AAAA,MACA;AAAA,MACA,MAAM,QAAQ,EAAE,QAAQ,OAAO,GAAG;AAChC,cAAM,QAAQ,OAAO,IAAY,MAAoB;AACnD,gBAAM,YAAY,WAAW,CAAC,EAAE,EAAE,OAAO,YAAY,EAAE,CAAC;AACxD,cAAI;AACF,mBAAO,MAAM,UAAU,QAAQ;AAAA,cAC7B;AAAA,cACA;AAAA,YACF,CAAQ;AAAA,UACV,SAAS,KAAP;AAGA,gBAAI,qBAAqB,GAAY;AAAG,oBAAM;AAG9C,gBAAI,MAAM,WAAW,SAAS;AAAG,oBAAM;AAGvC,mBAAO,MAAM,IAAI,CAAC;AAAA,UACpB;AAAA,QACF;AACA,eAAO,MAAM;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA,MAAM;AAAA,IACR;AAAA,IACA;AAAA,MACE,YAAY,WAAW;AAAA,QACrB,CAAC,OAAO,GAAG,EAAE,OAAO,YAAY,EAAE,CAAC;AAAA,MACrC;AAAA,IACF;AAAA,EACF;AACJ;;;AClCO,SAAS,KAEd,KACA,SAA8B,CAAC,GAChB;AACf,QAAM;AAAA,IACJ,MAAM;AAAA,IACN,OAAO;AAAA,IACP;AAAA,IACA,UAAU;AAAA,EACZ,IAAI;AACJ,SAAO,CAAC,EAAE,OAAO,YAAY,kBAAkB,MAAM;AACnD,UAAM,aAAa,OAAO,cAAc;AACxC,UAAM,OAAO,OAAO,OAAO,QAAQ,QAAQ,KAAK,CAAC;AACjD,QAAI,CAAC;AAAM,YAAM,IAAI,iBAAiB;AACtC,WAAO;AAAA,MACL;AAAA,QACE;AAAA,QACA;AAAA,QACA,MAAM,QAAQ,EAAE,QAAQ,OAAO,GAAG;AAChC,gBAAM,EAAE,OAAO,IAAI,MAAM,IAAI,KAAK,MAAM;AAAA,YACtC,MAAM;AAAA,cACJ;AAAA,cACA;AAAA,YACF;AAAA,YACA;AAAA,UACF,CAAC;AACD,iBAAO;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,MAAM;AAAA,MACR;AAAA,MACA;AAAA,QACE;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;;;ACbO,SAAS,UAEd,KACA,SAAmC,CAAC,GAChB;AACpB,QAAM;AAAA,IACJ,MAAM;AAAA,IACN,OAAO;AAAA,IACP;AAAA,IACA,UAAU;AAAA,EACZ,IAAI;AACJ,SAAO,CAAC,EAAE,OAAO,YAAY,kBAAkB,MAAM;AACnD,UAAM,aAAa,OAAO,cAAc;AACxC,UAAM,OAAO,OAAO,OAAO,QAAQ,QAAQ,YAAY,CAAC;AACxD,QAAI,CAAC;AAAM,YAAM,IAAI,iBAAiB;AACtC,WAAO;AAAA,MACL;AAAA,QACE;AAAA,QACA;AAAA,QACA,MAAM,QAAQ,EAAE,QAAQ,OAAO,GAAG;AAChC,gBAAM,SAAS,MAAM,UAAU,IAAI;AACnC,gBAAM,EAAE,OAAO,IAAI,MAAM,IAAI,eAAe,QAAQ;AAAA,YAClD,MAAM,EAAE,QAAQ,OAAO;AAAA,YACvB;AAAA,UACF,CAAC;AACD,iBAAO;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,MAAM;AAAA,MACR;AAAA,MACA;AAAA,QACE,YAAY;AACV,iBAAO,UAAU,IAAI;AAAA,QACvB;AAAA,QACA,MAAM,UAAU,EAAE,QAAQ,QAAQ,QAAQ,GAAQ;AAChD,gBAAM,SAAS,MAAM,UAAU,IAAI;AACnC,gBAAM,EAAE,QAAQ,eAAe,IAAI,MAAM,IAAI;AAAA,YAC3C,CAAC,SAAS,WACR,IAAI,UAAU,QAAQ;AAAA,cACpB,MAAM;AAAA,gBACJ,QAAQ;AAAA,gBACR;AAAA,cACF;AAAA,cACA,QAAQ,CAAC,SAAS;AAChB,oBAAI,OAAO,KAAK,OAAO,UAAU;AAC/B,0BAAQ,IAAI;AACZ;AAAA,gBACF;AACA,uBAAO,IAAI;AAAA,cACb;AAAA,cACA,SAAS,CAAC,UAAU;AAClB,uBAAO,KAAK;AACZ,0BAAU,KAAK;AAAA,cACjB;AAAA,YACF,CAAC;AAAA,UACL;AACA,iBAAO;AAAA,YACL;AAAA,YACA,MAAM,cAAc;AAClB,qBAAO,IAAI;AAAA,gBAAa,CAAC,SAAS,WAChC,IAAI,UAAU,QAAQ;AAAA,kBACpB,MAAM;AAAA,oBACJ,QAAQ;AAAA,oBACR,QAAQ,CAAC,cAAc;AAAA,kBACzB;AAAA,kBACA,QAAQ;AAAA,kBACR,SAAS;AAAA,gBACX,CAAC;AAAA,cACH;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;;;ACnIA,IAAIA,QAAO;AACX,IAAI,QAAQA;AACZ,IAAI;AAEG,SAAS,IAAI,SAAS,IAAI;AAC/B,MAAI,CAAC,UAAU,QAAQ,SAASA,QAAO,GAAG;AACxC,aAAS;AACT,YAAQ;AACR,aAAS,IAAI,GAAG,IAAIA,OAAM,KAAK;AAC7B,iBAAY,MAAM,KAAK,OAAO,IAAI,MAAO,GAAG,SAAS,EAAE,EAAE,UAAU,CAAC;AAAA,IACtE;AAAA,EACF;AACA,SAAO,OAAO,UAAU,OAAO,UAAU,MAAM;AACjD;;;ACwCO,SAAS,aAId;AAAA,EACA;AAAA,EACA,MAAM;AAAA,EACN,OAAO;AAAA,EACP,kBAAkB;AAAA,EAClB;AAAA,EACA,OAAO;AACT,GAIE;AACA,QAAM,EAAE,QAAQ,SAAS,MAAM,IAAI,UAAU,EAAE,MAAM,CAAC;AACtD,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW,EAAE,GAAG,QAAQ,GAAG,MAAM;AAAA,IACjC;AAAA,IACA,KAAK,IAAI;AAAA,EACX;AACF;;;AC6IO,IAAM,gBAAgB,CAI3B,YAC2B;AAAA,EAC3B,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI;AAAA,EACjC,mBAAmB,MAAM,kBAAkB,MAAM;AAAA,EACjD,2BAA2B,CAAC,SAAS,0BAA0B,QAAQ,IAAI;AAAA,EAC3E,mBAAmB,CAAC,SAAS,kBAAkB,QAAQ,IAAI;AAAA,EAC3D,gCAAgC,MAAM,+BAA+B,MAAM;AAAA,EAC3E,qBAAqB,CAAC,SAAS,oBAAoB,QAAQ,IAAI;AAAA,EAC/D,aAAa,CAAC,SAAS,YAAY,QAAQ,IAAI;AAAA,EAC/C,YAAY,CAAC,SAAS,WAAW,QAAQ,IAAI;AAAA,EAC7C,UAAU,CAAC,SAAS,SAAS,QAAQ,IAAI;AAAA,EACzC,gBAAgB,CAAC,SAAS,eAAe,QAAQ,IAAI;AAAA,EACrD,0BAA0B,CAAC,SAAS,yBAAyB,QAAQ,IAAI;AAAA,EACzE,aAAa,CAAC,SAAS,YAAY,QAAQ,IAAI;AAAA,EAC/C,YAAY,MAAM,WAAW,MAAM;AAAA,EACnC,eAAe,CAAC,SAAS,cAAc,QAAQ,IAAI;AAAA,EACnD,YAAY,CAAC,SAAS,WAAW,QAAQ,IAAI;AAAA,EAC7C,eAAe,CAAC,SAAS,cAAc,QAAQ,IAAI;AAAA,EACnD,kBAAkB,CAAC,SAAS,iBAAiB,QAAQ,IAAI;AAAA,EACzD,eAAe,CAAC,SAAS,cAAc,QAAQ,IAAI;AAAA,EACnD,aAAa,MAAM,YAAY,MAAM;AAAA,EACrC,SAAS,CAAC,SAAS,QAAQ,QAAQ,IAAI;AAAA,EACvC,cAAc,CAAC,SAAS,aAAa,QAAQ,IAAI;AAAA,EACjD,gBAAgB,CAAC,SAAS,eAAe,QAAQ,IAAI;AAAA,EACrD,6BAA6B,CAAC,SAC5B,4BAA4B,QAAQ,IAAI;AAAA,EAC1C,uBAAuB,CAAC,SAAS,sBAAsB,QAAQ,IAAI;AAAA,EACnE,WAAW,CAAC,SAAS,UAAU,QAAQ,IAAI;AAAA,EAC3C,cAAc,CAAC,SAAS,aAAa,QAAQ,IAAI;AAAA,EACjD,kBAAkB,CAAC,SAAS,iBAAiB,QAAQ,IAAI;AAAA,EACzD,iBAAiB,CAAC,SAAS,gBAAgB,QAAQ,IAAI;AAAA,EACvD,2BAA2B,CAAC,SAAS,0BAA0B,QAAQ,IAAI;AAAA,EAC3E,aAAa,CAAC,SAAS,YAAY,QAAQ,IAAI;AAAA,EAC/C,kBAAkB,CAAC,SAAS,iBAAiB,QAAQ,IAAI;AAAA,EACzD,oBAAoB,CAAC,SAAS,mBAAmB,QAAQ,IAAI;AAAA,EAC7D,YAAY,CAAC,SAAS,WAAW,QAAQ,IAAI;AAAA,EAC7C,0BAA0B,CAAC,SAAS,yBAAyB,QAAQ,IAAI;AAC3E;;;ACpKO,IAAM,cAAc,CAIzB,YACyB;AAAA,EACzB,iBAAiB,CAAC,SAAS,gBAAgB,QAAQ,IAAI;AAAA,EACvD,aAAa,MAAM,YAAY,MAAM;AAAA,EACrC,kBAAkB,MAAM,iBAAiB,MAAM;AAAA,EAC/C,iBAAiB,MAAM,gBAAgB,MAAM;AAAA,EAC7C,oBAAoB,CAAC,SAAS,mBAAmB,QAAQ,IAAI;AAAA,EAC7D,cAAc,CAAC,SAAS,aAAa,QAAQ,IAAI;AAAA,EACjD,eAAe,MAAM,cAAc,MAAM;AAAA,EACzC,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI;AAAA,EACjC,8BAA8B,MAAM,6BAA6B,MAAM;AAAA,EACvE,OAAO,CAAC,SAAS,MAAM,QAAQ,IAAI;AAAA,EACnC,QAAQ,CAAC,SAAS,OAAO,QAAQ,IAAI;AAAA,EACrC,yBAAyB,CAAC,SAAS,wBAAwB,QAAQ,IAAI;AAAA,EACvE,aAAa,CAAC,SAAS,YAAY,QAAQ,IAAI;AAAA,EAC/C,YAAY,CAAC,SAAS,WAAW,QAAQ,IAAI;AAAA,EAC7C,kBAAkB,CAAC,SAAS,iBAAiB,QAAQ,IAAI;AAAA,EACzD,2BAA2B,CAAC,SAAS,0BAA0B,QAAQ,IAAI;AAAA,EAC3E,SAAS,CAAC,SAAS,QAAQ,QAAQ,IAAI;AAAA,EACvC,aAAa,CAAC,SAAS,YAAY,QAAQ,IAAI;AAAA,EAC/C,mBAAmB,CAAC,SAAS,kBAAkB,QAAQ,IAAI;AAAA,EAC3D,mBAAmB,CAAC,SAAS,kBAAkB,QAAQ,IAAI;AAAA,EAC3D,gBAAgB,CAAC,SAAS,eAAe,QAAQ,IAAI;AAAA,EACrD,2BAA2B,CAAC,SAAS,0BAA0B,QAAQ,IAAI;AAAA,EAC3E,uBAAuB,CAAC,SAAS,sBAAsB,QAAQ,IAAI;AAAA,EACnE,UAAU,CAAC,SAAS,SAAS,QAAQ,IAAI;AAAA,EACzC,WAAW,CAAC,SAAS,UAAU,QAAQ,IAAI;AAAA,EAC3C,cAAc,CAAC,SAAS,aAAa,QAAQ,IAAI;AAAA,EACjD,UAAU,MAAM,SAAS,MAAM;AAAA,EAC/B,0BAA0B,CAAC,SAAS,yBAAyB,QAAQ,IAAI;AAC3E;;;ACvEO,IAAM,gBAAgB,CAI3B,YAC2B;AAAA,EAC3B,UAAU,CAAC,SAAS,SAAS,QAAQ,IAAI;AAAA,EACzC,gBAAgB,CAAC,SAAS,eAAe,QAAQ,IAAI;AAAA,EACrD,aAAa,MAAM,YAAY,MAAM;AAAA,EACrC,gBAAgB,MAAM,eAAe,MAAM;AAAA,EAC3C,iBAAiB,MAAM,gBAAgB,MAAM;AAAA,EAC7C,oBAAoB,CAAC,SAAS,mBAAmB,QAAQ,IAAI;AAAA,EAC7D,iBAAiB,CAAC,SAAS,gBAAgB,QAAQ,IAAI;AAAA,EACvD,aAAa,CAAC,SAAS,YAAY,QAAQ,IAAI;AAAA,EAC/C,aAAa,CAAC,SAAS,YAAY,QAAQ,IAAI;AAAA,EAC/C,YAAY,CAAC,SAAS,WAAW,QAAQ,IAAI;AAAA,EAC7C,eAAe,CAAC,SAAS,cAAc,QAAQ,IAAI;AACrD;;;AC9CO,SAAS,mBAGd;AAAA,EACA;AAAA,EACA,MAAM;AAAA,EACN,OAAO;AAAA,EACP;AAAA,EACA;AACF,GAIE;AACA,QAAM,SAAS,aAAa;AAAA,IAC1B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,MAAM;AAAA,EACR,CAAC;AACD,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAG,cAAc,MAAgC;AAAA,EACnD;AACF;;;ACZO,SAAS,iBAId;AAAA,EACA;AAAA,EACA,MAAM;AAAA,EACN,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA;AACF,GAKE;AACA,QAAM,SAAS;AAAA,IACb,GAAG,aAAa;AAAA,MACd;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,MAAM;AAAA,IACR,CAAC;AAAA,IACD;AAAA,EACF;AACA,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAG,YAAY,MAAmC;AAAA,EACpD;AACF;;;ACrCO,SAAS,mBAGd;AAAA,EACA;AAAA,EACA,MAAM;AAAA,EACN,OAAO;AAAA,EACP;AACF,GAIE;AACA,QAAM,SAAS,aAAa;AAAA,IAC1B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,MAAM;AAAA,EACR,CAAC;AACD,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAI,cAAc,MAAa;AAAA,EACjC;AACF;","names":["size"]}
1
+ {"version":3,"sources":["../src/clients/transports/createTransport.ts","../src/clients/transports/custom.ts","../src/clients/transports/fallback.ts","../src/clients/transports/http.ts","../src/clients/transports/webSocket.ts","../src/utils/uid.ts","../src/clients/createClient.ts","../src/clients/decorators/public.ts","../src/clients/decorators/test.ts","../src/clients/decorators/wallet.ts","../src/clients/createPublicClient.ts","../src/clients/createTestClient.ts","../src/clients/createWalletClient.ts"],"sourcesContent":["import type { Chain } from '../../types'\nimport type { Requests } from '../../types/eip1193'\nimport { buildRequest } from '../../utils'\n\nexport type BaseRpcRequests = {\n request(...args: any): Promise<any>\n}\n\nexport type TransportConfig<\n TType extends string = string,\n TRequests extends BaseRpcRequests['request'] = Requests['request'],\n> = {\n /** The name of the transport. */\n name: string\n /** The key of the transport. */\n key: string\n /** The JSON-RPC request function that matches the EIP-1193 request spec. */\n request: TRequests\n /** The base delay (in ms) between retries. */\n retryDelay?: number\n /** The max number of times to retry. */\n retryCount?: number\n /** The timeout (in ms) for requests. */\n timeout?: number\n /** The type of the transport. */\n type: TType\n}\n\nexport type Transport<\n TType extends string = string,\n TRpcAttributes = Record<string, any>,\n TRequests extends BaseRpcRequests['request'] = Requests['request'],\n> = <TChain extends Chain = Chain>({\n chain,\n}: {\n chain?: TChain\n retryCount?: TransportConfig['retryCount']\n}) => {\n config: TransportConfig<TType>\n request: TRequests\n value?: TRpcAttributes\n}\n\n/**\n * @description Creates an transport intended to be used with a client.\n */\nexport function createTransport<\n TType extends string = string,\n TRpcAttributes = any,\n>(\n {\n key,\n name,\n request,\n retryCount = 3,\n retryDelay = 150,\n timeout,\n type,\n }: TransportConfig<TType>,\n value?: TRpcAttributes,\n): ReturnType<Transport<TType, TRpcAttributes>> {\n return {\n config: { key, name, request, retryCount, retryDelay, timeout, type },\n request: buildRequest(request, { retryCount, retryDelay }),\n value,\n }\n}\n","import type {\n BaseRpcRequests,\n Transport,\n TransportConfig,\n} from './createTransport'\nimport { createTransport } from './createTransport'\n\ntype EthereumProvider = { request: BaseRpcRequests['request'] }\n\nexport type CustomTransportConfig = {\n /** The key of the transport. */\n key?: TransportConfig['key']\n /** The name of the transport. */\n name?: TransportConfig['name']\n /** The max number of times to retry. */\n retryCount?: TransportConfig['retryCount']\n /** The base delay (in ms) between retries. */\n retryDelay?: TransportConfig['retryDelay']\n}\n\nexport type CustomTransport = Transport<'custom', EthereumProvider['request']>\n\n/**\n * @description Creates a custom transport given an EIP-1193 compliant `request` attribute.\n */\nexport function custom<TProvider extends EthereumProvider>(\n /** An Ethereum provider with an EIP-1193 \"request\" attribute. */\n provider: TProvider,\n config: CustomTransportConfig = {},\n): CustomTransport {\n const { key = 'custom', name = 'Custom Provider', retryDelay } = config\n return ({ retryCount: defaultRetryCount }) =>\n createTransport({\n key,\n name,\n request: provider.request.bind(provider),\n retryCount: config.retryCount ?? defaultRetryCount,\n retryDelay,\n type: 'custom',\n })\n}\n","import { isDeterministicError } from '../../utils/buildRequest'\nimport type { Transport, TransportConfig } from './createTransport'\nimport { createTransport } from './createTransport'\n\nexport type FallbackTransportConfig = {\n /** The key of the Fallback transport. */\n key?: TransportConfig['key']\n /** The name of the Fallback transport. */\n name?: TransportConfig['name']\n /** The max number of times to retry. */\n retryCount?: TransportConfig['retryCount']\n /** The base delay (in ms) between retries. */\n retryDelay?: TransportConfig['retryDelay']\n}\n\nexport type FallbackTransport = Transport<\n 'fallback',\n { transports: Transport[] }\n>\n\nexport function fallback(\n transports: Transport[],\n config: FallbackTransportConfig = {},\n): FallbackTransport {\n const { key = 'fallback', name = 'Fallback', retryCount, retryDelay } = config\n return ({ chain }) =>\n createTransport(\n {\n key,\n name,\n async request({ method, params }) {\n const fetch = async (i: number = 0): Promise<any> => {\n const transport = transports[i]({ chain, retryCount: 0 })\n try {\n return await transport.request({\n method,\n params,\n } as any)\n } catch (err) {\n // If the error is deterministic, we don't need to fall back.\n // So throw the error.\n if (isDeterministicError(err as Error)) throw err\n\n // If we've reached the end of the fallbacks, throw the error.\n if (i === transports.length - 1) throw err\n\n // Otherwise, try the next fallback.\n return fetch(i + 1)\n }\n }\n return fetch()\n },\n retryCount,\n retryDelay,\n type: 'fallback',\n },\n {\n transports: transports.map(\n (fn) => fn({ chain, retryCount: 0 }) as unknown as Transport,\n ),\n },\n )\n}\n","import { UrlRequiredError } from '../../errors'\nimport type { HttpOptions } from '../../utils'\nimport { rpc } from '../../utils'\nimport type { Transport, TransportConfig } from './createTransport'\nimport { createTransport } from './createTransport'\n\nexport type HttpTransportConfig = {\n /**\n * Request configuration to pass to `fetch`.\n * @link https://developer.mozilla.org/en-US/docs/Web/API/fetch\n */\n fetchOptions?: HttpOptions['fetchOptions']\n /** The key of the HTTP transport. */\n key?: TransportConfig['key']\n /** The name of the HTTP transport. */\n name?: TransportConfig['name']\n /** The max number of times to retry. */\n retryCount?: TransportConfig['retryCount']\n /** The base delay (in ms) between retries. */\n retryDelay?: TransportConfig['retryDelay']\n /** The timeout (in ms) for the HTTP request. Default: 10_000 */\n timeout?: TransportConfig['timeout']\n}\n\nexport type HttpTransport = Transport<\n 'http',\n {\n url?: string\n }\n>\n\n/**\n * @description Creates a HTTP transport that connects to a JSON-RPC API.\n */\nexport function http(\n /** URL of the JSON-RPC API. Defaults to the chain's public RPC URL. */\n url?: string,\n config: HttpTransportConfig = {},\n): HttpTransport {\n const {\n fetchOptions,\n key = 'http',\n name = 'HTTP JSON-RPC',\n retryDelay,\n timeout = 10_000,\n } = config\n return ({ chain, retryCount: defaultRetryCount }) => {\n const retryCount = config.retryCount ?? defaultRetryCount\n const url_ = url || chain?.rpcUrls.default.http[0]\n if (!url_) throw new UrlRequiredError()\n return createTransport(\n {\n key,\n name,\n async request({ method, params }) {\n const { result } = await rpc.http(url_, {\n body: {\n method,\n params,\n },\n fetchOptions,\n timeout,\n })\n return result\n },\n retryCount,\n retryDelay,\n timeout,\n type: 'http',\n },\n {\n url,\n },\n )\n }\n}\n","import WebSocket from 'isomorphic-ws'\nimport { UrlRequiredError } from '../../errors'\nimport type { Hash } from '../../types'\nimport type { RpcResponse } from '../../utils/rpc'\nimport { getSocket, rpc } from '../../utils/rpc'\nimport type { Transport, TransportConfig } from './createTransport'\nimport { createTransport } from './createTransport'\n\ntype WebSocketTransportSubscribeArgs = {\n onData: (data: RpcResponse) => void\n onError?: (error: any) => void\n}\n\ntype WebSocketTransportSubscribeResponse = {\n subscriptionId: Hash\n unsubscribe: () => Promise<RpcResponse<boolean>>\n}\n\ntype WebSocketTransportSubscribe = {\n subscribe(\n args: WebSocketTransportSubscribeArgs & {\n /**\n * @description Add information about compiled contracts\n * @link https://hardhat.org/hardhat-network/docs/reference#hardhat_addcompilationresult\n */\n params: ['newHeads']\n },\n ): Promise<WebSocketTransportSubscribeResponse>\n}\n\nexport type WebSocketTransportConfig = {\n /** The key of the WebSocket transport. */\n key?: TransportConfig['key']\n /** The name of the WebSocket transport. */\n name?: TransportConfig['name']\n /** The max number of times to retry. */\n retryCount?: TransportConfig['retryCount']\n /** The base delay (in ms) between retries. */\n retryDelay?: TransportConfig['retryDelay']\n /** The timeout (in ms) for async WebSocket requests. Default: 10_000 */\n timeout?: TransportConfig['timeout']\n}\n\nexport type WebSocketTransport = Transport<\n 'webSocket',\n {\n getSocket(): Promise<WebSocket>\n subscribe: WebSocketTransportSubscribe['subscribe']\n }\n>\n\n/**\n * @description Creates a WebSocket transport that connects to a JSON-RPC API.\n */\nexport function webSocket(\n /** URL of the JSON-RPC API. Defaults to the chain's public RPC URL. */\n url?: string,\n config: WebSocketTransportConfig = {},\n): WebSocketTransport {\n const {\n key = 'webSocket',\n name = 'WebSocket JSON-RPC',\n retryDelay,\n timeout = 10_000,\n } = config\n return ({ chain, retryCount: defaultRetryCount }) => {\n const retryCount = config.retryCount ?? defaultRetryCount\n const url_ = url || chain?.rpcUrls.default.webSocket?.[0]\n if (!url_) throw new UrlRequiredError()\n return createTransport(\n {\n key,\n name,\n async request({ method, params }) {\n const socket = await getSocket(url_)\n const { result } = await rpc.webSocketAsync(socket, {\n body: { method, params },\n timeout,\n })\n return result\n },\n retryCount,\n retryDelay,\n timeout,\n type: 'webSocket',\n },\n {\n getSocket() {\n return getSocket(url_)\n },\n async subscribe({ params, onData, onError }: any) {\n const socket = await getSocket(url_)\n const { result: subscriptionId } = await new Promise<any>(\n (resolve, reject) =>\n rpc.webSocket(socket, {\n body: {\n method: 'eth_subscribe',\n params,\n },\n onData: (data) => {\n if (typeof data.id === 'number') {\n resolve(data)\n return\n }\n onData(data)\n },\n onError: (error) => {\n reject(error)\n onError?.(error)\n },\n }),\n )\n return {\n subscriptionId,\n async unsubscribe() {\n return new Promise<any>((resolve, reject) =>\n rpc.webSocket(socket, {\n body: {\n method: 'eth_unsubscribe',\n params: [subscriptionId],\n },\n onData: resolve,\n onError: reject,\n }),\n )\n },\n }\n },\n },\n )\n }\n}\n","let size = 256\nlet index = size\nlet buffer: string\n\nexport function uid(length = 11) {\n if (!buffer || index + length > size * 2) {\n buffer = ''\n index = 0\n for (let i = 0; i < size; i++) {\n buffer += ((256 + Math.random() * 256) | 0).toString(16).substring(1)\n }\n }\n return buffer.substring(index, index++ + length)\n}\n","import { Chain } from '../types'\nimport type { Requests } from '../types/eip1193'\nimport { buildRequest } from '../utils/buildRequest'\nimport { uid } from '../utils/uid'\nimport type { BaseRpcRequests, Transport } from './transports/createTransport'\n\nexport type Client<\n TTransport extends Transport = Transport,\n TChain extends Chain = Chain,\n TRequests extends BaseRpcRequests = Requests,\n> = {\n /** Chain for the client. */\n chain?: TChain\n /** A key for the client. */\n key: string\n /** A name for the client. */\n name: string\n /** Frequency (in ms) for polling enabled actions & events. Defaults to 4_000 milliseconds. */\n pollingInterval: number\n /** Request function wrapped with friendly error handling */\n request: TRequests['request']\n /** The RPC transport (http, webSocket, custom, etc) */\n transport: ReturnType<TTransport>['config'] & ReturnType<TTransport>['value']\n /** The type of client. */\n type: string\n /** A unique ID for the client. */\n uid: string\n}\n\nexport type ClientConfig<\n TTransport extends Transport = Transport,\n TChain extends Chain = Chain,\n TRequests extends BaseRpcRequests = Requests,\n> = Partial<\n Pick<\n Client<TTransport, TChain, TRequests>,\n 'chain' | 'key' | 'name' | 'pollingInterval' | 'type'\n >\n> & {\n transport: TTransport\n}\n\n/**\n * @description Creates a base RPC client with the given transport.\n *\n * - Intended to be used as a base for other RPC clients.\n * - Has access to _all_ EIP-1474 RPC methods.\n *\n * @example\n * import { mainnet } from 'viem/chains'\n * import { createClient, http } from 'viem/clients'\n * const client = createClient(http({ chain: mainnet }))\n */\nexport function createClient<\n TTransport extends Transport,\n TChain extends Chain,\n TRequests extends BaseRpcRequests,\n>({\n chain,\n key = 'base',\n name = 'Base Client',\n pollingInterval = 4_000,\n transport,\n type = 'base',\n}: ClientConfig<TTransport, TChain, TRequests>): Client<\n TTransport,\n TChain,\n TRequests\n> {\n const { config, request, value } = transport({ chain })\n return {\n chain,\n key,\n name,\n pollingInterval,\n request,\n transport: { ...config, ...value },\n type,\n uid: uid(),\n }\n}\n","import { Abi, AbiEvent } from 'abitype'\nimport type {\n CallArgs,\n CallResponse,\n CreateBlockFilterResponse,\n CreateContractEventFilterArgs,\n CreateContractEventFilterResponse,\n CreateEventFilterArgs,\n CreateEventFilterResponse,\n CreatePendingTransactionFilterResponse,\n EstimateGasArgs,\n EstimateGasResponse,\n EstimateContractGasArgs,\n EstimateContractGasResponse,\n GetBalanceArgs,\n GetBalanceResponse,\n GetBlockArgs,\n GetBlockNumberArgs,\n GetBlockNumberResponse,\n GetBlockResponse,\n GetBlockTransactionCountArgs,\n GetBlockTransactionCountResponse,\n GetBytecodeArgs,\n GetBytecodeResponse,\n GetChainIdResponse,\n GetFeeHistoryArgs,\n GetFeeHistoryResponse,\n GetFilterChangesArgs,\n GetFilterChangesResponse,\n GetFilterLogsArgs,\n GetFilterLogsResponse,\n GetGasPriceResponse,\n GetTransactionArgs,\n GetTransactionConfirmationsArgs,\n GetTransactionConfirmationsResponse,\n GetTransactionReceiptArgs,\n GetTransactionReceiptResponse,\n GetTransactionResponse,\n UninstallFilterArgs,\n UninstallFilterResponse,\n WaitForTransactionReceiptArgs,\n WaitForTransactionReceiptResponse,\n WatchBlockNumberArgs,\n WatchBlocksArgs,\n WatchPendingTransactionsArgs,\n GetLogsArgs,\n GetLogsResponse,\n GetStorageAtArgs,\n GetStorageAtResponse,\n MulticallArgs,\n MulticallResponse,\n ReadContractArgs,\n ReadContractResponse,\n SimulateContractArgs,\n SimulateContractResponse,\n WatchContractEventArgs,\n WatchEventArgs,\n} from '../../actions/public'\nimport {\n call,\n createBlockFilter,\n createContractEventFilter,\n createEventFilter,\n createPendingTransactionFilter,\n estimateContractGas,\n estimateGas,\n getBalance,\n getBlock,\n getBlockNumber,\n getBlockTransactionCount,\n getBytecode,\n getChainId,\n getFeeHistory,\n getFilterChanges,\n getFilterLogs,\n getGasPrice,\n getLogs,\n getTransaction,\n getTransactionConfirmations,\n getTransactionReceipt,\n uninstallFilter,\n waitForTransactionReceipt,\n watchBlockNumber,\n watchBlocks,\n watchEvent,\n watchPendingTransactions,\n getStorageAt,\n multicall,\n readContract,\n simulateContract,\n watchContractEvent,\n} from '../../actions/public'\nimport type {\n GetEnsAddressArgs,\n GetEnsAddressResponse,\n GetEnsNameArgs,\n GetEnsNameResponse,\n} from '../../actions/ens'\nimport { getEnsAddress, getEnsName } from '../../actions/ens'\nimport type { PublicClient } from '../createPublicClient'\nimport {\n Chain,\n ContractConfig,\n FilterType,\n MaybeExtractEventArgsFromAbi,\n} from '../../types'\n\nexport type PublicActions<TChain extends Chain = Chain> = {\n call: (args: CallArgs<TChain>) => Promise<CallResponse>\n createBlockFilter: () => Promise<CreateBlockFilterResponse>\n createContractEventFilter: <\n TAbi extends Abi | readonly unknown[],\n TEventName extends string | undefined,\n TArgs extends MaybeExtractEventArgsFromAbi<TAbi, TEventName> | undefined,\n >(\n args: CreateContractEventFilterArgs<TAbi, TEventName, TArgs>,\n ) => Promise<CreateContractEventFilterResponse<TAbi, TEventName, TArgs>>\n createEventFilter: <\n TAbiEvent extends AbiEvent | undefined,\n TAbi extends Abi | readonly unknown[],\n TEventName extends string | undefined,\n TArgs extends MaybeExtractEventArgsFromAbi<TAbi, TEventName> | undefined,\n >(\n args?: CreateEventFilterArgs<TAbiEvent, TAbi, TEventName, TArgs>,\n ) => Promise<CreateEventFilterResponse<TAbiEvent, TAbi, TEventName, TArgs>>\n createPendingTransactionFilter: () => Promise<CreatePendingTransactionFilterResponse>\n estimateContractGas: <\n TChain extends Chain,\n TAbi extends Abi | readonly unknown[],\n TFunctionName extends string,\n >(\n args: EstimateContractGasArgs<TChain, TAbi, TFunctionName>,\n ) => Promise<EstimateContractGasResponse>\n estimateGas: (args: EstimateGasArgs<TChain>) => Promise<EstimateGasResponse>\n getBalance: (args: GetBalanceArgs) => Promise<GetBalanceResponse>\n getBlock: (args?: GetBlockArgs) => Promise<GetBlockResponse<TChain>>\n getBlockNumber: (args?: GetBlockNumberArgs) => Promise<GetBlockNumberResponse>\n getBlockTransactionCount: (\n args?: GetBlockTransactionCountArgs,\n ) => Promise<GetBlockTransactionCountResponse>\n getBytecode: (args: GetBytecodeArgs) => Promise<GetBytecodeResponse>\n getChainId: () => Promise<GetChainIdResponse>\n getEnsAddress: (args: GetEnsAddressArgs) => Promise<GetEnsAddressResponse>\n getEnsName: (args: GetEnsNameArgs) => Promise<GetEnsNameResponse>\n getFeeHistory: (args: GetFeeHistoryArgs) => Promise<GetFeeHistoryResponse>\n getFilterChanges: <\n TFilterType extends FilterType,\n TAbiEvent extends AbiEvent | undefined,\n TAbi extends Abi | readonly unknown[],\n TEventName extends string | undefined,\n >(\n args: GetFilterChangesArgs<TFilterType, TAbiEvent, TAbi, TEventName>,\n ) => Promise<\n GetFilterChangesResponse<TFilterType, TAbiEvent, TAbi, TEventName>\n >\n getFilterLogs: <\n TAbiEvent extends AbiEvent | undefined,\n TAbi extends Abi | readonly unknown[],\n TEventName extends string | undefined,\n >(\n args: GetFilterLogsArgs<TAbiEvent, TAbi, TEventName>,\n ) => Promise<GetFilterLogsResponse<TAbiEvent, TAbi, TEventName>>\n getGasPrice: () => Promise<GetGasPriceResponse>\n getLogs: <TAbiEvent extends AbiEvent | undefined>(\n args?: GetLogsArgs<TAbiEvent>,\n ) => Promise<GetLogsResponse<TAbiEvent>>\n getStorageAt: (args: GetStorageAtArgs) => Promise<GetStorageAtResponse>\n getTransaction: (\n args: GetTransactionArgs,\n ) => Promise<GetTransactionResponse<TChain>>\n getTransactionConfirmations: (\n args: GetTransactionConfirmationsArgs<TChain>,\n ) => Promise<GetTransactionConfirmationsResponse>\n getTransactionReceipt: (\n args: GetTransactionReceiptArgs,\n ) => Promise<GetTransactionReceiptResponse<TChain>>\n multicall: <\n TContracts extends ContractConfig[],\n TAllowFailure extends boolean = true,\n >(\n args: MulticallArgs<TContracts, TAllowFailure>,\n ) => Promise<MulticallResponse<TContracts, TAllowFailure>>\n readContract: <\n TAbi extends Abi | readonly unknown[],\n TFunctionName extends string,\n >(\n args: ReadContractArgs<TAbi, TFunctionName>,\n ) => Promise<ReadContractResponse>\n simulateContract: <\n TAbi extends Abi | readonly unknown[] = Abi,\n TFunctionName extends string = any,\n >(\n args: SimulateContractArgs<TChain, TAbi, TFunctionName>,\n ) => Promise<SimulateContractResponse<TChain, TAbi, TFunctionName>>\n uninstallFilter: (\n args: UninstallFilterArgs,\n ) => Promise<UninstallFilterResponse>\n waitForTransactionReceipt: (\n args: WaitForTransactionReceiptArgs<TChain>,\n ) => Promise<WaitForTransactionReceiptResponse<TChain>>\n watchBlockNumber: (\n args: WatchBlockNumberArgs,\n ) => ReturnType<typeof watchBlockNumber>\n watchBlocks: (args: WatchBlocksArgs<TChain>) => ReturnType<typeof watchBlocks>\n watchContractEvent: <\n TAbi extends Abi | readonly unknown[],\n TEventName extends string,\n >(\n args: WatchContractEventArgs<TAbi, TEventName>,\n ) => ReturnType<typeof watchContractEvent>\n watchEvent: <\n TAbiEvent extends AbiEvent | undefined,\n TEventName extends string | undefined,\n >(\n args: WatchEventArgs<TAbiEvent>,\n ) => ReturnType<typeof watchEvent>\n watchPendingTransactions: (\n args: WatchPendingTransactionsArgs,\n ) => ReturnType<typeof watchPendingTransactions>\n}\n\nexport const publicActions = <\n TChain extends Chain,\n TClient extends PublicClient<any, any>,\n>(\n client: TClient,\n): PublicActions<TChain> => ({\n call: (args) => call(client, args),\n createBlockFilter: () => createBlockFilter(client),\n createContractEventFilter: (args) => createContractEventFilter(client, args),\n createEventFilter: (args) => createEventFilter(client, args),\n createPendingTransactionFilter: () => createPendingTransactionFilter(client),\n estimateContractGas: (args) => estimateContractGas(client, args),\n estimateGas: (args) => estimateGas(client, args),\n getBalance: (args) => getBalance(client, args),\n getBlock: (args) => getBlock(client, args),\n getBlockNumber: (args) => getBlockNumber(client, args),\n getBlockTransactionCount: (args) => getBlockTransactionCount(client, args),\n getBytecode: (args) => getBytecode(client, args),\n getChainId: () => getChainId(client),\n getEnsAddress: (args) => getEnsAddress(client, args),\n getEnsName: (args) => getEnsName(client, args),\n getFeeHistory: (args) => getFeeHistory(client, args),\n getFilterChanges: (args) => getFilterChanges(client, args),\n getFilterLogs: (args) => getFilterLogs(client, args),\n getGasPrice: () => getGasPrice(client),\n getLogs: (args) => getLogs(client, args),\n getStorageAt: (args) => getStorageAt(client, args),\n getTransaction: (args) => getTransaction(client, args),\n getTransactionConfirmations: (args) =>\n getTransactionConfirmations(client, args),\n getTransactionReceipt: (args) => getTransactionReceipt(client, args),\n multicall: (args) => multicall(client, args),\n readContract: (args) => readContract(client, args),\n simulateContract: (args) => simulateContract(client, args),\n uninstallFilter: (args) => uninstallFilter(client, args),\n waitForTransactionReceipt: (args) => waitForTransactionReceipt(client, args),\n watchBlocks: (args) => watchBlocks(client, args),\n watchBlockNumber: (args) => watchBlockNumber(client, args),\n watchContractEvent: (args) => watchContractEvent(client, args),\n watchEvent: (args) => watchEvent(client, args),\n watchPendingTransactions: (args) => watchPendingTransactions(client, args),\n})\n","import type {\n DropTransactionArgs,\n GetAutomineResponse,\n GetTxPoolContentResponse,\n GetTxPoolStatusResponse,\n ImpersonateAccountArgs,\n IncreaseTimeArgs,\n InspectTxpoolResponse,\n MineArgs,\n ResetArgs,\n RevertArgs,\n SendUnsignedTransactionArgs,\n SendUnsignedTransactionResponse,\n SetBalanceArgs,\n SetBlockGasLimitArgs,\n SetBlockTimestampIntervalArgs,\n SetCodeArgs,\n SetCoinbaseArgs,\n SetIntervalMiningArgs,\n SetMinGasPriceArgs,\n SetNextBlockBaseFeePerGasArgs,\n SetNextBlockTimestampArgs,\n SetNonceArgs,\n SetStorageAtArgs,\n StopImpersonatingAccountArgs,\n} from '../../actions/test'\nimport {\n dropTransaction,\n getAutomine,\n getTxpoolContent,\n getTxpoolStatus,\n impersonateAccount,\n increaseTime,\n inspectTxpool,\n mine,\n removeBlockTimestampInterval,\n reset,\n revert,\n sendUnsignedTransaction,\n setAutomine,\n setBalance,\n setBlockGasLimit,\n setBlockTimestampInterval,\n setCode,\n setCoinbase,\n setIntervalMining,\n setLoggingEnabled,\n setMinGasPrice,\n setNextBlockBaseFeePerGas,\n setNextBlockTimestamp,\n setNonce,\n setRpcUrl,\n setStorageAt,\n snapshot,\n stopImpersonatingAccount,\n} from '../../actions/test'\nimport { Chain, Quantity } from '../../types'\nimport type { TestClient } from '../createTestClient'\n\nexport type TestActions<TChain extends Chain = Chain> = {\n dropTransaction: (args: DropTransactionArgs) => Promise<void>\n getAutomine: () => Promise<GetAutomineResponse>\n getTxPoolContent: () => Promise<GetTxPoolContentResponse>\n getTxPoolStatus: () => Promise<GetTxPoolStatusResponse>\n impersonateAccount: (args: ImpersonateAccountArgs) => Promise<void>\n increaseTime: (args: IncreaseTimeArgs) => Promise<Quantity>\n inspectTxpool: () => Promise<InspectTxpoolResponse>\n mine: (args: MineArgs) => Promise<void>\n removeBlockTimestampInterval: () => Promise<void>\n reset: (args: ResetArgs) => Promise<void>\n revert: (args: RevertArgs) => Promise<void>\n sendUnsignedTransaction: (\n args: SendUnsignedTransactionArgs,\n ) => Promise<SendUnsignedTransactionResponse>\n setAutomine: (args: boolean) => Promise<void>\n setBalance: (args: SetBalanceArgs) => Promise<void>\n setBlockGasLimit: (args: SetBlockGasLimitArgs) => Promise<void>\n setBlockTimestampInterval: (\n args: SetBlockTimestampIntervalArgs,\n ) => Promise<void>\n setCode: (args: SetCodeArgs) => Promise<void>\n setCoinbase: (args: SetCoinbaseArgs) => Promise<void>\n setIntervalMining: (args: SetIntervalMiningArgs) => Promise<void>\n setLoggingEnabled: (args: boolean) => Promise<void>\n setMinGasPrice: (args: SetMinGasPriceArgs) => Promise<void>\n setNextBlockBaseFeePerGas: (\n args: SetNextBlockBaseFeePerGasArgs,\n ) => Promise<void>\n setNextBlockTimestamp: (args: SetNextBlockTimestampArgs) => Promise<void>\n setNonce: (args: SetNonceArgs) => Promise<void>\n setRpcUrl: (args: string) => Promise<void>\n setStorageAt: (args: SetStorageAtArgs) => Promise<void>\n snapshot: () => Promise<Quantity>\n stopImpersonatingAccount: (\n args: StopImpersonatingAccountArgs,\n ) => Promise<void>\n}\n\nexport const testActions = <\n TChain extends Chain,\n TClient extends TestClient<any, any>,\n>(\n client: TClient,\n): TestActions<TChain> => ({\n dropTransaction: (args) => dropTransaction(client, args),\n getAutomine: () => getAutomine(client),\n getTxPoolContent: () => getTxpoolContent(client),\n getTxPoolStatus: () => getTxpoolStatus(client),\n impersonateAccount: (args) => impersonateAccount(client, args),\n increaseTime: (args) => increaseTime(client, args),\n inspectTxpool: () => inspectTxpool(client),\n mine: (args) => mine(client, args),\n removeBlockTimestampInterval: () => removeBlockTimestampInterval(client),\n reset: (args) => reset(client, args),\n revert: (args) => revert(client, args),\n sendUnsignedTransaction: (args) => sendUnsignedTransaction(client, args),\n setAutomine: (args) => setAutomine(client, args),\n setBalance: (args) => setBalance(client, args),\n setBlockGasLimit: (args) => setBlockGasLimit(client, args),\n setBlockTimestampInterval: (args) => setBlockTimestampInterval(client, args),\n setCode: (args) => setCode(client, args),\n setCoinbase: (args) => setCoinbase(client, args),\n setIntervalMining: (args) => setIntervalMining(client, args),\n setLoggingEnabled: (args) => setLoggingEnabled(client, args),\n setMinGasPrice: (args) => setMinGasPrice(client, args),\n setNextBlockBaseFeePerGas: (args) => setNextBlockBaseFeePerGas(client, args),\n setNextBlockTimestamp: (args) => setNextBlockTimestamp(client, args),\n setNonce: (args) => setNonce(client, args),\n setRpcUrl: (args) => setRpcUrl(client, args),\n setStorageAt: (args) => setStorageAt(client, args),\n snapshot: () => snapshot(client),\n stopImpersonatingAccount: (args) => stopImpersonatingAccount(client, args),\n})\n","import { Abi } from 'abitype'\nimport {\n AddChainArgs,\n DeployContractArgs,\n DeployContractResponse,\n GetAccountsResponse,\n GetPermissionsResponse,\n RequestAccountsResponse,\n RequestPermissionsArgs,\n RequestPermissionsResponse,\n SendTransactionArgs,\n SendTransactionResponse,\n SignMessageArgs,\n SignMessageResponse,\n SwitchChainArgs,\n watchAsset,\n WatchAssetArgs,\n WatchAssetResponse,\n writeContract,\n WriteContractArgs,\n WriteContractResponse,\n} from '../../actions/wallet'\nimport {\n addChain,\n deployContract,\n getAccounts,\n getPermissions,\n requestAccounts,\n requestPermissions,\n sendTransaction,\n signMessage,\n switchChain,\n} from '../../actions/wallet'\nimport type { Chain } from '../../types'\nimport type { WalletClient } from '../createWalletClient'\n\nexport type WalletActions<TChain extends Chain = Chain> = {\n addChain: (args: AddChainArgs) => Promise<void>\n deployContract: <TAbi extends Abi | readonly unknown[]>(\n args: DeployContractArgs<TChain, TAbi>,\n ) => Promise<DeployContractResponse>\n getAccounts: () => Promise<GetAccountsResponse>\n getPermissions: () => Promise<GetPermissionsResponse>\n requestAccounts: () => Promise<RequestAccountsResponse>\n requestPermissions: (\n args: RequestPermissionsArgs,\n ) => Promise<RequestPermissionsResponse>\n sendTransaction: (\n args: SendTransactionArgs<TChain>,\n ) => Promise<SendTransactionResponse>\n signMessage: (args: SignMessageArgs) => Promise<SignMessageResponse>\n switchChain: (args: SwitchChainArgs) => Promise<void>\n watchAsset: (args: WatchAssetArgs) => Promise<WatchAssetResponse>\n writeContract: <\n TAbi extends Abi | readonly unknown[],\n TFunctionName extends string,\n >(\n args: WriteContractArgs<TChain, TAbi, TFunctionName>,\n ) => Promise<WriteContractResponse>\n}\n\nexport const walletActions = <\n TChain extends Chain,\n TClient extends WalletClient<any, any>,\n>(\n client: TClient,\n): WalletActions<TChain> => ({\n addChain: (args) => addChain(client, args),\n deployContract: (args) => deployContract(client, args),\n getAccounts: () => getAccounts(client),\n getPermissions: () => getPermissions(client),\n requestAccounts: () => requestAccounts(client),\n requestPermissions: (args) => requestPermissions(client, args),\n sendTransaction: (args) => sendTransaction(client, args),\n signMessage: (args) => signMessage(client, args),\n switchChain: (args) => switchChain(client, args),\n watchAsset: (args) => watchAsset(client, args),\n writeContract: (args) => writeContract(client, args),\n})\n","import type { PublicRequests } from '../types/eip1193'\nimport type { Transport } from './transports/createTransport'\nimport type { Client, ClientConfig } from './createClient'\nimport { createClient } from './createClient'\nimport { publicActions, PublicActions } from './decorators'\nimport { Chain } from '../types'\n\nexport type PublicClientConfig<\n TTransport extends Transport = Transport,\n TChain extends Chain = Chain,\n> = Pick<\n ClientConfig<TTransport, TChain>,\n 'chain' | 'key' | 'name' | 'pollingInterval' | 'transport'\n>\n\nexport type PublicClient<\n TTransport extends Transport = Transport,\n TChain extends Chain = Chain,\n TIncludeActions extends boolean = true,\n> = Client<TTransport, TChain, PublicRequests> &\n (TIncludeActions extends true ? PublicActions<TChain> : {})\n\n/**\n * @description Creates a public client with a given transport.\n *\n * - Only has access to \"public\" EIP-1474 RPC methods (ie. `eth_blockNumber`, etc).\n *\n * @example\n * import { mainnet } from 'viem/chains'\n * import { createPublicClient, http } from 'viem/clients'\n * const client = createPublicClient({ transport: http('https://...') })\n */\nexport function createPublicClient<\n TTransport extends Transport,\n TChain extends Chain,\n>({\n chain,\n key = 'public',\n name = 'Public Client',\n transport,\n pollingInterval,\n}: PublicClientConfig<TTransport, TChain>): PublicClient<\n TTransport,\n TChain,\n true\n> {\n const client = createClient({\n chain,\n key,\n name,\n pollingInterval,\n transport,\n type: 'publicClient',\n })\n return {\n ...client,\n ...publicActions(client as PublicClient<any, any>),\n }\n}\n","import type { TestRequests } from '../types/eip1193'\nimport type { Transport } from './transports/createTransport'\nimport type { Client, ClientConfig } from './createClient'\nimport { createClient } from './createClient'\nimport { Chain } from '../types'\nimport { testActions, TestActions } from './decorators'\n\ntype TestClientModes = 'anvil' | 'hardhat'\n\nexport type TestClientConfig<\n TTransport extends Transport = Transport,\n TChain extends Chain = Chain,\n TMode extends TestClientModes = TestClientModes,\n> = {\n chain?: ClientConfig<TTransport, TChain>['chain']\n /** The key of the client. */\n key?: ClientConfig['key']\n /** Mode of the test client. Available: \"anvil\" | \"hardhat\" */\n mode: TMode\n /** The name of the client. */\n name?: ClientConfig['name']\n /** Frequency (in ms) for polling enabled actions & events. Defaults to 4_000 milliseconds. */\n pollingInterval?: ClientConfig['pollingInterval']\n transport: ClientConfig<TTransport, TChain>['transport']\n}\n\nexport type TestClient<\n TTransport extends Transport = Transport,\n TChain extends Chain = Chain,\n TMode extends TestClientModes = TestClientModes,\n TIncludeActions extends boolean = true,\n> = Client<TTransport, TChain, TestRequests<TMode>> & {\n mode: TMode\n} & (TIncludeActions extends true ? TestActions<TChain> : {})\n\n/**\n * @description Creates a test client with a given transport.\n *\n * - Only has access to \"test\" RPC methods (ie. `anvil_setBalance`,\n * `evm_mine`, etc).\n *\n * @example\n * import { createTestClient, http } from 'viem'\n * import { local } from 'viem/chains'\n * const client = createTestClient({ chain: local, mode: 'anvil', transport: http() })\n */\nexport function createTestClient<\n TTransport extends Transport,\n TChain extends Chain,\n TMode extends TestClientModes,\n>({\n chain,\n key = 'test',\n name = 'Test Client',\n mode,\n pollingInterval,\n transport,\n}: TestClientConfig<TTransport, TChain, TMode>): TestClient<\n TTransport,\n TChain,\n TMode,\n true\n> {\n const client = {\n ...createClient({\n chain,\n key,\n name,\n pollingInterval,\n transport,\n type: 'testClient',\n }),\n mode,\n }\n return {\n ...client,\n ...testActions(client as TestClient<any, any, any>),\n }\n}\n","import type { SignableRequests, WalletRequests } from '../types/eip1193'\nimport type { Transport } from './transports/createTransport'\nimport type { Client, ClientConfig } from './createClient'\nimport { createClient } from './createClient'\nimport { Chain } from '../types'\nimport { WalletActions, walletActions } from './decorators'\nimport { wagmiContractConfig } from '../_test'\n\nexport type WalletClientConfig<\n TTransport extends Transport = Transport,\n TChain extends Chain = Chain,\n> = {\n chain?: ClientConfig<TTransport, TChain>['chain']\n /** The key of the Wallet Client. */\n key?: ClientConfig['key']\n /** The name of the Wallet Client. */\n name?: ClientConfig['name']\n /** Frequency (in ms) for polling enabled actions & events. Defaults to 4_000 milliseconds. */\n pollingInterval?: ClientConfig['pollingInterval']\n transport: ClientConfig<TTransport, TChain>['transport']\n}\n\nexport type WalletClient<\n TTransport extends Transport = Transport,\n TChain extends Chain = Chain,\n TIncludeActions extends boolean = true,\n> = Client<TTransport, TChain, SignableRequests & WalletRequests> &\n (TIncludeActions extends true ? WalletActions<TChain> : {})\n\n/**\n * @description Creates a wallet client with a given transport.\n *\n * - Only has access to \"wallet\" & \"signable\" EIP-1474 RPC methods\n * (ie. `eth_sendTransaction`, `eth_requestAccounts`, etc).\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * const client = createWalletClient(\n * custom(window.ethereum)\n * )\n */\nexport function createWalletClient<\n TTransport extends Transport,\n TChain extends Chain,\n>({\n transport,\n key = 'wallet',\n name = 'Wallet Client',\n pollingInterval,\n}: WalletClientConfig<TTransport, TChain>): WalletClient<\n TTransport,\n TChain,\n true\n> {\n const client = createClient({\n key,\n name,\n pollingInterval,\n transport: () => transport({ retryCount: 0 }),\n type: 'walletClient',\n })\n return {\n ...client,\n ...(walletActions(client as any) as any),\n }\n}\n"],"mappings":"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","names":["size"]}
@@ -1,5 +1,5 @@
1
1
  import { A as Address, B as ByteArray, H as Hex, C as Chain, a as Hash, g as BlockTag, a5 as EventDefinition } from './chain-00b37e4e.js';
2
- import { C as CallArgs, E as EstimateGasArgs } from './createPublicClient-99be385b.js';
2
+ import { C as CallArgs, E as EstimateGasArgs } from './createPublicClient-2187596f.js';
3
3
  import { S as SendTransactionArgs } from './wallet-cf5c8351.js';
4
4
  import { Abi } from 'abitype';
5
5
  import { b as DecodeErrorResultResponse } from './getAbiItem-6d4f64d2.js';
@@ -410,9 +410,9 @@ declare function getContractError(err: BaseError, { abi, address, args, docsPath
410
410
  sender?: Address;
411
411
  }): ContractFunctionExecutionError;
412
412
 
413
- declare const getEventSignature: (event: EventDefinition) => `0x${string}`;
413
+ declare const getEventSelector: (event: EventDefinition) => `0x${string}`;
414
414
 
415
- declare const getFunctionSignature: (fn: string) => `0x${string}`;
415
+ declare const getFunctionSelector: (fn: string) => `0x${string}`;
416
416
 
417
417
  type To = 'hex' | 'bytes';
418
418
  type Keccak256Hash<TTo extends To> = (TTo extends 'bytes' ? ByteArray : never) | (TTo extends 'hex' ? Hex : never);
@@ -450,10 +450,12 @@ type RpcResponse<TResult = any, TError = any> = {
450
450
  jsonrpc: `${number}`;
451
451
  id: number;
452
452
  } & (SuccessResult<TResult> | ErrorResult<TError> | Subscription<TResult, TError>);
453
- declare function http(url: string, { body, timeout, }: {
453
+ type HttpOptions = {
454
454
  body: RpcRequest;
455
+ fetchOptions?: Omit<RequestInit, 'body'>;
455
456
  timeout?: number;
456
- }): Promise<RpcResponse<any, any>>;
457
+ };
458
+ declare function http(url: string, { body, fetchOptions, timeout }: HttpOptions): Promise<RpcResponse<any, any>>;
457
459
  type Id = string | number;
458
460
  type CallbackFn = (message: any) => void;
459
461
  type CallbackMap = Map<Id, CallbackFn>;
@@ -461,6 +463,7 @@ type Socket = WebSocket & {
461
463
  requests: CallbackMap;
462
464
  subscriptions: CallbackMap;
463
465
  };
466
+ declare function getSocket(url_: string): Promise<Socket>;
464
467
  declare function webSocket(socket: Socket, { body, onData, onError, }: {
465
468
  body: RpcRequest;
466
469
  onData?: (message: RpcResponse) => void;
@@ -476,7 +479,7 @@ declare const rpc: {
476
479
  webSocketAsync: typeof webSocketAsync;
477
480
  };
478
481
 
479
- declare function stringify(value: unknown): string;
482
+ declare const stringify: typeof JSON.stringify;
480
483
 
481
484
  declare const etherUnits: {
482
485
  gwei: number;
@@ -503,4 +506,4 @@ declare function parseEther(ether: `${number}`, unit?: 'wei' | 'gwei'): bigint;
503
506
 
504
507
  declare function parseGwei(ether: `${number}`, unit?: 'wei'): bigint;
505
508
 
506
- export { hexToNumber as $, formatGwei as A, BaseError as B, CallExecutionError as C, formatUnit as D, EstimateGasExecutionError as E, FeeCapTooHighError as F, GetContractAddressOptions as G, fromBytes as H, InsufficientFundsError as I, fromHex as J, fromRlp as K, getAddress as L, getContractAddress as M, NonceMaxValueError as N, getContractError as O, getCreate2Address as P, getCreateAddress as Q, RpcResponse as R, getEventSignature as S, TipAboveFeeCapError as T, UnknownNodeError as U, getFunctionSignature as V, WaitForTransactionReceiptTimeoutError as W, gweiUnits as X, hexToBigInt as Y, hexToBool as Z, hexToBytes as _, ContractFunctionExecutionError as a, hexToString as a0, isAddress as a1, isAddressEqual as a2, isBytes as a3, isHex as a4, keccak256 as a5, numberToBytes as a6, numberToHex as a7, pad as a8, padBytes as a9, padHex as aa, parseEther as ab, parseGwei as ac, parseUnit as ad, size as ae, slice as af, sliceBytes as ag, sliceHex as ah, stringToBytes as ai, stringToHex as aj, stringify as ak, toBytes as al, toHex as am, toRlp as an, trim as ao, weiUnits as ap, rpc as aq, ContractFunctionRevertedError as b, ContractFunctionZeroDataError as c, ExecutionRevertedError as d, FeeCapTooLowError as e, IntrinsicGasTooHighError as f, IntrinsicGasTooLowError as g, NonceTooHighError as h, NonceTooLowError as i, RawContractError as j, TransactionExecutionError as k, TransactionTypeNotSupportedError as l, TransactionNotFoundError as m, TransactionReceiptNotFoundError as n, GetCreate2AddressOptions as o, GetCreateAddressOptions as p, ToRlpResponse as q, boolToBytes as r, boolToHex as s, bytesToBigint as t, bytesToBool as u, bytesToHex as v, bytesToNumber as w, bytesToString as x, etherUnits as y, formatEther as z };
509
+ export { hexToBytes as $, formatGwei as A, BaseError as B, CallExecutionError as C, formatUnit as D, EstimateGasExecutionError as E, FeeCapTooHighError as F, GetContractAddressOptions as G, HttpOptions as H, InsufficientFundsError as I, fromBytes as J, fromHex as K, fromRlp as L, getAddress as M, NonceMaxValueError as N, getContractAddress as O, getContractError as P, getCreate2Address as Q, RpcResponse as R, getCreateAddress as S, TipAboveFeeCapError as T, UnknownNodeError as U, getEventSelector as V, WaitForTransactionReceiptTimeoutError as W, getFunctionSelector as X, gweiUnits as Y, hexToBigInt as Z, hexToBool as _, ContractFunctionExecutionError as a, hexToNumber as a0, hexToString as a1, isAddress as a2, isAddressEqual as a3, isBytes as a4, isHex as a5, keccak256 as a6, numberToBytes as a7, numberToHex as a8, pad as a9, padBytes as aa, padHex as ab, parseEther as ac, parseGwei as ad, parseUnit as ae, size as af, slice as ag, sliceBytes as ah, sliceHex as ai, stringToBytes as aj, stringToHex as ak, stringify as al, toBytes as am, toHex as an, toRlp as ao, trim as ap, weiUnits as aq, Socket as ar, getSocket as as, rpc as at, ContractFunctionRevertedError as b, ContractFunctionZeroDataError as c, ExecutionRevertedError as d, FeeCapTooLowError as e, IntrinsicGasTooHighError as f, IntrinsicGasTooLowError as g, NonceTooHighError as h, NonceTooLowError as i, RawContractError as j, TransactionExecutionError as k, TransactionTypeNotSupportedError as l, TransactionNotFoundError as m, TransactionReceiptNotFoundError as n, GetCreate2AddressOptions as o, GetCreateAddressOptions as p, ToRlpResponse as q, boolToBytes as r, boolToHex as s, bytesToBigint as t, bytesToBool as u, bytesToHex as v, bytesToNumber as w, bytesToString as x, etherUnits as y, formatEther as z };
package/dist/public.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { P as PublicClient } from './createPublicClient-99be385b.js';
2
- export { C as CallArgs, ac as CallResponse, ad as CreateBlockFilterResponse, ae as CreateEventFilterArgs, af as CreateEventFilterResponse, ag as CreatePendingTransactionFilterResponse, E as EstimateGasArgs, ah as EstimateGasResponse, ai as GetBalanceArgs, aj as GetBalanceResponse, ak as GetBlockArgs, al as GetBlockNumberArgs, am as GetBlockNumberResponse, an as GetBlockResponse, ao as GetBlockTransactionCountArgs, ap as GetBlockTransactionCountResponse, G as GetBytecodeArgs, k as GetBytecodeResponse, aq as GetFeeHistoryArgs, ar as GetFeeHistoryResponse, as as GetFilterChangesArgs, at as GetFilterChangesResponse, au as GetFilterLogsArgs, av as GetFilterLogsResponse, aw as GetGasPriceResponse, ax as GetTransactionArgs, ay as GetTransactionConfirmationsArgs, az as GetTransactionConfirmationsResponse, aA as GetTransactionReceiptArgs, aB as GetTransactionReceiptResponse, aC as GetTransactionResponse, aD as OnBlock, aE as OnBlockNumber, aF as OnBlockNumberResponse, aG as OnBlockResponse, aH as OnTransactions, aI as OnTransactionsResponse, aJ as ReplacementReason, aK as ReplacementResponse, aL as UninstallFilterArgs, aM as UninstallFilterResponse, aN as WaitForTransactionReceiptArgs, aO as WaitForTransactionReceiptResponse, aP as WatchBlockNumberArgs, aQ as WatchBlocksArgs, aR as WatchPendingTransactionsArgs, I as call, J as createBlockFilter, K as createEventFilter, L as createPendingTransactionFilter, N as estimateGas, Q as getBalance, U as getBlock, V as getBlockNumber, X as getBlockNumberCache, Y as getBlockTransactionCount, t as getBytecode, Z as getChainId, _ as getFeeHistory, $ as getFilterChanges, a0 as getFilterLogs, a2 as getGasPrice, a1 as getLogs, a3 as getTransaction, a4 as getTransactionConfirmations, a5 as getTransactionReceipt, a6 as uninstallFilter, a7 as waitForTransactionReceipt, a8 as watchBlockNumber, a9 as watchBlocks, aa as watchEvent, ab as watchPendingTransactions } from './createPublicClient-99be385b.js';
1
+ import { P as PublicClient } from './createPublicClient-2187596f.js';
2
+ export { C as CallArgs, ac as CallResponse, ad as CreateBlockFilterResponse, ae as CreateEventFilterArgs, af as CreateEventFilterResponse, ag as CreatePendingTransactionFilterResponse, E as EstimateGasArgs, ah as EstimateGasResponse, ai as GetBalanceArgs, aj as GetBalanceResponse, ak as GetBlockArgs, al as GetBlockNumberArgs, am as GetBlockNumberResponse, an as GetBlockResponse, ao as GetBlockTransactionCountArgs, ap as GetBlockTransactionCountResponse, G as GetBytecodeArgs, k as GetBytecodeResponse, aq as GetFeeHistoryArgs, ar as GetFeeHistoryResponse, as as GetFilterChangesArgs, at as GetFilterChangesResponse, au as GetFilterLogsArgs, av as GetFilterLogsResponse, aw as GetGasPriceResponse, ax as GetTransactionArgs, ay as GetTransactionConfirmationsArgs, az as GetTransactionConfirmationsResponse, aA as GetTransactionReceiptArgs, aB as GetTransactionReceiptResponse, aC as GetTransactionResponse, aD as OnBlock, aE as OnBlockNumber, aF as OnBlockNumberResponse, aG as OnBlockResponse, aH as OnTransactions, aI as OnTransactionsResponse, aJ as ReplacementReason, aK as ReplacementResponse, aL as UninstallFilterArgs, aM as UninstallFilterResponse, aN as WaitForTransactionReceiptArgs, aO as WaitForTransactionReceiptResponse, aP as WatchBlockNumberArgs, aQ as WatchBlocksArgs, aR as WatchPendingTransactionsArgs, I as call, J as createBlockFilter, K as createEventFilter, L as createPendingTransactionFilter, N as estimateGas, Q as getBalance, U as getBlock, V as getBlockNumber, X as getBlockNumberCache, Y as getBlockTransactionCount, t as getBytecode, Z as getChainId, _ as getFeeHistory, $ as getFilterChanges, a0 as getFilterLogs, a2 as getGasPrice, a1 as getLogs, a3 as getTransaction, a4 as getTransactionConfirmations, a5 as getTransactionReceipt, a6 as uninstallFilter, a7 as waitForTransactionReceipt, a8 as watchBlockNumber, a9 as watchBlocks, aa as watchEvent, ab as watchPendingTransactions } from './createPublicClient-2187596f.js';
3
3
  import { A as Address, g as BlockTag } from './chain-00b37e4e.js';
4
4
  import './eip1193-fcdeee04.js';
5
5
  import './createClient-5258d590.js';
package/dist/public.js CHANGED
@@ -26,8 +26,8 @@
26
26
 
27
27
 
28
28
 
29
- var _chunkZX4U6QKQjs = require('./chunk-ZX4U6QKQ.js');
30
- require('./chunk-EAD66IDC.js');
29
+ var _chunk4TDJALZ6js = require('./chunk-4TDJALZ6.js');
30
+ require('./chunk-DEF2SWG2.js');
31
31
 
32
32
 
33
33
 
@@ -56,5 +56,5 @@ require('./chunk-EAD66IDC.js');
56
56
 
57
57
 
58
58
 
59
- exports.call = _chunkZX4U6QKQjs.call; exports.createBlockFilter = _chunkZX4U6QKQjs.createBlockFilter; exports.createEventFilter = _chunkZX4U6QKQjs.createEventFilter; exports.createPendingTransactionFilter = _chunkZX4U6QKQjs.createPendingTransactionFilter; exports.estimateGas = _chunkZX4U6QKQjs.estimateGas; exports.getBalance = _chunkZX4U6QKQjs.getBalance; exports.getBlock = _chunkZX4U6QKQjs.getBlock; exports.getBlockNumber = _chunkZX4U6QKQjs.getBlockNumber; exports.getBlockNumberCache = _chunkZX4U6QKQjs.getBlockNumberCache; exports.getBlockTransactionCount = _chunkZX4U6QKQjs.getBlockTransactionCount; exports.getBytecode = _chunkZX4U6QKQjs.getBytecode; exports.getChainId = _chunkZX4U6QKQjs.getChainId; exports.getFeeHistory = _chunkZX4U6QKQjs.getFeeHistory; exports.getFilterChanges = _chunkZX4U6QKQjs.getFilterChanges; exports.getFilterLogs = _chunkZX4U6QKQjs.getFilterLogs; exports.getGasPrice = _chunkZX4U6QKQjs.getGasPrice; exports.getLogs = _chunkZX4U6QKQjs.getLogs; exports.getTransaction = _chunkZX4U6QKQjs.getTransaction; exports.getTransactionConfirmations = _chunkZX4U6QKQjs.getTransactionConfirmations; exports.getTransactionCount = _chunkZX4U6QKQjs.getTransactionCount; exports.getTransactionReceipt = _chunkZX4U6QKQjs.getTransactionReceipt; exports.uninstallFilter = _chunkZX4U6QKQjs.uninstallFilter; exports.waitForTransactionReceipt = _chunkZX4U6QKQjs.waitForTransactionReceipt; exports.watchBlockNumber = _chunkZX4U6QKQjs.watchBlockNumber; exports.watchBlocks = _chunkZX4U6QKQjs.watchBlocks; exports.watchEvent = _chunkZX4U6QKQjs.watchEvent; exports.watchPendingTransactions = _chunkZX4U6QKQjs.watchPendingTransactions;
59
+ exports.call = _chunk4TDJALZ6js.call; exports.createBlockFilter = _chunk4TDJALZ6js.createBlockFilter; exports.createEventFilter = _chunk4TDJALZ6js.createEventFilter; exports.createPendingTransactionFilter = _chunk4TDJALZ6js.createPendingTransactionFilter; exports.estimateGas = _chunk4TDJALZ6js.estimateGas; exports.getBalance = _chunk4TDJALZ6js.getBalance; exports.getBlock = _chunk4TDJALZ6js.getBlock; exports.getBlockNumber = _chunk4TDJALZ6js.getBlockNumber; exports.getBlockNumberCache = _chunk4TDJALZ6js.getBlockNumberCache; exports.getBlockTransactionCount = _chunk4TDJALZ6js.getBlockTransactionCount; exports.getBytecode = _chunk4TDJALZ6js.getBytecode; exports.getChainId = _chunk4TDJALZ6js.getChainId; exports.getFeeHistory = _chunk4TDJALZ6js.getFeeHistory; exports.getFilterChanges = _chunk4TDJALZ6js.getFilterChanges; exports.getFilterLogs = _chunk4TDJALZ6js.getFilterLogs; exports.getGasPrice = _chunk4TDJALZ6js.getGasPrice; exports.getLogs = _chunk4TDJALZ6js.getLogs; exports.getTransaction = _chunk4TDJALZ6js.getTransaction; exports.getTransactionConfirmations = _chunk4TDJALZ6js.getTransactionConfirmations; exports.getTransactionCount = _chunk4TDJALZ6js.getTransactionCount; exports.getTransactionReceipt = _chunk4TDJALZ6js.getTransactionReceipt; exports.uninstallFilter = _chunk4TDJALZ6js.uninstallFilter; exports.waitForTransactionReceipt = _chunk4TDJALZ6js.waitForTransactionReceipt; exports.watchBlockNumber = _chunk4TDJALZ6js.watchBlockNumber; exports.watchBlocks = _chunk4TDJALZ6js.watchBlocks; exports.watchEvent = _chunk4TDJALZ6js.watchEvent; exports.watchPendingTransactions = _chunk4TDJALZ6js.watchPendingTransactions;
60
60
  //# sourceMappingURL=public.js.map
package/dist/public.mjs CHANGED
@@ -26,8 +26,8 @@ import {
26
26
  watchBlocks,
27
27
  watchEvent,
28
28
  watchPendingTransactions
29
- } from "./chunk-EYRMK2SV.mjs";
30
- import "./chunk-25AJVKAT.mjs";
29
+ } from "./chunk-HJBIOX2W.mjs";
30
+ import "./chunk-P76FCR36.mjs";
31
31
  export {
32
32
  call,
33
33
  createBlockFilter,
package/dist/test.js CHANGED
@@ -27,8 +27,8 @@
27
27
 
28
28
 
29
29
 
30
- var _chunkBHMSFL4Wjs = require('./chunk-BHMSFL4W.js');
31
- require('./chunk-EAD66IDC.js');
30
+ var _chunkS3HZ74MNjs = require('./chunk-S3HZ74MN.js');
31
+ require('./chunk-DEF2SWG2.js');
32
32
 
33
33
 
34
34
 
@@ -58,5 +58,5 @@ require('./chunk-EAD66IDC.js');
58
58
 
59
59
 
60
60
 
61
- exports.dropTransaction = _chunkBHMSFL4Wjs.dropTransaction; exports.getAutomine = _chunkBHMSFL4Wjs.getAutomine; exports.getTxpoolContent = _chunkBHMSFL4Wjs.getTxpoolContent; exports.getTxpoolStatus = _chunkBHMSFL4Wjs.getTxpoolStatus; exports.impersonateAccount = _chunkBHMSFL4Wjs.impersonateAccount; exports.increaseTime = _chunkBHMSFL4Wjs.increaseTime; exports.inspectTxpool = _chunkBHMSFL4Wjs.inspectTxpool; exports.mine = _chunkBHMSFL4Wjs.mine; exports.removeBlockTimestampInterval = _chunkBHMSFL4Wjs.removeBlockTimestampInterval; exports.reset = _chunkBHMSFL4Wjs.reset; exports.revert = _chunkBHMSFL4Wjs.revert; exports.sendUnsignedTransaction = _chunkBHMSFL4Wjs.sendUnsignedTransaction; exports.setAutomine = _chunkBHMSFL4Wjs.setAutomine; exports.setBalance = _chunkBHMSFL4Wjs.setBalance; exports.setBlockGasLimit = _chunkBHMSFL4Wjs.setBlockGasLimit; exports.setBlockTimestampInterval = _chunkBHMSFL4Wjs.setBlockTimestampInterval; exports.setCode = _chunkBHMSFL4Wjs.setCode; exports.setCoinbase = _chunkBHMSFL4Wjs.setCoinbase; exports.setIntervalMining = _chunkBHMSFL4Wjs.setIntervalMining; exports.setLoggingEnabled = _chunkBHMSFL4Wjs.setLoggingEnabled; exports.setMinGasPrice = _chunkBHMSFL4Wjs.setMinGasPrice; exports.setNextBlockBaseFeePerGas = _chunkBHMSFL4Wjs.setNextBlockBaseFeePerGas; exports.setNextBlockTimestamp = _chunkBHMSFL4Wjs.setNextBlockTimestamp; exports.setNonce = _chunkBHMSFL4Wjs.setNonce; exports.setRpcUrl = _chunkBHMSFL4Wjs.setRpcUrl; exports.setStorageAt = _chunkBHMSFL4Wjs.setStorageAt; exports.snapshot = _chunkBHMSFL4Wjs.snapshot; exports.stopImpersonatingAccount = _chunkBHMSFL4Wjs.stopImpersonatingAccount;
61
+ exports.dropTransaction = _chunkS3HZ74MNjs.dropTransaction; exports.getAutomine = _chunkS3HZ74MNjs.getAutomine; exports.getTxpoolContent = _chunkS3HZ74MNjs.getTxpoolContent; exports.getTxpoolStatus = _chunkS3HZ74MNjs.getTxpoolStatus; exports.impersonateAccount = _chunkS3HZ74MNjs.impersonateAccount; exports.increaseTime = _chunkS3HZ74MNjs.increaseTime; exports.inspectTxpool = _chunkS3HZ74MNjs.inspectTxpool; exports.mine = _chunkS3HZ74MNjs.mine; exports.removeBlockTimestampInterval = _chunkS3HZ74MNjs.removeBlockTimestampInterval; exports.reset = _chunkS3HZ74MNjs.reset; exports.revert = _chunkS3HZ74MNjs.revert; exports.sendUnsignedTransaction = _chunkS3HZ74MNjs.sendUnsignedTransaction; exports.setAutomine = _chunkS3HZ74MNjs.setAutomine; exports.setBalance = _chunkS3HZ74MNjs.setBalance; exports.setBlockGasLimit = _chunkS3HZ74MNjs.setBlockGasLimit; exports.setBlockTimestampInterval = _chunkS3HZ74MNjs.setBlockTimestampInterval; exports.setCode = _chunkS3HZ74MNjs.setCode; exports.setCoinbase = _chunkS3HZ74MNjs.setCoinbase; exports.setIntervalMining = _chunkS3HZ74MNjs.setIntervalMining; exports.setLoggingEnabled = _chunkS3HZ74MNjs.setLoggingEnabled; exports.setMinGasPrice = _chunkS3HZ74MNjs.setMinGasPrice; exports.setNextBlockBaseFeePerGas = _chunkS3HZ74MNjs.setNextBlockBaseFeePerGas; exports.setNextBlockTimestamp = _chunkS3HZ74MNjs.setNextBlockTimestamp; exports.setNonce = _chunkS3HZ74MNjs.setNonce; exports.setRpcUrl = _chunkS3HZ74MNjs.setRpcUrl; exports.setStorageAt = _chunkS3HZ74MNjs.setStorageAt; exports.snapshot = _chunkS3HZ74MNjs.snapshot; exports.stopImpersonatingAccount = _chunkS3HZ74MNjs.stopImpersonatingAccount;
62
62
  //# sourceMappingURL=test.js.map
package/dist/test.mjs CHANGED
@@ -27,8 +27,8 @@ import {
27
27
  setStorageAt,
28
28
  snapshot,
29
29
  stopImpersonatingAccount
30
- } from "./chunk-AO7KQBK3.mjs";
31
- import "./chunk-25AJVKAT.mjs";
30
+ } from "./chunk-QPXAI2W5.mjs";
31
+ import "./chunk-P76FCR36.mjs";
32
32
  export {
33
33
  dropTransaction,
34
34
  getAutomine,
@@ -1,10 +1,10 @@
1
1
  export { D as DecodeAbiArgs, a as DecodeErrorResultArgs, b as DecodeErrorResultResponse, c as DecodeEventLogArgs, d as DecodeEventLogResponse, e as DecodeFunctionDataArgs, f as DecodeFunctionResultArgs, g as DecodeFunctionResultResponse, E as EncodeAbiArgs, h as EncodeDeployDataArgs, i as EncodeErrorResultArgs, j as EncodeEventTopicsArgs, k as EncodeFunctionDataArgs, l as EncodeFunctionResultArgs, G as GetAbiItemArgs, m as decodeAbi, n as decodeErrorResult, o as decodeEventLog, p as decodeFunctionData, q as decodeFunctionResult, r as encodeAbi, s as encodeDeployData, t as encodeErrorResult, u as encodeEventTopics, v as encodeFunctionData, w as encodeFunctionResult, x as getAbiItem } from '../getAbiItem-6d4f64d2.js';
2
2
  export { a as formatAbiItem, f as formatAbiItemWithArgs } from '../formatAbiItem-50cb39d8.js';
3
- import { B as BaseError, C as CallExecutionError, E as EstimateGasExecutionError, d as ExecutionRevertedError, F as FeeCapTooHighError, e as FeeCapTooLowError, h as NonceTooHighError, i as NonceTooLowError, N as NonceMaxValueError, I as InsufficientFundsError, f as IntrinsicGasTooHighError, g as IntrinsicGasTooLowError, l as TransactionTypeNotSupportedError, T as TipAboveFeeCapError, U as UnknownNodeError, k as TransactionExecutionError } from '../parseGwei-e299cf13.js';
4
- export { G as GetContractAddressOptions, o as GetCreate2AddressOptions, p as GetCreateAddressOptions, q as ToRlpResponse, r as boolToBytes, s as boolToHex, t as bytesToBigint, u as bytesToBool, v as bytesToHex, w as bytesToNumber, x as bytesToString, y as etherUnits, z as formatEther, A as formatGwei, D as formatUnit, H as fromBytes, J as fromHex, K as fromRlp, L as getAddress, M as getContractAddress, O as getContractError, P as getCreate2Address, Q as getCreateAddress, S as getEventSignature, V as getFunctionSignature, X as gweiUnits, Y as hexToBigInt, Z as hexToBool, _ as hexToBytes, $ as hexToNumber, a0 as hexToString, a1 as isAddress, a2 as isAddressEqual, a3 as isBytes, a4 as isHex, a5 as keccak256, a6 as numberToBytes, a7 as numberToHex, a8 as pad, a9 as padBytes, aa as padHex, ab as parseEther, ac as parseGwei, ad as parseUnit, aq as rpc, ae as size, af as slice, ag as sliceBytes, ah as sliceHex, ai as stringToBytes, aj as stringToHex, ak as stringify, al as toBytes, am as toHex, an as toRlp, ao as trim, ap as weiUnits } from '../parseGwei-e299cf13.js';
3
+ import { B as BaseError, C as CallExecutionError, E as EstimateGasExecutionError, d as ExecutionRevertedError, F as FeeCapTooHighError, e as FeeCapTooLowError, h as NonceTooHighError, i as NonceTooLowError, N as NonceMaxValueError, I as InsufficientFundsError, f as IntrinsicGasTooHighError, g as IntrinsicGasTooLowError, l as TransactionTypeNotSupportedError, T as TipAboveFeeCapError, U as UnknownNodeError, k as TransactionExecutionError } from '../parseGwei-308eada9.js';
4
+ export { G as GetContractAddressOptions, o as GetCreate2AddressOptions, p as GetCreateAddressOptions, H as HttpOptions, R as RpcResponse, ar as Socket, q as ToRlpResponse, r as boolToBytes, s as boolToHex, t as bytesToBigint, u as bytesToBool, v as bytesToHex, w as bytesToNumber, x as bytesToString, y as etherUnits, z as formatEther, A as formatGwei, D as formatUnit, J as fromBytes, K as fromHex, L as fromRlp, M as getAddress, O as getContractAddress, P as getContractError, Q as getCreate2Address, S as getCreateAddress, V as getEventSelector, X as getFunctionSelector, as as getSocket, Y as gweiUnits, Z as hexToBigInt, _ as hexToBool, $ as hexToBytes, a0 as hexToNumber, a1 as hexToString, a2 as isAddress, a3 as isAddressEqual, a4 as isBytes, a5 as isHex, a6 as keccak256, a7 as numberToBytes, a8 as numberToHex, a9 as pad, aa as padBytes, ab as padHex, ac as parseEther, ad as parseGwei, ae as parseUnit, at as rpc, af as size, ag as slice, ah as sliceBytes, ai as sliceHex, aj as stringToBytes, ak as stringToHex, al as stringify, am as toBytes, an as toHex, ao as toRlp, ap as trim, aq as weiUnits } from '../parseGwei-308eada9.js';
5
5
  export { d as defineChain } from '../chain-38182d92.js';
6
- import { C as CallArgs, E as EstimateGasArgs } from '../createPublicClient-99be385b.js';
7
- export { B as BlockFormatter, F as FormattedBlock, b as FormattedTransactionReceipt, T as TransactionReceiptFormatter, d as defineBlock, e as defineTransactionReceipt, f as formatBlock } from '../createPublicClient-99be385b.js';
6
+ import { C as CallArgs, E as EstimateGasArgs } from '../createPublicClient-2187596f.js';
7
+ export { B as BlockFormatter, F as FormattedBlock, b as FormattedTransactionReceipt, T as TransactionReceiptFormatter, d as defineBlock, e as defineTransactionReceipt, f as formatBlock } from '../createPublicClient-2187596f.js';
8
8
  import { V as Formatter, C as Chain } from '../chain-00b37e4e.js';
9
9
  export { J as ExtractFormatter, K as Formatted, M as FormattedTransaction, N as TransactionFormatter, ad as defineFormatter, O as defineTransaction, ae as format, P as formatTransaction, Q as transactionType } from '../chain-00b37e4e.js';
10
10
  import { S as SendTransactionArgs } from '../wallet-cf5c8351.js';
@@ -89,8 +89,8 @@
89
89
 
90
90
 
91
91
 
92
- var _chunkEAD66IDCjs = require('../chunk-EAD66IDC.js');
93
92
 
93
+ var _chunkDEF2SWG2js = require('../chunk-DEF2SWG2.js');
94
94
 
95
95
 
96
96
 
@@ -181,5 +181,7 @@ var _chunkEAD66IDCjs = require('../chunk-EAD66IDC.js');
181
181
 
182
182
 
183
183
 
184
- exports.assertRequest = _chunkEAD66IDCjs.assertRequest; exports.boolToBytes = _chunkEAD66IDCjs.boolToBytes; exports.boolToHex = _chunkEAD66IDCjs.boolToHex; exports.buildRequest = _chunkEAD66IDCjs.buildRequest; exports.bytesToBigint = _chunkEAD66IDCjs.bytesToBigint; exports.bytesToBool = _chunkEAD66IDCjs.bytesToBool; exports.bytesToHex = _chunkEAD66IDCjs.bytesToHex; exports.bytesToNumber = _chunkEAD66IDCjs.bytesToNumber; exports.bytesToString = _chunkEAD66IDCjs.bytesToString; exports.containsNodeError = _chunkEAD66IDCjs.containsNodeError; exports.decodeAbi = _chunkEAD66IDCjs.decodeAbi; exports.decodeErrorResult = _chunkEAD66IDCjs.decodeErrorResult; exports.decodeEventLog = _chunkEAD66IDCjs.decodeEventLog; exports.decodeFunctionData = _chunkEAD66IDCjs.decodeFunctionData; exports.decodeFunctionResult = _chunkEAD66IDCjs.decodeFunctionResult; exports.defineBlock = _chunkEAD66IDCjs.defineBlock; exports.defineChain = _chunkEAD66IDCjs.defineChain; exports.defineFormatter = _chunkEAD66IDCjs.defineFormatter; exports.defineTransaction = _chunkEAD66IDCjs.defineTransaction; exports.defineTransactionReceipt = _chunkEAD66IDCjs.defineTransactionReceipt; exports.defineTransactionRequest = _chunkEAD66IDCjs.defineTransactionRequest; exports.encodeAbi = _chunkEAD66IDCjs.encodeAbi; exports.encodeDeployData = _chunkEAD66IDCjs.encodeDeployData; exports.encodeErrorResult = _chunkEAD66IDCjs.encodeErrorResult; exports.encodeEventTopics = _chunkEAD66IDCjs.encodeEventTopics; exports.encodeFunctionData = _chunkEAD66IDCjs.encodeFunctionData; exports.encodeFunctionResult = _chunkEAD66IDCjs.encodeFunctionResult; exports.etherUnits = _chunkEAD66IDCjs.etherUnits; exports.extract = _chunkEAD66IDCjs.extract; exports.extractFunctionName = _chunkEAD66IDCjs.extractFunctionName; exports.extractFunctionParams = _chunkEAD66IDCjs.extractFunctionParams; exports.extractFunctionParts = _chunkEAD66IDCjs.extractFunctionParts; exports.extractFunctionType = _chunkEAD66IDCjs.extractFunctionType; exports.format = _chunkEAD66IDCjs.format; exports.formatAbiItem = _chunkEAD66IDCjs.formatAbiItem; exports.formatAbiItemWithArgs = _chunkEAD66IDCjs.formatAbiItemWithArgs; exports.formatBlock = _chunkEAD66IDCjs.formatBlock; exports.formatEther = _chunkEAD66IDCjs.formatEther; exports.formatGwei = _chunkEAD66IDCjs.formatGwei; exports.formatTransaction = _chunkEAD66IDCjs.formatTransaction; exports.formatTransactionRequest = _chunkEAD66IDCjs.formatTransactionRequest; exports.formatUnit = _chunkEAD66IDCjs.formatUnit; exports.fromBytes = _chunkEAD66IDCjs.fromBytes; exports.fromHex = _chunkEAD66IDCjs.fromHex; exports.fromRlp = _chunkEAD66IDCjs.fromRlp; exports.getAbiItem = _chunkEAD66IDCjs.getAbiItem; exports.getAddress = _chunkEAD66IDCjs.getAddress; exports.getCallError = _chunkEAD66IDCjs.getCallError; exports.getContractAddress = _chunkEAD66IDCjs.getContractAddress; exports.getContractError = _chunkEAD66IDCjs.getContractError; exports.getCreate2Address = _chunkEAD66IDCjs.getCreate2Address; exports.getCreateAddress = _chunkEAD66IDCjs.getCreateAddress; exports.getEstimateGasError = _chunkEAD66IDCjs.getEstimateGasError; exports.getEventSignature = _chunkEAD66IDCjs.getEventSignature; exports.getFunctionSignature = _chunkEAD66IDCjs.getFunctionSignature; exports.getNodeError = _chunkEAD66IDCjs.getNodeError; exports.getTransactionError = _chunkEAD66IDCjs.getTransactionError; exports.gweiUnits = _chunkEAD66IDCjs.gweiUnits; exports.hexToBigInt = _chunkEAD66IDCjs.hexToBigInt; exports.hexToBool = _chunkEAD66IDCjs.hexToBool; exports.hexToBytes = _chunkEAD66IDCjs.hexToBytes; exports.hexToNumber = _chunkEAD66IDCjs.hexToNumber; exports.hexToString = _chunkEAD66IDCjs.hexToString; exports.isAddress = _chunkEAD66IDCjs.isAddress; exports.isAddressEqual = _chunkEAD66IDCjs.isAddressEqual; exports.isBytes = _chunkEAD66IDCjs.isBytes; exports.isHex = _chunkEAD66IDCjs.isHex; exports.keccak256 = _chunkEAD66IDCjs.keccak256; exports.numberToBytes = _chunkEAD66IDCjs.numberToBytes; exports.numberToHex = _chunkEAD66IDCjs.numberToHex; exports.pad = _chunkEAD66IDCjs.pad; exports.padBytes = _chunkEAD66IDCjs.padBytes; exports.padHex = _chunkEAD66IDCjs.padHex; exports.parseEther = _chunkEAD66IDCjs.parseEther; exports.parseGwei = _chunkEAD66IDCjs.parseGwei; exports.parseUnit = _chunkEAD66IDCjs.parseUnit; exports.rpc = _chunkEAD66IDCjs.rpc; exports.size = _chunkEAD66IDCjs.size; exports.slice = _chunkEAD66IDCjs.slice; exports.sliceBytes = _chunkEAD66IDCjs.sliceBytes; exports.sliceHex = _chunkEAD66IDCjs.sliceHex; exports.stringToBytes = _chunkEAD66IDCjs.stringToBytes; exports.stringToHex = _chunkEAD66IDCjs.stringToHex; exports.stringify = _chunkEAD66IDCjs.stringify; exports.toBytes = _chunkEAD66IDCjs.toBytes; exports.toHex = _chunkEAD66IDCjs.toHex; exports.toRlp = _chunkEAD66IDCjs.toRlp; exports.transactionType = _chunkEAD66IDCjs.transactionType; exports.trim = _chunkEAD66IDCjs.trim; exports.weiUnits = _chunkEAD66IDCjs.weiUnits;
184
+
185
+
186
+ exports.assertRequest = _chunkDEF2SWG2js.assertRequest; exports.boolToBytes = _chunkDEF2SWG2js.boolToBytes; exports.boolToHex = _chunkDEF2SWG2js.boolToHex; exports.buildRequest = _chunkDEF2SWG2js.buildRequest; exports.bytesToBigint = _chunkDEF2SWG2js.bytesToBigint; exports.bytesToBool = _chunkDEF2SWG2js.bytesToBool; exports.bytesToHex = _chunkDEF2SWG2js.bytesToHex; exports.bytesToNumber = _chunkDEF2SWG2js.bytesToNumber; exports.bytesToString = _chunkDEF2SWG2js.bytesToString; exports.containsNodeError = _chunkDEF2SWG2js.containsNodeError; exports.decodeAbi = _chunkDEF2SWG2js.decodeAbi; exports.decodeErrorResult = _chunkDEF2SWG2js.decodeErrorResult; exports.decodeEventLog = _chunkDEF2SWG2js.decodeEventLog; exports.decodeFunctionData = _chunkDEF2SWG2js.decodeFunctionData; exports.decodeFunctionResult = _chunkDEF2SWG2js.decodeFunctionResult; exports.defineBlock = _chunkDEF2SWG2js.defineBlock; exports.defineChain = _chunkDEF2SWG2js.defineChain; exports.defineFormatter = _chunkDEF2SWG2js.defineFormatter; exports.defineTransaction = _chunkDEF2SWG2js.defineTransaction; exports.defineTransactionReceipt = _chunkDEF2SWG2js.defineTransactionReceipt; exports.defineTransactionRequest = _chunkDEF2SWG2js.defineTransactionRequest; exports.encodeAbi = _chunkDEF2SWG2js.encodeAbi; exports.encodeDeployData = _chunkDEF2SWG2js.encodeDeployData; exports.encodeErrorResult = _chunkDEF2SWG2js.encodeErrorResult; exports.encodeEventTopics = _chunkDEF2SWG2js.encodeEventTopics; exports.encodeFunctionData = _chunkDEF2SWG2js.encodeFunctionData; exports.encodeFunctionResult = _chunkDEF2SWG2js.encodeFunctionResult; exports.etherUnits = _chunkDEF2SWG2js.etherUnits; exports.extract = _chunkDEF2SWG2js.extract; exports.extractFunctionName = _chunkDEF2SWG2js.extractFunctionName; exports.extractFunctionParams = _chunkDEF2SWG2js.extractFunctionParams; exports.extractFunctionParts = _chunkDEF2SWG2js.extractFunctionParts; exports.extractFunctionType = _chunkDEF2SWG2js.extractFunctionType; exports.format = _chunkDEF2SWG2js.format; exports.formatAbiItem = _chunkDEF2SWG2js.formatAbiItem; exports.formatAbiItemWithArgs = _chunkDEF2SWG2js.formatAbiItemWithArgs; exports.formatBlock = _chunkDEF2SWG2js.formatBlock; exports.formatEther = _chunkDEF2SWG2js.formatEther; exports.formatGwei = _chunkDEF2SWG2js.formatGwei; exports.formatTransaction = _chunkDEF2SWG2js.formatTransaction; exports.formatTransactionRequest = _chunkDEF2SWG2js.formatTransactionRequest; exports.formatUnit = _chunkDEF2SWG2js.formatUnit; exports.fromBytes = _chunkDEF2SWG2js.fromBytes; exports.fromHex = _chunkDEF2SWG2js.fromHex; exports.fromRlp = _chunkDEF2SWG2js.fromRlp; exports.getAbiItem = _chunkDEF2SWG2js.getAbiItem; exports.getAddress = _chunkDEF2SWG2js.getAddress; exports.getCallError = _chunkDEF2SWG2js.getCallError; exports.getContractAddress = _chunkDEF2SWG2js.getContractAddress; exports.getContractError = _chunkDEF2SWG2js.getContractError; exports.getCreate2Address = _chunkDEF2SWG2js.getCreate2Address; exports.getCreateAddress = _chunkDEF2SWG2js.getCreateAddress; exports.getEstimateGasError = _chunkDEF2SWG2js.getEstimateGasError; exports.getEventSelector = _chunkDEF2SWG2js.getEventSelector; exports.getFunctionSelector = _chunkDEF2SWG2js.getFunctionSelector; exports.getNodeError = _chunkDEF2SWG2js.getNodeError; exports.getSocket = _chunkDEF2SWG2js.getSocket; exports.getTransactionError = _chunkDEF2SWG2js.getTransactionError; exports.gweiUnits = _chunkDEF2SWG2js.gweiUnits; exports.hexToBigInt = _chunkDEF2SWG2js.hexToBigInt; exports.hexToBool = _chunkDEF2SWG2js.hexToBool; exports.hexToBytes = _chunkDEF2SWG2js.hexToBytes; exports.hexToNumber = _chunkDEF2SWG2js.hexToNumber; exports.hexToString = _chunkDEF2SWG2js.hexToString; exports.isAddress = _chunkDEF2SWG2js.isAddress; exports.isAddressEqual = _chunkDEF2SWG2js.isAddressEqual; exports.isBytes = _chunkDEF2SWG2js.isBytes; exports.isHex = _chunkDEF2SWG2js.isHex; exports.keccak256 = _chunkDEF2SWG2js.keccak256; exports.numberToBytes = _chunkDEF2SWG2js.numberToBytes; exports.numberToHex = _chunkDEF2SWG2js.numberToHex; exports.pad = _chunkDEF2SWG2js.pad; exports.padBytes = _chunkDEF2SWG2js.padBytes; exports.padHex = _chunkDEF2SWG2js.padHex; exports.parseEther = _chunkDEF2SWG2js.parseEther; exports.parseGwei = _chunkDEF2SWG2js.parseGwei; exports.parseUnit = _chunkDEF2SWG2js.parseUnit; exports.rpc = _chunkDEF2SWG2js.rpc; exports.size = _chunkDEF2SWG2js.size; exports.slice = _chunkDEF2SWG2js.slice; exports.sliceBytes = _chunkDEF2SWG2js.sliceBytes; exports.sliceHex = _chunkDEF2SWG2js.sliceHex; exports.stringToBytes = _chunkDEF2SWG2js.stringToBytes; exports.stringToHex = _chunkDEF2SWG2js.stringToHex; exports.stringify = _chunkDEF2SWG2js.stringify; exports.toBytes = _chunkDEF2SWG2js.toBytes; exports.toHex = _chunkDEF2SWG2js.toHex; exports.toRlp = _chunkDEF2SWG2js.toRlp; exports.transactionType = _chunkDEF2SWG2js.transactionType; exports.trim = _chunkDEF2SWG2js.trim; exports.weiUnits = _chunkDEF2SWG2js.weiUnits;
185
187
  //# sourceMappingURL=index.js.map
@@ -52,9 +52,10 @@ import {
52
52
  getCreate2Address,
53
53
  getCreateAddress,
54
54
  getEstimateGasError,
55
- getEventSignature,
56
- getFunctionSignature,
55
+ getEventSelector,
56
+ getFunctionSelector,
57
57
  getNodeError,
58
+ getSocket,
58
59
  getTransactionError,
59
60
  gweiUnits,
60
61
  hexToBigInt,
@@ -89,7 +90,7 @@ import {
89
90
  transactionType,
90
91
  trim,
91
92
  weiUnits
92
- } from "../chunk-25AJVKAT.mjs";
93
+ } from "../chunk-P76FCR36.mjs";
93
94
  export {
94
95
  assertRequest,
95
96
  boolToBytes,
@@ -144,9 +145,10 @@ export {
144
145
  getCreate2Address,
145
146
  getCreateAddress,
146
147
  getEstimateGasError,
147
- getEventSignature,
148
- getFunctionSignature,
148
+ getEventSelector,
149
+ getFunctionSelector,
149
150
  getNodeError,
151
+ getSocket,
150
152
  getTransactionError,
151
153
  gweiUnits,
152
154
  hexToBigInt,