viem 0.0.1-alpha.29 → 0.0.1-alpha.30

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 (66) hide show
  1. package/dist/{chain-4d46a747.d.ts → chain-00b37e4e.d.ts} +19 -19
  2. package/dist/{chain-c7c44165.d.ts → chain-38182d92.d.ts} +1 -1
  3. package/dist/chains.d.ts +3 -3
  4. package/dist/chains.js +46 -46
  5. package/dist/chains.mjs +1 -1
  6. package/dist/{chunk-Q67VUTW3.mjs → chunk-23UHN6UC.mjs} +3 -3
  7. package/dist/{chunk-Q67VUTW3.mjs.map → chunk-23UHN6UC.mjs.map} +0 -0
  8. package/dist/{chunk-RR4MGS6O.mjs → chunk-25AJVKAT.mjs} +502 -93
  9. package/dist/chunk-25AJVKAT.mjs.map +1 -0
  10. package/dist/{chunk-S252SZEL.mjs → chunk-AO7KQBK3.mjs} +2 -2
  11. package/dist/{chunk-S252SZEL.mjs.map → chunk-AO7KQBK3.mjs.map} +0 -0
  12. package/dist/{chunk-OJ7H3CQF.js → chunk-BHMSFL4W.js} +14 -14
  13. package/dist/{chunk-OJ7H3CQF.js.map → chunk-BHMSFL4W.js.map} +0 -0
  14. package/dist/{chunk-EYORBAD4.js → chunk-EAD66IDC.js} +521 -112
  15. package/dist/chunk-EAD66IDC.js.map +1 -0
  16. package/dist/{chunk-TQC7KZ24.mjs → chunk-EYRMK2SV.mjs} +107 -89
  17. package/dist/chunk-EYRMK2SV.mjs.map +1 -0
  18. package/dist/{chunk-HPUQL3IM.mjs → chunk-IP3NSE7H.mjs} +49 -44
  19. package/dist/chunk-IP3NSE7H.mjs.map +1 -0
  20. package/dist/{chunk-SEIPUKZE.js → chunk-NPFW67BV.js} +22 -22
  21. package/dist/{chunk-SEIPUKZE.js.map → chunk-NPFW67BV.js.map} +0 -0
  22. package/dist/{chunk-CKYH337I.js → chunk-VOK5ALIT.js} +56 -51
  23. package/dist/chunk-VOK5ALIT.js.map +1 -0
  24. package/dist/{chunk-4VQKZYE2.js → chunk-ZX4U6QKQ.js} +167 -149
  25. package/dist/chunk-ZX4U6QKQ.js.map +1 -0
  26. package/dist/contract.d.ts +7 -9
  27. package/dist/contract.js +4 -4
  28. package/dist/contract.mjs +3 -3
  29. package/dist/{createClient-5d5c14d6.d.ts → createClient-5258d590.d.ts} +2 -2
  30. package/dist/{createPublicClient-2b4afeac.d.ts → createPublicClient-99be385b.d.ts} +94 -73
  31. package/dist/{eip1193-f09a55af.d.ts → eip1193-fcdeee04.d.ts} +1 -1
  32. package/dist/ens.d.ts +5 -7
  33. package/dist/ens.js +4 -4
  34. package/dist/ens.mjs +3 -3
  35. package/dist/{formatAbiItem-d231fef2.d.ts → formatAbiItem-50cb39d8.d.ts} +1 -1
  36. package/dist/{getAbiItem-0e085959.d.ts → getAbiItem-6d4f64d2.d.ts} +2 -2
  37. package/dist/index.d.ts +35 -42
  38. package/dist/index.js +126 -90
  39. package/dist/index.js.map +1 -1
  40. package/dist/index.mjs +43 -7
  41. package/dist/index.mjs.map +1 -1
  42. package/dist/{parseGwei-4d0b0d73.d.ts → parseGwei-e299cf13.d.ts} +229 -67
  43. package/dist/public.d.ts +6 -8
  44. package/dist/public.js +3 -3
  45. package/dist/public.mjs +2 -2
  46. package/dist/{test-b9208949.d.ts → test-79ec416c.d.ts} +3 -3
  47. package/dist/test.d.ts +5 -5
  48. package/dist/test.js +3 -3
  49. package/dist/test.mjs +2 -2
  50. package/dist/utils/index.d.ts +33 -9
  51. package/dist/utils/index.js +14 -2
  52. package/dist/utils/index.mjs +13 -1
  53. package/dist/{wallet-9b1c6905.d.ts → wallet-cf5c8351.d.ts} +17 -6
  54. package/dist/wallet.d.ts +4 -5
  55. package/dist/wallet.js +3 -3
  56. package/dist/wallet.mjs +2 -2
  57. package/dist/window.d.ts +2 -2
  58. package/package.json +1 -1
  59. package/dist/chunk-4VQKZYE2.js.map +0 -1
  60. package/dist/chunk-CKYH337I.js.map +0 -1
  61. package/dist/chunk-EYORBAD4.js.map +0 -1
  62. package/dist/chunk-HPUQL3IM.mjs.map +0 -1
  63. package/dist/chunk-RR4MGS6O.mjs.map +0 -1
  64. package/dist/chunk-TQC7KZ24.mjs.map +0 -1
  65. package/dist/transactionReceipt-84fc92e1.d.ts +0 -26
  66. package/dist/transactionRequest-44c539b4.d.ts +0 -15
