@dj-test/payment-sdk 1.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.
@@ -0,0 +1,3905 @@
1
+ import * as viem_chains from 'viem/chains';
2
+ import * as viem from 'viem';
3
+ import { Address } from 'viem';
4
+ import { Config as Config$1 } from 'wagmi';
5
+ import React, { ReactNode } from 'react';
6
+ import { QueryClient } from '@tanstack/react-query';
7
+ import * as react_jsx_runtime from 'react/jsx-runtime';
8
+ import { Config as Config$2 } from '@wagmi/core';
9
+
10
+ interface SDKConfig {
11
+ environment?: 'production' | 'sandbox';
12
+ baseUrl?: string;
13
+ paymentDomain?: string;
14
+ redirectUrl?: string;
15
+ webhookUrl?: string;
16
+ timeout?: number;
17
+ }
18
+ interface SDKContext {
19
+ config: SDKConfig;
20
+ isInitialized: boolean;
21
+ }
22
+ interface CreateOrderParams {
23
+ productId: string;
24
+ metadata?: Record<string, any>;
25
+ }
26
+ interface OrderResponse {
27
+ orderId: string;
28
+ publicOrderId: string;
29
+ paymentUrl: string;
30
+ amount: number;
31
+ coinId: string;
32
+ chainId: string;
33
+ status: string;
34
+ expiresAt: string;
35
+ redirectUrl: string | null;
36
+ }
37
+ declare enum OrderStatus {
38
+ C = "CREATED",
39
+ W = "WALLET_ASSIGNED",
40
+ P = "PENDING_PAYMENT",
41
+ S = "COMPLETED",
42
+ E = "EXPIRED",
43
+ X = "CANCELLED",
44
+ T = "TEST"
45
+ }
46
+ interface WithdrawalParams {
47
+ toAddress: string;
48
+ amount: number;
49
+ coinId: string;
50
+ chainId: string;
51
+ }
52
+ interface ValidationResult {
53
+ valid: boolean;
54
+ error?: string;
55
+ }
56
+ declare class SDKError extends Error {
57
+ code?: string | undefined;
58
+ details?: any | undefined;
59
+ constructor(message: string, code?: string | undefined, details?: any | undefined);
60
+ }
61
+ declare class ValidationError extends SDKError {
62
+ constructor(message: string, details?: any);
63
+ }
64
+ declare class APIError extends SDKError {
65
+ statusCode?: number | undefined;
66
+ constructor(message: string, statusCode?: number | undefined, details?: any);
67
+ }
68
+
69
+ declare class Config {
70
+ private static instance;
71
+ private config;
72
+ private constructor();
73
+ static getInstance(): Config;
74
+ initialize(config: SDKConfig): void;
75
+ getConfig(): SDKConfig;
76
+ isInitialized(): boolean;
77
+ reset(): void;
78
+ }
79
+ declare const config: Config;
80
+
81
+ declare const SDK_VERSION = "1.0.0";
82
+ declare const API_ENDPOINTS: {
83
+ readonly ORDERS: "/payments";
84
+ readonly PRODUCTS: "/products";
85
+ };
86
+ declare const ENVIRONMENT_URLS: {
87
+ readonly production: "https://pay.com";
88
+ readonly sandbox: "http://localhost:8080";
89
+ };
90
+ declare const PAYMENT_DOMAINS: {
91
+ readonly production: "https://pay-home.com";
92
+ readonly sandbox: "http://localhost:3000";
93
+ };
94
+ declare const DEFAULT_TIMEOUT = 30000;
95
+ declare const ORDER_EXPIRY_MINUTES = 30;
96
+ declare const MIN_WITHDRAWAL_AMOUNT = 0.01;
97
+ declare const SUPPORTED_CHAINS: {
98
+ readonly ETHEREUM: "1";
99
+ readonly SEPOLIA: "11155111";
100
+ readonly POLYGON: "137";
101
+ };
102
+ declare const ERROR_CODES: {
103
+ readonly INVALID_API_KEY: "INVALID_API_KEY";
104
+ readonly INVALID_PRODUCT: "INVALID_PRODUCT";
105
+ readonly ORDER_NOT_FOUND: "ORDER_NOT_FOUND";
106
+ readonly ORDER_EXPIRED: "ORDER_EXPIRED";
107
+ readonly INSUFFICIENT_BALANCE: "INSUFFICIENT_BALANCE";
108
+ readonly SELF_TRANSFER: "SELF_TRANSFER";
109
+ readonly INVALID_ADDRESS: "INVALID_ADDRESS";
110
+ readonly NETWORK_ERROR: "NETWORK_ERROR";
111
+ };
112
+
113
+ declare const supportedEvmChains: ({
114
+ blockExplorers: {
115
+ readonly default: {
116
+ readonly name: "Etherscan";
117
+ readonly url: "https://etherscan.io";
118
+ readonly apiUrl: "https://api.etherscan.io/api";
119
+ };
120
+ };
121
+ blockTime: 12000;
122
+ contracts: {
123
+ readonly ensUniversalResolver: {
124
+ readonly address: "0xeeeeeeee14d718c2b47d9923deab1335e144eeee";
125
+ readonly blockCreated: 23085558;
126
+ };
127
+ readonly multicall3: {
128
+ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
129
+ readonly blockCreated: 14353601;
130
+ };
131
+ };
132
+ ensTlds?: readonly string[] | undefined;
133
+ id: 1;
134
+ name: "Ethereum";
135
+ nativeCurrency: {
136
+ readonly name: "Ether";
137
+ readonly symbol: "ETH";
138
+ readonly decimals: 18;
139
+ };
140
+ experimental_preconfirmationTime?: number | undefined | undefined;
141
+ rpcUrls: {
142
+ readonly default: {
143
+ readonly http: readonly ["https://eth.merkle.io"];
144
+ };
145
+ };
146
+ sourceId?: number | undefined | undefined;
147
+ testnet?: boolean | undefined | undefined;
148
+ custom?: Record<string, unknown> | undefined;
149
+ fees?: viem.ChainFees<undefined> | undefined;
150
+ formatters?: undefined;
151
+ serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
152
+ } | {
153
+ blockExplorers: {
154
+ readonly default: {
155
+ readonly name: "Etherscan";
156
+ readonly url: "https://sepolia.etherscan.io";
157
+ readonly apiUrl: "https://api-sepolia.etherscan.io/api";
158
+ };
159
+ };
160
+ blockTime?: number | undefined | undefined;
161
+ contracts: {
162
+ readonly multicall3: {
163
+ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
164
+ readonly blockCreated: 751532;
165
+ };
166
+ readonly ensUniversalResolver: {
167
+ readonly address: "0xeeeeeeee14d718c2b47d9923deab1335e144eeee";
168
+ readonly blockCreated: 8928790;
169
+ };
170
+ };
171
+ ensTlds?: readonly string[] | undefined;
172
+ id: 11155111;
173
+ name: "Sepolia";
174
+ nativeCurrency: {
175
+ readonly name: "Sepolia Ether";
176
+ readonly symbol: "ETH";
177
+ readonly decimals: 18;
178
+ };
179
+ experimental_preconfirmationTime?: number | undefined | undefined;
180
+ rpcUrls: {
181
+ readonly default: {
182
+ readonly http: readonly ["https://11155111.rpc.thirdweb.com"];
183
+ };
184
+ };
185
+ sourceId?: number | undefined | undefined;
186
+ testnet: true;
187
+ custom?: Record<string, unknown> | undefined;
188
+ fees?: viem.ChainFees<undefined> | undefined;
189
+ formatters?: undefined;
190
+ serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
191
+ } | {
192
+ blockExplorers: {
193
+ readonly default: {
194
+ readonly name: "PolygonScan";
195
+ readonly url: "https://polygonscan.com";
196
+ readonly apiUrl: "https://api.polygonscan.com/api";
197
+ };
198
+ };
199
+ blockTime: 2000;
200
+ contracts: {
201
+ readonly multicall3: {
202
+ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
203
+ readonly blockCreated: 25770160;
204
+ };
205
+ };
206
+ ensTlds?: readonly string[] | undefined;
207
+ id: 137;
208
+ name: "Polygon";
209
+ nativeCurrency: {
210
+ readonly name: "POL";
211
+ readonly symbol: "POL";
212
+ readonly decimals: 18;
213
+ };
214
+ experimental_preconfirmationTime?: number | undefined | undefined;
215
+ rpcUrls: {
216
+ readonly default: {
217
+ readonly http: readonly ["https://polygon-rpc.com"];
218
+ };
219
+ };
220
+ sourceId?: number | undefined | undefined;
221
+ testnet?: boolean | undefined | undefined;
222
+ custom?: Record<string, unknown> | undefined;
223
+ fees?: viem.ChainFees<undefined> | undefined;
224
+ formatters?: undefined;
225
+ serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
226
+ } | {
227
+ blockExplorers: {
228
+ readonly default: {
229
+ readonly name: "PolygonScan";
230
+ readonly url: "https://amoy.polygonscan.com";
231
+ readonly apiUrl: "https://api-amoy.polygonscan.com/api";
232
+ };
233
+ };
234
+ blockTime?: number | undefined | undefined;
235
+ contracts: {
236
+ readonly multicall3: {
237
+ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
238
+ readonly blockCreated: 3127388;
239
+ };
240
+ };
241
+ ensTlds?: readonly string[] | undefined;
242
+ id: 80002;
243
+ name: "Polygon Amoy";
244
+ nativeCurrency: {
245
+ readonly name: "POL";
246
+ readonly symbol: "POL";
247
+ readonly decimals: 18;
248
+ };
249
+ experimental_preconfirmationTime?: number | undefined | undefined;
250
+ rpcUrls: {
251
+ readonly default: {
252
+ readonly http: readonly ["https://rpc-amoy.polygon.technology"];
253
+ };
254
+ };
255
+ sourceId?: number | undefined | undefined;
256
+ testnet: true;
257
+ custom?: Record<string, unknown> | undefined;
258
+ fees?: viem.ChainFees<undefined> | undefined;
259
+ formatters?: undefined;
260
+ serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
261
+ } | {
262
+ blockExplorers: {
263
+ readonly default: {
264
+ readonly name: "Basescan";
265
+ readonly url: "https://basescan.org";
266
+ readonly apiUrl: "https://api.basescan.org/api";
267
+ };
268
+ };
269
+ blockTime: 2000;
270
+ contracts: {
271
+ readonly disputeGameFactory: {
272
+ readonly 1: {
273
+ readonly address: "0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e";
274
+ };
275
+ };
276
+ readonly l2OutputOracle: {
277
+ readonly 1: {
278
+ readonly address: "0x56315b90c40730925ec5485cf004d835058518A0";
279
+ };
280
+ };
281
+ readonly multicall3: {
282
+ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
283
+ readonly blockCreated: 5022;
284
+ };
285
+ readonly portal: {
286
+ readonly 1: {
287
+ readonly address: "0x49048044D57e1C92A77f79988d21Fa8fAF74E97e";
288
+ readonly blockCreated: 17482143;
289
+ };
290
+ };
291
+ readonly l1StandardBridge: {
292
+ readonly 1: {
293
+ readonly address: "0x3154Cf16ccdb4C6d922629664174b904d80F2C35";
294
+ readonly blockCreated: 17482143;
295
+ };
296
+ };
297
+ readonly gasPriceOracle: {
298
+ readonly address: "0x420000000000000000000000000000000000000F";
299
+ };
300
+ readonly l1Block: {
301
+ readonly address: "0x4200000000000000000000000000000000000015";
302
+ };
303
+ readonly l2CrossDomainMessenger: {
304
+ readonly address: "0x4200000000000000000000000000000000000007";
305
+ };
306
+ readonly l2Erc721Bridge: {
307
+ readonly address: "0x4200000000000000000000000000000000000014";
308
+ };
309
+ readonly l2StandardBridge: {
310
+ readonly address: "0x4200000000000000000000000000000000000010";
311
+ };
312
+ readonly l2ToL1MessagePasser: {
313
+ readonly address: "0x4200000000000000000000000000000000000016";
314
+ };
315
+ };
316
+ ensTlds?: readonly string[] | undefined;
317
+ id: 8453;
318
+ name: "Base";
319
+ nativeCurrency: {
320
+ readonly name: "Ether";
321
+ readonly symbol: "ETH";
322
+ readonly decimals: 18;
323
+ };
324
+ experimental_preconfirmationTime?: number | undefined | undefined;
325
+ rpcUrls: {
326
+ readonly default: {
327
+ readonly http: readonly ["https://mainnet.base.org"];
328
+ };
329
+ };
330
+ sourceId: 1;
331
+ testnet?: boolean | undefined | undefined;
332
+ custom?: Record<string, unknown> | undefined;
333
+ fees?: viem.ChainFees<undefined> | undefined;
334
+ formatters: {
335
+ readonly block: {
336
+ exclude: [] | undefined;
337
+ format: (args: viem_chains.OpStackRpcBlock, action?: string | undefined) => {
338
+ baseFeePerGas: bigint | null;
339
+ blobGasUsed: bigint;
340
+ difficulty: bigint;
341
+ excessBlobGas: bigint;
342
+ extraData: viem.Hex;
343
+ gasLimit: bigint;
344
+ gasUsed: bigint;
345
+ hash: `0x${string}` | null;
346
+ logsBloom: `0x${string}` | null;
347
+ miner: viem.Address;
348
+ mixHash: viem.Hash;
349
+ nonce: `0x${string}` | null;
350
+ number: bigint | null;
351
+ parentBeaconBlockRoot?: `0x${string}` | undefined;
352
+ parentHash: viem.Hash;
353
+ receiptsRoot: viem.Hex;
354
+ sealFields: viem.Hex[];
355
+ sha3Uncles: viem.Hash;
356
+ size: bigint;
357
+ stateRoot: viem.Hash;
358
+ timestamp: bigint;
359
+ totalDifficulty: bigint | null;
360
+ transactions: `0x${string}`[] | viem_chains.OpStackTransaction<boolean>[];
361
+ transactionsRoot: viem.Hash;
362
+ uncles: viem.Hash[];
363
+ withdrawals?: viem.Withdrawal[] | undefined | undefined;
364
+ withdrawalsRoot?: `0x${string}` | undefined;
365
+ } & {};
366
+ type: "block";
367
+ };
368
+ readonly transaction: {
369
+ exclude: [] | undefined;
370
+ format: (args: viem_chains.OpStackRpcTransaction, action?: string | undefined) => ({
371
+ blockHash: `0x${string}` | null;
372
+ blockNumber: bigint | null;
373
+ from: viem.Address;
374
+ gas: bigint;
375
+ hash: viem.Hash;
376
+ input: viem.Hex;
377
+ nonce: number;
378
+ r: viem.Hex;
379
+ s: viem.Hex;
380
+ to: viem.Address | null;
381
+ transactionIndex: number | null;
382
+ typeHex: viem.Hex | null;
383
+ v: bigint;
384
+ value: bigint;
385
+ yParity: number;
386
+ gasPrice?: undefined | undefined;
387
+ maxFeePerBlobGas?: undefined | undefined;
388
+ maxFeePerGas: bigint;
389
+ maxPriorityFeePerGas: bigint;
390
+ isSystemTx?: boolean;
391
+ mint?: bigint | undefined | undefined;
392
+ sourceHash: viem.Hex;
393
+ type: "deposit";
394
+ } | {
395
+ r: viem.Hex;
396
+ s: viem.Hex;
397
+ v: bigint;
398
+ value: bigint;
399
+ gas: bigint;
400
+ to: viem.Address | null;
401
+ from: viem.Address;
402
+ nonce: number;
403
+ blockHash: `0x${string}` | null;
404
+ blockNumber: bigint | null;
405
+ transactionIndex: number | null;
406
+ hash: viem.Hash;
407
+ input: viem.Hex;
408
+ typeHex: viem.Hex | null;
409
+ accessList?: undefined | undefined;
410
+ authorizationList?: undefined | undefined;
411
+ blobVersionedHashes?: undefined | undefined;
412
+ chainId?: number | undefined;
413
+ yParity?: undefined | undefined;
414
+ type: "legacy";
415
+ gasPrice: bigint;
416
+ maxFeePerBlobGas?: undefined | undefined;
417
+ maxFeePerGas?: undefined | undefined;
418
+ maxPriorityFeePerGas?: undefined | undefined;
419
+ isSystemTx?: undefined | undefined;
420
+ mint?: undefined | undefined;
421
+ sourceHash?: undefined | undefined;
422
+ } | {
423
+ blockHash: `0x${string}` | null;
424
+ blockNumber: bigint | null;
425
+ from: viem.Address;
426
+ gas: bigint;
427
+ hash: viem.Hash;
428
+ input: viem.Hex;
429
+ nonce: number;
430
+ r: viem.Hex;
431
+ s: viem.Hex;
432
+ to: viem.Address | null;
433
+ transactionIndex: number | null;
434
+ typeHex: viem.Hex | null;
435
+ v: bigint;
436
+ value: bigint;
437
+ yParity: number;
438
+ accessList: viem.AccessList;
439
+ authorizationList?: undefined | undefined;
440
+ blobVersionedHashes?: undefined | undefined;
441
+ chainId: number;
442
+ type: "eip2930";
443
+ gasPrice: bigint;
444
+ maxFeePerBlobGas?: undefined | undefined;
445
+ maxFeePerGas?: undefined | undefined;
446
+ maxPriorityFeePerGas?: undefined | undefined;
447
+ isSystemTx?: undefined | undefined;
448
+ mint?: undefined | undefined;
449
+ sourceHash?: undefined | undefined;
450
+ } | {
451
+ blockHash: `0x${string}` | null;
452
+ blockNumber: bigint | null;
453
+ from: viem.Address;
454
+ gas: bigint;
455
+ hash: viem.Hash;
456
+ input: viem.Hex;
457
+ nonce: number;
458
+ r: viem.Hex;
459
+ s: viem.Hex;
460
+ to: viem.Address | null;
461
+ transactionIndex: number | null;
462
+ typeHex: viem.Hex | null;
463
+ v: bigint;
464
+ value: bigint;
465
+ yParity: number;
466
+ accessList: viem.AccessList;
467
+ authorizationList?: undefined | undefined;
468
+ blobVersionedHashes?: undefined | undefined;
469
+ chainId: number;
470
+ type: "eip1559";
471
+ gasPrice?: undefined | undefined;
472
+ maxFeePerBlobGas?: undefined | undefined;
473
+ maxFeePerGas: bigint;
474
+ maxPriorityFeePerGas: bigint;
475
+ isSystemTx?: undefined | undefined;
476
+ mint?: undefined | undefined;
477
+ sourceHash?: undefined | undefined;
478
+ } | {
479
+ blockHash: `0x${string}` | null;
480
+ blockNumber: bigint | null;
481
+ from: viem.Address;
482
+ gas: bigint;
483
+ hash: viem.Hash;
484
+ input: viem.Hex;
485
+ nonce: number;
486
+ r: viem.Hex;
487
+ s: viem.Hex;
488
+ to: viem.Address | null;
489
+ transactionIndex: number | null;
490
+ typeHex: viem.Hex | null;
491
+ v: bigint;
492
+ value: bigint;
493
+ yParity: number;
494
+ accessList: viem.AccessList;
495
+ authorizationList?: undefined | undefined;
496
+ blobVersionedHashes: readonly viem.Hex[];
497
+ chainId: number;
498
+ type: "eip4844";
499
+ gasPrice?: undefined | undefined;
500
+ maxFeePerBlobGas: bigint;
501
+ maxFeePerGas: bigint;
502
+ maxPriorityFeePerGas: bigint;
503
+ isSystemTx?: undefined | undefined;
504
+ mint?: undefined | undefined;
505
+ sourceHash?: undefined | undefined;
506
+ } | {
507
+ blockHash: `0x${string}` | null;
508
+ blockNumber: bigint | null;
509
+ from: viem.Address;
510
+ gas: bigint;
511
+ hash: viem.Hash;
512
+ input: viem.Hex;
513
+ nonce: number;
514
+ r: viem.Hex;
515
+ s: viem.Hex;
516
+ to: viem.Address | null;
517
+ transactionIndex: number | null;
518
+ typeHex: viem.Hex | null;
519
+ v: bigint;
520
+ value: bigint;
521
+ yParity: number;
522
+ accessList: viem.AccessList;
523
+ authorizationList: viem.SignedAuthorizationList;
524
+ blobVersionedHashes?: undefined | undefined;
525
+ chainId: number;
526
+ type: "eip7702";
527
+ gasPrice?: undefined | undefined;
528
+ maxFeePerBlobGas?: undefined | undefined;
529
+ maxFeePerGas: bigint;
530
+ maxPriorityFeePerGas: bigint;
531
+ isSystemTx?: undefined | undefined;
532
+ mint?: undefined | undefined;
533
+ sourceHash?: undefined | undefined;
534
+ }) & {};
535
+ type: "transaction";
536
+ };
537
+ readonly transactionReceipt: {
538
+ exclude: [] | undefined;
539
+ format: (args: viem_chains.OpStackRpcTransactionReceipt, action?: string | undefined) => {
540
+ blobGasPrice?: bigint | undefined;
541
+ blobGasUsed?: bigint | undefined;
542
+ blockHash: viem.Hash;
543
+ blockNumber: bigint;
544
+ contractAddress: viem.Address | null | undefined;
545
+ cumulativeGasUsed: bigint;
546
+ effectiveGasPrice: bigint;
547
+ from: viem.Address;
548
+ gasUsed: bigint;
549
+ logs: viem.Log<bigint, number, false>[];
550
+ logsBloom: viem.Hex;
551
+ root?: `0x${string}` | undefined;
552
+ status: "success" | "reverted";
553
+ to: viem.Address | null;
554
+ transactionHash: viem.Hash;
555
+ transactionIndex: number;
556
+ type: viem.TransactionType;
557
+ l1GasPrice: bigint | null;
558
+ l1GasUsed: bigint | null;
559
+ l1Fee: bigint | null;
560
+ l1FeeScalar: number | null;
561
+ } & {};
562
+ type: "transactionReceipt";
563
+ };
564
+ };
565
+ serializers: {
566
+ readonly transaction: typeof viem_chains.serializeTransactionOpStack;
567
+ };
568
+ } | {
569
+ blockExplorers: {
570
+ readonly default: {
571
+ readonly name: "Basescan";
572
+ readonly url: "https://sepolia.basescan.org";
573
+ readonly apiUrl: "https://api-sepolia.basescan.org/api";
574
+ };
575
+ };
576
+ blockTime: 2000;
577
+ contracts: {
578
+ readonly disputeGameFactory: {
579
+ readonly 11155111: {
580
+ readonly address: "0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1";
581
+ };
582
+ };
583
+ readonly l2OutputOracle: {
584
+ readonly 11155111: {
585
+ readonly address: "0x84457ca9D0163FbC4bbfe4Dfbb20ba46e48DF254";
586
+ };
587
+ };
588
+ readonly portal: {
589
+ readonly 11155111: {
590
+ readonly address: "0x49f53e41452c74589e85ca1677426ba426459e85";
591
+ readonly blockCreated: 4446677;
592
+ };
593
+ };
594
+ readonly l1StandardBridge: {
595
+ readonly 11155111: {
596
+ readonly address: "0xfd0Bf71F60660E2f608ed56e1659C450eB113120";
597
+ readonly blockCreated: 4446677;
598
+ };
599
+ };
600
+ readonly multicall3: {
601
+ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
602
+ readonly blockCreated: 1059647;
603
+ };
604
+ readonly gasPriceOracle: {
605
+ readonly address: "0x420000000000000000000000000000000000000F";
606
+ };
607
+ readonly l1Block: {
608
+ readonly address: "0x4200000000000000000000000000000000000015";
609
+ };
610
+ readonly l2CrossDomainMessenger: {
611
+ readonly address: "0x4200000000000000000000000000000000000007";
612
+ };
613
+ readonly l2Erc721Bridge: {
614
+ readonly address: "0x4200000000000000000000000000000000000014";
615
+ };
616
+ readonly l2StandardBridge: {
617
+ readonly address: "0x4200000000000000000000000000000000000010";
618
+ };
619
+ readonly l2ToL1MessagePasser: {
620
+ readonly address: "0x4200000000000000000000000000000000000016";
621
+ };
622
+ };
623
+ ensTlds?: readonly string[] | undefined;
624
+ id: 84532;
625
+ name: "Base Sepolia";
626
+ nativeCurrency: {
627
+ readonly name: "Sepolia Ether";
628
+ readonly symbol: "ETH";
629
+ readonly decimals: 18;
630
+ };
631
+ experimental_preconfirmationTime?: number | undefined | undefined;
632
+ rpcUrls: {
633
+ readonly default: {
634
+ readonly http: readonly ["https://sepolia.base.org"];
635
+ };
636
+ };
637
+ sourceId: 11155111;
638
+ testnet: true;
639
+ custom?: Record<string, unknown> | undefined;
640
+ fees?: viem.ChainFees<undefined> | undefined;
641
+ formatters: {
642
+ readonly block: {
643
+ exclude: [] | undefined;
644
+ format: (args: viem_chains.OpStackRpcBlock, action?: string | undefined) => {
645
+ baseFeePerGas: bigint | null;
646
+ blobGasUsed: bigint;
647
+ difficulty: bigint;
648
+ excessBlobGas: bigint;
649
+ extraData: viem.Hex;
650
+ gasLimit: bigint;
651
+ gasUsed: bigint;
652
+ hash: `0x${string}` | null;
653
+ logsBloom: `0x${string}` | null;
654
+ miner: viem.Address;
655
+ mixHash: viem.Hash;
656
+ nonce: `0x${string}` | null;
657
+ number: bigint | null;
658
+ parentBeaconBlockRoot?: `0x${string}` | undefined;
659
+ parentHash: viem.Hash;
660
+ receiptsRoot: viem.Hex;
661
+ sealFields: viem.Hex[];
662
+ sha3Uncles: viem.Hash;
663
+ size: bigint;
664
+ stateRoot: viem.Hash;
665
+ timestamp: bigint;
666
+ totalDifficulty: bigint | null;
667
+ transactions: `0x${string}`[] | viem_chains.OpStackTransaction<boolean>[];
668
+ transactionsRoot: viem.Hash;
669
+ uncles: viem.Hash[];
670
+ withdrawals?: viem.Withdrawal[] | undefined | undefined;
671
+ withdrawalsRoot?: `0x${string}` | undefined;
672
+ } & {};
673
+ type: "block";
674
+ };
675
+ readonly transaction: {
676
+ exclude: [] | undefined;
677
+ format: (args: viem_chains.OpStackRpcTransaction, action?: string | undefined) => ({
678
+ blockHash: `0x${string}` | null;
679
+ blockNumber: bigint | null;
680
+ from: viem.Address;
681
+ gas: bigint;
682
+ hash: viem.Hash;
683
+ input: viem.Hex;
684
+ nonce: number;
685
+ r: viem.Hex;
686
+ s: viem.Hex;
687
+ to: viem.Address | null;
688
+ transactionIndex: number | null;
689
+ typeHex: viem.Hex | null;
690
+ v: bigint;
691
+ value: bigint;
692
+ yParity: number;
693
+ gasPrice?: undefined | undefined;
694
+ maxFeePerBlobGas?: undefined | undefined;
695
+ maxFeePerGas: bigint;
696
+ maxPriorityFeePerGas: bigint;
697
+ isSystemTx?: boolean;
698
+ mint?: bigint | undefined | undefined;
699
+ sourceHash: viem.Hex;
700
+ type: "deposit";
701
+ } | {
702
+ r: viem.Hex;
703
+ s: viem.Hex;
704
+ v: bigint;
705
+ value: bigint;
706
+ gas: bigint;
707
+ to: viem.Address | null;
708
+ from: viem.Address;
709
+ nonce: number;
710
+ blockHash: `0x${string}` | null;
711
+ blockNumber: bigint | null;
712
+ transactionIndex: number | null;
713
+ hash: viem.Hash;
714
+ input: viem.Hex;
715
+ typeHex: viem.Hex | null;
716
+ accessList?: undefined | undefined;
717
+ authorizationList?: undefined | undefined;
718
+ blobVersionedHashes?: undefined | undefined;
719
+ chainId?: number | undefined;
720
+ yParity?: undefined | undefined;
721
+ type: "legacy";
722
+ gasPrice: bigint;
723
+ maxFeePerBlobGas?: undefined | undefined;
724
+ maxFeePerGas?: undefined | undefined;
725
+ maxPriorityFeePerGas?: undefined | undefined;
726
+ isSystemTx?: undefined | undefined;
727
+ mint?: undefined | undefined;
728
+ sourceHash?: undefined | undefined;
729
+ } | {
730
+ blockHash: `0x${string}` | null;
731
+ blockNumber: bigint | null;
732
+ from: viem.Address;
733
+ gas: bigint;
734
+ hash: viem.Hash;
735
+ input: viem.Hex;
736
+ nonce: number;
737
+ r: viem.Hex;
738
+ s: viem.Hex;
739
+ to: viem.Address | null;
740
+ transactionIndex: number | null;
741
+ typeHex: viem.Hex | null;
742
+ v: bigint;
743
+ value: bigint;
744
+ yParity: number;
745
+ accessList: viem.AccessList;
746
+ authorizationList?: undefined | undefined;
747
+ blobVersionedHashes?: undefined | undefined;
748
+ chainId: number;
749
+ type: "eip2930";
750
+ gasPrice: bigint;
751
+ maxFeePerBlobGas?: undefined | undefined;
752
+ maxFeePerGas?: undefined | undefined;
753
+ maxPriorityFeePerGas?: undefined | undefined;
754
+ isSystemTx?: undefined | undefined;
755
+ mint?: undefined | undefined;
756
+ sourceHash?: undefined | undefined;
757
+ } | {
758
+ blockHash: `0x${string}` | null;
759
+ blockNumber: bigint | null;
760
+ from: viem.Address;
761
+ gas: bigint;
762
+ hash: viem.Hash;
763
+ input: viem.Hex;
764
+ nonce: number;
765
+ r: viem.Hex;
766
+ s: viem.Hex;
767
+ to: viem.Address | null;
768
+ transactionIndex: number | null;
769
+ typeHex: viem.Hex | null;
770
+ v: bigint;
771
+ value: bigint;
772
+ yParity: number;
773
+ accessList: viem.AccessList;
774
+ authorizationList?: undefined | undefined;
775
+ blobVersionedHashes?: undefined | undefined;
776
+ chainId: number;
777
+ type: "eip1559";
778
+ gasPrice?: undefined | undefined;
779
+ maxFeePerBlobGas?: undefined | undefined;
780
+ maxFeePerGas: bigint;
781
+ maxPriorityFeePerGas: bigint;
782
+ isSystemTx?: undefined | undefined;
783
+ mint?: undefined | undefined;
784
+ sourceHash?: undefined | undefined;
785
+ } | {
786
+ blockHash: `0x${string}` | null;
787
+ blockNumber: bigint | null;
788
+ from: viem.Address;
789
+ gas: bigint;
790
+ hash: viem.Hash;
791
+ input: viem.Hex;
792
+ nonce: number;
793
+ r: viem.Hex;
794
+ s: viem.Hex;
795
+ to: viem.Address | null;
796
+ transactionIndex: number | null;
797
+ typeHex: viem.Hex | null;
798
+ v: bigint;
799
+ value: bigint;
800
+ yParity: number;
801
+ accessList: viem.AccessList;
802
+ authorizationList?: undefined | undefined;
803
+ blobVersionedHashes: readonly viem.Hex[];
804
+ chainId: number;
805
+ type: "eip4844";
806
+ gasPrice?: undefined | undefined;
807
+ maxFeePerBlobGas: bigint;
808
+ maxFeePerGas: bigint;
809
+ maxPriorityFeePerGas: bigint;
810
+ isSystemTx?: undefined | undefined;
811
+ mint?: undefined | undefined;
812
+ sourceHash?: undefined | undefined;
813
+ } | {
814
+ blockHash: `0x${string}` | null;
815
+ blockNumber: bigint | null;
816
+ from: viem.Address;
817
+ gas: bigint;
818
+ hash: viem.Hash;
819
+ input: viem.Hex;
820
+ nonce: number;
821
+ r: viem.Hex;
822
+ s: viem.Hex;
823
+ to: viem.Address | null;
824
+ transactionIndex: number | null;
825
+ typeHex: viem.Hex | null;
826
+ v: bigint;
827
+ value: bigint;
828
+ yParity: number;
829
+ accessList: viem.AccessList;
830
+ authorizationList: viem.SignedAuthorizationList;
831
+ blobVersionedHashes?: undefined | undefined;
832
+ chainId: number;
833
+ type: "eip7702";
834
+ gasPrice?: undefined | undefined;
835
+ maxFeePerBlobGas?: undefined | undefined;
836
+ maxFeePerGas: bigint;
837
+ maxPriorityFeePerGas: bigint;
838
+ isSystemTx?: undefined | undefined;
839
+ mint?: undefined | undefined;
840
+ sourceHash?: undefined | undefined;
841
+ }) & {};
842
+ type: "transaction";
843
+ };
844
+ readonly transactionReceipt: {
845
+ exclude: [] | undefined;
846
+ format: (args: viem_chains.OpStackRpcTransactionReceipt, action?: string | undefined) => {
847
+ blobGasPrice?: bigint | undefined;
848
+ blobGasUsed?: bigint | undefined;
849
+ blockHash: viem.Hash;
850
+ blockNumber: bigint;
851
+ contractAddress: viem.Address | null | undefined;
852
+ cumulativeGasUsed: bigint;
853
+ effectiveGasPrice: bigint;
854
+ from: viem.Address;
855
+ gasUsed: bigint;
856
+ logs: viem.Log<bigint, number, false>[];
857
+ logsBloom: viem.Hex;
858
+ root?: `0x${string}` | undefined;
859
+ status: "success" | "reverted";
860
+ to: viem.Address | null;
861
+ transactionHash: viem.Hash;
862
+ transactionIndex: number;
863
+ type: viem.TransactionType;
864
+ l1GasPrice: bigint | null;
865
+ l1GasUsed: bigint | null;
866
+ l1Fee: bigint | null;
867
+ l1FeeScalar: number | null;
868
+ } & {};
869
+ type: "transactionReceipt";
870
+ };
871
+ };
872
+ serializers: {
873
+ readonly transaction: typeof viem_chains.serializeTransactionOpStack;
874
+ };
875
+ readonly network: "base-sepolia";
876
+ })[];
877
+ declare const supportedChains: ({
878
+ blockExplorers: {
879
+ readonly default: {
880
+ readonly name: "Etherscan";
881
+ readonly url: "https://etherscan.io";
882
+ readonly apiUrl: "https://api.etherscan.io/api";
883
+ };
884
+ };
885
+ blockTime: 12000;
886
+ contracts: {
887
+ readonly ensUniversalResolver: {
888
+ readonly address: "0xeeeeeeee14d718c2b47d9923deab1335e144eeee";
889
+ readonly blockCreated: 23085558;
890
+ };
891
+ readonly multicall3: {
892
+ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
893
+ readonly blockCreated: 14353601;
894
+ };
895
+ };
896
+ ensTlds?: readonly string[] | undefined;
897
+ id: 1;
898
+ name: "Ethereum";
899
+ nativeCurrency: {
900
+ readonly name: "Ether";
901
+ readonly symbol: "ETH";
902
+ readonly decimals: 18;
903
+ };
904
+ experimental_preconfirmationTime?: number | undefined | undefined;
905
+ rpcUrls: {
906
+ readonly default: {
907
+ readonly http: readonly ["https://eth.merkle.io"];
908
+ };
909
+ };
910
+ sourceId?: number | undefined | undefined;
911
+ testnet?: boolean | undefined | undefined;
912
+ custom?: Record<string, unknown> | undefined;
913
+ fees?: viem.ChainFees<undefined> | undefined;
914
+ formatters?: undefined;
915
+ serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
916
+ } | {
917
+ blockExplorers: {
918
+ readonly default: {
919
+ readonly name: "Etherscan";
920
+ readonly url: "https://sepolia.etherscan.io";
921
+ readonly apiUrl: "https://api-sepolia.etherscan.io/api";
922
+ };
923
+ };
924
+ blockTime?: number | undefined | undefined;
925
+ contracts: {
926
+ readonly multicall3: {
927
+ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
928
+ readonly blockCreated: 751532;
929
+ };
930
+ readonly ensUniversalResolver: {
931
+ readonly address: "0xeeeeeeee14d718c2b47d9923deab1335e144eeee";
932
+ readonly blockCreated: 8928790;
933
+ };
934
+ };
935
+ ensTlds?: readonly string[] | undefined;
936
+ id: 11155111;
937
+ name: "Sepolia";
938
+ nativeCurrency: {
939
+ readonly name: "Sepolia Ether";
940
+ readonly symbol: "ETH";
941
+ readonly decimals: 18;
942
+ };
943
+ experimental_preconfirmationTime?: number | undefined | undefined;
944
+ rpcUrls: {
945
+ readonly default: {
946
+ readonly http: readonly ["https://11155111.rpc.thirdweb.com"];
947
+ };
948
+ };
949
+ sourceId?: number | undefined | undefined;
950
+ testnet: true;
951
+ custom?: Record<string, unknown> | undefined;
952
+ fees?: viem.ChainFees<undefined> | undefined;
953
+ formatters?: undefined;
954
+ serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
955
+ } | {
956
+ blockExplorers: {
957
+ readonly default: {
958
+ readonly name: "PolygonScan";
959
+ readonly url: "https://polygonscan.com";
960
+ readonly apiUrl: "https://api.polygonscan.com/api";
961
+ };
962
+ };
963
+ blockTime: 2000;
964
+ contracts: {
965
+ readonly multicall3: {
966
+ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
967
+ readonly blockCreated: 25770160;
968
+ };
969
+ };
970
+ ensTlds?: readonly string[] | undefined;
971
+ id: 137;
972
+ name: "Polygon";
973
+ nativeCurrency: {
974
+ readonly name: "POL";
975
+ readonly symbol: "POL";
976
+ readonly decimals: 18;
977
+ };
978
+ experimental_preconfirmationTime?: number | undefined | undefined;
979
+ rpcUrls: {
980
+ readonly default: {
981
+ readonly http: readonly ["https://polygon-rpc.com"];
982
+ };
983
+ };
984
+ sourceId?: number | undefined | undefined;
985
+ testnet?: boolean | undefined | undefined;
986
+ custom?: Record<string, unknown> | undefined;
987
+ fees?: viem.ChainFees<undefined> | undefined;
988
+ formatters?: undefined;
989
+ serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
990
+ } | {
991
+ blockExplorers: {
992
+ readonly default: {
993
+ readonly name: "PolygonScan";
994
+ readonly url: "https://amoy.polygonscan.com";
995
+ readonly apiUrl: "https://api-amoy.polygonscan.com/api";
996
+ };
997
+ };
998
+ blockTime?: number | undefined | undefined;
999
+ contracts: {
1000
+ readonly multicall3: {
1001
+ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
1002
+ readonly blockCreated: 3127388;
1003
+ };
1004
+ };
1005
+ ensTlds?: readonly string[] | undefined;
1006
+ id: 80002;
1007
+ name: "Polygon Amoy";
1008
+ nativeCurrency: {
1009
+ readonly name: "POL";
1010
+ readonly symbol: "POL";
1011
+ readonly decimals: 18;
1012
+ };
1013
+ experimental_preconfirmationTime?: number | undefined | undefined;
1014
+ rpcUrls: {
1015
+ readonly default: {
1016
+ readonly http: readonly ["https://rpc-amoy.polygon.technology"];
1017
+ };
1018
+ };
1019
+ sourceId?: number | undefined | undefined;
1020
+ testnet: true;
1021
+ custom?: Record<string, unknown> | undefined;
1022
+ fees?: viem.ChainFees<undefined> | undefined;
1023
+ formatters?: undefined;
1024
+ serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
1025
+ } | {
1026
+ blockExplorers: {
1027
+ readonly default: {
1028
+ readonly name: "Basescan";
1029
+ readonly url: "https://basescan.org";
1030
+ readonly apiUrl: "https://api.basescan.org/api";
1031
+ };
1032
+ };
1033
+ blockTime: 2000;
1034
+ contracts: {
1035
+ readonly disputeGameFactory: {
1036
+ readonly 1: {
1037
+ readonly address: "0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e";
1038
+ };
1039
+ };
1040
+ readonly l2OutputOracle: {
1041
+ readonly 1: {
1042
+ readonly address: "0x56315b90c40730925ec5485cf004d835058518A0";
1043
+ };
1044
+ };
1045
+ readonly multicall3: {
1046
+ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
1047
+ readonly blockCreated: 5022;
1048
+ };
1049
+ readonly portal: {
1050
+ readonly 1: {
1051
+ readonly address: "0x49048044D57e1C92A77f79988d21Fa8fAF74E97e";
1052
+ readonly blockCreated: 17482143;
1053
+ };
1054
+ };
1055
+ readonly l1StandardBridge: {
1056
+ readonly 1: {
1057
+ readonly address: "0x3154Cf16ccdb4C6d922629664174b904d80F2C35";
1058
+ readonly blockCreated: 17482143;
1059
+ };
1060
+ };
1061
+ readonly gasPriceOracle: {
1062
+ readonly address: "0x420000000000000000000000000000000000000F";
1063
+ };
1064
+ readonly l1Block: {
1065
+ readonly address: "0x4200000000000000000000000000000000000015";
1066
+ };
1067
+ readonly l2CrossDomainMessenger: {
1068
+ readonly address: "0x4200000000000000000000000000000000000007";
1069
+ };
1070
+ readonly l2Erc721Bridge: {
1071
+ readonly address: "0x4200000000000000000000000000000000000014";
1072
+ };
1073
+ readonly l2StandardBridge: {
1074
+ readonly address: "0x4200000000000000000000000000000000000010";
1075
+ };
1076
+ readonly l2ToL1MessagePasser: {
1077
+ readonly address: "0x4200000000000000000000000000000000000016";
1078
+ };
1079
+ };
1080
+ ensTlds?: readonly string[] | undefined;
1081
+ id: 8453;
1082
+ name: "Base";
1083
+ nativeCurrency: {
1084
+ readonly name: "Ether";
1085
+ readonly symbol: "ETH";
1086
+ readonly decimals: 18;
1087
+ };
1088
+ experimental_preconfirmationTime?: number | undefined | undefined;
1089
+ rpcUrls: {
1090
+ readonly default: {
1091
+ readonly http: readonly ["https://mainnet.base.org"];
1092
+ };
1093
+ };
1094
+ sourceId: 1;
1095
+ testnet?: boolean | undefined | undefined;
1096
+ custom?: Record<string, unknown> | undefined;
1097
+ fees?: viem.ChainFees<undefined> | undefined;
1098
+ formatters: {
1099
+ readonly block: {
1100
+ exclude: [] | undefined;
1101
+ format: (args: viem_chains.OpStackRpcBlock, action?: string | undefined) => {
1102
+ baseFeePerGas: bigint | null;
1103
+ blobGasUsed: bigint;
1104
+ difficulty: bigint;
1105
+ excessBlobGas: bigint;
1106
+ extraData: viem.Hex;
1107
+ gasLimit: bigint;
1108
+ gasUsed: bigint;
1109
+ hash: `0x${string}` | null;
1110
+ logsBloom: `0x${string}` | null;
1111
+ miner: viem.Address;
1112
+ mixHash: viem.Hash;
1113
+ nonce: `0x${string}` | null;
1114
+ number: bigint | null;
1115
+ parentBeaconBlockRoot?: `0x${string}` | undefined;
1116
+ parentHash: viem.Hash;
1117
+ receiptsRoot: viem.Hex;
1118
+ sealFields: viem.Hex[];
1119
+ sha3Uncles: viem.Hash;
1120
+ size: bigint;
1121
+ stateRoot: viem.Hash;
1122
+ timestamp: bigint;
1123
+ totalDifficulty: bigint | null;
1124
+ transactions: `0x${string}`[] | viem_chains.OpStackTransaction<boolean>[];
1125
+ transactionsRoot: viem.Hash;
1126
+ uncles: viem.Hash[];
1127
+ withdrawals?: viem.Withdrawal[] | undefined | undefined;
1128
+ withdrawalsRoot?: `0x${string}` | undefined;
1129
+ } & {};
1130
+ type: "block";
1131
+ };
1132
+ readonly transaction: {
1133
+ exclude: [] | undefined;
1134
+ format: (args: viem_chains.OpStackRpcTransaction, action?: string | undefined) => ({
1135
+ blockHash: `0x${string}` | null;
1136
+ blockNumber: bigint | null;
1137
+ from: viem.Address;
1138
+ gas: bigint;
1139
+ hash: viem.Hash;
1140
+ input: viem.Hex;
1141
+ nonce: number;
1142
+ r: viem.Hex;
1143
+ s: viem.Hex;
1144
+ to: viem.Address | null;
1145
+ transactionIndex: number | null;
1146
+ typeHex: viem.Hex | null;
1147
+ v: bigint;
1148
+ value: bigint;
1149
+ yParity: number;
1150
+ gasPrice?: undefined | undefined;
1151
+ maxFeePerBlobGas?: undefined | undefined;
1152
+ maxFeePerGas: bigint;
1153
+ maxPriorityFeePerGas: bigint;
1154
+ isSystemTx?: boolean;
1155
+ mint?: bigint | undefined | undefined;
1156
+ sourceHash: viem.Hex;
1157
+ type: "deposit";
1158
+ } | {
1159
+ r: viem.Hex;
1160
+ s: viem.Hex;
1161
+ v: bigint;
1162
+ value: bigint;
1163
+ gas: bigint;
1164
+ to: viem.Address | null;
1165
+ from: viem.Address;
1166
+ nonce: number;
1167
+ blockHash: `0x${string}` | null;
1168
+ blockNumber: bigint | null;
1169
+ transactionIndex: number | null;
1170
+ hash: viem.Hash;
1171
+ input: viem.Hex;
1172
+ typeHex: viem.Hex | null;
1173
+ accessList?: undefined | undefined;
1174
+ authorizationList?: undefined | undefined;
1175
+ blobVersionedHashes?: undefined | undefined;
1176
+ chainId?: number | undefined;
1177
+ yParity?: undefined | undefined;
1178
+ type: "legacy";
1179
+ gasPrice: bigint;
1180
+ maxFeePerBlobGas?: undefined | undefined;
1181
+ maxFeePerGas?: undefined | undefined;
1182
+ maxPriorityFeePerGas?: undefined | undefined;
1183
+ isSystemTx?: undefined | undefined;
1184
+ mint?: undefined | undefined;
1185
+ sourceHash?: undefined | undefined;
1186
+ } | {
1187
+ blockHash: `0x${string}` | null;
1188
+ blockNumber: bigint | null;
1189
+ from: viem.Address;
1190
+ gas: bigint;
1191
+ hash: viem.Hash;
1192
+ input: viem.Hex;
1193
+ nonce: number;
1194
+ r: viem.Hex;
1195
+ s: viem.Hex;
1196
+ to: viem.Address | null;
1197
+ transactionIndex: number | null;
1198
+ typeHex: viem.Hex | null;
1199
+ v: bigint;
1200
+ value: bigint;
1201
+ yParity: number;
1202
+ accessList: viem.AccessList;
1203
+ authorizationList?: undefined | undefined;
1204
+ blobVersionedHashes?: undefined | undefined;
1205
+ chainId: number;
1206
+ type: "eip2930";
1207
+ gasPrice: bigint;
1208
+ maxFeePerBlobGas?: undefined | undefined;
1209
+ maxFeePerGas?: undefined | undefined;
1210
+ maxPriorityFeePerGas?: undefined | undefined;
1211
+ isSystemTx?: undefined | undefined;
1212
+ mint?: undefined | undefined;
1213
+ sourceHash?: undefined | undefined;
1214
+ } | {
1215
+ blockHash: `0x${string}` | null;
1216
+ blockNumber: bigint | null;
1217
+ from: viem.Address;
1218
+ gas: bigint;
1219
+ hash: viem.Hash;
1220
+ input: viem.Hex;
1221
+ nonce: number;
1222
+ r: viem.Hex;
1223
+ s: viem.Hex;
1224
+ to: viem.Address | null;
1225
+ transactionIndex: number | null;
1226
+ typeHex: viem.Hex | null;
1227
+ v: bigint;
1228
+ value: bigint;
1229
+ yParity: number;
1230
+ accessList: viem.AccessList;
1231
+ authorizationList?: undefined | undefined;
1232
+ blobVersionedHashes?: undefined | undefined;
1233
+ chainId: number;
1234
+ type: "eip1559";
1235
+ gasPrice?: undefined | undefined;
1236
+ maxFeePerBlobGas?: undefined | undefined;
1237
+ maxFeePerGas: bigint;
1238
+ maxPriorityFeePerGas: bigint;
1239
+ isSystemTx?: undefined | undefined;
1240
+ mint?: undefined | undefined;
1241
+ sourceHash?: undefined | undefined;
1242
+ } | {
1243
+ blockHash: `0x${string}` | null;
1244
+ blockNumber: bigint | null;
1245
+ from: viem.Address;
1246
+ gas: bigint;
1247
+ hash: viem.Hash;
1248
+ input: viem.Hex;
1249
+ nonce: number;
1250
+ r: viem.Hex;
1251
+ s: viem.Hex;
1252
+ to: viem.Address | null;
1253
+ transactionIndex: number | null;
1254
+ typeHex: viem.Hex | null;
1255
+ v: bigint;
1256
+ value: bigint;
1257
+ yParity: number;
1258
+ accessList: viem.AccessList;
1259
+ authorizationList?: undefined | undefined;
1260
+ blobVersionedHashes: readonly viem.Hex[];
1261
+ chainId: number;
1262
+ type: "eip4844";
1263
+ gasPrice?: undefined | undefined;
1264
+ maxFeePerBlobGas: bigint;
1265
+ maxFeePerGas: bigint;
1266
+ maxPriorityFeePerGas: bigint;
1267
+ isSystemTx?: undefined | undefined;
1268
+ mint?: undefined | undefined;
1269
+ sourceHash?: undefined | undefined;
1270
+ } | {
1271
+ blockHash: `0x${string}` | null;
1272
+ blockNumber: bigint | null;
1273
+ from: viem.Address;
1274
+ gas: bigint;
1275
+ hash: viem.Hash;
1276
+ input: viem.Hex;
1277
+ nonce: number;
1278
+ r: viem.Hex;
1279
+ s: viem.Hex;
1280
+ to: viem.Address | null;
1281
+ transactionIndex: number | null;
1282
+ typeHex: viem.Hex | null;
1283
+ v: bigint;
1284
+ value: bigint;
1285
+ yParity: number;
1286
+ accessList: viem.AccessList;
1287
+ authorizationList: viem.SignedAuthorizationList;
1288
+ blobVersionedHashes?: undefined | undefined;
1289
+ chainId: number;
1290
+ type: "eip7702";
1291
+ gasPrice?: undefined | undefined;
1292
+ maxFeePerBlobGas?: undefined | undefined;
1293
+ maxFeePerGas: bigint;
1294
+ maxPriorityFeePerGas: bigint;
1295
+ isSystemTx?: undefined | undefined;
1296
+ mint?: undefined | undefined;
1297
+ sourceHash?: undefined | undefined;
1298
+ }) & {};
1299
+ type: "transaction";
1300
+ };
1301
+ readonly transactionReceipt: {
1302
+ exclude: [] | undefined;
1303
+ format: (args: viem_chains.OpStackRpcTransactionReceipt, action?: string | undefined) => {
1304
+ blobGasPrice?: bigint | undefined;
1305
+ blobGasUsed?: bigint | undefined;
1306
+ blockHash: viem.Hash;
1307
+ blockNumber: bigint;
1308
+ contractAddress: viem.Address | null | undefined;
1309
+ cumulativeGasUsed: bigint;
1310
+ effectiveGasPrice: bigint;
1311
+ from: viem.Address;
1312
+ gasUsed: bigint;
1313
+ logs: viem.Log<bigint, number, false>[];
1314
+ logsBloom: viem.Hex;
1315
+ root?: `0x${string}` | undefined;
1316
+ status: "success" | "reverted";
1317
+ to: viem.Address | null;
1318
+ transactionHash: viem.Hash;
1319
+ transactionIndex: number;
1320
+ type: viem.TransactionType;
1321
+ l1GasPrice: bigint | null;
1322
+ l1GasUsed: bigint | null;
1323
+ l1Fee: bigint | null;
1324
+ l1FeeScalar: number | null;
1325
+ } & {};
1326
+ type: "transactionReceipt";
1327
+ };
1328
+ };
1329
+ serializers: {
1330
+ readonly transaction: typeof viem_chains.serializeTransactionOpStack;
1331
+ };
1332
+ } | {
1333
+ blockExplorers: {
1334
+ readonly default: {
1335
+ readonly name: "Basescan";
1336
+ readonly url: "https://sepolia.basescan.org";
1337
+ readonly apiUrl: "https://api-sepolia.basescan.org/api";
1338
+ };
1339
+ };
1340
+ blockTime: 2000;
1341
+ contracts: {
1342
+ readonly disputeGameFactory: {
1343
+ readonly 11155111: {
1344
+ readonly address: "0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1";
1345
+ };
1346
+ };
1347
+ readonly l2OutputOracle: {
1348
+ readonly 11155111: {
1349
+ readonly address: "0x84457ca9D0163FbC4bbfe4Dfbb20ba46e48DF254";
1350
+ };
1351
+ };
1352
+ readonly portal: {
1353
+ readonly 11155111: {
1354
+ readonly address: "0x49f53e41452c74589e85ca1677426ba426459e85";
1355
+ readonly blockCreated: 4446677;
1356
+ };
1357
+ };
1358
+ readonly l1StandardBridge: {
1359
+ readonly 11155111: {
1360
+ readonly address: "0xfd0Bf71F60660E2f608ed56e1659C450eB113120";
1361
+ readonly blockCreated: 4446677;
1362
+ };
1363
+ };
1364
+ readonly multicall3: {
1365
+ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
1366
+ readonly blockCreated: 1059647;
1367
+ };
1368
+ readonly gasPriceOracle: {
1369
+ readonly address: "0x420000000000000000000000000000000000000F";
1370
+ };
1371
+ readonly l1Block: {
1372
+ readonly address: "0x4200000000000000000000000000000000000015";
1373
+ };
1374
+ readonly l2CrossDomainMessenger: {
1375
+ readonly address: "0x4200000000000000000000000000000000000007";
1376
+ };
1377
+ readonly l2Erc721Bridge: {
1378
+ readonly address: "0x4200000000000000000000000000000000000014";
1379
+ };
1380
+ readonly l2StandardBridge: {
1381
+ readonly address: "0x4200000000000000000000000000000000000010";
1382
+ };
1383
+ readonly l2ToL1MessagePasser: {
1384
+ readonly address: "0x4200000000000000000000000000000000000016";
1385
+ };
1386
+ };
1387
+ ensTlds?: readonly string[] | undefined;
1388
+ id: 84532;
1389
+ name: "Base Sepolia";
1390
+ nativeCurrency: {
1391
+ readonly name: "Sepolia Ether";
1392
+ readonly symbol: "ETH";
1393
+ readonly decimals: 18;
1394
+ };
1395
+ experimental_preconfirmationTime?: number | undefined | undefined;
1396
+ rpcUrls: {
1397
+ readonly default: {
1398
+ readonly http: readonly ["https://sepolia.base.org"];
1399
+ };
1400
+ };
1401
+ sourceId: 11155111;
1402
+ testnet: true;
1403
+ custom?: Record<string, unknown> | undefined;
1404
+ fees?: viem.ChainFees<undefined> | undefined;
1405
+ formatters: {
1406
+ readonly block: {
1407
+ exclude: [] | undefined;
1408
+ format: (args: viem_chains.OpStackRpcBlock, action?: string | undefined) => {
1409
+ baseFeePerGas: bigint | null;
1410
+ blobGasUsed: bigint;
1411
+ difficulty: bigint;
1412
+ excessBlobGas: bigint;
1413
+ extraData: viem.Hex;
1414
+ gasLimit: bigint;
1415
+ gasUsed: bigint;
1416
+ hash: `0x${string}` | null;
1417
+ logsBloom: `0x${string}` | null;
1418
+ miner: viem.Address;
1419
+ mixHash: viem.Hash;
1420
+ nonce: `0x${string}` | null;
1421
+ number: bigint | null;
1422
+ parentBeaconBlockRoot?: `0x${string}` | undefined;
1423
+ parentHash: viem.Hash;
1424
+ receiptsRoot: viem.Hex;
1425
+ sealFields: viem.Hex[];
1426
+ sha3Uncles: viem.Hash;
1427
+ size: bigint;
1428
+ stateRoot: viem.Hash;
1429
+ timestamp: bigint;
1430
+ totalDifficulty: bigint | null;
1431
+ transactions: `0x${string}`[] | viem_chains.OpStackTransaction<boolean>[];
1432
+ transactionsRoot: viem.Hash;
1433
+ uncles: viem.Hash[];
1434
+ withdrawals?: viem.Withdrawal[] | undefined | undefined;
1435
+ withdrawalsRoot?: `0x${string}` | undefined;
1436
+ } & {};
1437
+ type: "block";
1438
+ };
1439
+ readonly transaction: {
1440
+ exclude: [] | undefined;
1441
+ format: (args: viem_chains.OpStackRpcTransaction, action?: string | undefined) => ({
1442
+ blockHash: `0x${string}` | null;
1443
+ blockNumber: bigint | null;
1444
+ from: viem.Address;
1445
+ gas: bigint;
1446
+ hash: viem.Hash;
1447
+ input: viem.Hex;
1448
+ nonce: number;
1449
+ r: viem.Hex;
1450
+ s: viem.Hex;
1451
+ to: viem.Address | null;
1452
+ transactionIndex: number | null;
1453
+ typeHex: viem.Hex | null;
1454
+ v: bigint;
1455
+ value: bigint;
1456
+ yParity: number;
1457
+ gasPrice?: undefined | undefined;
1458
+ maxFeePerBlobGas?: undefined | undefined;
1459
+ maxFeePerGas: bigint;
1460
+ maxPriorityFeePerGas: bigint;
1461
+ isSystemTx?: boolean;
1462
+ mint?: bigint | undefined | undefined;
1463
+ sourceHash: viem.Hex;
1464
+ type: "deposit";
1465
+ } | {
1466
+ r: viem.Hex;
1467
+ s: viem.Hex;
1468
+ v: bigint;
1469
+ value: bigint;
1470
+ gas: bigint;
1471
+ to: viem.Address | null;
1472
+ from: viem.Address;
1473
+ nonce: number;
1474
+ blockHash: `0x${string}` | null;
1475
+ blockNumber: bigint | null;
1476
+ transactionIndex: number | null;
1477
+ hash: viem.Hash;
1478
+ input: viem.Hex;
1479
+ typeHex: viem.Hex | null;
1480
+ accessList?: undefined | undefined;
1481
+ authorizationList?: undefined | undefined;
1482
+ blobVersionedHashes?: undefined | undefined;
1483
+ chainId?: number | undefined;
1484
+ yParity?: undefined | undefined;
1485
+ type: "legacy";
1486
+ gasPrice: bigint;
1487
+ maxFeePerBlobGas?: undefined | undefined;
1488
+ maxFeePerGas?: undefined | undefined;
1489
+ maxPriorityFeePerGas?: undefined | undefined;
1490
+ isSystemTx?: undefined | undefined;
1491
+ mint?: undefined | undefined;
1492
+ sourceHash?: undefined | undefined;
1493
+ } | {
1494
+ blockHash: `0x${string}` | null;
1495
+ blockNumber: bigint | null;
1496
+ from: viem.Address;
1497
+ gas: bigint;
1498
+ hash: viem.Hash;
1499
+ input: viem.Hex;
1500
+ nonce: number;
1501
+ r: viem.Hex;
1502
+ s: viem.Hex;
1503
+ to: viem.Address | null;
1504
+ transactionIndex: number | null;
1505
+ typeHex: viem.Hex | null;
1506
+ v: bigint;
1507
+ value: bigint;
1508
+ yParity: number;
1509
+ accessList: viem.AccessList;
1510
+ authorizationList?: undefined | undefined;
1511
+ blobVersionedHashes?: undefined | undefined;
1512
+ chainId: number;
1513
+ type: "eip2930";
1514
+ gasPrice: bigint;
1515
+ maxFeePerBlobGas?: undefined | undefined;
1516
+ maxFeePerGas?: undefined | undefined;
1517
+ maxPriorityFeePerGas?: undefined | undefined;
1518
+ isSystemTx?: undefined | undefined;
1519
+ mint?: undefined | undefined;
1520
+ sourceHash?: undefined | undefined;
1521
+ } | {
1522
+ blockHash: `0x${string}` | null;
1523
+ blockNumber: bigint | null;
1524
+ from: viem.Address;
1525
+ gas: bigint;
1526
+ hash: viem.Hash;
1527
+ input: viem.Hex;
1528
+ nonce: number;
1529
+ r: viem.Hex;
1530
+ s: viem.Hex;
1531
+ to: viem.Address | null;
1532
+ transactionIndex: number | null;
1533
+ typeHex: viem.Hex | null;
1534
+ v: bigint;
1535
+ value: bigint;
1536
+ yParity: number;
1537
+ accessList: viem.AccessList;
1538
+ authorizationList?: undefined | undefined;
1539
+ blobVersionedHashes?: undefined | undefined;
1540
+ chainId: number;
1541
+ type: "eip1559";
1542
+ gasPrice?: undefined | undefined;
1543
+ maxFeePerBlobGas?: undefined | undefined;
1544
+ maxFeePerGas: bigint;
1545
+ maxPriorityFeePerGas: bigint;
1546
+ isSystemTx?: undefined | undefined;
1547
+ mint?: undefined | undefined;
1548
+ sourceHash?: undefined | undefined;
1549
+ } | {
1550
+ blockHash: `0x${string}` | null;
1551
+ blockNumber: bigint | null;
1552
+ from: viem.Address;
1553
+ gas: bigint;
1554
+ hash: viem.Hash;
1555
+ input: viem.Hex;
1556
+ nonce: number;
1557
+ r: viem.Hex;
1558
+ s: viem.Hex;
1559
+ to: viem.Address | null;
1560
+ transactionIndex: number | null;
1561
+ typeHex: viem.Hex | null;
1562
+ v: bigint;
1563
+ value: bigint;
1564
+ yParity: number;
1565
+ accessList: viem.AccessList;
1566
+ authorizationList?: undefined | undefined;
1567
+ blobVersionedHashes: readonly viem.Hex[];
1568
+ chainId: number;
1569
+ type: "eip4844";
1570
+ gasPrice?: undefined | undefined;
1571
+ maxFeePerBlobGas: bigint;
1572
+ maxFeePerGas: bigint;
1573
+ maxPriorityFeePerGas: bigint;
1574
+ isSystemTx?: undefined | undefined;
1575
+ mint?: undefined | undefined;
1576
+ sourceHash?: undefined | undefined;
1577
+ } | {
1578
+ blockHash: `0x${string}` | null;
1579
+ blockNumber: bigint | null;
1580
+ from: viem.Address;
1581
+ gas: bigint;
1582
+ hash: viem.Hash;
1583
+ input: viem.Hex;
1584
+ nonce: number;
1585
+ r: viem.Hex;
1586
+ s: viem.Hex;
1587
+ to: viem.Address | null;
1588
+ transactionIndex: number | null;
1589
+ typeHex: viem.Hex | null;
1590
+ v: bigint;
1591
+ value: bigint;
1592
+ yParity: number;
1593
+ accessList: viem.AccessList;
1594
+ authorizationList: viem.SignedAuthorizationList;
1595
+ blobVersionedHashes?: undefined | undefined;
1596
+ chainId: number;
1597
+ type: "eip7702";
1598
+ gasPrice?: undefined | undefined;
1599
+ maxFeePerBlobGas?: undefined | undefined;
1600
+ maxFeePerGas: bigint;
1601
+ maxPriorityFeePerGas: bigint;
1602
+ isSystemTx?: undefined | undefined;
1603
+ mint?: undefined | undefined;
1604
+ sourceHash?: undefined | undefined;
1605
+ }) & {};
1606
+ type: "transaction";
1607
+ };
1608
+ readonly transactionReceipt: {
1609
+ exclude: [] | undefined;
1610
+ format: (args: viem_chains.OpStackRpcTransactionReceipt, action?: string | undefined) => {
1611
+ blobGasPrice?: bigint | undefined;
1612
+ blobGasUsed?: bigint | undefined;
1613
+ blockHash: viem.Hash;
1614
+ blockNumber: bigint;
1615
+ contractAddress: viem.Address | null | undefined;
1616
+ cumulativeGasUsed: bigint;
1617
+ effectiveGasPrice: bigint;
1618
+ from: viem.Address;
1619
+ gasUsed: bigint;
1620
+ logs: viem.Log<bigint, number, false>[];
1621
+ logsBloom: viem.Hex;
1622
+ root?: `0x${string}` | undefined;
1623
+ status: "success" | "reverted";
1624
+ to: viem.Address | null;
1625
+ transactionHash: viem.Hash;
1626
+ transactionIndex: number;
1627
+ type: viem.TransactionType;
1628
+ l1GasPrice: bigint | null;
1629
+ l1GasUsed: bigint | null;
1630
+ l1Fee: bigint | null;
1631
+ l1FeeScalar: number | null;
1632
+ } & {};
1633
+ type: "transactionReceipt";
1634
+ };
1635
+ };
1636
+ serializers: {
1637
+ readonly transaction: typeof viem_chains.serializeTransactionOpStack;
1638
+ };
1639
+ readonly network: "base-sepolia";
1640
+ })[];
1641
+ declare const createWagmiConfig: (projectId?: string) => Config$1;
1642
+ declare const getEvmChainById: (chainId: number) => {
1643
+ blockExplorers: {
1644
+ readonly default: {
1645
+ readonly name: "Etherscan";
1646
+ readonly url: "https://etherscan.io";
1647
+ readonly apiUrl: "https://api.etherscan.io/api";
1648
+ };
1649
+ };
1650
+ blockTime: 12000;
1651
+ contracts: {
1652
+ readonly ensUniversalResolver: {
1653
+ readonly address: "0xeeeeeeee14d718c2b47d9923deab1335e144eeee";
1654
+ readonly blockCreated: 23085558;
1655
+ };
1656
+ readonly multicall3: {
1657
+ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
1658
+ readonly blockCreated: 14353601;
1659
+ };
1660
+ };
1661
+ ensTlds?: readonly string[] | undefined;
1662
+ id: 1;
1663
+ name: "Ethereum";
1664
+ nativeCurrency: {
1665
+ readonly name: "Ether";
1666
+ readonly symbol: "ETH";
1667
+ readonly decimals: 18;
1668
+ };
1669
+ experimental_preconfirmationTime?: number | undefined | undefined;
1670
+ rpcUrls: {
1671
+ readonly default: {
1672
+ readonly http: readonly ["https://eth.merkle.io"];
1673
+ };
1674
+ };
1675
+ sourceId?: number | undefined | undefined;
1676
+ testnet?: boolean | undefined | undefined;
1677
+ custom?: Record<string, unknown> | undefined;
1678
+ fees?: viem.ChainFees<undefined> | undefined;
1679
+ formatters?: undefined;
1680
+ serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
1681
+ } | {
1682
+ blockExplorers: {
1683
+ readonly default: {
1684
+ readonly name: "Etherscan";
1685
+ readonly url: "https://sepolia.etherscan.io";
1686
+ readonly apiUrl: "https://api-sepolia.etherscan.io/api";
1687
+ };
1688
+ };
1689
+ blockTime?: number | undefined | undefined;
1690
+ contracts: {
1691
+ readonly multicall3: {
1692
+ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
1693
+ readonly blockCreated: 751532;
1694
+ };
1695
+ readonly ensUniversalResolver: {
1696
+ readonly address: "0xeeeeeeee14d718c2b47d9923deab1335e144eeee";
1697
+ readonly blockCreated: 8928790;
1698
+ };
1699
+ };
1700
+ ensTlds?: readonly string[] | undefined;
1701
+ id: 11155111;
1702
+ name: "Sepolia";
1703
+ nativeCurrency: {
1704
+ readonly name: "Sepolia Ether";
1705
+ readonly symbol: "ETH";
1706
+ readonly decimals: 18;
1707
+ };
1708
+ experimental_preconfirmationTime?: number | undefined | undefined;
1709
+ rpcUrls: {
1710
+ readonly default: {
1711
+ readonly http: readonly ["https://11155111.rpc.thirdweb.com"];
1712
+ };
1713
+ };
1714
+ sourceId?: number | undefined | undefined;
1715
+ testnet: true;
1716
+ custom?: Record<string, unknown> | undefined;
1717
+ fees?: viem.ChainFees<undefined> | undefined;
1718
+ formatters?: undefined;
1719
+ serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
1720
+ } | {
1721
+ blockExplorers: {
1722
+ readonly default: {
1723
+ readonly name: "PolygonScan";
1724
+ readonly url: "https://polygonscan.com";
1725
+ readonly apiUrl: "https://api.polygonscan.com/api";
1726
+ };
1727
+ };
1728
+ blockTime: 2000;
1729
+ contracts: {
1730
+ readonly multicall3: {
1731
+ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
1732
+ readonly blockCreated: 25770160;
1733
+ };
1734
+ };
1735
+ ensTlds?: readonly string[] | undefined;
1736
+ id: 137;
1737
+ name: "Polygon";
1738
+ nativeCurrency: {
1739
+ readonly name: "POL";
1740
+ readonly symbol: "POL";
1741
+ readonly decimals: 18;
1742
+ };
1743
+ experimental_preconfirmationTime?: number | undefined | undefined;
1744
+ rpcUrls: {
1745
+ readonly default: {
1746
+ readonly http: readonly ["https://polygon-rpc.com"];
1747
+ };
1748
+ };
1749
+ sourceId?: number | undefined | undefined;
1750
+ testnet?: boolean | undefined | undefined;
1751
+ custom?: Record<string, unknown> | undefined;
1752
+ fees?: viem.ChainFees<undefined> | undefined;
1753
+ formatters?: undefined;
1754
+ serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
1755
+ } | {
1756
+ blockExplorers: {
1757
+ readonly default: {
1758
+ readonly name: "PolygonScan";
1759
+ readonly url: "https://amoy.polygonscan.com";
1760
+ readonly apiUrl: "https://api-amoy.polygonscan.com/api";
1761
+ };
1762
+ };
1763
+ blockTime?: number | undefined | undefined;
1764
+ contracts: {
1765
+ readonly multicall3: {
1766
+ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
1767
+ readonly blockCreated: 3127388;
1768
+ };
1769
+ };
1770
+ ensTlds?: readonly string[] | undefined;
1771
+ id: 80002;
1772
+ name: "Polygon Amoy";
1773
+ nativeCurrency: {
1774
+ readonly name: "POL";
1775
+ readonly symbol: "POL";
1776
+ readonly decimals: 18;
1777
+ };
1778
+ experimental_preconfirmationTime?: number | undefined | undefined;
1779
+ rpcUrls: {
1780
+ readonly default: {
1781
+ readonly http: readonly ["https://rpc-amoy.polygon.technology"];
1782
+ };
1783
+ };
1784
+ sourceId?: number | undefined | undefined;
1785
+ testnet: true;
1786
+ custom?: Record<string, unknown> | undefined;
1787
+ fees?: viem.ChainFees<undefined> | undefined;
1788
+ formatters?: undefined;
1789
+ serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
1790
+ } | {
1791
+ blockExplorers: {
1792
+ readonly default: {
1793
+ readonly name: "Basescan";
1794
+ readonly url: "https://basescan.org";
1795
+ readonly apiUrl: "https://api.basescan.org/api";
1796
+ };
1797
+ };
1798
+ blockTime: 2000;
1799
+ contracts: {
1800
+ readonly disputeGameFactory: {
1801
+ readonly 1: {
1802
+ readonly address: "0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e";
1803
+ };
1804
+ };
1805
+ readonly l2OutputOracle: {
1806
+ readonly 1: {
1807
+ readonly address: "0x56315b90c40730925ec5485cf004d835058518A0";
1808
+ };
1809
+ };
1810
+ readonly multicall3: {
1811
+ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
1812
+ readonly blockCreated: 5022;
1813
+ };
1814
+ readonly portal: {
1815
+ readonly 1: {
1816
+ readonly address: "0x49048044D57e1C92A77f79988d21Fa8fAF74E97e";
1817
+ readonly blockCreated: 17482143;
1818
+ };
1819
+ };
1820
+ readonly l1StandardBridge: {
1821
+ readonly 1: {
1822
+ readonly address: "0x3154Cf16ccdb4C6d922629664174b904d80F2C35";
1823
+ readonly blockCreated: 17482143;
1824
+ };
1825
+ };
1826
+ readonly gasPriceOracle: {
1827
+ readonly address: "0x420000000000000000000000000000000000000F";
1828
+ };
1829
+ readonly l1Block: {
1830
+ readonly address: "0x4200000000000000000000000000000000000015";
1831
+ };
1832
+ readonly l2CrossDomainMessenger: {
1833
+ readonly address: "0x4200000000000000000000000000000000000007";
1834
+ };
1835
+ readonly l2Erc721Bridge: {
1836
+ readonly address: "0x4200000000000000000000000000000000000014";
1837
+ };
1838
+ readonly l2StandardBridge: {
1839
+ readonly address: "0x4200000000000000000000000000000000000010";
1840
+ };
1841
+ readonly l2ToL1MessagePasser: {
1842
+ readonly address: "0x4200000000000000000000000000000000000016";
1843
+ };
1844
+ };
1845
+ ensTlds?: readonly string[] | undefined;
1846
+ id: 8453;
1847
+ name: "Base";
1848
+ nativeCurrency: {
1849
+ readonly name: "Ether";
1850
+ readonly symbol: "ETH";
1851
+ readonly decimals: 18;
1852
+ };
1853
+ experimental_preconfirmationTime?: number | undefined | undefined;
1854
+ rpcUrls: {
1855
+ readonly default: {
1856
+ readonly http: readonly ["https://mainnet.base.org"];
1857
+ };
1858
+ };
1859
+ sourceId: 1;
1860
+ testnet?: boolean | undefined | undefined;
1861
+ custom?: Record<string, unknown> | undefined;
1862
+ fees?: viem.ChainFees<undefined> | undefined;
1863
+ formatters: {
1864
+ readonly block: {
1865
+ exclude: [] | undefined;
1866
+ format: (args: viem_chains.OpStackRpcBlock, action?: string | undefined) => {
1867
+ baseFeePerGas: bigint | null;
1868
+ blobGasUsed: bigint;
1869
+ difficulty: bigint;
1870
+ excessBlobGas: bigint;
1871
+ extraData: viem.Hex;
1872
+ gasLimit: bigint;
1873
+ gasUsed: bigint;
1874
+ hash: `0x${string}` | null;
1875
+ logsBloom: `0x${string}` | null;
1876
+ miner: viem.Address;
1877
+ mixHash: viem.Hash;
1878
+ nonce: `0x${string}` | null;
1879
+ number: bigint | null;
1880
+ parentBeaconBlockRoot?: `0x${string}` | undefined;
1881
+ parentHash: viem.Hash;
1882
+ receiptsRoot: viem.Hex;
1883
+ sealFields: viem.Hex[];
1884
+ sha3Uncles: viem.Hash;
1885
+ size: bigint;
1886
+ stateRoot: viem.Hash;
1887
+ timestamp: bigint;
1888
+ totalDifficulty: bigint | null;
1889
+ transactions: `0x${string}`[] | viem_chains.OpStackTransaction<boolean>[];
1890
+ transactionsRoot: viem.Hash;
1891
+ uncles: viem.Hash[];
1892
+ withdrawals?: viem.Withdrawal[] | undefined | undefined;
1893
+ withdrawalsRoot?: `0x${string}` | undefined;
1894
+ } & {};
1895
+ type: "block";
1896
+ };
1897
+ readonly transaction: {
1898
+ exclude: [] | undefined;
1899
+ format: (args: viem_chains.OpStackRpcTransaction, action?: string | undefined) => ({
1900
+ blockHash: `0x${string}` | null;
1901
+ blockNumber: bigint | null;
1902
+ from: viem.Address;
1903
+ gas: bigint;
1904
+ hash: viem.Hash;
1905
+ input: viem.Hex;
1906
+ nonce: number;
1907
+ r: viem.Hex;
1908
+ s: viem.Hex;
1909
+ to: viem.Address | null;
1910
+ transactionIndex: number | null;
1911
+ typeHex: viem.Hex | null;
1912
+ v: bigint;
1913
+ value: bigint;
1914
+ yParity: number;
1915
+ gasPrice?: undefined | undefined;
1916
+ maxFeePerBlobGas?: undefined | undefined;
1917
+ maxFeePerGas: bigint;
1918
+ maxPriorityFeePerGas: bigint;
1919
+ isSystemTx?: boolean;
1920
+ mint?: bigint | undefined | undefined;
1921
+ sourceHash: viem.Hex;
1922
+ type: "deposit";
1923
+ } | {
1924
+ r: viem.Hex;
1925
+ s: viem.Hex;
1926
+ v: bigint;
1927
+ value: bigint;
1928
+ gas: bigint;
1929
+ to: viem.Address | null;
1930
+ from: viem.Address;
1931
+ nonce: number;
1932
+ blockHash: `0x${string}` | null;
1933
+ blockNumber: bigint | null;
1934
+ transactionIndex: number | null;
1935
+ hash: viem.Hash;
1936
+ input: viem.Hex;
1937
+ typeHex: viem.Hex | null;
1938
+ accessList?: undefined | undefined;
1939
+ authorizationList?: undefined | undefined;
1940
+ blobVersionedHashes?: undefined | undefined;
1941
+ chainId?: number | undefined;
1942
+ yParity?: undefined | undefined;
1943
+ type: "legacy";
1944
+ gasPrice: bigint;
1945
+ maxFeePerBlobGas?: undefined | undefined;
1946
+ maxFeePerGas?: undefined | undefined;
1947
+ maxPriorityFeePerGas?: undefined | undefined;
1948
+ isSystemTx?: undefined | undefined;
1949
+ mint?: undefined | undefined;
1950
+ sourceHash?: undefined | undefined;
1951
+ } | {
1952
+ blockHash: `0x${string}` | null;
1953
+ blockNumber: bigint | null;
1954
+ from: viem.Address;
1955
+ gas: bigint;
1956
+ hash: viem.Hash;
1957
+ input: viem.Hex;
1958
+ nonce: number;
1959
+ r: viem.Hex;
1960
+ s: viem.Hex;
1961
+ to: viem.Address | null;
1962
+ transactionIndex: number | null;
1963
+ typeHex: viem.Hex | null;
1964
+ v: bigint;
1965
+ value: bigint;
1966
+ yParity: number;
1967
+ accessList: viem.AccessList;
1968
+ authorizationList?: undefined | undefined;
1969
+ blobVersionedHashes?: undefined | undefined;
1970
+ chainId: number;
1971
+ type: "eip2930";
1972
+ gasPrice: bigint;
1973
+ maxFeePerBlobGas?: undefined | undefined;
1974
+ maxFeePerGas?: undefined | undefined;
1975
+ maxPriorityFeePerGas?: undefined | undefined;
1976
+ isSystemTx?: undefined | undefined;
1977
+ mint?: undefined | undefined;
1978
+ sourceHash?: undefined | undefined;
1979
+ } | {
1980
+ blockHash: `0x${string}` | null;
1981
+ blockNumber: bigint | null;
1982
+ from: viem.Address;
1983
+ gas: bigint;
1984
+ hash: viem.Hash;
1985
+ input: viem.Hex;
1986
+ nonce: number;
1987
+ r: viem.Hex;
1988
+ s: viem.Hex;
1989
+ to: viem.Address | null;
1990
+ transactionIndex: number | null;
1991
+ typeHex: viem.Hex | null;
1992
+ v: bigint;
1993
+ value: bigint;
1994
+ yParity: number;
1995
+ accessList: viem.AccessList;
1996
+ authorizationList?: undefined | undefined;
1997
+ blobVersionedHashes?: undefined | undefined;
1998
+ chainId: number;
1999
+ type: "eip1559";
2000
+ gasPrice?: undefined | undefined;
2001
+ maxFeePerBlobGas?: undefined | undefined;
2002
+ maxFeePerGas: bigint;
2003
+ maxPriorityFeePerGas: bigint;
2004
+ isSystemTx?: undefined | undefined;
2005
+ mint?: undefined | undefined;
2006
+ sourceHash?: undefined | undefined;
2007
+ } | {
2008
+ blockHash: `0x${string}` | null;
2009
+ blockNumber: bigint | null;
2010
+ from: viem.Address;
2011
+ gas: bigint;
2012
+ hash: viem.Hash;
2013
+ input: viem.Hex;
2014
+ nonce: number;
2015
+ r: viem.Hex;
2016
+ s: viem.Hex;
2017
+ to: viem.Address | null;
2018
+ transactionIndex: number | null;
2019
+ typeHex: viem.Hex | null;
2020
+ v: bigint;
2021
+ value: bigint;
2022
+ yParity: number;
2023
+ accessList: viem.AccessList;
2024
+ authorizationList?: undefined | undefined;
2025
+ blobVersionedHashes: readonly viem.Hex[];
2026
+ chainId: number;
2027
+ type: "eip4844";
2028
+ gasPrice?: undefined | undefined;
2029
+ maxFeePerBlobGas: bigint;
2030
+ maxFeePerGas: bigint;
2031
+ maxPriorityFeePerGas: bigint;
2032
+ isSystemTx?: undefined | undefined;
2033
+ mint?: undefined | undefined;
2034
+ sourceHash?: undefined | undefined;
2035
+ } | {
2036
+ blockHash: `0x${string}` | null;
2037
+ blockNumber: bigint | null;
2038
+ from: viem.Address;
2039
+ gas: bigint;
2040
+ hash: viem.Hash;
2041
+ input: viem.Hex;
2042
+ nonce: number;
2043
+ r: viem.Hex;
2044
+ s: viem.Hex;
2045
+ to: viem.Address | null;
2046
+ transactionIndex: number | null;
2047
+ typeHex: viem.Hex | null;
2048
+ v: bigint;
2049
+ value: bigint;
2050
+ yParity: number;
2051
+ accessList: viem.AccessList;
2052
+ authorizationList: viem.SignedAuthorizationList;
2053
+ blobVersionedHashes?: undefined | undefined;
2054
+ chainId: number;
2055
+ type: "eip7702";
2056
+ gasPrice?: undefined | undefined;
2057
+ maxFeePerBlobGas?: undefined | undefined;
2058
+ maxFeePerGas: bigint;
2059
+ maxPriorityFeePerGas: bigint;
2060
+ isSystemTx?: undefined | undefined;
2061
+ mint?: undefined | undefined;
2062
+ sourceHash?: undefined | undefined;
2063
+ }) & {};
2064
+ type: "transaction";
2065
+ };
2066
+ readonly transactionReceipt: {
2067
+ exclude: [] | undefined;
2068
+ format: (args: viem_chains.OpStackRpcTransactionReceipt, action?: string | undefined) => {
2069
+ blobGasPrice?: bigint | undefined;
2070
+ blobGasUsed?: bigint | undefined;
2071
+ blockHash: viem.Hash;
2072
+ blockNumber: bigint;
2073
+ contractAddress: viem.Address | null | undefined;
2074
+ cumulativeGasUsed: bigint;
2075
+ effectiveGasPrice: bigint;
2076
+ from: viem.Address;
2077
+ gasUsed: bigint;
2078
+ logs: viem.Log<bigint, number, false>[];
2079
+ logsBloom: viem.Hex;
2080
+ root?: `0x${string}` | undefined;
2081
+ status: "success" | "reverted";
2082
+ to: viem.Address | null;
2083
+ transactionHash: viem.Hash;
2084
+ transactionIndex: number;
2085
+ type: viem.TransactionType;
2086
+ l1GasPrice: bigint | null;
2087
+ l1GasUsed: bigint | null;
2088
+ l1Fee: bigint | null;
2089
+ l1FeeScalar: number | null;
2090
+ } & {};
2091
+ type: "transactionReceipt";
2092
+ };
2093
+ };
2094
+ serializers: {
2095
+ readonly transaction: typeof viem_chains.serializeTransactionOpStack;
2096
+ };
2097
+ } | {
2098
+ blockExplorers: {
2099
+ readonly default: {
2100
+ readonly name: "Basescan";
2101
+ readonly url: "https://sepolia.basescan.org";
2102
+ readonly apiUrl: "https://api-sepolia.basescan.org/api";
2103
+ };
2104
+ };
2105
+ blockTime: 2000;
2106
+ contracts: {
2107
+ readonly disputeGameFactory: {
2108
+ readonly 11155111: {
2109
+ readonly address: "0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1";
2110
+ };
2111
+ };
2112
+ readonly l2OutputOracle: {
2113
+ readonly 11155111: {
2114
+ readonly address: "0x84457ca9D0163FbC4bbfe4Dfbb20ba46e48DF254";
2115
+ };
2116
+ };
2117
+ readonly portal: {
2118
+ readonly 11155111: {
2119
+ readonly address: "0x49f53e41452c74589e85ca1677426ba426459e85";
2120
+ readonly blockCreated: 4446677;
2121
+ };
2122
+ };
2123
+ readonly l1StandardBridge: {
2124
+ readonly 11155111: {
2125
+ readonly address: "0xfd0Bf71F60660E2f608ed56e1659C450eB113120";
2126
+ readonly blockCreated: 4446677;
2127
+ };
2128
+ };
2129
+ readonly multicall3: {
2130
+ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
2131
+ readonly blockCreated: 1059647;
2132
+ };
2133
+ readonly gasPriceOracle: {
2134
+ readonly address: "0x420000000000000000000000000000000000000F";
2135
+ };
2136
+ readonly l1Block: {
2137
+ readonly address: "0x4200000000000000000000000000000000000015";
2138
+ };
2139
+ readonly l2CrossDomainMessenger: {
2140
+ readonly address: "0x4200000000000000000000000000000000000007";
2141
+ };
2142
+ readonly l2Erc721Bridge: {
2143
+ readonly address: "0x4200000000000000000000000000000000000014";
2144
+ };
2145
+ readonly l2StandardBridge: {
2146
+ readonly address: "0x4200000000000000000000000000000000000010";
2147
+ };
2148
+ readonly l2ToL1MessagePasser: {
2149
+ readonly address: "0x4200000000000000000000000000000000000016";
2150
+ };
2151
+ };
2152
+ ensTlds?: readonly string[] | undefined;
2153
+ id: 84532;
2154
+ name: "Base Sepolia";
2155
+ nativeCurrency: {
2156
+ readonly name: "Sepolia Ether";
2157
+ readonly symbol: "ETH";
2158
+ readonly decimals: 18;
2159
+ };
2160
+ experimental_preconfirmationTime?: number | undefined | undefined;
2161
+ rpcUrls: {
2162
+ readonly default: {
2163
+ readonly http: readonly ["https://sepolia.base.org"];
2164
+ };
2165
+ };
2166
+ sourceId: 11155111;
2167
+ testnet: true;
2168
+ custom?: Record<string, unknown> | undefined;
2169
+ fees?: viem.ChainFees<undefined> | undefined;
2170
+ formatters: {
2171
+ readonly block: {
2172
+ exclude: [] | undefined;
2173
+ format: (args: viem_chains.OpStackRpcBlock, action?: string | undefined) => {
2174
+ baseFeePerGas: bigint | null;
2175
+ blobGasUsed: bigint;
2176
+ difficulty: bigint;
2177
+ excessBlobGas: bigint;
2178
+ extraData: viem.Hex;
2179
+ gasLimit: bigint;
2180
+ gasUsed: bigint;
2181
+ hash: `0x${string}` | null;
2182
+ logsBloom: `0x${string}` | null;
2183
+ miner: viem.Address;
2184
+ mixHash: viem.Hash;
2185
+ nonce: `0x${string}` | null;
2186
+ number: bigint | null;
2187
+ parentBeaconBlockRoot?: `0x${string}` | undefined;
2188
+ parentHash: viem.Hash;
2189
+ receiptsRoot: viem.Hex;
2190
+ sealFields: viem.Hex[];
2191
+ sha3Uncles: viem.Hash;
2192
+ size: bigint;
2193
+ stateRoot: viem.Hash;
2194
+ timestamp: bigint;
2195
+ totalDifficulty: bigint | null;
2196
+ transactions: `0x${string}`[] | viem_chains.OpStackTransaction<boolean>[];
2197
+ transactionsRoot: viem.Hash;
2198
+ uncles: viem.Hash[];
2199
+ withdrawals?: viem.Withdrawal[] | undefined | undefined;
2200
+ withdrawalsRoot?: `0x${string}` | undefined;
2201
+ } & {};
2202
+ type: "block";
2203
+ };
2204
+ readonly transaction: {
2205
+ exclude: [] | undefined;
2206
+ format: (args: viem_chains.OpStackRpcTransaction, action?: string | undefined) => ({
2207
+ blockHash: `0x${string}` | null;
2208
+ blockNumber: bigint | null;
2209
+ from: viem.Address;
2210
+ gas: bigint;
2211
+ hash: viem.Hash;
2212
+ input: viem.Hex;
2213
+ nonce: number;
2214
+ r: viem.Hex;
2215
+ s: viem.Hex;
2216
+ to: viem.Address | null;
2217
+ transactionIndex: number | null;
2218
+ typeHex: viem.Hex | null;
2219
+ v: bigint;
2220
+ value: bigint;
2221
+ yParity: number;
2222
+ gasPrice?: undefined | undefined;
2223
+ maxFeePerBlobGas?: undefined | undefined;
2224
+ maxFeePerGas: bigint;
2225
+ maxPriorityFeePerGas: bigint;
2226
+ isSystemTx?: boolean;
2227
+ mint?: bigint | undefined | undefined;
2228
+ sourceHash: viem.Hex;
2229
+ type: "deposit";
2230
+ } | {
2231
+ r: viem.Hex;
2232
+ s: viem.Hex;
2233
+ v: bigint;
2234
+ value: bigint;
2235
+ gas: bigint;
2236
+ to: viem.Address | null;
2237
+ from: viem.Address;
2238
+ nonce: number;
2239
+ blockHash: `0x${string}` | null;
2240
+ blockNumber: bigint | null;
2241
+ transactionIndex: number | null;
2242
+ hash: viem.Hash;
2243
+ input: viem.Hex;
2244
+ typeHex: viem.Hex | null;
2245
+ accessList?: undefined | undefined;
2246
+ authorizationList?: undefined | undefined;
2247
+ blobVersionedHashes?: undefined | undefined;
2248
+ chainId?: number | undefined;
2249
+ yParity?: undefined | undefined;
2250
+ type: "legacy";
2251
+ gasPrice: bigint;
2252
+ maxFeePerBlobGas?: undefined | undefined;
2253
+ maxFeePerGas?: undefined | undefined;
2254
+ maxPriorityFeePerGas?: undefined | undefined;
2255
+ isSystemTx?: undefined | undefined;
2256
+ mint?: undefined | undefined;
2257
+ sourceHash?: undefined | undefined;
2258
+ } | {
2259
+ blockHash: `0x${string}` | null;
2260
+ blockNumber: bigint | null;
2261
+ from: viem.Address;
2262
+ gas: bigint;
2263
+ hash: viem.Hash;
2264
+ input: viem.Hex;
2265
+ nonce: number;
2266
+ r: viem.Hex;
2267
+ s: viem.Hex;
2268
+ to: viem.Address | null;
2269
+ transactionIndex: number | null;
2270
+ typeHex: viem.Hex | null;
2271
+ v: bigint;
2272
+ value: bigint;
2273
+ yParity: number;
2274
+ accessList: viem.AccessList;
2275
+ authorizationList?: undefined | undefined;
2276
+ blobVersionedHashes?: undefined | undefined;
2277
+ chainId: number;
2278
+ type: "eip2930";
2279
+ gasPrice: bigint;
2280
+ maxFeePerBlobGas?: undefined | undefined;
2281
+ maxFeePerGas?: undefined | undefined;
2282
+ maxPriorityFeePerGas?: undefined | undefined;
2283
+ isSystemTx?: undefined | undefined;
2284
+ mint?: undefined | undefined;
2285
+ sourceHash?: undefined | undefined;
2286
+ } | {
2287
+ blockHash: `0x${string}` | null;
2288
+ blockNumber: bigint | null;
2289
+ from: viem.Address;
2290
+ gas: bigint;
2291
+ hash: viem.Hash;
2292
+ input: viem.Hex;
2293
+ nonce: number;
2294
+ r: viem.Hex;
2295
+ s: viem.Hex;
2296
+ to: viem.Address | null;
2297
+ transactionIndex: number | null;
2298
+ typeHex: viem.Hex | null;
2299
+ v: bigint;
2300
+ value: bigint;
2301
+ yParity: number;
2302
+ accessList: viem.AccessList;
2303
+ authorizationList?: undefined | undefined;
2304
+ blobVersionedHashes?: undefined | undefined;
2305
+ chainId: number;
2306
+ type: "eip1559";
2307
+ gasPrice?: undefined | undefined;
2308
+ maxFeePerBlobGas?: undefined | undefined;
2309
+ maxFeePerGas: bigint;
2310
+ maxPriorityFeePerGas: bigint;
2311
+ isSystemTx?: undefined | undefined;
2312
+ mint?: undefined | undefined;
2313
+ sourceHash?: undefined | undefined;
2314
+ } | {
2315
+ blockHash: `0x${string}` | null;
2316
+ blockNumber: bigint | null;
2317
+ from: viem.Address;
2318
+ gas: bigint;
2319
+ hash: viem.Hash;
2320
+ input: viem.Hex;
2321
+ nonce: number;
2322
+ r: viem.Hex;
2323
+ s: viem.Hex;
2324
+ to: viem.Address | null;
2325
+ transactionIndex: number | null;
2326
+ typeHex: viem.Hex | null;
2327
+ v: bigint;
2328
+ value: bigint;
2329
+ yParity: number;
2330
+ accessList: viem.AccessList;
2331
+ authorizationList?: undefined | undefined;
2332
+ blobVersionedHashes: readonly viem.Hex[];
2333
+ chainId: number;
2334
+ type: "eip4844";
2335
+ gasPrice?: undefined | undefined;
2336
+ maxFeePerBlobGas: bigint;
2337
+ maxFeePerGas: bigint;
2338
+ maxPriorityFeePerGas: bigint;
2339
+ isSystemTx?: undefined | undefined;
2340
+ mint?: undefined | undefined;
2341
+ sourceHash?: undefined | undefined;
2342
+ } | {
2343
+ blockHash: `0x${string}` | null;
2344
+ blockNumber: bigint | null;
2345
+ from: viem.Address;
2346
+ gas: bigint;
2347
+ hash: viem.Hash;
2348
+ input: viem.Hex;
2349
+ nonce: number;
2350
+ r: viem.Hex;
2351
+ s: viem.Hex;
2352
+ to: viem.Address | null;
2353
+ transactionIndex: number | null;
2354
+ typeHex: viem.Hex | null;
2355
+ v: bigint;
2356
+ value: bigint;
2357
+ yParity: number;
2358
+ accessList: viem.AccessList;
2359
+ authorizationList: viem.SignedAuthorizationList;
2360
+ blobVersionedHashes?: undefined | undefined;
2361
+ chainId: number;
2362
+ type: "eip7702";
2363
+ gasPrice?: undefined | undefined;
2364
+ maxFeePerBlobGas?: undefined | undefined;
2365
+ maxFeePerGas: bigint;
2366
+ maxPriorityFeePerGas: bigint;
2367
+ isSystemTx?: undefined | undefined;
2368
+ mint?: undefined | undefined;
2369
+ sourceHash?: undefined | undefined;
2370
+ }) & {};
2371
+ type: "transaction";
2372
+ };
2373
+ readonly transactionReceipt: {
2374
+ exclude: [] | undefined;
2375
+ format: (args: viem_chains.OpStackRpcTransactionReceipt, action?: string | undefined) => {
2376
+ blobGasPrice?: bigint | undefined;
2377
+ blobGasUsed?: bigint | undefined;
2378
+ blockHash: viem.Hash;
2379
+ blockNumber: bigint;
2380
+ contractAddress: viem.Address | null | undefined;
2381
+ cumulativeGasUsed: bigint;
2382
+ effectiveGasPrice: bigint;
2383
+ from: viem.Address;
2384
+ gasUsed: bigint;
2385
+ logs: viem.Log<bigint, number, false>[];
2386
+ logsBloom: viem.Hex;
2387
+ root?: `0x${string}` | undefined;
2388
+ status: "success" | "reverted";
2389
+ to: viem.Address | null;
2390
+ transactionHash: viem.Hash;
2391
+ transactionIndex: number;
2392
+ type: viem.TransactionType;
2393
+ l1GasPrice: bigint | null;
2394
+ l1GasUsed: bigint | null;
2395
+ l1Fee: bigint | null;
2396
+ l1FeeScalar: number | null;
2397
+ } & {};
2398
+ type: "transactionReceipt";
2399
+ };
2400
+ };
2401
+ serializers: {
2402
+ readonly transaction: typeof viem_chains.serializeTransactionOpStack;
2403
+ };
2404
+ readonly network: "base-sepolia";
2405
+ } | undefined;
2406
+ declare const getChainById: (chainId: number) => {
2407
+ blockExplorers: {
2408
+ readonly default: {
2409
+ readonly name: "Etherscan";
2410
+ readonly url: "https://etherscan.io";
2411
+ readonly apiUrl: "https://api.etherscan.io/api";
2412
+ };
2413
+ };
2414
+ blockTime: 12000;
2415
+ contracts: {
2416
+ readonly ensUniversalResolver: {
2417
+ readonly address: "0xeeeeeeee14d718c2b47d9923deab1335e144eeee";
2418
+ readonly blockCreated: 23085558;
2419
+ };
2420
+ readonly multicall3: {
2421
+ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
2422
+ readonly blockCreated: 14353601;
2423
+ };
2424
+ };
2425
+ ensTlds?: readonly string[] | undefined;
2426
+ id: 1;
2427
+ name: "Ethereum";
2428
+ nativeCurrency: {
2429
+ readonly name: "Ether";
2430
+ readonly symbol: "ETH";
2431
+ readonly decimals: 18;
2432
+ };
2433
+ experimental_preconfirmationTime?: number | undefined | undefined;
2434
+ rpcUrls: {
2435
+ readonly default: {
2436
+ readonly http: readonly ["https://eth.merkle.io"];
2437
+ };
2438
+ };
2439
+ sourceId?: number | undefined | undefined;
2440
+ testnet?: boolean | undefined | undefined;
2441
+ custom?: Record<string, unknown> | undefined;
2442
+ fees?: viem.ChainFees<undefined> | undefined;
2443
+ formatters?: undefined;
2444
+ serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
2445
+ } | {
2446
+ blockExplorers: {
2447
+ readonly default: {
2448
+ readonly name: "Etherscan";
2449
+ readonly url: "https://sepolia.etherscan.io";
2450
+ readonly apiUrl: "https://api-sepolia.etherscan.io/api";
2451
+ };
2452
+ };
2453
+ blockTime?: number | undefined | undefined;
2454
+ contracts: {
2455
+ readonly multicall3: {
2456
+ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
2457
+ readonly blockCreated: 751532;
2458
+ };
2459
+ readonly ensUniversalResolver: {
2460
+ readonly address: "0xeeeeeeee14d718c2b47d9923deab1335e144eeee";
2461
+ readonly blockCreated: 8928790;
2462
+ };
2463
+ };
2464
+ ensTlds?: readonly string[] | undefined;
2465
+ id: 11155111;
2466
+ name: "Sepolia";
2467
+ nativeCurrency: {
2468
+ readonly name: "Sepolia Ether";
2469
+ readonly symbol: "ETH";
2470
+ readonly decimals: 18;
2471
+ };
2472
+ experimental_preconfirmationTime?: number | undefined | undefined;
2473
+ rpcUrls: {
2474
+ readonly default: {
2475
+ readonly http: readonly ["https://11155111.rpc.thirdweb.com"];
2476
+ };
2477
+ };
2478
+ sourceId?: number | undefined | undefined;
2479
+ testnet: true;
2480
+ custom?: Record<string, unknown> | undefined;
2481
+ fees?: viem.ChainFees<undefined> | undefined;
2482
+ formatters?: undefined;
2483
+ serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
2484
+ } | {
2485
+ blockExplorers: {
2486
+ readonly default: {
2487
+ readonly name: "PolygonScan";
2488
+ readonly url: "https://polygonscan.com";
2489
+ readonly apiUrl: "https://api.polygonscan.com/api";
2490
+ };
2491
+ };
2492
+ blockTime: 2000;
2493
+ contracts: {
2494
+ readonly multicall3: {
2495
+ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
2496
+ readonly blockCreated: 25770160;
2497
+ };
2498
+ };
2499
+ ensTlds?: readonly string[] | undefined;
2500
+ id: 137;
2501
+ name: "Polygon";
2502
+ nativeCurrency: {
2503
+ readonly name: "POL";
2504
+ readonly symbol: "POL";
2505
+ readonly decimals: 18;
2506
+ };
2507
+ experimental_preconfirmationTime?: number | undefined | undefined;
2508
+ rpcUrls: {
2509
+ readonly default: {
2510
+ readonly http: readonly ["https://polygon-rpc.com"];
2511
+ };
2512
+ };
2513
+ sourceId?: number | undefined | undefined;
2514
+ testnet?: boolean | undefined | undefined;
2515
+ custom?: Record<string, unknown> | undefined;
2516
+ fees?: viem.ChainFees<undefined> | undefined;
2517
+ formatters?: undefined;
2518
+ serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
2519
+ } | {
2520
+ blockExplorers: {
2521
+ readonly default: {
2522
+ readonly name: "PolygonScan";
2523
+ readonly url: "https://amoy.polygonscan.com";
2524
+ readonly apiUrl: "https://api-amoy.polygonscan.com/api";
2525
+ };
2526
+ };
2527
+ blockTime?: number | undefined | undefined;
2528
+ contracts: {
2529
+ readonly multicall3: {
2530
+ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
2531
+ readonly blockCreated: 3127388;
2532
+ };
2533
+ };
2534
+ ensTlds?: readonly string[] | undefined;
2535
+ id: 80002;
2536
+ name: "Polygon Amoy";
2537
+ nativeCurrency: {
2538
+ readonly name: "POL";
2539
+ readonly symbol: "POL";
2540
+ readonly decimals: 18;
2541
+ };
2542
+ experimental_preconfirmationTime?: number | undefined | undefined;
2543
+ rpcUrls: {
2544
+ readonly default: {
2545
+ readonly http: readonly ["https://rpc-amoy.polygon.technology"];
2546
+ };
2547
+ };
2548
+ sourceId?: number | undefined | undefined;
2549
+ testnet: true;
2550
+ custom?: Record<string, unknown> | undefined;
2551
+ fees?: viem.ChainFees<undefined> | undefined;
2552
+ formatters?: undefined;
2553
+ serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
2554
+ } | {
2555
+ blockExplorers: {
2556
+ readonly default: {
2557
+ readonly name: "Basescan";
2558
+ readonly url: "https://basescan.org";
2559
+ readonly apiUrl: "https://api.basescan.org/api";
2560
+ };
2561
+ };
2562
+ blockTime: 2000;
2563
+ contracts: {
2564
+ readonly disputeGameFactory: {
2565
+ readonly 1: {
2566
+ readonly address: "0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e";
2567
+ };
2568
+ };
2569
+ readonly l2OutputOracle: {
2570
+ readonly 1: {
2571
+ readonly address: "0x56315b90c40730925ec5485cf004d835058518A0";
2572
+ };
2573
+ };
2574
+ readonly multicall3: {
2575
+ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
2576
+ readonly blockCreated: 5022;
2577
+ };
2578
+ readonly portal: {
2579
+ readonly 1: {
2580
+ readonly address: "0x49048044D57e1C92A77f79988d21Fa8fAF74E97e";
2581
+ readonly blockCreated: 17482143;
2582
+ };
2583
+ };
2584
+ readonly l1StandardBridge: {
2585
+ readonly 1: {
2586
+ readonly address: "0x3154Cf16ccdb4C6d922629664174b904d80F2C35";
2587
+ readonly blockCreated: 17482143;
2588
+ };
2589
+ };
2590
+ readonly gasPriceOracle: {
2591
+ readonly address: "0x420000000000000000000000000000000000000F";
2592
+ };
2593
+ readonly l1Block: {
2594
+ readonly address: "0x4200000000000000000000000000000000000015";
2595
+ };
2596
+ readonly l2CrossDomainMessenger: {
2597
+ readonly address: "0x4200000000000000000000000000000000000007";
2598
+ };
2599
+ readonly l2Erc721Bridge: {
2600
+ readonly address: "0x4200000000000000000000000000000000000014";
2601
+ };
2602
+ readonly l2StandardBridge: {
2603
+ readonly address: "0x4200000000000000000000000000000000000010";
2604
+ };
2605
+ readonly l2ToL1MessagePasser: {
2606
+ readonly address: "0x4200000000000000000000000000000000000016";
2607
+ };
2608
+ };
2609
+ ensTlds?: readonly string[] | undefined;
2610
+ id: 8453;
2611
+ name: "Base";
2612
+ nativeCurrency: {
2613
+ readonly name: "Ether";
2614
+ readonly symbol: "ETH";
2615
+ readonly decimals: 18;
2616
+ };
2617
+ experimental_preconfirmationTime?: number | undefined | undefined;
2618
+ rpcUrls: {
2619
+ readonly default: {
2620
+ readonly http: readonly ["https://mainnet.base.org"];
2621
+ };
2622
+ };
2623
+ sourceId: 1;
2624
+ testnet?: boolean | undefined | undefined;
2625
+ custom?: Record<string, unknown> | undefined;
2626
+ fees?: viem.ChainFees<undefined> | undefined;
2627
+ formatters: {
2628
+ readonly block: {
2629
+ exclude: [] | undefined;
2630
+ format: (args: viem_chains.OpStackRpcBlock, action?: string | undefined) => {
2631
+ baseFeePerGas: bigint | null;
2632
+ blobGasUsed: bigint;
2633
+ difficulty: bigint;
2634
+ excessBlobGas: bigint;
2635
+ extraData: viem.Hex;
2636
+ gasLimit: bigint;
2637
+ gasUsed: bigint;
2638
+ hash: `0x${string}` | null;
2639
+ logsBloom: `0x${string}` | null;
2640
+ miner: viem.Address;
2641
+ mixHash: viem.Hash;
2642
+ nonce: `0x${string}` | null;
2643
+ number: bigint | null;
2644
+ parentBeaconBlockRoot?: `0x${string}` | undefined;
2645
+ parentHash: viem.Hash;
2646
+ receiptsRoot: viem.Hex;
2647
+ sealFields: viem.Hex[];
2648
+ sha3Uncles: viem.Hash;
2649
+ size: bigint;
2650
+ stateRoot: viem.Hash;
2651
+ timestamp: bigint;
2652
+ totalDifficulty: bigint | null;
2653
+ transactions: `0x${string}`[] | viem_chains.OpStackTransaction<boolean>[];
2654
+ transactionsRoot: viem.Hash;
2655
+ uncles: viem.Hash[];
2656
+ withdrawals?: viem.Withdrawal[] | undefined | undefined;
2657
+ withdrawalsRoot?: `0x${string}` | undefined;
2658
+ } & {};
2659
+ type: "block";
2660
+ };
2661
+ readonly transaction: {
2662
+ exclude: [] | undefined;
2663
+ format: (args: viem_chains.OpStackRpcTransaction, action?: string | undefined) => ({
2664
+ blockHash: `0x${string}` | null;
2665
+ blockNumber: bigint | null;
2666
+ from: viem.Address;
2667
+ gas: bigint;
2668
+ hash: viem.Hash;
2669
+ input: viem.Hex;
2670
+ nonce: number;
2671
+ r: viem.Hex;
2672
+ s: viem.Hex;
2673
+ to: viem.Address | null;
2674
+ transactionIndex: number | null;
2675
+ typeHex: viem.Hex | null;
2676
+ v: bigint;
2677
+ value: bigint;
2678
+ yParity: number;
2679
+ gasPrice?: undefined | undefined;
2680
+ maxFeePerBlobGas?: undefined | undefined;
2681
+ maxFeePerGas: bigint;
2682
+ maxPriorityFeePerGas: bigint;
2683
+ isSystemTx?: boolean;
2684
+ mint?: bigint | undefined | undefined;
2685
+ sourceHash: viem.Hex;
2686
+ type: "deposit";
2687
+ } | {
2688
+ r: viem.Hex;
2689
+ s: viem.Hex;
2690
+ v: bigint;
2691
+ value: bigint;
2692
+ gas: bigint;
2693
+ to: viem.Address | null;
2694
+ from: viem.Address;
2695
+ nonce: number;
2696
+ blockHash: `0x${string}` | null;
2697
+ blockNumber: bigint | null;
2698
+ transactionIndex: number | null;
2699
+ hash: viem.Hash;
2700
+ input: viem.Hex;
2701
+ typeHex: viem.Hex | null;
2702
+ accessList?: undefined | undefined;
2703
+ authorizationList?: undefined | undefined;
2704
+ blobVersionedHashes?: undefined | undefined;
2705
+ chainId?: number | undefined;
2706
+ yParity?: undefined | undefined;
2707
+ type: "legacy";
2708
+ gasPrice: bigint;
2709
+ maxFeePerBlobGas?: undefined | undefined;
2710
+ maxFeePerGas?: undefined | undefined;
2711
+ maxPriorityFeePerGas?: undefined | undefined;
2712
+ isSystemTx?: undefined | undefined;
2713
+ mint?: undefined | undefined;
2714
+ sourceHash?: undefined | undefined;
2715
+ } | {
2716
+ blockHash: `0x${string}` | null;
2717
+ blockNumber: bigint | null;
2718
+ from: viem.Address;
2719
+ gas: bigint;
2720
+ hash: viem.Hash;
2721
+ input: viem.Hex;
2722
+ nonce: number;
2723
+ r: viem.Hex;
2724
+ s: viem.Hex;
2725
+ to: viem.Address | null;
2726
+ transactionIndex: number | null;
2727
+ typeHex: viem.Hex | null;
2728
+ v: bigint;
2729
+ value: bigint;
2730
+ yParity: number;
2731
+ accessList: viem.AccessList;
2732
+ authorizationList?: undefined | undefined;
2733
+ blobVersionedHashes?: undefined | undefined;
2734
+ chainId: number;
2735
+ type: "eip2930";
2736
+ gasPrice: bigint;
2737
+ maxFeePerBlobGas?: undefined | undefined;
2738
+ maxFeePerGas?: undefined | undefined;
2739
+ maxPriorityFeePerGas?: undefined | undefined;
2740
+ isSystemTx?: undefined | undefined;
2741
+ mint?: undefined | undefined;
2742
+ sourceHash?: undefined | undefined;
2743
+ } | {
2744
+ blockHash: `0x${string}` | null;
2745
+ blockNumber: bigint | null;
2746
+ from: viem.Address;
2747
+ gas: bigint;
2748
+ hash: viem.Hash;
2749
+ input: viem.Hex;
2750
+ nonce: number;
2751
+ r: viem.Hex;
2752
+ s: viem.Hex;
2753
+ to: viem.Address | null;
2754
+ transactionIndex: number | null;
2755
+ typeHex: viem.Hex | null;
2756
+ v: bigint;
2757
+ value: bigint;
2758
+ yParity: number;
2759
+ accessList: viem.AccessList;
2760
+ authorizationList?: undefined | undefined;
2761
+ blobVersionedHashes?: undefined | undefined;
2762
+ chainId: number;
2763
+ type: "eip1559";
2764
+ gasPrice?: undefined | undefined;
2765
+ maxFeePerBlobGas?: undefined | undefined;
2766
+ maxFeePerGas: bigint;
2767
+ maxPriorityFeePerGas: bigint;
2768
+ isSystemTx?: undefined | undefined;
2769
+ mint?: undefined | undefined;
2770
+ sourceHash?: undefined | undefined;
2771
+ } | {
2772
+ blockHash: `0x${string}` | null;
2773
+ blockNumber: bigint | null;
2774
+ from: viem.Address;
2775
+ gas: bigint;
2776
+ hash: viem.Hash;
2777
+ input: viem.Hex;
2778
+ nonce: number;
2779
+ r: viem.Hex;
2780
+ s: viem.Hex;
2781
+ to: viem.Address | null;
2782
+ transactionIndex: number | null;
2783
+ typeHex: viem.Hex | null;
2784
+ v: bigint;
2785
+ value: bigint;
2786
+ yParity: number;
2787
+ accessList: viem.AccessList;
2788
+ authorizationList?: undefined | undefined;
2789
+ blobVersionedHashes: readonly viem.Hex[];
2790
+ chainId: number;
2791
+ type: "eip4844";
2792
+ gasPrice?: undefined | undefined;
2793
+ maxFeePerBlobGas: bigint;
2794
+ maxFeePerGas: bigint;
2795
+ maxPriorityFeePerGas: bigint;
2796
+ isSystemTx?: undefined | undefined;
2797
+ mint?: undefined | undefined;
2798
+ sourceHash?: undefined | undefined;
2799
+ } | {
2800
+ blockHash: `0x${string}` | null;
2801
+ blockNumber: bigint | null;
2802
+ from: viem.Address;
2803
+ gas: bigint;
2804
+ hash: viem.Hash;
2805
+ input: viem.Hex;
2806
+ nonce: number;
2807
+ r: viem.Hex;
2808
+ s: viem.Hex;
2809
+ to: viem.Address | null;
2810
+ transactionIndex: number | null;
2811
+ typeHex: viem.Hex | null;
2812
+ v: bigint;
2813
+ value: bigint;
2814
+ yParity: number;
2815
+ accessList: viem.AccessList;
2816
+ authorizationList: viem.SignedAuthorizationList;
2817
+ blobVersionedHashes?: undefined | undefined;
2818
+ chainId: number;
2819
+ type: "eip7702";
2820
+ gasPrice?: undefined | undefined;
2821
+ maxFeePerBlobGas?: undefined | undefined;
2822
+ maxFeePerGas: bigint;
2823
+ maxPriorityFeePerGas: bigint;
2824
+ isSystemTx?: undefined | undefined;
2825
+ mint?: undefined | undefined;
2826
+ sourceHash?: undefined | undefined;
2827
+ }) & {};
2828
+ type: "transaction";
2829
+ };
2830
+ readonly transactionReceipt: {
2831
+ exclude: [] | undefined;
2832
+ format: (args: viem_chains.OpStackRpcTransactionReceipt, action?: string | undefined) => {
2833
+ blobGasPrice?: bigint | undefined;
2834
+ blobGasUsed?: bigint | undefined;
2835
+ blockHash: viem.Hash;
2836
+ blockNumber: bigint;
2837
+ contractAddress: viem.Address | null | undefined;
2838
+ cumulativeGasUsed: bigint;
2839
+ effectiveGasPrice: bigint;
2840
+ from: viem.Address;
2841
+ gasUsed: bigint;
2842
+ logs: viem.Log<bigint, number, false>[];
2843
+ logsBloom: viem.Hex;
2844
+ root?: `0x${string}` | undefined;
2845
+ status: "success" | "reverted";
2846
+ to: viem.Address | null;
2847
+ transactionHash: viem.Hash;
2848
+ transactionIndex: number;
2849
+ type: viem.TransactionType;
2850
+ l1GasPrice: bigint | null;
2851
+ l1GasUsed: bigint | null;
2852
+ l1Fee: bigint | null;
2853
+ l1FeeScalar: number | null;
2854
+ } & {};
2855
+ type: "transactionReceipt";
2856
+ };
2857
+ };
2858
+ serializers: {
2859
+ readonly transaction: typeof viem_chains.serializeTransactionOpStack;
2860
+ };
2861
+ } | {
2862
+ blockExplorers: {
2863
+ readonly default: {
2864
+ readonly name: "Basescan";
2865
+ readonly url: "https://sepolia.basescan.org";
2866
+ readonly apiUrl: "https://api-sepolia.basescan.org/api";
2867
+ };
2868
+ };
2869
+ blockTime: 2000;
2870
+ contracts: {
2871
+ readonly disputeGameFactory: {
2872
+ readonly 11155111: {
2873
+ readonly address: "0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1";
2874
+ };
2875
+ };
2876
+ readonly l2OutputOracle: {
2877
+ readonly 11155111: {
2878
+ readonly address: "0x84457ca9D0163FbC4bbfe4Dfbb20ba46e48DF254";
2879
+ };
2880
+ };
2881
+ readonly portal: {
2882
+ readonly 11155111: {
2883
+ readonly address: "0x49f53e41452c74589e85ca1677426ba426459e85";
2884
+ readonly blockCreated: 4446677;
2885
+ };
2886
+ };
2887
+ readonly l1StandardBridge: {
2888
+ readonly 11155111: {
2889
+ readonly address: "0xfd0Bf71F60660E2f608ed56e1659C450eB113120";
2890
+ readonly blockCreated: 4446677;
2891
+ };
2892
+ };
2893
+ readonly multicall3: {
2894
+ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
2895
+ readonly blockCreated: 1059647;
2896
+ };
2897
+ readonly gasPriceOracle: {
2898
+ readonly address: "0x420000000000000000000000000000000000000F";
2899
+ };
2900
+ readonly l1Block: {
2901
+ readonly address: "0x4200000000000000000000000000000000000015";
2902
+ };
2903
+ readonly l2CrossDomainMessenger: {
2904
+ readonly address: "0x4200000000000000000000000000000000000007";
2905
+ };
2906
+ readonly l2Erc721Bridge: {
2907
+ readonly address: "0x4200000000000000000000000000000000000014";
2908
+ };
2909
+ readonly l2StandardBridge: {
2910
+ readonly address: "0x4200000000000000000000000000000000000010";
2911
+ };
2912
+ readonly l2ToL1MessagePasser: {
2913
+ readonly address: "0x4200000000000000000000000000000000000016";
2914
+ };
2915
+ };
2916
+ ensTlds?: readonly string[] | undefined;
2917
+ id: 84532;
2918
+ name: "Base Sepolia";
2919
+ nativeCurrency: {
2920
+ readonly name: "Sepolia Ether";
2921
+ readonly symbol: "ETH";
2922
+ readonly decimals: 18;
2923
+ };
2924
+ experimental_preconfirmationTime?: number | undefined | undefined;
2925
+ rpcUrls: {
2926
+ readonly default: {
2927
+ readonly http: readonly ["https://sepolia.base.org"];
2928
+ };
2929
+ };
2930
+ sourceId: 11155111;
2931
+ testnet: true;
2932
+ custom?: Record<string, unknown> | undefined;
2933
+ fees?: viem.ChainFees<undefined> | undefined;
2934
+ formatters: {
2935
+ readonly block: {
2936
+ exclude: [] | undefined;
2937
+ format: (args: viem_chains.OpStackRpcBlock, action?: string | undefined) => {
2938
+ baseFeePerGas: bigint | null;
2939
+ blobGasUsed: bigint;
2940
+ difficulty: bigint;
2941
+ excessBlobGas: bigint;
2942
+ extraData: viem.Hex;
2943
+ gasLimit: bigint;
2944
+ gasUsed: bigint;
2945
+ hash: `0x${string}` | null;
2946
+ logsBloom: `0x${string}` | null;
2947
+ miner: viem.Address;
2948
+ mixHash: viem.Hash;
2949
+ nonce: `0x${string}` | null;
2950
+ number: bigint | null;
2951
+ parentBeaconBlockRoot?: `0x${string}` | undefined;
2952
+ parentHash: viem.Hash;
2953
+ receiptsRoot: viem.Hex;
2954
+ sealFields: viem.Hex[];
2955
+ sha3Uncles: viem.Hash;
2956
+ size: bigint;
2957
+ stateRoot: viem.Hash;
2958
+ timestamp: bigint;
2959
+ totalDifficulty: bigint | null;
2960
+ transactions: `0x${string}`[] | viem_chains.OpStackTransaction<boolean>[];
2961
+ transactionsRoot: viem.Hash;
2962
+ uncles: viem.Hash[];
2963
+ withdrawals?: viem.Withdrawal[] | undefined | undefined;
2964
+ withdrawalsRoot?: `0x${string}` | undefined;
2965
+ } & {};
2966
+ type: "block";
2967
+ };
2968
+ readonly transaction: {
2969
+ exclude: [] | undefined;
2970
+ format: (args: viem_chains.OpStackRpcTransaction, action?: string | undefined) => ({
2971
+ blockHash: `0x${string}` | null;
2972
+ blockNumber: bigint | null;
2973
+ from: viem.Address;
2974
+ gas: bigint;
2975
+ hash: viem.Hash;
2976
+ input: viem.Hex;
2977
+ nonce: number;
2978
+ r: viem.Hex;
2979
+ s: viem.Hex;
2980
+ to: viem.Address | null;
2981
+ transactionIndex: number | null;
2982
+ typeHex: viem.Hex | null;
2983
+ v: bigint;
2984
+ value: bigint;
2985
+ yParity: number;
2986
+ gasPrice?: undefined | undefined;
2987
+ maxFeePerBlobGas?: undefined | undefined;
2988
+ maxFeePerGas: bigint;
2989
+ maxPriorityFeePerGas: bigint;
2990
+ isSystemTx?: boolean;
2991
+ mint?: bigint | undefined | undefined;
2992
+ sourceHash: viem.Hex;
2993
+ type: "deposit";
2994
+ } | {
2995
+ r: viem.Hex;
2996
+ s: viem.Hex;
2997
+ v: bigint;
2998
+ value: bigint;
2999
+ gas: bigint;
3000
+ to: viem.Address | null;
3001
+ from: viem.Address;
3002
+ nonce: number;
3003
+ blockHash: `0x${string}` | null;
3004
+ blockNumber: bigint | null;
3005
+ transactionIndex: number | null;
3006
+ hash: viem.Hash;
3007
+ input: viem.Hex;
3008
+ typeHex: viem.Hex | null;
3009
+ accessList?: undefined | undefined;
3010
+ authorizationList?: undefined | undefined;
3011
+ blobVersionedHashes?: undefined | undefined;
3012
+ chainId?: number | undefined;
3013
+ yParity?: undefined | undefined;
3014
+ type: "legacy";
3015
+ gasPrice: bigint;
3016
+ maxFeePerBlobGas?: undefined | undefined;
3017
+ maxFeePerGas?: undefined | undefined;
3018
+ maxPriorityFeePerGas?: undefined | undefined;
3019
+ isSystemTx?: undefined | undefined;
3020
+ mint?: undefined | undefined;
3021
+ sourceHash?: undefined | undefined;
3022
+ } | {
3023
+ blockHash: `0x${string}` | null;
3024
+ blockNumber: bigint | null;
3025
+ from: viem.Address;
3026
+ gas: bigint;
3027
+ hash: viem.Hash;
3028
+ input: viem.Hex;
3029
+ nonce: number;
3030
+ r: viem.Hex;
3031
+ s: viem.Hex;
3032
+ to: viem.Address | null;
3033
+ transactionIndex: number | null;
3034
+ typeHex: viem.Hex | null;
3035
+ v: bigint;
3036
+ value: bigint;
3037
+ yParity: number;
3038
+ accessList: viem.AccessList;
3039
+ authorizationList?: undefined | undefined;
3040
+ blobVersionedHashes?: undefined | undefined;
3041
+ chainId: number;
3042
+ type: "eip2930";
3043
+ gasPrice: bigint;
3044
+ maxFeePerBlobGas?: undefined | undefined;
3045
+ maxFeePerGas?: undefined | undefined;
3046
+ maxPriorityFeePerGas?: undefined | undefined;
3047
+ isSystemTx?: undefined | undefined;
3048
+ mint?: undefined | undefined;
3049
+ sourceHash?: undefined | undefined;
3050
+ } | {
3051
+ blockHash: `0x${string}` | null;
3052
+ blockNumber: bigint | null;
3053
+ from: viem.Address;
3054
+ gas: bigint;
3055
+ hash: viem.Hash;
3056
+ input: viem.Hex;
3057
+ nonce: number;
3058
+ r: viem.Hex;
3059
+ s: viem.Hex;
3060
+ to: viem.Address | null;
3061
+ transactionIndex: number | null;
3062
+ typeHex: viem.Hex | null;
3063
+ v: bigint;
3064
+ value: bigint;
3065
+ yParity: number;
3066
+ accessList: viem.AccessList;
3067
+ authorizationList?: undefined | undefined;
3068
+ blobVersionedHashes?: undefined | undefined;
3069
+ chainId: number;
3070
+ type: "eip1559";
3071
+ gasPrice?: undefined | undefined;
3072
+ maxFeePerBlobGas?: undefined | undefined;
3073
+ maxFeePerGas: bigint;
3074
+ maxPriorityFeePerGas: bigint;
3075
+ isSystemTx?: undefined | undefined;
3076
+ mint?: undefined | undefined;
3077
+ sourceHash?: undefined | undefined;
3078
+ } | {
3079
+ blockHash: `0x${string}` | null;
3080
+ blockNumber: bigint | null;
3081
+ from: viem.Address;
3082
+ gas: bigint;
3083
+ hash: viem.Hash;
3084
+ input: viem.Hex;
3085
+ nonce: number;
3086
+ r: viem.Hex;
3087
+ s: viem.Hex;
3088
+ to: viem.Address | null;
3089
+ transactionIndex: number | null;
3090
+ typeHex: viem.Hex | null;
3091
+ v: bigint;
3092
+ value: bigint;
3093
+ yParity: number;
3094
+ accessList: viem.AccessList;
3095
+ authorizationList?: undefined | undefined;
3096
+ blobVersionedHashes: readonly viem.Hex[];
3097
+ chainId: number;
3098
+ type: "eip4844";
3099
+ gasPrice?: undefined | undefined;
3100
+ maxFeePerBlobGas: bigint;
3101
+ maxFeePerGas: bigint;
3102
+ maxPriorityFeePerGas: bigint;
3103
+ isSystemTx?: undefined | undefined;
3104
+ mint?: undefined | undefined;
3105
+ sourceHash?: undefined | undefined;
3106
+ } | {
3107
+ blockHash: `0x${string}` | null;
3108
+ blockNumber: bigint | null;
3109
+ from: viem.Address;
3110
+ gas: bigint;
3111
+ hash: viem.Hash;
3112
+ input: viem.Hex;
3113
+ nonce: number;
3114
+ r: viem.Hex;
3115
+ s: viem.Hex;
3116
+ to: viem.Address | null;
3117
+ transactionIndex: number | null;
3118
+ typeHex: viem.Hex | null;
3119
+ v: bigint;
3120
+ value: bigint;
3121
+ yParity: number;
3122
+ accessList: viem.AccessList;
3123
+ authorizationList: viem.SignedAuthorizationList;
3124
+ blobVersionedHashes?: undefined | undefined;
3125
+ chainId: number;
3126
+ type: "eip7702";
3127
+ gasPrice?: undefined | undefined;
3128
+ maxFeePerBlobGas?: undefined | undefined;
3129
+ maxFeePerGas: bigint;
3130
+ maxPriorityFeePerGas: bigint;
3131
+ isSystemTx?: undefined | undefined;
3132
+ mint?: undefined | undefined;
3133
+ sourceHash?: undefined | undefined;
3134
+ }) & {};
3135
+ type: "transaction";
3136
+ };
3137
+ readonly transactionReceipt: {
3138
+ exclude: [] | undefined;
3139
+ format: (args: viem_chains.OpStackRpcTransactionReceipt, action?: string | undefined) => {
3140
+ blobGasPrice?: bigint | undefined;
3141
+ blobGasUsed?: bigint | undefined;
3142
+ blockHash: viem.Hash;
3143
+ blockNumber: bigint;
3144
+ contractAddress: viem.Address | null | undefined;
3145
+ cumulativeGasUsed: bigint;
3146
+ effectiveGasPrice: bigint;
3147
+ from: viem.Address;
3148
+ gasUsed: bigint;
3149
+ logs: viem.Log<bigint, number, false>[];
3150
+ logsBloom: viem.Hex;
3151
+ root?: `0x${string}` | undefined;
3152
+ status: "success" | "reverted";
3153
+ to: viem.Address | null;
3154
+ transactionHash: viem.Hash;
3155
+ transactionIndex: number;
3156
+ type: viem.TransactionType;
3157
+ l1GasPrice: bigint | null;
3158
+ l1GasUsed: bigint | null;
3159
+ l1Fee: bigint | null;
3160
+ l1FeeScalar: number | null;
3161
+ } & {};
3162
+ type: "transactionReceipt";
3163
+ };
3164
+ };
3165
+ serializers: {
3166
+ readonly transaction: typeof viem_chains.serializeTransactionOpStack;
3167
+ };
3168
+ readonly network: "base-sepolia";
3169
+ } | undefined;
3170
+
3171
+ /**
3172
+ * Wallet Adapter Interface
3173
+ *
3174
+ * 멀티체인 지갑을 지원하기 위한 추상화 인터페이스
3175
+ * EVM (wagmi) 와 Tron (tronweb) 을 통일된 인터페이스로 사용
3176
+ */
3177
+ declare enum WalletType {
3178
+ EVM = "evm",
3179
+ TRON = "tron"
3180
+ }
3181
+ declare enum ChainType {
3182
+ EVM = "evm",
3183
+ TRON = "tron"
3184
+ }
3185
+ interface ConnectorInfo {
3186
+ id: string;
3187
+ name: string;
3188
+ icon?: string;
3189
+ }
3190
+ interface WalletBalance {
3191
+ value: bigint;
3192
+ decimals: number;
3193
+ symbol: string;
3194
+ formatted: string;
3195
+ }
3196
+ interface WalletConnectionInfo {
3197
+ address: string;
3198
+ chainId: number | string;
3199
+ chainType: ChainType;
3200
+ isConnected: boolean;
3201
+ connector?: ConnectorInfo;
3202
+ }
3203
+ interface PaymentTransactionParams {
3204
+ to: string;
3205
+ value: bigint;
3206
+ chainId: number | string;
3207
+ coinId: string;
3208
+ tokenAddress?: string;
3209
+ decimals?: number;
3210
+ }
3211
+ interface TransactionResultInfo {
3212
+ hash: string;
3213
+ success: boolean;
3214
+ error?: string;
3215
+ }
3216
+ /**
3217
+ * IWalletAdapter
3218
+ *
3219
+ * 모든 지갑 어댑터가 구현해야 하는 인터페이스
3220
+ */
3221
+ interface IWalletAdapter {
3222
+ readonly type: WalletType;
3223
+ readonly chainType: ChainType;
3224
+ isConnected(): boolean;
3225
+ getAddress(): string | null;
3226
+ getChainId(): number | string | null;
3227
+ getBalance(): Promise<WalletBalance | null>;
3228
+ getConnectionInfo(): WalletConnectionInfo | null;
3229
+ connect(connectorId?: string): Promise<void>;
3230
+ disconnect(): Promise<void>;
3231
+ switchChain(chainId: number | string): Promise<void>;
3232
+ sendPayment(tx: PaymentTransactionParams): Promise<TransactionResultInfo>;
3233
+ isChainSupported(chainId: number | string): boolean;
3234
+ getChainType(chainId: number | string): ChainType;
3235
+ getConnectors(): ConnectorInfo[];
3236
+ checkWalletInstalled(connectorId: string): boolean;
3237
+ }
3238
+
3239
+ /**
3240
+ * EVM Wallet Adapter
3241
+ *
3242
+ * wagmi를 사용한 EVM 체인 지갑 어댑터
3243
+ * Ethereum, Polygon 등 EVM 호환 체인 지원
3244
+ */
3245
+ declare class EvmWalletAdapter implements IWalletAdapter {
3246
+ readonly type: WalletType;
3247
+ readonly chainType: ChainType;
3248
+ private config;
3249
+ constructor(config: Config$2);
3250
+ isConnected(): boolean;
3251
+ getAddress(): string | null;
3252
+ getChainId(): number | null;
3253
+ getBalance(): Promise<WalletBalance | null>;
3254
+ getConnectionInfo(): WalletConnectionInfo | null;
3255
+ connect(connectorId?: string): Promise<void>;
3256
+ disconnect(): Promise<void>;
3257
+ switchChain(chainId: number | string): Promise<void>;
3258
+ sendPayment(tx: PaymentTransactionParams): Promise<TransactionResultInfo>;
3259
+ isChainSupported(chainId: number | string): boolean;
3260
+ getChainType(_chainId: number | string): ChainType;
3261
+ getConnectors(): ConnectorInfo[];
3262
+ checkWalletInstalled(connectorId: string): boolean;
3263
+ }
3264
+
3265
+ type TronWeb = any;
3266
+ declare global {
3267
+ interface Window {
3268
+ tronLink?: {
3269
+ ready: boolean;
3270
+ isTronLink?: boolean;
3271
+ tronWeb?: TronWeb;
3272
+ request(args: {
3273
+ method: string;
3274
+ params?: any[];
3275
+ }): Promise<any>;
3276
+ };
3277
+ tronWeb?: TronWeb;
3278
+ }
3279
+ }
3280
+ declare const TRON_NETWORKS: {
3281
+ readonly mainnet: 728126428;
3282
+ readonly shasta: 2494104990;
3283
+ readonly nile: 3448148188;
3284
+ };
3285
+ /**
3286
+ * Tron Wallet Adapter
3287
+ *
3288
+ * TronWeb을 사용한 Tron 체인 지갑 어댑터
3289
+ * TronLink 등의 지갑 지원
3290
+ */
3291
+ declare class TronWalletAdapter implements IWalletAdapter {
3292
+ readonly type: WalletType;
3293
+ readonly chainType: ChainType;
3294
+ private tronWeb;
3295
+ private currentAddress;
3296
+ private currentNetwork;
3297
+ private initialized;
3298
+ private eventListenerRegistered;
3299
+ constructor();
3300
+ /**
3301
+ * Trust Wallet 설치 확인
3302
+ */
3303
+ private hasTrustWallet;
3304
+ /**
3305
+ * TronLink 전용 감지 (Trust Wallet보다 우선)
3306
+ * ⚠️ CRITICAL: 이 메서드는 connect() 시점에만 호출되어야 함
3307
+ */
3308
+ private isTronLinkInstalled;
3309
+ /**
3310
+ * Tron 지갑 사용 가능 여부 확인
3311
+ * ⚠️ CRITICAL: 이 메서드는 connect() 시점에만 호출되어야 함
3312
+ */
3313
+ private isTronWalletAvailable;
3314
+ /**
3315
+ * 현재 사용 중인 wallet 타입 반환
3316
+ */
3317
+ private getWalletType;
3318
+ private handleTronLinkMessage;
3319
+ /**
3320
+ * 이벤트 리스너 등록 (connect 호출 시에만)
3321
+ */
3322
+ private registerEventListener;
3323
+ /**
3324
+ * 이벤트 리스너 제거
3325
+ */
3326
+ private removeEventListener;
3327
+ private detectNetwork;
3328
+ private initializeTronWeb;
3329
+ isConnected(): boolean;
3330
+ getAddress(): string | null;
3331
+ getChainId(): number | string | null;
3332
+ getBalance(): Promise<WalletBalance | null>;
3333
+ getConnectionInfo(): WalletConnectionInfo | null;
3334
+ connect(_connectorId?: string): Promise<void>;
3335
+ disconnect(): Promise<void>;
3336
+ switchChain(chainId: number | string): Promise<void>;
3337
+ sendPayment(tx: PaymentTransactionParams): Promise<TransactionResultInfo>;
3338
+ isChainSupported(chainId: number | string): boolean;
3339
+ getChainType(_chainId: number | string): ChainType;
3340
+ getConnectors(): ConnectorInfo[];
3341
+ checkWalletInstalled(connectorId: string): boolean;
3342
+ }
3343
+
3344
+ /**
3345
+ * Wallet Adapter Factory
3346
+ *
3347
+ * 체인 타입에 따라 적절한 지갑 어댑터를 생성하고 관리
3348
+ */
3349
+ declare class WalletAdapterFactory {
3350
+ private evmAdapter;
3351
+ private tronAdapter;
3352
+ private isEvmChainId;
3353
+ private isTronNetwork;
3354
+ private isEvmAddress;
3355
+ private isTronAddress;
3356
+ /**
3357
+ * EVM 어댑터 초기화
3358
+ */
3359
+ initializeEvmAdapter(wagmiConfig: Config$1): void;
3360
+ /**
3361
+ * Tron 어댑터 초기화
3362
+ */
3363
+ initializeTronAdapter(): void;
3364
+ /**
3365
+ * 어댑터 타입으로 어댑터 가져오기
3366
+ */
3367
+ getAdapter(type: WalletType): IWalletAdapter | null;
3368
+ /**
3369
+ * 체인 ID로 적절한 어댑터 가져오기
3370
+ */
3371
+ getAdapterForChain(chainId: number | string): IWalletAdapter | null;
3372
+ /**
3373
+ * 입금 주소 형식으로 적절한 어댑터 가져오기
3374
+ * - 0x로 시작 → EVM adapter
3375
+ * - T로 시작 → Tron adapter
3376
+ */
3377
+ getAdapterByAddress(address: string): IWalletAdapter | null;
3378
+ /**
3379
+ * 주소로부터 체인 타입 결정
3380
+ */
3381
+ getChainTypeByAddress(address: string): ChainType | null;
3382
+ /**
3383
+ * 체인 타입 결정
3384
+ */
3385
+ getChainType(chainId: number | string): ChainType;
3386
+ /**
3387
+ * 모든 어댑터 가져오기
3388
+ */
3389
+ getAllAdapters(): IWalletAdapter[];
3390
+ /**
3391
+ * 연결된 어댑터 가져오기
3392
+ */
3393
+ getConnectedAdapter(): IWalletAdapter | null;
3394
+ }
3395
+
3396
+ interface WalletContextType {
3397
+ factory: WalletAdapterFactory;
3398
+ }
3399
+ declare const useWalletContext: () => WalletContextType;
3400
+
3401
+ interface WalletInfo$1 {
3402
+ walletId: string;
3403
+ chain: string;
3404
+ address: string;
3405
+ walletSect: string;
3406
+ balance: number | null;
3407
+ coin: string | null;
3408
+ contractAddr: string;
3409
+ digit: number;
3410
+ }
3411
+ interface Order {
3412
+ orderId: string;
3413
+ expireDt: string;
3414
+ orderStat: string;
3415
+ orderUrl: string;
3416
+ ercWalletId: string | null;
3417
+ redirectUrl: string;
3418
+ webhookUrl: string;
3419
+ coin: string;
3420
+ chain: string;
3421
+ productId: string;
3422
+ price: number;
3423
+ walletInfo: WalletInfo$1[];
3424
+ }
3425
+ interface OrderCreateRequest {
3426
+ productId: string;
3427
+ redirectUrl: string;
3428
+ webhookUrl: string;
3429
+ }
3430
+ interface OrderDetailResponse {
3431
+ orderId: string;
3432
+ expireDt: string;
3433
+ orderStat: string;
3434
+ orderUrl: string;
3435
+ ercWalletId: string | null;
3436
+ redirectUrl: string;
3437
+ webhookUrl: string;
3438
+ coin: string;
3439
+ chain: string;
3440
+ productId: string;
3441
+ price: number;
3442
+ walletInfo: WalletInfo$1[];
3443
+ }
3444
+ interface WebhookPayload {
3445
+ event: 'payment.completed' | 'payment.failed' | 'payment.expired';
3446
+ orderId: string;
3447
+ orderStat: string;
3448
+ price: number;
3449
+ coin: string;
3450
+ chain: string;
3451
+ transactionHash?: string;
3452
+ timestamp: string;
3453
+ }
3454
+
3455
+ interface CoinChain {
3456
+ chainId: string;
3457
+ name: string;
3458
+ rpcUrls: string[];
3459
+ coinId: string;
3460
+ coinName: string;
3461
+ coinDigit: number;
3462
+ coinContract: string;
3463
+ }
3464
+ interface CoinChainResponse {
3465
+ isSuccess: boolean;
3466
+ message: string;
3467
+ code: number;
3468
+ output: {
3469
+ chains: CoinChain[];
3470
+ totalCount: number;
3471
+ };
3472
+ }
3473
+
3474
+ interface PaymentMethod$1 {
3475
+ id: string;
3476
+ name: string;
3477
+ coinId: string;
3478
+ chainId: string;
3479
+ icon?: string;
3480
+ }
3481
+ interface PaymentSession {
3482
+ publicOrderId: string;
3483
+ amount: number;
3484
+ coinId: string;
3485
+ chainId: string;
3486
+ walletAddress: string;
3487
+ qrCode?: string;
3488
+ expiresAt: string;
3489
+ }
3490
+ interface PaymentStatus {
3491
+ publicOrderId: string;
3492
+ status: 'pending' | 'processing' | 'completed' | 'failed' | 'expired';
3493
+ transactionHash?: string;
3494
+ confirmations?: number;
3495
+ updatedAt: string;
3496
+ }
3497
+
3498
+ interface WalletInfo {
3499
+ address: Address;
3500
+ chainId: number;
3501
+ isConnected: boolean;
3502
+ connector?: {
3503
+ id: string;
3504
+ name: string;
3505
+ icon?: string;
3506
+ };
3507
+ }
3508
+ interface PaymentTransaction {
3509
+ to: Address;
3510
+ value: bigint;
3511
+ chainId: number;
3512
+ coinId: string;
3513
+ tokenAddress?: Address;
3514
+ decimals?: number;
3515
+ }
3516
+ interface TransactionResult {
3517
+ hash: Address;
3518
+ success: boolean;
3519
+ error?: string;
3520
+ }
3521
+ interface SupportedChain {
3522
+ id: number;
3523
+ name: string;
3524
+ nativeCurrency: {
3525
+ name: string;
3526
+ symbol: string;
3527
+ decimals: number;
3528
+ };
3529
+ rpcUrls: {
3530
+ default: {
3531
+ http: string[];
3532
+ };
3533
+ public: {
3534
+ http: string[];
3535
+ };
3536
+ };
3537
+ blockExplorers?: {
3538
+ default: {
3539
+ name: string;
3540
+ url: string;
3541
+ };
3542
+ };
3543
+ }
3544
+ interface PaymentMethodType {
3545
+ wallet: 'connect';
3546
+ address: 'qr' | 'copy';
3547
+ }
3548
+ interface PayWithWalletParams {
3549
+ productId: string;
3550
+ toAddress: Address;
3551
+ amount: string;
3552
+ coinId: string;
3553
+ chainId: number;
3554
+ metadata?: Record<string, unknown>;
3555
+ }
3556
+ interface PayWithAddressParams {
3557
+ productId: string;
3558
+ metadata?: Record<string, unknown>;
3559
+ }
3560
+
3561
+ interface PaymentProviderProps {
3562
+ baseUrl?: string;
3563
+ paymentDomain?: string;
3564
+ redirectUrl?: string;
3565
+ webhookUrl?: string;
3566
+ environment?: 'production' | 'sandbox';
3567
+ timeout?: number;
3568
+ children: ReactNode;
3569
+ }
3570
+ declare const PaymentContext: React.Context<SDKContext | null>;
3571
+ declare const PaymentProvider: React.FC<PaymentProviderProps>;
3572
+
3573
+ interface PaymentButtonProps {
3574
+ productId: string;
3575
+ metadata?: Record<string, any>;
3576
+ onSuccess?: (order: OrderResponse) => void;
3577
+ onError?: (error: Error) => void;
3578
+ className?: string;
3579
+ disabled?: boolean;
3580
+ children?: ReactNode;
3581
+ }
3582
+ declare const PaymentButton: React.FC<PaymentButtonProps>;
3583
+
3584
+ interface PaymentModalProps {
3585
+ publicOrderId: string;
3586
+ isOpen: boolean;
3587
+ onClose: () => void;
3588
+ onSuccess?: (result: {
3589
+ txHash?: string;
3590
+ publicOrderId: string;
3591
+ }) => void;
3592
+ onError?: (error: string) => void;
3593
+ }
3594
+ declare const PaymentModal: React.FC<PaymentModalProps>;
3595
+
3596
+ interface WalletProviderProps {
3597
+ children: ReactNode;
3598
+ projectId?: string;
3599
+ queryClient?: QueryClient;
3600
+ }
3601
+ declare const WalletProvider: React.FC<WalletProviderProps>;
3602
+
3603
+ interface PayWithWalletProps {
3604
+ toAddress: Address;
3605
+ amount: string;
3606
+ coinId: string;
3607
+ chainId: number;
3608
+ chainInfo: CoinChain;
3609
+ tokenAddress?: Address;
3610
+ decimals?: number;
3611
+ publicOrderId?: string;
3612
+ onSuccess?: (txHash: string) => void;
3613
+ onError?: (error: string) => void;
3614
+ className?: string;
3615
+ children?: React.ReactNode;
3616
+ }
3617
+ declare const PayWithWallet: React.FC<PayWithWalletProps>;
3618
+
3619
+ interface PayWithAddressProps {
3620
+ walletAddress: Address;
3621
+ amount: string;
3622
+ coinId: string;
3623
+ chainId: number;
3624
+ chainInfo: CoinChain;
3625
+ publicOrderId?: string;
3626
+ expiresAt?: string;
3627
+ onCopy?: () => void;
3628
+ className?: string;
3629
+ children?: React.ReactNode;
3630
+ }
3631
+ declare const PayWithAddress: React.FC<PayWithAddressProps>;
3632
+
3633
+ type PaymentMode = 'inline' | 'redirect';
3634
+ type PaymentMethod = 'wallet' | 'address';
3635
+ interface PaymentFlowProps {
3636
+ toAddress: Address;
3637
+ amount: string;
3638
+ coinId: string;
3639
+ chainId: number;
3640
+ tokenAddress?: Address;
3641
+ decimals?: number;
3642
+ publicOrderId?: string;
3643
+ expiresAt?: string;
3644
+ mode?: PaymentMode;
3645
+ defaultMethod?: PaymentMethod;
3646
+ allowMethodSwitch?: boolean;
3647
+ onSuccess?: (result: {
3648
+ txHash?: string;
3649
+ publicOrderId?: string;
3650
+ }) => void;
3651
+ onError?: (error: string) => void;
3652
+ onMethodChange?: (method: PaymentMethod) => void;
3653
+ className?: string;
3654
+ children?: React.ReactNode;
3655
+ }
3656
+ declare const PaymentFlow: React.FC<PaymentFlowProps>;
3657
+
3658
+ interface OrderPaymentProps {
3659
+ publicOrderId: string;
3660
+ onSuccess?: (result: {
3661
+ txHash?: string;
3662
+ publicOrderId: string;
3663
+ }) => void;
3664
+ onError?: (error: string) => void;
3665
+ className?: string;
3666
+ }
3667
+ declare const OrderPayment: React.FC<OrderPaymentProps>;
3668
+
3669
+ interface PaymentQRCodeProps {
3670
+ publicOrderId: string;
3671
+ size?: number;
3672
+ level?: 'L' | 'M' | 'Q' | 'H';
3673
+ includeMargin?: boolean;
3674
+ className?: string;
3675
+ showUrl?: boolean;
3676
+ enableCopy?: boolean;
3677
+ onCopy?: () => void;
3678
+ }
3679
+ /**
3680
+ * PaymentQRCode - Generate QR code for offline payment
3681
+ *
3682
+ * This component generates a QR code that links to your payment domain's order page.
3683
+ * When scanned, users will be redirected to {PAYMENT_DOMAIN}/order/{publicOrderId} where they can complete payment.
3684
+ *
3685
+ * @example
3686
+ * ```tsx
3687
+ * // First create an order, then use the publicOrderId
3688
+ * const order = await createOrder({ productId: "PROD_123" });
3689
+ * <PaymentQRCode
3690
+ * publicOrderId={order.publicOrderId}
3691
+ * size={200}
3692
+ * level="H"
3693
+ * showUrl={true}
3694
+ * enableCopy={true}
3695
+ * />
3696
+ * ```
3697
+ */
3698
+ declare function PaymentQRCode({ publicOrderId, size, level, includeMargin, className, showUrl, enableCopy, onCopy, }: PaymentQRCodeProps): react_jsx_runtime.JSX.Element;
3699
+
3700
+ interface PaymentQRModalProps {
3701
+ isOpen: boolean;
3702
+ onClose: () => void;
3703
+ productId: string;
3704
+ productName?: string;
3705
+ qrSize?: number;
3706
+ className?: string;
3707
+ }
3708
+ /**
3709
+ * PaymentQRModal - Modal component displaying QR code for offline payment
3710
+ *
3711
+ * This modal shows a QR code that users can scan to pay for a product.
3712
+ * Automatically creates an order when opened and displays QR code with {PAYMENT_DOMAIN}/order/{publicOrderId}.
3713
+ *
3714
+ * @example
3715
+ * ```tsx
3716
+ * const [showQR, setShowQR] = useState(false);
3717
+ *
3718
+ * <PaymentQRModal
3719
+ * isOpen={showQR}
3720
+ * onClose={() => setShowQR(false)}
3721
+ * productId="PROD_123"
3722
+ * productName="Coffee"
3723
+ * />
3724
+ * ```
3725
+ */
3726
+ declare function PaymentQRModal({ isOpen, onClose, productId, productName, qrSize, className, }: PaymentQRModalProps): react_jsx_runtime.JSX.Element | null;
3727
+
3728
+ declare const usePayment: () => {
3729
+ createOrder: (params: CreateOrderParams) => Promise<OrderResponse>;
3730
+ isLoading: boolean;
3731
+ error: Error | null;
3732
+ order: OrderResponse | null;
3733
+ errorMessage: string | null;
3734
+ };
3735
+
3736
+ declare const useOrder: (publicOrderId: string | null, options?: {
3737
+ pollingInterval?: number;
3738
+ enablePolling?: boolean;
3739
+ }) => {
3740
+ order: OrderDetailResponse | null;
3741
+ isLoading: boolean;
3742
+ error: Error | null;
3743
+ refetch: () => Promise<void>;
3744
+ };
3745
+
3746
+ declare const useWallet: () => {
3747
+ wallet: WalletInfo | null;
3748
+ address: any;
3749
+ chainId: number | null;
3750
+ isConnected: boolean;
3751
+ balance: WalletBalance | null;
3752
+ connect: (connectorId: string) => Promise<void>;
3753
+ disconnect: () => Promise<void>;
3754
+ connectors: ConnectorInfo[];
3755
+ isConnecting: boolean;
3756
+ switchChain: (chainId: number) => Promise<void>;
3757
+ sendPayment: (tx: PaymentTransaction) => Promise<TransactionResult>;
3758
+ isSending: boolean;
3759
+ isConfirming: boolean;
3760
+ isConfirmed: boolean;
3761
+ txHash: any;
3762
+ checkWalletInstalled: (connectorId: string) => boolean;
3763
+ };
3764
+
3765
+ interface UseWalletAdapterOptions {
3766
+ chainId?: number | string;
3767
+ depositAddress?: string;
3768
+ }
3769
+ /**
3770
+ * useWalletAdapter
3771
+ *
3772
+ * 멀티체인 지갑 관리를 위한 통합 hook
3773
+ * EVM (wagmi) 와 Tron (tronweb) 을 추상화된 인터페이스로 사용
3774
+ *
3775
+ * @param options - chainId 또는 depositAddress로 어댑터 선택
3776
+ * - chainId: 체인 ID로 어댑터 선택
3777
+ * - depositAddress: 입금 주소 형식으로 어댑터 자동 선택 (0x→EVM, T→Tron)
3778
+ */
3779
+ declare const useWalletAdapter: (options?: UseWalletAdapterOptions | number | string) => {
3780
+ wallet: WalletConnectionInfo | null;
3781
+ address: string | null;
3782
+ chainId: string | number | null;
3783
+ chainType: ChainType | null;
3784
+ isConnected: boolean;
3785
+ balance: WalletBalance | null;
3786
+ activeAdapter: IWalletAdapter | null;
3787
+ adapterType: WalletType | null;
3788
+ connect: (walletType: WalletType, connectorId?: string) => Promise<void>;
3789
+ disconnect: () => Promise<void>;
3790
+ switchChain: (targetChainId: number | string) => Promise<void>;
3791
+ connectors: ConnectorInfo[];
3792
+ allConnectors: (ConnectorInfo & {
3793
+ walletType: WalletType;
3794
+ })[];
3795
+ checkWalletInstalled: (walletType: WalletType, connectorId: string) => boolean;
3796
+ sendPayment: (tx: PaymentTransactionParams) => Promise<TransactionResultInfo>;
3797
+ isSending: boolean;
3798
+ txHash: string | null;
3799
+ getChainType: (chainId: number | string) => ChainType | null;
3800
+ getWallet: () => WalletConnectionInfo | null;
3801
+ factory: WalletAdapterFactory;
3802
+ };
3803
+
3804
+ /**
3805
+ * Create a new order
3806
+ * - redirectUrl이 있으면: orderId만 반환 (클라이언트가 페이지 이동)
3807
+ * - redirectUrl이 없으면: 모달로 처리
3808
+ */
3809
+ declare const createOrder: (productId: string, redirectUrl: string, webhookUrl: string) => Promise<OrderResponse>;
3810
+ /**
3811
+ * Get order details by public order ID
3812
+ */
3813
+ declare const getOrder: (publicOrderId: string) => Promise<OrderDetailResponse>;
3814
+ /**
3815
+ * Get all orders (optional, for merchant dashboard)
3816
+ */
3817
+ declare const getOrders: () => Promise<Order[]>;
3818
+
3819
+ declare const orders_createOrder: typeof createOrder;
3820
+ declare const orders_getOrder: typeof getOrder;
3821
+ declare const orders_getOrders: typeof getOrders;
3822
+ declare namespace orders {
3823
+ export { orders_createOrder as createOrder, orders_getOrder as getOrder, orders_getOrders as getOrders };
3824
+ }
3825
+
3826
+ /**
3827
+ * Get supported chains for a specific coin
3828
+ * @param coinId - Coin ID (e.g., "tUSDC", "USDC")
3829
+ * @returns List of supported chains for the coin
3830
+ */
3831
+ declare function getCoinChains(coinId: string): Promise<CoinChain[]>;
3832
+ /**
3833
+ * Find a specific chain by chainId from coin's supported chains
3834
+ * @param coinId - Coin ID
3835
+ * @param chainId - Chain ID to find
3836
+ * @returns Matching chain or null
3837
+ */
3838
+ declare function findChainByCoinAndChainId(coinId: string, chainId: string): Promise<CoinChain | null>;
3839
+
3840
+ declare const coins_findChainByCoinAndChainId: typeof findChainByCoinAndChainId;
3841
+ declare const coins_getCoinChains: typeof getCoinChains;
3842
+ declare namespace coins {
3843
+ export { coins_findChainByCoinAndChainId as findChainByCoinAndChainId, coins_getCoinChains as getCoinChains };
3844
+ }
3845
+
3846
+ /**
3847
+ * Validates withdrawal address
3848
+ * - Checks if it's the same as the user's wallet address
3849
+ * - Validates address format (supports both EVM and Tron)
3850
+ */
3851
+ declare const validateWithdrawalAddress: (fromAddress: string, toAddress: string) => ValidationResult;
3852
+ /**
3853
+ * Validates product ID format
3854
+ */
3855
+ declare const validateProductId: (productId: string) => ValidationResult;
3856
+
3857
+ declare const validation_validateProductId: typeof validateProductId;
3858
+ declare const validation_validateWithdrawalAddress: typeof validateWithdrawalAddress;
3859
+ declare namespace validation {
3860
+ export { validation_validateProductId as validateProductId, validation_validateWithdrawalAddress as validateWithdrawalAddress };
3861
+ }
3862
+
3863
+ /**
3864
+ * Handles API errors and converts them to SDKError
3865
+ */
3866
+ declare const handleAPIError: (error: unknown) => SDKError;
3867
+ /**
3868
+ * Creates user-friendly error message
3869
+ */
3870
+ declare const getErrorMessage: (error: unknown) => string;
3871
+
3872
+ /**
3873
+ * 주소 형식 유틸리티 함수
3874
+ */
3875
+ /**
3876
+ * EVM 주소 형식 확인 (0x로 시작하는 42자)
3877
+ */
3878
+ declare function isEvmAddress(address: string): boolean;
3879
+ /**
3880
+ * Tron 주소 형식 확인 (T로 시작하는 34자 Base58)
3881
+ */
3882
+ declare function isTronAddress(address: string): boolean;
3883
+ /**
3884
+ * 주소 형식으로 체인 타입 감지
3885
+ * @returns 'evm' | 'tron' | null
3886
+ */
3887
+ declare function detectChainType(address: string): 'evm' | 'tron' | null;
3888
+ /**
3889
+ * 주소 형식 검증
3890
+ */
3891
+ declare function isValidAddress(address: string): boolean;
3892
+
3893
+ /**
3894
+ * Generate payment QR code URL for offline payment
3895
+ * @param publicOrderId - Public Order ID (from createOrder response)
3896
+ * @returns Payment URL in format: {PAYMENT_DOMAIN}/order/{publicOrderId}
3897
+ */
3898
+ declare function generatePaymentQRUrl(publicOrderId: string): string;
3899
+ /**
3900
+ * Get payment domain from SDK config (uses PAYMENT_DOMAINS constant)
3901
+ * @returns Payment domain URL based on environment
3902
+ */
3903
+ declare function getPaymentDomain(): string;
3904
+
3905
+ export { APIError, API_ENDPOINTS, ChainType, ChainType as ChainTypes, type CoinChain, type CoinChainResponse, type ConnectorInfo, type CreateOrderParams, DEFAULT_TIMEOUT, ENVIRONMENT_URLS, ERROR_CODES, EvmWalletAdapter, type IWalletAdapter, MIN_WITHDRAWAL_AMOUNT, ORDER_EXPIRY_MINUTES, type Order, type OrderCreateRequest, type OrderDetailResponse, OrderPayment, type OrderResponse, OrderStatus, PAYMENT_DOMAINS, PayWithAddress, type PayWithAddressParams, PayWithWallet, type PayWithWalletParams, PaymentButton, PaymentContext, PaymentFlow, type PaymentMethod$1 as PaymentMethod, type PaymentMethodType, PaymentModal, type PaymentMode, PaymentProvider, PaymentQRCode, type PaymentQRCodeProps, PaymentQRModal, type PaymentQRModalProps, type PaymentSession, type PaymentStatus, type PaymentTransaction, type PaymentTransactionParams, type SDKConfig, type SDKContext, SDKError, SDK_VERSION, SUPPORTED_CHAINS, type SupportedChain, TRON_NETWORKS, type TransactionResult, type TransactionResultInfo, TronWalletAdapter, type UseWalletAdapterOptions, ValidationError, type ValidationResult, WalletAdapterFactory, type WalletBalance, type WalletConnectionInfo, type WalletInfo, WalletProvider, WalletType, WalletType as WalletTypes, type WebhookPayload, type WithdrawalParams, coins as coinsAPI, config, createWagmiConfig, detectChainType, generatePaymentQRUrl, getChainById, getErrorMessage, getEvmChainById, getPaymentDomain, handleAPIError, isEvmAddress, isTronAddress, isValidAddress, orders as ordersAPI, supportedChains, supportedEvmChains, useOrder, usePayment, useWallet, useWalletAdapter, useWalletContext, validation };