@gitmyabi/anime 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,949 @@
1
+ import type { Address, PublicClient, WalletClient } from 'viem';
2
+ /**
3
+ * Animecoin_json ABI
4
+ *
5
+ * This ABI is typed using viem's type system for full type safety.
6
+ */
7
+ export declare const Animecoin_jsonAbi: readonly [{
8
+ readonly inputs: readonly [{
9
+ readonly internalType: "address";
10
+ readonly name: "_customGatewayAddress";
11
+ readonly type: "address";
12
+ }, {
13
+ readonly internalType: "address";
14
+ readonly name: "_routerAddress";
15
+ readonly type: "address";
16
+ }, {
17
+ readonly internalType: "uint256";
18
+ readonly name: "_initialSupply";
19
+ readonly type: "uint256";
20
+ }];
21
+ readonly stateMutability: "nonpayable";
22
+ readonly type: "constructor";
23
+ }, {
24
+ readonly inputs: readonly [];
25
+ readonly name: "ECDSAInvalidSignature";
26
+ readonly type: "error";
27
+ }, {
28
+ readonly inputs: readonly [{
29
+ readonly internalType: "uint256";
30
+ readonly name: "length";
31
+ readonly type: "uint256";
32
+ }];
33
+ readonly name: "ECDSAInvalidSignatureLength";
34
+ readonly type: "error";
35
+ }, {
36
+ readonly inputs: readonly [{
37
+ readonly internalType: "bytes32";
38
+ readonly name: "s";
39
+ readonly type: "bytes32";
40
+ }];
41
+ readonly name: "ECDSAInvalidSignatureS";
42
+ readonly type: "error";
43
+ }, {
44
+ readonly inputs: readonly [{
45
+ readonly internalType: "address";
46
+ readonly name: "spender";
47
+ readonly type: "address";
48
+ }, {
49
+ readonly internalType: "uint256";
50
+ readonly name: "allowance";
51
+ readonly type: "uint256";
52
+ }, {
53
+ readonly internalType: "uint256";
54
+ readonly name: "needed";
55
+ readonly type: "uint256";
56
+ }];
57
+ readonly name: "ERC20InsufficientAllowance";
58
+ readonly type: "error";
59
+ }, {
60
+ readonly inputs: readonly [{
61
+ readonly internalType: "address";
62
+ readonly name: "sender";
63
+ readonly type: "address";
64
+ }, {
65
+ readonly internalType: "uint256";
66
+ readonly name: "balance";
67
+ readonly type: "uint256";
68
+ }, {
69
+ readonly internalType: "uint256";
70
+ readonly name: "needed";
71
+ readonly type: "uint256";
72
+ }];
73
+ readonly name: "ERC20InsufficientBalance";
74
+ readonly type: "error";
75
+ }, {
76
+ readonly inputs: readonly [{
77
+ readonly internalType: "address";
78
+ readonly name: "approver";
79
+ readonly type: "address";
80
+ }];
81
+ readonly name: "ERC20InvalidApprover";
82
+ readonly type: "error";
83
+ }, {
84
+ readonly inputs: readonly [{
85
+ readonly internalType: "address";
86
+ readonly name: "receiver";
87
+ readonly type: "address";
88
+ }];
89
+ readonly name: "ERC20InvalidReceiver";
90
+ readonly type: "error";
91
+ }, {
92
+ readonly inputs: readonly [{
93
+ readonly internalType: "address";
94
+ readonly name: "sender";
95
+ readonly type: "address";
96
+ }];
97
+ readonly name: "ERC20InvalidSender";
98
+ readonly type: "error";
99
+ }, {
100
+ readonly inputs: readonly [{
101
+ readonly internalType: "address";
102
+ readonly name: "spender";
103
+ readonly type: "address";
104
+ }];
105
+ readonly name: "ERC20InvalidSpender";
106
+ readonly type: "error";
107
+ }, {
108
+ readonly inputs: readonly [{
109
+ readonly internalType: "uint256";
110
+ readonly name: "deadline";
111
+ readonly type: "uint256";
112
+ }];
113
+ readonly name: "ERC2612ExpiredSignature";
114
+ readonly type: "error";
115
+ }, {
116
+ readonly inputs: readonly [{
117
+ readonly internalType: "address";
118
+ readonly name: "signer";
119
+ readonly type: "address";
120
+ }, {
121
+ readonly internalType: "address";
122
+ readonly name: "owner";
123
+ readonly type: "address";
124
+ }];
125
+ readonly name: "ERC2612InvalidSigner";
126
+ readonly type: "error";
127
+ }, {
128
+ readonly inputs: readonly [{
129
+ readonly internalType: "address";
130
+ readonly name: "account";
131
+ readonly type: "address";
132
+ }, {
133
+ readonly internalType: "uint256";
134
+ readonly name: "currentNonce";
135
+ readonly type: "uint256";
136
+ }];
137
+ readonly name: "InvalidAccountNonce";
138
+ readonly type: "error";
139
+ }, {
140
+ readonly inputs: readonly [];
141
+ readonly name: "InvalidShortString";
142
+ readonly type: "error";
143
+ }, {
144
+ readonly inputs: readonly [{
145
+ readonly internalType: "address";
146
+ readonly name: "owner";
147
+ readonly type: "address";
148
+ }];
149
+ readonly name: "OwnableInvalidOwner";
150
+ readonly type: "error";
151
+ }, {
152
+ readonly inputs: readonly [{
153
+ readonly internalType: "address";
154
+ readonly name: "account";
155
+ readonly type: "address";
156
+ }];
157
+ readonly name: "OwnableUnauthorizedAccount";
158
+ readonly type: "error";
159
+ }, {
160
+ readonly inputs: readonly [{
161
+ readonly internalType: "string";
162
+ readonly name: "str";
163
+ readonly type: "string";
164
+ }];
165
+ readonly name: "StringTooLong";
166
+ readonly type: "error";
167
+ }, {
168
+ readonly anonymous: false;
169
+ readonly inputs: readonly [{
170
+ readonly indexed: true;
171
+ readonly internalType: "address";
172
+ readonly name: "owner";
173
+ readonly type: "address";
174
+ }, {
175
+ readonly indexed: true;
176
+ readonly internalType: "address";
177
+ readonly name: "spender";
178
+ readonly type: "address";
179
+ }, {
180
+ readonly indexed: false;
181
+ readonly internalType: "uint256";
182
+ readonly name: "value";
183
+ readonly type: "uint256";
184
+ }];
185
+ readonly name: "Approval";
186
+ readonly type: "event";
187
+ }, {
188
+ readonly anonymous: false;
189
+ readonly inputs: readonly [];
190
+ readonly name: "EIP712DomainChanged";
191
+ readonly type: "event";
192
+ }, {
193
+ readonly anonymous: false;
194
+ readonly inputs: readonly [{
195
+ readonly indexed: true;
196
+ readonly internalType: "address";
197
+ readonly name: "previousOwner";
198
+ readonly type: "address";
199
+ }, {
200
+ readonly indexed: true;
201
+ readonly internalType: "address";
202
+ readonly name: "newOwner";
203
+ readonly type: "address";
204
+ }];
205
+ readonly name: "OwnershipTransferred";
206
+ readonly type: "event";
207
+ }, {
208
+ readonly anonymous: false;
209
+ readonly inputs: readonly [{
210
+ readonly indexed: true;
211
+ readonly internalType: "address";
212
+ readonly name: "from";
213
+ readonly type: "address";
214
+ }, {
215
+ readonly indexed: true;
216
+ readonly internalType: "address";
217
+ readonly name: "to";
218
+ readonly type: "address";
219
+ }, {
220
+ readonly indexed: false;
221
+ readonly internalType: "uint256";
222
+ readonly name: "value";
223
+ readonly type: "uint256";
224
+ }];
225
+ readonly name: "Transfer";
226
+ readonly type: "event";
227
+ }, {
228
+ readonly inputs: readonly [];
229
+ readonly name: "DOMAIN_SEPARATOR";
230
+ readonly outputs: readonly [{
231
+ readonly internalType: "bytes32";
232
+ readonly name: "";
233
+ readonly type: "bytes32";
234
+ }];
235
+ readonly stateMutability: "view";
236
+ readonly type: "function";
237
+ }, {
238
+ readonly inputs: readonly [{
239
+ readonly internalType: "address";
240
+ readonly name: "owner";
241
+ readonly type: "address";
242
+ }, {
243
+ readonly internalType: "address";
244
+ readonly name: "spender";
245
+ readonly type: "address";
246
+ }];
247
+ readonly name: "allowance";
248
+ readonly outputs: readonly [{
249
+ readonly internalType: "uint256";
250
+ readonly name: "";
251
+ readonly type: "uint256";
252
+ }];
253
+ readonly stateMutability: "view";
254
+ readonly type: "function";
255
+ }, {
256
+ readonly inputs: readonly [{
257
+ readonly internalType: "address";
258
+ readonly name: "spender";
259
+ readonly type: "address";
260
+ }, {
261
+ readonly internalType: "uint256";
262
+ readonly name: "value";
263
+ readonly type: "uint256";
264
+ }];
265
+ readonly name: "approve";
266
+ readonly outputs: readonly [{
267
+ readonly internalType: "bool";
268
+ readonly name: "";
269
+ readonly type: "bool";
270
+ }];
271
+ readonly stateMutability: "nonpayable";
272
+ readonly type: "function";
273
+ }, {
274
+ readonly inputs: readonly [{
275
+ readonly internalType: "address";
276
+ readonly name: "account";
277
+ readonly type: "address";
278
+ }];
279
+ readonly name: "balanceOf";
280
+ readonly outputs: readonly [{
281
+ readonly internalType: "uint256";
282
+ readonly name: "";
283
+ readonly type: "uint256";
284
+ }];
285
+ readonly stateMutability: "view";
286
+ readonly type: "function";
287
+ }, {
288
+ readonly inputs: readonly [];
289
+ readonly name: "decimals";
290
+ readonly outputs: readonly [{
291
+ readonly internalType: "uint8";
292
+ readonly name: "";
293
+ readonly type: "uint8";
294
+ }];
295
+ readonly stateMutability: "view";
296
+ readonly type: "function";
297
+ }, {
298
+ readonly inputs: readonly [];
299
+ readonly name: "eip712Domain";
300
+ readonly outputs: readonly [{
301
+ readonly internalType: "bytes1";
302
+ readonly name: "fields";
303
+ readonly type: "bytes1";
304
+ }, {
305
+ readonly internalType: "string";
306
+ readonly name: "name";
307
+ readonly type: "string";
308
+ }, {
309
+ readonly internalType: "string";
310
+ readonly name: "version";
311
+ readonly type: "string";
312
+ }, {
313
+ readonly internalType: "uint256";
314
+ readonly name: "chainId";
315
+ readonly type: "uint256";
316
+ }, {
317
+ readonly internalType: "address";
318
+ readonly name: "verifyingContract";
319
+ readonly type: "address";
320
+ }, {
321
+ readonly internalType: "bytes32";
322
+ readonly name: "salt";
323
+ readonly type: "bytes32";
324
+ }, {
325
+ readonly internalType: "uint256[]";
326
+ readonly name: "extensions";
327
+ readonly type: "uint256[]";
328
+ }];
329
+ readonly stateMutability: "view";
330
+ readonly type: "function";
331
+ }, {
332
+ readonly inputs: readonly [];
333
+ readonly name: "isArbitrumEnabled";
334
+ readonly outputs: readonly [{
335
+ readonly internalType: "uint8";
336
+ readonly name: "";
337
+ readonly type: "uint8";
338
+ }];
339
+ readonly stateMutability: "view";
340
+ readonly type: "function";
341
+ }, {
342
+ readonly inputs: readonly [];
343
+ readonly name: "name";
344
+ readonly outputs: readonly [{
345
+ readonly internalType: "string";
346
+ readonly name: "";
347
+ readonly type: "string";
348
+ }];
349
+ readonly stateMutability: "view";
350
+ readonly type: "function";
351
+ }, {
352
+ readonly inputs: readonly [{
353
+ readonly internalType: "address";
354
+ readonly name: "owner";
355
+ readonly type: "address";
356
+ }];
357
+ readonly name: "nonces";
358
+ readonly outputs: readonly [{
359
+ readonly internalType: "uint256";
360
+ readonly name: "";
361
+ readonly type: "uint256";
362
+ }];
363
+ readonly stateMutability: "view";
364
+ readonly type: "function";
365
+ }, {
366
+ readonly inputs: readonly [];
367
+ readonly name: "owner";
368
+ readonly outputs: readonly [{
369
+ readonly internalType: "address";
370
+ readonly name: "";
371
+ readonly type: "address";
372
+ }];
373
+ readonly stateMutability: "view";
374
+ readonly type: "function";
375
+ }, {
376
+ readonly inputs: readonly [{
377
+ readonly internalType: "address";
378
+ readonly name: "owner";
379
+ readonly type: "address";
380
+ }, {
381
+ readonly internalType: "address";
382
+ readonly name: "spender";
383
+ readonly type: "address";
384
+ }, {
385
+ readonly internalType: "uint256";
386
+ readonly name: "value";
387
+ readonly type: "uint256";
388
+ }, {
389
+ readonly internalType: "uint256";
390
+ readonly name: "deadline";
391
+ readonly type: "uint256";
392
+ }, {
393
+ readonly internalType: "uint8";
394
+ readonly name: "v";
395
+ readonly type: "uint8";
396
+ }, {
397
+ readonly internalType: "bytes32";
398
+ readonly name: "r";
399
+ readonly type: "bytes32";
400
+ }, {
401
+ readonly internalType: "bytes32";
402
+ readonly name: "s";
403
+ readonly type: "bytes32";
404
+ }];
405
+ readonly name: "permit";
406
+ readonly outputs: readonly [];
407
+ readonly stateMutability: "nonpayable";
408
+ readonly type: "function";
409
+ }, {
410
+ readonly inputs: readonly [{
411
+ readonly internalType: "address";
412
+ readonly name: "l2CustomTokenAddress";
413
+ readonly type: "address";
414
+ }, {
415
+ readonly internalType: "uint256";
416
+ readonly name: "maxSubmissionCostForCustomGateway";
417
+ readonly type: "uint256";
418
+ }, {
419
+ readonly internalType: "uint256";
420
+ readonly name: "maxSubmissionCostForRouter";
421
+ readonly type: "uint256";
422
+ }, {
423
+ readonly internalType: "uint256";
424
+ readonly name: "maxGasForCustomGateway";
425
+ readonly type: "uint256";
426
+ }, {
427
+ readonly internalType: "uint256";
428
+ readonly name: "maxGasForRouter";
429
+ readonly type: "uint256";
430
+ }, {
431
+ readonly internalType: "uint256";
432
+ readonly name: "gasPriceBid";
433
+ readonly type: "uint256";
434
+ }, {
435
+ readonly internalType: "uint256";
436
+ readonly name: "valueForGateway";
437
+ readonly type: "uint256";
438
+ }, {
439
+ readonly internalType: "uint256";
440
+ readonly name: "valueForRouter";
441
+ readonly type: "uint256";
442
+ }, {
443
+ readonly internalType: "address";
444
+ readonly name: "creditBackAddress";
445
+ readonly type: "address";
446
+ }];
447
+ readonly name: "registerTokenOnL2";
448
+ readonly outputs: readonly [];
449
+ readonly stateMutability: "payable";
450
+ readonly type: "function";
451
+ }, {
452
+ readonly inputs: readonly [];
453
+ readonly name: "renounceOwnership";
454
+ readonly outputs: readonly [];
455
+ readonly stateMutability: "nonpayable";
456
+ readonly type: "function";
457
+ }, {
458
+ readonly inputs: readonly [];
459
+ readonly name: "symbol";
460
+ readonly outputs: readonly [{
461
+ readonly internalType: "string";
462
+ readonly name: "";
463
+ readonly type: "string";
464
+ }];
465
+ readonly stateMutability: "view";
466
+ readonly type: "function";
467
+ }, {
468
+ readonly inputs: readonly [];
469
+ readonly name: "totalSupply";
470
+ readonly outputs: readonly [{
471
+ readonly internalType: "uint256";
472
+ readonly name: "";
473
+ readonly type: "uint256";
474
+ }];
475
+ readonly stateMutability: "view";
476
+ readonly type: "function";
477
+ }, {
478
+ readonly inputs: readonly [{
479
+ readonly internalType: "address";
480
+ readonly name: "to";
481
+ readonly type: "address";
482
+ }, {
483
+ readonly internalType: "uint256";
484
+ readonly name: "value";
485
+ readonly type: "uint256";
486
+ }];
487
+ readonly name: "transfer";
488
+ readonly outputs: readonly [{
489
+ readonly internalType: "bool";
490
+ readonly name: "";
491
+ readonly type: "bool";
492
+ }];
493
+ readonly stateMutability: "nonpayable";
494
+ readonly type: "function";
495
+ }, {
496
+ readonly inputs: readonly [{
497
+ readonly internalType: "address";
498
+ readonly name: "sender";
499
+ readonly type: "address";
500
+ }, {
501
+ readonly internalType: "address";
502
+ readonly name: "recipient";
503
+ readonly type: "address";
504
+ }, {
505
+ readonly internalType: "uint256";
506
+ readonly name: "amount";
507
+ readonly type: "uint256";
508
+ }];
509
+ readonly name: "transferFrom";
510
+ readonly outputs: readonly [{
511
+ readonly internalType: "bool";
512
+ readonly name: "";
513
+ readonly type: "bool";
514
+ }];
515
+ readonly stateMutability: "nonpayable";
516
+ readonly type: "function";
517
+ }, {
518
+ readonly inputs: readonly [{
519
+ readonly internalType: "address";
520
+ readonly name: "newOwner";
521
+ readonly type: "address";
522
+ }];
523
+ readonly name: "transferOwnership";
524
+ readonly outputs: readonly [];
525
+ readonly stateMutability: "nonpayable";
526
+ readonly type: "function";
527
+ }];
528
+ /**
529
+ * Type-safe ABI for Animecoin_json
530
+ */
531
+ export type Animecoin_jsonAbi = typeof Animecoin_jsonAbi;
532
+ /**
533
+ * Contract instance type for Animecoin_json
534
+ */
535
+ export type Animecoin_jsonContract = any;
536
+ /**
537
+ * Animecoin_json Contract Class
538
+ *
539
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
540
+ *
541
+ * @example
542
+ * ```typescript
543
+ * import { createPublicClient, createWalletClient, http } from 'viem';
544
+ * import { mainnet } from 'viem/chains';
545
+ * import { Animecoin_json } from 'Animecoin_json';
546
+ *
547
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
548
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
549
+ *
550
+ * const contract = new Animecoin_json('0x...', { publicClient, walletClient });
551
+ *
552
+ * // Read functions
553
+ * const result = await contract.balanceOf('0x...');
554
+ *
555
+ * // Write functions
556
+ * const hash = await contract.transfer('0x...', 1000n);
557
+ *
558
+ * // Simulate transactions (dry-run)
559
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
560
+ * console.log('Gas estimate:', simulation.request.gas);
561
+ *
562
+ * // Watch events
563
+ * const unwatch = contract.watch.Transfer((event) => {
564
+ * console.log('Transfer event:', event);
565
+ * });
566
+ * ```
567
+ */
568
+ export declare class Animecoin_json {
569
+ private contract;
570
+ private contractAddress;
571
+ private publicClient;
572
+ constructor(address: Address, clients: {
573
+ publicClient: PublicClient;
574
+ walletClient?: WalletClient;
575
+ });
576
+ /**
577
+ * Get the contract address
578
+ */
579
+ get address(): Address;
580
+ /**
581
+ * Get the underlying viem contract instance
582
+ */
583
+ getContract(): Animecoin_jsonContract;
584
+ /**
585
+ * DOMAIN_SEPARATOR
586
+ * view
587
+ */
588
+ DOMAIN_SEPARATOR(): Promise<`0x${string}`>;
589
+ /**
590
+ * allowance
591
+ * view
592
+ */
593
+ allowance(owner: `0x${string}`, spender: `0x${string}`): Promise<bigint>;
594
+ /**
595
+ * balanceOf
596
+ * view
597
+ */
598
+ balanceOf(account: `0x${string}`): Promise<bigint>;
599
+ /**
600
+ * decimals
601
+ * view
602
+ */
603
+ decimals(): Promise<bigint>;
604
+ /**
605
+ * eip712Domain
606
+ * view
607
+ */
608
+ eip712Domain(): Promise<[`0x${string}`, string, string, bigint, `0x${string}`, `0x${string}`, bigint[]]>;
609
+ /**
610
+ * isArbitrumEnabled
611
+ * view
612
+ */
613
+ isArbitrumEnabled(): Promise<bigint>;
614
+ /**
615
+ * name
616
+ * view
617
+ */
618
+ name(): Promise<string>;
619
+ /**
620
+ * nonces
621
+ * view
622
+ */
623
+ nonces(owner: `0x${string}`): Promise<bigint>;
624
+ /**
625
+ * owner
626
+ * view
627
+ */
628
+ owner(): Promise<`0x${string}`>;
629
+ /**
630
+ * symbol
631
+ * view
632
+ */
633
+ symbol(): Promise<string>;
634
+ /**
635
+ * totalSupply
636
+ * view
637
+ */
638
+ totalSupply(): Promise<bigint>;
639
+ /**
640
+ * approve
641
+ * nonpayable
642
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
643
+ */
644
+ approve(spender: `0x${string}`, value: bigint, options?: {
645
+ accessList?: import('viem').AccessList;
646
+ authorizationList?: import('viem').AuthorizationList;
647
+ chain?: import('viem').Chain | null;
648
+ dataSuffix?: `0x${string}`;
649
+ gas?: bigint;
650
+ gasPrice?: bigint;
651
+ maxFeePerGas?: bigint;
652
+ maxPriorityFeePerGas?: bigint;
653
+ nonce?: number;
654
+ value?: bigint;
655
+ }): Promise<`0x${string}`>;
656
+ /**
657
+ * permit
658
+ * nonpayable
659
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
660
+ */
661
+ permit(owner: `0x${string}`, spender: `0x${string}`, value: bigint, deadline: bigint, v: bigint, r: `0x${string}`, s: `0x${string}`, options?: {
662
+ accessList?: import('viem').AccessList;
663
+ authorizationList?: import('viem').AuthorizationList;
664
+ chain?: import('viem').Chain | null;
665
+ dataSuffix?: `0x${string}`;
666
+ gas?: bigint;
667
+ gasPrice?: bigint;
668
+ maxFeePerGas?: bigint;
669
+ maxPriorityFeePerGas?: bigint;
670
+ nonce?: number;
671
+ value?: bigint;
672
+ }): Promise<`0x${string}`>;
673
+ /**
674
+ * registerTokenOnL2
675
+ * payable
676
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
677
+ */
678
+ registerTokenOnL2(l2CustomTokenAddress: `0x${string}`, maxSubmissionCostForCustomGateway: bigint, maxSubmissionCostForRouter: bigint, maxGasForCustomGateway: bigint, maxGasForRouter: bigint, gasPriceBid: bigint, valueForGateway: bigint, valueForRouter: bigint, creditBackAddress: `0x${string}`, options?: {
679
+ accessList?: import('viem').AccessList;
680
+ authorizationList?: import('viem').AuthorizationList;
681
+ chain?: import('viem').Chain | null;
682
+ dataSuffix?: `0x${string}`;
683
+ gas?: bigint;
684
+ gasPrice?: bigint;
685
+ maxFeePerGas?: bigint;
686
+ maxPriorityFeePerGas?: bigint;
687
+ nonce?: number;
688
+ value?: bigint;
689
+ }): Promise<`0x${string}`>;
690
+ /**
691
+ * renounceOwnership
692
+ * nonpayable
693
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
694
+ */
695
+ renounceOwnership(options?: {
696
+ accessList?: import('viem').AccessList;
697
+ authorizationList?: import('viem').AuthorizationList;
698
+ chain?: import('viem').Chain | null;
699
+ dataSuffix?: `0x${string}`;
700
+ gas?: bigint;
701
+ gasPrice?: bigint;
702
+ maxFeePerGas?: bigint;
703
+ maxPriorityFeePerGas?: bigint;
704
+ nonce?: number;
705
+ value?: bigint;
706
+ }): Promise<`0x${string}`>;
707
+ /**
708
+ * transfer
709
+ * nonpayable
710
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
711
+ */
712
+ transfer(to: `0x${string}`, value: bigint, options?: {
713
+ accessList?: import('viem').AccessList;
714
+ authorizationList?: import('viem').AuthorizationList;
715
+ chain?: import('viem').Chain | null;
716
+ dataSuffix?: `0x${string}`;
717
+ gas?: bigint;
718
+ gasPrice?: bigint;
719
+ maxFeePerGas?: bigint;
720
+ maxPriorityFeePerGas?: bigint;
721
+ nonce?: number;
722
+ value?: bigint;
723
+ }): Promise<`0x${string}`>;
724
+ /**
725
+ * transferFrom
726
+ * nonpayable
727
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
728
+ */
729
+ transferFrom(sender: `0x${string}`, recipient: `0x${string}`, amount: bigint, options?: {
730
+ accessList?: import('viem').AccessList;
731
+ authorizationList?: import('viem').AuthorizationList;
732
+ chain?: import('viem').Chain | null;
733
+ dataSuffix?: `0x${string}`;
734
+ gas?: bigint;
735
+ gasPrice?: bigint;
736
+ maxFeePerGas?: bigint;
737
+ maxPriorityFeePerGas?: bigint;
738
+ nonce?: number;
739
+ value?: bigint;
740
+ }): Promise<`0x${string}`>;
741
+ /**
742
+ * transferOwnership
743
+ * nonpayable
744
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
745
+ */
746
+ transferOwnership(newOwner: `0x${string}`, options?: {
747
+ accessList?: import('viem').AccessList;
748
+ authorizationList?: import('viem').AuthorizationList;
749
+ chain?: import('viem').Chain | null;
750
+ dataSuffix?: `0x${string}`;
751
+ gas?: bigint;
752
+ gasPrice?: bigint;
753
+ maxFeePerGas?: bigint;
754
+ maxPriorityFeePerGas?: bigint;
755
+ nonce?: number;
756
+ value?: bigint;
757
+ }): Promise<`0x${string}`>;
758
+ /**
759
+ * Simulate contract write operations (dry-run without sending transaction)
760
+ *
761
+ * @example
762
+ * const result = await contract.simulate.transfer('0x...', 1000n);
763
+ * console.log('Gas estimate:', result.request.gas);
764
+ * console.log('Would succeed:', result.result);
765
+ */
766
+ get simulate(): {
767
+ /**
768
+ * Simulate approve
769
+ * Returns gas estimate and result without sending transaction
770
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
771
+ */
772
+ approve(spender: `0x${string}`, value: bigint, options?: {
773
+ accessList?: import("viem").AccessList;
774
+ authorizationList?: import("viem").AuthorizationList;
775
+ chain?: import("viem").Chain | null;
776
+ dataSuffix?: `0x${string}`;
777
+ gas?: bigint;
778
+ gasPrice?: bigint;
779
+ maxFeePerGas?: bigint;
780
+ maxPriorityFeePerGas?: bigint;
781
+ nonce?: number;
782
+ value?: bigint;
783
+ }): Promise<boolean>;
784
+ /**
785
+ * Simulate permit
786
+ * Returns gas estimate and result without sending transaction
787
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
788
+ */
789
+ permit(owner: `0x${string}`, spender: `0x${string}`, value: bigint, deadline: bigint, v: bigint, r: `0x${string}`, s: `0x${string}`, options?: {
790
+ accessList?: import("viem").AccessList;
791
+ authorizationList?: import("viem").AuthorizationList;
792
+ chain?: import("viem").Chain | null;
793
+ dataSuffix?: `0x${string}`;
794
+ gas?: bigint;
795
+ gasPrice?: bigint;
796
+ maxFeePerGas?: bigint;
797
+ maxPriorityFeePerGas?: bigint;
798
+ nonce?: number;
799
+ value?: bigint;
800
+ }): Promise<void>;
801
+ /**
802
+ * Simulate registerTokenOnL2
803
+ * Returns gas estimate and result without sending transaction
804
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
805
+ */
806
+ registerTokenOnL2(l2CustomTokenAddress: `0x${string}`, maxSubmissionCostForCustomGateway: bigint, maxSubmissionCostForRouter: bigint, maxGasForCustomGateway: bigint, maxGasForRouter: bigint, gasPriceBid: bigint, valueForGateway: bigint, valueForRouter: bigint, creditBackAddress: `0x${string}`, options?: {
807
+ accessList?: import("viem").AccessList;
808
+ authorizationList?: import("viem").AuthorizationList;
809
+ chain?: import("viem").Chain | null;
810
+ dataSuffix?: `0x${string}`;
811
+ gas?: bigint;
812
+ gasPrice?: bigint;
813
+ maxFeePerGas?: bigint;
814
+ maxPriorityFeePerGas?: bigint;
815
+ nonce?: number;
816
+ value?: bigint;
817
+ }): Promise<void>;
818
+ /**
819
+ * Simulate renounceOwnership
820
+ * Returns gas estimate and result without sending transaction
821
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
822
+ */
823
+ renounceOwnership(options?: {
824
+ accessList?: import("viem").AccessList;
825
+ authorizationList?: import("viem").AuthorizationList;
826
+ chain?: import("viem").Chain | null;
827
+ dataSuffix?: `0x${string}`;
828
+ gas?: bigint;
829
+ gasPrice?: bigint;
830
+ maxFeePerGas?: bigint;
831
+ maxPriorityFeePerGas?: bigint;
832
+ nonce?: number;
833
+ value?: bigint;
834
+ }): Promise<void>;
835
+ /**
836
+ * Simulate transfer
837
+ * Returns gas estimate and result without sending transaction
838
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
839
+ */
840
+ transfer(to: `0x${string}`, value: bigint, options?: {
841
+ accessList?: import("viem").AccessList;
842
+ authorizationList?: import("viem").AuthorizationList;
843
+ chain?: import("viem").Chain | null;
844
+ dataSuffix?: `0x${string}`;
845
+ gas?: bigint;
846
+ gasPrice?: bigint;
847
+ maxFeePerGas?: bigint;
848
+ maxPriorityFeePerGas?: bigint;
849
+ nonce?: number;
850
+ value?: bigint;
851
+ }): Promise<boolean>;
852
+ /**
853
+ * Simulate transferFrom
854
+ * Returns gas estimate and result without sending transaction
855
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
856
+ */
857
+ transferFrom(sender: `0x${string}`, recipient: `0x${string}`, amount: bigint, options?: {
858
+ accessList?: import("viem").AccessList;
859
+ authorizationList?: import("viem").AuthorizationList;
860
+ chain?: import("viem").Chain | null;
861
+ dataSuffix?: `0x${string}`;
862
+ gas?: bigint;
863
+ gasPrice?: bigint;
864
+ maxFeePerGas?: bigint;
865
+ maxPriorityFeePerGas?: bigint;
866
+ nonce?: number;
867
+ value?: bigint;
868
+ }): Promise<boolean>;
869
+ /**
870
+ * Simulate transferOwnership
871
+ * Returns gas estimate and result without sending transaction
872
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
873
+ */
874
+ transferOwnership(newOwner: `0x${string}`, options?: {
875
+ accessList?: import("viem").AccessList;
876
+ authorizationList?: import("viem").AuthorizationList;
877
+ chain?: import("viem").Chain | null;
878
+ dataSuffix?: `0x${string}`;
879
+ gas?: bigint;
880
+ gasPrice?: bigint;
881
+ maxFeePerGas?: bigint;
882
+ maxPriorityFeePerGas?: bigint;
883
+ nonce?: number;
884
+ value?: bigint;
885
+ }): Promise<void>;
886
+ };
887
+ /**
888
+ * Watch contract events
889
+ *
890
+ * @example
891
+ * // Watch all Transfer events
892
+ * const unwatch = contract.watch.Transfer((event) => {
893
+ * console.log('Transfer:', event);
894
+ * });
895
+ *
896
+ * // Stop watching
897
+ * unwatch();
898
+ */
899
+ get watch(): {
900
+ /**
901
+ * Watch Approval events
902
+ * @param callback Function to call when event is emitted
903
+ * @param filter Optional filter for indexed parameters
904
+ * @returns Unwatch function to stop listening
905
+ */
906
+ Approval: (callback: (event: {
907
+ owner: `0x${string}`;
908
+ spender: `0x${string}`;
909
+ value: bigint;
910
+ }) => void, filter?: {
911
+ owner: `0x${string}`;
912
+ spender: `0x${string}`;
913
+ }) => () => void;
914
+ /**
915
+ * Watch EIP712DomainChanged events
916
+ * @param callback Function to call when event is emitted
917
+ * @param filter Optional filter for indexed parameters
918
+ * @returns Unwatch function to stop listening
919
+ */
920
+ EIP712DomainChanged: (callback: (event: {}) => void) => () => void;
921
+ /**
922
+ * Watch OwnershipTransferred events
923
+ * @param callback Function to call when event is emitted
924
+ * @param filter Optional filter for indexed parameters
925
+ * @returns Unwatch function to stop listening
926
+ */
927
+ OwnershipTransferred: (callback: (event: {
928
+ previousOwner: `0x${string}`;
929
+ newOwner: `0x${string}`;
930
+ }) => void, filter?: {
931
+ previousOwner: `0x${string}`;
932
+ newOwner: `0x${string}`;
933
+ }) => () => void;
934
+ /**
935
+ * Watch Transfer events
936
+ * @param callback Function to call when event is emitted
937
+ * @param filter Optional filter for indexed parameters
938
+ * @returns Unwatch function to stop listening
939
+ */
940
+ Transfer: (callback: (event: {
941
+ from: `0x${string}`;
942
+ to: `0x${string}`;
943
+ value: bigint;
944
+ }) => void, filter?: {
945
+ from: `0x${string}`;
946
+ to: `0x${string}`;
947
+ }) => () => void;
948
+ };
949
+ }