viem 0.1.7 → 0.1.9

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 (43) hide show
  1. package/README.md +30 -19
  2. package/dist/abi.js +2 -2
  3. package/dist/abi.mjs +1 -1
  4. package/dist/chain-81b3f26c.d.ts +10 -0
  5. package/dist/chains.d.ts +1 -1
  6. package/dist/chains.js +63 -63
  7. package/dist/chains.mjs +1 -1
  8. package/dist/{chunk-VCNJ6RWU.mjs → chunk-BYG4UCLI.mjs} +13 -35
  9. package/dist/chunk-BYG4UCLI.mjs.map +1 -0
  10. package/dist/{chunk-5YM5CAWB.mjs → chunk-GQ3EDBYX.mjs} +44 -8
  11. package/dist/chunk-GQ3EDBYX.mjs.map +1 -0
  12. package/dist/{chunk-JA5TVU7G.js → chunk-JTX5BKWL.js} +28 -50
  13. package/dist/chunk-JTX5BKWL.js.map +1 -0
  14. package/dist/{chunk-CVKYFX2W.js → chunk-NJT5TACH.js} +86 -50
  15. package/dist/chunk-NJT5TACH.js.map +1 -0
  16. package/dist/contract.d.ts +1 -1
  17. package/dist/contract.js +2 -2
  18. package/dist/contract.mjs +1 -1
  19. package/dist/{createPublicClient-b12dc2b7.d.ts → createPublicClient-4d54af8a.d.ts} +1 -1
  20. package/dist/ens.d.ts +1 -1
  21. package/dist/ens.js +3 -3
  22. package/dist/ens.mjs +2 -2
  23. package/dist/index.d.ts +4 -4
  24. package/dist/index.js +89 -89
  25. package/dist/index.mjs +2 -2
  26. package/dist/{parseGwei-ac04b47a.d.ts → parseGwei-66ef1ac7.d.ts} +1 -1
  27. package/dist/public.d.ts +1 -1
  28. package/dist/public.js +2 -2
  29. package/dist/public.mjs +1 -1
  30. package/dist/test.js +2 -2
  31. package/dist/test.mjs +1 -1
  32. package/dist/utils/index.d.ts +5 -5
  33. package/dist/utils/index.js +4 -2
  34. package/dist/utils/index.mjs +3 -1
  35. package/dist/wallet.d.ts +1 -1
  36. package/dist/wallet.js +2 -2
  37. package/dist/wallet.mjs +1 -1
  38. package/package.json +1 -1
  39. package/dist/chain-688e1663.d.ts +0 -5
  40. package/dist/chunk-5YM5CAWB.mjs.map +0 -1
  41. package/dist/chunk-CVKYFX2W.js.map +0 -1
  42. package/dist/chunk-JA5TVU7G.js.map +0 -1
  43. package/dist/chunk-VCNJ6RWU.mjs.map +0 -1
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
4
 
@@ -11,27 +11,27 @@
11
11
 
12
12
 
13
13
 
14
- var _chunkCVKYFX2Wjs = require('./chunk-CVKYFX2W.js');
14
+ var _chunkNJT5TACHjs = require('./chunk-NJT5TACH.js');
15
15
 
16
16
  // src/utils/ens/labelhash.ts
17
17
  function labelhash(label) {
18
18
  let result = new Uint8Array(32).fill(0);
19
19
  if (!label)
20
- return _chunkCVKYFX2Wjs.bytesToHex.call(void 0, result);
21
- return _chunkCVKYFX2Wjs.keccak256.call(void 0, _chunkCVKYFX2Wjs.stringToBytes.call(void 0, label));
20
+ return _chunkNJT5TACHjs.bytesToHex.call(void 0, result);
21
+ return _chunkNJT5TACHjs.keccak256.call(void 0, _chunkNJT5TACHjs.stringToBytes.call(void 0, label));
22
22
  }
23
23
 
24
24
  // src/utils/ens/namehash.ts
25
25
  function namehash(name) {
26
26
  let result = new Uint8Array(32).fill(0);
27
27
  if (!name)
28
- return _chunkCVKYFX2Wjs.bytesToHex.call(void 0, result);
28
+ return _chunkNJT5TACHjs.bytesToHex.call(void 0, result);
29
29
  const labels = name.split(".");
30
30
  for (let i = labels.length - 1; i >= 0; i -= 1) {
31
- const hashed = _chunkCVKYFX2Wjs.keccak256.call(void 0, _chunkCVKYFX2Wjs.stringToBytes.call(void 0, labels[i]), "bytes");
32
- result = _chunkCVKYFX2Wjs.keccak256.call(void 0, _chunkCVKYFX2Wjs.concat.call(void 0, [result, hashed]), "bytes");
31
+ const hashed = _chunkNJT5TACHjs.keccak256.call(void 0, _chunkNJT5TACHjs.stringToBytes.call(void 0, labels[i]), "bytes");
32
+ result = _chunkNJT5TACHjs.keccak256.call(void 0, _chunkNJT5TACHjs.concat.call(void 0, [result, hashed]), "bytes");
33
33
  }
34
- return _chunkCVKYFX2Wjs.bytesToHex.call(void 0, result);
34
+ return _chunkNJT5TACHjs.bytesToHex.call(void 0, result);
35
35
  }
36
36
 
37
37
  // src/utils/ens/packetToBytes.ts
