web3-tools-mcp 1.5.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 (109) hide show
  1. package/CHANGELOG.md +95 -0
  2. package/README.md +346 -164
  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 -216
  17. package/dist/client.js.map +1 -1
  18. package/dist/http-server.d.ts +18 -0
  19. package/dist/http-server.d.ts.map +1 -0
  20. package/dist/http-server.js +89 -0
  21. package/dist/http-server.js.map +1 -0
  22. package/dist/index.js +77 -32
  23. package/dist/index.js.map +1 -1
  24. package/dist/kv-storage.d.ts +23 -0
  25. package/dist/kv-storage.d.ts.map +1 -0
  26. package/dist/kv-storage.js +69 -0
  27. package/dist/kv-storage.js.map +1 -0
  28. package/dist/oauth.d.ts +31 -0
  29. package/dist/oauth.d.ts.map +1 -0
  30. package/dist/oauth.js +227 -0
  31. package/dist/oauth.js.map +1 -0
  32. package/dist/preview.d.ts.map +1 -1
  33. package/dist/preview.js +14 -4
  34. package/dist/preview.js.map +1 -1
  35. package/dist/tools/advanced.d.ts +4 -4
  36. package/dist/tools/advanced.d.ts.map +1 -1
  37. package/dist/tools/advanced.js +228 -247
  38. package/dist/tools/advanced.js.map +1 -1
  39. package/dist/tools/balance.d.ts +1 -1
  40. package/dist/tools/balance.d.ts.map +1 -1
  41. package/dist/tools/balance.js +97 -103
  42. package/dist/tools/balance.js.map +1 -1
  43. package/dist/tools/contract-info.d.ts +3 -3
  44. package/dist/tools/contract-info.d.ts.map +1 -1
  45. package/dist/tools/contract-info.js +150 -161
  46. package/dist/tools/contract-info.js.map +1 -1
  47. package/dist/tools/contract.d.ts +4 -4
  48. package/dist/tools/contract.d.ts.map +1 -1
  49. package/dist/tools/contract.js +91 -110
  50. package/dist/tools/contract.js.map +1 -1
  51. package/dist/tools/ens.d.ts +6 -6
  52. package/dist/tools/ens.d.ts.map +1 -1
  53. package/dist/tools/ens.js +239 -297
  54. package/dist/tools/ens.js.map +1 -1
  55. package/dist/tools/gas.d.ts +4 -4
  56. package/dist/tools/gas.d.ts.map +1 -1
  57. package/dist/tools/gas.js +90 -138
  58. package/dist/tools/gas.js.map +1 -1
  59. package/dist/tools/index.d.ts +1 -1
  60. package/dist/tools/index.d.ts.map +1 -1
  61. package/dist/tools/logs.d.ts +1 -1
  62. package/dist/tools/logs.d.ts.map +1 -1
  63. package/dist/tools/logs.js +36 -37
  64. package/dist/tools/logs.js.map +1 -1
  65. package/dist/tools/signatures.d.ts.map +1 -1
  66. package/dist/tools/signatures.js +67 -89
  67. package/dist/tools/signatures.js.map +1 -1
  68. package/dist/tools/transactions.d.ts +48 -4
  69. package/dist/tools/transactions.d.ts.map +1 -1
  70. package/dist/tools/transactions.js +228 -44
  71. package/dist/tools/transactions.js.map +1 -1
  72. package/dist/types.d.ts +2 -1
  73. package/dist/types.d.ts.map +1 -1
  74. package/dist/utils.d.ts +3 -8
  75. package/dist/utils.d.ts.map +1 -1
  76. package/dist/utils.js +36 -98
  77. package/dist/utils.js.map +1 -1
  78. package/dist/wallet-client.d.ts +11 -1
  79. package/dist/wallet-client.d.ts.map +1 -1
  80. package/dist/wallet-client.js +27 -9
  81. package/dist/wallet-client.js.map +1 -1
  82. package/dist/walletconnect.d.ts +52 -0
  83. package/dist/walletconnect.d.ts.map +1 -0
  84. package/dist/walletconnect.js +221 -0
  85. package/dist/walletconnect.js.map +1 -0
  86. package/package.json +21 -9
  87. package/src/anvil.ts +15 -18
  88. package/src/chain-meta.ts +8 -4
  89. package/src/chains.ts +145 -0
  90. package/src/client.ts +39 -252
  91. package/src/http-server.ts +117 -0
  92. package/src/index.ts +98 -49
  93. package/src/kv-storage.ts +83 -0
  94. package/src/oauth.ts +270 -0
  95. package/src/preview.ts +15 -14
  96. package/src/tools/advanced.ts +195 -213
  97. package/src/tools/balance.ts +103 -108
  98. package/src/tools/contract-info.ts +163 -184
  99. package/src/tools/contract.ts +123 -144
  100. package/src/tools/ens.ts +290 -345
  101. package/src/tools/gas.ts +122 -170
  102. package/src/tools/index.ts +2 -2
  103. package/src/tools/logs.ts +45 -43
  104. package/src/tools/signatures.ts +68 -86
  105. package/src/tools/transactions.ts +283 -50
  106. package/src/types.ts +2 -15
  107. package/src/utils.ts +56 -127
  108. package/src/wallet-client.ts +31 -9
  109. package/src/walletconnect.ts +269 -0
@@ -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