web3-tools-mcp 1.6.0 → 2.0.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 (104) hide show
  1. package/CHANGELOG.md +95 -0
  2. package/README.md +328 -234
  3. package/dist/anvil.d.ts +1 -1
  4. package/dist/anvil.d.ts.map +1 -1
  5. package/dist/anvil.js +11 -9
  6. package/dist/anvil.js.map +1 -1
  7. package/dist/chain-meta.d.ts.map +1 -1
  8. package/dist/chain-meta.js +7 -3
  9. package/dist/chain-meta.js.map +1 -1
  10. package/dist/chains.d.ts +960 -0
  11. package/dist/chains.d.ts.map +1 -0
  12. package/dist/chains.js +108 -0
  13. package/dist/chains.js.map +1 -0
  14. package/dist/client.d.ts +10 -1717
  15. package/dist/client.d.ts.map +1 -1
  16. package/dist/client.js +33 -218
  17. package/dist/client.js.map +1 -1
  18. package/dist/http-server.d.ts +6 -0
  19. package/dist/http-server.d.ts.map +1 -1
  20. package/dist/http-server.js +55 -40
  21. package/dist/http-server.js.map +1 -1
  22. package/dist/index.js +50 -29
  23. package/dist/index.js.map +1 -1
  24. package/dist/oauth.d.ts +31 -0
  25. package/dist/oauth.d.ts.map +1 -0
  26. package/dist/oauth.js +227 -0
  27. package/dist/oauth.js.map +1 -0
  28. package/dist/preview.d.ts.map +1 -1
  29. package/dist/preview.js +2 -2
  30. package/dist/preview.js.map +1 -1
  31. package/dist/tools/advanced.d.ts +4 -4
  32. package/dist/tools/advanced.d.ts.map +1 -1
  33. package/dist/tools/advanced.js +228 -247
  34. package/dist/tools/advanced.js.map +1 -1
  35. package/dist/tools/balance.d.ts +1 -1
  36. package/dist/tools/balance.d.ts.map +1 -1
  37. package/dist/tools/balance.js +97 -103
  38. package/dist/tools/balance.js.map +1 -1
  39. package/dist/tools/contract-info.d.ts +3 -3
  40. package/dist/tools/contract-info.d.ts.map +1 -1
  41. package/dist/tools/contract-info.js +150 -161
  42. package/dist/tools/contract-info.js.map +1 -1
  43. package/dist/tools/contract.d.ts +4 -4
  44. package/dist/tools/contract.d.ts.map +1 -1
  45. package/dist/tools/contract.js +91 -110
  46. package/dist/tools/contract.js.map +1 -1
  47. package/dist/tools/ens.d.ts +6 -6
  48. package/dist/tools/ens.d.ts.map +1 -1
  49. package/dist/tools/ens.js +239 -297
  50. package/dist/tools/ens.js.map +1 -1
  51. package/dist/tools/gas.d.ts +4 -4
  52. package/dist/tools/gas.d.ts.map +1 -1
  53. package/dist/tools/gas.js +90 -138
  54. package/dist/tools/gas.js.map +1 -1
  55. package/dist/tools/index.d.ts +1 -1
  56. package/dist/tools/index.d.ts.map +1 -1
  57. package/dist/tools/logs.d.ts +1 -1
  58. package/dist/tools/logs.d.ts.map +1 -1
  59. package/dist/tools/logs.js +36 -37
  60. package/dist/tools/logs.js.map +1 -1
  61. package/dist/tools/signatures.d.ts.map +1 -1
  62. package/dist/tools/signatures.js +67 -89
  63. package/dist/tools/signatures.js.map +1 -1
  64. package/dist/tools/transactions.d.ts +35 -5
  65. package/dist/tools/transactions.d.ts.map +1 -1
  66. package/dist/tools/transactions.js +148 -74
  67. package/dist/tools/transactions.js.map +1 -1
  68. package/dist/types.d.ts +1 -1
  69. package/dist/types.d.ts.map +1 -1
  70. package/dist/utils.d.ts +1 -1
  71. package/dist/utils.d.ts.map +1 -1
  72. package/dist/utils.js +35 -98
  73. package/dist/utils.js.map +1 -1
  74. package/dist/wallet-client.d.ts +11 -1
  75. package/dist/wallet-client.d.ts.map +1 -1
  76. package/dist/wallet-client.js +27 -9
  77. package/dist/wallet-client.js.map +1 -1
  78. package/dist/walletconnect.d.ts +22 -1
  79. package/dist/walletconnect.d.ts.map +1 -1
  80. package/dist/walletconnect.js +101 -8
  81. package/dist/walletconnect.js.map +1 -1
  82. package/package.json +17 -9
  83. package/src/anvil.ts +15 -18
  84. package/src/chain-meta.ts +8 -4
  85. package/src/chains.ts +145 -0
  86. package/src/client.ts +39 -254
  87. package/src/http-server.ts +67 -44
  88. package/src/index.ts +77 -53
  89. package/src/oauth.ts +270 -0
  90. package/src/preview.ts +3 -12
  91. package/src/tools/advanced.ts +195 -213
  92. package/src/tools/balance.ts +103 -108
  93. package/src/tools/contract-info.ts +163 -184
  94. package/src/tools/contract.ts +123 -144
  95. package/src/tools/ens.ts +290 -345
  96. package/src/tools/gas.ts +122 -170
  97. package/src/tools/index.ts +2 -2
  98. package/src/tools/logs.ts +45 -43
  99. package/src/tools/signatures.ts +68 -86
  100. package/src/tools/transactions.ts +194 -87
  101. package/src/types.ts +1 -15
  102. package/src/utils.ts +52 -110
  103. package/src/wallet-client.ts +31 -9
  104. package/src/walletconnect.ts +119 -7
