@gitmyabi-stg/wtao 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,1394 @@
1
+ import type { Address, PublicClient, WalletClient } from 'viem';
2
+ /**
3
+ * wTAO ABI
4
+ *
5
+ * This ABI is typed using viem's type system for full type safety.
6
+ */
7
+ export declare const wTAOAbi: readonly [{
8
+ readonly inputs: readonly [];
9
+ readonly stateMutability: "nonpayable";
10
+ readonly type: "constructor";
11
+ }, {
12
+ readonly anonymous: false;
13
+ readonly inputs: readonly [{
14
+ readonly indexed: true;
15
+ readonly internalType: "address";
16
+ readonly name: "owner";
17
+ readonly type: "address";
18
+ }, {
19
+ readonly indexed: true;
20
+ readonly internalType: "address";
21
+ readonly name: "spender";
22
+ readonly type: "address";
23
+ }, {
24
+ readonly indexed: false;
25
+ readonly internalType: "uint256";
26
+ readonly name: "value";
27
+ readonly type: "uint256";
28
+ }];
29
+ readonly name: "Approval";
30
+ readonly type: "event";
31
+ }, {
32
+ readonly anonymous: false;
33
+ readonly inputs: readonly [{
34
+ readonly indexed: true;
35
+ readonly internalType: "address";
36
+ readonly name: "bridge";
37
+ readonly type: "address";
38
+ }];
39
+ readonly name: "BridgeSet";
40
+ readonly type: "event";
41
+ }, {
42
+ readonly anonymous: false;
43
+ readonly inputs: readonly [{
44
+ readonly indexed: true;
45
+ readonly internalType: "address";
46
+ readonly name: "from";
47
+ readonly type: "address";
48
+ }, {
49
+ readonly indexed: false;
50
+ readonly internalType: "uint256";
51
+ readonly name: "amount";
52
+ readonly type: "uint256";
53
+ }, {
54
+ readonly indexed: false;
55
+ readonly internalType: "string";
56
+ readonly name: "to";
57
+ readonly type: "string";
58
+ }, {
59
+ readonly indexed: false;
60
+ readonly internalType: "uint256";
61
+ readonly name: "nonce";
62
+ readonly type: "uint256";
63
+ }];
64
+ readonly name: "BridgedBack";
65
+ readonly type: "event";
66
+ }, {
67
+ readonly anonymous: false;
68
+ readonly inputs: readonly [{
69
+ readonly indexed: false;
70
+ readonly internalType: "string";
71
+ readonly name: "from";
72
+ readonly type: "string";
73
+ }, {
74
+ readonly indexed: true;
75
+ readonly internalType: "address";
76
+ readonly name: "to";
77
+ readonly type: "address";
78
+ }, {
79
+ readonly indexed: false;
80
+ readonly internalType: "uint256";
81
+ readonly name: "amount";
82
+ readonly type: "uint256";
83
+ }, {
84
+ readonly indexed: false;
85
+ readonly internalType: "uint256";
86
+ readonly name: "nonce";
87
+ readonly type: "uint256";
88
+ }];
89
+ readonly name: "BridgedTo";
90
+ readonly type: "event";
91
+ }, {
92
+ readonly anonymous: false;
93
+ readonly inputs: readonly [{
94
+ readonly indexed: true;
95
+ readonly internalType: "address";
96
+ readonly name: "to";
97
+ readonly type: "address";
98
+ }, {
99
+ readonly indexed: false;
100
+ readonly internalType: "uint256";
101
+ readonly name: "amount";
102
+ readonly type: "uint256";
103
+ }];
104
+ readonly name: "Mint";
105
+ readonly type: "event";
106
+ }, {
107
+ readonly anonymous: false;
108
+ readonly inputs: readonly [{
109
+ readonly indexed: true;
110
+ readonly internalType: "address";
111
+ readonly name: "previousOwner";
112
+ readonly type: "address";
113
+ }, {
114
+ readonly indexed: true;
115
+ readonly internalType: "address";
116
+ readonly name: "newOwner";
117
+ readonly type: "address";
118
+ }];
119
+ readonly name: "OwnershipTransferred";
120
+ readonly type: "event";
121
+ }, {
122
+ readonly anonymous: false;
123
+ readonly inputs: readonly [{
124
+ readonly indexed: true;
125
+ readonly internalType: "bytes32";
126
+ readonly name: "role";
127
+ readonly type: "bytes32";
128
+ }, {
129
+ readonly indexed: true;
130
+ readonly internalType: "bytes32";
131
+ readonly name: "previousAdminRole";
132
+ readonly type: "bytes32";
133
+ }, {
134
+ readonly indexed: true;
135
+ readonly internalType: "bytes32";
136
+ readonly name: "newAdminRole";
137
+ readonly type: "bytes32";
138
+ }];
139
+ readonly name: "RoleAdminChanged";
140
+ readonly type: "event";
141
+ }, {
142
+ readonly anonymous: false;
143
+ readonly inputs: readonly [{
144
+ readonly indexed: true;
145
+ readonly internalType: "bytes32";
146
+ readonly name: "role";
147
+ readonly type: "bytes32";
148
+ }, {
149
+ readonly indexed: true;
150
+ readonly internalType: "address";
151
+ readonly name: "account";
152
+ readonly type: "address";
153
+ }, {
154
+ readonly indexed: true;
155
+ readonly internalType: "address";
156
+ readonly name: "sender";
157
+ readonly type: "address";
158
+ }];
159
+ readonly name: "RoleGranted";
160
+ readonly type: "event";
161
+ }, {
162
+ readonly anonymous: false;
163
+ readonly inputs: readonly [{
164
+ readonly indexed: true;
165
+ readonly internalType: "bytes32";
166
+ readonly name: "role";
167
+ readonly type: "bytes32";
168
+ }, {
169
+ readonly indexed: true;
170
+ readonly internalType: "address";
171
+ readonly name: "account";
172
+ readonly type: "address";
173
+ }, {
174
+ readonly indexed: true;
175
+ readonly internalType: "address";
176
+ readonly name: "sender";
177
+ readonly type: "address";
178
+ }];
179
+ readonly name: "RoleRevoked";
180
+ readonly type: "event";
181
+ }, {
182
+ readonly anonymous: false;
183
+ readonly inputs: readonly [{
184
+ readonly indexed: true;
185
+ readonly internalType: "address";
186
+ readonly name: "from";
187
+ readonly type: "address";
188
+ }, {
189
+ readonly indexed: true;
190
+ readonly internalType: "address";
191
+ readonly name: "to";
192
+ readonly type: "address";
193
+ }, {
194
+ readonly indexed: false;
195
+ readonly internalType: "uint256";
196
+ readonly name: "value";
197
+ readonly type: "uint256";
198
+ }];
199
+ readonly name: "Transfer";
200
+ readonly type: "event";
201
+ }, {
202
+ readonly inputs: readonly [];
203
+ readonly name: "BITTENSOR_FEE";
204
+ readonly outputs: readonly [{
205
+ readonly internalType: "uint256";
206
+ readonly name: "";
207
+ readonly type: "uint256";
208
+ }];
209
+ readonly stateMutability: "view";
210
+ readonly type: "function";
211
+ }, {
212
+ readonly inputs: readonly [];
213
+ readonly name: "BRIDGE_ROLE";
214
+ readonly outputs: readonly [{
215
+ readonly internalType: "bytes32";
216
+ readonly name: "";
217
+ readonly type: "bytes32";
218
+ }];
219
+ readonly stateMutability: "view";
220
+ readonly type: "function";
221
+ }, {
222
+ readonly inputs: readonly [];
223
+ readonly name: "DEFAULT_ADMIN_ROLE";
224
+ readonly outputs: readonly [{
225
+ readonly internalType: "bytes32";
226
+ readonly name: "";
227
+ readonly type: "bytes32";
228
+ }];
229
+ readonly stateMutability: "view";
230
+ readonly type: "function";
231
+ }, {
232
+ readonly inputs: readonly [];
233
+ readonly name: "_nonce";
234
+ readonly outputs: readonly [{
235
+ readonly internalType: "uint256";
236
+ readonly name: "";
237
+ readonly type: "uint256";
238
+ }];
239
+ readonly stateMutability: "view";
240
+ readonly type: "function";
241
+ }, {
242
+ readonly inputs: readonly [{
243
+ readonly internalType: "address";
244
+ readonly name: "owner";
245
+ readonly type: "address";
246
+ }, {
247
+ readonly internalType: "address";
248
+ readonly name: "spender";
249
+ readonly type: "address";
250
+ }];
251
+ readonly name: "allowance";
252
+ readonly outputs: readonly [{
253
+ readonly internalType: "uint256";
254
+ readonly name: "";
255
+ readonly type: "uint256";
256
+ }];
257
+ readonly stateMutability: "view";
258
+ readonly type: "function";
259
+ }, {
260
+ readonly inputs: readonly [{
261
+ readonly internalType: "address";
262
+ readonly name: "spender";
263
+ readonly type: "address";
264
+ }, {
265
+ readonly internalType: "uint256";
266
+ readonly name: "amount";
267
+ readonly type: "uint256";
268
+ }];
269
+ readonly name: "approve";
270
+ readonly outputs: readonly [{
271
+ readonly internalType: "bool";
272
+ readonly name: "";
273
+ readonly type: "bool";
274
+ }];
275
+ readonly stateMutability: "nonpayable";
276
+ readonly type: "function";
277
+ }, {
278
+ readonly inputs: readonly [{
279
+ readonly internalType: "address";
280
+ readonly name: "account";
281
+ readonly type: "address";
282
+ }];
283
+ readonly name: "balanceOf";
284
+ readonly outputs: readonly [{
285
+ readonly internalType: "uint256";
286
+ readonly name: "";
287
+ readonly type: "uint256";
288
+ }];
289
+ readonly stateMutability: "view";
290
+ readonly type: "function";
291
+ }, {
292
+ readonly inputs: readonly [{
293
+ readonly internalType: "uint256";
294
+ readonly name: "_amount";
295
+ readonly type: "uint256";
296
+ }, {
297
+ readonly internalType: "string";
298
+ readonly name: "_to";
299
+ readonly type: "string";
300
+ }];
301
+ readonly name: "bridgeBack";
302
+ readonly outputs: readonly [{
303
+ readonly internalType: "bool";
304
+ readonly name: "";
305
+ readonly type: "bool";
306
+ }];
307
+ readonly stateMutability: "nonpayable";
308
+ readonly type: "function";
309
+ }, {
310
+ readonly inputs: readonly [{
311
+ readonly internalType: "string[]";
312
+ readonly name: "_froms";
313
+ readonly type: "string[]";
314
+ }, {
315
+ readonly internalType: "address[]";
316
+ readonly name: "_tos";
317
+ readonly type: "address[]";
318
+ }, {
319
+ readonly internalType: "uint256[]";
320
+ readonly name: "_amounts";
321
+ readonly type: "uint256[]";
322
+ }];
323
+ readonly name: "bridgedTo";
324
+ readonly outputs: readonly [{
325
+ readonly internalType: "bool";
326
+ readonly name: "";
327
+ readonly type: "bool";
328
+ }];
329
+ readonly stateMutability: "nonpayable";
330
+ readonly type: "function";
331
+ }, {
332
+ readonly inputs: readonly [];
333
+ readonly name: "cumulative_bridged";
334
+ readonly outputs: readonly [{
335
+ readonly internalType: "uint256";
336
+ readonly name: "";
337
+ readonly type: "uint256";
338
+ }];
339
+ readonly stateMutability: "view";
340
+ readonly type: "function";
341
+ }, {
342
+ readonly inputs: readonly [];
343
+ readonly name: "cumulative_bridged_back";
344
+ readonly outputs: readonly [{
345
+ readonly internalType: "uint256";
346
+ readonly name: "";
347
+ readonly type: "uint256";
348
+ }];
349
+ readonly stateMutability: "view";
350
+ readonly type: "function";
351
+ }, {
352
+ readonly inputs: readonly [];
353
+ readonly name: "decimals";
354
+ readonly outputs: readonly [{
355
+ readonly internalType: "uint8";
356
+ readonly name: "";
357
+ readonly type: "uint8";
358
+ }];
359
+ readonly stateMutability: "view";
360
+ readonly type: "function";
361
+ }, {
362
+ readonly inputs: readonly [{
363
+ readonly internalType: "address";
364
+ readonly name: "spender";
365
+ readonly type: "address";
366
+ }, {
367
+ readonly internalType: "uint256";
368
+ readonly name: "subtractedValue";
369
+ readonly type: "uint256";
370
+ }];
371
+ readonly name: "decreaseAllowance";
372
+ readonly outputs: readonly [{
373
+ readonly internalType: "bool";
374
+ readonly name: "";
375
+ readonly type: "bool";
376
+ }];
377
+ readonly stateMutability: "nonpayable";
378
+ readonly type: "function";
379
+ }, {
380
+ readonly inputs: readonly [];
381
+ readonly name: "deployer";
382
+ readonly outputs: readonly [{
383
+ readonly internalType: "address";
384
+ readonly name: "";
385
+ readonly type: "address";
386
+ }];
387
+ readonly stateMutability: "view";
388
+ readonly type: "function";
389
+ }, {
390
+ readonly inputs: readonly [{
391
+ readonly internalType: "bytes32";
392
+ readonly name: "role";
393
+ readonly type: "bytes32";
394
+ }];
395
+ readonly name: "getRoleAdmin";
396
+ readonly outputs: readonly [{
397
+ readonly internalType: "bytes32";
398
+ readonly name: "";
399
+ readonly type: "bytes32";
400
+ }];
401
+ readonly stateMutability: "view";
402
+ readonly type: "function";
403
+ }, {
404
+ readonly inputs: readonly [{
405
+ readonly internalType: "bytes32";
406
+ readonly name: "role";
407
+ readonly type: "bytes32";
408
+ }, {
409
+ readonly internalType: "address";
410
+ readonly name: "account";
411
+ readonly type: "address";
412
+ }];
413
+ readonly name: "grantRole";
414
+ readonly outputs: readonly [];
415
+ readonly stateMutability: "nonpayable";
416
+ readonly type: "function";
417
+ }, {
418
+ readonly inputs: readonly [{
419
+ readonly internalType: "bytes32";
420
+ readonly name: "role";
421
+ readonly type: "bytes32";
422
+ }, {
423
+ readonly internalType: "address";
424
+ readonly name: "account";
425
+ readonly type: "address";
426
+ }];
427
+ readonly name: "hasRole";
428
+ readonly outputs: readonly [{
429
+ readonly internalType: "bool";
430
+ readonly name: "";
431
+ readonly type: "bool";
432
+ }];
433
+ readonly stateMutability: "view";
434
+ readonly type: "function";
435
+ }, {
436
+ readonly inputs: readonly [{
437
+ readonly internalType: "address";
438
+ readonly name: "spender";
439
+ readonly type: "address";
440
+ }, {
441
+ readonly internalType: "uint256";
442
+ readonly name: "addedValue";
443
+ readonly type: "uint256";
444
+ }];
445
+ readonly name: "increaseAllowance";
446
+ readonly outputs: readonly [{
447
+ readonly internalType: "bool";
448
+ readonly name: "";
449
+ readonly type: "bool";
450
+ }];
451
+ readonly stateMutability: "nonpayable";
452
+ readonly type: "function";
453
+ }, {
454
+ readonly inputs: readonly [];
455
+ readonly name: "name";
456
+ readonly outputs: readonly [{
457
+ readonly internalType: "string";
458
+ readonly name: "";
459
+ readonly type: "string";
460
+ }];
461
+ readonly stateMutability: "view";
462
+ readonly type: "function";
463
+ }, {
464
+ readonly inputs: readonly [];
465
+ readonly name: "owner";
466
+ readonly outputs: readonly [{
467
+ readonly internalType: "address";
468
+ readonly name: "";
469
+ readonly type: "address";
470
+ }];
471
+ readonly stateMutability: "view";
472
+ readonly type: "function";
473
+ }, {
474
+ readonly inputs: readonly [{
475
+ readonly internalType: "address";
476
+ readonly name: "_token";
477
+ readonly type: "address";
478
+ }];
479
+ readonly name: "reclaimToken";
480
+ readonly outputs: readonly [];
481
+ readonly stateMutability: "nonpayable";
482
+ readonly type: "function";
483
+ }, {
484
+ readonly inputs: readonly [];
485
+ readonly name: "renounceOwnership";
486
+ readonly outputs: readonly [];
487
+ readonly stateMutability: "nonpayable";
488
+ readonly type: "function";
489
+ }, {
490
+ readonly inputs: readonly [{
491
+ readonly internalType: "bytes32";
492
+ readonly name: "role";
493
+ readonly type: "bytes32";
494
+ }, {
495
+ readonly internalType: "address";
496
+ readonly name: "account";
497
+ readonly type: "address";
498
+ }];
499
+ readonly name: "renounceRole";
500
+ readonly outputs: readonly [];
501
+ readonly stateMutability: "nonpayable";
502
+ readonly type: "function";
503
+ }, {
504
+ readonly inputs: readonly [{
505
+ readonly internalType: "bytes32";
506
+ readonly name: "role";
507
+ readonly type: "bytes32";
508
+ }, {
509
+ readonly internalType: "address";
510
+ readonly name: "account";
511
+ readonly type: "address";
512
+ }];
513
+ readonly name: "revokeRole";
514
+ readonly outputs: readonly [];
515
+ readonly stateMutability: "nonpayable";
516
+ readonly type: "function";
517
+ }, {
518
+ readonly inputs: readonly [{
519
+ readonly internalType: "address";
520
+ readonly name: "_bridge";
521
+ readonly type: "address";
522
+ }];
523
+ readonly name: "setBridge";
524
+ readonly outputs: readonly [{
525
+ readonly internalType: "bool";
526
+ readonly name: "";
527
+ readonly type: "bool";
528
+ }];
529
+ readonly stateMutability: "nonpayable";
530
+ readonly type: "function";
531
+ }, {
532
+ readonly inputs: readonly [{
533
+ readonly internalType: "bytes4";
534
+ readonly name: "interfaceId";
535
+ readonly type: "bytes4";
536
+ }];
537
+ readonly name: "supportsInterface";
538
+ readonly outputs: readonly [{
539
+ readonly internalType: "bool";
540
+ readonly name: "";
541
+ readonly type: "bool";
542
+ }];
543
+ readonly stateMutability: "view";
544
+ readonly type: "function";
545
+ }, {
546
+ readonly inputs: readonly [];
547
+ readonly name: "symbol";
548
+ readonly outputs: readonly [{
549
+ readonly internalType: "string";
550
+ readonly name: "";
551
+ readonly type: "string";
552
+ }];
553
+ readonly stateMutability: "view";
554
+ readonly type: "function";
555
+ }, {
556
+ readonly inputs: readonly [];
557
+ readonly name: "totalSupply";
558
+ readonly outputs: readonly [{
559
+ readonly internalType: "uint256";
560
+ readonly name: "";
561
+ readonly type: "uint256";
562
+ }];
563
+ readonly stateMutability: "view";
564
+ readonly type: "function";
565
+ }, {
566
+ readonly inputs: readonly [{
567
+ readonly internalType: "address";
568
+ readonly name: "to";
569
+ readonly type: "address";
570
+ }, {
571
+ readonly internalType: "uint256";
572
+ readonly name: "amount";
573
+ readonly type: "uint256";
574
+ }];
575
+ readonly name: "transfer";
576
+ readonly outputs: readonly [{
577
+ readonly internalType: "bool";
578
+ readonly name: "";
579
+ readonly type: "bool";
580
+ }];
581
+ readonly stateMutability: "nonpayable";
582
+ readonly type: "function";
583
+ }, {
584
+ readonly inputs: readonly [{
585
+ readonly internalType: "address";
586
+ readonly name: "from";
587
+ readonly type: "address";
588
+ }, {
589
+ readonly internalType: "address";
590
+ readonly name: "to";
591
+ readonly type: "address";
592
+ }, {
593
+ readonly internalType: "uint256";
594
+ readonly name: "amount";
595
+ readonly type: "uint256";
596
+ }];
597
+ readonly name: "transferFrom";
598
+ readonly outputs: readonly [{
599
+ readonly internalType: "bool";
600
+ readonly name: "";
601
+ readonly type: "bool";
602
+ }];
603
+ readonly stateMutability: "nonpayable";
604
+ readonly type: "function";
605
+ }, {
606
+ readonly inputs: readonly [{
607
+ readonly internalType: "address";
608
+ readonly name: "newOwner";
609
+ readonly type: "address";
610
+ }];
611
+ readonly name: "transferOwnership";
612
+ readonly outputs: readonly [];
613
+ readonly stateMutability: "nonpayable";
614
+ readonly type: "function";
615
+ }];
616
+ /**
617
+ * Type-safe ABI for wTAO
618
+ */
619
+ export type wTAOAbi = typeof wTAOAbi;
620
+ /**
621
+ * Contract instance type for wTAO
622
+ */
623
+ export type wTAOContract = any;
624
+ /**
625
+ * wTAO Contract Class
626
+ *
627
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
628
+ *
629
+ * @example
630
+ * ```typescript
631
+ * import { createPublicClient, createWalletClient, http } from 'viem';
632
+ * import { mainnet } from 'viem/chains';
633
+ * import { wTAO } from 'wTAO';
634
+ *
635
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
636
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
637
+ *
638
+ * const contract = new wTAO('0x...', { publicClient, walletClient });
639
+ *
640
+ * // Read functions
641
+ * const result = await contract.balanceOf('0x...');
642
+ *
643
+ * // Write functions
644
+ * const hash = await contract.transfer('0x...', 1000n);
645
+ *
646
+ * // Simulate transactions (dry-run)
647
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
648
+ * console.log('Gas estimate:', simulation.request.gas);
649
+ *
650
+ * // Watch events
651
+ * const unwatch = contract.watch.Transfer((event) => {
652
+ * console.log('Transfer event:', event);
653
+ * });
654
+ * ```
655
+ */
656
+ export declare class wTAO {
657
+ private contract;
658
+ private contractAddress;
659
+ private publicClient;
660
+ constructor(address: Address, clients: {
661
+ publicClient: PublicClient;
662
+ walletClient?: WalletClient;
663
+ });
664
+ /**
665
+ * Get the contract address
666
+ */
667
+ get address(): Address;
668
+ /**
669
+ * Get the underlying viem contract instance.
670
+ */
671
+ getContract(): wTAOContract;
672
+ /**
673
+ * BITTENSOR_FEE
674
+ * view
675
+ */
676
+ BITTENSOR_FEE(): Promise<bigint>;
677
+ /**
678
+ * BRIDGE_ROLE
679
+ * view
680
+ */
681
+ BRIDGE_ROLE(): Promise<`0x${string}`>;
682
+ /**
683
+ * DEFAULT_ADMIN_ROLE
684
+ * view
685
+ */
686
+ DEFAULT_ADMIN_ROLE(): Promise<`0x${string}`>;
687
+ /**
688
+ * _nonce
689
+ * view
690
+ */
691
+ _nonce(): Promise<bigint>;
692
+ /**
693
+ * allowance
694
+ * view
695
+ */
696
+ allowance(owner: `0x${string}`, spender: `0x${string}`): Promise<bigint>;
697
+ /**
698
+ * balanceOf
699
+ * view
700
+ */
701
+ balanceOf(account: `0x${string}`): Promise<bigint>;
702
+ /**
703
+ * cumulative_bridged
704
+ * view
705
+ */
706
+ cumulative_bridged(): Promise<bigint>;
707
+ /**
708
+ * cumulative_bridged_back
709
+ * view
710
+ */
711
+ cumulative_bridged_back(): Promise<bigint>;
712
+ /**
713
+ * decimals
714
+ * view
715
+ */
716
+ decimals(): Promise<bigint>;
717
+ /**
718
+ * deployer
719
+ * view
720
+ */
721
+ deployer(): Promise<`0x${string}`>;
722
+ /**
723
+ * getRoleAdmin
724
+ * view
725
+ */
726
+ getRoleAdmin(role: `0x${string}`): Promise<`0x${string}`>;
727
+ /**
728
+ * hasRole
729
+ * view
730
+ */
731
+ hasRole(role: `0x${string}`, account: `0x${string}`): Promise<boolean>;
732
+ /**
733
+ * name
734
+ * view
735
+ */
736
+ name(): Promise<string>;
737
+ /**
738
+ * owner
739
+ * view
740
+ */
741
+ owner(): Promise<`0x${string}`>;
742
+ /**
743
+ * supportsInterface
744
+ * view
745
+ */
746
+ supportsInterface(interfaceId: `0x${string}`): Promise<boolean>;
747
+ /**
748
+ * symbol
749
+ * view
750
+ */
751
+ symbol(): Promise<string>;
752
+ /**
753
+ * totalSupply
754
+ * view
755
+ */
756
+ totalSupply(): Promise<bigint>;
757
+ /**
758
+ * approve
759
+ * nonpayable
760
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
761
+ */
762
+ approve(spender: `0x${string}`, amount: bigint, options?: {
763
+ accessList?: import('viem').AccessList;
764
+ authorizationList?: import('viem').AuthorizationList;
765
+ chain?: import('viem').Chain | null;
766
+ dataSuffix?: `0x${string}`;
767
+ gas?: bigint;
768
+ gasPrice?: bigint;
769
+ maxFeePerGas?: bigint;
770
+ maxPriorityFeePerGas?: bigint;
771
+ nonce?: number;
772
+ value?: bigint;
773
+ }): Promise<`0x${string}`>;
774
+ /**
775
+ * bridgeBack
776
+ * nonpayable
777
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
778
+ */
779
+ bridgeBack(_amount: bigint, _to: string, options?: {
780
+ accessList?: import('viem').AccessList;
781
+ authorizationList?: import('viem').AuthorizationList;
782
+ chain?: import('viem').Chain | null;
783
+ dataSuffix?: `0x${string}`;
784
+ gas?: bigint;
785
+ gasPrice?: bigint;
786
+ maxFeePerGas?: bigint;
787
+ maxPriorityFeePerGas?: bigint;
788
+ nonce?: number;
789
+ value?: bigint;
790
+ }): Promise<`0x${string}`>;
791
+ /**
792
+ * bridgedTo
793
+ * nonpayable
794
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
795
+ */
796
+ bridgedTo(_froms: string[], _tos: `0x${string}`[], _amounts: bigint[], options?: {
797
+ accessList?: import('viem').AccessList;
798
+ authorizationList?: import('viem').AuthorizationList;
799
+ chain?: import('viem').Chain | null;
800
+ dataSuffix?: `0x${string}`;
801
+ gas?: bigint;
802
+ gasPrice?: bigint;
803
+ maxFeePerGas?: bigint;
804
+ maxPriorityFeePerGas?: bigint;
805
+ nonce?: number;
806
+ value?: bigint;
807
+ }): Promise<`0x${string}`>;
808
+ /**
809
+ * decreaseAllowance
810
+ * nonpayable
811
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
812
+ */
813
+ decreaseAllowance(spender: `0x${string}`, subtractedValue: bigint, options?: {
814
+ accessList?: import('viem').AccessList;
815
+ authorizationList?: import('viem').AuthorizationList;
816
+ chain?: import('viem').Chain | null;
817
+ dataSuffix?: `0x${string}`;
818
+ gas?: bigint;
819
+ gasPrice?: bigint;
820
+ maxFeePerGas?: bigint;
821
+ maxPriorityFeePerGas?: bigint;
822
+ nonce?: number;
823
+ value?: bigint;
824
+ }): Promise<`0x${string}`>;
825
+ /**
826
+ * grantRole
827
+ * nonpayable
828
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
829
+ */
830
+ grantRole(role: `0x${string}`, account: `0x${string}`, options?: {
831
+ accessList?: import('viem').AccessList;
832
+ authorizationList?: import('viem').AuthorizationList;
833
+ chain?: import('viem').Chain | null;
834
+ dataSuffix?: `0x${string}`;
835
+ gas?: bigint;
836
+ gasPrice?: bigint;
837
+ maxFeePerGas?: bigint;
838
+ maxPriorityFeePerGas?: bigint;
839
+ nonce?: number;
840
+ value?: bigint;
841
+ }): Promise<`0x${string}`>;
842
+ /**
843
+ * increaseAllowance
844
+ * nonpayable
845
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
846
+ */
847
+ increaseAllowance(spender: `0x${string}`, addedValue: bigint, options?: {
848
+ accessList?: import('viem').AccessList;
849
+ authorizationList?: import('viem').AuthorizationList;
850
+ chain?: import('viem').Chain | null;
851
+ dataSuffix?: `0x${string}`;
852
+ gas?: bigint;
853
+ gasPrice?: bigint;
854
+ maxFeePerGas?: bigint;
855
+ maxPriorityFeePerGas?: bigint;
856
+ nonce?: number;
857
+ value?: bigint;
858
+ }): Promise<`0x${string}`>;
859
+ /**
860
+ * reclaimToken
861
+ * nonpayable
862
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
863
+ */
864
+ reclaimToken(_token: `0x${string}`, options?: {
865
+ accessList?: import('viem').AccessList;
866
+ authorizationList?: import('viem').AuthorizationList;
867
+ chain?: import('viem').Chain | null;
868
+ dataSuffix?: `0x${string}`;
869
+ gas?: bigint;
870
+ gasPrice?: bigint;
871
+ maxFeePerGas?: bigint;
872
+ maxPriorityFeePerGas?: bigint;
873
+ nonce?: number;
874
+ value?: bigint;
875
+ }): Promise<`0x${string}`>;
876
+ /**
877
+ * renounceOwnership
878
+ * nonpayable
879
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
880
+ */
881
+ renounceOwnership(options?: {
882
+ accessList?: import('viem').AccessList;
883
+ authorizationList?: import('viem').AuthorizationList;
884
+ chain?: import('viem').Chain | null;
885
+ dataSuffix?: `0x${string}`;
886
+ gas?: bigint;
887
+ gasPrice?: bigint;
888
+ maxFeePerGas?: bigint;
889
+ maxPriorityFeePerGas?: bigint;
890
+ nonce?: number;
891
+ value?: bigint;
892
+ }): Promise<`0x${string}`>;
893
+ /**
894
+ * renounceRole
895
+ * nonpayable
896
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
897
+ */
898
+ renounceRole(role: `0x${string}`, account: `0x${string}`, options?: {
899
+ accessList?: import('viem').AccessList;
900
+ authorizationList?: import('viem').AuthorizationList;
901
+ chain?: import('viem').Chain | null;
902
+ dataSuffix?: `0x${string}`;
903
+ gas?: bigint;
904
+ gasPrice?: bigint;
905
+ maxFeePerGas?: bigint;
906
+ maxPriorityFeePerGas?: bigint;
907
+ nonce?: number;
908
+ value?: bigint;
909
+ }): Promise<`0x${string}`>;
910
+ /**
911
+ * revokeRole
912
+ * nonpayable
913
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
914
+ */
915
+ revokeRole(role: `0x${string}`, account: `0x${string}`, options?: {
916
+ accessList?: import('viem').AccessList;
917
+ authorizationList?: import('viem').AuthorizationList;
918
+ chain?: import('viem').Chain | null;
919
+ dataSuffix?: `0x${string}`;
920
+ gas?: bigint;
921
+ gasPrice?: bigint;
922
+ maxFeePerGas?: bigint;
923
+ maxPriorityFeePerGas?: bigint;
924
+ nonce?: number;
925
+ value?: bigint;
926
+ }): Promise<`0x${string}`>;
927
+ /**
928
+ * setBridge
929
+ * nonpayable
930
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
931
+ */
932
+ setBridge(_bridge: `0x${string}`, options?: {
933
+ accessList?: import('viem').AccessList;
934
+ authorizationList?: import('viem').AuthorizationList;
935
+ chain?: import('viem').Chain | null;
936
+ dataSuffix?: `0x${string}`;
937
+ gas?: bigint;
938
+ gasPrice?: bigint;
939
+ maxFeePerGas?: bigint;
940
+ maxPriorityFeePerGas?: bigint;
941
+ nonce?: number;
942
+ value?: bigint;
943
+ }): Promise<`0x${string}`>;
944
+ /**
945
+ * transfer
946
+ * nonpayable
947
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
948
+ */
949
+ transfer(to: `0x${string}`, amount: bigint, options?: {
950
+ accessList?: import('viem').AccessList;
951
+ authorizationList?: import('viem').AuthorizationList;
952
+ chain?: import('viem').Chain | null;
953
+ dataSuffix?: `0x${string}`;
954
+ gas?: bigint;
955
+ gasPrice?: bigint;
956
+ maxFeePerGas?: bigint;
957
+ maxPriorityFeePerGas?: bigint;
958
+ nonce?: number;
959
+ value?: bigint;
960
+ }): Promise<`0x${string}`>;
961
+ /**
962
+ * transferFrom
963
+ * nonpayable
964
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
965
+ */
966
+ transferFrom(from: `0x${string}`, to: `0x${string}`, amount: bigint, options?: {
967
+ accessList?: import('viem').AccessList;
968
+ authorizationList?: import('viem').AuthorizationList;
969
+ chain?: import('viem').Chain | null;
970
+ dataSuffix?: `0x${string}`;
971
+ gas?: bigint;
972
+ gasPrice?: bigint;
973
+ maxFeePerGas?: bigint;
974
+ maxPriorityFeePerGas?: bigint;
975
+ nonce?: number;
976
+ value?: bigint;
977
+ }): Promise<`0x${string}`>;
978
+ /**
979
+ * transferOwnership
980
+ * nonpayable
981
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
982
+ */
983
+ transferOwnership(newOwner: `0x${string}`, options?: {
984
+ accessList?: import('viem').AccessList;
985
+ authorizationList?: import('viem').AuthorizationList;
986
+ chain?: import('viem').Chain | null;
987
+ dataSuffix?: `0x${string}`;
988
+ gas?: bigint;
989
+ gasPrice?: bigint;
990
+ maxFeePerGas?: bigint;
991
+ maxPriorityFeePerGas?: bigint;
992
+ nonce?: number;
993
+ value?: bigint;
994
+ }): Promise<`0x${string}`>;
995
+ /**
996
+ * Simulate contract write operations (dry-run without sending transaction)
997
+ *
998
+ * @example
999
+ * const result = await contract.simulate.transfer('0x...', 1000n);
1000
+ * console.log('Gas estimate:', result.request.gas);
1001
+ * console.log('Would succeed:', result.result);
1002
+ */
1003
+ get simulate(): {
1004
+ /**
1005
+ * Simulate approve
1006
+ * Returns gas estimate and result without sending transaction
1007
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1008
+ */
1009
+ approve(spender: `0x${string}`, amount: bigint, options?: {
1010
+ accessList?: import("viem").AccessList;
1011
+ authorizationList?: import("viem").AuthorizationList;
1012
+ chain?: import("viem").Chain | null;
1013
+ dataSuffix?: `0x${string}`;
1014
+ gas?: bigint;
1015
+ gasPrice?: bigint;
1016
+ maxFeePerGas?: bigint;
1017
+ maxPriorityFeePerGas?: bigint;
1018
+ nonce?: number;
1019
+ value?: bigint;
1020
+ }): Promise<boolean>;
1021
+ /**
1022
+ * Simulate bridgeBack
1023
+ * Returns gas estimate and result without sending transaction
1024
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1025
+ */
1026
+ bridgeBack(_amount: bigint, _to: string, options?: {
1027
+ accessList?: import("viem").AccessList;
1028
+ authorizationList?: import("viem").AuthorizationList;
1029
+ chain?: import("viem").Chain | null;
1030
+ dataSuffix?: `0x${string}`;
1031
+ gas?: bigint;
1032
+ gasPrice?: bigint;
1033
+ maxFeePerGas?: bigint;
1034
+ maxPriorityFeePerGas?: bigint;
1035
+ nonce?: number;
1036
+ value?: bigint;
1037
+ }): Promise<boolean>;
1038
+ /**
1039
+ * Simulate bridgedTo
1040
+ * Returns gas estimate and result without sending transaction
1041
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1042
+ */
1043
+ bridgedTo(_froms: string[], _tos: `0x${string}`[], _amounts: bigint[], options?: {
1044
+ accessList?: import("viem").AccessList;
1045
+ authorizationList?: import("viem").AuthorizationList;
1046
+ chain?: import("viem").Chain | null;
1047
+ dataSuffix?: `0x${string}`;
1048
+ gas?: bigint;
1049
+ gasPrice?: bigint;
1050
+ maxFeePerGas?: bigint;
1051
+ maxPriorityFeePerGas?: bigint;
1052
+ nonce?: number;
1053
+ value?: bigint;
1054
+ }): Promise<boolean>;
1055
+ /**
1056
+ * Simulate decreaseAllowance
1057
+ * Returns gas estimate and result without sending transaction
1058
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1059
+ */
1060
+ decreaseAllowance(spender: `0x${string}`, subtractedValue: bigint, options?: {
1061
+ accessList?: import("viem").AccessList;
1062
+ authorizationList?: import("viem").AuthorizationList;
1063
+ chain?: import("viem").Chain | null;
1064
+ dataSuffix?: `0x${string}`;
1065
+ gas?: bigint;
1066
+ gasPrice?: bigint;
1067
+ maxFeePerGas?: bigint;
1068
+ maxPriorityFeePerGas?: bigint;
1069
+ nonce?: number;
1070
+ value?: bigint;
1071
+ }): Promise<boolean>;
1072
+ /**
1073
+ * Simulate grantRole
1074
+ * Returns gas estimate and result without sending transaction
1075
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1076
+ */
1077
+ grantRole(role: `0x${string}`, account: `0x${string}`, options?: {
1078
+ accessList?: import("viem").AccessList;
1079
+ authorizationList?: import("viem").AuthorizationList;
1080
+ chain?: import("viem").Chain | null;
1081
+ dataSuffix?: `0x${string}`;
1082
+ gas?: bigint;
1083
+ gasPrice?: bigint;
1084
+ maxFeePerGas?: bigint;
1085
+ maxPriorityFeePerGas?: bigint;
1086
+ nonce?: number;
1087
+ value?: bigint;
1088
+ }): Promise<void>;
1089
+ /**
1090
+ * Simulate increaseAllowance
1091
+ * Returns gas estimate and result without sending transaction
1092
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1093
+ */
1094
+ increaseAllowance(spender: `0x${string}`, addedValue: bigint, options?: {
1095
+ accessList?: import("viem").AccessList;
1096
+ authorizationList?: import("viem").AuthorizationList;
1097
+ chain?: import("viem").Chain | null;
1098
+ dataSuffix?: `0x${string}`;
1099
+ gas?: bigint;
1100
+ gasPrice?: bigint;
1101
+ maxFeePerGas?: bigint;
1102
+ maxPriorityFeePerGas?: bigint;
1103
+ nonce?: number;
1104
+ value?: bigint;
1105
+ }): Promise<boolean>;
1106
+ /**
1107
+ * Simulate reclaimToken
1108
+ * Returns gas estimate and result without sending transaction
1109
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1110
+ */
1111
+ reclaimToken(_token: `0x${string}`, options?: {
1112
+ accessList?: import("viem").AccessList;
1113
+ authorizationList?: import("viem").AuthorizationList;
1114
+ chain?: import("viem").Chain | null;
1115
+ dataSuffix?: `0x${string}`;
1116
+ gas?: bigint;
1117
+ gasPrice?: bigint;
1118
+ maxFeePerGas?: bigint;
1119
+ maxPriorityFeePerGas?: bigint;
1120
+ nonce?: number;
1121
+ value?: bigint;
1122
+ }): Promise<void>;
1123
+ /**
1124
+ * Simulate renounceOwnership
1125
+ * Returns gas estimate and result without sending transaction
1126
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1127
+ */
1128
+ renounceOwnership(options?: {
1129
+ accessList?: import("viem").AccessList;
1130
+ authorizationList?: import("viem").AuthorizationList;
1131
+ chain?: import("viem").Chain | null;
1132
+ dataSuffix?: `0x${string}`;
1133
+ gas?: bigint;
1134
+ gasPrice?: bigint;
1135
+ maxFeePerGas?: bigint;
1136
+ maxPriorityFeePerGas?: bigint;
1137
+ nonce?: number;
1138
+ value?: bigint;
1139
+ }): Promise<void>;
1140
+ /**
1141
+ * Simulate renounceRole
1142
+ * Returns gas estimate and result without sending transaction
1143
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1144
+ */
1145
+ renounceRole(role: `0x${string}`, account: `0x${string}`, options?: {
1146
+ accessList?: import("viem").AccessList;
1147
+ authorizationList?: import("viem").AuthorizationList;
1148
+ chain?: import("viem").Chain | null;
1149
+ dataSuffix?: `0x${string}`;
1150
+ gas?: bigint;
1151
+ gasPrice?: bigint;
1152
+ maxFeePerGas?: bigint;
1153
+ maxPriorityFeePerGas?: bigint;
1154
+ nonce?: number;
1155
+ value?: bigint;
1156
+ }): Promise<void>;
1157
+ /**
1158
+ * Simulate revokeRole
1159
+ * Returns gas estimate and result without sending transaction
1160
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1161
+ */
1162
+ revokeRole(role: `0x${string}`, account: `0x${string}`, options?: {
1163
+ accessList?: import("viem").AccessList;
1164
+ authorizationList?: import("viem").AuthorizationList;
1165
+ chain?: import("viem").Chain | null;
1166
+ dataSuffix?: `0x${string}`;
1167
+ gas?: bigint;
1168
+ gasPrice?: bigint;
1169
+ maxFeePerGas?: bigint;
1170
+ maxPriorityFeePerGas?: bigint;
1171
+ nonce?: number;
1172
+ value?: bigint;
1173
+ }): Promise<void>;
1174
+ /**
1175
+ * Simulate setBridge
1176
+ * Returns gas estimate and result without sending transaction
1177
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1178
+ */
1179
+ setBridge(_bridge: `0x${string}`, options?: {
1180
+ accessList?: import("viem").AccessList;
1181
+ authorizationList?: import("viem").AuthorizationList;
1182
+ chain?: import("viem").Chain | null;
1183
+ dataSuffix?: `0x${string}`;
1184
+ gas?: bigint;
1185
+ gasPrice?: bigint;
1186
+ maxFeePerGas?: bigint;
1187
+ maxPriorityFeePerGas?: bigint;
1188
+ nonce?: number;
1189
+ value?: bigint;
1190
+ }): Promise<boolean>;
1191
+ /**
1192
+ * Simulate transfer
1193
+ * Returns gas estimate and result without sending transaction
1194
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1195
+ */
1196
+ transfer(to: `0x${string}`, amount: bigint, options?: {
1197
+ accessList?: import("viem").AccessList;
1198
+ authorizationList?: import("viem").AuthorizationList;
1199
+ chain?: import("viem").Chain | null;
1200
+ dataSuffix?: `0x${string}`;
1201
+ gas?: bigint;
1202
+ gasPrice?: bigint;
1203
+ maxFeePerGas?: bigint;
1204
+ maxPriorityFeePerGas?: bigint;
1205
+ nonce?: number;
1206
+ value?: bigint;
1207
+ }): Promise<boolean>;
1208
+ /**
1209
+ * Simulate transferFrom
1210
+ * Returns gas estimate and result without sending transaction
1211
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1212
+ */
1213
+ transferFrom(from: `0x${string}`, to: `0x${string}`, amount: bigint, options?: {
1214
+ accessList?: import("viem").AccessList;
1215
+ authorizationList?: import("viem").AuthorizationList;
1216
+ chain?: import("viem").Chain | null;
1217
+ dataSuffix?: `0x${string}`;
1218
+ gas?: bigint;
1219
+ gasPrice?: bigint;
1220
+ maxFeePerGas?: bigint;
1221
+ maxPriorityFeePerGas?: bigint;
1222
+ nonce?: number;
1223
+ value?: bigint;
1224
+ }): Promise<boolean>;
1225
+ /**
1226
+ * Simulate transferOwnership
1227
+ * Returns gas estimate and result without sending transaction
1228
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1229
+ */
1230
+ transferOwnership(newOwner: `0x${string}`, options?: {
1231
+ accessList?: import("viem").AccessList;
1232
+ authorizationList?: import("viem").AuthorizationList;
1233
+ chain?: import("viem").Chain | null;
1234
+ dataSuffix?: `0x${string}`;
1235
+ gas?: bigint;
1236
+ gasPrice?: bigint;
1237
+ maxFeePerGas?: bigint;
1238
+ maxPriorityFeePerGas?: bigint;
1239
+ nonce?: number;
1240
+ value?: bigint;
1241
+ }): Promise<void>;
1242
+ };
1243
+ /**
1244
+ * Watch contract events
1245
+ *
1246
+ * @example
1247
+ * // Watch all Transfer events
1248
+ * const unwatch = contract.watch.Transfer((event) => {
1249
+ * console.log('Transfer:', event);
1250
+ * });
1251
+ *
1252
+ * // Stop watching
1253
+ * unwatch();
1254
+ */
1255
+ get watch(): {
1256
+ /**
1257
+ * Watch Approval events
1258
+ * @param callback Function to call when event is emitted
1259
+ * @param filter Optional filter for indexed parameters
1260
+ * @returns Unwatch function to stop listening
1261
+ */
1262
+ Approval: (callback: (event: {
1263
+ owner: `0x${string}`;
1264
+ spender: `0x${string}`;
1265
+ value: bigint;
1266
+ }) => void, filter?: {
1267
+ owner?: `0x${string}` | `0x${string}`[] | null;
1268
+ spender?: `0x${string}` | `0x${string}`[] | null;
1269
+ }) => () => void;
1270
+ /**
1271
+ * Watch BridgeSet events
1272
+ * @param callback Function to call when event is emitted
1273
+ * @param filter Optional filter for indexed parameters
1274
+ * @returns Unwatch function to stop listening
1275
+ */
1276
+ BridgeSet: (callback: (event: {
1277
+ bridge: `0x${string}`;
1278
+ }) => void, filter?: {
1279
+ bridge?: `0x${string}` | `0x${string}`[] | null;
1280
+ }) => () => void;
1281
+ /**
1282
+ * Watch BridgedBack events
1283
+ * @param callback Function to call when event is emitted
1284
+ * @param filter Optional filter for indexed parameters
1285
+ * @returns Unwatch function to stop listening
1286
+ */
1287
+ BridgedBack: (callback: (event: {
1288
+ from: `0x${string}`;
1289
+ amount: bigint;
1290
+ to: string;
1291
+ nonce: bigint;
1292
+ }) => void, filter?: {
1293
+ from?: `0x${string}` | `0x${string}`[] | null;
1294
+ }) => () => void;
1295
+ /**
1296
+ * Watch BridgedTo events
1297
+ * @param callback Function to call when event is emitted
1298
+ * @param filter Optional filter for indexed parameters
1299
+ * @returns Unwatch function to stop listening
1300
+ */
1301
+ BridgedTo: (callback: (event: {
1302
+ from: string;
1303
+ to: `0x${string}`;
1304
+ amount: bigint;
1305
+ nonce: bigint;
1306
+ }) => void, filter?: {
1307
+ to?: `0x${string}` | `0x${string}`[] | null;
1308
+ }) => () => void;
1309
+ /**
1310
+ * Watch Mint events
1311
+ * @param callback Function to call when event is emitted
1312
+ * @param filter Optional filter for indexed parameters
1313
+ * @returns Unwatch function to stop listening
1314
+ */
1315
+ Mint: (callback: (event: {
1316
+ to: `0x${string}`;
1317
+ amount: bigint;
1318
+ }) => void, filter?: {
1319
+ to?: `0x${string}` | `0x${string}`[] | null;
1320
+ }) => () => void;
1321
+ /**
1322
+ * Watch OwnershipTransferred events
1323
+ * @param callback Function to call when event is emitted
1324
+ * @param filter Optional filter for indexed parameters
1325
+ * @returns Unwatch function to stop listening
1326
+ */
1327
+ OwnershipTransferred: (callback: (event: {
1328
+ previousOwner: `0x${string}`;
1329
+ newOwner: `0x${string}`;
1330
+ }) => void, filter?: {
1331
+ previousOwner?: `0x${string}` | `0x${string}`[] | null;
1332
+ newOwner?: `0x${string}` | `0x${string}`[] | null;
1333
+ }) => () => void;
1334
+ /**
1335
+ * Watch RoleAdminChanged events
1336
+ * @param callback Function to call when event is emitted
1337
+ * @param filter Optional filter for indexed parameters
1338
+ * @returns Unwatch function to stop listening
1339
+ */
1340
+ RoleAdminChanged: (callback: (event: {
1341
+ role: `0x${string}`;
1342
+ previousAdminRole: `0x${string}`;
1343
+ newAdminRole: `0x${string}`;
1344
+ }) => void, filter?: {
1345
+ role?: `0x${string}` | `0x${string}`[] | null;
1346
+ previousAdminRole?: `0x${string}` | `0x${string}`[] | null;
1347
+ newAdminRole?: `0x${string}` | `0x${string}`[] | null;
1348
+ }) => () => void;
1349
+ /**
1350
+ * Watch RoleGranted events
1351
+ * @param callback Function to call when event is emitted
1352
+ * @param filter Optional filter for indexed parameters
1353
+ * @returns Unwatch function to stop listening
1354
+ */
1355
+ RoleGranted: (callback: (event: {
1356
+ role: `0x${string}`;
1357
+ account: `0x${string}`;
1358
+ sender: `0x${string}`;
1359
+ }) => void, filter?: {
1360
+ role?: `0x${string}` | `0x${string}`[] | null;
1361
+ account?: `0x${string}` | `0x${string}`[] | null;
1362
+ sender?: `0x${string}` | `0x${string}`[] | null;
1363
+ }) => () => void;
1364
+ /**
1365
+ * Watch RoleRevoked events
1366
+ * @param callback Function to call when event is emitted
1367
+ * @param filter Optional filter for indexed parameters
1368
+ * @returns Unwatch function to stop listening
1369
+ */
1370
+ RoleRevoked: (callback: (event: {
1371
+ role: `0x${string}`;
1372
+ account: `0x${string}`;
1373
+ sender: `0x${string}`;
1374
+ }) => void, filter?: {
1375
+ role?: `0x${string}` | `0x${string}`[] | null;
1376
+ account?: `0x${string}` | `0x${string}`[] | null;
1377
+ sender?: `0x${string}` | `0x${string}`[] | null;
1378
+ }) => () => void;
1379
+ /**
1380
+ * Watch Transfer events
1381
+ * @param callback Function to call when event is emitted
1382
+ * @param filter Optional filter for indexed parameters
1383
+ * @returns Unwatch function to stop listening
1384
+ */
1385
+ Transfer: (callback: (event: {
1386
+ from: `0x${string}`;
1387
+ to: `0x${string}`;
1388
+ value: bigint;
1389
+ }) => void, filter?: {
1390
+ from?: `0x${string}` | `0x${string}`[] | null;
1391
+ to?: `0x${string}` | `0x${string}`[] | null;
1392
+ }) => () => void;
1393
+ };
1394
+ }