viem 0.2.0-main.20230401T004104 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/accounts/package.json +4 -0
  2. package/dist/abi.d.ts +3 -3
  3. package/dist/abi.js +2 -2
  4. package/dist/abi.mjs +1 -1
  5. package/dist/accounts/index.d.ts +81 -0
  6. package/dist/accounts/index.js +142 -0
  7. package/dist/accounts/index.js.map +1 -0
  8. package/dist/accounts/index.mjs +142 -0
  9. package/dist/accounts/index.mjs.map +1 -0
  10. package/dist/{chain-1b53ef88.d.ts → chain-5507c6f0.d.ts} +212 -148
  11. package/dist/{chain-ec8c485d.d.ts → chain-fe47467d.d.ts} +1 -1
  12. package/dist/chains.d.ts +867 -99
  13. package/dist/chains.js +115 -63
  14. package/dist/chains.js.map +1 -1
  15. package/dist/chains.mjs +58 -6
  16. package/dist/chains.mjs.map +1 -1
  17. package/dist/chunk-63WKWOMO.js +31 -0
  18. package/dist/chunk-63WKWOMO.js.map +1 -0
  19. package/dist/{chunk-U5Z7JOWV.mjs → chunk-FSIBCQFR.mjs} +1886 -261
  20. package/dist/chunk-FSIBCQFR.mjs.map +1 -0
  21. package/dist/chunk-KON3DHPC.mjs +31 -0
  22. package/dist/chunk-KON3DHPC.mjs.map +1 -0
  23. package/dist/{chunk-HBDMIBEO.js → chunk-YDNKDSST.js} +1942 -317
  24. package/dist/chunk-YDNKDSST.js.map +1 -0
  25. package/dist/contract.d.ts +9 -7
  26. package/dist/contract.js +2 -2
  27. package/dist/contract.mjs +1 -1
  28. package/dist/{createTransport-e3eba9f7.d.ts → createTransport-21a0d2b3.d.ts} +24 -10
  29. package/dist/{eip1193-4f4e240c.d.ts → eip1193-2f3a9cd2.d.ts} +1 -1
  30. package/dist/{encodeFunctionResult-1f324375.d.ts → encodeFunctionResult-c5185b98.d.ts} +15 -15
  31. package/dist/{encodePacked-d5d5264a.d.ts → encodePacked-98f67d09.d.ts} +1 -1
  32. package/dist/ens.d.ts +6 -4
  33. package/dist/ens.js +8 -3
  34. package/dist/ens.js.map +1 -1
  35. package/dist/ens.mjs +7 -2
  36. package/dist/ens.mjs.map +1 -1
  37. package/dist/ethers.d.ts +5 -6
  38. package/dist/ethers.js +7 -5
  39. package/dist/ethers.js.map +1 -1
  40. package/dist/ethers.mjs +7 -5
  41. package/dist/ethers.mjs.map +1 -1
  42. package/dist/{formatAbiItem-15e8817d.d.ts → formatAbiItem-56dff508.d.ts} +1 -1
  43. package/dist/{getAbiItem-3e809ff9.d.ts → getAbiItem-bfba73d1.d.ts} +3 -3
  44. package/dist/getEnsResolver-9e26c596.d.ts +876 -0
  45. package/dist/index.d.ts +132 -15
  46. package/dist/index.js +150 -103
  47. package/dist/index.js.map +1 -1
  48. package/dist/index.mjs +96 -49
  49. package/dist/index.mjs.map +1 -1
  50. package/dist/{parseGwei-361e8a12.d.ts → parseGwei-d2147f8b.d.ts} +95 -15
  51. package/dist/public.d.ts +6 -4
  52. package/dist/public.js +2 -2
  53. package/dist/public.mjs +1 -1
  54. package/dist/publicKeyToAddress-623eb398.d.ts +16 -0
  55. package/dist/test-b67569fe.d.ts +198 -0
  56. package/dist/test.d.ts +11 -11
  57. package/dist/test.js +2 -2
  58. package/dist/test.mjs +1 -1
  59. package/dist/typedData-46b4d81f.d.ts +93 -0
  60. package/dist/utils/index.d.ts +22 -30
  61. package/dist/utils/index.js +28 -2
  62. package/dist/utils/index.mjs +31 -5
  63. package/dist/wallet.d.ts +6 -4
  64. package/dist/wallet.js +2 -2
  65. package/dist/wallet.mjs +1 -1
  66. package/dist/window.d.ts +2 -2
  67. package/package.json +13 -4
  68. package/dist/chunk-HBDMIBEO.js.map +0 -1
  69. package/dist/chunk-I5QGTPHV.mjs +0 -186
  70. package/dist/chunk-I5QGTPHV.mjs.map +0 -1
  71. package/dist/chunk-LWNOZI6J.js +0 -186
  72. package/dist/chunk-LWNOZI6J.js.map +0 -1
  73. package/dist/chunk-U5Z7JOWV.mjs.map +0 -1
  74. package/dist/createPublicClient-31d44569.d.ts +0 -841
  75. package/dist/test-67630299.d.ts +0 -205
