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