viem 0.1.23 → 0.2.0-0-2-0.20230328T054201
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accounts/package.json +4 -0
- package/dist/abi.d.ts +3 -3
- package/dist/abi.js +2 -2
- package/dist/abi.mjs +1 -1
- package/dist/accounts/index.d.ts +90 -0
- package/dist/accounts/index.js +152 -0
- package/dist/accounts/index.js.map +1 -0
- package/dist/accounts/index.mjs +152 -0
- package/dist/accounts/index.mjs.map +1 -0
- package/dist/{chain-ec8c485d.d.ts → chain-40443542.d.ts} +1 -1
- package/dist/{chain-1b53ef88.d.ts → chain-4af995bf.d.ts} +77 -36
- package/dist/chains.d.ts +3 -3
- package/dist/chains.js +63 -63
- package/dist/chains.mjs +1 -1
- package/dist/chunk-43HQD3IL.js +31 -0
- package/dist/chunk-43HQD3IL.js.map +1 -0
- package/dist/{chunk-HRVPAYH7.mjs → chunk-DFMQLPHS.mjs} +2 -2
- package/dist/chunk-DFMQLPHS.mjs.map +1 -0
- package/dist/{chunk-66PXETQB.js → chunk-FZPFAAOJ.js} +19 -19
- package/dist/chunk-FZPFAAOJ.js.map +1 -0
- package/dist/{chunk-JG6MI5ZV.mjs → chunk-HYEOQX7O.mjs} +1106 -199
- package/dist/chunk-HYEOQX7O.mjs.map +1 -0
- package/dist/{chunk-Z54YSSBJ.js → chunk-OW7TKT7L.js} +1168 -261
- package/dist/chunk-OW7TKT7L.js.map +1 -0
- package/dist/chunk-UK6FAD4V.mjs +31 -0
- package/dist/chunk-UK6FAD4V.mjs.map +1 -0
- package/dist/contract.d.ts +9 -7
- package/dist/contract.js +2 -2
- package/dist/contract.mjs +1 -1
- package/dist/{createClient-a28317a9.d.ts → createClient-1f19be8d.d.ts} +24 -10
- package/dist/{createPublicClient-b250a534.d.ts → createPublicClient-fd8b1349.d.ts} +229 -242
- package/dist/{eip1193-4f4e240c.d.ts → eip1193-210ab776.d.ts} +1 -1
- package/dist/{encodeFunctionResult-1f324375.d.ts → encodeFunctionResult-a252fba1.d.ts} +1 -1
- package/dist/{encodePacked-d5d5264a.d.ts → encodePacked-a9464e97.d.ts} +1 -1
- package/dist/ens.d.ts +6 -4
- package/dist/ens.js +3 -3
- package/dist/ens.mjs +2 -2
- package/dist/ethers.d.ts +5 -6
- package/dist/ethers.js +7 -5
- package/dist/ethers.js.map +1 -1
- package/dist/ethers.mjs +7 -5
- package/dist/ethers.mjs.map +1 -1
- package/dist/{formatAbiItem-15e8817d.d.ts → formatAbiItem-6ed70dbd.d.ts} +1 -1
- package/dist/{getAbiItem-3e809ff9.d.ts → getAbiItem-1ff0f41a.d.ts} +1 -1
- package/dist/index.d.ts +22 -14
- package/dist/index.js +136 -101
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +78 -43
- package/dist/index.mjs.map +1 -1
- package/dist/parseAccount-8e131c73.d.ts +6 -0
- package/dist/{parseGwei-bd0eea6c.d.ts → parseGwei-5e2a8e87.d.ts} +95 -15
- package/dist/public.d.ts +6 -4
- package/dist/public.js +2 -2
- package/dist/public.mjs +1 -1
- package/dist/test-e28db435.d.ts +198 -0
- package/dist/test.d.ts +11 -11
- package/dist/test.js +2 -2
- package/dist/test.mjs +1 -1
- package/dist/typedData-848139b1.d.ts +93 -0
- package/dist/utils/index.d.ts +22 -30
- package/dist/utils/index.js +26 -2
- package/dist/utils/index.mjs +29 -5
- package/dist/wallet.d.ts +6 -4
- package/dist/wallet.js +2 -2
- package/dist/wallet.mjs +1 -1
- package/dist/window.d.ts +2 -2
- package/package.json +10 -2
- package/dist/chunk-66PXETQB.js.map +0 -1
- package/dist/chunk-HRVPAYH7.mjs.map +0 -1
- package/dist/chunk-JG6MI5ZV.mjs.map +0 -1
- package/dist/chunk-Z54YSSBJ.js.map +0 -1
- package/dist/test-2bd23d7e.d.ts +0 -205
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 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 type 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 WebSocketTransportSubscribeParameters = {\n onData: (data: RpcResponse) => void\n onError?: (error: any) => void\n}\n\ntype WebSocketTransportSubscribeReturnType = {\n subscriptionId: Hash\n unsubscribe: () => Promise<RpcResponse<boolean>>\n}\n\ntype WebSocketTransportSubscribe = {\n subscribe(\n args: WebSocketTransportSubscribeParameters & {\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<WebSocketTransportSubscribeReturnType>\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 type { Chain } from '../types'\nimport type { Requests } from '../types/eip1193'\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 client with the given transport.\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 type { Abi, AbiEvent } from 'abitype'\nimport type {\n GetEnsAddressParameters,\n GetEnsAddressReturnType,\n GetEnsNameParameters,\n GetEnsNameReturnType,\n} from '../../actions/ens'\nimport { getEnsAddress, getEnsName } from '../../actions/ens'\nimport type {\n CallParameters,\n CallReturnType,\n CreateBlockFilterReturnType,\n CreateContractEventFilterParameters,\n CreateContractEventFilterReturnType,\n CreateEventFilterParameters,\n CreateEventFilterReturnType,\n CreatePendingTransactionFilterReturnType,\n EstimateContractGasParameters,\n EstimateContractGasReturnType,\n EstimateGasParameters,\n EstimateGasReturnType,\n GetBalanceParameters,\n GetBalanceReturnType,\n GetBlockNumberParameters,\n GetBlockNumberReturnType,\n GetBlockParameters,\n GetBlockReturnType,\n GetBlockTransactionCountParameters,\n GetBlockTransactionCountReturnType,\n GetBytecodeParameters,\n GetBytecodeReturnType,\n GetChainIdReturnType,\n GetFeeHistoryParameters,\n GetFeeHistoryReturnType,\n GetFilterChangesParameters,\n GetFilterChangesReturnType,\n GetFilterLogsParameters,\n GetFilterLogsReturnType,\n GetGasPriceReturnType,\n GetLogsParameters,\n GetLogsReturnType,\n GetStorageAtParameters,\n GetStorageAtReturnType,\n GetTransactionConfirmationsParameters,\n GetTransactionConfirmationsReturnType,\n GetTransactionCountParameters,\n GetTransactionCountReturnType,\n GetTransactionParameters,\n GetTransactionReceiptParameters,\n GetTransactionReceiptReturnType,\n GetTransactionReturnType,\n MulticallParameters,\n MulticallReturnType,\n ReadContractParameters,\n ReadContractReturnType,\n SimulateContractParameters,\n SimulateContractReturnType,\n UninstallFilterParameters,\n UninstallFilterReturnType,\n WaitForTransactionReceiptParameters,\n WaitForTransactionReceiptReturnType,\n WatchBlockNumberParameters,\n WatchBlocksParameters,\n WatchContractEventParameters,\n WatchEventParameters,\n WatchPendingTransactionsParameters,\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 getStorageAt,\n getTransaction,\n getTransactionConfirmations,\n getTransactionCount,\n getTransactionReceipt,\n multicall,\n readContract,\n simulateContract,\n uninstallFilter,\n waitForTransactionReceipt,\n watchBlockNumber,\n watchBlocks,\n watchContractEvent,\n watchEvent,\n watchPendingTransactions,\n} from '../../actions/public'\nimport type {\n Chain,\n ContractConfig,\n FilterType,\n MaybeExtractEventArgsFromAbi,\n} from '../../types'\nimport type { PublicClient } from '../createPublicClient'\n\nexport type PublicActions<TChain extends Chain = Chain> = {\n call: (args: CallParameters<TChain>) => Promise<CallReturnType>\n createBlockFilter: () => Promise<CreateBlockFilterReturnType>\n createContractEventFilter: <\n TAbi extends Abi | readonly unknown[],\n TEventName extends string | undefined,\n TArgs extends MaybeExtractEventArgsFromAbi<TAbi, TEventName> | undefined,\n >(\n args: CreateContractEventFilterParameters<TAbi, TEventName, TArgs>,\n ) => Promise<CreateContractEventFilterReturnType<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?: CreateEventFilterParameters<TAbiEvent, TAbi, TEventName, TArgs>,\n ) => Promise<CreateEventFilterReturnType<TAbiEvent, TAbi, TEventName, TArgs>>\n createPendingTransactionFilter: () => Promise<CreatePendingTransactionFilterReturnType>\n estimateContractGas: <\n TChain extends Chain,\n TAbi extends Abi | readonly unknown[],\n TFunctionName extends string,\n >(\n args: EstimateContractGasParameters<TChain, TAbi, TFunctionName>,\n ) => Promise<EstimateContractGasReturnType>\n estimateGas: (\n args: EstimateGasParameters<TChain>,\n ) => Promise<EstimateGasReturnType>\n getBalance: (args: GetBalanceParameters) => Promise<GetBalanceReturnType>\n getBlock: (args?: GetBlockParameters) => Promise<GetBlockReturnType<TChain>>\n getBlockNumber: (\n args?: GetBlockNumberParameters,\n ) => Promise<GetBlockNumberReturnType>\n getBlockTransactionCount: (\n args?: GetBlockTransactionCountParameters,\n ) => Promise<GetBlockTransactionCountReturnType>\n getBytecode: (args: GetBytecodeParameters) => Promise<GetBytecodeReturnType>\n getChainId: () => Promise<GetChainIdReturnType>\n getEnsAddress: (\n args: GetEnsAddressParameters,\n ) => Promise<GetEnsAddressReturnType>\n getEnsName: (args: GetEnsNameParameters) => Promise<GetEnsNameReturnType>\n getFeeHistory: (\n args: GetFeeHistoryParameters,\n ) => Promise<GetFeeHistoryReturnType>\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: GetFilterChangesParameters<TFilterType, TAbiEvent, TAbi, TEventName>,\n ) => Promise<\n GetFilterChangesReturnType<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: GetFilterLogsParameters<TAbiEvent, TAbi, TEventName>,\n ) => Promise<GetFilterLogsReturnType<TAbiEvent, TAbi, TEventName>>\n getGasPrice: () => Promise<GetGasPriceReturnType>\n getLogs: <TAbiEvent extends AbiEvent | undefined>(\n args?: GetLogsParameters<TAbiEvent>,\n ) => Promise<GetLogsReturnType<TAbiEvent>>\n getStorageAt: (\n args: GetStorageAtParameters,\n ) => Promise<GetStorageAtReturnType>\n getTransaction: (\n args: GetTransactionParameters,\n ) => Promise<GetTransactionReturnType<TChain>>\n getTransactionConfirmations: (\n args: GetTransactionConfirmationsParameters<TChain>,\n ) => Promise<GetTransactionConfirmationsReturnType>\n getTransactionCount: (\n args: GetTransactionCountParameters,\n ) => Promise<GetTransactionCountReturnType>\n getTransactionReceipt: (\n args: GetTransactionReceiptParameters,\n ) => Promise<GetTransactionReceiptReturnType<TChain>>\n multicall: <\n TContracts extends ContractConfig[],\n TAllowFailure extends boolean = true,\n >(\n args: MulticallParameters<TContracts, TAllowFailure>,\n ) => Promise<MulticallReturnType<TContracts, TAllowFailure>>\n readContract: <\n TAbi extends Abi | readonly unknown[],\n TFunctionName extends string,\n >(\n args: ReadContractParameters<TAbi, TFunctionName>,\n ) => Promise<ReadContractReturnType<TAbi, TFunctionName>>\n simulateContract: <\n TAbi extends Abi | readonly unknown[] = Abi,\n TFunctionName extends string = any,\n TChainOverride extends Chain | undefined = undefined,\n >(\n args: SimulateContractParameters<\n TChain,\n TAbi,\n TFunctionName,\n TChainOverride\n >,\n ) => Promise<\n SimulateContractReturnType<\n TChainOverride extends Chain ? TChainOverride : TChain,\n TAbi,\n TFunctionName\n >\n >\n uninstallFilter: (\n args: UninstallFilterParameters,\n ) => Promise<UninstallFilterReturnType>\n waitForTransactionReceipt: (\n args: WaitForTransactionReceiptParameters<TChain>,\n ) => Promise<WaitForTransactionReceiptReturnType<TChain>>\n watchBlockNumber: (\n args: WatchBlockNumberParameters,\n ) => ReturnType<typeof watchBlockNumber>\n watchBlocks: (\n args: WatchBlocksParameters<TChain>,\n ) => ReturnType<typeof watchBlocks>\n watchContractEvent: <\n TAbi extends Abi | readonly unknown[],\n TEventName extends string,\n >(\n args: WatchContractEventParameters<TAbi, TEventName>,\n ) => ReturnType<typeof watchContractEvent>\n watchEvent: <\n TAbiEvent extends AbiEvent | undefined,\n TEventName extends string | undefined,\n >(\n args: WatchEventParameters<TAbiEvent>,\n ) => ReturnType<typeof watchEvent>\n watchPendingTransactions: (\n args: WatchPendingTransactionsParameters,\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 getTransactionCount: (args) => getTransactionCount(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 DropTransactionParameters,\n GetAutomineReturnType,\n GetTxpoolContentReturnType,\n GetTxpoolStatusReturnType,\n ImpersonateAccountParameters,\n IncreaseTimeParameters,\n InspectTxpoolReturnType,\n MineParameters,\n ResetParameters,\n RevertParameters,\n SendUnsignedTransactionParameters,\n SendUnsignedTransactionReturnType,\n SetBalanceParameters,\n SetBlockGasLimitParameters,\n SetBlockTimestampIntervalParameters,\n SetCodeParameters,\n SetCoinbaseParameters,\n SetIntervalMiningParameters,\n SetMinGasPriceParameters,\n SetNextBlockBaseFeePerGasParameters,\n SetNextBlockTimestampParameters,\n SetNonceParameters,\n SetStorageAtParameters,\n StopImpersonatingAccountParameters,\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 type { Chain, Quantity } from '../../types'\nimport type { TestClient } from '../createTestClient'\n\nexport type TestActions<TChain extends Chain = Chain> = {\n dropTransaction: (args: DropTransactionParameters) => Promise<void>\n getAutomine: () => Promise<GetAutomineReturnType>\n getTxpoolContent: () => Promise<GetTxpoolContentReturnType>\n getTxpoolStatus: () => Promise<GetTxpoolStatusReturnType>\n impersonateAccount: (args: ImpersonateAccountParameters) => Promise<void>\n increaseTime: (args: IncreaseTimeParameters) => Promise<Quantity>\n inspectTxpool: () => Promise<InspectTxpoolReturnType>\n mine: (args: MineParameters) => Promise<void>\n removeBlockTimestampInterval: () => Promise<void>\n reset: (args?: ResetParameters) => Promise<void>\n revert: (args: RevertParameters) => Promise<void>\n sendUnsignedTransaction: (\n args: SendUnsignedTransactionParameters,\n ) => Promise<SendUnsignedTransactionReturnType>\n setAutomine: (args: boolean) => Promise<void>\n setBalance: (args: SetBalanceParameters) => Promise<void>\n setBlockGasLimit: (args: SetBlockGasLimitParameters) => Promise<void>\n setBlockTimestampInterval: (\n args: SetBlockTimestampIntervalParameters,\n ) => Promise<void>\n setCode: (args: SetCodeParameters) => Promise<void>\n setCoinbase: (args: SetCoinbaseParameters) => Promise<void>\n setIntervalMining: (args: SetIntervalMiningParameters) => Promise<void>\n setLoggingEnabled: (args: boolean) => Promise<void>\n setMinGasPrice: (args: SetMinGasPriceParameters) => Promise<void>\n setNextBlockBaseFeePerGas: (\n args: SetNextBlockBaseFeePerGasParameters,\n ) => Promise<void>\n setNextBlockTimestamp: (\n args: SetNextBlockTimestampParameters,\n ) => Promise<void>\n setNonce: (args: SetNonceParameters) => Promise<void>\n setRpcUrl: (args: string) => Promise<void>\n setStorageAt: (args: SetStorageAtParameters) => Promise<void>\n snapshot: () => Promise<Quantity>\n stopImpersonatingAccount: (\n args: StopImpersonatingAccountParameters,\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 type { Abi, TypedData } from 'abitype'\nimport type {\n AddChainParameters,\n DeployContractParameters,\n DeployContractReturnType,\n GetAddressesReturnType,\n GetChainIdReturnType,\n GetPermissionsReturnType,\n RequestAddressesReturnType,\n RequestPermissionsParameters,\n RequestPermissionsReturnType,\n SendTransactionParameters,\n SendTransactionReturnType,\n SignMessageParameters,\n SignMessageReturnType,\n SignTypedDataParameters,\n SignTypedDataReturnType,\n SwitchChainParameters,\n WatchAssetParameters,\n WatchAssetReturnType,\n WriteContractParameters,\n WriteContractReturnType,\n} from '../../actions/wallet'\nimport {\n addChain,\n deployContract,\n getAddresses,\n getChainId,\n getPermissions,\n requestAddresses,\n requestPermissions,\n sendTransaction,\n signMessage,\n signTypedData,\n switchChain,\n watchAsset,\n writeContract,\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: AddChainParameters) => Promise<void>\n deployContract: <TAbi extends Abi | readonly unknown[]>(\n args: DeployContractParameters<TChain, TAbi>,\n ) => Promise<DeployContractReturnType>\n getAddresses: () => Promise<GetAddressesReturnType>\n getChainId: () => Promise<GetChainIdReturnType>\n getPermissions: () => Promise<GetPermissionsReturnType>\n requestAddresses: () => Promise<RequestAddressesReturnType>\n requestPermissions: (\n args: RequestPermissionsParameters,\n ) => Promise<RequestPermissionsReturnType>\n sendTransaction: <TChainOverride extends Chain>(\n args: SendTransactionParameters<TChainOverride>,\n ) => Promise<SendTransactionReturnType>\n signMessage: (args: SignMessageParameters) => Promise<SignMessageReturnType>\n signTypedData: <\n TTypedData extends TypedData | { [key: string]: unknown },\n TPrimaryType extends string,\n >(\n args: SignTypedDataParameters<TTypedData, TPrimaryType>,\n ) => Promise<SignTypedDataReturnType>\n switchChain: (args: SwitchChainParameters) => Promise<void>\n watchAsset: (args: WatchAssetParameters) => Promise<WatchAssetReturnType>\n writeContract: <\n TAbi extends Abi | readonly unknown[],\n TFunctionName extends string,\n TChainOverride extends Chain,\n >(\n args: WriteContractParameters<TChainOverride, TAbi, TFunctionName>,\n ) => Promise<WriteContractReturnType>\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 getAddresses: () => getAddresses(client),\n getChainId: () => getChainId(client),\n getPermissions: () => getPermissions(client),\n requestAddresses: () => requestAddresses(client),\n requestPermissions: (args) => requestPermissions(client, args),\n sendTransaction: (args) => sendTransaction(client, args),\n signMessage: (args) => signMessage(client, args),\n signTypedData: (args) => signTypedData(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 type { 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 */\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 { Chain } from '../types'\nimport type { TestRequests } from '../types/eip1193'\nimport type { Client, ClientConfig } from './createClient'\nimport { createClient } from './createClient'\nimport { testActions, TestActions } from './decorators'\nimport type { Transport } from './transports/createTransport'\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 */\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 { Chain } from '../types'\nimport type { Client, ClientConfig } from './createClient'\nimport { createClient } from './createClient'\nimport { WalletActions, walletActions } from './decorators'\nimport type { Transport } from './transports/createTransport'\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> &\n (TIncludeActions extends true ? WalletActions<TChain> : {})\n\n/**\n * @description Creates a wallet client with a given transport.\n */\nexport function createWalletClient<\n TTransport extends Transport,\n TChain extends Chain,\n>({\n chain,\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 chain,\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"]}
|
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 | undefined = 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,\n TRpcAttributes extends Record<string, 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 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 type 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 WebSocketTransportSubscribeParameters = {\n onData: (data: RpcResponse) => void\n onError?: (error: any) => void\n}\n\ntype WebSocketTransportSubscribeReturnType = {\n subscriptionId: Hash\n unsubscribe: () => Promise<RpcResponse<boolean>>\n}\n\ntype WebSocketTransportSubscribe = {\n subscribe(\n args: WebSocketTransportSubscribeParameters & {\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<WebSocketTransportSubscribeReturnType>\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 if (data.method !== 'eth_subscription') return\n onData(data.params)\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 type { Chain } from '../types'\nimport type { Requests } from '../types/eip1193'\nimport { uid } from '../utils/uid'\nimport type { BaseRpcRequests, Transport } from './transports/createTransport'\n\nexport type ClientConfig<\n TTransport extends Transport = Transport,\n TChain extends Chain | undefined = Chain | undefined,\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 /**\n * Frequency (in ms) for polling enabled actions & events.\n * @default 4_000\n */\n pollingInterval?: number\n /** The RPC transport */\n transport: TTransport\n /** The type of client. */\n type?: string\n}\n\nexport type Client<\n TTransport extends Transport = Transport,\n TRequests extends BaseRpcRequests = Requests,\n TChain extends Chain | undefined = Chain | undefined,\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 */\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\n/**\n * @description Creates a base client with the given transport.\n */\nexport function createClient<\n TTransport extends Transport,\n TRequests extends BaseRpcRequests,\n TChain extends Chain | undefined = undefined,\n>({\n chain,\n key = 'base',\n name = 'Base Client',\n pollingInterval = 4_000,\n transport,\n type = 'base',\n}: ClientConfig<TTransport, TChain>): Client<TTransport, TRequests, TChain> {\n const { config, request, value } = transport({ chain })\n return {\n chain: chain as TChain,\n key,\n name,\n pollingInterval,\n request,\n transport: { ...config, ...value },\n type,\n uid: uid(),\n }\n}\n","import type { Abi, AbiEvent } from 'abitype'\nimport type {\n GetEnsAddressParameters,\n GetEnsAddressReturnType,\n GetEnsNameParameters,\n GetEnsNameReturnType,\n} from '../../actions/ens'\nimport { getEnsAddress, getEnsName } from '../../actions/ens'\nimport type {\n CallParameters,\n CallReturnType,\n CreateBlockFilterReturnType,\n CreateContractEventFilterParameters,\n CreateContractEventFilterReturnType,\n CreateEventFilterParameters,\n CreateEventFilterReturnType,\n CreatePendingTransactionFilterReturnType,\n EstimateContractGasParameters,\n EstimateContractGasReturnType,\n EstimateGasParameters,\n EstimateGasReturnType,\n GetBalanceParameters,\n GetBalanceReturnType,\n GetBlockNumberParameters,\n GetBlockNumberReturnType,\n GetBlockParameters,\n GetBlockReturnType,\n GetBlockTransactionCountParameters,\n GetBlockTransactionCountReturnType,\n GetBytecodeParameters,\n GetBytecodeReturnType,\n GetChainIdReturnType,\n GetFeeHistoryParameters,\n GetFeeHistoryReturnType,\n GetFilterChangesParameters,\n GetFilterChangesReturnType,\n GetFilterLogsParameters,\n GetFilterLogsReturnType,\n GetGasPriceReturnType,\n GetLogsParameters,\n GetLogsReturnType,\n GetStorageAtParameters,\n GetStorageAtReturnType,\n GetTransactionConfirmationsParameters,\n GetTransactionConfirmationsReturnType,\n GetTransactionCountParameters,\n GetTransactionCountReturnType,\n GetTransactionParameters,\n GetTransactionReceiptParameters,\n GetTransactionReceiptReturnType,\n GetTransactionReturnType,\n MulticallParameters,\n MulticallReturnType,\n ReadContractParameters,\n ReadContractReturnType,\n SimulateContractParameters,\n SimulateContractReturnType,\n UninstallFilterParameters,\n UninstallFilterReturnType,\n WaitForTransactionReceiptParameters,\n WaitForTransactionReceiptReturnType,\n WatchBlockNumberParameters,\n WatchBlockNumberReturnType,\n WatchBlocksParameters,\n WatchBlocksReturnType,\n WatchContractEventParameters,\n WatchContractEventReturnType,\n WatchEventParameters,\n WatchEventReturnType,\n WatchPendingTransactionsParameters,\n WatchPendingTransactionsReturnType,\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 getStorageAt,\n getTransaction,\n getTransactionConfirmations,\n getTransactionCount,\n getTransactionReceipt,\n multicall,\n readContract,\n simulateContract,\n uninstallFilter,\n waitForTransactionReceipt,\n watchBlockNumber,\n watchBlocks,\n watchContractEvent,\n watchEvent,\n watchPendingTransactions,\n} from '../../actions/public'\nimport type {\n Chain,\n ContractConfig,\n FilterType,\n MaybeExtractEventArgsFromAbi,\n} from '../../types'\nimport type { PublicClient } from '../createPublicClient'\nimport type { Transport } from '../transports'\n\nexport type PublicActions<\n TTransport extends Transport = Transport,\n TChain extends Chain | undefined = Chain | undefined,\n> = {\n call: (args: CallParameters<TChain>) => Promise<CallReturnType>\n createBlockFilter: () => Promise<CreateBlockFilterReturnType>\n createContractEventFilter: <\n TAbi extends Abi | readonly unknown[],\n TEventName extends string | undefined,\n TArgs extends MaybeExtractEventArgsFromAbi<TAbi, TEventName> | undefined,\n >(\n args: CreateContractEventFilterParameters<TAbi, TEventName, TArgs>,\n ) => Promise<CreateContractEventFilterReturnType<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?: CreateEventFilterParameters<TAbiEvent, TAbi, TEventName, TArgs>,\n ) => Promise<CreateEventFilterReturnType<TAbiEvent, TAbi, TEventName, TArgs>>\n createPendingTransactionFilter: () => Promise<CreatePendingTransactionFilterReturnType>\n estimateContractGas: <\n TChain extends Chain | undefined,\n TAbi extends Abi | readonly unknown[],\n TFunctionName extends string,\n >(\n args: EstimateContractGasParameters<TAbi, TFunctionName, TChain>,\n ) => Promise<EstimateContractGasReturnType>\n estimateGas: (\n args: EstimateGasParameters<TChain>,\n ) => Promise<EstimateGasReturnType>\n getBalance: (args: GetBalanceParameters) => Promise<GetBalanceReturnType>\n getBlock: (args?: GetBlockParameters) => Promise<GetBlockReturnType<TChain>>\n getBlockNumber: (\n args?: GetBlockNumberParameters,\n ) => Promise<GetBlockNumberReturnType>\n getBlockTransactionCount: (\n args?: GetBlockTransactionCountParameters,\n ) => Promise<GetBlockTransactionCountReturnType>\n getBytecode: (args: GetBytecodeParameters) => Promise<GetBytecodeReturnType>\n getChainId: () => Promise<GetChainIdReturnType>\n getEnsAddress: (\n args: GetEnsAddressParameters,\n ) => Promise<GetEnsAddressReturnType>\n getEnsName: (args: GetEnsNameParameters) => Promise<GetEnsNameReturnType>\n getFeeHistory: (\n args: GetFeeHistoryParameters,\n ) => Promise<GetFeeHistoryReturnType>\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: GetFilterChangesParameters<TFilterType, TAbiEvent, TAbi, TEventName>,\n ) => Promise<\n GetFilterChangesReturnType<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: GetFilterLogsParameters<TAbiEvent, TAbi, TEventName>,\n ) => Promise<GetFilterLogsReturnType<TAbiEvent, TAbi, TEventName>>\n getGasPrice: () => Promise<GetGasPriceReturnType>\n getLogs: <TAbiEvent extends AbiEvent | undefined>(\n args?: GetLogsParameters<TAbiEvent>,\n ) => Promise<GetLogsReturnType<TAbiEvent>>\n getStorageAt: (\n args: GetStorageAtParameters,\n ) => Promise<GetStorageAtReturnType>\n getTransaction: (\n args: GetTransactionParameters,\n ) => Promise<GetTransactionReturnType<TChain>>\n getTransactionConfirmations: (\n args: GetTransactionConfirmationsParameters<TChain>,\n ) => Promise<GetTransactionConfirmationsReturnType>\n getTransactionCount: (\n args: GetTransactionCountParameters,\n ) => Promise<GetTransactionCountReturnType>\n getTransactionReceipt: (\n args: GetTransactionReceiptParameters,\n ) => Promise<GetTransactionReceiptReturnType<TChain>>\n multicall: <\n TContracts extends ContractConfig[],\n TAllowFailure extends boolean = true,\n >(\n args: MulticallParameters<TContracts, TAllowFailure>,\n ) => Promise<MulticallReturnType<TContracts, TAllowFailure>>\n readContract: <\n TAbi extends Abi | readonly unknown[],\n TFunctionName extends string,\n >(\n args: ReadContractParameters<TAbi, TFunctionName>,\n ) => Promise<ReadContractReturnType<TAbi, TFunctionName>>\n simulateContract: <\n TAbi extends Abi | readonly unknown[] = Abi,\n TFunctionName extends string = any,\n TChainOverride extends Chain | undefined = undefined,\n >(\n args: SimulateContractParameters<\n TAbi,\n TFunctionName,\n TChain,\n TChainOverride\n >,\n ) => Promise<\n SimulateContractReturnType<TAbi, TFunctionName, TChain, TChainOverride>\n >\n uninstallFilter: (\n args: UninstallFilterParameters,\n ) => Promise<UninstallFilterReturnType>\n waitForTransactionReceipt: (\n args: WaitForTransactionReceiptParameters<TChain>,\n ) => Promise<WaitForTransactionReceiptReturnType<TChain>>\n watchBlockNumber: (\n args: WatchBlockNumberParameters,\n ) => WatchBlockNumberReturnType\n watchBlocks: (\n args: WatchBlocksParameters<TTransport, TChain>,\n ) => WatchBlocksReturnType\n watchContractEvent: <\n TAbi extends Abi | readonly unknown[],\n TEventName extends string,\n >(\n args: WatchContractEventParameters<TAbi, TEventName>,\n ) => WatchContractEventReturnType\n watchEvent: <TAbiEvent extends AbiEvent | undefined>(\n args: WatchEventParameters<TAbiEvent>,\n ) => WatchEventReturnType\n watchPendingTransactions: (\n args: WatchPendingTransactionsParameters<TTransport>,\n ) => WatchPendingTransactionsReturnType\n}\n\nexport const publicActions = <\n TTransport extends Transport = Transport,\n TChain extends Chain | undefined = Chain | undefined,\n>(\n client: PublicClient<TTransport, TChain>,\n): PublicActions<TTransport, 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 getTransactionCount: (args) => getTransactionCount(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 DropTransactionParameters,\n GetAutomineReturnType,\n GetTxpoolContentReturnType,\n GetTxpoolStatusReturnType,\n ImpersonateAccountParameters,\n IncreaseTimeParameters,\n InspectTxpoolReturnType,\n MineParameters,\n ResetParameters,\n RevertParameters,\n SendUnsignedTransactionParameters,\n SendUnsignedTransactionReturnType,\n SetBalanceParameters,\n SetBlockGasLimitParameters,\n SetBlockTimestampIntervalParameters,\n SetCodeParameters,\n SetCoinbaseParameters,\n SetIntervalMiningParameters,\n SetMinGasPriceParameters,\n SetNextBlockBaseFeePerGasParameters,\n SetNextBlockTimestampParameters,\n SetNonceParameters,\n SetStorageAtParameters,\n StopImpersonatingAccountParameters,\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 type { Chain, Quantity } from '../../types'\nimport type { TestClient, TestClientMode } from '../createTestClient'\nimport type { Transport } from '../transports'\n\nexport type TestActions = {\n dropTransaction: (args: DropTransactionParameters) => Promise<void>\n getAutomine: () => Promise<GetAutomineReturnType>\n getTxpoolContent: () => Promise<GetTxpoolContentReturnType>\n getTxpoolStatus: () => Promise<GetTxpoolStatusReturnType>\n impersonateAccount: (args: ImpersonateAccountParameters) => Promise<void>\n increaseTime: (args: IncreaseTimeParameters) => Promise<Quantity>\n inspectTxpool: () => Promise<InspectTxpoolReturnType>\n mine: (args: MineParameters) => Promise<void>\n removeBlockTimestampInterval: () => Promise<void>\n reset: (args?: ResetParameters) => Promise<void>\n revert: (args: RevertParameters) => Promise<void>\n sendUnsignedTransaction: (\n args: SendUnsignedTransactionParameters,\n ) => Promise<SendUnsignedTransactionReturnType>\n setAutomine: (args: boolean) => Promise<void>\n setBalance: (args: SetBalanceParameters) => Promise<void>\n setBlockGasLimit: (args: SetBlockGasLimitParameters) => Promise<void>\n setBlockTimestampInterval: (\n args: SetBlockTimestampIntervalParameters,\n ) => Promise<void>\n setCode: (args: SetCodeParameters) => Promise<void>\n setCoinbase: (args: SetCoinbaseParameters) => Promise<void>\n setIntervalMining: (args: SetIntervalMiningParameters) => Promise<void>\n setLoggingEnabled: (args: boolean) => Promise<void>\n setMinGasPrice: (args: SetMinGasPriceParameters) => Promise<void>\n setNextBlockBaseFeePerGas: (\n args: SetNextBlockBaseFeePerGasParameters,\n ) => Promise<void>\n setNextBlockTimestamp: (\n args: SetNextBlockTimestampParameters,\n ) => Promise<void>\n setNonce: (args: SetNonceParameters) => Promise<void>\n setRpcUrl: (args: string) => Promise<void>\n setStorageAt: (args: SetStorageAtParameters) => Promise<void>\n snapshot: () => Promise<Quantity>\n stopImpersonatingAccount: (\n args: StopImpersonatingAccountParameters,\n ) => Promise<void>\n}\n\nexport function testActions<TChain extends Chain | undefined>(\n client: TestClient<TestClientMode, Transport, TChain>,\n): TestActions {\n return {\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) =>\n 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) =>\n 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}\n","import type { Abi, TypedData } from 'abitype'\nimport type {\n AddChainParameters,\n DeployContractParameters,\n DeployContractReturnType,\n GetAddressesReturnType,\n GetChainIdReturnType,\n GetPermissionsReturnType,\n RequestAddressesReturnType,\n RequestPermissionsParameters,\n RequestPermissionsReturnType,\n SendTransactionParameters,\n SendTransactionReturnType,\n SignMessageParameters,\n SignMessageReturnType,\n SignTypedDataParameters,\n SignTypedDataReturnType,\n SwitchChainParameters,\n WatchAssetParameters,\n WatchAssetReturnType,\n WriteContractParameters,\n WriteContractReturnType,\n} from '../../actions/wallet'\nimport {\n addChain,\n deployContract,\n getAddresses,\n getChainId,\n getPermissions,\n requestAddresses,\n requestPermissions,\n sendTransaction,\n signMessage,\n signTypedData,\n switchChain,\n watchAsset,\n writeContract,\n} from '../../actions/wallet'\nimport type { Account, Chain } from '../../types'\nimport type { WalletClient } from '../createWalletClient'\nimport type { Transport } from '../transports'\n\nexport type WalletActions<\n TChain extends Chain | undefined = Chain | undefined,\n TAccount extends Account | undefined = Account | undefined,\n> = {\n addChain: (args: AddChainParameters) => Promise<void>\n deployContract: <\n TAbi extends Abi | readonly unknown[],\n TChainOverride extends Chain | undefined,\n >(\n args: DeployContractParameters<TAbi, TChain, TAccount, TChainOverride>,\n ) => Promise<DeployContractReturnType>\n getAddresses: () => Promise<GetAddressesReturnType>\n getChainId: () => Promise<GetChainIdReturnType>\n getPermissions: () => Promise<GetPermissionsReturnType>\n requestAddresses: () => Promise<RequestAddressesReturnType>\n requestPermissions: (\n args: RequestPermissionsParameters,\n ) => Promise<RequestPermissionsReturnType>\n sendTransaction: <TChainOverride extends Chain | undefined>(\n args: SendTransactionParameters<TChain, TAccount, TChainOverride>,\n ) => Promise<SendTransactionReturnType>\n signMessage: (\n args: SignMessageParameters<TAccount>,\n ) => Promise<SignMessageReturnType>\n signTypedData: <\n TTypedData extends TypedData | { [key: string]: unknown },\n TPrimaryType extends string,\n >(\n args: SignTypedDataParameters<TTypedData, TPrimaryType, TAccount>,\n ) => Promise<SignTypedDataReturnType>\n switchChain: (args: SwitchChainParameters) => Promise<void>\n watchAsset: (args: WatchAssetParameters) => Promise<WatchAssetReturnType>\n writeContract: <\n TAbi extends Abi | readonly unknown[],\n TFunctionName extends string,\n TChainOverride extends Chain | undefined,\n >(\n args: WriteContractParameters<\n TAbi,\n TFunctionName,\n TChain,\n TAccount,\n TChainOverride\n >,\n ) => Promise<WriteContractReturnType>\n}\n\nexport const walletActions = <\n TTransport extends Transport,\n TChain extends Chain | undefined = Chain | undefined,\n TAccount extends Account | undefined = Account | undefined,\n>(\n client: WalletClient<TTransport, TChain, TAccount>,\n): WalletActions<TChain, TAccount> => ({\n addChain: (args) => addChain(client, args),\n deployContract: (args) => deployContract(client, args),\n getAddresses: () => getAddresses(client),\n getChainId: () => getChainId(client),\n getPermissions: () => getPermissions(client),\n requestAddresses: () => requestAddresses(client),\n requestPermissions: (args) => requestPermissions(client, args),\n sendTransaction: (args) => sendTransaction(client, args),\n signMessage: (args) => signMessage(client, args),\n signTypedData: (args) => signTypedData(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 type { Chain, Prettify } from '../types'\n\nexport type PublicClientConfig<\n TTransport extends Transport = Transport,\n TChain extends Chain | undefined = Chain | undefined,\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 | undefined = Chain | undefined,\n TIncludeActions extends boolean = true,\n> = Prettify<\n Client<TTransport, PublicRequests, TChain> &\n (TIncludeActions extends true ? PublicActions<TTransport, TChain> : unknown)\n>\n\n/**\n * @description Creates a public client with a given transport.\n */\nexport function createPublicClient<\n TTransport extends Transport,\n TChain extends Chain | undefined = undefined,\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 }) as PublicClient<TTransport, TChain>\n return {\n ...client,\n ...publicActions(client),\n }\n}\n","import type { Chain } from '../types'\nimport type { TestRequests } from '../types/eip1193'\nimport type { Client, ClientConfig } from './createClient'\nimport { createClient } from './createClient'\nimport { testActions, TestActions } from './decorators'\nimport type { Transport } from './transports/createTransport'\n\nexport type TestClientMode = 'anvil' | 'hardhat'\n\nexport type TestClientConfig<\n TMode extends TestClientMode = TestClientMode,\n TTransport extends Transport = Transport,\n TChain extends Chain | undefined = Chain | undefined,\n> = Pick<\n ClientConfig<TTransport, TChain>,\n 'chain' | 'key' | 'name' | 'pollingInterval' | 'transport'\n> & {\n /** Mode of the test client. Available: \"anvil\" | \"hardhat\" */\n mode: TMode\n}\n\nexport type TestClient<\n TMode extends TestClientMode = TestClientMode,\n TTransport extends Transport = Transport,\n TChain extends Chain | undefined = Chain | undefined,\n TIncludeActions extends boolean = true,\n> = Client<TTransport, TestRequests<TMode>, TChain> &\n (TIncludeActions extends true ? TestActions : unknown) & {\n mode: TMode\n }\n\n/**\n * @description Creates a test client with a given transport.\n */\nexport function createTestClient<\n TMode extends TestClientMode,\n TTransport extends Transport,\n TChain extends Chain | undefined = undefined,\n>({\n chain,\n key = 'test',\n name = 'Test Client',\n mode,\n pollingInterval,\n transport,\n}: TestClientConfig<TMode, TTransport, TChain>): TestClient<\n TMode,\n TTransport,\n TChain,\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 } as TestClient<TMode, TTransport, TChain>\n return {\n ...client,\n ...testActions(client),\n }\n}\n","import type { Client, ClientConfig } from './createClient'\nimport { createClient } from './createClient'\nimport type { Transport } from './transports/createTransport'\nimport type {\n Account,\n Address,\n Chain,\n JsonRpcAccount,\n Prettify,\n} from '../types'\nimport { WalletActions, walletActions } from './decorators'\nimport { parseAccount } from '../utils'\nimport type { Requests } from '../types/eip1193'\n\nexport type WalletClientConfig<\n TTransport extends Transport = Transport,\n TChain extends Chain | undefined = Chain | undefined,\n TAccountOrAddress extends Account | Address | undefined =\n | Account\n | Address\n | undefined,\n> = Pick<\n ClientConfig<TTransport, TChain>,\n 'chain' | 'key' | 'name' | 'pollingInterval' | 'transport'\n> & {\n /** The Account to use for the Wallet Client. This will be used for Actions that require an account as an argument. */\n account?: TAccountOrAddress\n}\n\nexport type WalletClient<\n TTransport extends Transport = Transport,\n TChain extends Chain | undefined = Chain | undefined,\n TAccount extends Account | undefined = Account | undefined,\n TIncludeActions extends boolean = true,\n> = Prettify<\n Client<TTransport, Requests, TChain> &\n (TIncludeActions extends true\n ? WalletActions<TChain, TAccount>\n : unknown) & {\n /** The Account to use for the Wallet Client. */\n account: TAccount\n }\n>\n\n/**\n * @description Creates a wallet client with a given transport.\n */\nexport function createWalletClient<\n TTransport extends Transport,\n TChain extends Chain | undefined = undefined,\n TAccountOrAddress extends Account | Address | undefined = undefined,\n>({\n account,\n chain,\n transport,\n key = 'wallet',\n name = 'Wallet Client',\n pollingInterval,\n}: WalletClientConfig<TTransport, TChain, TAccountOrAddress>): WalletClient<\n TTransport,\n TChain,\n TAccountOrAddress extends Address\n ? Prettify<JsonRpcAccount<TAccountOrAddress>>\n : TAccountOrAddress,\n true\n> {\n const client = {\n ...createClient({\n chain,\n key,\n name,\n pollingInterval,\n transport: () => transport({ retryCount: 0 }),\n type: 'walletClient',\n }),\n account: account ? parseAccount(account) : undefined,\n } as WalletClient<\n TTransport,\n TChain,\n TAccountOrAddress extends Address\n ? JsonRpcAccount<TAccountOrAddress>\n : TAccountOrAddress\n >\n return {\n ...client,\n ...walletActions(client),\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-
|
6
|
+
} from "./chunk-DFMQLPHS.mjs";
|
7
7
|
import {
|
8
8
|
AbiConstructorNotFoundError,
|
9
9
|
AbiConstructorParamsNotFoundError,
|
@@ -45,10 +45,12 @@ import {
|
|
45
45
|
InvalidAddressError,
|
46
46
|
InvalidArrayError,
|
47
47
|
InvalidBytesBooleanError,
|
48
|
+
InvalidChainIdError,
|
48
49
|
InvalidDefinitionTypeError,
|
49
50
|
InvalidHexBooleanError,
|
50
51
|
InvalidHexValueError,
|
51
52
|
InvalidInputRpcError,
|
53
|
+
InvalidLegacyVError,
|
52
54
|
InvalidParamsRpcError,
|
53
55
|
InvalidRequestRpcError,
|
54
56
|
JsonRpcVersionUnsupportedError,
|
@@ -82,6 +84,10 @@ import {
|
|
82
84
|
WaitForTransactionReceiptTimeoutError,
|
83
85
|
WebSocketRequestError,
|
84
86
|
addChain,
|
87
|
+
assertRequest,
|
88
|
+
assertTransactionEIP1559,
|
89
|
+
assertTransactionEIP2930,
|
90
|
+
assertTransactionLegacy,
|
85
91
|
boolToBytes,
|
86
92
|
boolToHex,
|
87
93
|
buildRequest,
|
@@ -130,7 +136,6 @@ import {
|
|
130
136
|
fromHex,
|
131
137
|
fromRlp,
|
132
138
|
getAbiItem,
|
133
|
-
getAccount,
|
134
139
|
getAddress,
|
135
140
|
getAddresses,
|
136
141
|
getAutomine,
|
@@ -152,16 +157,19 @@ import {
|
|
152
157
|
getGasPrice,
|
153
158
|
getLogs,
|
154
159
|
getPermissions,
|
160
|
+
getSerializedTransactionType,
|
155
161
|
getSocket,
|
156
162
|
getStorageAt,
|
157
163
|
getTransaction,
|
158
164
|
getTransactionConfirmations,
|
159
165
|
getTransactionCount,
|
160
166
|
getTransactionReceipt,
|
167
|
+
getTransactionType,
|
161
168
|
getTxpoolContent,
|
162
169
|
getTxpoolStatus,
|
163
170
|
gweiUnits,
|
164
171
|
hashMessage,
|
172
|
+
hashTypedData,
|
165
173
|
hexToBigInt,
|
166
174
|
hexToBool,
|
167
175
|
hexToBytes,
|
@@ -174,6 +182,7 @@ import {
|
|
174
182
|
isAddressEqual,
|
175
183
|
isBytes,
|
176
184
|
isDeterministicError,
|
185
|
+
isHash,
|
177
186
|
isHex,
|
178
187
|
keccak256,
|
179
188
|
mine,
|
@@ -188,9 +197,12 @@ import {
|
|
188
197
|
parseAbiItem,
|
189
198
|
parseAbiParameter,
|
190
199
|
parseAbiParameters,
|
200
|
+
parseAccount,
|
191
201
|
parseEther,
|
192
202
|
parseGwei,
|
203
|
+
parseTransaction,
|
193
204
|
parseUnits,
|
205
|
+
prepareRequest,
|
194
206
|
readContract,
|
195
207
|
recoverAddress,
|
196
208
|
recoverMessageAddress,
|
@@ -202,6 +214,7 @@ import {
|
|
202
214
|
rpc,
|
203
215
|
sendTransaction,
|
204
216
|
sendUnsignedTransaction,
|
217
|
+
serializeTransaction,
|
205
218
|
setAutomine,
|
206
219
|
setBalance,
|
207
220
|
setBlockGasLimit,
|
@@ -235,6 +248,7 @@ import {
|
|
235
248
|
transactionType,
|
236
249
|
trim,
|
237
250
|
uninstallFilter,
|
251
|
+
validateTypedData,
|
238
252
|
verifyMessage,
|
239
253
|
waitForTransactionReceipt,
|
240
254
|
watchAsset,
|
@@ -245,7 +259,7 @@ import {
|
|
245
259
|
watchPendingTransactions,
|
246
260
|
weiUnits,
|
247
261
|
writeContract
|
248
|
-
} from "./chunk-
|
262
|
+
} from "./chunk-HYEOQX7O.mjs";
|
249
263
|
|
250
264
|
// src/clients/transports/createTransport.ts
|
251
265
|
function createTransport({
|
@@ -402,7 +416,9 @@ function webSocket(url, config = {}) {
|
|
402
416
|
resolve(data);
|
403
417
|
return;
|
404
418
|
}
|
405
|
-
|
419
|
+
if (data.method !== "eth_subscription")
|
420
|
+
return;
|
421
|
+
onData(data.params);
|
406
422
|
},
|
407
423
|
onError: (error) => {
|
408
424
|
reject(error);
|
@@ -508,36 +524,38 @@ var publicActions = (client) => ({
|
|
508
524
|
});
|
509
525
|
|
510
526
|
// src/clients/decorators/test.ts
|
511
|
-
|
512
|
-
|
513
|
-
|
514
|
-
|
515
|
-
|
516
|
-
|
517
|
-
|
518
|
-
|
519
|
-
|
520
|
-
|
521
|
-
|
522
|
-
|
523
|
-
|
524
|
-
|
525
|
-
|
526
|
-
|
527
|
-
|
528
|
-
|
529
|
-
|
530
|
-
|
531
|
-
|
532
|
-
|
533
|
-
|
534
|
-
|
535
|
-
|
536
|
-
|
537
|
-
|
538
|
-
|
539
|
-
|
540
|
-
|
527
|
+
function testActions(client) {
|
528
|
+
return {
|
529
|
+
dropTransaction: (args) => dropTransaction(client, args),
|
530
|
+
getAutomine: () => getAutomine(client),
|
531
|
+
getTxpoolContent: () => getTxpoolContent(client),
|
532
|
+
getTxpoolStatus: () => getTxpoolStatus(client),
|
533
|
+
impersonateAccount: (args) => impersonateAccount(client, args),
|
534
|
+
increaseTime: (args) => increaseTime(client, args),
|
535
|
+
inspectTxpool: () => inspectTxpool(client),
|
536
|
+
mine: (args) => mine(client, args),
|
537
|
+
removeBlockTimestampInterval: () => removeBlockTimestampInterval(client),
|
538
|
+
reset: (args) => reset(client, args),
|
539
|
+
revert: (args) => revert(client, args),
|
540
|
+
sendUnsignedTransaction: (args) => sendUnsignedTransaction(client, args),
|
541
|
+
setAutomine: (args) => setAutomine(client, args),
|
542
|
+
setBalance: (args) => setBalance(client, args),
|
543
|
+
setBlockGasLimit: (args) => setBlockGasLimit(client, args),
|
544
|
+
setBlockTimestampInterval: (args) => setBlockTimestampInterval(client, args),
|
545
|
+
setCode: (args) => setCode(client, args),
|
546
|
+
setCoinbase: (args) => setCoinbase(client, args),
|
547
|
+
setIntervalMining: (args) => setIntervalMining(client, args),
|
548
|
+
setLoggingEnabled: (args) => setLoggingEnabled(client, args),
|
549
|
+
setMinGasPrice: (args) => setMinGasPrice(client, args),
|
550
|
+
setNextBlockBaseFeePerGas: (args) => setNextBlockBaseFeePerGas(client, args),
|
551
|
+
setNextBlockTimestamp: (args) => setNextBlockTimestamp(client, args),
|
552
|
+
setNonce: (args) => setNonce(client, args),
|
553
|
+
setRpcUrl: (args) => setRpcUrl(client, args),
|
554
|
+
setStorageAt: (args) => setStorageAt(client, args),
|
555
|
+
snapshot: () => snapshot(client),
|
556
|
+
stopImpersonatingAccount: (args) => stopImpersonatingAccount(client, args)
|
557
|
+
};
|
558
|
+
}
|
541
559
|
|
542
560
|
// src/clients/decorators/wallet.ts
|
543
561
|
var walletActions = (client) => ({
|
@@ -606,20 +624,24 @@ function createTestClient({
|
|
606
624
|
|
607
625
|
// src/clients/createWalletClient.ts
|
608
626
|
function createWalletClient({
|
627
|
+
account,
|
609
628
|
chain,
|
610
629
|
transport,
|
611
630
|
key = "wallet",
|
612
631
|
name = "Wallet Client",
|
613
632
|
pollingInterval
|
614
633
|
}) {
|
615
|
-
const client =
|
616
|
-
|
617
|
-
|
618
|
-
|
619
|
-
|
620
|
-
|
621
|
-
|
622
|
-
|
634
|
+
const client = {
|
635
|
+
...createClient({
|
636
|
+
chain,
|
637
|
+
key,
|
638
|
+
name,
|
639
|
+
pollingInterval,
|
640
|
+
transport: () => transport({ retryCount: 0 }),
|
641
|
+
type: "walletClient"
|
642
|
+
}),
|
643
|
+
account: account ? parseAccount(account) : void 0
|
644
|
+
};
|
623
645
|
return {
|
624
646
|
...client,
|
625
647
|
...walletActions(client)
|
@@ -666,10 +688,12 @@ export {
|
|
666
688
|
InvalidAddressError,
|
667
689
|
InvalidArrayError,
|
668
690
|
InvalidBytesBooleanError,
|
691
|
+
InvalidChainIdError,
|
669
692
|
InvalidDefinitionTypeError,
|
670
693
|
InvalidHexBooleanError,
|
671
694
|
InvalidHexValueError,
|
672
695
|
InvalidInputRpcError,
|
696
|
+
InvalidLegacyVError,
|
673
697
|
InvalidParamsRpcError,
|
674
698
|
InvalidRequestRpcError,
|
675
699
|
JsonRpcVersionUnsupportedError,
|
@@ -702,6 +726,10 @@ export {
|
|
702
726
|
UserRejectedRequestError,
|
703
727
|
WaitForTransactionReceiptTimeoutError,
|
704
728
|
WebSocketRequestError,
|
729
|
+
assertRequest,
|
730
|
+
assertTransactionEIP1559,
|
731
|
+
assertTransactionEIP2930,
|
732
|
+
assertTransactionLegacy,
|
705
733
|
boolToBytes,
|
706
734
|
boolToHex,
|
707
735
|
bytesToBigint,
|
@@ -747,7 +775,6 @@ export {
|
|
747
775
|
fromHex,
|
748
776
|
fromRlp,
|
749
777
|
getAbiItem,
|
750
|
-
getAccount,
|
751
778
|
getAddress,
|
752
779
|
getContractAddress,
|
753
780
|
getContractError,
|
@@ -755,8 +782,11 @@ export {
|
|
755
782
|
getCreateAddress,
|
756
783
|
getEventSelector,
|
757
784
|
getFunctionSelector,
|
785
|
+
getSerializedTransactionType,
|
786
|
+
getTransactionType,
|
758
787
|
gweiUnits,
|
759
788
|
hashMessage,
|
789
|
+
hashTypedData,
|
760
790
|
hexToBigInt,
|
761
791
|
hexToBool,
|
762
792
|
hexToBytes,
|
@@ -766,6 +796,7 @@ export {
|
|
766
796
|
isAddress,
|
767
797
|
isAddressEqual,
|
768
798
|
isBytes,
|
799
|
+
isHash,
|
769
800
|
isHex,
|
770
801
|
keccak256,
|
771
802
|
labelhash,
|
@@ -782,9 +813,12 @@ export {
|
|
782
813
|
parseAbiParameters,
|
783
814
|
parseEther,
|
784
815
|
parseGwei,
|
816
|
+
parseTransaction,
|
785
817
|
parseUnits,
|
818
|
+
prepareRequest,
|
786
819
|
recoverAddress,
|
787
820
|
recoverMessageAddress,
|
821
|
+
serializeTransaction,
|
788
822
|
size,
|
789
823
|
slice,
|
790
824
|
sliceBytes,
|
@@ -797,6 +831,7 @@ export {
|
|
797
831
|
toRlp,
|
798
832
|
transactionType,
|
799
833
|
trim,
|
834
|
+
validateTypedData,
|
800
835
|
verifyMessage,
|
801
836
|
webSocket,
|
802
837
|
weiUnits
|