package/dist/index.d.ts CHANGED
@@ -1,20 +1,24 @@
1
- import { T as TransportConfig, a as Transport, B as BaseRpcRequests } from './createTransport-e3eba9f7.js';
2
- export { C as Client, b as ClientConfig, a as Transport, T as TransportConfig, c as createClient, d as createTransport } from './createTransport-e3eba9f7.js';
3
- import { B as BaseError, H as HttpOptions, R as RpcResponse } from './parseGwei-361e8a12.js';
4
- export { B as BaseError, C as CallExecutionError, a as ContractFunctionExecutionError, b as ContractFunctionRevertedError, c as ContractFunctionZeroDataError, E as EstimateGasExecutionError, d as ExecutionRevertedError, F as FeeCapTooHighError, e as FeeCapTooLowError, G as GetContractAddressOptions, o as GetCreate2AddressOptions, p as GetCreateAddressOptions, I as InsufficientFundsError, f as IntrinsicGasTooHighError, g as IntrinsicGasTooLowError, N as NonceMaxValueError, h as NonceTooHighError, i as NonceTooLowError, j as RawContractError, T as TipAboveFeeCapError, q as ToRlpReturnType, k as TransactionExecutionError, m as TransactionNotFoundError, n as TransactionReceiptNotFoundError, l as TransactionTypeNotSupportedError, U as UnknownNodeError, W as WaitForTransactionReceiptTimeoutError, r as boolToBytes, s as boolToHex, t as bytesToBigint, u as bytesToBool, v as bytesToHex, w as bytesToNumber, x as bytesToString, y as concat, z as concatBytes, A as concatHex, D as formatEther, J as formatGwei, K as formatUnits, L as fromBytes, M as fromHex, O as fromRlp, P as getAccount, Q as getAddress, S as getContractAddress, V as getContractError, X as getCreate2Address, Y as getCreateAddress, Z as getEventSelector, _ as getFunctionSelector, $ as hashMessage, a0 as hexToBigInt, a1 as hexToBool, a2 as hexToBytes, a3 as hexToNumber, a4 as hexToString, a5 as isAddress, a6 as isAddressEqual, a7 as isBytes, a8 as isHex, a9 as keccak256, aa as numberToBytes, ab as numberToHex, ac as pad, ad as padBytes, ae as padHex, af as parseEther, ag as parseGwei, ah as parseUnits, ai as recoverAddress, aj as recoverMessageAddress, ak as size, al as slice, am as sliceBytes, an as sliceHex, ao as stringToBytes, ap as stringToHex, aq as stringify, ar as toBytes, as as toHex, at as toRlp, au as trim, av as verifyMessage } from './parseGwei-361e8a12.js';
1
+ import { P as PublicClient, W as WalletClient, R as ReadContractParameters, a as ReadContractReturnType, E as EstimateContractGasParameters, b as EstimateContractGasReturnType, S as SimulateContractParameters, c as SimulateContractReturnType, d as WriteContractParameters, e as WriteContractReturnType, C as CreateContractEventFilterParameters, f as CreateContractEventFilterReturnType, g as WatchContractEventParameters, h as WatchContractEventReturnType } from './getEnsResolver-9e26c596.js';
2
+ export { A as AddChainParameters, aN as AssetGateway, aO as AssetGatewayUrls, aU as BlockFormatter, i as CallParameters, j as CallReturnType, k as CreateBlockFilterReturnType, C as CreateContractEventFilterParameters, f as CreateContractEventFilterReturnType, l as CreateEventFilterParameters, m as CreateEventFilterReturnType, n as CreatePendingTransactionFilterReturnType, D as DeployContractParameters, o as DeployContractReturnType, p as EstimateGasParameters, q as EstimateGasReturnType, aV as FormattedBlock, aW as FormattedTransactionReceipt, aX as FormattedTransactionRequest, G as GetAddressesReturnType, r as GetBalanceParameters, s as GetBalanceReturnType, t as GetBlockNumberParameters, u as GetBlockNumberReturnType, v as GetBlockParameters, w as GetBlockReturnType, x as GetBlockTransactionCountParameters, y as GetBlockTransactionCountReturnType, z as GetBytecodeParameters, B as GetBytecodeReturnType, F as GetChainIdReturnType, H as GetEnsAddressParameters, I as GetEnsAddressReturnType, J as GetEnsNameParameters, K as GetEnsNameReturnType, L as GetEnsResolverParameters, M as GetEnsResolverReturnType, N as GetFeeHistoryParameters, O as GetFeeHistoryReturnType, Q as GetFilterChangesParameters, T as GetFilterChangesReturnType, U as GetFilterLogsParameters, V as GetFilterLogsReturnType, X as GetGasPriceReturnType, Y as GetLogsParameters, Z as GetLogsReturnType, _ as GetPermissionsReturnType, $ as GetStorageAtParameters, a0 as GetStorageAtReturnType, a1 as GetTransactionConfirmationsParameters, a3 as GetTransactionConfirmationsReturnType, a2 as GetTransactionCountParameters, a4 as GetTransactionCountReturnType, a5 as GetTransactionParameters, a6 as GetTransactionReceiptParameters, a7 as GetTransactionReceiptReturnType, a8 as GetTransactionReturnType, aP as GetTransportConfig, aQ as MulticallContracts, a9 as MulticallParameters, aR as MulticallResult, aS as MulticallResults, aa as MulticallReturnType, ab as OnBlock, ac as OnBlockNumberFn, ad as OnBlockNumberParameter, ae as OnBlockParameter, af as OnLogsFn, ag as OnLogsParameter, ah as OnTransactionsFn, ai as OnTransactionsParameter, aT as ParseAccount, P as PublicClient, aJ as PublicClientConfig, R as ReadContractParameters, a as ReadContractReturnType, aj as ReplacementReason, ak as ReplacementReturnType, al as RequestAddressesReturnType, an as RequestPermissionsParameters, am as RequestPermissionsReturnType, ao as SendTransactionParameters, ap as SendTransactionReturnType, aq as SignMessageParameters, ar as SignMessageReturnType, as as SignTypedDataParameters, at as SignTypedDataReturnType, S as SimulateContractParameters, c as SimulateContractReturnType, au as SwitchChainParameters, aY as TransactionReceiptFormatter, aZ as TransactionRequestFormatter, av as UninstallFilterParameters, aw as UninstallFilterReturnType, ax as WaitForTransactionReceiptParameters, ay as WaitForTransactionReceiptReturnType, W as WalletClient, aK as WalletClientConfig, az as WatchAssetParameters, aA as WatchAssetReturnType, aB as WatchBlockNumberParameters, aC as WatchBlockNumberReturnType, aD as WatchBlocksParameters, aE as WatchBlocksReturnType, g as WatchContractEventParameters, h as WatchContractEventReturnType, aF as WatchEventParameters, aG as WatchEventReturnType, aH as WatchPendingTransactionsParameters, aI as WatchPendingTransactionsReturnType, d as WriteContractParameters, e as WriteContractReturnType, aL as createPublicClient, aM as createWalletClient, a_ as defineBlock, a$ as defineTransactionReceipt, b0 as defineTransactionRequest, b1 as formatBlock, b2 as formatTransactionRequest } from './getEnsResolver-9e26c596.js';
3
+ import { T as TransportConfig, a as Transport, B as BaseRpcRequests } from './createTransport-21a0d2b3.js';
4
+ export { C as Client, b as ClientConfig, a as Transport, T as TransportConfig, c as createClient, d as createTransport } from './createTransport-21a0d2b3.js';
5
+ import { B as BaseError, H as HttpOptions, R as RpcResponse } from './parseGwei-d2147f8b.js';
6
+ export { B as BaseError, C as CallExecutionError, a as ContractFunctionExecutionError, b as ContractFunctionRevertedError, c as ContractFunctionZeroDataError, E as EstimateGasExecutionError, d as ExecutionRevertedError, F as FeeCapTooHighError, e as FeeCapTooLowError, G as GetContractAddressOptions, p as GetCreate2AddressOptions, q as GetCreateAddressOptions, r as GetSerializedTransactionType, s as GetTransactionType, t as HashTypedDataParameters, u as HashTypedDataReturnType, I as InsufficientFundsError, f as IntrinsicGasTooHighError, g as IntrinsicGasTooLowError, h as InvalidLegacyVError, N as NonceMaxValueError, i as NonceTooHighError, j as NonceTooLowError, k as RawContractError, v as RecoverAddressParameters, w as RecoverAddressReturnType, x as RecoverMessageAddressParameters, y as RecoverMessageAddressReturnType, z as RecoverTypedDataAddressParameters, A as RecoverTypedDataAddressReturnType, T as TipAboveFeeCapError, D as ToRlpReturnType, l as TransactionExecutionError, n as TransactionNotFoundError, o as TransactionReceiptNotFoundError, m as TransactionTypeNotSupportedError, U as UnknownNodeError, V as VerifyMessageParameters, J as VerifyMessageReturnType, K as VerifyTypedDataParameters, L as VerifyTypedDataReturnType, W as WaitForTransactionReceiptTimeoutError, M as assertRequest, O as assertTransactionEIP1559, P as assertTransactionEIP2930, Q as assertTransactionLegacy, S as boolToBytes, X as boolToHex, Y as bytesToBigint, Z as bytesToBool, _ as bytesToHex, $ as bytesToNumber, a0 as bytesToString, a1 as concat, a2 as concatBytes, a3 as concatHex, a4 as formatEther, a5 as formatGwei, a6 as formatUnits, a7 as fromBytes, a8 as fromHex, a9 as fromRlp, aa as getAddress, ab as getContractAddress, ac as getContractError, ad as getCreate2Address, ae as getCreateAddress, af as getEventSelector, ag as getFunctionSelector, ah as getSerializedTransactionType, ai as getTransactionType, aj as hashMessage, ak as hashTypedData, al as hexToBigInt, am as hexToBool, an as hexToBytes, ao as hexToNumber, ap as hexToString, aq as isAddress, ar as isAddressEqual, as as isBytes, at as isHash, au as isHex, av as keccak256, aw as numberToBytes, ax as numberToHex, ay as pad, az as padBytes, aA as padHex, aB as parseEther, aC as parseGwei, aD as parseTransaction, aE as parseUnits, aF as prepareRequest, aG as recoverAddress, aH as recoverMessageAddress, aI as recoverTypedDataAddress, aJ as serializeTransaction, aK as size, aL as slice, aM as sliceBytes, aN as sliceHex, aO as stringToBytes, aP as stringToHex, aQ as stringify, aR as toBytes, aS as toHex, aT as toRlp, aU as trim, aV as validateTypedData, aW as verifyMessage, aX as verifyTypedData } from './parseGwei-d2147f8b.js';
5
7
  import WebSocket from 'isomorphic-ws';