@@ -39,7 +39,7 @@ function packetToBytes(packet) {
39
39
  function length(value2) {
40
40
  if (value2 === "." || value2 === "..")
41
41
  return 1;
42
- return _chunkCVKYFX2Wjs.toBytes.call(void 0, value2.replace(/^\.|\.$/gm, "")).length + 2;
42
+ return _chunkNJT5TACHjs.toBytes.call(void 0, value2.replace(/^\.|\.$/gm, "")).length + 2;
43
43
  }
44
44
  const bytes = new Uint8Array(length(packet));
45
45
  const value = packet.replace(/^\.|\.$/gm, "");
@@ -48,7 +48,7 @@ function packetToBytes(packet) {
48
48
  let offset = 0;
49
49
  const list = value.split(".");
50
50
  for (let i = 0; i < list.length; i++) {
51
- const encoded = _chunkCVKYFX2Wjs.toBytes.call(void 0, list[i]);
51
+ const encoded = _chunkNJT5TACHjs.toBytes.call(void 0, list[i]);
52
52
  bytes[offset] = encoded.length;
53
53
  bytes.set(encoded, offset + 1);
54
54
  offset += encoded.length + 1;
@@ -69,24 +69,13 @@ async function getEnsAddress(client, {
69
69
  throw new Error(
70
70
  "client chain not configured. universalResolverAddress is required."
71
71
  );
72
- const contract = _optionalChain([client, 'access', _ => _.chain, 'optionalAccess', _2 => _2.contracts, 'optionalAccess', _3 => _3.ensUniversalResolver]);
73
- if (!contract)
74
- throw new (0, _chunkCVKYFX2Wjs.ChainDoesNotSupportContract)({
75
- chain: client.chain,
76
- contract: { name: "ensUniversalResolver" }
77
- });
78
- if (blockNumber && contract.blockCreated && contract.blockCreated > blockNumber)
79
- throw new (0, _chunkCVKYFX2Wjs.ChainDoesNotSupportContract)({
80
- blockNumber,
81
- chain: client.chain,
82
- contract: {
83
- name: "ensUniversalResolver",
84
- blockCreated: contract.blockCreated
85
- }
86
- });
87
- universalResolverAddress = contract.address;
72
+ universalResolverAddress = _chunkNJT5TACHjs.getChainContractAddress.call(void 0, {
73
+ blockNumber,
74
+ chain: client.chain,
75
+ contract: "ensUniversalResolver"
76
+ });
88
77
  }
89
- const res = await _chunkCVKYFX2Wjs.readContract.call(void 0, client, {
78
+ const res = await _chunkNJT5TACHjs.readContract.call(void 0, client, {
90
79
  address: universalResolverAddress,
91
80
  abi: [
92
81
  {
@@ -105,8 +94,8 @@ async function getEnsAddress(client, {
105
94
  ],
106
95
  functionName: "resolve",
107
96
  args: [
108
- _chunkCVKYFX2Wjs.toHex.call(void 0, packetToBytes(name)),
109
- _chunkCVKYFX2Wjs.encodeFunctionData.call(void 0, {
97
+ _chunkNJT5TACHjs.toHex.call(void 0, packetToBytes(name)),
98
+ _chunkNJT5TACHjs.encodeFunctionData.call(void 0, {
110
99
  abi: [
111
100
  {
112
101
  name: "addr",
@@ -123,7 +112,7 @@ async function getEnsAddress(client, {
123
112
  blockNumber,
124
113
  blockTag
125
114
  });
126
- return _chunkCVKYFX2Wjs.decodeFunctionResult.call(void 0, {
115
+ return _chunkNJT5TACHjs.decodeFunctionResult.call(void 0, {
127
116
  abi: [
128
117
  {
129
118
  name: "addr",
@@ -151,26 +140,15 @@ async function getEnsName(client, {
151
140
  throw new Error(
152
141
  "client chain not configured. universalResolverAddress is required."
153
142
  );
154
- const contract = _optionalChain([client, 'access', _4 => _4.chain, 'optionalAccess', _5 => _5.contracts, 'optionalAccess', _6 => _6.ensUniversalResolver]);
155
- if (!contract)
156
- throw new (0, _chunkCVKYFX2Wjs.ChainDoesNotSupportContract)({
157
- chain: client.chain,
158
- contract: { name: "ensUniversalResolver" }
159
- });
160
- if (blockNumber && contract.blockCreated && contract.blockCreated > blockNumber)
161
- throw new (0, _chunkCVKYFX2Wjs.ChainDoesNotSupportContract)({
162
- blockNumber,
163
- chain: client.chain,
164
- contract: {
165
- name: "ensUniversalResolver",
166
- blockCreated: contract.blockCreated
167
- }
168
- });
169
- universalResolverAddress = contract.address;
143
+ universalResolverAddress = _chunkNJT5TACHjs.getChainContractAddress.call(void 0, {
144
+ blockNumber,
145
+ chain: client.chain,
146
+ contract: "ensUniversalResolver"
147
+ });
170
148
  }
171
149
  const reverseNode = `${address.toLowerCase().substring(2)}.addr.reverse`;
172
150
  try {
173
- const res = await _chunkCVKYFX2Wjs.readContract.call(void 0, client, {
151
+ const res = await _chunkNJT5TACHjs.readContract.call(void 0, client, {
174
152
  address: universalResolverAddress,
175
153
  abi: [
176
154
  {
@@ -187,13 +165,13 @@ async function getEnsName(client, {
187
165
  }
188
166
  ],
189
167
  functionName: "reverse",
190
- args: [_chunkCVKYFX2Wjs.toHex.call(void 0, packetToBytes(reverseNode))],
168
+ args: [_chunkNJT5TACHjs.toHex.call(void 0, packetToBytes(reverseNode))],
191
169
  blockNumber,
192
170
  blockTag
193
171
  });
194
172
  return res[0];
195
173
  } catch (error) {
196
- if (error instanceof _chunkCVKYFX2Wjs.ContractFunctionExecutionError && error.cause.reason === _chunkCVKYFX2Wjs.panicReasons[50])
174
+ if (error instanceof _chunkNJT5TACHjs.ContractFunctionExecutionError && error.cause.reason === _chunkNJT5TACHjs.panicReasons[50])
197
175
  return null;
198
176
  throw error;
199
177
  }
@@ -205,4 +183,4 @@ async function getEnsName(client, {
205
183
 
206
184
 
207
185
  exports.labelhash = labelhash; exports.namehash = namehash; exports.getEnsAddress = getEnsAddress; exports.getEnsName = getEnsName;
208
- //# sourceMappingURL=chunk-JA5TVU7G.js.map
186
+ //# sourceMappingURL=chunk-JTX5BKWL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/ens/labelhash.ts","../src/utils/ens/namehash.ts","../src/utils/ens/packetToBytes.ts","../src/actions/ens/getEnsAddress.ts","../src/actions/ens/getEnsName.ts"],"names":["value"],"mappings":"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","sourcesContent":["import { bytesToHex, stringToBytes } from '../encoding'\nimport { keccak256 } from '../hash'\n\n/**\n * @description Hashes ENS label\n *\n * - Since ENS labels prohibit certain forbidden characters (e.g. underscore) and have other validation rules, you likely want to [normalize ENS labels](https://docs.ens.domains/contract-api-reference/name-processing#normalising-names) with [UTS-46 normalization](https://unicode.org/reports/tr46) before passing them to `labelhash`. You can use the built-in [`normalize`](https://viem.sh/docs/ens/utilities/normalize.html) function for this.\n *\n * @example\n * labelhash('eth')\n * '0x4f5b812789fc606be1b3b16908db13fc7a9adf7ca72641f84d75b47069d3d7f0'\n */\nexport function labelhash(label: string) {\n let result = new Uint8Array(32).fill(0)\n if (!label) return bytesToHex(result)\n return keccak256(stringToBytes(label))\n}\n","import { concat } from '../data'\nimport { bytesToHex, stringToBytes } from '../encoding'\nimport { keccak256 } from '../hash'\n\n/**\n * @description Hashes ENS name\n *\n * - Since ENS names prohibit certain forbidden characters (e.g. underscore) and have other validation rules, you likely want to [normalize ENS names](https://docs.ens.domains/contract-api-reference/name-processing#normalising-names) with [UTS-46 normalization](https://unicode.org/reports/tr46) before passing them to `namehash`. You can use the built-in [`normalize`](https://viem.sh/docs/ens/utilities/normalize.html) function for this.\n *\n * @example\n * namehash('wagmi-dev.eth')\n * '0xf246651c1b9a6b141d19c2604e9a58f567973833990f830d882534a747801359'\n *\n * @link https://eips.ethereum.org/EIPS/eip-137\n */\nexport function namehash(name: string) {\n let result = new Uint8Array(32).fill(0)\n if (!name) return bytesToHex(result)\n\n const labels = name.split('.')\n // Iterate in reverse order building up hash\n for (let i = labels.length - 1; i >= 0; i -= 1) {\n const hashed = keccak256(stringToBytes(labels[i]), 'bytes')\n result = keccak256(concat([result, hashed]), 'bytes')\n }\n\n return bytesToHex(result)\n}\n","// Adapted from https://github.com/mafintosh/dns-packet\nimport { ByteArray } from '../../types'\nimport { toBytes } from '../encoding'\n\n/*\n * @description Encodes a DNS packet into a ByteArray containing a UDP payload.\n */\nexport function packetToBytes(packet: string): ByteArray {\n function length(value: string) {\n if (value === '.' || value === '..') return 1\n return toBytes(value.replace(/^\\.|\\.$/gm, '')).length + 2\n }\n\n const bytes = new Uint8Array(length(packet))\n // strip leading and trailing `.`\n const value = packet.replace(/^\\.|\\.$/gm, '')\n if (!value.length) return bytes\n\n let offset = 0\n const list = value.split('.')\n for (let i = 0; i < list.length; i++) {\n const encoded = toBytes(list[i])\n bytes[offset] = encoded.length\n bytes.set(encoded, offset + 1)\n offset += encoded.length + 1\n }\n\n return bytes\n}\n","import { PublicClient } from '../../clients'\nimport type { Address, Prettify } from '../../types'\nimport {\n decodeFunctionResult,\n encodeFunctionData,\n getChainContractAddress,\n toHex,\n} from '../../utils'\nimport { namehash, packetToBytes } from '../../utils/ens'\nimport { readContract, ReadContractParameters } from '../public'\n\nexport type GetEnsAddressParameters = Prettify<\n Pick<ReadContractParameters, 'blockNumber' | 'blockTag'> & {\n /** ENS name to get address. */\n name: string\n /** Address of ENS Universal Resolver Contract */\n universalResolverAddress?: Address\n }\n>\n\nexport type GetEnsAddressReturnType = Address\n\n/**\n * @description Gets address for ENS name.\n *\n * - Calls `resolve(bytes, bytes)` on ENS Universal Resolver Contract.\n * - Since ENS names prohibit certain forbidden characters (e.g. underscore) and have other validation rules, you likely want to [normalize ENS names](https://docs.ens.domains/contract-api-reference/name-processing#normalising-names) with [UTS-46 normalization](https://unicode.org/reports/tr46) before passing them to `getEnsAddress`. You can use the built-in [`normalize`](https://viem.sh/docs/ens/utilities/normalize.html) function for this.\n *\n * @example\n * import { normalize } from 'viem/ens'\n *\n * const ensAddress = await getEnsAddress(publicClient, {\n * name: normalize('wagmi-dev.eth'),\n * })\n * // '0xd2135CfB216b74109775236E36d4b433F1DF507B'\n */\nexport async function getEnsAddress(\n client: PublicClient,\n {\n blockNumber,\n blockTag,\n name,\n universalResolverAddress: universalResolverAddress_,\n }: GetEnsAddressParameters,\n): Promise<GetEnsAddressReturnType> {\n let universalResolverAddress = universalResolverAddress_\n if (!universalResolverAddress) {\n if (!client.chain)\n throw new Error(\n 'client chain not configured. universalResolverAddress is required.',\n )\n\n universalResolverAddress = getChainContractAddress({\n blockNumber,\n chain: client.chain,\n contract: 'ensUniversalResolver',\n })\n }\n\n const res = await readContract(client, {\n address: universalResolverAddress,\n abi: [\n {\n name: 'resolve',\n type: 'function',\n stateMutability: 'view',\n inputs: [\n { name: 'name', type: 'bytes' },\n { name: 'data', type: 'bytes' },\n ],\n outputs: [\n { name: '', type: 'bytes' },\n { name: 'address', type: 'address' },\n ],\n },\n ],\n functionName: 'resolve',\n args: [\n toHex(packetToBytes(name)),\n encodeFunctionData({\n abi: [\n {\n name: 'addr',\n type: 'function',\n stateMutability: 'view',\n inputs: [{ name: 'name', type: 'bytes32' }],\n outputs: [],\n },\n ],\n functionName: 'addr',\n args: [namehash(name)],\n }),\n ],\n blockNumber,\n blockTag,\n })\n return decodeFunctionResult({\n abi: [\n {\n name: 'addr',\n type: 'function',\n stateMutability: 'view',\n inputs: [],\n outputs: [{ name: 'name', type: 'address' }],\n },\n ],\n functionName: 'addr',\n data: res[0],\n })\n}\n","import { PublicClient } from '../../clients'\nimport { panicReasons } from '../../constants'\nimport {\n ContractFunctionExecutionError,\n ContractFunctionRevertedError,\n} from '../../errors'\nimport type { Address, Prettify } from '../../types'\nimport { getChainContractAddress, toHex } from '../../utils'\nimport { packetToBytes } from '../../utils/ens'\nimport { readContract, ReadContractParameters } from '../public'\n\nexport type GetEnsNameParameters = Prettify<\n Pick<ReadContractParameters, 'blockNumber' | 'blockTag'> & {\n /** Address to get ENS name for. */\n address: Address\n /** Address of ENS Universal Resolver Contract. */\n universalResolverAddress?: Address\n }\n>\n\nexport type GetEnsNameReturnType = string | null\n\n/**\n * @description Gets primary name for specified address.\n *\n * - Calls `reverse(bytes)` on ENS Universal Resolver Contract.\n *\n * @example\n * const ensName = await getEnsName(publicClient, {\n * address: '0xd2135CfB216b74109775236E36d4b433F1DF507B',\n * })\n * // 'wagmi-dev.eth'\n */\nexport async function getEnsName(\n client: PublicClient,\n {\n address,\n blockNumber,\n blockTag,\n universalResolverAddress: universalResolverAddress_,\n }: GetEnsNameParameters,\n): Promise<GetEnsNameReturnType> {\n let universalResolverAddress = universalResolverAddress_\n if (!universalResolverAddress) {\n if (!client.chain)\n throw new Error(\n 'client chain not configured. universalResolverAddress is required.',\n )\n\n universalResolverAddress = getChainContractAddress({\n blockNumber,\n chain: client.chain,\n contract: 'ensUniversalResolver',\n })\n }\n\n const reverseNode = `${address.toLowerCase().substring(2)}.addr.reverse`\n try {\n const res = await readContract(client, {\n address: universalResolverAddress,\n abi: [\n {\n name: 'reverse',\n type: 'function',\n stateMutability: 'view',\n inputs: [{ type: 'bytes', name: 'reverseName' }],\n outputs: [\n { type: 'string', name: 'resolvedName' },\n { type: 'address', name: 'resolvedAddress' },\n { type: 'address', name: 'reverseResolver' },\n { type: 'address', name: 'resolver' },\n ],\n },\n ],\n functionName: 'reverse',\n args: [toHex(packetToBytes(reverseNode))],\n blockNumber,\n blockTag,\n })\n return res[0]\n } catch (error) {\n if (\n error instanceof ContractFunctionExecutionError &&\n (error.cause as ContractFunctionRevertedError).reason === panicReasons[50]\n )\n // No primary name set for address.\n return null\n throw error\n }\n}\n"]}
@@ -17,7 +17,7 @@ var _abitype = require('abitype');
17
17
  var package_default = {
18
18
  name: "viem",
19
19
  description: "TypeScript Interface for Ethereum",
20
- version: "0.1.7",
20
+ version: "0.1.9",
21
21
  scripts: {
22
22
  anvil: "source .env && anvil --fork-url $VITE_ANVIL_FORK_URL --fork-block-number $VITE_ANVIL_BLOCK_NUMBER --block-time $VITE_ANVIL_BLOCK_TIME",
23
23
  bench: "vitest bench --no-threads",
@@ -206,7 +206,7 @@ var BaseError = class extends Error {
206
206
  shortMessage || "An error occurred.",
207
207
  "",
208
208
  ...args.metaMessages ? [...args.metaMessages, ""] : [],
209
- ...docsPath5 ? [`Docs: https://viem.sh${docsPath5}`] : [],
209
+ ...docsPath5 ? [`Docs: https://viem.sh${docsPath5}.html`] : [],
210
210
  ...details ? [`Details: ${details}`] : [],
211
211
  `Version: ${getVersion()}`
212
212
  ].join("\n");
@@ -2272,10 +2272,9 @@ function decodeBytes(data, { param, position }) {
2272
2272
  if (!size2) {
2273
2273
  const offset = hexToNumber(slice(data, position, position + 32));
2274
2274
  const length = hexToNumber(slice(data, offset, offset + 32));
2275
- const value2 = (
2276
- // If there is no length, we have zero data.
2277
- length === 0 ? "0x" : slice(data, offset + 32, offset + 32 + length)
2278
- );
2275
+ if (length === 0)
2276
+ return { consumed: 32, value: "0x" };
2277
+ const value2 = slice(data, offset + 32, offset + 32 + length);
2279
2278
  return { consumed: 32, value: value2 };
2280
2279
  }
2281
2280
  const value = slice(data, position, position + parseInt(size2));
@@ -2292,6 +2291,8 @@ function decodeNumber(value, { param }) {
2292
2291
  function decodeString(data, { position }) {
2293
2292
  const offset = hexToNumber(slice(data, position, position + 32));
2294
2293
  const length = hexToNumber(slice(data, offset, offset + 32));
2294
+ if (length === 0)
2295
+ return { consumed: 32, value: "" };
2295
2296
  const value = hexToString(
2296
2297
  trim(slice(data, offset + 32, offset + 32 + length))
2297
2298
  );
@@ -2963,6 +2964,28 @@ function buildRequest(request, {
2963
2964
  function defineChain(chain) {
2964
2965
  return chain;
2965
2966
  }
2967
+ function getChainContractAddress({
2968
+ blockNumber,
2969
+ chain,
2970
+ contract: name
2971
+ }) {
2972
+ const contract = _optionalChain([chain, 'optionalAccess', _51 => _51.contracts, 'optionalAccess', _52 => _52[name]]);
2973
+ if (!contract)
2974
+ throw new ChainDoesNotSupportContract({
2975
+ chain,
2976
+ contract: { name }
2977
+ });
2978
+ if (blockNumber && contract.blockCreated && contract.blockCreated > blockNumber)
2979
+ throw new ChainDoesNotSupportContract({
2980
+ blockNumber,
2981
+ chain,
2982
+ contract: {
2983
+ name,
2984
+ blockCreated: contract.blockCreated
2985
+ }
2986
+ });
2987
+ return contract.address;
2988
+ }
2966
2989
 
2967
2990
  // src/utils/formatters/format.ts
2968
2991
  function format3(data, { formatter }) {
@@ -2983,7 +3006,7 @@ function defineFormatter({
2983
3006
  }
2984
3007
  return {
2985
3008
  ...formatted,
2986
- ..._optionalChain([formatOverride, 'optionalCall', _51 => _51(data)])
3009
+ ..._optionalChain([formatOverride, 'optionalCall', _53 => _53(data)])
2987
3010
  };
2988
3011
  };
2989
3012
  }
@@ -3026,7 +3049,7 @@ var defineTransaction = defineFormatter({ format: formatTransaction });
3026
3049
 
3027
3050
  // src/utils/formatters/block.ts
3028
3051
  function formatBlock(block) {
3029
- const transactions = _optionalChain([block, 'access', _52 => _52.transactions, 'optionalAccess', _53 => _53.map, 'call', _54 => _54((transaction) => {
3052
+ const transactions = _optionalChain([block, 'access', _54 => _54.transactions, 'optionalAccess', _55 => _55.map, 'call', _56 => _56((transaction) => {
3030
3053
  if (typeof transaction === "string")
3031
3054
  return transaction;
3032
3055
  return formatTransaction(transaction);
@@ -3055,7 +3078,7 @@ function extract(value, { formatter }) {
3055
3078
  return {};
3056
3079
  const keys = Object.keys(formatter({}));
3057
3080
  return keys.reduce((data, key) => {
3058
- if (_optionalChain([value, 'optionalAccess', _55 => _55.hasOwnProperty, 'call', _56 => _56(key)])) {
3081
+ if (_optionalChain([value, 'optionalAccess', _57 => _57.hasOwnProperty, 'call', _58 => _58(key)])) {
3059
3082
  ;
3060
3083
  data[key] = value[key];
3061
3084
  }
@@ -3069,7 +3092,7 @@ function formatFeeHistory(feeHistory) {
3069
3092
  baseFeePerGas: feeHistory.baseFeePerGas.map((value) => BigInt(value)),
3070
3093
  gasUsedRatio: feeHistory.gasUsedRatio,
3071
3094
  oldestBlock: BigInt(feeHistory.oldestBlock),
3072
- reward: _optionalChain([feeHistory, 'access', _57 => _57.reward, 'optionalAccess', _58 => _58.map, 'call', _59 => _59(
3095
+ reward: _optionalChain([feeHistory, 'access', _59 => _59.reward, 'optionalAccess', _60 => _60.map, 'call', _61 => _61(
3073
3096
  (reward) => reward.map((value) => BigInt(value))
3074
3097
  )])
3075
3098
  };
@@ -3137,34 +3160,34 @@ function getNodeError(err, args) {
3137
3160
  if (FeeCapTooHighError.nodeMessage.test(message))
3138
3161
  return new FeeCapTooHighError({
3139
3162
  cause: err,
3140
- maxFeePerGas: _optionalChain([args, 'optionalAccess', _60 => _60.maxFeePerGas])
3163
+ maxFeePerGas: _optionalChain([args, 'optionalAccess', _62 => _62.maxFeePerGas])
3141
3164
  });
3142
3165
  else if (FeeCapTooLowError.nodeMessage.test(message))
3143
3166
  return new FeeCapTooLowError({
3144
3167
  cause: err,
3145
- maxFeePerGas: _optionalChain([args, 'optionalAccess', _61 => _61.maxFeePerGas])
3168
+ maxFeePerGas: _optionalChain([args, 'optionalAccess', _63 => _63.maxFeePerGas])
3146
3169
  });
3147
3170
  else if (NonceTooHighError.nodeMessage.test(message))
3148
- return new NonceTooHighError({ cause: err, nonce: _optionalChain([args, 'optionalAccess', _62 => _62.nonce]) });
3171
+ return new NonceTooHighError({ cause: err, nonce: _optionalChain([args, 'optionalAccess', _64 => _64.nonce]) });
3149
3172
  else if (NonceTooLowError.nodeMessage.test(message))
3150
- return new NonceTooLowError({ cause: err, nonce: _optionalChain([args, 'optionalAccess', _63 => _63.nonce]) });
3173
+ return new NonceTooLowError({ cause: err, nonce: _optionalChain([args, 'optionalAccess', _65 => _65.nonce]) });
3151
3174
  else if (NonceMaxValueError.nodeMessage.test(message))
3152
- return new NonceMaxValueError({ cause: err, nonce: _optionalChain([args, 'optionalAccess', _64 => _64.nonce]) });
3175
+ return new NonceMaxValueError({ cause: err, nonce: _optionalChain([args, 'optionalAccess', _66 => _66.nonce]) });
3153
3176
  else if (InsufficientFundsError.nodeMessage.test(message))
3154
3177
  return new InsufficientFundsError({ cause: err });
3155
3178
  else if (IntrinsicGasTooHighError.nodeMessage.test(message))
3156
- return new IntrinsicGasTooHighError({ cause: err, gas: _optionalChain([args, 'optionalAccess', _65 => _65.gas]) });
3179
+ return new IntrinsicGasTooHighError({ cause: err, gas: _optionalChain([args, 'optionalAccess', _67 => _67.gas]) });
3157
3180
  else if (IntrinsicGasTooLowError.nodeMessage.test(message))
3158
- return new IntrinsicGasTooLowError({ cause: err, gas: _optionalChain([args, 'optionalAccess', _66 => _66.gas]) });
3181
+ return new IntrinsicGasTooLowError({ cause: err, gas: _optionalChain([args, 'optionalAccess', _68 => _68.gas]) });
3159
3182
  else if (TransactionTypeNotSupportedError.nodeMessage.test(message))
3160
3183
  return new TransactionTypeNotSupportedError({ cause: err });
3161
3184
  else if (TipAboveFeeCapError.nodeMessage.test(message))
3162
3185
  return new TipAboveFeeCapError({
3163
3186
  cause: err,
3164
- maxFeePerGas: _optionalChain([args, 'optionalAccess', _67 => _67.maxFeePerGas]),
3165
- maxPriorityFeePerGas: _optionalChain([args, 'optionalAccess', _68 => _68.maxPriorityFeePerGas])
3187
+ maxFeePerGas: _optionalChain([args, 'optionalAccess', _69 => _69.maxFeePerGas]),
3188
+ maxPriorityFeePerGas: _optionalChain([args, 'optionalAccess', _70 => _70.maxPriorityFeePerGas])
3166
3189
  });
3167
- else if (message.match(ExecutionRevertedError.nodeMessage) || "code" in err.cause && _optionalChain([err, 'access', _69 => _69.cause, 'optionalAccess', _70 => _70.code]) === ExecutionRevertedError.code)
3190
+ else if (message.match(ExecutionRevertedError.nodeMessage) || "code" in err.cause && _optionalChain([err, 'access', _71 => _71.cause, 'optionalAccess', _72 => _72.code]) === ExecutionRevertedError.code)
3168
3191
  return new ExecutionRevertedError({
3169
3192
  cause: err,
3170
3193
  message: err.cause.details
@@ -3198,7 +3221,7 @@ function getContractError(err, {
3198
3221
  functionName,
3199
3222
  sender
3200
3223
  }) {
3201
- const { code, data, message } = err instanceof RawContractError ? err : err instanceof CallExecutionError || err instanceof EstimateGasExecutionError ? _optionalChain([err, 'access', _71 => _71.cause, 'optionalAccess', _72 => _72.cause, 'optionalAccess', _73 => _73.cause]) || {} : err.cause || {};
3224
+ const { code, data, message } = err instanceof RawContractError ? err : err instanceof CallExecutionError || err instanceof EstimateGasExecutionError ? _optionalChain([err, 'access', _73 => _73.cause, 'optionalAccess', _74 => _74.cause, 'optionalAccess', _75 => _75.cause]) || {} : err.cause || {};
3202
3225
  let cause = err;
3203
3226
  if (err instanceof AbiDecodingZeroDataError) {
3204
3227
  cause = new ContractFunctionZeroDataError({ functionName });
@@ -3287,7 +3310,7 @@ async function http(url, { body, fetchOptions = {}, timeout = 1e4 }) {
3287
3310
  }
3288
3311
  );
3289
3312
  let data;
3290
- if (_optionalChain([response, 'access', _74 => _74.headers, 'access', _75 => _75.get, 'call', _76 => _76("Content-Type"), 'optionalAccess', _77 => _77.startsWith, 'call', _78 => _78("application/json")])) {
3313
+ if (_optionalChain([response, 'access', _76 => _76.headers, 'access', _77 => _77.get, 'call', _78 => _78("Content-Type"), 'optionalAccess', _79 => _79.startsWith, 'call', _80 => _80("application/json")])) {
3291
3314
  data = await response.json();
3292
3315
  } else {
3293
3316
  data = await response.text();
@@ -3379,15 +3402,15 @@ function webSocket(socket, {
3379
3402
  if (typeof message.id === "number" && id_ !== message.id)
3380
3403
  return;
3381
3404
  if (message.error) {
3382
- _optionalChain([onError, 'optionalCall', _79 => _79(new RpcError({ body, error: message.error, url: socket.url }))]);
3405
+ _optionalChain([onError, 'optionalCall', _81 => _81(new RpcError({ body, error: message.error, url: socket.url }))]);
3383
3406
  } else {
3384
- _optionalChain([onData, 'optionalCall', _80 => _80(message)]);
3407
+ _optionalChain([onData, 'optionalCall', _82 => _82(message)]);
3385
3408
  }
3386
3409
  if (body.method === "eth_subscribe" && typeof message.result === "string") {
3387
3410
  socket.subscriptions.set(message.result, callback);
3388
3411
  }
3389
3412
  if (body.method === "eth_unsubscribe") {
3390
- socket.subscriptions.delete(_optionalChain([body, 'access', _81 => _81.params, 'optionalAccess', _82 => _82[0]]));
3413
+ socket.subscriptions.delete(_optionalChain([body, 'access', _83 => _83.params, 'optionalAccess', _84 => _84[0]]));
3391
3414
  }
3392
3415
  };
3393
3416
  socket.requests.set(id_, callback);
@@ -3453,10 +3476,10 @@ async function call(client, args) {
3453
3476
  try {
3454
3477
  assertRequest(args);
3455
3478
  const blockNumberHex = blockNumber ? numberToHex(blockNumber) : void 0;
3456
- const formatter = _optionalChain([client, 'access', _83 => _83.chain, 'optionalAccess', _84 => _84.formatters, 'optionalAccess', _85 => _85.transactionRequest]);
3479
+ const formatter = _optionalChain([client, 'access', _85 => _85.chain, 'optionalAccess', _86 => _86.formatters, 'optionalAccess', _87 => _87.transactionRequest]);
3457
3480
  const request_ = format3(
3458
3481
  {
3459
- from: _optionalChain([account, 'optionalAccess', _86 => _86.address]),
3482
+ from: _optionalChain([account, 'optionalAccess', _88 => _88.address]),
3460
3483
  accessList,
3461
3484
  data,
3462
3485
  gas,
@@ -3530,7 +3553,7 @@ async function simulateContract(client, {
3530
3553
  args,
3531
3554
  docsPath: "/docs/contract/simulateContract",
3532
3555
  functionName,
3533
- sender: _optionalChain([callRequest, 'access', _87 => _87.account, 'optionalAccess', _88 => _88.address])
3556
+ sender: _optionalChain([callRequest, 'access', _89 => _89.account, 'optionalAccess', _90 => _90.address])
3534
3557
  });
3535
3558
  }
3536
3559
  }
@@ -3640,7 +3663,7 @@ async function estimateGas(client, args) {
3640
3663
  } = args.account.type === "local" ? await prepareRequest(client, args) : args;
3641
3664
  const blockNumberHex = blockNumber ? numberToHex(blockNumber) : void 0;
3642
3665
  assertRequest(args);
3643
- const formatter = _optionalChain([client, 'access', _89 => _89.chain, 'optionalAccess', _90 => _90.formatters, 'optionalAccess', _91 => _91.transactionRequest]);
3666
+ const formatter = _optionalChain([client, 'access', _91 => _91.chain, 'optionalAccess', _92 => _92.formatters, 'optionalAccess', _93 => _93.transactionRequest]);
3644
3667
  const request = format3(
3645
3668
  {
3646
3669
  from: account.address,
@@ -3700,7 +3723,7 @@ async function estimateContractGas(client, {
3700
3723
  args,
3701
3724
  docsPath: "/docs/contract/simulateContract",
3702
3725
  functionName,
3703
- sender: _optionalChain([request, 'access', _92 => _92.account, 'optionalAccess', _93 => _93.address])
3726
+ sender: _optionalChain([request, 'access', _94 => _94.account, 'optionalAccess', _95 => _95.address])
3704
3727
  });
3705
3728
  }
3706
3729
  }
@@ -3738,7 +3761,7 @@ async function getBlock(client, {
3738
3761
  if (!block)
3739
3762
  throw new BlockNotFoundError({ blockHash, blockNumber });
3740
3763
  return format3(block, {
3741
- formatter: _optionalChain([client, 'access', _94 => _94.chain, 'optionalAccess', _95 => _95.formatters, 'optionalAccess', _96 => _96.block]) || formatBlock
3764
+ formatter: _optionalChain([client, 'access', _96 => _96.chain, 'optionalAccess', _97 => _97.formatters, 'optionalAccess', _98 => _98.block]) || formatBlock
3742
3765
  });
3743
3766
  }
3744
3767
 
@@ -3950,7 +3973,7 @@ async function getTransaction(client, {
3950
3973
  index
3951
3974
  });
3952
3975
  return format3(transaction, {
3953
- formatter: _optionalChain([client, 'access', _97 => _97.chain, 'optionalAccess', _98 => _98.formatters, 'optionalAccess', _99 => _99.transaction]) || formatTransaction
3976
+ formatter: _optionalChain([client, 'access', _99 => _99.chain, 'optionalAccess', _100 => _100.formatters, 'optionalAccess', _101 => _101.transaction]) || formatTransaction
3954
3977
  });
3955
3978
  }
3956
3979
 
@@ -3960,7 +3983,7 @@ async function getTransactionConfirmations(client, { hash: hash2, transactionRec
3960
3983
  getBlockNumber(client),
3961
3984
  hash2 ? getTransaction(client, { hash: hash2 }) : void 0
3962
3985
  ]);
3963
- const transactionBlockNumber = _optionalChain([transactionReceipt, 'optionalAccess', _100 => _100.blockNumber]) || _optionalChain([transaction, 'optionalAccess', _101 => _101.blockNumber]);
3986
+ const transactionBlockNumber = _optionalChain([transactionReceipt, 'optionalAccess', _102 => _102.blockNumber]) || _optionalChain([transaction, 'optionalAccess', _103 => _103.blockNumber]);
3964
3987
  if (!transactionBlockNumber)
3965
3988
  return 0n;
3966
3989
  return blockNumber - transactionBlockNumber + 1n;
@@ -3984,7 +4007,7 @@ async function getTransactionReceipt(client, { hash: hash2 }) {
3984
4007
  if (!receipt)
3985
4008
  throw new TransactionReceiptNotFoundError({ hash: hash2 });
3986
4009
  return format3(receipt, {
3987
- formatter: _optionalChain([client, 'access', _102 => _102.chain, 'optionalAccess', _103 => _103.formatters, 'optionalAccess', _104 => _104.transactionReceipt]) || formatTransactionReceipt
4010
+ formatter: _optionalChain([client, 'access', _104 => _104.chain, 'optionalAccess', _105 => _105.formatters, 'optionalAccess', _106 => _106.transactionReceipt]) || formatTransactionReceipt
3988
4011
  });
3989
4012
  }
3990
4013
 
@@ -4031,8 +4054,20 @@ async function multicall(client, args) {
4031
4054
  blockNumber,
4032
4055
  blockTag,
4033
4056
  contracts,
4034
- multicallAddress
4057
+ multicallAddress: multicallAddress_
4035
4058
  } = args;
4059
+ let multicallAddress = multicallAddress_;
4060
+ if (!multicallAddress) {
4061
+ if (!client.chain)
4062
+ throw new Error(
4063
+ "client chain not configured. multicallAddress is required."
4064
+ );
4065
+ multicallAddress = getChainContractAddress({
4066
+ blockNumber,
4067
+ chain: client.chain,
4068
+ contract: "multicall3"
4069
+ });
4070
+ }
4036
4071
  const calls = contracts.map(({ abi, address, args: args2, functionName }) => {
4037
4072
  try {
4038
4073
  const callData = encodeFunctionData({
@@ -4140,7 +4175,7 @@ function observe(observerId, callbacks, fn) {
4140
4175
  const listeners2 = getListeners();
4141
4176
  if (listeners2.length === 0)
4142
4177
  return;
4143
- listeners2.forEach((listener) => _optionalChain([listener, 'access', _105 => _105.fns, 'access', _106 => _106[key], 'optionalCall', _107 => _107(...args)]));
4178
+ listeners2.forEach((listener) => _optionalChain([listener, 'access', _107 => _107.fns, 'access', _108 => _108[key], 'optionalCall', _109 => _109(...args)]));
4144
4179
  };
4145
4180
  }
4146
4181
  const cleanup = fn(emit);
@@ -4221,7 +4256,7 @@ async function waitForTransactionReceipt(client, {
4221
4256
  reason = "cancelled";
4222
4257
  }
4223
4258
  done(() => {
4224
- _optionalChain([emit, 'access', _108 => _108.onReplaced, 'optionalCall', _109 => _109({
4259
+ _optionalChain([emit, 'access', _110 => _110.onReplaced, 'optionalCall', _111 => _111({
4225
4260
  reason,
4226
4261
  replacedTransaction,
4227
4262
  transaction: replacementTransaction,
@@ -4249,7 +4284,7 @@ function poll(fn, { emitOnBegin, initialWaitTime, interval }) {
4249
4284
  let data;
4250
4285
  if (emitOnBegin)
4251
4286
  data = await fn({ unpoll: unwatch });
4252
- const initialWait = await _asyncNullishCoalesce(await _optionalChain([initialWaitTime, 'optionalCall', _110 => _110(data)]), async () => ( interval));
4287
+ const initialWait = await _asyncNullishCoalesce(await _optionalChain([initialWaitTime, 'optionalCall', _112 => _112(data)]), async () => ( interval));
4253
4288
  await wait(initialWait);
4254
4289
  const poll2 = async () => {
4255
4290
  if (!active)
@@ -4300,7 +4335,7 @@ function watchBlockNumber(client, {
4300
4335
  prevBlockNumber = blockNumber;
4301
4336
  emit.onBlockNumber(blockNumber, prevBlockNumber);
4302
4337
  } catch (err) {
4303
- _optionalChain([emit, 'access', _111 => _111.onError, 'optionalCall', _112 => _112(err)]);
4338
+ _optionalChain([emit, 'access', _113 => _113.onError, 'optionalCall', _114 => _114(err)]);
4304
4339
  }
4305
4340
  },
4306
4341
  {
@@ -4340,11 +4375,11 @@ function watchBlocks(client, {
4340
4375
  blockTag,
4341
4376
  includeTransactions
4342
4377
  });
4343
- if (block.number && _optionalChain([prevBlock, 'optionalAccess', _113 => _113.number])) {
4378
+ if (block.number && _optionalChain([prevBlock, 'optionalAccess', _115 => _115.number])) {
4344
4379
  if (block.number === prevBlock.number)
4345
4380
  return;
4346
4381
  if (block.number - prevBlock.number > 1 && emitMissed) {
4347
- for (let i = _optionalChain([prevBlock, 'optionalAccess', _114 => _114.number]) + 1n; i < block.number; i++) {
4382
+ for (let i = _optionalChain([prevBlock, 'optionalAccess', _116 => _116.number]) + 1n; i < block.number; i++) {
4348
4383
  const block2 = await getBlock(client, {
4349
4384
  blockNumber: i,
4350
4385
  includeTransactions
@@ -4357,7 +4392,7 @@ function watchBlocks(client, {
4357
4392
  emit.onBlock(block, prevBlock);
4358
4393
  prevBlock = block;
4359
4394
  } catch (err) {
4360
- _optionalChain([emit, 'access', _115 => _115.onError, 'optionalCall', _116 => _116(err)]);
4395
+ _optionalChain([emit, 'access', _117 => _117.onError, 'optionalCall', _118 => _118(err)]);
4361
4396
  }
4362
4397
  },
4363
4398
  {
@@ -4436,7 +4471,7 @@ function watchContractEvent(client, {
4436
4471
  else
4437
4472
  logs.forEach((log) => emit.onLogs([log]));
4438
4473
  } catch (err) {
4439
- _optionalChain([emit, 'access', _117 => _117.onError, 'optionalCall', _118 => _118(err)]);
4474
+ _optionalChain([emit, 'access', _119 => _119.onError, 'optionalCall', _120 => _120(err)]);
4440
4475
  }
4441
4476
  },
4442
4477
  {
@@ -4515,7 +4550,7 @@ function watchEvent(client, {
4515
4550
  else
4516
4551
  logs.forEach((log) => emit.onLogs([log]));
4517
4552
  } catch (err) {
4518
- _optionalChain([emit, 'access', _119 => _119.onError, 'optionalCall', _120 => _120(err)]);
4553
+ _optionalChain([emit, 'access', _121 => _121.onError, 'optionalCall', _122 => _122(err)]);
4519
4554
  }
4520
4555
  },
4521
4556
  {
@@ -4566,7 +4601,7 @@ function watchPendingTransactions(client, {
4566
4601
  else
4567
4602
  hashes.forEach((hash2) => emit.onTransactions([hash2]));
4568
4603
  } catch (err) {
4569
- _optionalChain([emit, 'access', _121 => _121.onError, 'optionalCall', _122 => _122(err)]);
4604
+ _optionalChain([emit, 'access', _123 => _123.onError, 'optionalCall', _124 => _124(err)]);
4570
4605
  }
4571
4606
  },
4572
4607
  {
@@ -4886,10 +4921,10 @@ async function sendTransaction(client, args) {
4886
4921
  try {
4887
4922
  assertRequest(args);
4888
4923
  const currentChainId = await getChainId(client);
4889
- if (assertChain && chain && currentChainId !== _optionalChain([chain, 'optionalAccess', _123 => _123.id]))
4924
+ if (assertChain && chain && currentChainId !== _optionalChain([chain, 'optionalAccess', _125 => _125.id]))
4890
4925
  throw new ChainMismatchError({ chain, currentChainId });
4891
4926
  if (account.type === "local") {
4892
- const chainId = _nullishCoalesce(_optionalChain([chain, 'optionalAccess', _124 => _124.id]), () => ( currentChainId));
4927
+ const chainId = _nullishCoalesce(_optionalChain([chain, 'optionalAccess', _126 => _126.id]), () => ( currentChainId));
4893
4928
  const request2 = await prepareRequest(client, {
4894
4929
  account,
4895
4930
  accessList,
@@ -4913,7 +4948,7 @@ async function sendTransaction(client, args) {
4913
4948
  params: [signedRequest]
4914
4949
  });
4915
4950
  }
4916
- const formatter = _optionalChain([chain, 'optionalAccess', _125 => _125.formatters, 'optionalAccess', _126 => _126.transactionRequest]);
4951
+ const formatter = _optionalChain([chain, 'optionalAccess', _127 => _127.formatters, 'optionalAccess', _128 => _128.transactionRequest]);
4917
4952
  const request = format3(
4918
4953
  {
4919
4954
  accessList,
@@ -5344,5 +5379,6 @@ function parseEther(ether, unit = "wei") {
5344
5379
 
5345
5380
 
5346
5381
 
5347
- exports.BaseError = BaseError; exports.AbiConstructorNotFoundError = AbiConstructorNotFoundError; exports.AbiConstructorParamsNotFoundError = AbiConstructorParamsNotFoundError; exports.AbiDecodingDataSizeInvalidError = AbiDecodingDataSizeInvalidError; exports.AbiDecodingZeroDataError = AbiDecodingZeroDataError; exports.AbiEncodingArrayLengthMismatchError = AbiEncodingArrayLengthMismatchError; exports.AbiEncodingLengthMismatchError = AbiEncodingLengthMismatchError; exports.AbiErrorInputsNotFoundError = AbiErrorInputsNotFoundError; exports.AbiErrorNotFoundError = AbiErrorNotFoundError; exports.AbiErrorSignatureNotFoundError = AbiErrorSignatureNotFoundError; exports.AbiEventSignatureNotFoundError = AbiEventSignatureNotFoundError; exports.AbiEventNotFoundError = AbiEventNotFoundError; exports.AbiFunctionNotFoundError = AbiFunctionNotFoundError; exports.AbiFunctionOutputsNotFoundError = AbiFunctionOutputsNotFoundError; exports.AbiFunctionSignatureNotFoundError = AbiFunctionSignatureNotFoundError; exports.InvalidAbiEncodingTypeError = InvalidAbiEncodingTypeError; exports.InvalidAbiDecodingTypeError = InvalidAbiDecodingTypeError; exports.InvalidArrayError = InvalidArrayError; exports.InvalidDefinitionTypeError = InvalidDefinitionTypeError; exports.InvalidAddressError = InvalidAddressError; exports.BlockNotFoundError = BlockNotFoundError; exports.ChainDoesNotSupportContract = ChainDoesNotSupportContract; exports.multicall3Abi = multicall3Abi; exports.panicReasons = panicReasons; exports.etherUnits = etherUnits; exports.gweiUnits = gweiUnits; exports.weiUnits = weiUnits; exports.TransactionExecutionError = TransactionExecutionError; exports.TransactionNotFoundError = TransactionNotFoundError; exports.TransactionReceiptNotFoundError = TransactionReceiptNotFoundError; exports.WaitForTransactionReceiptTimeoutError = WaitForTransactionReceiptTimeoutError; exports.CallExecutionError = CallExecutionError; exports.ContractFunctionExecutionError = ContractFunctionExecutionError; exports.ContractFunctionRevertedError = ContractFunctionRevertedError; exports.ContractFunctionZeroDataError = ContractFunctionZeroDataError; exports.RawContractError = RawContractError; exports.SizeExceedsPaddingSizeError = SizeExceedsPaddingSizeError; exports.DataLengthTooLongError = DataLengthTooLongError; exports.DataLengthTooShortError = DataLengthTooShortError; exports.InvalidBytesBooleanError = InvalidBytesBooleanError; exports.InvalidHexBooleanError = InvalidHexBooleanError; exports.InvalidHexValueError = InvalidHexValueError; exports.OffsetOutOfBoundsError = OffsetOutOfBoundsError; exports.EstimateGasExecutionError = EstimateGasExecutionError; exports.FilterTypeNotSupportedError = FilterTypeNotSupportedError; exports.ExecutionRevertedError = ExecutionRevertedError; exports.FeeCapTooHighError = FeeCapTooHighError; exports.FeeCapTooLowError = FeeCapTooLowError; exports.NonceTooHighError = NonceTooHighError; exports.NonceTooLowError = NonceTooLowError; exports.NonceMaxValueError = NonceMaxValueError; exports.InsufficientFundsError = InsufficientFundsError; exports.IntrinsicGasTooHighError = IntrinsicGasTooHighError; exports.IntrinsicGasTooLowError = IntrinsicGasTooLowError; exports.TransactionTypeNotSupportedError = TransactionTypeNotSupportedError; exports.TipAboveFeeCapError = TipAboveFeeCapError; exports.UnknownNodeError = UnknownNodeError; exports.RequestError = RequestError; exports.RpcRequestError = RpcRequestError; exports.ParseRpcError = ParseRpcError; exports.InvalidRequestRpcError = InvalidRequestRpcError; exports.MethodNotFoundRpcError = MethodNotFoundRpcError; exports.InvalidParamsRpcError = InvalidParamsRpcError; exports.InternalRpcError = InternalRpcError; exports.InvalidInputRpcError = InvalidInputRpcError; exports.ResourceNotFoundRpcError = ResourceNotFoundRpcError; exports.ResourceUnavailableRpcError = ResourceUnavailableRpcError; exports.TransactionRejectedRpcError = TransactionRejectedRpcError; exports.MethodNotSupportedRpcError = MethodNotSupportedRpcError; exports.LimitExceededRpcError = LimitExceededRpcError; exports.JsonRpcVersionUnsupportedError = JsonRpcVersionUnsupportedError; exports.UserRejectedRequestError = UserRejectedRequestError; exports.SwitchChainError = SwitchChainError; exports.UnknownRpcError = UnknownRpcError; exports.HttpRequestError = HttpRequestError; exports.WebSocketRequestError = WebSocketRequestError; exports.RpcError = RpcError; exports.TimeoutError = TimeoutError; exports.UrlRequiredError = UrlRequiredError; exports.concat = concat; exports.isBytes = isBytes; exports.isHex = isHex; exports.pad = pad; exports.padHex = padHex; exports.padBytes = padBytes; exports.trim = trim; exports.size = size; exports.slice = slice; exports.sliceBytes = sliceBytes; exports.sliceHex = sliceHex; exports.boolToHex = boolToHex; exports.bytesToHex = bytesToHex; exports.toHex = toHex; exports.numberToHex = numberToHex; exports.stringToHex = stringToHex; exports.toBytes = toBytes; exports.boolToBytes = boolToBytes; exports.hexToBytes = hexToBytes; exports.numberToBytes = numberToBytes; exports.stringToBytes = stringToBytes; exports.toRlp = toRlp; exports.fromHex = fromHex; exports.hexToBigInt = hexToBigInt; exports.hexToBool = hexToBool; exports.hexToNumber = hexToNumber; exports.hexToString = hexToString; exports.fromBytes = fromBytes; exports.bytesToBigint = bytesToBigint; exports.bytesToBool = bytesToBool; exports.bytesToNumber = bytesToNumber; exports.bytesToString = bytesToString; exports.fromRlp = fromRlp; exports.extractFunctionParts = extractFunctionParts; exports.extractFunctionName = extractFunctionName; exports.extractFunctionParams = extractFunctionParams; exports.extractFunctionType = extractFunctionType; exports.keccak256 = keccak256; exports.getEventSelector = getEventSelector; exports.getFunctionSelector = getFunctionSelector; exports.isAddress = isAddress; exports.getAddress = getAddress; exports.getContractAddress = getContractAddress2; exports.getCreateAddress = getCreateAddress; exports.getCreate2Address = getCreate2Address; exports.isAddressEqual = isAddressEqual; exports.encodeAbiParameters = encodeAbiParameters; exports.decodeAbiParameters = decodeAbiParameters; exports.formatAbiItem = formatAbiItem; exports.decodeErrorResult = decodeErrorResult; exports.decodeEventLog = decodeEventLog; exports.decodeFunctionData = decodeFunctionData; exports.getAbiItem = getAbiItem; exports.decodeFunctionResult = decodeFunctionResult; exports.encodeDeployData = encodeDeployData; exports.encodeErrorResult = encodeErrorResult; exports.encodeEventTopics = encodeEventTopics; exports.encodeFunctionData = encodeFunctionData; exports.encodeFunctionResult = encodeFunctionResult; exports.arrayRegex = arrayRegex; exports.bytesRegex = bytesRegex; exports.integerRegex = integerRegex; exports.encodePacked = encodePacked; exports.formatAbiItemWithArgs = formatAbiItemWithArgs; exports.parseAbi = _abitype.parseAbi; exports.parseAbiItem = _abitype.parseAbiItem; exports.parseAbiParameter = _abitype.parseAbiParameter; exports.parseAbiParameters = _abitype.parseAbiParameters; exports.getAccount = getAccount; exports.isDeterministicError = isDeterministicError; exports.buildRequest = buildRequest; exports.defineChain = defineChain; exports.format = format3; exports.defineFormatter = defineFormatter; exports.transactionType = transactionType; exports.formatTransaction = formatTransaction; exports.defineTransaction = defineTransaction; exports.formatBlock = formatBlock; exports.defineBlock = defineBlock; exports.extract = extract; exports.defineTransactionReceipt = defineTransactionReceipt; exports.formatTransactionRequest = formatTransactionRequest; exports.defineTransactionRequest = defineTransactionRequest; exports.containsNodeError = containsNodeError; exports.getNodeError = getNodeError; exports.getCallError = getCallError; exports.getContractError = getContractError; exports.getEstimateGasError = getEstimateGasError; exports.getTransactionError = getTransactionError; exports.stringify = stringify; exports.getSocket = getSocket; exports.rpc = rpc; exports.assertRequest = assertRequest; exports.call = call; exports.simulateContract = simulateContract; exports.createPendingTransactionFilter = createPendingTransactionFilter; exports.createBlockFilter = createBlockFilter; exports.createEventFilter = createEventFilter; exports.createContractEventFilter = createContractEventFilter; exports.estimateGas = estimateGas; exports.estimateContractGas = estimateContractGas; exports.getBalance = getBalance; exports.getBlock = getBlock; exports.getBlockNumberCache = getBlockNumberCache; exports.getBlockNumber = getBlockNumber; exports.getBlockTransactionCount = getBlockTransactionCount; exports.getBytecode = getBytecode; exports.getChainId = getChainId; exports.getFeeHistory = getFeeHistory; exports.getFilterChanges = getFilterChanges; exports.getFilterLogs = getFilterLogs; exports.getGasPrice = getGasPrice; exports.getLogs = getLogs; exports.getStorageAt = getStorageAt; exports.getTransaction = getTransaction; exports.getTransactionConfirmations = getTransactionConfirmations; exports.getTransactionCount = getTransactionCount; exports.getTransactionReceipt = getTransactionReceipt; exports.readContract = readContract; exports.multicall = multicall; exports.uninstallFilter = uninstallFilter; exports.waitForTransactionReceipt = waitForTransactionReceipt; exports.watchBlockNumber = watchBlockNumber; exports.watchBlocks = watchBlocks; exports.watchContractEvent = watchContractEvent; exports.watchEvent = watchEvent; exports.watchPendingTransactions = watchPendingTransactions; exports.dropTransaction = dropTransaction; exports.getAutomine = getAutomine; exports.getTxpoolContent = getTxpoolContent; exports.getTxpoolStatus = getTxpoolStatus; exports.impersonateAccount = impersonateAccount; exports.increaseTime = increaseTime; exports.inspectTxpool = inspectTxpool; exports.mine = mine; exports.removeBlockTimestampInterval = removeBlockTimestampInterval; exports.reset = reset; exports.revert = revert; exports.sendUnsignedTransaction = sendUnsignedTransaction; exports.setAutomine = setAutomine; exports.setBalance = setBalance; exports.setBlockGasLimit = setBlockGasLimit; exports.setBlockTimestampInterval = setBlockTimestampInterval; exports.setCode = setCode; exports.setCoinbase = setCoinbase; exports.setIntervalMining = setIntervalMining; exports.setLoggingEnabled = setLoggingEnabled; exports.setMinGasPrice = setMinGasPrice; exports.setNextBlockBaseFeePerGas = setNextBlockBaseFeePerGas; exports.setNextBlockTimestamp = setNextBlockTimestamp; exports.setNonce = setNonce; exports.setRpcUrl = setRpcUrl; exports.setStorageAt = setStorageAt; exports.snapshot = snapshot; exports.stopImpersonatingAccount = stopImpersonatingAccount; exports.addChain = addChain; exports.deployContract = deployContract; exports.getAddresses = getAddresses; exports.getPermissions = getPermissions; exports.requestAddresses = requestAddresses; exports.requestPermissions = requestPermissions; exports.sendTransaction = sendTransaction; exports.signMessage = signMessage; exports.switchChain = switchChain; exports.watchAsset = watchAsset; exports.writeContract = writeContract; exports.parseUnits = parseUnits; exports.parseGwei = parseGwei; exports.prepareRequest = prepareRequest; exports.formatUnits = formatUnits; exports.formatEther = formatEther; exports.formatGwei = formatGwei; exports.parseEther = parseEther;
5348
- //# sourceMappingURL=chunk-CVKYFX2W.js.map
5382
+
5383
+ exports.BaseError = BaseError; exports.AbiConstructorNotFoundError = AbiConstructorNotFoundError; exports.AbiConstructorParamsNotFoundError = AbiConstructorParamsNotFoundError; exports.AbiDecodingDataSizeInvalidError = AbiDecodingDataSizeInvalidError; exports.AbiDecodingZeroDataError = AbiDecodingZeroDataError; exports.AbiEncodingArrayLengthMismatchError = AbiEncodingArrayLengthMismatchError; exports.AbiEncodingLengthMismatchError = AbiEncodingLengthMismatchError; exports.AbiErrorInputsNotFoundError = AbiErrorInputsNotFoundError; exports.AbiErrorNotFoundError = AbiErrorNotFoundError; exports.AbiErrorSignatureNotFoundError = AbiErrorSignatureNotFoundError; exports.AbiEventSignatureNotFoundError = AbiEventSignatureNotFoundError; exports.AbiEventNotFoundError = AbiEventNotFoundError; exports.AbiFunctionNotFoundError = AbiFunctionNotFoundError; exports.AbiFunctionOutputsNotFoundError = AbiFunctionOutputsNotFoundError; exports.AbiFunctionSignatureNotFoundError = AbiFunctionSignatureNotFoundError; exports.InvalidAbiEncodingTypeError = InvalidAbiEncodingTypeError; exports.InvalidAbiDecodingTypeError = InvalidAbiDecodingTypeError; exports.InvalidArrayError = InvalidArrayError; exports.InvalidDefinitionTypeError = InvalidDefinitionTypeError; exports.InvalidAddressError = InvalidAddressError; exports.BlockNotFoundError = BlockNotFoundError; exports.ChainDoesNotSupportContract = ChainDoesNotSupportContract; exports.multicall3Abi = multicall3Abi; exports.panicReasons = panicReasons; exports.etherUnits = etherUnits; exports.gweiUnits = gweiUnits; exports.weiUnits = weiUnits; exports.TransactionExecutionError = TransactionExecutionError; exports.TransactionNotFoundError = TransactionNotFoundError; exports.TransactionReceiptNotFoundError = TransactionReceiptNotFoundError; exports.WaitForTransactionReceiptTimeoutError = WaitForTransactionReceiptTimeoutError; exports.CallExecutionError = CallExecutionError; exports.ContractFunctionExecutionError = ContractFunctionExecutionError; exports.ContractFunctionRevertedError = ContractFunctionRevertedError; exports.ContractFunctionZeroDataError = ContractFunctionZeroDataError; exports.RawContractError = RawContractError; exports.SizeExceedsPaddingSizeError = SizeExceedsPaddingSizeError; exports.DataLengthTooLongError = DataLengthTooLongError; exports.DataLengthTooShortError = DataLengthTooShortError; exports.InvalidBytesBooleanError = InvalidBytesBooleanError; exports.InvalidHexBooleanError = InvalidHexBooleanError; exports.InvalidHexValueError = InvalidHexValueError; exports.OffsetOutOfBoundsError = OffsetOutOfBoundsError; exports.EstimateGasExecutionError = EstimateGasExecutionError; exports.FilterTypeNotSupportedError = FilterTypeNotSupportedError; exports.ExecutionRevertedError = ExecutionRevertedError; exports.FeeCapTooHighError = FeeCapTooHighError; exports.FeeCapTooLowError = FeeCapTooLowError; exports.NonceTooHighError = NonceTooHighError; exports.NonceTooLowError = NonceTooLowError; exports.NonceMaxValueError = NonceMaxValueError; exports.InsufficientFundsError = InsufficientFundsError; exports.IntrinsicGasTooHighError = IntrinsicGasTooHighError; exports.IntrinsicGasTooLowError = IntrinsicGasTooLowError; exports.TransactionTypeNotSupportedError = TransactionTypeNotSupportedError; exports.TipAboveFeeCapError = TipAboveFeeCapError; exports.UnknownNodeError = UnknownNodeError; exports.RequestError = RequestError; exports.RpcRequestError = RpcRequestError; exports.ParseRpcError = ParseRpcError; exports.InvalidRequestRpcError = InvalidRequestRpcError; exports.MethodNotFoundRpcError = MethodNotFoundRpcError; exports.InvalidParamsRpcError = InvalidParamsRpcError; exports.InternalRpcError = InternalRpcError; exports.InvalidInputRpcError = InvalidInputRpcError; exports.ResourceNotFoundRpcError = ResourceNotFoundRpcError; exports.ResourceUnavailableRpcError = ResourceUnavailableRpcError; exports.TransactionRejectedRpcError = TransactionRejectedRpcError; exports.MethodNotSupportedRpcError = MethodNotSupportedRpcError; exports.LimitExceededRpcError = LimitExceededRpcError; exports.JsonRpcVersionUnsupportedError = JsonRpcVersionUnsupportedError; exports.UserRejectedRequestError = UserRejectedRequestError; exports.SwitchChainError = SwitchChainError; exports.UnknownRpcError = UnknownRpcError; exports.HttpRequestError = HttpRequestError; exports.WebSocketRequestError = WebSocketRequestError; exports.RpcError = RpcError; exports.TimeoutError = TimeoutError; exports.UrlRequiredError = UrlRequiredError; exports.concat = concat; exports.isBytes = isBytes; exports.isHex = isHex; exports.pad = pad; exports.padHex = padHex; exports.padBytes = padBytes; exports.trim = trim; exports.size = size; exports.slice = slice; exports.sliceBytes = sliceBytes; exports.sliceHex = sliceHex; exports.boolToHex = boolToHex; exports.bytesToHex = bytesToHex; exports.toHex = toHex; exports.numberToHex = numberToHex; exports.stringToHex = stringToHex; exports.toBytes = toBytes; exports.boolToBytes = boolToBytes; exports.hexToBytes = hexToBytes; exports.numberToBytes = numberToBytes; exports.stringToBytes = stringToBytes; exports.toRlp = toRlp; exports.fromHex = fromHex; exports.hexToBigInt = hexToBigInt; exports.hexToBool = hexToBool; exports.hexToNumber = hexToNumber; exports.hexToString = hexToString; exports.fromBytes = fromBytes; exports.bytesToBigint = bytesToBigint; exports.bytesToBool = bytesToBool; exports.bytesToNumber = bytesToNumber; exports.bytesToString = bytesToString; exports.fromRlp = fromRlp; exports.extractFunctionParts = extractFunctionParts; exports.extractFunctionName = extractFunctionName; exports.extractFunctionParams = extractFunctionParams; exports.extractFunctionType = extractFunctionType; exports.keccak256 = keccak256; exports.getEventSelector = getEventSelector; exports.getFunctionSelector = getFunctionSelector; exports.isAddress = isAddress; exports.getAddress = getAddress; exports.getContractAddress = getContractAddress2; exports.getCreateAddress = getCreateAddress; exports.getCreate2Address = getCreate2Address; exports.isAddressEqual = isAddressEqual; exports.encodeAbiParameters = encodeAbiParameters; exports.decodeAbiParameters = decodeAbiParameters; exports.formatAbiItem = formatAbiItem; exports.decodeErrorResult = decodeErrorResult; exports.decodeEventLog = decodeEventLog; exports.decodeFunctionData = decodeFunctionData; exports.getAbiItem = getAbiItem; exports.decodeFunctionResult = decodeFunctionResult; exports.encodeDeployData = encodeDeployData; exports.encodeErrorResult = encodeErrorResult; exports.encodeEventTopics = encodeEventTopics; exports.encodeFunctionData = encodeFunctionData; exports.encodeFunctionResult = encodeFunctionResult; exports.arrayRegex = arrayRegex; exports.bytesRegex = bytesRegex; exports.integerRegex = integerRegex; exports.encodePacked = encodePacked; exports.formatAbiItemWithArgs = formatAbiItemWithArgs; exports.parseAbi = _abitype.parseAbi; exports.parseAbiItem = _abitype.parseAbiItem; exports.parseAbiParameter = _abitype.parseAbiParameter; exports.parseAbiParameters = _abitype.parseAbiParameters; exports.getAccount = getAccount; exports.isDeterministicError = isDeterministicError; exports.buildRequest = buildRequest; exports.defineChain = defineChain; exports.getChainContractAddress = getChainContractAddress; exports.format = format3; exports.defineFormatter = defineFormatter; exports.transactionType = transactionType; exports.formatTransaction = formatTransaction; exports.defineTransaction = defineTransaction; exports.formatBlock = formatBlock; exports.defineBlock = defineBlock; exports.extract = extract; exports.defineTransactionReceipt = defineTransactionReceipt; exports.formatTransactionRequest = formatTransactionRequest; exports.defineTransactionRequest = defineTransactionRequest; exports.containsNodeError = containsNodeError; exports.getNodeError = getNodeError; exports.getCallError = getCallError; exports.getContractError = getContractError; exports.getEstimateGasError = getEstimateGasError; exports.getTransactionError = getTransactionError; exports.stringify = stringify; exports.getSocket = getSocket; exports.rpc = rpc; exports.assertRequest = assertRequest; exports.call = call; exports.simulateContract = simulateContract; exports.createPendingTransactionFilter = createPendingTransactionFilter; exports.createBlockFilter = createBlockFilter; exports.createEventFilter = createEventFilter; exports.createContractEventFilter = createContractEventFilter; exports.estimateGas = estimateGas; exports.estimateContractGas = estimateContractGas; exports.getBalance = getBalance; exports.getBlock = getBlock; exports.getBlockNumberCache = getBlockNumberCache; exports.getBlockNumber = getBlockNumber; exports.getBlockTransactionCount = getBlockTransactionCount; exports.getBytecode = getBytecode; exports.getChainId = getChainId; exports.getFeeHistory = getFeeHistory; exports.getFilterChanges = getFilterChanges; exports.getFilterLogs = getFilterLogs; exports.getGasPrice = getGasPrice; exports.getLogs = getLogs; exports.getStorageAt = getStorageAt; exports.getTransaction = getTransaction; exports.getTransactionConfirmations = getTransactionConfirmations; exports.getTransactionCount = getTransactionCount; exports.getTransactionReceipt = getTransactionReceipt; exports.readContract = readContract; exports.multicall = multicall; exports.uninstallFilter = uninstallFilter; exports.waitForTransactionReceipt = waitForTransactionReceipt; exports.watchBlockNumber = watchBlockNumber; exports.watchBlocks = watchBlocks; exports.watchContractEvent = watchContractEvent; exports.watchEvent = watchEvent; exports.watchPendingTransactions = watchPendingTransactions; exports.dropTransaction = dropTransaction; exports.getAutomine = getAutomine; exports.getTxpoolContent = getTxpoolContent; exports.getTxpoolStatus = getTxpoolStatus; exports.impersonateAccount = impersonateAccount; exports.increaseTime = increaseTime; exports.inspectTxpool = inspectTxpool; exports.mine = mine; exports.removeBlockTimestampInterval = removeBlockTimestampInterval; exports.reset = reset; exports.revert = revert; exports.sendUnsignedTransaction = sendUnsignedTransaction; exports.setAutomine = setAutomine; exports.setBalance = setBalance; exports.setBlockGasLimit = setBlockGasLimit; exports.setBlockTimestampInterval = setBlockTimestampInterval; exports.setCode = setCode; exports.setCoinbase = setCoinbase; exports.setIntervalMining = setIntervalMining; exports.setLoggingEnabled = setLoggingEnabled; exports.setMinGasPrice = setMinGasPrice; exports.setNextBlockBaseFeePerGas = setNextBlockBaseFeePerGas; exports.setNextBlockTimestamp = setNextBlockTimestamp; exports.setNonce = setNonce; exports.setRpcUrl = setRpcUrl; exports.setStorageAt = setStorageAt; exports.snapshot = snapshot; exports.stopImpersonatingAccount = stopImpersonatingAccount; exports.addChain = addChain; exports.deployContract = deployContract; exports.getAddresses = getAddresses; exports.getPermissions = getPermissions; exports.requestAddresses = requestAddresses; exports.requestPermissions = requestPermissions; exports.sendTransaction = sendTransaction; exports.signMessage = signMessage; exports.switchChain = switchChain; exports.watchAsset = watchAsset; exports.writeContract = writeContract; exports.parseUnits = parseUnits; exports.parseGwei = parseGwei; exports.prepareRequest = prepareRequest; exports.formatUnits = formatUnits; exports.formatEther = formatEther; exports.formatGwei = formatGwei; exports.parseEther = parseEther;
5384
+ //# sourceMappingURL=chunk-NJT5TACH.js.map