package/dist/index.js.map CHANGED
@@ -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"],"names":["size"],"mappings":"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","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"]}
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"],"names":["size"],"mappings":"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","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"]}
package/dist/index.mjs CHANGED
@@ -3,7 +3,7 @@ import {
3
3
  getEnsName,
4
4
  labelhash,
5
5
  namehash
6
- } from "./chunk-Q67VUTW3.mjs";
6
+ } from "./chunk-23UHN6UC.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-TQC7KZ24.mjs";
40
+ } from "./chunk-EYRMK2SV.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-S252SZEL.mjs";
70
+ } from "./chunk-AO7KQBK3.mjs";
71
71
  import {
72
72
  addChain,
73
73
  deployContract,
@@ -80,37 +80,47 @@ import {
80
80
  switchChain,
81
81
  watchAsset,
82
82
  writeContract
83
- } from "./chunk-HPUQL3IM.mjs";
83
+ } from "./chunk-IP3NSE7H.mjs";
84
84
  import {
85
85
  AbiConstructorNotFoundError,
86
86
  AbiConstructorParamsNotFoundError,
87
87
  AbiDecodingDataSizeInvalidError,
88
+ AbiDecodingZeroDataError,
88
89
  AbiEncodingArrayLengthMismatchError,
89
90
  AbiEncodingLengthMismatchError,
90
91
  AbiErrorInputsNotFoundError,
91
92
  AbiErrorNotFoundError,
92
93
  AbiErrorSignatureNotFoundError,
93
94
  AbiEventNotFoundError,
95
+ AbiEventSignatureNotFoundError,
94
96
  AbiFunctionNotFoundError,
95
97
  AbiFunctionOutputsNotFoundError,
96
98
  AbiFunctionSignatureNotFoundError,
97
99
  BaseError,
98
100
  BlockNotFoundError,
101
+ CallExecutionError,
102
+ ChainDoesNotSupportContract,
99
103
  ContractFunctionExecutionError,
100
104
  ContractFunctionRevertedError,
101
105
  ContractFunctionZeroDataError,
102
106
  DataLengthTooLongError,
103
107
  DataLengthTooShortError,
108
+ EstimateGasExecutionError,
109
+ ExecutionRevertedError,
110
+ FeeCapTooHighError,
111
+ FeeCapTooLowError,
104
112
  FilterTypeNotSupportedError,
105
113
  HttpRequestError,
114
+ InsufficientFundsError,
106
115
  InternalRpcError,
116
+ IntrinsicGasTooHighError,
117
+ IntrinsicGasTooLowError,
107
118
  InvalidAbiDecodingTypeError,
108
119
  InvalidAbiEncodingTypeError,
109
120
  InvalidAddressError,
110
121
  InvalidArrayError,
111
122
  InvalidBytesBooleanError,
112
123
  InvalidDefinitionTypeError,
113
- InvalidGasArgumentsError,
114
124
  InvalidHexBooleanError,
115
125
  InvalidHexValueError,
116
126
  InvalidInputRpcError,
@@ -120,8 +130,12 @@ import {
120
130
  LimitExceededRpcError,
121
131
  MethodNotFoundRpcError,
122
132
  MethodNotSupportedRpcError,
133
+ NonceMaxValueError,
134
+ NonceTooHighError,
135
+ NonceTooLowError,
123
136
  OffsetOutOfBoundsError,
124
137
  ParseRpcError,
138
+ RawContractError,
125
139
  RequestError,
126
140
  ResourceNotFoundRpcError,
127
141
  ResourceUnavailableRpcError,
@@ -129,9 +143,13 @@ import {
129
143
  RpcRequestError,
130
144
  SizeExceedsPaddingSizeError,
131
145
  TimeoutError,
146
+ TipAboveFeeCapError,
147
+ TransactionExecutionError,
132
148
  TransactionNotFoundError,
133
149
  TransactionReceiptNotFoundError,
134
150
  TransactionRejectedRpcError,
151
+ TransactionTypeNotSupportedError,
152
+ UnknownNodeError,
135
153
  UnknownRpcError,
136
154
  UrlRequiredError,
137
155
  WaitForTransactionReceiptTimeoutError,
@@ -214,7 +232,7 @@ import {
214
232
  transactionType,
215
233
  trim,
216
234
  weiUnits
217
- } from "./chunk-RR4MGS6O.mjs";
235
+ } from "./chunk-25AJVKAT.mjs";
218
236
 
219
237
  // src/clients/transports/createTransport.ts
220
238
  function createTransport({
@@ -591,32 +609,42 @@ export {
591
609
  AbiConstructorNotFoundError,
592
610
  AbiConstructorParamsNotFoundError,
593
611
  AbiDecodingDataSizeInvalidError,
612
+ AbiDecodingZeroDataError,
594
613
  AbiEncodingArrayLengthMismatchError,
595
614
  AbiEncodingLengthMismatchError,
596
615
  AbiErrorInputsNotFoundError,
597
616
  AbiErrorNotFoundError,
598
617
  AbiErrorSignatureNotFoundError,
599
618
  AbiEventNotFoundError,
619
+ AbiEventSignatureNotFoundError,
600
620
  AbiFunctionNotFoundError,
601
621
  AbiFunctionOutputsNotFoundError,
602
622
  AbiFunctionSignatureNotFoundError,
603
623
  BaseError,
604
624
  BlockNotFoundError,
625
+ CallExecutionError,
626
+ ChainDoesNotSupportContract,
605
627
  ContractFunctionExecutionError,
606
628
  ContractFunctionRevertedError,
607
629
  ContractFunctionZeroDataError,
608
630
  DataLengthTooLongError,
609
631
  DataLengthTooShortError,
632
+ EstimateGasExecutionError,
633
+ ExecutionRevertedError,
634
+ FeeCapTooHighError,
635
+ FeeCapTooLowError,
610
636
  FilterTypeNotSupportedError,
611
637
  HttpRequestError,
638
+ InsufficientFundsError,
612
639
  InternalRpcError,
640
+ IntrinsicGasTooHighError,
641
+ IntrinsicGasTooLowError,
613
642
  InvalidAbiDecodingTypeError,
614
643
  InvalidAbiEncodingTypeError,
615
644
  InvalidAddressError,
616
645
  InvalidArrayError,
617
646
  InvalidBytesBooleanError,
618
647
  InvalidDefinitionTypeError,
619
- InvalidGasArgumentsError,
620
648
  InvalidHexBooleanError,
621
649
  InvalidHexValueError,
622
650
  InvalidInputRpcError,
@@ -626,8 +654,12 @@ export {
626
654
  LimitExceededRpcError,
627
655
  MethodNotFoundRpcError,
628
656
  MethodNotSupportedRpcError,
657
+ NonceMaxValueError,
658
+ NonceTooHighError,
659
+ NonceTooLowError,
629
660
  OffsetOutOfBoundsError,
630
661
  ParseRpcError,
662
+ RawContractError,
631
663
  RequestError,
632
664
  ResourceNotFoundRpcError,
633
665
  ResourceUnavailableRpcError,
@@ -635,9 +667,13 @@ export {
635
667
  RpcRequestError,
636
668
  SizeExceedsPaddingSizeError,
637
669
  TimeoutError,
670
+ TipAboveFeeCapError,
671
+ TransactionExecutionError,
638
672
  TransactionNotFoundError,
639
673
  TransactionReceiptNotFoundError,
640
674
  TransactionRejectedRpcError,
675
+ TransactionTypeNotSupportedError,
676
+ UnknownNodeError,
641
677
  UnknownRpcError,
642
678
  UrlRequiredError,
643
679
  WaitForTransactionReceiptTimeoutError,