6
- import { H as Hex, A as AbiItem, a as Hash, C as Chain, B as ByteArray } from './chain-1b53ef88.js';
7
- export { A as AbiItem, b as AccessList, c as Block, d as BlockIdentifier, e as BlockNumber, f as BlockTag, B as ByteArray, C as Chain, g as ContractConfig, E as ExtractArgsFromAbi, h as ExtractConstructorArgsFromAbi, i as ExtractErrorArgsFromAbi, j as ExtractErrorNameFromAbi, k as ExtractEventArgsFromAbi, l as ExtractEventArgsFromTopics, m as ExtractEventNameFromAbi, W as ExtractFormatter, n as ExtractFunctionNameFromAbi, o as ExtractNameFromAbi, p as ExtractResultFromAbi, F as FeeHistory, q as FeeValues, r as FeeValuesEIP1559, s as FeeValuesLegacy, X as Formatted, Y as FormattedTransaction, a as Hash, H as Hex, L as Log, R as RpcBlock, t as RpcBlockIdentifier, u as RpcBlockNumber, v as RpcFeeHistory, w as RpcFeeValues, x as RpcLog, y as RpcTransaction, z as RpcTransactionReceipt, D as RpcTransactionRequest, G as RpcUncle, O as Transaction, P as TransactionBase, Q as TransactionEIP1559, S as TransactionEIP2930, Z as TransactionFormatter, U as TransactionLegacy, T as TransactionReceipt, I as TransactionRequest, J as TransactionRequestBase, K as TransactionRequestEIP1559, M as TransactionRequestEIP2930, N as TransactionRequestLegacy, V as Uncle, _ as defineTransaction, $ as formatTransaction, a0 as transactionType } from './chain-1b53ef88.js';
8
- export { A as Account, B as BlockFormatter, F as FormattedBlock, e as FormattedTransactionReceipt, f as FormattedTransactionRequest, J as JsonRpcAccount, L as LocalAccount, P as PublicClient, a as PublicClientConfig, T as TransactionReceiptFormatter, g as TransactionRequestFormatter, W as WalletClient, b as WalletClientConfig, c as createPublicClient, d as createWalletClient, h as defineBlock, i as defineTransactionReceipt, j as defineTransactionRequest, k as formatBlock, l as formatTransactionRequest } from './createPublicClient-31d44569.js';
9
- export { T as TestClient, a as TestClientConfig, c as createTestClient } from './test-67630299.js';
10
- import { AbiParameter } from 'abitype';
8
+ import { H as Hex, A as AbiItem, a as Hash, C as Chain, B as ByteArray, I as IsNarrowable, P as Prettify, b as IsNever, c as IsUndefined, d as AbiEventParametersToPrimitiveTypes, M as MaybeExtractEventArgsFromAbi } from './chain-5507c6f0.js';
9
+ export { A as AbiItem, e as AccessList, f as Block, g as BlockIdentifier, h as BlockNumber, i as BlockTag, B as ByteArray, C as Chain, j as ContractFunctionConfig, k as ContractFunctionResult, aa as ExtractFormatter, F as FeeHistory, l as FeeValues, m as FeeValuesEIP1559, n as FeeValuesLegacy, ab as Formatted, ac as FormattedTransaction, G as GetConstructorArgs, o as GetErrorArgs, p as GetEventArgs, q as GetEventArgsFromTopics, r as GetFunctionArgs, a as Hash, H as Hex, s as InferErrorName, t as InferEventName, u as InferFunctionName, v as InferItemName, L as Log, R as RpcBlock, w as RpcBlockIdentifier, x as RpcBlockNumber, y as RpcFeeHistory, z as RpcFeeValues, D as RpcLog, E as RpcTransaction, J as RpcTransactionReceipt, K as RpcTransactionRequest, N as RpcUncle, T as Transaction, O as TransactionBase, Q as TransactionEIP1559, S as TransactionEIP2930, ad as TransactionFormatter, U as TransactionLegacy, V as TransactionReceipt, W as TransactionRequest, X as TransactionRequestBase, Y as TransactionRequestEIP1559, Z as TransactionRequestEIP2930, _ as TransactionRequestLegacy, $ as TransactionSerializable, a0 as TransactionSerializableBase, a1 as TransactionSerializableEIP1559, a2 as TransactionSerializableEIP2930, a3 as TransactionSerializableLegacy, a4 as TransactionSerialized, a5 as TransactionSerializedEIP1559, a6 as TransactionSerializedEIP2930, a7 as TransactionSerializedLegacy, a8 as TransactionType, a9 as Uncle, ae as defineTransaction, af as formatTransaction, ag as transactionType } from './chain-5507c6f0.js';
10
+ export { D as DropTransactionParameters, I as ImpersonateAccountParameters, a as IncreaseTimeParameters, M as MineParameters, R as ResetParameters, b as RevertParameters, S as SendUnsignedTransactionParameters, c as SendUnsignedTransactionReturnType, d as SetBalanceParameters, e as SetBlockGasLimitParameters, f as SetBlockTimestampIntervalParameters, g as SetCodeParameters, h as SetCoinbaseParameters, i as SetIntervalMiningParameters, j as SetMinGasPriceParameters, k as SetNextBlockBaseFeePerGasParameters, l as SetNextBlockTimestampParameters, m as SetNonceParameters, n as SetStorageAtParameters, o as StopImpersonatingAccountParameters, T as TestClient, p as TestClientConfig, q as createTestClient } from './test-b67569fe.js';
11
+ import { AbiParameter, Abi, Narrow, Address, ExtractAbiEventNames, ExtractAbiFunctionNames, AbiFunction, ExtractAbiFunction, AbiParametersToPrimitiveTypes, AbiEvent, ExtractAbiEvent } from 'abitype';
11
12
  export { Address, ParseAbi, ParseAbiItem, ParseAbiParameter, ParseAbiParameters, parseAbi, parseAbiItem, parseAbiParameter, parseAbiParameters } from 'abitype';