@@ -0,0 +1,960 @@
1
+ import type { Chain } from 'viem';
2
+ /**
3
+ * Every chain this server knows, in one table. Adding one here is the whole change: the
4
+ * `ChainName` union, the tool schemas, RPC selection, explorer links, Hypersync routing and
5
+ * the `--help` listing are all derived from it.
6
+ */
7
+ interface ChainInfo {
8
+ chain: Chain;
9
+ /** Subdomain under g.alchemy.com; absent where Alchemy has no endpoint. */
10
+ alchemy?: string;
11
+ /** Subdomain under infura.io; absent where Infura has no endpoint. */
12
+ infura?: string;
13
+ /** Used when no provider key is configured. */
14
+ fallback: string;
15
+ /** Block explorer domain, for links. Absent where there is nothing to link to. */
16
+ explorer?: string;
17
+ hypersync?: string;
18
+ }
19
+ declare const TABLE: {
20
+ readonly mainnet: {
21
+ readonly chain: {
22
+ blockExplorers: {
23
+ readonly default: {
24
+ readonly name: "Etherscan";
25
+ readonly url: "https://etherscan.io";
26
+ readonly apiUrl: "https://api.etherscan.io/api";
27
+ };
28
+ };
29
+ blockTime: 12000;
30
+ contracts: {
31
+ readonly ensUniversalResolver: {
32
+ readonly address: "0xeeeeeeee14d718c2b47d9923deab1335e144eeee";
33
+ readonly blockCreated: 23085558;
34
+ };
35
+ readonly multicall3: {
36
+ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
37
+ readonly blockCreated: 14353601;
38
+ };
39
+ };
40
+ ensTlds?: readonly string[] | undefined;
41
+ id: 1;
42
+ name: "Ethereum";
43
+ nativeCurrency: {
44
+ readonly name: "Ether";
45
+ readonly symbol: "ETH";
46
+ readonly decimals: 18;
47
+ };
48
+ experimental_preconfirmationTime?: number | undefined | undefined;
49
+ rpcUrls: {
50
+ readonly default: {
51
+ readonly http: readonly ["https://ethereum.reth.rs/rpc"];
52
+ };
53
+ };
54
+ sourceId?: number | undefined | undefined;
55
+ supportsTransactionReplacementDetection?: boolean | undefined | undefined;
56
+ testnet?: boolean | undefined | undefined;
57
+ custom?: Record<string, unknown> | undefined;
58
+ extendSchema?: Record<string, unknown> | undefined;
59
+ fees?: import("viem").ChainFees<undefined> | undefined;
60
+ formatters?: undefined;
61
+ prepareTransactionRequest?: ((args: import("viem").PrepareTransactionRequestParameters, options: {
62
+ client: import("viem").Client;
63
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
64
+ }) => Promise<import("viem").PrepareTransactionRequestParameters>) | [fn: ((args: import("viem").PrepareTransactionRequestParameters, options: {
65
+ client: import("viem").Client;
66
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
67
+ }) => Promise<import("viem").PrepareTransactionRequestParameters>) | undefined, options: {
68
+ runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
69
+ }] | undefined;
70
+ serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
71
+ verifyHash?: ((client: import("viem").Client, parameters: import("viem").VerifyHashActionParameters) => Promise<import("viem").VerifyHashActionReturnType>) | undefined;
72
+ };
73
+ readonly alchemy: "eth-mainnet";
74
+ readonly infura: "mainnet";
75
+ readonly fallback: "https://ethereum-rpc.publicnode.com";
76
+ readonly explorer: "etherscan.io";
77
+ readonly hypersync: "https://eth.hypersync.xyz";
78
+ };
79
+ readonly arbitrum: {
80
+ readonly chain: {
81
+ blockExplorers: {
82
+ readonly default: {
83
+ readonly name: "Arbiscan";
84
+ readonly url: "https://arbiscan.io";
85
+ readonly apiUrl: "https://api.arbiscan.io/api";
86
+ };
87
+ };
88
+ blockTime: 250;
89
+ contracts: {
90
+ readonly multicall3: {
91
+ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
92
+ readonly blockCreated: 7654707;
93
+ };
94
+ };
95
+ ensTlds?: readonly string[] | undefined;
96
+ id: 42161;
97
+ name: "Arbitrum One";
98
+ nativeCurrency: {
99
+ readonly name: "Ether";
100
+ readonly symbol: "ETH";
101
+ readonly decimals: 18;
102
+ };
103
+ experimental_preconfirmationTime?: number | undefined | undefined;
104
+ rpcUrls: {
105
+ readonly default: {
106
+ readonly http: readonly ["https://arb1.arbitrum.io/rpc"];
107
+ };
108
+ };
109
+ sourceId?: number | undefined | undefined;
110
+ supportsTransactionReplacementDetection?: boolean | undefined | undefined;
111
+ testnet?: boolean | undefined | undefined;
112
+ custom?: Record<string, unknown> | undefined;
113
+ extendSchema?: Record<string, unknown> | undefined;
114
+ fees?: import("viem").ChainFees<undefined> | undefined;
115
+ formatters?: undefined;
116
+ prepareTransactionRequest?: ((args: import("viem").PrepareTransactionRequestParameters, options: {
117
+ client: import("viem").Client;
118
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
119
+ }) => Promise<import("viem").PrepareTransactionRequestParameters>) | [fn: ((args: import("viem").PrepareTransactionRequestParameters, options: {
120
+ client: import("viem").Client;
121
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
122
+ }) => Promise<import("viem").PrepareTransactionRequestParameters>) | undefined, options: {
123
+ runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
124
+ }] | undefined;
125
+ serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
126
+ verifyHash?: ((client: import("viem").Client, parameters: import("viem").VerifyHashActionParameters) => Promise<import("viem").VerifyHashActionReturnType>) | undefined;
127
+ };
128
+ readonly alchemy: "arb-mainnet";
129
+ readonly infura: "arbitrum-mainnet";
130
+ readonly fallback: "https://arb1.arbitrum.io/rpc";
131
+ readonly explorer: "arbiscan.io";
132
+ readonly hypersync: "https://arbitrum.hypersync.xyz";
133
+ };
134
+ readonly avalanche: {
135
+ readonly chain: {
136
+ blockExplorers: {
137
+ readonly default: {
138
+ readonly name: "SnowTrace";
139
+ readonly url: "https://snowtrace.io";
140
+ readonly apiUrl: "https://api.snowtrace.io";
141
+ };
142
+ };
143
+ blockTime: 1700;
144
+ contracts: {
145
+ readonly multicall3: {
146
+ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
147
+ readonly blockCreated: 11907934;
148
+ };
149
+ };
150
+ ensTlds?: readonly string[] | undefined;
151
+ id: 43114;
152
+ name: "Avalanche";
153
+ nativeCurrency: {
154
+ readonly decimals: 18;
155
+ readonly name: "Avalanche";
156
+ readonly symbol: "AVAX";
157
+ };
158
+ experimental_preconfirmationTime?: number | undefined | undefined;
159
+ rpcUrls: {
160
+ readonly default: {
161
+ readonly http: readonly ["https://api.avax.network/ext/bc/C/rpc"];
162
+ };
163
+ };
164
+ sourceId?: number | undefined | undefined;
165
+ supportsTransactionReplacementDetection?: boolean | undefined | undefined;
166
+ testnet?: boolean | undefined | undefined;
167
+ custom?: Record<string, unknown> | undefined;
168
+ extendSchema?: Record<string, unknown> | undefined;
169
+ fees?: import("viem").ChainFees<undefined> | undefined;
170
+ formatters?: undefined;
171
+ prepareTransactionRequest?: ((args: import("viem").PrepareTransactionRequestParameters, options: {
172
+ client: import("viem").Client;
173
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
174
+ }) => Promise<import("viem").PrepareTransactionRequestParameters>) | [fn: ((args: import("viem").PrepareTransactionRequestParameters, options: {
175
+ client: import("viem").Client;
176
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
177
+ }) => Promise<import("viem").PrepareTransactionRequestParameters>) | undefined, options: {
178
+ runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
179
+ }] | undefined;
180
+ serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
181
+ verifyHash?: ((client: import("viem").Client, parameters: import("viem").VerifyHashActionParameters) => Promise<import("viem").VerifyHashActionReturnType>) | undefined;
182
+ };
183
+ readonly alchemy: "avax-mainnet";
184
+ readonly infura: "avalanche-mainnet";
185
+ readonly fallback: "https://api.avax.network/ext/bc/C/rpc";
186
+ readonly explorer: "snowtrace.io";
187
+ readonly hypersync: "https://avalanche.hypersync.xyz";
188
+ };
189
+ readonly base: {
190
+ readonly chain: {
191
+ blockExplorers: {
192
+ readonly default: {
193
+ readonly name: "Basescan";
194
+ readonly url: "https://basescan.org";
195
+ readonly apiUrl: "https://api.basescan.org/api";
196
+ };
197
+ };
198
+ blockTime: 2000;
199
+ contracts: {
200
+ readonly disputeGameFactory: {
201
+ readonly 1: {
202
+ readonly address: "0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e";
203
+ };
204
+ };
205
+ readonly l2OutputOracle: {
206
+ readonly 1: {
207
+ readonly address: "0x56315b90c40730925ec5485cf004d835058518A0";
208
+ };
209
+ };
210
+ readonly multicall3: {
211
+ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
212
+ readonly blockCreated: 5022;
213
+ };
214
+ readonly portal: {
215
+ readonly 1: {
216
+ readonly address: "0x49048044D57e1C92A77f79988d21Fa8fAF74E97e";
217
+ readonly blockCreated: 17482143;
218
+ };
219
+ };
220
+ readonly l1StandardBridge: {
221
+ readonly 1: {
222
+ readonly address: "0x3154Cf16ccdb4C6d922629664174b904d80F2C35";
223
+ readonly blockCreated: 17482143;
224
+ };
225
+ };
226
+ readonly gasPriceOracle: {
227
+ readonly address: "0x420000000000000000000000000000000000000F";
228
+ };
229
+ readonly l1Block: {
230
+ readonly address: "0x4200000000000000000000000000000000000015";
231
+ };
232
+ readonly l2CrossDomainMessenger: {
233
+ readonly address: "0x4200000000000000000000000000000000000007";
234
+ };
235
+ readonly l2Erc721Bridge: {
236
+ readonly address: "0x4200000000000000000000000000000000000014";
237
+ };
238
+ readonly l2StandardBridge: {
239
+ readonly address: "0x4200000000000000000000000000000000000010";
240
+ };
241
+ readonly l2ToL1MessagePasser: {
242
+ readonly address: "0x4200000000000000000000000000000000000016";
243
+ };
244
+ };
245
+ ensTlds?: readonly string[] | undefined;
246
+ id: 8453;
247
+ name: "Base";
248
+ nativeCurrency: {
249
+ readonly name: "Ether";
250
+ readonly symbol: "ETH";
251
+ readonly decimals: 18;
252
+ };
253
+ experimental_preconfirmationTime?: number | undefined | undefined;
254
+ rpcUrls: {
255
+ readonly default: {
256
+ readonly http: readonly ["https://mainnet.base.org"];
257
+ };
258
+ };
259
+ sourceId: 1;
260
+ supportsTransactionReplacementDetection?: boolean | undefined | undefined;
261
+ testnet?: boolean | undefined | undefined;
262
+ custom?: Record<string, unknown> | undefined;
263
+ extendSchema?: Record<string, unknown> | undefined;
264
+ fees?: import("viem").ChainFees<undefined> | undefined;
265
+ formatters: {
266
+ readonly block: {
267
+ exclude: [] | undefined;
268
+ format: (args: import("viem/chains").OpStackRpcBlock, action?: string | undefined) => import("viem/chains").OpStackBlock;
269
+ type: "block";
270
+ };
271
+ readonly transaction: {
272
+ exclude: [] | undefined;
273
+ format: (args: import("viem/chains").OpStackRpcTransaction, action?: string | undefined) => import("viem/chains").OpStackTransaction;
274
+ type: "transaction";
275
+ };
276
+ readonly transactionReceipt: {
277
+ exclude: [] | undefined;
278
+ format: (args: import("viem/chains").OpStackRpcTransactionReceipt, action?: string | undefined) => import("viem/chains").OpStackTransactionReceipt;
279
+ type: "transactionReceipt";
280
+ };
281
+ };
282
+ prepareTransactionRequest?: ((args: import("viem").PrepareTransactionRequestParameters, options: {
283
+ client: import("viem").Client;
284
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
285
+ }) => Promise<import("viem").PrepareTransactionRequestParameters>) | [fn: ((args: import("viem").PrepareTransactionRequestParameters, options: {
286
+ client: import("viem").Client;
287
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
288
+ }) => Promise<import("viem").PrepareTransactionRequestParameters>) | undefined, options: {
289
+ runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
290
+ }] | undefined;
291
+ serializers: {
292
+ readonly transaction: typeof import("viem/chains").serializeTransactionOpStack;
293
+ };
294
+ verifyHash?: ((client: import("viem").Client, parameters: import("viem").VerifyHashActionParameters) => Promise<import("viem").VerifyHashActionReturnType>) | undefined;
295
+ };
296
+ readonly alchemy: "base-mainnet";
297
+ readonly fallback: "https://mainnet.base.org";
298
+ readonly explorer: "basescan.org";
299
+ readonly hypersync: "https://base.hypersync.xyz";
300
+ };
301
+ readonly bnb: {
302
+ readonly chain: {
303
+ blockExplorers: {
304
+ readonly default: {
305
+ readonly name: "BscScan";
306
+ readonly url: "https://bscscan.com";
307
+ readonly apiUrl: "https://api.bscscan.com/api";
308
+ };
309
+ };
310
+ blockTime: 750;
311
+ contracts: {
312
+ readonly multicall3: {
313
+ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
314
+ readonly blockCreated: 15921452;
315
+ };
316
+ };
317
+ ensTlds?: readonly string[] | undefined;
318
+ id: 56;
319
+ name: "BNB Smart Chain";
320
+ nativeCurrency: {
321
+ readonly decimals: 18;
322
+ readonly name: "BNB";
323
+ readonly symbol: "BNB";
324
+ };
325
+ experimental_preconfirmationTime?: number | undefined | undefined;
326
+ rpcUrls: {
327
+ readonly default: {
328
+ readonly http: readonly ["https://56.rpc.thirdweb.com"];
329
+ };
330
+ };
331
+ sourceId?: number | undefined | undefined;
332
+ supportsTransactionReplacementDetection?: boolean | undefined | undefined;
333
+ testnet?: boolean | undefined | undefined;
334
+ custom?: Record<string, unknown> | undefined;
335
+ extendSchema?: Record<string, unknown> | undefined;
336
+ fees?: import("viem").ChainFees<undefined> | undefined;
337
+ formatters?: undefined;
338
+ prepareTransactionRequest?: ((args: import("viem").PrepareTransactionRequestParameters, options: {
339
+ client: import("viem").Client;
340
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
341
+ }) => Promise<import("viem").PrepareTransactionRequestParameters>) | [fn: ((args: import("viem").PrepareTransactionRequestParameters, options: {
342
+ client: import("viem").Client;
343
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
344
+ }) => Promise<import("viem").PrepareTransactionRequestParameters>) | undefined, options: {
345
+ runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
346
+ }] | undefined;
347
+ serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
348
+ verifyHash?: ((client: import("viem").Client, parameters: import("viem").VerifyHashActionParameters) => Promise<import("viem").VerifyHashActionReturnType>) | undefined;
349
+ };
350
+ readonly alchemy: "bnb-mainnet";
351
+ readonly infura: "bsc-mainnet";
352
+ readonly fallback: "https://bsc-dataseed.bnbchain.org";
353
+ readonly explorer: "bscscan.com";
354
+ readonly hypersync: "https://bsc.hypersync.xyz";
355
+ };
356
+ readonly gnosis: {
357
+ readonly chain: {
358
+ blockExplorers: {
359
+ readonly default: {
360
+ readonly name: "Gnosisscan";
361
+ readonly url: "https://gnosisscan.io";
362
+ readonly apiUrl: "https://api.gnosisscan.io/api";
363
+ };
364
+ };
365
+ blockTime: 5000;
366
+ contracts: {
367
+ readonly multicall3: {
368
+ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
369
+ readonly blockCreated: 21022491;
370
+ };
371
+ };
372
+ ensTlds?: readonly string[] | undefined;
373
+ id: 100;
374
+ name: "Gnosis";
375
+ nativeCurrency: {
376
+ readonly decimals: 18;
377
+ readonly name: "xDAI";
378
+ readonly symbol: "XDAI";
379
+ };
380
+ experimental_preconfirmationTime?: number | undefined | undefined;
381
+ rpcUrls: {
382
+ readonly default: {
383
+ readonly http: readonly ["https://rpc.gnosischain.com"];
384
+ readonly webSocket: readonly ["wss://rpc.gnosischain.com/wss"];
385
+ };
386
+ };
387
+ sourceId?: number | undefined | undefined;
388
+ supportsTransactionReplacementDetection?: boolean | undefined | undefined;
389
+ testnet?: boolean | undefined | undefined;
390
+ custom?: Record<string, unknown> | undefined;
391
+ extendSchema?: Record<string, unknown> | undefined;
392
+ fees?: import("viem").ChainFees<undefined> | undefined;
393
+ formatters?: undefined;
394
+ prepareTransactionRequest?: ((args: import("viem").PrepareTransactionRequestParameters, options: {
395
+ client: import("viem").Client;
396
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
397
+ }) => Promise<import("viem").PrepareTransactionRequestParameters>) | [fn: ((args: import("viem").PrepareTransactionRequestParameters, options: {
398
+ client: import("viem").Client;
399
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
400
+ }) => Promise<import("viem").PrepareTransactionRequestParameters>) | undefined, options: {
401
+ runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
402
+ }] | undefined;
403
+ serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
404
+ verifyHash?: ((client: import("viem").Client, parameters: import("viem").VerifyHashActionParameters) => Promise<import("viem").VerifyHashActionReturnType>) | undefined;
405
+ };
406
+ readonly alchemy: "gnosis-mainnet";
407
+ readonly fallback: "https://rpc.gnosischain.com";
408
+ readonly explorer: "gnosisscan.io";
409
+ readonly hypersync: "https://gnosis.hypersync.xyz";
410
+ };
411
+ readonly sonic: {
412
+ readonly chain: {
413
+ blockExplorers: {
414
+ readonly default: {
415
+ readonly name: "Sonic Explorer";
416
+ readonly url: "https://sonicscan.org";
417
+ };
418
+ };
419
+ blockTime: 630;
420
+ contracts: {
421
+ readonly multicall3: {
422
+ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
423
+ readonly blockCreated: 60;
424
+ };
425
+ };
426
+ ensTlds?: readonly string[] | undefined;
427
+ id: 146;
428
+ name: "Sonic";
429
+ nativeCurrency: {
430
+ readonly decimals: 18;
431
+ readonly name: "Sonic";
432
+ readonly symbol: "S";
433
+ };
434
+ experimental_preconfirmationTime?: number | undefined | undefined;
435
+ rpcUrls: {
436
+ readonly default: {
437
+ readonly http: readonly ["https://rpc.soniclabs.com"];
438
+ };
439
+ };
440
+ sourceId?: number | undefined | undefined;
441
+ supportsTransactionReplacementDetection?: boolean | undefined | undefined;
442
+ testnet: false;
443
+ custom?: Record<string, unknown> | undefined;
444
+ extendSchema?: Record<string, unknown> | undefined;
445
+ fees?: import("viem").ChainFees<undefined> | undefined;
446
+ formatters?: undefined;
447
+ prepareTransactionRequest?: ((args: import("viem").PrepareTransactionRequestParameters, options: {
448
+ client: import("viem").Client;
449
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
450
+ }) => Promise<import("viem").PrepareTransactionRequestParameters>) | [fn: ((args: import("viem").PrepareTransactionRequestParameters, options: {
451
+ client: import("viem").Client;
452
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
453
+ }) => Promise<import("viem").PrepareTransactionRequestParameters>) | undefined, options: {
454
+ runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
455
+ }] | undefined;
456
+ serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
457
+ verifyHash?: ((client: import("viem").Client, parameters: import("viem").VerifyHashActionParameters) => Promise<import("viem").VerifyHashActionReturnType>) | undefined;
458
+ };
459
+ readonly alchemy: "sonic-mainnet";
460
+ readonly fallback: "https://rpc.soniclabs.com";
461
+ readonly explorer: "sonicscan.org";
462
+ readonly hypersync: "https://sonic.hypersync.xyz";
463
+ };
464
+ readonly optimism: {
465
+ readonly chain: {
466
+ blockExplorers: {
467
+ readonly default: {
468
+ readonly name: "Optimism Explorer";
469
+ readonly url: "https://optimistic.etherscan.io";
470
+ readonly apiUrl: "https://api-optimistic.etherscan.io/api";
471
+ };
472
+ };
473
+ blockTime: 2000;
474
+ contracts: {
475
+ readonly disputeGameFactory: {
476
+ readonly 1: {
477
+ readonly address: "0xe5965Ab5962eDc7477C8520243A95517CD252fA9";
478
+ };
479
+ };
480
+ readonly l2OutputOracle: {
481
+ readonly 1: {
482
+ readonly address: "0xdfe97868233d1aa22e815a266982f2cf17685a27";
483
+ };
484
+ };
485
+ readonly multicall3: {
486
+ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
487
+ readonly blockCreated: 4286263;
488
+ };
489
+ readonly portal: {
490
+ readonly 1: {
491
+ readonly address: "0xbEb5Fc579115071764c7423A4f12eDde41f106Ed";
492
+ };
493
+ };
494
+ readonly l1StandardBridge: {
495
+ readonly 1: {
496
+ readonly address: "0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1";
497
+ };
498
+ };
499
+ readonly gasPriceOracle: {
500
+ readonly address: "0x420000000000000000000000000000000000000F";
501
+ };
502
+ readonly l1Block: {
503
+ readonly address: "0x4200000000000000000000000000000000000015";
504
+ };
505
+ readonly l2CrossDomainMessenger: {
506
+ readonly address: "0x4200000000000000000000000000000000000007";
507
+ };
508
+ readonly l2Erc721Bridge: {
509
+ readonly address: "0x4200000000000000000000000000000000000014";
510
+ };
511
+ readonly l2StandardBridge: {
512
+ readonly address: "0x4200000000000000000000000000000000000010";
513
+ };
514
+ readonly l2ToL1MessagePasser: {
515
+ readonly address: "0x4200000000000000000000000000000000000016";
516
+ };
517
+ };
518
+ ensTlds?: readonly string[] | undefined;
519
+ id: 10;
520
+ name: "OP Mainnet";
521
+ nativeCurrency: {
522
+ readonly name: "Ether";
523
+ readonly symbol: "ETH";
524
+ readonly decimals: 18;
525
+ };
526
+ experimental_preconfirmationTime?: number | undefined | undefined;
527
+ rpcUrls: {
528
+ readonly default: {
529
+ readonly http: readonly ["https://mainnet.optimism.io"];
530
+ };
531
+ };
532
+ sourceId: 1;
533
+ supportsTransactionReplacementDetection?: boolean | undefined | undefined;
534
+ testnet?: boolean | undefined | undefined;
535
+ custom?: Record<string, unknown> | undefined;
536
+ extendSchema?: Record<string, unknown> | undefined;
537
+ fees?: import("viem").ChainFees<undefined> | undefined;
538
+ formatters: {
539
+ readonly block: {
540
+ exclude: [] | undefined;
541
+ format: (args: import("viem/chains").OpStackRpcBlock, action?: string | undefined) => import("viem/chains").OpStackBlock;
542
+ type: "block";
543
+ };
544
+ readonly transaction: {
545
+ exclude: [] | undefined;
546
+ format: (args: import("viem/chains").OpStackRpcTransaction, action?: string | undefined) => import("viem/chains").OpStackTransaction;
547
+ type: "transaction";
548
+ };
549
+ readonly transactionReceipt: {
550
+ exclude: [] | undefined;
551
+ format: (args: import("viem/chains").OpStackRpcTransactionReceipt, action?: string | undefined) => import("viem/chains").OpStackTransactionReceipt;
552
+ type: "transactionReceipt";
553
+ };
554
+ };
555
+ prepareTransactionRequest?: ((args: import("viem").PrepareTransactionRequestParameters, options: {
556
+ client: import("viem").Client;
557
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
558
+ }) => Promise<import("viem").PrepareTransactionRequestParameters>) | [fn: ((args: import("viem").PrepareTransactionRequestParameters, options: {
559
+ client: import("viem").Client;
560
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
561
+ }) => Promise<import("viem").PrepareTransactionRequestParameters>) | undefined, options: {
562
+ runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
563
+ }] | undefined;
564
+ serializers: {
565
+ readonly transaction: typeof import("viem/chains").serializeTransactionOpStack;
566
+ };
567
+ verifyHash?: ((client: import("viem").Client, parameters: import("viem").VerifyHashActionParameters) => Promise<import("viem").VerifyHashActionReturnType>) | undefined;
568
+ };
569
+ readonly alchemy: "opt-mainnet";
570
+ readonly infura: "optimism-mainnet";
571
+ readonly fallback: "https://mainnet.optimism.io";
572
+ readonly explorer: "optimistic.etherscan.io";
573
+ readonly hypersync: "https://optimism.hypersync.xyz";
574
+ };
575
+ readonly polygon: {
576
+ readonly chain: {
577
+ blockExplorers: {
578
+ readonly default: {
579
+ readonly name: "PolygonScan";
580
+ readonly url: "https://polygonscan.com";
581
+ readonly apiUrl: "https://api.etherscan.io/v2/api";
582
+ };
583
+ };
584
+ blockTime: 2000;
585
+ contracts: {
586
+ readonly multicall3: {
587
+ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
588
+ readonly blockCreated: 25770160;
589
+ };
590
+ };
591
+ ensTlds?: readonly string[] | undefined;
592
+ id: 137;
593
+ name: "Polygon";
594
+ nativeCurrency: {
595
+ readonly name: "POL";
596
+ readonly symbol: "POL";
597
+ readonly decimals: 18;
598
+ };
599
+ experimental_preconfirmationTime?: number | undefined | undefined;
600
+ rpcUrls: {
601
+ readonly default: {
602
+ readonly http: readonly ["https://polygon.drpc.org"];
603
+ };
604
+ };
605
+ sourceId?: number | undefined | undefined;
606
+ supportsTransactionReplacementDetection?: boolean | undefined | undefined;
607
+ testnet?: boolean | undefined | undefined;
608
+ custom?: Record<string, unknown> | undefined;
609
+ extendSchema?: Record<string, unknown> | undefined;
610
+ fees?: import("viem").ChainFees<undefined> | undefined;
611
+ formatters?: undefined;
612
+ prepareTransactionRequest?: ((args: import("viem").PrepareTransactionRequestParameters, options: {
613
+ client: import("viem").Client;
614
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
615
+ }) => Promise<import("viem").PrepareTransactionRequestParameters>) | [fn: ((args: import("viem").PrepareTransactionRequestParameters, options: {
616
+ client: import("viem").Client;
617
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
618
+ }) => Promise<import("viem").PrepareTransactionRequestParameters>) | undefined, options: {
619
+ runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
620
+ }] | undefined;
621
+ serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
622
+ verifyHash?: ((client: import("viem").Client, parameters: import("viem").VerifyHashActionParameters) => Promise<import("viem").VerifyHashActionReturnType>) | undefined;
623
+ };
624
+ readonly alchemy: "polygon-mainnet";
625
+ readonly infura: "polygon-mainnet";
626
+ readonly fallback: "https://polygon-bor-rpc.publicnode.com";
627
+ readonly explorer: "polygonscan.com";
628
+ readonly hypersync: "https://polygon.hypersync.xyz";
629
+ };
630
+ readonly zksync: {
631
+ readonly chain: {
632
+ blockExplorers: {
633
+ readonly default: {
634
+ readonly name: "ZKsync Explorer";
635
+ readonly url: "https://explorer.zksync.io/";
636
+ readonly apiUrl: "https://block-explorer-api.mainnet.zksync.io/api";
637
+ };
638
+ };
639
+ blockTime: 200;
640
+ contracts: {
641
+ readonly multicall3: {
642
+ readonly address: "0xF9cda624FBC7e059355ce98a31693d299FACd963";
643
+ readonly blockCreated: 3908235;
644
+ };
645
+ readonly erc6492Verifier: {
646
+ readonly address: "0xfB688330379976DA81eB64Fe4BF50d7401763B9C";
647
+ readonly blockCreated: 45659388;
648
+ };
649
+ };
650
+ ensTlds?: readonly string[] | undefined;
651
+ id: 324;
652
+ name: "ZKsync Era";
653
+ nativeCurrency: {
654
+ readonly decimals: 18;
655
+ readonly name: "Ether";
656
+ readonly symbol: "ETH";
657
+ };
658
+ experimental_preconfirmationTime?: number | undefined | undefined;
659
+ rpcUrls: {
660
+ readonly default: {
661
+ readonly http: readonly ["https://mainnet.era.zksync.io"];
662
+ readonly webSocket: readonly ["wss://mainnet.era.zksync.io/ws"];
663
+ };
664
+ };
665
+ sourceId?: number | undefined | undefined;
666
+ supportsTransactionReplacementDetection?: boolean | undefined | undefined;
667
+ testnet?: boolean | undefined | undefined;
668
+ custom: {
669
+ readonly getEip712Domain: import("viem/zksync").EIP712DomainFn<import("viem/chains").ZkSyncTransactionSerializable, import("viem/chains").ZkSyncEIP712TransactionSignable>;
670
+ };
671
+ extendSchema?: Record<string, unknown> | undefined;
672
+ fees?: import("viem").ChainFees<undefined> | undefined;
673
+ formatters: {
674
+ readonly block: {
675
+ exclude: [] | undefined;
676
+ format: (args: import("viem/chains").ZkSyncRpcBlock, action?: string | undefined) => import("viem/chains").ZkSyncBlock;
677
+ type: "block";
678
+ };
679
+ readonly transaction: {
680
+ exclude: [] | undefined;
681
+ format: (args: import("viem/chains").ZkSyncRpcTransaction, action?: string | undefined) => import("viem/chains").ZkSyncTransaction;
682
+ type: "transaction";
683
+ };
684
+ readonly transactionReceipt: {
685
+ exclude: [] | undefined;
686
+ format: (args: import("viem/chains").ZkSyncRpcTransactionReceipt, action?: string | undefined) => import("viem/chains").ZkSyncTransactionReceipt;
687
+ type: "transactionReceipt";
688
+ };
689
+ readonly transactionRequest: {
690
+ exclude: ("paymaster" | "gasPerPubdata" | "factoryDeps" | "paymasterInput" | "customSignature")[] | undefined;
691
+ format: (args: import("viem/chains").ZkSyncTransactionRequest, action?: string | undefined) => import("viem/chains").ZkSyncRpcTransactionRequest & {
692
+ paymaster: never;
693
+ gasPerPubdata: never;
694
+ factoryDeps: never;
695
+ paymasterInput: never;
696
+ customSignature: never;
697
+ };
698
+ type: "transactionRequest";
699
+ };
700
+ };
701
+ prepareTransactionRequest?: ((args: import("viem").PrepareTransactionRequestParameters, options: {
702
+ client: import("viem").Client;
703
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
704
+ }) => Promise<import("viem").PrepareTransactionRequestParameters>) | [fn: ((args: import("viem").PrepareTransactionRequestParameters, options: {
705
+ client: import("viem").Client;
706
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
707
+ }) => Promise<import("viem").PrepareTransactionRequestParameters>) | undefined, options: {
708
+ runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
709
+ }] | undefined;
710
+ serializers: {
711
+ readonly transaction: typeof import("viem/zksync").serializeTransaction;
712
+ };
713
+ verifyHash?: ((client: import("viem").Client, parameters: import("viem").VerifyHashActionParameters) => Promise<import("viem").VerifyHashActionReturnType>) | undefined;
714
+ readonly network: "zksync-era";
715
+ };
716
+ readonly alchemy: "zksync-mainnet";
717
+ readonly infura: "zksync-mainnet";
718
+ readonly fallback: "https://mainnet.era.zksync.io";
719
+ readonly explorer: "era.zksync.network";
720
+ readonly hypersync: "https://zksync.hypersync.xyz";
721
+ };
722
+ readonly linea: {
723
+ readonly chain: {
724
+ blockExplorers: {
725
+ readonly default: {
726
+ readonly name: "Etherscan";
727
+ readonly url: "https://lineascan.build";
728
+ readonly apiUrl: "https://api.lineascan.build/api";
729
+ };
730
+ };
731
+ blockTime: 2000;
732
+ contracts: {
733
+ readonly multicall3: {
734
+ readonly address: "0xcA11bde05977b3631167028862bE2a173976CA11";
735
+ readonly blockCreated: 42;
736
+ };
737
+ readonly ensRegistry: {
738
+ readonly address: "0x50130b669B28C339991d8676FA73CF122a121267";
739
+ readonly blockCreated: 6682888;
740
+ };
741
+ readonly ensUniversalResolver: {
742
+ readonly address: "0x4D41762915F83c76EcaF6776d9b08076aA32b492";
743
+ readonly blockCreated: 22222151;
744
+ };
745
+ };
746
+ ensTlds: readonly [".linea.eth"];
747
+ id: 59144;
748
+ name: "Linea Mainnet";
749
+ nativeCurrency: {
750
+ readonly name: "Linea Ether";
751
+ readonly symbol: "ETH";
752
+ readonly decimals: 18;
753
+ };
754
+ experimental_preconfirmationTime?: number | undefined | undefined;
755
+ rpcUrls: {
756
+ readonly default: {
757
+ readonly http: readonly ["https://rpc.linea.build"];
758
+ readonly webSocket: readonly ["wss://rpc.linea.build"];
759
+ };
760
+ };
761
+ sourceId?: number | undefined | undefined;
762
+ supportsTransactionReplacementDetection?: boolean | undefined | undefined;
763
+ testnet: false;
764
+ custom?: Record<string, unknown> | undefined;
765
+ extendSchema?: Record<string, unknown> | undefined;
766
+ fees: {
767
+ readonly estimateFeesPerGas: ({ client, multiply, request, type, }: Parameters<import("viem").ChainEstimateFeesPerGasFn>[0]) => ReturnType<import("viem").ChainEstimateFeesPerGasFn>;
768
+ readonly maxPriorityFeePerGas: ({ block, client, request }: import("viem").ChainFeesFnParameters<import("viem").ChainFormatters | undefined>) => Promise<bigint | null>;
769
+ };
770
+ formatters?: undefined;
771
+ prepareTransactionRequest?: ((args: import("viem").PrepareTransactionRequestParameters, options: {
772
+ client: import("viem").Client;
773
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
774
+ }) => Promise<import("viem").PrepareTransactionRequestParameters>) | [fn: ((args: import("viem").PrepareTransactionRequestParameters, options: {
775
+ client: import("viem").Client;
776
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
777
+ }) => Promise<import("viem").PrepareTransactionRequestParameters>) | undefined, options: {
778
+ runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
779
+ }] | undefined;
780
+ serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
781
+ verifyHash?: ((client: import("viem").Client, parameters: import("viem").VerifyHashActionParameters) => Promise<import("viem").VerifyHashActionReturnType>) | undefined;
782
+ };
783
+ readonly alchemy: "linea-mainnet";
784
+ readonly infura: "linea-mainnet";
785
+ readonly fallback: "https://rpc.linea.build";
786
+ readonly explorer: "lineascan.build";
787
+ readonly hypersync: "https://linea.hypersync.xyz";
788
+ };
789
+ readonly unichain: {
790
+ readonly chain: {
791
+ blockExplorers: {
792
+ readonly default: {
793
+ readonly name: "Uniscan";
794
+ readonly url: "https://uniscan.xyz";
795
+ readonly apiUrl: "https://api.uniscan.xyz/api";
796
+ };
797
+ };
798
+ blockTime: 1000;
799
+ contracts: {
800
+ readonly multicall3: {
801
+ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
802
+ readonly blockCreated: 0;
803
+ };
804
+ readonly disputeGameFactory: {
805
+ readonly 1: {
806
+ readonly address: "0x2F12d621a16e2d3285929C9996f478508951dFe4";
807
+ };
808
+ };
809
+ readonly portal: {
810
+ readonly 1: {
811
+ readonly address: "0x0bd48f6B86a26D3a217d0Fa6FfE2B491B956A7a2";
812
+ };
813
+ };
814
+ readonly l1StandardBridge: {
815
+ readonly 1: {
816
+ readonly address: "0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA";
817
+ };
818
+ };
819
+ readonly gasPriceOracle: {
820
+ readonly address: "0x420000000000000000000000000000000000000F";
821
+ };
822
+ readonly l1Block: {
823
+ readonly address: "0x4200000000000000000000000000000000000015";
824
+ };
825
+ readonly l2CrossDomainMessenger: {
826
+ readonly address: "0x4200000000000000000000000000000000000007";
827
+ };
828
+ readonly l2Erc721Bridge: {
829
+ readonly address: "0x4200000000000000000000000000000000000014";
830
+ };
831
+ readonly l2StandardBridge: {
832
+ readonly address: "0x4200000000000000000000000000000000000010";
833
+ };
834
+ readonly l2ToL1MessagePasser: {
835
+ readonly address: "0x4200000000000000000000000000000000000016";
836
+ };
837
+ };
838
+ ensTlds?: readonly string[] | undefined;
839
+ id: 130;
840
+ name: "Unichain";
841
+ nativeCurrency: {
842
+ readonly name: "Ether";
843
+ readonly symbol: "ETH";
844
+ readonly decimals: 18;
845
+ };
846
+ experimental_preconfirmationTime?: number | undefined | undefined;
847
+ rpcUrls: {
848
+ readonly default: {
849
+ readonly http: readonly ["https://mainnet.unichain.org/"];
850
+ };
851
+ };
852
+ sourceId: 1;
853
+ supportsTransactionReplacementDetection?: boolean | undefined | undefined;
854
+ testnet?: boolean | undefined | undefined;
855
+ custom?: Record<string, unknown> | undefined;
856
+ extendSchema?: Record<string, unknown> | undefined;
857
+ fees?: import("viem").ChainFees<undefined> | undefined;
858
+ formatters: {
859
+ readonly block: {
860
+ exclude: [] | undefined;
861
+ format: (args: import("viem/chains").OpStackRpcBlock, action?: string | undefined) => import("viem/chains").OpStackBlock;
862
+ type: "block";
863
+ };
864
+ readonly transaction: {
865
+ exclude: [] | undefined;
866
+ format: (args: import("viem/chains").OpStackRpcTransaction, action?: string | undefined) => import("viem/chains").OpStackTransaction;
867
+ type: "transaction";
868
+ };
869
+ readonly transactionReceipt: {
870
+ exclude: [] | undefined;
871
+ format: (args: import("viem/chains").OpStackRpcTransactionReceipt, action?: string | undefined) => import("viem/chains").OpStackTransactionReceipt;
872
+ type: "transactionReceipt";
873
+ };
874
+ };
875
+ prepareTransactionRequest?: ((args: import("viem").PrepareTransactionRequestParameters, options: {
876
+ client: import("viem").Client;
877
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
878
+ }) => Promise<import("viem").PrepareTransactionRequestParameters>) | [fn: ((args: import("viem").PrepareTransactionRequestParameters, options: {
879
+ client: import("viem").Client;
880
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
881
+ }) => Promise<import("viem").PrepareTransactionRequestParameters>) | undefined, options: {
882
+ runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
883
+ }] | undefined;
884
+ serializers: {
885
+ readonly transaction: typeof import("viem/chains").serializeTransactionOpStack;
886
+ };
887
+ verifyHash?: ((client: import("viem").Client, parameters: import("viem").VerifyHashActionParameters) => Promise<import("viem").VerifyHashActionReturnType>) | undefined;
888
+ };
889
+ readonly alchemy: "unichain-mainnet";
890
+ readonly infura: "unichain-mainnet";
891
+ readonly fallback: "https://mainnet.unichain.org";
892
+ readonly explorer: "uniscan.xyz";
893
+ readonly hypersync: "https://unichain.hypersync.xyz";
894
+ };
895
+ readonly localhost: {
896
+ readonly chain: {
897
+ blockExplorers?: {
898
+ [key: string]: {
899
+ name: string;
900
+ url: string;
901
+ apiUrl?: string | undefined;
902
+ };
903
+ default: {
904
+ name: string;
905
+ url: string;
906
+ apiUrl?: string | undefined;
907
+ };
908
+ } | undefined | undefined;
909
+ blockTime?: number | undefined | undefined;
910
+ contracts?: {
911
+ [x: string]: import("viem").ChainContract | {
912
+ [sourceId: number]: import("viem").ChainContract | undefined;
913
+ } | undefined;
914
+ ensRegistry?: import("viem").ChainContract | undefined;
915
+ ensUniversalResolver?: import("viem").ChainContract | undefined;
916
+ multicall3?: import("viem").ChainContract | undefined;
917
+ erc6492Verifier?: import("viem").ChainContract | undefined;
918
+ } | undefined;
919
+ ensTlds?: readonly string[] | undefined;
920
+ id: 1337;
921
+ name: "Localhost";
922
+ nativeCurrency: {
923
+ readonly decimals: 18;
924
+ readonly name: "Ether";
925
+ readonly symbol: "ETH";
926
+ };
927
+ experimental_preconfirmationTime?: number | undefined | undefined;
928
+ rpcUrls: {
929
+ readonly default: {
930
+ readonly http: readonly ["http://127.0.0.1:8545"];
931
+ };
932
+ };
933
+ sourceId?: number | undefined | undefined;
934
+ supportsTransactionReplacementDetection?: boolean | undefined | undefined;
935
+ testnet?: boolean | undefined | undefined;
936
+ custom?: Record<string, unknown> | undefined;
937
+ extendSchema?: Record<string, unknown> | undefined;
938
+ fees?: import("viem").ChainFees<undefined> | undefined;
939
+ formatters?: undefined;
940
+ prepareTransactionRequest?: ((args: import("viem").PrepareTransactionRequestParameters, options: {
941
+ client: import("viem").Client;
942
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
943
+ }) => Promise<import("viem").PrepareTransactionRequestParameters>) | [fn: ((args: import("viem").PrepareTransactionRequestParameters, options: {
944
+ client: import("viem").Client;
945
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
946
+ }) => Promise<import("viem").PrepareTransactionRequestParameters>) | undefined, options: {
947
+ runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
948
+ }] | undefined;
949
+ serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
950
+ verifyHash?: ((client: import("viem").Client, parameters: import("viem").VerifyHashActionParameters) => Promise<import("viem").VerifyHashActionReturnType>) | undefined;
951
+ };
952
+ readonly fallback: "http://localhost:8545";
953
+ };
954
+ };
955
+ export type ChainName = keyof typeof TABLE;
956
+ export declare const CHAINS: Record<ChainName, ChainInfo>;
957
+ /** Tuple rather than array, because `z.enum` needs a non-empty literal list. */
958
+ export declare const SUPPORTED_CHAINS: [ChainName, ...ChainName[]];
959
+ export {};
960
+ //# sourceMappingURL=chains.d.ts.map