13
+ import { A as Account } from './typedData-46b4d81f.js';
14
+ export { A as Account, a as AccountSource, C as CustomSource, H as HDAccount, b as HDOptions, J as JsonRpcAccount, L as LocalAccount } from './typedData-46b4d81f.js';
12
15
  export { l as labelhash, n as namehash } from './namehash-afff0feb.js';
13
- export { D as DecodeAbiParametersReturnType, E as EncodeAbiParametersReturnType, G as GetAbiItemParameters, d as decodeAbiParameters, e as encodeAbiParameters, g as getAbiItem } from './getAbiItem-3e809ff9.js';
14
- export { D as DecodeErrorResultParameters, a as DecodeErrorResultReturnType, b as DecodeEventLogParameters, c as DecodeEventLogReturnType, d as DecodeFunctionDataParameters, e as DecodeFunctionResultParameters, f as DecodeFunctionResultReturnType, E as EncodeDeployDataParameters, g as EncodeErrorResultParameters, h as EncodeEventTopicsParameters, i as EncodeFunctionDataParameters, j as EncodeFunctionResultParameters, k as decodeErrorResult, l as decodeEventLog, m as decodeFunctionData, n as decodeFunctionResult, o as encodeDeployData, p as encodeErrorResult, q as encodeEventTopics, r as encodeFunctionData, s as encodeFunctionResult } from './encodeFunctionResult-1f324375.js';
15
- export { e as encodePacked } from './encodePacked-d5d5264a.js';
16
- export { d as defineChain } from './chain-ec8c485d.js';
17
- import './eip1193-4f4e240c.js';
16
+ export { D as DecodeAbiParametersReturnType, E as EncodeAbiParametersReturnType, G as GetAbiItemParameters, d as decodeAbiParameters, e as encodeAbiParameters, g as getAbiItem } from './getAbiItem-bfba73d1.js';
17
+ export { D as DecodeErrorResultParameters, a as DecodeErrorResultReturnType, b as DecodeEventLogParameters, c as DecodeEventLogReturnType, d as DecodeFunctionDataParameters, e as DecodeFunctionResultParameters, f as DecodeFunctionResultReturnType, E as EncodeDeployDataParameters, g as EncodeErrorResultParameters, h as EncodeEventTopicsParameters, i as EncodeFunctionDataParameters, j as EncodeFunctionResultParameters, k as decodeErrorResult, l as decodeEventLog, m as decodeFunctionData, n as decodeFunctionResult, o as encodeDeployData, p as encodeErrorResult, q as encodeEventTopics, r as encodeFunctionData, s as encodeFunctionResult } from './encodeFunctionResult-c5185b98.js';
18
+ export { e as encodePacked } from './encodePacked-98f67d09.js';
19
+ export { d as defineChain } from './chain-fe47467d.js';
20
+ export { HDKey } from '@scure/bip32';
21
+ import './eip1193-2f3a9cd2.js';
18
22
  import '@wagmi/chains';
19
23
 
20
24
  declare class AbiConstructorNotFoundError extends BaseError {
@@ -162,6 +166,12 @@ declare class ChainDoesNotSupportContract extends BaseError {
162
166
  };
163
167
  });
164
168
  }
169
+ declare class InvalidChainIdError extends BaseError {
170
+ name: string;
171
+ constructor({ chainId }: {
172
+ chainId: number;
173
+ });
174
+ }
165
175
 
166
176
  declare class SizeExceedsPaddingSizeError extends BaseError {
167
177
  name: string;
@@ -206,6 +216,13 @@ declare class OffsetOutOfBoundsError extends BaseError {
206
216
  });
207
217
  }
208
218
 
219
+ declare class EnsAvatarUriResolutionError extends BaseError {
220
+ name: string;
221
+ constructor({ uri }: {
222
+ uri: string;
223
+ });
224
+ }
225
+
209
226
  declare class FilterTypeNotSupportedError extends BaseError {
210
227
  name: string;
211
228
  constructor(type: string);
@@ -491,6 +508,106 @@ declare function webSocket(
491
508
  /** URL of the JSON-RPC API. Defaults to the chain's public RPC URL. */
492
509
  url?: string, config?: WebSocketTransportConfig): WebSocketTransport;
493
510
 
511
+ type GetContractParameters<TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TAccount extends Account | undefined = Account | undefined, TAbi extends Abi | readonly unknown[] = Abi, TPublicClient extends PublicClient<TTransport, TChain> | unknown = unknown, TWalletClient extends WalletClient<TTransport, TChain, TAccount> | unknown = unknown> = {
512
+ /** Contract ABI */
513
+ abi: Narrow<TAbi>;
514
+ /** Contract address */
515
+ address: Address;
516
+ /** Public client */
517
+ publicClient?: TPublicClient;
518
+ /** Wallet client */
519
+ walletClient?: TWalletClient;
520
+ };
521
+ type GetContractReturnType<TAbi extends Abi | readonly unknown[] = Abi, TPublicClient extends PublicClient | unknown = unknown, TWalletClient extends WalletClient | unknown = unknown, _EventNames extends string = TAbi extends Abi ? Abi extends TAbi ? string : ExtractAbiEventNames<TAbi> : string, _ReadFunctionNames extends string = TAbi extends Abi ? Abi extends TAbi ? string : ExtractAbiFunctionNames<TAbi, 'pure' | 'view'> : string, _WriteFunctionNames extends string = TAbi extends Abi ? Abi extends TAbi ? string : ExtractAbiFunctionNames<TAbi, 'nonpayable' | 'payable'> : string, _Narrowable extends boolean = IsNarrowable<TAbi, Abi>> = Prettify<(TPublicClient extends PublicClient ? (IsNever<_ReadFunctionNames> extends true ? unknown : {
522
+ /**
523
+ * Calls a read-only function on a contract, and returns the response.
524
+ *
525
+ * A "read-only" function (constant function) on a Solidity contract is denoted by a `view` or `pure` keyword. They can only read the state of the contract, and cannot make any changes to it. Since read-only methods do not change the state of the contract, they do not require any gas to be executed, and can be called by any user without the need to pay for gas.
526
+ *
527
+ * Internally, `read` uses a [Public Client](https://viem.sh/docs/clients/public.html) to call the [`call` action](https://viem.sh/docs/actions/public/call.html) with [ABI-encoded `data`](https://viem.sh/docs/contract/encodeFunctionData.html).
528
+ */
529
+ read: {
530
+ [FunctionName in _ReadFunctionNames]: GetReadFunction<_Narrowable, TAbi, FunctionName>;
531
+ };
532
+ }) & (IsNever<_WriteFunctionNames> extends true ? unknown : {
533
+ /**
534
+ * Estimates the gas necessary to complete a transaction without submitting it to the network.
535
+ */
536
+ estimateGas: {
537
+ [FunctionName in _WriteFunctionNames]: GetEstimateFunction<_Narrowable, TPublicClient extends PublicClient ? TPublicClient['chain'] : undefined, TAbi, FunctionName>;
538
+ };
539
+ /**
540
+ * Simulates/validates a contract interaction. This is useful for retrieving return data and revert reasons of contract write functions.
541
+ *
542
+ * This function does not require gas to execute and does not change the state of the blockchain. It is almost identical to [`readContract`](https://viem.sh/docs/contract/readContract.html), but also supports contract write functions.
543
+ *
544
+ * Internally, `simulate` uses a [Public Client](https://viem.sh/docs/clients/public.html) to call the [`call` action](https://viem.sh/docs/actions/public/call.html) with [ABI-encoded `data`](https://viem.sh/docs/contract/encodeFunctionData.html).
545
+ */
546
+ simulate: {
547
+ [FunctionName in _WriteFunctionNames]: GetSimulateFunction<_Narrowable, TPublicClient extends PublicClient ? TPublicClient['chain'] : undefined, TAbi, FunctionName>;
548
+ };
549
+ }) & (IsNever<_EventNames> extends true ? unknown : {
550
+ /**
551
+ * Creates a Filter to retrieve event logs that can be used with [`getFilterChanges`](https://viem.sh/docs/actions/public/getFilterChanges.html) or [`getFilterLogs`](https://viem.sh/docs/actions/public/getFilterLogs.html).
552
+ */
553
+ createEventFilter: {
554
+ [EventName in _EventNames]: GetEventFilter<_Narrowable, TAbi, EventName>;
555
+ };
556
+ /**
557
+ * Watches and returns emitted contract event logs.
558
+ *
559
+ * This Action will batch up all the event logs found within the [`pollingInterval`](https://viem.sh/docs/contract/watchContractEvent.html#pollinginterval-optional), and invoke them via [`onLogs`](https://viem.sh/docs/contract/watchContractEvent.html#onLogs).
560
+ *
561
+ * `watchEvent` will attempt to create an [Event Filter](https://viem.sh/docs/contract/createContractEventFilter.html) and listen to changes to the Filter per polling interval, however, if the RPC Provider does not support Filters (e.g. `eth_newFilter`), then `watchEvent` will fall back to using [`getLogs`](https://viem.sh/docs/actions/public/getLogs.html) instead.
562
+ */
563
+ watchEvent: {
564
+ [EventName in _EventNames]: GetWatchEvent<_Narrowable, TAbi, EventName>;
565
+ };
566
+ }) : unknown) & (TWalletClient extends WalletClient ? IsNever<_WriteFunctionNames> extends true ? unknown : {
567
+ /**
568
+ * Executes a write function on a contract.
569
+ *
570
+ * A "write" function on a Solidity contract modifies the state of the blockchain. These types of functions require gas to be executed, and hence a [Transaction](https://viem.sh/docs/glossary/terms.html) is needed to be broadcast in order to change the state.
571
+ *
572
+ * Internally, `write` uses a [Wallet Client](https://viem.sh/docs/clients/wallet.html) to call the [`sendTransaction` action](https://viem.sh/docs/actions/wallet/sendTransaction.html) with [ABI-encoded `data`](https://viem.sh/docs/contract/encodeFunctionData.html).
573
+ *
574
+ * Warning: The `write` internally sends a transaction – it does not validate if the contract write will succeed (the contract may throw an error). It is highly recommended to [simulate the contract write with `contract.simulate`](https://viem.sh/docs/contract/writeContract.html#usage) before you execute it.
575
+ */
576
+ write: {
577
+ [FunctionName in _WriteFunctionNames]: GetWriteFunction<_Narrowable, TWalletClient extends WalletClient ? TWalletClient['chain'] : undefined, TWalletClient extends WalletClient ? TWalletClient['account'] : undefined, TAbi, FunctionName>;
578
+ };
579
+ } : unknown)>;
580
+ /**
581
+ * Gets type-safe contract instance.
582
+ */
583
+ declare function getContract<TTransport extends Transport, TAbi extends Abi | readonly unknown[], TChain extends Chain | undefined = Chain | undefined, TAccount extends Account | undefined = Account | undefined, TPublicClient extends PublicClient<TTransport, TChain> | undefined = PublicClient<TTransport, TChain> | undefined, TWalletClient extends WalletClient<TTransport, TChain, TAccount> | undefined = WalletClient<TTransport, TChain, TAccount> | undefined>({ abi, address, publicClient, walletClient, }: GetContractParameters<TTransport, TChain, TAccount, TAbi, TPublicClient, TWalletClient>): GetContractReturnType<TAbi, TPublicClient, TWalletClient>;
584
+ type GetReadFunction<Narrowable extends boolean, TAbi extends Abi | readonly unknown[], TFunctionName extends string, TAbiFunction extends AbiFunction = TAbi extends Abi ? ExtractAbiFunction<TAbi, TFunctionName> : AbiFunction, Args = AbiParametersToPrimitiveTypes<TAbiFunction['inputs']>, Options = Prettify<Omit<ReadContractParameters<TAbi, TFunctionName>, 'abi' | 'address' | 'args' | 'functionName'>>> = Narrowable extends true ? (...parameters: Args extends readonly [] ? [options?: Options] : [args: Args, options?: Options]) => Promise<ReadContractReturnType<TAbi, TFunctionName>> : (...parameters: [options?: Options] | [args: readonly unknown[], options?: Options]) => Promise<ReadContractReturnType>;
585
+ type GetEstimateFunction<Narrowable extends boolean, TChain extends Chain | undefined, TAbi extends Abi | readonly unknown[], TFunctionName extends string, TAbiFunction extends AbiFunction = TAbi extends Abi ? ExtractAbiFunction<TAbi, TFunctionName> : AbiFunction, Args = AbiParametersToPrimitiveTypes<TAbiFunction['inputs']>, Options = Prettify<Omit<EstimateContractGasParameters<TAbi, TFunctionName, TChain>, 'abi' | 'address' | 'args' | 'functionName'>>> = Narrowable extends true ? (...parameters: Args extends readonly [] ? [options?: Options] : [args: Args, options?: Options]) => Promise<EstimateContractGasReturnType> : (...parameters: [options?: Options] | [args: readonly unknown[], options?: Options]) => Promise<EstimateContractGasReturnType>;
586
+ type GetSimulateFunction<Narrowable extends boolean, TChain extends Chain | undefined, TAbi extends Abi | readonly unknown[], TFunctionName extends string, TAbiFunction extends AbiFunction = TAbi extends Abi ? ExtractAbiFunction<TAbi, TFunctionName> : AbiFunction, Args = AbiParametersToPrimitiveTypes<TAbiFunction['inputs']>> = Narrowable extends true ? <TChainOverride extends Chain | undefined, Options extends Prettify<Omit<SimulateContractParameters<TAbi, TFunctionName, TChain, TChainOverride>, 'abi' | 'address' | 'args' | 'functionName'>>>(...parameters: Args extends readonly [] ? [options?: Options] : [args: Args, options?: Options]) => Promise<SimulateContractReturnType<TAbi, TFunctionName, TChain, TChainOverride>> : <TChainOverride extends Chain | undefined, Options extends Prettify<Omit<SimulateContractParameters<TAbi, TFunctionName, TChain, TChainOverride>, 'abi' | 'address' | 'args' | 'functionName'>>>(...parameters: [options?: Options] | [args: readonly unknown[], options?: Options]) => Promise<SimulateContractReturnType>;
587
+ type GetWriteFunction<Narrowable extends boolean, TChain extends Chain | undefined, TAccount extends Account | undefined, TAbi extends Abi | readonly unknown[], TFunctionName extends string, TAbiFunction extends AbiFunction = TAbi extends Abi ? ExtractAbiFunction<TAbi, TFunctionName> : AbiFunction, Args = AbiParametersToPrimitiveTypes<TAbiFunction['inputs']>, IsOptionsRequired = [IsUndefined<TAccount>, IsUndefined<TChain>] extends [true, false] | [false, true] ? true : false> = Narrowable extends true ? <TChainOverride extends Chain | undefined, Options extends Prettify<Omit<WriteContractParameters<TAbi, TFunctionName, TChain, TAccount, TChainOverride>, 'abi' | 'address' | 'args' | 'functionName'>>, Rest extends IsOptionsRequired extends true ? [options: Options] : [options?: Options]>(...parameters: Args extends readonly [] ? Rest : [args: Args, ...parameters: Rest]) => Promise<WriteContractReturnType> : <TChainOverride extends Chain | undefined, Options extends Prettify<Omit<WriteContractParameters<TAbi, TFunctionName, TChain, TAccount, TChainOverride>, 'abi' | 'address' | 'args' | 'functionName'>>, Rest extends unknown[] = IsOptionsRequired extends true ? [options: Options] : [options?: Options]>(...parameters: Rest | [args: readonly unknown[], ...parameters: Rest]) => Promise<WriteContractReturnType>;
588
+ type GetEventFilter<Narrowable extends boolean, TAbi extends Abi | readonly unknown[], TEventName extends string, TAbiEvent extends AbiEvent = TAbi extends Abi ? ExtractAbiEvent<TAbi, TEventName> : AbiEvent, Args = AbiEventParametersToPrimitiveTypes<TAbiEvent['inputs']>, Options = Prettify<Omit<CreateContractEventFilterParameters<TAbi, TEventName>, 'abi' | 'address' | 'args' | 'eventName'>>, IndexedInputs = Extract<TAbiEvent['inputs'][number], {
589
+ indexed: true;
590
+ }>> = Narrowable extends true ? <TArgs extends MaybeExtractEventArgsFromAbi<TAbi, TEventName> | undefined>(...parameters: IsNever<IndexedInputs> extends true ? [options?: Options] : [
591
+ args: Args | (Args extends Narrow<TArgs> ? Narrow<TArgs> : never),
592
+ options?: Options
593
+ ]) => Promise<CreateContractEventFilterReturnType<TAbi, TEventName, TArgs>> : (...parameters: [options?: Options] | [
594
+ args: readonly unknown[] | CreateContractFilterOptions,
595
+ options?: Options
596
+ ]) => Promise<CreateContractEventFilterReturnType>;
597
+ type GetWatchEvent<Narrowable extends boolean, TAbi extends Abi | readonly unknown[], TEventName extends string, TAbiEvent extends AbiEvent = TAbi extends Abi ? ExtractAbiEvent<TAbi, TEventName> : AbiEvent, Args = AbiEventParametersToPrimitiveTypes<TAbiEvent['inputs']>, Options = Prettify<Omit<WatchContractEventParameters<TAbi, TEventName>, 'abi' | 'address' | 'args' | 'eventName'>>, IndexedInputs = Extract<TAbiEvent['inputs'][number], {
598
+ indexed: true;
599
+ }>> = Narrowable extends true ? (...parameters: IsNever<IndexedInputs> extends true ? [options: Options] : [args: Args, options: Options]) => WatchContractEventReturnType : (...parameters: [options?: Options] | [
600
+ args: readonly unknown[] | WatchContractEventOptions,
601
+ options?: Options
602
+ ]) => WatchContractEventReturnType;
603
+ type CreateContractFilterOptions = RemoveProperties<CreateContractEventFilterParameters>;
604
+ type WatchContractEventOptions = RemoveProperties<WatchContractEventParameters>;
605
+ type RemoveProperties<T extends object> = Prettify<{
606
+ [key: string]: unknown;
607
+ } & {
608
+ [_ in keyof T]?: never;
609
+ }>;
610
+
494
611
  declare const multicall3Abi: readonly [{
495
612
  readonly inputs: readonly [{
496
613
  readonly components: readonly [{
@@ -535,4 +652,4 @@ declare const weiUnits: {
535
652
  gwei: number;
536
653
  };
537
654
 
538
- export { AbiConstructorNotFoundError, AbiConstructorParamsNotFoundError, AbiDecodingDataSizeInvalidError, AbiDecodingZeroDataError, AbiEncodingArrayLengthMismatchError, AbiEncodingLengthMismatchError, AbiErrorInputsNotFoundError, AbiErrorNotFoundError, AbiErrorSignatureNotFoundError, AbiEventNotFoundError, AbiEventSignatureEmptyTopicsError, AbiEventSignatureNotFoundError, AbiFunctionNotFoundError, AbiFunctionOutputsNotFoundError, AbiFunctionSignatureNotFoundError, BlockNotFoundError, ChainDoesNotSupportContract, CustomTransport, CustomTransportConfig, DataLengthTooLongError, DataLengthTooShortError, DecodeLogTopicsMismatch, FallbackTransport, FallbackTransportConfig, FilterTypeNotSupportedError, HttpRequestError, HttpTransport, HttpTransportConfig, InternalRpcError, InvalidAbiDecodingTypeError, InvalidAbiEncodingTypeError, InvalidAddressError, InvalidArrayError, InvalidBytesBooleanError, InvalidDefinitionTypeError, InvalidHexBooleanError, InvalidHexValueError, InvalidInputRpcError, InvalidParamsRpcError, InvalidRequestRpcError, JsonRpcVersionUnsupportedError, LimitExceededRpcError, MethodNotFoundRpcError, MethodNotSupportedRpcError, OffsetOutOfBoundsError, ParseRpcError, RequestError, ResourceNotFoundRpcError, ResourceUnavailableRpcError, RpcError, RpcRequestError, SizeExceedsPaddingSizeError, SwitchChainError, TimeoutError, TransactionRejectedRpcError, UnknownRpcError, UrlRequiredError, UserRejectedRequestError, WebSocketRequestError, WebSocketTransport, WebSocketTransportConfig, custom, etherUnits, fallback, gweiUnits, http, multicall3Abi, webSocket, weiUnits };
655
+ export { AbiConstructorNotFoundError, AbiConstructorParamsNotFoundError, AbiDecodingDataSizeInvalidError, AbiDecodingZeroDataError, AbiEncodingArrayLengthMismatchError, AbiEncodingLengthMismatchError, AbiErrorInputsNotFoundError, AbiErrorNotFoundError, AbiErrorSignatureNotFoundError, AbiEventNotFoundError, AbiEventSignatureEmptyTopicsError, AbiEventSignatureNotFoundError, AbiFunctionNotFoundError, AbiFunctionOutputsNotFoundError, AbiFunctionSignatureNotFoundError, BlockNotFoundError, ChainDoesNotSupportContract, CustomTransport, CustomTransportConfig, DataLengthTooLongError, DataLengthTooShortError, DecodeLogTopicsMismatch, EnsAvatarUriResolutionError, FallbackTransport, FallbackTransportConfig, FilterTypeNotSupportedError, GetContractParameters, GetContractReturnType, HttpRequestError, HttpTransport, HttpTransportConfig, InternalRpcError, InvalidAbiDecodingTypeError, InvalidAbiEncodingTypeError, InvalidAddressError, InvalidArrayError, InvalidBytesBooleanError, InvalidChainIdError, InvalidDefinitionTypeError, InvalidHexBooleanError, InvalidHexValueError, InvalidInputRpcError, InvalidParamsRpcError, InvalidRequestRpcError, JsonRpcVersionUnsupportedError, LimitExceededRpcError, MethodNotFoundRpcError, MethodNotSupportedRpcError, OffsetOutOfBoundsError, ParseRpcError, RequestError, ResourceNotFoundRpcError, ResourceUnavailableRpcError, RpcError, RpcRequestError, SizeExceedsPaddingSizeError, SwitchChainError, TimeoutError, TransactionRejectedRpcError, UnknownRpcError, UrlRequiredError, UserRejectedRequestError, WebSocketRequestError, WebSocketTransport, WebSocketTransportConfig, custom, etherUnits, fallback, getContract, gweiUnits, http, multicall3Abi, webSocket, weiUnits };