@gitmyabi/sttao 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,3707 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PlxTAO_json = exports.PlxTAO_jsonAbi = void 0;
4
+ const viem_1 = require("viem");
5
+ /**
6
+ * PlxTAO_json ABI
7
+ *
8
+ * This ABI is typed using viem's type system for full type safety.
9
+ */
10
+ exports.PlxTAO_jsonAbi = [
11
+ {
12
+ "inputs": [],
13
+ "stateMutability": "nonpayable",
14
+ "type": "constructor"
15
+ },
16
+ {
17
+ "inputs": [],
18
+ "name": "AccessControlBadConfirmation",
19
+ "type": "error"
20
+ },
21
+ {
22
+ "inputs": [
23
+ {
24
+ "internalType": "address",
25
+ "name": "account",
26
+ "type": "address"
27
+ },
28
+ {
29
+ "internalType": "bytes32",
30
+ "name": "neededRole",
31
+ "type": "bytes32"
32
+ }
33
+ ],
34
+ "name": "AccessControlUnauthorizedAccount",
35
+ "type": "error"
36
+ },
37
+ {
38
+ "inputs": [
39
+ {
40
+ "internalType": "address",
41
+ "name": "target",
42
+ "type": "address"
43
+ }
44
+ ],
45
+ "name": "AddressEmptyCode",
46
+ "type": "error"
47
+ },
48
+ {
49
+ "inputs": [
50
+ {
51
+ "internalType": "address",
52
+ "name": "account",
53
+ "type": "address"
54
+ }
55
+ ],
56
+ "name": "AddressInsufficientBalance",
57
+ "type": "error"
58
+ },
59
+ {
60
+ "inputs": [
61
+ {
62
+ "internalType": "address",
63
+ "name": "spender",
64
+ "type": "address"
65
+ },
66
+ {
67
+ "internalType": "uint256",
68
+ "name": "allowance",
69
+ "type": "uint256"
70
+ },
71
+ {
72
+ "internalType": "uint256",
73
+ "name": "needed",
74
+ "type": "uint256"
75
+ }
76
+ ],
77
+ "name": "ERC20InsufficientAllowance",
78
+ "type": "error"
79
+ },
80
+ {
81
+ "inputs": [
82
+ {
83
+ "internalType": "address",
84
+ "name": "sender",
85
+ "type": "address"
86
+ },
87
+ {
88
+ "internalType": "uint256",
89
+ "name": "balance",
90
+ "type": "uint256"
91
+ },
92
+ {
93
+ "internalType": "uint256",
94
+ "name": "needed",
95
+ "type": "uint256"
96
+ }
97
+ ],
98
+ "name": "ERC20InsufficientBalance",
99
+ "type": "error"
100
+ },
101
+ {
102
+ "inputs": [
103
+ {
104
+ "internalType": "address",
105
+ "name": "approver",
106
+ "type": "address"
107
+ }
108
+ ],
109
+ "name": "ERC20InvalidApprover",
110
+ "type": "error"
111
+ },
112
+ {
113
+ "inputs": [
114
+ {
115
+ "internalType": "address",
116
+ "name": "receiver",
117
+ "type": "address"
118
+ }
119
+ ],
120
+ "name": "ERC20InvalidReceiver",
121
+ "type": "error"
122
+ },
123
+ {
124
+ "inputs": [
125
+ {
126
+ "internalType": "address",
127
+ "name": "sender",
128
+ "type": "address"
129
+ }
130
+ ],
131
+ "name": "ERC20InvalidSender",
132
+ "type": "error"
133
+ },
134
+ {
135
+ "inputs": [
136
+ {
137
+ "internalType": "address",
138
+ "name": "spender",
139
+ "type": "address"
140
+ }
141
+ ],
142
+ "name": "ERC20InvalidSpender",
143
+ "type": "error"
144
+ },
145
+ {
146
+ "inputs": [],
147
+ "name": "FailedInnerCall",
148
+ "type": "error"
149
+ },
150
+ {
151
+ "inputs": [],
152
+ "name": "InvalidInitialization",
153
+ "type": "error"
154
+ },
155
+ {
156
+ "inputs": [],
157
+ "name": "NotInitializing",
158
+ "type": "error"
159
+ },
160
+ {
161
+ "inputs": [
162
+ {
163
+ "internalType": "address",
164
+ "name": "owner",
165
+ "type": "address"
166
+ }
167
+ ],
168
+ "name": "OwnableInvalidOwner",
169
+ "type": "error"
170
+ },
171
+ {
172
+ "inputs": [
173
+ {
174
+ "internalType": "address",
175
+ "name": "account",
176
+ "type": "address"
177
+ }
178
+ ],
179
+ "name": "OwnableUnauthorizedAccount",
180
+ "type": "error"
181
+ },
182
+ {
183
+ "inputs": [],
184
+ "name": "ReentrancyGuardReentrantCall",
185
+ "type": "error"
186
+ },
187
+ {
188
+ "inputs": [
189
+ {
190
+ "internalType": "address",
191
+ "name": "token",
192
+ "type": "address"
193
+ }
194
+ ],
195
+ "name": "SafeERC20FailedOperation",
196
+ "type": "error"
197
+ },
198
+ {
199
+ "anonymous": false,
200
+ "inputs": [
201
+ {
202
+ "indexed": true,
203
+ "internalType": "address",
204
+ "name": "user",
205
+ "type": "address"
206
+ },
207
+ {
208
+ "indexed": false,
209
+ "internalType": "uint256",
210
+ "name": "idx",
211
+ "type": "uint256"
212
+ },
213
+ {
214
+ "indexed": false,
215
+ "internalType": "uint256",
216
+ "name": "approvedTimestamp",
217
+ "type": "uint256"
218
+ }
219
+ ],
220
+ "name": "AdminUnstakeApproved",
221
+ "type": "event"
222
+ },
223
+ {
224
+ "anonymous": false,
225
+ "inputs": [
226
+ {
227
+ "indexed": true,
228
+ "internalType": "address",
229
+ "name": "owner",
230
+ "type": "address"
231
+ },
232
+ {
233
+ "indexed": true,
234
+ "internalType": "address",
235
+ "name": "spender",
236
+ "type": "address"
237
+ },
238
+ {
239
+ "indexed": false,
240
+ "internalType": "uint256",
241
+ "name": "value",
242
+ "type": "uint256"
243
+ }
244
+ ],
245
+ "name": "Approval",
246
+ "type": "event"
247
+ },
248
+ {
249
+ "anonymous": false,
250
+ "inputs": [
251
+ {
252
+ "indexed": false,
253
+ "internalType": "bool",
254
+ "name": "paused",
255
+ "type": "bool"
256
+ }
257
+ ],
258
+ "name": "ContractPaused",
259
+ "type": "event"
260
+ },
261
+ {
262
+ "anonymous": false,
263
+ "inputs": [
264
+ {
265
+ "indexed": false,
266
+ "internalType": "address",
267
+ "name": "tokenAddress",
268
+ "type": "address"
269
+ },
270
+ {
271
+ "indexed": false,
272
+ "internalType": "address",
273
+ "name": "to",
274
+ "type": "address"
275
+ },
276
+ {
277
+ "indexed": false,
278
+ "internalType": "uint256",
279
+ "name": "amount",
280
+ "type": "uint256"
281
+ }
282
+ ],
283
+ "name": "ERC20TokenPulled",
284
+ "type": "event"
285
+ },
286
+ {
287
+ "anonymous": false,
288
+ "inputs": [
289
+ {
290
+ "indexed": false,
291
+ "internalType": "uint64",
292
+ "name": "version",
293
+ "type": "uint64"
294
+ }
295
+ ],
296
+ "name": "Initialized",
297
+ "type": "event"
298
+ },
299
+ {
300
+ "anonymous": false,
301
+ "inputs": [
302
+ {
303
+ "indexed": false,
304
+ "internalType": "uint256",
305
+ "name": "newLowerBound",
306
+ "type": "uint256"
307
+ }
308
+ ],
309
+ "name": "LowerBoundUpdated",
310
+ "type": "event"
311
+ },
312
+ {
313
+ "anonymous": false,
314
+ "inputs": [
315
+ {
316
+ "indexed": false,
317
+ "internalType": "address",
318
+ "name": "to",
319
+ "type": "address"
320
+ },
321
+ {
322
+ "indexed": false,
323
+ "internalType": "uint256",
324
+ "name": "amount",
325
+ "type": "uint256"
326
+ }
327
+ ],
328
+ "name": "NativeTokenPulled",
329
+ "type": "event"
330
+ },
331
+ {
332
+ "anonymous": false,
333
+ "inputs": [
334
+ {
335
+ "indexed": true,
336
+ "internalType": "address",
337
+ "name": "previousOwner",
338
+ "type": "address"
339
+ },
340
+ {
341
+ "indexed": true,
342
+ "internalType": "address",
343
+ "name": "newOwner",
344
+ "type": "address"
345
+ }
346
+ ],
347
+ "name": "OwnershipTransferStarted",
348
+ "type": "event"
349
+ },
350
+ {
351
+ "anonymous": false,
352
+ "inputs": [
353
+ {
354
+ "indexed": true,
355
+ "internalType": "address",
356
+ "name": "previousOwner",
357
+ "type": "address"
358
+ },
359
+ {
360
+ "indexed": true,
361
+ "internalType": "address",
362
+ "name": "newOwner",
363
+ "type": "address"
364
+ }
365
+ ],
366
+ "name": "OwnershipTransferred",
367
+ "type": "event"
368
+ },
369
+ {
370
+ "anonymous": false,
371
+ "inputs": [
372
+ {
373
+ "indexed": true,
374
+ "internalType": "bytes32",
375
+ "name": "role",
376
+ "type": "bytes32"
377
+ },
378
+ {
379
+ "indexed": true,
380
+ "internalType": "bytes32",
381
+ "name": "previousAdminRole",
382
+ "type": "bytes32"
383
+ },
384
+ {
385
+ "indexed": true,
386
+ "internalType": "bytes32",
387
+ "name": "newAdminRole",
388
+ "type": "bytes32"
389
+ }
390
+ ],
391
+ "name": "RoleAdminChanged",
392
+ "type": "event"
393
+ },
394
+ {
395
+ "anonymous": false,
396
+ "inputs": [
397
+ {
398
+ "indexed": true,
399
+ "internalType": "bytes32",
400
+ "name": "role",
401
+ "type": "bytes32"
402
+ },
403
+ {
404
+ "indexed": true,
405
+ "internalType": "address",
406
+ "name": "account",
407
+ "type": "address"
408
+ },
409
+ {
410
+ "indexed": true,
411
+ "internalType": "address",
412
+ "name": "sender",
413
+ "type": "address"
414
+ }
415
+ ],
416
+ "name": "RoleGranted",
417
+ "type": "event"
418
+ },
419
+ {
420
+ "anonymous": false,
421
+ "inputs": [
422
+ {
423
+ "indexed": true,
424
+ "internalType": "bytes32",
425
+ "name": "role",
426
+ "type": "bytes32"
427
+ },
428
+ {
429
+ "indexed": true,
430
+ "internalType": "address",
431
+ "name": "account",
432
+ "type": "address"
433
+ },
434
+ {
435
+ "indexed": true,
436
+ "internalType": "address",
437
+ "name": "sender",
438
+ "type": "address"
439
+ }
440
+ ],
441
+ "name": "RoleRevoked",
442
+ "type": "event"
443
+ },
444
+ {
445
+ "anonymous": false,
446
+ "inputs": [
447
+ {
448
+ "indexed": true,
449
+ "internalType": "address",
450
+ "name": "from",
451
+ "type": "address"
452
+ },
453
+ {
454
+ "indexed": true,
455
+ "internalType": "address",
456
+ "name": "to",
457
+ "type": "address"
458
+ },
459
+ {
460
+ "indexed": false,
461
+ "internalType": "uint256",
462
+ "name": "value",
463
+ "type": "uint256"
464
+ }
465
+ ],
466
+ "name": "Transfer",
467
+ "type": "event"
468
+ },
469
+ {
470
+ "anonymous": false,
471
+ "inputs": [
472
+ {
473
+ "indexed": false,
474
+ "internalType": "uint256",
475
+ "name": "bridgingFee",
476
+ "type": "uint256"
477
+ }
478
+ ],
479
+ "name": "UpdateBridgeFee",
480
+ "type": "event"
481
+ },
482
+ {
483
+ "anonymous": false,
484
+ "inputs": [
485
+ {
486
+ "indexed": false,
487
+ "internalType": "uint256",
488
+ "name": "bridgePercentFee",
489
+ "type": "uint256"
490
+ }
491
+ ],
492
+ "name": "UpdateBridgePercentFee",
493
+ "type": "event"
494
+ },
495
+ {
496
+ "anonymous": false,
497
+ "inputs": [
498
+ {
499
+ "indexed": false,
500
+ "internalType": "address",
501
+ "name": "bridgeWrapper",
502
+ "type": "address"
503
+ }
504
+ ],
505
+ "name": "UpdateBridgeWrapper",
506
+ "type": "event"
507
+ },
508
+ {
509
+ "anonymous": false,
510
+ "inputs": [
511
+ {
512
+ "indexed": false,
513
+ "internalType": "uint256",
514
+ "name": "newRate",
515
+ "type": "uint256"
516
+ }
517
+ ],
518
+ "name": "UpdateExchangeRate",
519
+ "type": "event"
520
+ },
521
+ {
522
+ "anonymous": false,
523
+ "inputs": [
524
+ {
525
+ "indexed": false,
526
+ "internalType": "uint256",
527
+ "name": "maxDepositPerRequest",
528
+ "type": "uint256"
529
+ }
530
+ ],
531
+ "name": "UpdateMaxDepositPerRequest",
532
+ "type": "event"
533
+ },
534
+ {
535
+ "anonymous": false,
536
+ "inputs": [
537
+ {
538
+ "indexed": false,
539
+ "internalType": "uint256",
540
+ "name": "newMaxSupply",
541
+ "type": "uint256"
542
+ }
543
+ ],
544
+ "name": "UpdateMaxSupply",
545
+ "type": "event"
546
+ },
547
+ {
548
+ "anonymous": false,
549
+ "inputs": [
550
+ {
551
+ "indexed": false,
552
+ "internalType": "uint256",
553
+ "name": "maxUnstakeRequests",
554
+ "type": "uint256"
555
+ }
556
+ ],
557
+ "name": "UpdateMaxUnstakeRequest",
558
+ "type": "event"
559
+ },
560
+ {
561
+ "anonymous": false,
562
+ "inputs": [
563
+ {
564
+ "indexed": false,
565
+ "internalType": "uint256",
566
+ "name": "minStakingAmt",
567
+ "type": "uint256"
568
+ }
569
+ ],
570
+ "name": "UpdateMinStakingAmt",
571
+ "type": "event"
572
+ },
573
+ {
574
+ "anonymous": false,
575
+ "inputs": [
576
+ {
577
+ "indexed": false,
578
+ "internalType": "string",
579
+ "name": "newNativeWalletReceiver",
580
+ "type": "string"
581
+ }
582
+ ],
583
+ "name": "UpdateNativeFinneyReceiver",
584
+ "type": "event"
585
+ },
586
+ {
587
+ "anonymous": false,
588
+ "inputs": [
589
+ {
590
+ "indexed": false,
591
+ "internalType": "address",
592
+ "name": "newProtocolVault",
593
+ "type": "address"
594
+ }
595
+ ],
596
+ "name": "UpdateProtocolVault",
597
+ "type": "event"
598
+ },
599
+ {
600
+ "anonymous": false,
601
+ "inputs": [
602
+ {
603
+ "indexed": false,
604
+ "internalType": "uint256",
605
+ "name": "serviceFee",
606
+ "type": "uint256"
607
+ }
608
+ ],
609
+ "name": "UpdateServiceFee",
610
+ "type": "event"
611
+ },
612
+ {
613
+ "anonymous": false,
614
+ "inputs": [
615
+ {
616
+ "indexed": false,
617
+ "internalType": "uint256",
618
+ "name": "stakingFee",
619
+ "type": "uint256"
620
+ }
621
+ ],
622
+ "name": "UpdateStakingFee",
623
+ "type": "event"
624
+ },
625
+ {
626
+ "anonymous": false,
627
+ "inputs": [
628
+ {
629
+ "indexed": false,
630
+ "internalType": "uint256",
631
+ "name": "newUnstakingFee",
632
+ "type": "uint256"
633
+ }
634
+ ],
635
+ "name": "UpdateUnstakingFee",
636
+ "type": "event"
637
+ },
638
+ {
639
+ "anonymous": false,
640
+ "inputs": [
641
+ {
642
+ "indexed": false,
643
+ "internalType": "address",
644
+ "name": "newWTAO",
645
+ "type": "address"
646
+ }
647
+ ],
648
+ "name": "UpdateWTao",
649
+ "type": "event"
650
+ },
651
+ {
652
+ "anonymous": false,
653
+ "inputs": [
654
+ {
655
+ "indexed": false,
656
+ "internalType": "address",
657
+ "name": "withdrawalManager",
658
+ "type": "address"
659
+ }
660
+ ],
661
+ "name": "UpdateWithdrawalManager",
662
+ "type": "event"
663
+ },
664
+ {
665
+ "anonymous": false,
666
+ "inputs": [
667
+ {
668
+ "indexed": false,
669
+ "internalType": "uint256",
670
+ "name": "newUpperBound",
671
+ "type": "uint256"
672
+ }
673
+ ],
674
+ "name": "UpperBoundUpdated",
675
+ "type": "event"
676
+ },
677
+ {
678
+ "anonymous": false,
679
+ "inputs": [
680
+ {
681
+ "indexed": true,
682
+ "internalType": "address",
683
+ "name": "user",
684
+ "type": "address"
685
+ },
686
+ {
687
+ "indexed": false,
688
+ "internalType": "uint256",
689
+ "name": "stakeTimestamp",
690
+ "type": "uint256"
691
+ },
692
+ {
693
+ "indexed": false,
694
+ "internalType": "uint256",
695
+ "name": "inTaoAmt",
696
+ "type": "uint256"
697
+ },
698
+ {
699
+ "indexed": false,
700
+ "internalType": "uint256",
701
+ "name": "wstAmount",
702
+ "type": "uint256"
703
+ }
704
+ ],
705
+ "name": "UserStake",
706
+ "type": "event"
707
+ },
708
+ {
709
+ "anonymous": false,
710
+ "inputs": [
711
+ {
712
+ "indexed": true,
713
+ "internalType": "address",
714
+ "name": "user",
715
+ "type": "address"
716
+ },
717
+ {
718
+ "indexed": false,
719
+ "internalType": "uint256",
720
+ "name": "idx",
721
+ "type": "uint256"
722
+ },
723
+ {
724
+ "indexed": false,
725
+ "internalType": "uint256",
726
+ "name": "unstakeTimestamp",
727
+ "type": "uint256"
728
+ }
729
+ ],
730
+ "name": "UserUnstake",
731
+ "type": "event"
732
+ },
733
+ {
734
+ "anonymous": false,
735
+ "inputs": [
736
+ {
737
+ "indexed": true,
738
+ "internalType": "address",
739
+ "name": "user",
740
+ "type": "address"
741
+ },
742
+ {
743
+ "indexed": false,
744
+ "internalType": "uint256",
745
+ "name": "idx",
746
+ "type": "uint256"
747
+ },
748
+ {
749
+ "indexed": false,
750
+ "internalType": "uint256",
751
+ "name": "requestTimestamp",
752
+ "type": "uint256"
753
+ },
754
+ {
755
+ "indexed": false,
756
+ "internalType": "uint256",
757
+ "name": "wstAmount",
758
+ "type": "uint256"
759
+ },
760
+ {
761
+ "indexed": false,
762
+ "internalType": "uint256",
763
+ "name": "outTaoAmt",
764
+ "type": "uint256"
765
+ },
766
+ {
767
+ "indexed": false,
768
+ "internalType": "address",
769
+ "name": "wrappedToken",
770
+ "type": "address"
771
+ }
772
+ ],
773
+ "name": "UserUnstakeRequested",
774
+ "type": "event"
775
+ },
776
+ {
777
+ "inputs": [],
778
+ "name": "APPROVE_WITHDRAWAL_ROLE",
779
+ "outputs": [
780
+ {
781
+ "internalType": "bytes32",
782
+ "name": "",
783
+ "type": "bytes32"
784
+ }
785
+ ],
786
+ "stateMutability": "view",
787
+ "type": "function"
788
+ },
789
+ {
790
+ "inputs": [],
791
+ "name": "BITTENSOR_CHAINID",
792
+ "outputs": [
793
+ {
794
+ "internalType": "uint16",
795
+ "name": "",
796
+ "type": "uint16"
797
+ }
798
+ ],
799
+ "stateMutability": "view",
800
+ "type": "function"
801
+ },
802
+ {
803
+ "inputs": [],
804
+ "name": "BITTENSOR_TOKEN_ADDRESS",
805
+ "outputs": [
806
+ {
807
+ "internalType": "string",
808
+ "name": "",
809
+ "type": "string"
810
+ }
811
+ ],
812
+ "stateMutability": "view",
813
+ "type": "function"
814
+ },
815
+ {
816
+ "inputs": [],
817
+ "name": "DEFAULT_ADMIN_ROLE",
818
+ "outputs": [
819
+ {
820
+ "internalType": "bytes32",
821
+ "name": "",
822
+ "type": "bytes32"
823
+ }
824
+ ],
825
+ "stateMutability": "view",
826
+ "type": "function"
827
+ },
828
+ {
829
+ "inputs": [],
830
+ "name": "EXCHANGE_UPDATE_ROLE",
831
+ "outputs": [
832
+ {
833
+ "internalType": "bytes32",
834
+ "name": "",
835
+ "type": "bytes32"
836
+ }
837
+ ],
838
+ "stateMutability": "view",
839
+ "type": "function"
840
+ },
841
+ {
842
+ "inputs": [],
843
+ "name": "MANAGE_STAKING_CONFIG_ROLE",
844
+ "outputs": [
845
+ {
846
+ "internalType": "bytes32",
847
+ "name": "",
848
+ "type": "bytes32"
849
+ }
850
+ ],
851
+ "stateMutability": "view",
852
+ "type": "function"
853
+ },
854
+ {
855
+ "inputs": [],
856
+ "name": "ONE_THOUSAND",
857
+ "outputs": [
858
+ {
859
+ "internalType": "uint256",
860
+ "name": "",
861
+ "type": "uint256"
862
+ }
863
+ ],
864
+ "stateMutability": "view",
865
+ "type": "function"
866
+ },
867
+ {
868
+ "inputs": [],
869
+ "name": "PAUSE_ROLE",
870
+ "outputs": [
871
+ {
872
+ "internalType": "bytes32",
873
+ "name": "",
874
+ "type": "bytes32"
875
+ }
876
+ ],
877
+ "stateMutability": "view",
878
+ "type": "function"
879
+ },
880
+ {
881
+ "inputs": [],
882
+ "name": "TOKEN_SAFE_PULL_ROLE",
883
+ "outputs": [
884
+ {
885
+ "internalType": "bytes32",
886
+ "name": "",
887
+ "type": "bytes32"
888
+ }
889
+ ],
890
+ "stateMutability": "view",
891
+ "type": "function"
892
+ },
893
+ {
894
+ "inputs": [],
895
+ "name": "acceptOwnership",
896
+ "outputs": [],
897
+ "stateMutability": "nonpayable",
898
+ "type": "function"
899
+ },
900
+ {
901
+ "inputs": [
902
+ {
903
+ "internalType": "address",
904
+ "name": "owner",
905
+ "type": "address"
906
+ },
907
+ {
908
+ "internalType": "address",
909
+ "name": "spender",
910
+ "type": "address"
911
+ }
912
+ ],
913
+ "name": "allowance",
914
+ "outputs": [
915
+ {
916
+ "internalType": "uint256",
917
+ "name": "",
918
+ "type": "uint256"
919
+ }
920
+ ],
921
+ "stateMutability": "view",
922
+ "type": "function"
923
+ },
924
+ {
925
+ "inputs": [
926
+ {
927
+ "internalType": "address",
928
+ "name": "spender",
929
+ "type": "address"
930
+ },
931
+ {
932
+ "internalType": "uint256",
933
+ "name": "value",
934
+ "type": "uint256"
935
+ }
936
+ ],
937
+ "name": "approve",
938
+ "outputs": [
939
+ {
940
+ "internalType": "bool",
941
+ "name": "",
942
+ "type": "bool"
943
+ }
944
+ ],
945
+ "stateMutability": "nonpayable",
946
+ "type": "function"
947
+ },
948
+ {
949
+ "inputs": [
950
+ {
951
+ "components": [
952
+ {
953
+ "internalType": "address",
954
+ "name": "user",
955
+ "type": "address"
956
+ },
957
+ {
958
+ "internalType": "uint256",
959
+ "name": "requestIndex",
960
+ "type": "uint256"
961
+ }
962
+ ],
963
+ "internalType": "struct PlxTAO.UserRequest[]",
964
+ "name": "requests",
965
+ "type": "tuple[]"
966
+ }
967
+ ],
968
+ "name": "approveMultipleUnstakes",
969
+ "outputs": [],
970
+ "stateMutability": "nonpayable",
971
+ "type": "function"
972
+ },
973
+ {
974
+ "inputs": [
975
+ {
976
+ "internalType": "address",
977
+ "name": "account",
978
+ "type": "address"
979
+ }
980
+ ],
981
+ "name": "balanceOf",
982
+ "outputs": [
983
+ {
984
+ "internalType": "uint256",
985
+ "name": "",
986
+ "type": "uint256"
987
+ }
988
+ ],
989
+ "stateMutability": "view",
990
+ "type": "function"
991
+ },
992
+ {
993
+ "inputs": [
994
+ {
995
+ "components": [
996
+ {
997
+ "internalType": "address",
998
+ "name": "user",
999
+ "type": "address"
1000
+ },
1001
+ {
1002
+ "internalType": "uint256",
1003
+ "name": "requestIndex",
1004
+ "type": "uint256"
1005
+ }
1006
+ ],
1007
+ "internalType": "struct PlxTAO.UserRequest[]",
1008
+ "name": "requests",
1009
+ "type": "tuple[]"
1010
+ }
1011
+ ],
1012
+ "name": "batchInternalFulfillUnstaking",
1013
+ "outputs": [],
1014
+ "stateMutability": "nonpayable",
1015
+ "type": "function"
1016
+ },
1017
+ {
1018
+ "inputs": [],
1019
+ "name": "batchTAOAmt",
1020
+ "outputs": [
1021
+ {
1022
+ "internalType": "uint256",
1023
+ "name": "",
1024
+ "type": "uint256"
1025
+ }
1026
+ ],
1027
+ "stateMutability": "view",
1028
+ "type": "function"
1029
+ },
1030
+ {
1031
+ "inputs": [
1032
+ {
1033
+ "internalType": "uint256",
1034
+ "name": "amount",
1035
+ "type": "uint256"
1036
+ }
1037
+ ],
1038
+ "name": "batchTransferBridgeBack",
1039
+ "outputs": [],
1040
+ "stateMutability": "nonpayable",
1041
+ "type": "function"
1042
+ },
1043
+ {
1044
+ "inputs": [],
1045
+ "name": "bridgePercentFee",
1046
+ "outputs": [
1047
+ {
1048
+ "internalType": "uint256",
1049
+ "name": "",
1050
+ "type": "uint256"
1051
+ }
1052
+ ],
1053
+ "stateMutability": "view",
1054
+ "type": "function"
1055
+ },
1056
+ {
1057
+ "inputs": [],
1058
+ "name": "bridgeWrapper",
1059
+ "outputs": [
1060
+ {
1061
+ "internalType": "contract IBridgeWrapper",
1062
+ "name": "",
1063
+ "type": "address"
1064
+ }
1065
+ ],
1066
+ "stateMutability": "view",
1067
+ "type": "function"
1068
+ },
1069
+ {
1070
+ "inputs": [],
1071
+ "name": "bridgingFee",
1072
+ "outputs": [
1073
+ {
1074
+ "internalType": "uint256",
1075
+ "name": "",
1076
+ "type": "uint256"
1077
+ }
1078
+ ],
1079
+ "stateMutability": "view",
1080
+ "type": "function"
1081
+ },
1082
+ {
1083
+ "inputs": [
1084
+ {
1085
+ "internalType": "uint256",
1086
+ "name": "wtaoAmount",
1087
+ "type": "uint256"
1088
+ }
1089
+ ],
1090
+ "name": "calculateAmtAfterFee",
1091
+ "outputs": [
1092
+ {
1093
+ "internalType": "uint256",
1094
+ "name": "",
1095
+ "type": "uint256"
1096
+ },
1097
+ {
1098
+ "internalType": "uint256",
1099
+ "name": "",
1100
+ "type": "uint256"
1101
+ }
1102
+ ],
1103
+ "stateMutability": "view",
1104
+ "type": "function"
1105
+ },
1106
+ {
1107
+ "inputs": [],
1108
+ "name": "decimals",
1109
+ "outputs": [
1110
+ {
1111
+ "internalType": "uint8",
1112
+ "name": "",
1113
+ "type": "uint8"
1114
+ }
1115
+ ],
1116
+ "stateMutability": "view",
1117
+ "type": "function"
1118
+ },
1119
+ {
1120
+ "inputs": [],
1121
+ "name": "exchangeRate",
1122
+ "outputs": [
1123
+ {
1124
+ "internalType": "uint256",
1125
+ "name": "",
1126
+ "type": "uint256"
1127
+ }
1128
+ ],
1129
+ "stateMutability": "view",
1130
+ "type": "function"
1131
+ },
1132
+ {
1133
+ "inputs": [
1134
+ {
1135
+ "internalType": "bytes32",
1136
+ "name": "role",
1137
+ "type": "bytes32"
1138
+ }
1139
+ ],
1140
+ "name": "getRoleAdmin",
1141
+ "outputs": [
1142
+ {
1143
+ "internalType": "bytes32",
1144
+ "name": "",
1145
+ "type": "bytes32"
1146
+ }
1147
+ ],
1148
+ "stateMutability": "view",
1149
+ "type": "function"
1150
+ },
1151
+ {
1152
+ "inputs": [
1153
+ {
1154
+ "internalType": "address",
1155
+ "name": "user",
1156
+ "type": "address"
1157
+ }
1158
+ ],
1159
+ "name": "getUnstakeRequestByUser",
1160
+ "outputs": [
1161
+ {
1162
+ "components": [
1163
+ {
1164
+ "internalType": "uint256",
1165
+ "name": "amount",
1166
+ "type": "uint256"
1167
+ },
1168
+ {
1169
+ "internalType": "uint256",
1170
+ "name": "taoAmt",
1171
+ "type": "uint256"
1172
+ },
1173
+ {
1174
+ "internalType": "bool",
1175
+ "name": "isReadyForUnstake",
1176
+ "type": "bool"
1177
+ },
1178
+ {
1179
+ "internalType": "address",
1180
+ "name": "wrappedToken",
1181
+ "type": "address"
1182
+ },
1183
+ {
1184
+ "internalType": "uint256",
1185
+ "name": "timestamp",
1186
+ "type": "uint256"
1187
+ }
1188
+ ],
1189
+ "internalType": "struct PlxTAO.UnstakeRequest[]",
1190
+ "name": "",
1191
+ "type": "tuple[]"
1192
+ }
1193
+ ],
1194
+ "stateMutability": "view",
1195
+ "type": "function"
1196
+ },
1197
+ {
1198
+ "inputs": [
1199
+ {
1200
+ "internalType": "uint256",
1201
+ "name": "wstTaoAmount",
1202
+ "type": "uint256"
1203
+ }
1204
+ ],
1205
+ "name": "getWTAOByWstTAO",
1206
+ "outputs": [
1207
+ {
1208
+ "internalType": "uint256",
1209
+ "name": "",
1210
+ "type": "uint256"
1211
+ }
1212
+ ],
1213
+ "stateMutability": "view",
1214
+ "type": "function"
1215
+ },
1216
+ {
1217
+ "inputs": [
1218
+ {
1219
+ "internalType": "uint256",
1220
+ "name": "wstTaoAmount",
1221
+ "type": "uint256"
1222
+ }
1223
+ ],
1224
+ "name": "getWTAOByWstTAOAfterFee",
1225
+ "outputs": [
1226
+ {
1227
+ "internalType": "uint256",
1228
+ "name": "",
1229
+ "type": "uint256"
1230
+ }
1231
+ ],
1232
+ "stateMutability": "view",
1233
+ "type": "function"
1234
+ },
1235
+ {
1236
+ "inputs": [
1237
+ {
1238
+ "internalType": "uint256",
1239
+ "name": "wtaoAmount",
1240
+ "type": "uint256"
1241
+ }
1242
+ ],
1243
+ "name": "getWstTAObyWTAO",
1244
+ "outputs": [
1245
+ {
1246
+ "internalType": "uint256",
1247
+ "name": "",
1248
+ "type": "uint256"
1249
+ }
1250
+ ],
1251
+ "stateMutability": "view",
1252
+ "type": "function"
1253
+ },
1254
+ {
1255
+ "inputs": [
1256
+ {
1257
+ "internalType": "bytes32",
1258
+ "name": "role",
1259
+ "type": "bytes32"
1260
+ },
1261
+ {
1262
+ "internalType": "address",
1263
+ "name": "account",
1264
+ "type": "address"
1265
+ }
1266
+ ],
1267
+ "name": "grantRole",
1268
+ "outputs": [],
1269
+ "stateMutability": "nonpayable",
1270
+ "type": "function"
1271
+ },
1272
+ {
1273
+ "inputs": [
1274
+ {
1275
+ "internalType": "bytes32",
1276
+ "name": "role",
1277
+ "type": "bytes32"
1278
+ },
1279
+ {
1280
+ "internalType": "address",
1281
+ "name": "account",
1282
+ "type": "address"
1283
+ }
1284
+ ],
1285
+ "name": "hasRole",
1286
+ "outputs": [
1287
+ {
1288
+ "internalType": "bool",
1289
+ "name": "",
1290
+ "type": "bool"
1291
+ }
1292
+ ],
1293
+ "stateMutability": "view",
1294
+ "type": "function"
1295
+ },
1296
+ {
1297
+ "inputs": [
1298
+ {
1299
+ "internalType": "address",
1300
+ "name": "initialOwner",
1301
+ "type": "address"
1302
+ },
1303
+ {
1304
+ "internalType": "uint256",
1305
+ "name": "initialSupply",
1306
+ "type": "uint256"
1307
+ }
1308
+ ],
1309
+ "name": "initialize",
1310
+ "outputs": [],
1311
+ "stateMutability": "nonpayable",
1312
+ "type": "function"
1313
+ },
1314
+ {
1315
+ "inputs": [],
1316
+ "name": "isPaused",
1317
+ "outputs": [
1318
+ {
1319
+ "internalType": "bool",
1320
+ "name": "",
1321
+ "type": "bool"
1322
+ }
1323
+ ],
1324
+ "stateMutability": "view",
1325
+ "type": "function"
1326
+ },
1327
+ {
1328
+ "inputs": [],
1329
+ "name": "lowerExchangeRateBound",
1330
+ "outputs": [
1331
+ {
1332
+ "internalType": "uint256",
1333
+ "name": "",
1334
+ "type": "uint256"
1335
+ }
1336
+ ],
1337
+ "stateMutability": "view",
1338
+ "type": "function"
1339
+ },
1340
+ {
1341
+ "inputs": [],
1342
+ "name": "maxDepositPerRequest",
1343
+ "outputs": [
1344
+ {
1345
+ "internalType": "uint256",
1346
+ "name": "",
1347
+ "type": "uint256"
1348
+ }
1349
+ ],
1350
+ "stateMutability": "view",
1351
+ "type": "function"
1352
+ },
1353
+ {
1354
+ "inputs": [],
1355
+ "name": "maxSupply",
1356
+ "outputs": [
1357
+ {
1358
+ "internalType": "uint256",
1359
+ "name": "",
1360
+ "type": "uint256"
1361
+ }
1362
+ ],
1363
+ "stateMutability": "view",
1364
+ "type": "function"
1365
+ },
1366
+ {
1367
+ "inputs": [],
1368
+ "name": "maxTaoForWrap",
1369
+ "outputs": [
1370
+ {
1371
+ "internalType": "uint256",
1372
+ "name": "",
1373
+ "type": "uint256"
1374
+ }
1375
+ ],
1376
+ "stateMutability": "view",
1377
+ "type": "function"
1378
+ },
1379
+ {
1380
+ "inputs": [],
1381
+ "name": "maxUnstakeRequests",
1382
+ "outputs": [
1383
+ {
1384
+ "internalType": "uint256",
1385
+ "name": "",
1386
+ "type": "uint256"
1387
+ }
1388
+ ],
1389
+ "stateMutability": "view",
1390
+ "type": "function"
1391
+ },
1392
+ {
1393
+ "inputs": [],
1394
+ "name": "minStakingAmt",
1395
+ "outputs": [
1396
+ {
1397
+ "internalType": "uint256",
1398
+ "name": "",
1399
+ "type": "uint256"
1400
+ }
1401
+ ],
1402
+ "stateMutability": "view",
1403
+ "type": "function"
1404
+ },
1405
+ {
1406
+ "inputs": [],
1407
+ "name": "name",
1408
+ "outputs": [
1409
+ {
1410
+ "internalType": "string",
1411
+ "name": "",
1412
+ "type": "string"
1413
+ }
1414
+ ],
1415
+ "stateMutability": "view",
1416
+ "type": "function"
1417
+ },
1418
+ {
1419
+ "inputs": [],
1420
+ "name": "nativeWalletReceiver",
1421
+ "outputs": [
1422
+ {
1423
+ "internalType": "string",
1424
+ "name": "",
1425
+ "type": "string"
1426
+ }
1427
+ ],
1428
+ "stateMutability": "view",
1429
+ "type": "function"
1430
+ },
1431
+ {
1432
+ "inputs": [],
1433
+ "name": "owner",
1434
+ "outputs": [
1435
+ {
1436
+ "internalType": "address",
1437
+ "name": "",
1438
+ "type": "address"
1439
+ }
1440
+ ],
1441
+ "stateMutability": "view",
1442
+ "type": "function"
1443
+ },
1444
+ {
1445
+ "inputs": [],
1446
+ "name": "pendingOwner",
1447
+ "outputs": [
1448
+ {
1449
+ "internalType": "address",
1450
+ "name": "",
1451
+ "type": "address"
1452
+ }
1453
+ ],
1454
+ "stateMutability": "view",
1455
+ "type": "function"
1456
+ },
1457
+ {
1458
+ "inputs": [],
1459
+ "name": "protocolVault",
1460
+ "outputs": [
1461
+ {
1462
+ "internalType": "address",
1463
+ "name": "",
1464
+ "type": "address"
1465
+ }
1466
+ ],
1467
+ "stateMutability": "view",
1468
+ "type": "function"
1469
+ },
1470
+ {
1471
+ "inputs": [],
1472
+ "name": "renounceOwnership",
1473
+ "outputs": [],
1474
+ "stateMutability": "nonpayable",
1475
+ "type": "function"
1476
+ },
1477
+ {
1478
+ "inputs": [
1479
+ {
1480
+ "internalType": "bytes32",
1481
+ "name": "role",
1482
+ "type": "bytes32"
1483
+ },
1484
+ {
1485
+ "internalType": "address",
1486
+ "name": "callerConfirmation",
1487
+ "type": "address"
1488
+ }
1489
+ ],
1490
+ "name": "renounceRole",
1491
+ "outputs": [],
1492
+ "stateMutability": "nonpayable",
1493
+ "type": "function"
1494
+ },
1495
+ {
1496
+ "inputs": [
1497
+ {
1498
+ "internalType": "uint256",
1499
+ "name": "wstTAOAmt",
1500
+ "type": "uint256"
1501
+ }
1502
+ ],
1503
+ "name": "requestUnstake",
1504
+ "outputs": [],
1505
+ "stateMutability": "payable",
1506
+ "type": "function"
1507
+ },
1508
+ {
1509
+ "inputs": [
1510
+ {
1511
+ "internalType": "bytes32",
1512
+ "name": "role",
1513
+ "type": "bytes32"
1514
+ },
1515
+ {
1516
+ "internalType": "address",
1517
+ "name": "account",
1518
+ "type": "address"
1519
+ }
1520
+ ],
1521
+ "name": "revokeRole",
1522
+ "outputs": [],
1523
+ "stateMutability": "nonpayable",
1524
+ "type": "function"
1525
+ },
1526
+ {
1527
+ "inputs": [
1528
+ {
1529
+ "internalType": "address",
1530
+ "name": "tokenAddress",
1531
+ "type": "address"
1532
+ },
1533
+ {
1534
+ "internalType": "address",
1535
+ "name": "to",
1536
+ "type": "address"
1537
+ },
1538
+ {
1539
+ "internalType": "uint256",
1540
+ "name": "amount",
1541
+ "type": "uint256"
1542
+ }
1543
+ ],
1544
+ "name": "safePullERC20",
1545
+ "outputs": [],
1546
+ "stateMutability": "nonpayable",
1547
+ "type": "function"
1548
+ },
1549
+ {
1550
+ "inputs": [],
1551
+ "name": "serviceFee",
1552
+ "outputs": [
1553
+ {
1554
+ "internalType": "uint256",
1555
+ "name": "",
1556
+ "type": "uint256"
1557
+ }
1558
+ ],
1559
+ "stateMutability": "view",
1560
+ "type": "function"
1561
+ },
1562
+ {
1563
+ "inputs": [
1564
+ {
1565
+ "internalType": "uint256",
1566
+ "name": "_bridgePercentFee",
1567
+ "type": "uint256"
1568
+ }
1569
+ ],
1570
+ "name": "setBridgePercentFee",
1571
+ "outputs": [],
1572
+ "stateMutability": "nonpayable",
1573
+ "type": "function"
1574
+ },
1575
+ {
1576
+ "inputs": [
1577
+ {
1578
+ "internalType": "address",
1579
+ "name": "_bridgeWrapper",
1580
+ "type": "address"
1581
+ }
1582
+ ],
1583
+ "name": "setBridgeWrapper",
1584
+ "outputs": [],
1585
+ "stateMutability": "nonpayable",
1586
+ "type": "function"
1587
+ },
1588
+ {
1589
+ "inputs": [
1590
+ {
1591
+ "internalType": "uint256",
1592
+ "name": "_bridgingFee",
1593
+ "type": "uint256"
1594
+ }
1595
+ ],
1596
+ "name": "setBridgingFee",
1597
+ "outputs": [],
1598
+ "stateMutability": "nonpayable",
1599
+ "type": "function"
1600
+ },
1601
+ {
1602
+ "inputs": [
1603
+ {
1604
+ "internalType": "uint256",
1605
+ "name": "_newLowerBound",
1606
+ "type": "uint256"
1607
+ }
1608
+ ],
1609
+ "name": "setLowerExchangeRateBound",
1610
+ "outputs": [],
1611
+ "stateMutability": "nonpayable",
1612
+ "type": "function"
1613
+ },
1614
+ {
1615
+ "inputs": [
1616
+ {
1617
+ "internalType": "uint256",
1618
+ "name": "_maxDepositPerRequest",
1619
+ "type": "uint256"
1620
+ }
1621
+ ],
1622
+ "name": "setMaxDepositPerRequest",
1623
+ "outputs": [],
1624
+ "stateMutability": "nonpayable",
1625
+ "type": "function"
1626
+ },
1627
+ {
1628
+ "inputs": [
1629
+ {
1630
+ "internalType": "uint256",
1631
+ "name": "_maxSupply",
1632
+ "type": "uint256"
1633
+ }
1634
+ ],
1635
+ "name": "setMaxSupply",
1636
+ "outputs": [],
1637
+ "stateMutability": "nonpayable",
1638
+ "type": "function"
1639
+ },
1640
+ {
1641
+ "inputs": [
1642
+ {
1643
+ "internalType": "uint256",
1644
+ "name": "_maxUnstakeRequests",
1645
+ "type": "uint256"
1646
+ }
1647
+ ],
1648
+ "name": "setMaxUnstakeRequest",
1649
+ "outputs": [],
1650
+ "stateMutability": "nonpayable",
1651
+ "type": "function"
1652
+ },
1653
+ {
1654
+ "inputs": [
1655
+ {
1656
+ "internalType": "uint256",
1657
+ "name": "_minStakingAmt",
1658
+ "type": "uint256"
1659
+ }
1660
+ ],
1661
+ "name": "setMinStakingAmt",
1662
+ "outputs": [],
1663
+ "stateMutability": "nonpayable",
1664
+ "type": "function"
1665
+ },
1666
+ {
1667
+ "inputs": [
1668
+ {
1669
+ "internalType": "string",
1670
+ "name": "_nativeWalletReceiver",
1671
+ "type": "string"
1672
+ }
1673
+ ],
1674
+ "name": "setNativeTokenReceiver",
1675
+ "outputs": [],
1676
+ "stateMutability": "nonpayable",
1677
+ "type": "function"
1678
+ },
1679
+ {
1680
+ "inputs": [
1681
+ {
1682
+ "internalType": "bool",
1683
+ "name": "_isPaused",
1684
+ "type": "bool"
1685
+ }
1686
+ ],
1687
+ "name": "setPaused",
1688
+ "outputs": [],
1689
+ "stateMutability": "nonpayable",
1690
+ "type": "function"
1691
+ },
1692
+ {
1693
+ "inputs": [
1694
+ {
1695
+ "internalType": "address",
1696
+ "name": "_protocolVault",
1697
+ "type": "address"
1698
+ }
1699
+ ],
1700
+ "name": "setProtocolVault",
1701
+ "outputs": [],
1702
+ "stateMutability": "nonpayable",
1703
+ "type": "function"
1704
+ },
1705
+ {
1706
+ "inputs": [
1707
+ {
1708
+ "internalType": "uint256",
1709
+ "name": "_serviceFee",
1710
+ "type": "uint256"
1711
+ }
1712
+ ],
1713
+ "name": "setServiceFee",
1714
+ "outputs": [],
1715
+ "stateMutability": "nonpayable",
1716
+ "type": "function"
1717
+ },
1718
+ {
1719
+ "inputs": [
1720
+ {
1721
+ "internalType": "uint256",
1722
+ "name": "_stakingFee",
1723
+ "type": "uint256"
1724
+ }
1725
+ ],
1726
+ "name": "setStakingFee",
1727
+ "outputs": [],
1728
+ "stateMutability": "nonpayable",
1729
+ "type": "function"
1730
+ },
1731
+ {
1732
+ "inputs": [
1733
+ {
1734
+ "internalType": "uint256",
1735
+ "name": "_unstakingFee",
1736
+ "type": "uint256"
1737
+ }
1738
+ ],
1739
+ "name": "setUnstakingFee",
1740
+ "outputs": [],
1741
+ "stateMutability": "nonpayable",
1742
+ "type": "function"
1743
+ },
1744
+ {
1745
+ "inputs": [
1746
+ {
1747
+ "internalType": "uint256",
1748
+ "name": "_newUpperBound",
1749
+ "type": "uint256"
1750
+ }
1751
+ ],
1752
+ "name": "setUpperExchangeRateBound",
1753
+ "outputs": [],
1754
+ "stateMutability": "nonpayable",
1755
+ "type": "function"
1756
+ },
1757
+ {
1758
+ "inputs": [
1759
+ {
1760
+ "internalType": "address",
1761
+ "name": "_wTAO",
1762
+ "type": "address"
1763
+ }
1764
+ ],
1765
+ "name": "setWTAO",
1766
+ "outputs": [],
1767
+ "stateMutability": "nonpayable",
1768
+ "type": "function"
1769
+ },
1770
+ {
1771
+ "inputs": [
1772
+ {
1773
+ "internalType": "address",
1774
+ "name": "_withdrawalManager",
1775
+ "type": "address"
1776
+ }
1777
+ ],
1778
+ "name": "setWithdrawalManager",
1779
+ "outputs": [],
1780
+ "stateMutability": "nonpayable",
1781
+ "type": "function"
1782
+ },
1783
+ {
1784
+ "inputs": [],
1785
+ "name": "stakingFee",
1786
+ "outputs": [
1787
+ {
1788
+ "internalType": "uint256",
1789
+ "name": "",
1790
+ "type": "uint256"
1791
+ }
1792
+ ],
1793
+ "stateMutability": "view",
1794
+ "type": "function"
1795
+ },
1796
+ {
1797
+ "inputs": [
1798
+ {
1799
+ "internalType": "bytes4",
1800
+ "name": "interfaceId",
1801
+ "type": "bytes4"
1802
+ }
1803
+ ],
1804
+ "name": "supportsInterface",
1805
+ "outputs": [
1806
+ {
1807
+ "internalType": "bool",
1808
+ "name": "",
1809
+ "type": "bool"
1810
+ }
1811
+ ],
1812
+ "stateMutability": "view",
1813
+ "type": "function"
1814
+ },
1815
+ {
1816
+ "inputs": [],
1817
+ "name": "symbol",
1818
+ "outputs": [
1819
+ {
1820
+ "internalType": "string",
1821
+ "name": "",
1822
+ "type": "string"
1823
+ }
1824
+ ],
1825
+ "stateMutability": "view",
1826
+ "type": "function"
1827
+ },
1828
+ {
1829
+ "inputs": [],
1830
+ "name": "totalSupply",
1831
+ "outputs": [
1832
+ {
1833
+ "internalType": "uint256",
1834
+ "name": "",
1835
+ "type": "uint256"
1836
+ }
1837
+ ],
1838
+ "stateMutability": "view",
1839
+ "type": "function"
1840
+ },
1841
+ {
1842
+ "inputs": [
1843
+ {
1844
+ "internalType": "address",
1845
+ "name": "to",
1846
+ "type": "address"
1847
+ },
1848
+ {
1849
+ "internalType": "uint256",
1850
+ "name": "value",
1851
+ "type": "uint256"
1852
+ }
1853
+ ],
1854
+ "name": "transfer",
1855
+ "outputs": [
1856
+ {
1857
+ "internalType": "bool",
1858
+ "name": "",
1859
+ "type": "bool"
1860
+ }
1861
+ ],
1862
+ "stateMutability": "nonpayable",
1863
+ "type": "function"
1864
+ },
1865
+ {
1866
+ "inputs": [
1867
+ {
1868
+ "internalType": "address",
1869
+ "name": "from",
1870
+ "type": "address"
1871
+ },
1872
+ {
1873
+ "internalType": "address",
1874
+ "name": "to",
1875
+ "type": "address"
1876
+ },
1877
+ {
1878
+ "internalType": "uint256",
1879
+ "name": "value",
1880
+ "type": "uint256"
1881
+ }
1882
+ ],
1883
+ "name": "transferFrom",
1884
+ "outputs": [
1885
+ {
1886
+ "internalType": "bool",
1887
+ "name": "",
1888
+ "type": "bool"
1889
+ }
1890
+ ],
1891
+ "stateMutability": "nonpayable",
1892
+ "type": "function"
1893
+ },
1894
+ {
1895
+ "inputs": [
1896
+ {
1897
+ "internalType": "address",
1898
+ "name": "newOwner",
1899
+ "type": "address"
1900
+ }
1901
+ ],
1902
+ "name": "transferOwnership",
1903
+ "outputs": [],
1904
+ "stateMutability": "nonpayable",
1905
+ "type": "function"
1906
+ },
1907
+ {
1908
+ "inputs": [
1909
+ {
1910
+ "internalType": "uint256",
1911
+ "name": "requestIndex",
1912
+ "type": "uint256"
1913
+ }
1914
+ ],
1915
+ "name": "unstake",
1916
+ "outputs": [],
1917
+ "stateMutability": "nonpayable",
1918
+ "type": "function"
1919
+ },
1920
+ {
1921
+ "inputs": [
1922
+ {
1923
+ "internalType": "address",
1924
+ "name": "",
1925
+ "type": "address"
1926
+ },
1927
+ {
1928
+ "internalType": "uint256",
1929
+ "name": "",
1930
+ "type": "uint256"
1931
+ }
1932
+ ],
1933
+ "name": "unstakeRequests",
1934
+ "outputs": [
1935
+ {
1936
+ "internalType": "uint256",
1937
+ "name": "amount",
1938
+ "type": "uint256"
1939
+ },
1940
+ {
1941
+ "internalType": "uint256",
1942
+ "name": "taoAmt",
1943
+ "type": "uint256"
1944
+ },
1945
+ {
1946
+ "internalType": "bool",
1947
+ "name": "isReadyForUnstake",
1948
+ "type": "bool"
1949
+ },
1950
+ {
1951
+ "internalType": "address",
1952
+ "name": "wrappedToken",
1953
+ "type": "address"
1954
+ },
1955
+ {
1956
+ "internalType": "uint256",
1957
+ "name": "timestamp",
1958
+ "type": "uint256"
1959
+ }
1960
+ ],
1961
+ "stateMutability": "view",
1962
+ "type": "function"
1963
+ },
1964
+ {
1965
+ "inputs": [],
1966
+ "name": "unstakingFee",
1967
+ "outputs": [
1968
+ {
1969
+ "internalType": "uint256",
1970
+ "name": "",
1971
+ "type": "uint256"
1972
+ }
1973
+ ],
1974
+ "stateMutability": "view",
1975
+ "type": "function"
1976
+ },
1977
+ {
1978
+ "inputs": [
1979
+ {
1980
+ "internalType": "uint256",
1981
+ "name": "newRate",
1982
+ "type": "uint256"
1983
+ }
1984
+ ],
1985
+ "name": "updateExchangeRate",
1986
+ "outputs": [],
1987
+ "stateMutability": "nonpayable",
1988
+ "type": "function"
1989
+ },
1990
+ {
1991
+ "inputs": [],
1992
+ "name": "upperExchangeRateBound",
1993
+ "outputs": [
1994
+ {
1995
+ "internalType": "uint256",
1996
+ "name": "",
1997
+ "type": "uint256"
1998
+ }
1999
+ ],
2000
+ "stateMutability": "view",
2001
+ "type": "function"
2002
+ },
2003
+ {
2004
+ "inputs": [],
2005
+ "name": "withdrawalManager",
2006
+ "outputs": [
2007
+ {
2008
+ "internalType": "address",
2009
+ "name": "",
2010
+ "type": "address"
2011
+ }
2012
+ ],
2013
+ "stateMutability": "view",
2014
+ "type": "function"
2015
+ },
2016
+ {
2017
+ "inputs": [
2018
+ {
2019
+ "internalType": "uint256",
2020
+ "name": "wtaoAmount",
2021
+ "type": "uint256"
2022
+ }
2023
+ ],
2024
+ "name": "wrap",
2025
+ "outputs": [],
2026
+ "stateMutability": "nonpayable",
2027
+ "type": "function"
2028
+ },
2029
+ {
2030
+ "inputs": [],
2031
+ "name": "wrappedToken",
2032
+ "outputs": [
2033
+ {
2034
+ "internalType": "address",
2035
+ "name": "",
2036
+ "type": "address"
2037
+ }
2038
+ ],
2039
+ "stateMutability": "view",
2040
+ "type": "function"
2041
+ }
2042
+ ];
2043
+ /**
2044
+ * PlxTAO_json Contract Class
2045
+ *
2046
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
2047
+ *
2048
+ * @example
2049
+ * ```typescript
2050
+ * import { createPublicClient, createWalletClient, http } from 'viem';
2051
+ * import { mainnet } from 'viem/chains';
2052
+ * import { PlxTAO_json } from 'PlxTAO_json';
2053
+ *
2054
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
2055
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
2056
+ *
2057
+ * const contract = new PlxTAO_json('0x...', { publicClient, walletClient });
2058
+ *
2059
+ * // Read functions
2060
+ * const result = await contract.balanceOf('0x...');
2061
+ *
2062
+ * // Write functions
2063
+ * const hash = await contract.transfer('0x...', 1000n);
2064
+ *
2065
+ * // Simulate transactions (dry-run)
2066
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
2067
+ * console.log('Gas estimate:', simulation.request.gas);
2068
+ *
2069
+ * // Watch events
2070
+ * const unwatch = contract.watch.Transfer((event) => {
2071
+ * console.log('Transfer event:', event);
2072
+ * });
2073
+ * ```
2074
+ */
2075
+ class PlxTAO_json {
2076
+ constructor(address, clients) {
2077
+ this.contractAddress = address;
2078
+ this.publicClient = clients.publicClient;
2079
+ this.contract = (0, viem_1.getContract)({
2080
+ address,
2081
+ abi: exports.PlxTAO_jsonAbi,
2082
+ client: {
2083
+ public: clients.publicClient,
2084
+ wallet: clients.walletClient,
2085
+ },
2086
+ });
2087
+ }
2088
+ /**
2089
+ * Get the contract address
2090
+ */
2091
+ get address() {
2092
+ return this.contractAddress;
2093
+ }
2094
+ /**
2095
+ * Get the underlying viem contract instance
2096
+ */
2097
+ getContract() {
2098
+ return this.contract;
2099
+ }
2100
+ /**
2101
+ * APPROVE_WITHDRAWAL_ROLE
2102
+ * view
2103
+ */
2104
+ async APPROVE_WITHDRAWAL_ROLE() {
2105
+ return this.contract.read.APPROVE_WITHDRAWAL_ROLE();
2106
+ }
2107
+ /**
2108
+ * BITTENSOR_CHAINID
2109
+ * view
2110
+ */
2111
+ async BITTENSOR_CHAINID() {
2112
+ return this.contract.read.BITTENSOR_CHAINID();
2113
+ }
2114
+ /**
2115
+ * BITTENSOR_TOKEN_ADDRESS
2116
+ * view
2117
+ */
2118
+ async BITTENSOR_TOKEN_ADDRESS() {
2119
+ return this.contract.read.BITTENSOR_TOKEN_ADDRESS();
2120
+ }
2121
+ /**
2122
+ * DEFAULT_ADMIN_ROLE
2123
+ * view
2124
+ */
2125
+ async DEFAULT_ADMIN_ROLE() {
2126
+ return this.contract.read.DEFAULT_ADMIN_ROLE();
2127
+ }
2128
+ /**
2129
+ * EXCHANGE_UPDATE_ROLE
2130
+ * view
2131
+ */
2132
+ async EXCHANGE_UPDATE_ROLE() {
2133
+ return this.contract.read.EXCHANGE_UPDATE_ROLE();
2134
+ }
2135
+ /**
2136
+ * MANAGE_STAKING_CONFIG_ROLE
2137
+ * view
2138
+ */
2139
+ async MANAGE_STAKING_CONFIG_ROLE() {
2140
+ return this.contract.read.MANAGE_STAKING_CONFIG_ROLE();
2141
+ }
2142
+ /**
2143
+ * ONE_THOUSAND
2144
+ * view
2145
+ */
2146
+ async ONE_THOUSAND() {
2147
+ return this.contract.read.ONE_THOUSAND();
2148
+ }
2149
+ /**
2150
+ * PAUSE_ROLE
2151
+ * view
2152
+ */
2153
+ async PAUSE_ROLE() {
2154
+ return this.contract.read.PAUSE_ROLE();
2155
+ }
2156
+ /**
2157
+ * TOKEN_SAFE_PULL_ROLE
2158
+ * view
2159
+ */
2160
+ async TOKEN_SAFE_PULL_ROLE() {
2161
+ return this.contract.read.TOKEN_SAFE_PULL_ROLE();
2162
+ }
2163
+ /**
2164
+ * allowance
2165
+ * view
2166
+ */
2167
+ async allowance(owner, spender) {
2168
+ return this.contract.read.allowance([owner, spender]);
2169
+ }
2170
+ /**
2171
+ * balanceOf
2172
+ * view
2173
+ */
2174
+ async balanceOf(account) {
2175
+ return this.contract.read.balanceOf([account]);
2176
+ }
2177
+ /**
2178
+ * batchTAOAmt
2179
+ * view
2180
+ */
2181
+ async batchTAOAmt() {
2182
+ return this.contract.read.batchTAOAmt();
2183
+ }
2184
+ /**
2185
+ * bridgePercentFee
2186
+ * view
2187
+ */
2188
+ async bridgePercentFee() {
2189
+ return this.contract.read.bridgePercentFee();
2190
+ }
2191
+ /**
2192
+ * bridgeWrapper
2193
+ * view
2194
+ */
2195
+ async bridgeWrapper() {
2196
+ return this.contract.read.bridgeWrapper();
2197
+ }
2198
+ /**
2199
+ * bridgingFee
2200
+ * view
2201
+ */
2202
+ async bridgingFee() {
2203
+ return this.contract.read.bridgingFee();
2204
+ }
2205
+ /**
2206
+ * calculateAmtAfterFee
2207
+ * view
2208
+ */
2209
+ async calculateAmtAfterFee(wtaoAmount) {
2210
+ return this.contract.read.calculateAmtAfterFee([wtaoAmount]);
2211
+ }
2212
+ /**
2213
+ * decimals
2214
+ * view
2215
+ */
2216
+ async decimals() {
2217
+ return this.contract.read.decimals();
2218
+ }
2219
+ /**
2220
+ * exchangeRate
2221
+ * view
2222
+ */
2223
+ async exchangeRate() {
2224
+ return this.contract.read.exchangeRate();
2225
+ }
2226
+ /**
2227
+ * getRoleAdmin
2228
+ * view
2229
+ */
2230
+ async getRoleAdmin(role) {
2231
+ return this.contract.read.getRoleAdmin([role]);
2232
+ }
2233
+ /**
2234
+ * getUnstakeRequestByUser
2235
+ * view
2236
+ */
2237
+ async getUnstakeRequestByUser(user) {
2238
+ return this.contract.read.getUnstakeRequestByUser([user]);
2239
+ }
2240
+ /**
2241
+ * getWTAOByWstTAO
2242
+ * view
2243
+ */
2244
+ async getWTAOByWstTAO(wstTaoAmount) {
2245
+ return this.contract.read.getWTAOByWstTAO([wstTaoAmount]);
2246
+ }
2247
+ /**
2248
+ * getWTAOByWstTAOAfterFee
2249
+ * view
2250
+ */
2251
+ async getWTAOByWstTAOAfterFee(wstTaoAmount) {
2252
+ return this.contract.read.getWTAOByWstTAOAfterFee([wstTaoAmount]);
2253
+ }
2254
+ /**
2255
+ * getWstTAObyWTAO
2256
+ * view
2257
+ */
2258
+ async getWstTAObyWTAO(wtaoAmount) {
2259
+ return this.contract.read.getWstTAObyWTAO([wtaoAmount]);
2260
+ }
2261
+ /**
2262
+ * hasRole
2263
+ * view
2264
+ */
2265
+ async hasRole(role, account) {
2266
+ return this.contract.read.hasRole([role, account]);
2267
+ }
2268
+ /**
2269
+ * isPaused
2270
+ * view
2271
+ */
2272
+ async isPaused() {
2273
+ return this.contract.read.isPaused();
2274
+ }
2275
+ /**
2276
+ * lowerExchangeRateBound
2277
+ * view
2278
+ */
2279
+ async lowerExchangeRateBound() {
2280
+ return this.contract.read.lowerExchangeRateBound();
2281
+ }
2282
+ /**
2283
+ * maxDepositPerRequest
2284
+ * view
2285
+ */
2286
+ async maxDepositPerRequest() {
2287
+ return this.contract.read.maxDepositPerRequest();
2288
+ }
2289
+ /**
2290
+ * maxSupply
2291
+ * view
2292
+ */
2293
+ async maxSupply() {
2294
+ return this.contract.read.maxSupply();
2295
+ }
2296
+ /**
2297
+ * maxTaoForWrap
2298
+ * view
2299
+ */
2300
+ async maxTaoForWrap() {
2301
+ return this.contract.read.maxTaoForWrap();
2302
+ }
2303
+ /**
2304
+ * maxUnstakeRequests
2305
+ * view
2306
+ */
2307
+ async maxUnstakeRequests() {
2308
+ return this.contract.read.maxUnstakeRequests();
2309
+ }
2310
+ /**
2311
+ * minStakingAmt
2312
+ * view
2313
+ */
2314
+ async minStakingAmt() {
2315
+ return this.contract.read.minStakingAmt();
2316
+ }
2317
+ /**
2318
+ * name
2319
+ * view
2320
+ */
2321
+ async name() {
2322
+ return this.contract.read.name();
2323
+ }
2324
+ /**
2325
+ * nativeWalletReceiver
2326
+ * view
2327
+ */
2328
+ async nativeWalletReceiver() {
2329
+ return this.contract.read.nativeWalletReceiver();
2330
+ }
2331
+ /**
2332
+ * owner
2333
+ * view
2334
+ */
2335
+ async owner() {
2336
+ return this.contract.read.owner();
2337
+ }
2338
+ /**
2339
+ * pendingOwner
2340
+ * view
2341
+ */
2342
+ async pendingOwner() {
2343
+ return this.contract.read.pendingOwner();
2344
+ }
2345
+ /**
2346
+ * protocolVault
2347
+ * view
2348
+ */
2349
+ async protocolVault() {
2350
+ return this.contract.read.protocolVault();
2351
+ }
2352
+ /**
2353
+ * serviceFee
2354
+ * view
2355
+ */
2356
+ async serviceFee() {
2357
+ return this.contract.read.serviceFee();
2358
+ }
2359
+ /**
2360
+ * stakingFee
2361
+ * view
2362
+ */
2363
+ async stakingFee() {
2364
+ return this.contract.read.stakingFee();
2365
+ }
2366
+ /**
2367
+ * supportsInterface
2368
+ * view
2369
+ */
2370
+ async supportsInterface(interfaceId) {
2371
+ return this.contract.read.supportsInterface([interfaceId]);
2372
+ }
2373
+ /**
2374
+ * symbol
2375
+ * view
2376
+ */
2377
+ async symbol() {
2378
+ return this.contract.read.symbol();
2379
+ }
2380
+ /**
2381
+ * totalSupply
2382
+ * view
2383
+ */
2384
+ async totalSupply() {
2385
+ return this.contract.read.totalSupply();
2386
+ }
2387
+ /**
2388
+ * unstakeRequests
2389
+ * view
2390
+ */
2391
+ async unstakeRequests(arg0, arg1) {
2392
+ return this.contract.read.unstakeRequests([arg0, arg1]);
2393
+ }
2394
+ /**
2395
+ * unstakingFee
2396
+ * view
2397
+ */
2398
+ async unstakingFee() {
2399
+ return this.contract.read.unstakingFee();
2400
+ }
2401
+ /**
2402
+ * upperExchangeRateBound
2403
+ * view
2404
+ */
2405
+ async upperExchangeRateBound() {
2406
+ return this.contract.read.upperExchangeRateBound();
2407
+ }
2408
+ /**
2409
+ * withdrawalManager
2410
+ * view
2411
+ */
2412
+ async withdrawalManager() {
2413
+ return this.contract.read.withdrawalManager();
2414
+ }
2415
+ /**
2416
+ * wrappedToken
2417
+ * view
2418
+ */
2419
+ async wrappedToken() {
2420
+ return this.contract.read.wrappedToken();
2421
+ }
2422
+ /**
2423
+ * acceptOwnership
2424
+ * nonpayable
2425
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2426
+ */
2427
+ async acceptOwnership(options) {
2428
+ if (!this.contract.write) {
2429
+ throw new Error('Wallet client is required for write operations');
2430
+ }
2431
+ return this.contract.write.acceptOwnership(options);
2432
+ }
2433
+ /**
2434
+ * approve
2435
+ * nonpayable
2436
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2437
+ */
2438
+ async approve(spender, value, options) {
2439
+ if (!this.contract.write) {
2440
+ throw new Error('Wallet client is required for write operations');
2441
+ }
2442
+ return this.contract.write.approve([spender, value], options);
2443
+ }
2444
+ /**
2445
+ * approveMultipleUnstakes
2446
+ * nonpayable
2447
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2448
+ */
2449
+ async approveMultipleUnstakes(requests, options) {
2450
+ if (!this.contract.write) {
2451
+ throw new Error('Wallet client is required for write operations');
2452
+ }
2453
+ return this.contract.write.approveMultipleUnstakes([requests], options);
2454
+ }
2455
+ /**
2456
+ * batchInternalFulfillUnstaking
2457
+ * nonpayable
2458
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2459
+ */
2460
+ async batchInternalFulfillUnstaking(requests, options) {
2461
+ if (!this.contract.write) {
2462
+ throw new Error('Wallet client is required for write operations');
2463
+ }
2464
+ return this.contract.write.batchInternalFulfillUnstaking([requests], options);
2465
+ }
2466
+ /**
2467
+ * batchTransferBridgeBack
2468
+ * nonpayable
2469
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2470
+ */
2471
+ async batchTransferBridgeBack(amount, options) {
2472
+ if (!this.contract.write) {
2473
+ throw new Error('Wallet client is required for write operations');
2474
+ }
2475
+ return this.contract.write.batchTransferBridgeBack([amount], options);
2476
+ }
2477
+ /**
2478
+ * grantRole
2479
+ * nonpayable
2480
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2481
+ */
2482
+ async grantRole(role, account, options) {
2483
+ if (!this.contract.write) {
2484
+ throw new Error('Wallet client is required for write operations');
2485
+ }
2486
+ return this.contract.write.grantRole([role, account], options);
2487
+ }
2488
+ /**
2489
+ * initialize
2490
+ * nonpayable
2491
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2492
+ */
2493
+ async initialize(initialOwner, initialSupply, options) {
2494
+ if (!this.contract.write) {
2495
+ throw new Error('Wallet client is required for write operations');
2496
+ }
2497
+ return this.contract.write.initialize([initialOwner, initialSupply], options);
2498
+ }
2499
+ /**
2500
+ * renounceOwnership
2501
+ * nonpayable
2502
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2503
+ */
2504
+ async renounceOwnership(options) {
2505
+ if (!this.contract.write) {
2506
+ throw new Error('Wallet client is required for write operations');
2507
+ }
2508
+ return this.contract.write.renounceOwnership(options);
2509
+ }
2510
+ /**
2511
+ * renounceRole
2512
+ * nonpayable
2513
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2514
+ */
2515
+ async renounceRole(role, callerConfirmation, options) {
2516
+ if (!this.contract.write) {
2517
+ throw new Error('Wallet client is required for write operations');
2518
+ }
2519
+ return this.contract.write.renounceRole([role, callerConfirmation], options);
2520
+ }
2521
+ /**
2522
+ * requestUnstake
2523
+ * payable
2524
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2525
+ */
2526
+ async requestUnstake(wstTAOAmt, options) {
2527
+ if (!this.contract.write) {
2528
+ throw new Error('Wallet client is required for write operations');
2529
+ }
2530
+ return this.contract.write.requestUnstake([wstTAOAmt], options);
2531
+ }
2532
+ /**
2533
+ * revokeRole
2534
+ * nonpayable
2535
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2536
+ */
2537
+ async revokeRole(role, account, options) {
2538
+ if (!this.contract.write) {
2539
+ throw new Error('Wallet client is required for write operations');
2540
+ }
2541
+ return this.contract.write.revokeRole([role, account], options);
2542
+ }
2543
+ /**
2544
+ * safePullERC20
2545
+ * nonpayable
2546
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2547
+ */
2548
+ async safePullERC20(tokenAddress, to, amount, options) {
2549
+ if (!this.contract.write) {
2550
+ throw new Error('Wallet client is required for write operations');
2551
+ }
2552
+ return this.contract.write.safePullERC20([tokenAddress, to, amount], options);
2553
+ }
2554
+ /**
2555
+ * setBridgePercentFee
2556
+ * nonpayable
2557
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2558
+ */
2559
+ async setBridgePercentFee(_bridgePercentFee, options) {
2560
+ if (!this.contract.write) {
2561
+ throw new Error('Wallet client is required for write operations');
2562
+ }
2563
+ return this.contract.write.setBridgePercentFee([_bridgePercentFee], options);
2564
+ }
2565
+ /**
2566
+ * setBridgeWrapper
2567
+ * nonpayable
2568
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2569
+ */
2570
+ async setBridgeWrapper(_bridgeWrapper, options) {
2571
+ if (!this.contract.write) {
2572
+ throw new Error('Wallet client is required for write operations');
2573
+ }
2574
+ return this.contract.write.setBridgeWrapper([_bridgeWrapper], options);
2575
+ }
2576
+ /**
2577
+ * setBridgingFee
2578
+ * nonpayable
2579
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2580
+ */
2581
+ async setBridgingFee(_bridgingFee, options) {
2582
+ if (!this.contract.write) {
2583
+ throw new Error('Wallet client is required for write operations');
2584
+ }
2585
+ return this.contract.write.setBridgingFee([_bridgingFee], options);
2586
+ }
2587
+ /**
2588
+ * setLowerExchangeRateBound
2589
+ * nonpayable
2590
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2591
+ */
2592
+ async setLowerExchangeRateBound(_newLowerBound, options) {
2593
+ if (!this.contract.write) {
2594
+ throw new Error('Wallet client is required for write operations');
2595
+ }
2596
+ return this.contract.write.setLowerExchangeRateBound([_newLowerBound], options);
2597
+ }
2598
+ /**
2599
+ * setMaxDepositPerRequest
2600
+ * nonpayable
2601
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2602
+ */
2603
+ async setMaxDepositPerRequest(_maxDepositPerRequest, options) {
2604
+ if (!this.contract.write) {
2605
+ throw new Error('Wallet client is required for write operations');
2606
+ }
2607
+ return this.contract.write.setMaxDepositPerRequest([_maxDepositPerRequest], options);
2608
+ }
2609
+ /**
2610
+ * setMaxSupply
2611
+ * nonpayable
2612
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2613
+ */
2614
+ async setMaxSupply(_maxSupply, options) {
2615
+ if (!this.contract.write) {
2616
+ throw new Error('Wallet client is required for write operations');
2617
+ }
2618
+ return this.contract.write.setMaxSupply([_maxSupply], options);
2619
+ }
2620
+ /**
2621
+ * setMaxUnstakeRequest
2622
+ * nonpayable
2623
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2624
+ */
2625
+ async setMaxUnstakeRequest(_maxUnstakeRequests, options) {
2626
+ if (!this.contract.write) {
2627
+ throw new Error('Wallet client is required for write operations');
2628
+ }
2629
+ return this.contract.write.setMaxUnstakeRequest([_maxUnstakeRequests], options);
2630
+ }
2631
+ /**
2632
+ * setMinStakingAmt
2633
+ * nonpayable
2634
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2635
+ */
2636
+ async setMinStakingAmt(_minStakingAmt, options) {
2637
+ if (!this.contract.write) {
2638
+ throw new Error('Wallet client is required for write operations');
2639
+ }
2640
+ return this.contract.write.setMinStakingAmt([_minStakingAmt], options);
2641
+ }
2642
+ /**
2643
+ * setNativeTokenReceiver
2644
+ * nonpayable
2645
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2646
+ */
2647
+ async setNativeTokenReceiver(_nativeWalletReceiver, options) {
2648
+ if (!this.contract.write) {
2649
+ throw new Error('Wallet client is required for write operations');
2650
+ }
2651
+ return this.contract.write.setNativeTokenReceiver([_nativeWalletReceiver], options);
2652
+ }
2653
+ /**
2654
+ * setPaused
2655
+ * nonpayable
2656
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2657
+ */
2658
+ async setPaused(_isPaused, options) {
2659
+ if (!this.contract.write) {
2660
+ throw new Error('Wallet client is required for write operations');
2661
+ }
2662
+ return this.contract.write.setPaused([_isPaused], options);
2663
+ }
2664
+ /**
2665
+ * setProtocolVault
2666
+ * nonpayable
2667
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2668
+ */
2669
+ async setProtocolVault(_protocolVault, options) {
2670
+ if (!this.contract.write) {
2671
+ throw new Error('Wallet client is required for write operations');
2672
+ }
2673
+ return this.contract.write.setProtocolVault([_protocolVault], options);
2674
+ }
2675
+ /**
2676
+ * setServiceFee
2677
+ * nonpayable
2678
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2679
+ */
2680
+ async setServiceFee(_serviceFee, options) {
2681
+ if (!this.contract.write) {
2682
+ throw new Error('Wallet client is required for write operations');
2683
+ }
2684
+ return this.contract.write.setServiceFee([_serviceFee], options);
2685
+ }
2686
+ /**
2687
+ * setStakingFee
2688
+ * nonpayable
2689
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2690
+ */
2691
+ async setStakingFee(_stakingFee, options) {
2692
+ if (!this.contract.write) {
2693
+ throw new Error('Wallet client is required for write operations');
2694
+ }
2695
+ return this.contract.write.setStakingFee([_stakingFee], options);
2696
+ }
2697
+ /**
2698
+ * setUnstakingFee
2699
+ * nonpayable
2700
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2701
+ */
2702
+ async setUnstakingFee(_unstakingFee, options) {
2703
+ if (!this.contract.write) {
2704
+ throw new Error('Wallet client is required for write operations');
2705
+ }
2706
+ return this.contract.write.setUnstakingFee([_unstakingFee], options);
2707
+ }
2708
+ /**
2709
+ * setUpperExchangeRateBound
2710
+ * nonpayable
2711
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2712
+ */
2713
+ async setUpperExchangeRateBound(_newUpperBound, options) {
2714
+ if (!this.contract.write) {
2715
+ throw new Error('Wallet client is required for write operations');
2716
+ }
2717
+ return this.contract.write.setUpperExchangeRateBound([_newUpperBound], options);
2718
+ }
2719
+ /**
2720
+ * setWTAO
2721
+ * nonpayable
2722
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2723
+ */
2724
+ async setWTAO(_wTAO, options) {
2725
+ if (!this.contract.write) {
2726
+ throw new Error('Wallet client is required for write operations');
2727
+ }
2728
+ return this.contract.write.setWTAO([_wTAO], options);
2729
+ }
2730
+ /**
2731
+ * setWithdrawalManager
2732
+ * nonpayable
2733
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2734
+ */
2735
+ async setWithdrawalManager(_withdrawalManager, options) {
2736
+ if (!this.contract.write) {
2737
+ throw new Error('Wallet client is required for write operations');
2738
+ }
2739
+ return this.contract.write.setWithdrawalManager([_withdrawalManager], options);
2740
+ }
2741
+ /**
2742
+ * transfer
2743
+ * nonpayable
2744
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2745
+ */
2746
+ async transfer(to, value, options) {
2747
+ if (!this.contract.write) {
2748
+ throw new Error('Wallet client is required for write operations');
2749
+ }
2750
+ return this.contract.write.transfer([to, value], options);
2751
+ }
2752
+ /**
2753
+ * transferFrom
2754
+ * nonpayable
2755
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2756
+ */
2757
+ async transferFrom(from, to, value, options) {
2758
+ if (!this.contract.write) {
2759
+ throw new Error('Wallet client is required for write operations');
2760
+ }
2761
+ return this.contract.write.transferFrom([from, to, value], options);
2762
+ }
2763
+ /**
2764
+ * transferOwnership
2765
+ * nonpayable
2766
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2767
+ */
2768
+ async transferOwnership(newOwner, options) {
2769
+ if (!this.contract.write) {
2770
+ throw new Error('Wallet client is required for write operations');
2771
+ }
2772
+ return this.contract.write.transferOwnership([newOwner], options);
2773
+ }
2774
+ /**
2775
+ * unstake
2776
+ * nonpayable
2777
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2778
+ */
2779
+ async unstake(requestIndex, options) {
2780
+ if (!this.contract.write) {
2781
+ throw new Error('Wallet client is required for write operations');
2782
+ }
2783
+ return this.contract.write.unstake([requestIndex], options);
2784
+ }
2785
+ /**
2786
+ * updateExchangeRate
2787
+ * nonpayable
2788
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2789
+ */
2790
+ async updateExchangeRate(newRate, options) {
2791
+ if (!this.contract.write) {
2792
+ throw new Error('Wallet client is required for write operations');
2793
+ }
2794
+ return this.contract.write.updateExchangeRate([newRate], options);
2795
+ }
2796
+ /**
2797
+ * wrap
2798
+ * nonpayable
2799
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2800
+ */
2801
+ async wrap(wtaoAmount, options) {
2802
+ if (!this.contract.write) {
2803
+ throw new Error('Wallet client is required for write operations');
2804
+ }
2805
+ return this.contract.write.wrap([wtaoAmount], options);
2806
+ }
2807
+ /**
2808
+ * Simulate contract write operations (dry-run without sending transaction)
2809
+ *
2810
+ * @example
2811
+ * const result = await contract.simulate.transfer('0x...', 1000n);
2812
+ * console.log('Gas estimate:', result.request.gas);
2813
+ * console.log('Would succeed:', result.result);
2814
+ */
2815
+ get simulate() {
2816
+ const contract = this.contract;
2817
+ if (!contract.simulate) {
2818
+ throw new Error('Public client is required for simulation');
2819
+ }
2820
+ return {
2821
+ /**
2822
+ * Simulate acceptOwnership
2823
+ * Returns gas estimate and result without sending transaction
2824
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2825
+ */
2826
+ async acceptOwnership(options) {
2827
+ return contract.simulate.acceptOwnership(options);
2828
+ },
2829
+ /**
2830
+ * Simulate approve
2831
+ * Returns gas estimate and result without sending transaction
2832
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2833
+ */
2834
+ async approve(spender, value, options) {
2835
+ return contract.simulate.approve([spender, value], options);
2836
+ },
2837
+ /**
2838
+ * Simulate approveMultipleUnstakes
2839
+ * Returns gas estimate and result without sending transaction
2840
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2841
+ */
2842
+ async approveMultipleUnstakes(requests, options) {
2843
+ return contract.simulate.approveMultipleUnstakes([requests], options);
2844
+ },
2845
+ /**
2846
+ * Simulate batchInternalFulfillUnstaking
2847
+ * Returns gas estimate and result without sending transaction
2848
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2849
+ */
2850
+ async batchInternalFulfillUnstaking(requests, options) {
2851
+ return contract.simulate.batchInternalFulfillUnstaking([requests], options);
2852
+ },
2853
+ /**
2854
+ * Simulate batchTransferBridgeBack
2855
+ * Returns gas estimate and result without sending transaction
2856
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2857
+ */
2858
+ async batchTransferBridgeBack(amount, options) {
2859
+ return contract.simulate.batchTransferBridgeBack([amount], options);
2860
+ },
2861
+ /**
2862
+ * Simulate grantRole
2863
+ * Returns gas estimate and result without sending transaction
2864
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2865
+ */
2866
+ async grantRole(role, account, options) {
2867
+ return contract.simulate.grantRole([role, account], options);
2868
+ },
2869
+ /**
2870
+ * Simulate initialize
2871
+ * Returns gas estimate and result without sending transaction
2872
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2873
+ */
2874
+ async initialize(initialOwner, initialSupply, options) {
2875
+ return contract.simulate.initialize([initialOwner, initialSupply], options);
2876
+ },
2877
+ /**
2878
+ * Simulate renounceOwnership
2879
+ * Returns gas estimate and result without sending transaction
2880
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2881
+ */
2882
+ async renounceOwnership(options) {
2883
+ return contract.simulate.renounceOwnership(options);
2884
+ },
2885
+ /**
2886
+ * Simulate renounceRole
2887
+ * Returns gas estimate and result without sending transaction
2888
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2889
+ */
2890
+ async renounceRole(role, callerConfirmation, options) {
2891
+ return contract.simulate.renounceRole([role, callerConfirmation], options);
2892
+ },
2893
+ /**
2894
+ * Simulate requestUnstake
2895
+ * Returns gas estimate and result without sending transaction
2896
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2897
+ */
2898
+ async requestUnstake(wstTAOAmt, options) {
2899
+ return contract.simulate.requestUnstake([wstTAOAmt], options);
2900
+ },
2901
+ /**
2902
+ * Simulate revokeRole
2903
+ * Returns gas estimate and result without sending transaction
2904
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2905
+ */
2906
+ async revokeRole(role, account, options) {
2907
+ return contract.simulate.revokeRole([role, account], options);
2908
+ },
2909
+ /**
2910
+ * Simulate safePullERC20
2911
+ * Returns gas estimate and result without sending transaction
2912
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2913
+ */
2914
+ async safePullERC20(tokenAddress, to, amount, options) {
2915
+ return contract.simulate.safePullERC20([tokenAddress, to, amount], options);
2916
+ },
2917
+ /**
2918
+ * Simulate setBridgePercentFee
2919
+ * Returns gas estimate and result without sending transaction
2920
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2921
+ */
2922
+ async setBridgePercentFee(_bridgePercentFee, options) {
2923
+ return contract.simulate.setBridgePercentFee([_bridgePercentFee], options);
2924
+ },
2925
+ /**
2926
+ * Simulate setBridgeWrapper
2927
+ * Returns gas estimate and result without sending transaction
2928
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2929
+ */
2930
+ async setBridgeWrapper(_bridgeWrapper, options) {
2931
+ return contract.simulate.setBridgeWrapper([_bridgeWrapper], options);
2932
+ },
2933
+ /**
2934
+ * Simulate setBridgingFee
2935
+ * Returns gas estimate and result without sending transaction
2936
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2937
+ */
2938
+ async setBridgingFee(_bridgingFee, options) {
2939
+ return contract.simulate.setBridgingFee([_bridgingFee], options);
2940
+ },
2941
+ /**
2942
+ * Simulate setLowerExchangeRateBound
2943
+ * Returns gas estimate and result without sending transaction
2944
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2945
+ */
2946
+ async setLowerExchangeRateBound(_newLowerBound, options) {
2947
+ return contract.simulate.setLowerExchangeRateBound([_newLowerBound], options);
2948
+ },
2949
+ /**
2950
+ * Simulate setMaxDepositPerRequest
2951
+ * Returns gas estimate and result without sending transaction
2952
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2953
+ */
2954
+ async setMaxDepositPerRequest(_maxDepositPerRequest, options) {
2955
+ return contract.simulate.setMaxDepositPerRequest([_maxDepositPerRequest], options);
2956
+ },
2957
+ /**
2958
+ * Simulate setMaxSupply
2959
+ * Returns gas estimate and result without sending transaction
2960
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2961
+ */
2962
+ async setMaxSupply(_maxSupply, options) {
2963
+ return contract.simulate.setMaxSupply([_maxSupply], options);
2964
+ },
2965
+ /**
2966
+ * Simulate setMaxUnstakeRequest
2967
+ * Returns gas estimate and result without sending transaction
2968
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2969
+ */
2970
+ async setMaxUnstakeRequest(_maxUnstakeRequests, options) {
2971
+ return contract.simulate.setMaxUnstakeRequest([_maxUnstakeRequests], options);
2972
+ },
2973
+ /**
2974
+ * Simulate setMinStakingAmt
2975
+ * Returns gas estimate and result without sending transaction
2976
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2977
+ */
2978
+ async setMinStakingAmt(_minStakingAmt, options) {
2979
+ return contract.simulate.setMinStakingAmt([_minStakingAmt], options);
2980
+ },
2981
+ /**
2982
+ * Simulate setNativeTokenReceiver
2983
+ * Returns gas estimate and result without sending transaction
2984
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2985
+ */
2986
+ async setNativeTokenReceiver(_nativeWalletReceiver, options) {
2987
+ return contract.simulate.setNativeTokenReceiver([_nativeWalletReceiver], options);
2988
+ },
2989
+ /**
2990
+ * Simulate setPaused
2991
+ * Returns gas estimate and result without sending transaction
2992
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2993
+ */
2994
+ async setPaused(_isPaused, options) {
2995
+ return contract.simulate.setPaused([_isPaused], options);
2996
+ },
2997
+ /**
2998
+ * Simulate setProtocolVault
2999
+ * Returns gas estimate and result without sending transaction
3000
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3001
+ */
3002
+ async setProtocolVault(_protocolVault, options) {
3003
+ return contract.simulate.setProtocolVault([_protocolVault], options);
3004
+ },
3005
+ /**
3006
+ * Simulate setServiceFee
3007
+ * Returns gas estimate and result without sending transaction
3008
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3009
+ */
3010
+ async setServiceFee(_serviceFee, options) {
3011
+ return contract.simulate.setServiceFee([_serviceFee], options);
3012
+ },
3013
+ /**
3014
+ * Simulate setStakingFee
3015
+ * Returns gas estimate and result without sending transaction
3016
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3017
+ */
3018
+ async setStakingFee(_stakingFee, options) {
3019
+ return contract.simulate.setStakingFee([_stakingFee], options);
3020
+ },
3021
+ /**
3022
+ * Simulate setUnstakingFee
3023
+ * Returns gas estimate and result without sending transaction
3024
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3025
+ */
3026
+ async setUnstakingFee(_unstakingFee, options) {
3027
+ return contract.simulate.setUnstakingFee([_unstakingFee], options);
3028
+ },
3029
+ /**
3030
+ * Simulate setUpperExchangeRateBound
3031
+ * Returns gas estimate and result without sending transaction
3032
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3033
+ */
3034
+ async setUpperExchangeRateBound(_newUpperBound, options) {
3035
+ return contract.simulate.setUpperExchangeRateBound([_newUpperBound], options);
3036
+ },
3037
+ /**
3038
+ * Simulate setWTAO
3039
+ * Returns gas estimate and result without sending transaction
3040
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3041
+ */
3042
+ async setWTAO(_wTAO, options) {
3043
+ return contract.simulate.setWTAO([_wTAO], options);
3044
+ },
3045
+ /**
3046
+ * Simulate setWithdrawalManager
3047
+ * Returns gas estimate and result without sending transaction
3048
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3049
+ */
3050
+ async setWithdrawalManager(_withdrawalManager, options) {
3051
+ return contract.simulate.setWithdrawalManager([_withdrawalManager], options);
3052
+ },
3053
+ /**
3054
+ * Simulate transfer
3055
+ * Returns gas estimate and result without sending transaction
3056
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3057
+ */
3058
+ async transfer(to, value, options) {
3059
+ return contract.simulate.transfer([to, value], options);
3060
+ },
3061
+ /**
3062
+ * Simulate transferFrom
3063
+ * Returns gas estimate and result without sending transaction
3064
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3065
+ */
3066
+ async transferFrom(from, to, value, options) {
3067
+ return contract.simulate.transferFrom([from, to, value], options);
3068
+ },
3069
+ /**
3070
+ * Simulate transferOwnership
3071
+ * Returns gas estimate and result without sending transaction
3072
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3073
+ */
3074
+ async transferOwnership(newOwner, options) {
3075
+ return contract.simulate.transferOwnership([newOwner], options);
3076
+ },
3077
+ /**
3078
+ * Simulate unstake
3079
+ * Returns gas estimate and result without sending transaction
3080
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3081
+ */
3082
+ async unstake(requestIndex, options) {
3083
+ return contract.simulate.unstake([requestIndex], options);
3084
+ },
3085
+ /**
3086
+ * Simulate updateExchangeRate
3087
+ * Returns gas estimate and result without sending transaction
3088
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3089
+ */
3090
+ async updateExchangeRate(newRate, options) {
3091
+ return contract.simulate.updateExchangeRate([newRate], options);
3092
+ },
3093
+ /**
3094
+ * Simulate wrap
3095
+ * Returns gas estimate and result without sending transaction
3096
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3097
+ */
3098
+ async wrap(wtaoAmount, options) {
3099
+ return contract.simulate.wrap([wtaoAmount], options);
3100
+ }
3101
+ };
3102
+ }
3103
+ /**
3104
+ * Watch contract events
3105
+ *
3106
+ * @example
3107
+ * // Watch all Transfer events
3108
+ * const unwatch = contract.watch.Transfer((event) => {
3109
+ * console.log('Transfer:', event);
3110
+ * });
3111
+ *
3112
+ * // Stop watching
3113
+ * unwatch();
3114
+ */
3115
+ get watch() {
3116
+ return {
3117
+ /**
3118
+ * Watch AdminUnstakeApproved events
3119
+ * @param callback Function to call when event is emitted
3120
+ * @param filter Optional filter for indexed parameters
3121
+ * @returns Unwatch function to stop listening
3122
+ */
3123
+ AdminUnstakeApproved: (callback, filter) => {
3124
+ return this.publicClient.watchContractEvent({
3125
+ address: this.contractAddress,
3126
+ abi: exports.PlxTAO_jsonAbi,
3127
+ eventName: 'AdminUnstakeApproved',
3128
+ args: filter,
3129
+ onLogs: (logs) => {
3130
+ logs.forEach((log) => {
3131
+ callback(log.args);
3132
+ });
3133
+ },
3134
+ });
3135
+ },
3136
+ /**
3137
+ * Watch Approval events
3138
+ * @param callback Function to call when event is emitted
3139
+ * @param filter Optional filter for indexed parameters
3140
+ * @returns Unwatch function to stop listening
3141
+ */
3142
+ Approval: (callback, filter) => {
3143
+ return this.publicClient.watchContractEvent({
3144
+ address: this.contractAddress,
3145
+ abi: exports.PlxTAO_jsonAbi,
3146
+ eventName: 'Approval',
3147
+ args: filter,
3148
+ onLogs: (logs) => {
3149
+ logs.forEach((log) => {
3150
+ callback(log.args);
3151
+ });
3152
+ },
3153
+ });
3154
+ },
3155
+ /**
3156
+ * Watch ContractPaused events
3157
+ * @param callback Function to call when event is emitted
3158
+ * @param filter Optional filter for indexed parameters
3159
+ * @returns Unwatch function to stop listening
3160
+ */
3161
+ ContractPaused: (callback) => {
3162
+ return this.publicClient.watchContractEvent({
3163
+ address: this.contractAddress,
3164
+ abi: exports.PlxTAO_jsonAbi,
3165
+ eventName: 'ContractPaused',
3166
+ onLogs: (logs) => {
3167
+ logs.forEach((log) => {
3168
+ callback(log.args);
3169
+ });
3170
+ },
3171
+ });
3172
+ },
3173
+ /**
3174
+ * Watch ERC20TokenPulled events
3175
+ * @param callback Function to call when event is emitted
3176
+ * @param filter Optional filter for indexed parameters
3177
+ * @returns Unwatch function to stop listening
3178
+ */
3179
+ ERC20TokenPulled: (callback) => {
3180
+ return this.publicClient.watchContractEvent({
3181
+ address: this.contractAddress,
3182
+ abi: exports.PlxTAO_jsonAbi,
3183
+ eventName: 'ERC20TokenPulled',
3184
+ onLogs: (logs) => {
3185
+ logs.forEach((log) => {
3186
+ callback(log.args);
3187
+ });
3188
+ },
3189
+ });
3190
+ },
3191
+ /**
3192
+ * Watch Initialized events
3193
+ * @param callback Function to call when event is emitted
3194
+ * @param filter Optional filter for indexed parameters
3195
+ * @returns Unwatch function to stop listening
3196
+ */
3197
+ Initialized: (callback) => {
3198
+ return this.publicClient.watchContractEvent({
3199
+ address: this.contractAddress,
3200
+ abi: exports.PlxTAO_jsonAbi,
3201
+ eventName: 'Initialized',
3202
+ onLogs: (logs) => {
3203
+ logs.forEach((log) => {
3204
+ callback(log.args);
3205
+ });
3206
+ },
3207
+ });
3208
+ },
3209
+ /**
3210
+ * Watch LowerBoundUpdated events
3211
+ * @param callback Function to call when event is emitted
3212
+ * @param filter Optional filter for indexed parameters
3213
+ * @returns Unwatch function to stop listening
3214
+ */
3215
+ LowerBoundUpdated: (callback) => {
3216
+ return this.publicClient.watchContractEvent({
3217
+ address: this.contractAddress,
3218
+ abi: exports.PlxTAO_jsonAbi,
3219
+ eventName: 'LowerBoundUpdated',
3220
+ onLogs: (logs) => {
3221
+ logs.forEach((log) => {
3222
+ callback(log.args);
3223
+ });
3224
+ },
3225
+ });
3226
+ },
3227
+ /**
3228
+ * Watch NativeTokenPulled events
3229
+ * @param callback Function to call when event is emitted
3230
+ * @param filter Optional filter for indexed parameters
3231
+ * @returns Unwatch function to stop listening
3232
+ */
3233
+ NativeTokenPulled: (callback) => {
3234
+ return this.publicClient.watchContractEvent({
3235
+ address: this.contractAddress,
3236
+ abi: exports.PlxTAO_jsonAbi,
3237
+ eventName: 'NativeTokenPulled',
3238
+ onLogs: (logs) => {
3239
+ logs.forEach((log) => {
3240
+ callback(log.args);
3241
+ });
3242
+ },
3243
+ });
3244
+ },
3245
+ /**
3246
+ * Watch OwnershipTransferStarted events
3247
+ * @param callback Function to call when event is emitted
3248
+ * @param filter Optional filter for indexed parameters
3249
+ * @returns Unwatch function to stop listening
3250
+ */
3251
+ OwnershipTransferStarted: (callback, filter) => {
3252
+ return this.publicClient.watchContractEvent({
3253
+ address: this.contractAddress,
3254
+ abi: exports.PlxTAO_jsonAbi,
3255
+ eventName: 'OwnershipTransferStarted',
3256
+ args: filter,
3257
+ onLogs: (logs) => {
3258
+ logs.forEach((log) => {
3259
+ callback(log.args);
3260
+ });
3261
+ },
3262
+ });
3263
+ },
3264
+ /**
3265
+ * Watch OwnershipTransferred events
3266
+ * @param callback Function to call when event is emitted
3267
+ * @param filter Optional filter for indexed parameters
3268
+ * @returns Unwatch function to stop listening
3269
+ */
3270
+ OwnershipTransferred: (callback, filter) => {
3271
+ return this.publicClient.watchContractEvent({
3272
+ address: this.contractAddress,
3273
+ abi: exports.PlxTAO_jsonAbi,
3274
+ eventName: 'OwnershipTransferred',
3275
+ args: filter,
3276
+ onLogs: (logs) => {
3277
+ logs.forEach((log) => {
3278
+ callback(log.args);
3279
+ });
3280
+ },
3281
+ });
3282
+ },
3283
+ /**
3284
+ * Watch RoleAdminChanged events
3285
+ * @param callback Function to call when event is emitted
3286
+ * @param filter Optional filter for indexed parameters
3287
+ * @returns Unwatch function to stop listening
3288
+ */
3289
+ RoleAdminChanged: (callback, filter) => {
3290
+ return this.publicClient.watchContractEvent({
3291
+ address: this.contractAddress,
3292
+ abi: exports.PlxTAO_jsonAbi,
3293
+ eventName: 'RoleAdminChanged',
3294
+ args: filter,
3295
+ onLogs: (logs) => {
3296
+ logs.forEach((log) => {
3297
+ callback(log.args);
3298
+ });
3299
+ },
3300
+ });
3301
+ },
3302
+ /**
3303
+ * Watch RoleGranted events
3304
+ * @param callback Function to call when event is emitted
3305
+ * @param filter Optional filter for indexed parameters
3306
+ * @returns Unwatch function to stop listening
3307
+ */
3308
+ RoleGranted: (callback, filter) => {
3309
+ return this.publicClient.watchContractEvent({
3310
+ address: this.contractAddress,
3311
+ abi: exports.PlxTAO_jsonAbi,
3312
+ eventName: 'RoleGranted',
3313
+ args: filter,
3314
+ onLogs: (logs) => {
3315
+ logs.forEach((log) => {
3316
+ callback(log.args);
3317
+ });
3318
+ },
3319
+ });
3320
+ },
3321
+ /**
3322
+ * Watch RoleRevoked events
3323
+ * @param callback Function to call when event is emitted
3324
+ * @param filter Optional filter for indexed parameters
3325
+ * @returns Unwatch function to stop listening
3326
+ */
3327
+ RoleRevoked: (callback, filter) => {
3328
+ return this.publicClient.watchContractEvent({
3329
+ address: this.contractAddress,
3330
+ abi: exports.PlxTAO_jsonAbi,
3331
+ eventName: 'RoleRevoked',
3332
+ args: filter,
3333
+ onLogs: (logs) => {
3334
+ logs.forEach((log) => {
3335
+ callback(log.args);
3336
+ });
3337
+ },
3338
+ });
3339
+ },
3340
+ /**
3341
+ * Watch Transfer events
3342
+ * @param callback Function to call when event is emitted
3343
+ * @param filter Optional filter for indexed parameters
3344
+ * @returns Unwatch function to stop listening
3345
+ */
3346
+ Transfer: (callback, filter) => {
3347
+ return this.publicClient.watchContractEvent({
3348
+ address: this.contractAddress,
3349
+ abi: exports.PlxTAO_jsonAbi,
3350
+ eventName: 'Transfer',
3351
+ args: filter,
3352
+ onLogs: (logs) => {
3353
+ logs.forEach((log) => {
3354
+ callback(log.args);
3355
+ });
3356
+ },
3357
+ });
3358
+ },
3359
+ /**
3360
+ * Watch UpdateBridgeFee events
3361
+ * @param callback Function to call when event is emitted
3362
+ * @param filter Optional filter for indexed parameters
3363
+ * @returns Unwatch function to stop listening
3364
+ */
3365
+ UpdateBridgeFee: (callback) => {
3366
+ return this.publicClient.watchContractEvent({
3367
+ address: this.contractAddress,
3368
+ abi: exports.PlxTAO_jsonAbi,
3369
+ eventName: 'UpdateBridgeFee',
3370
+ onLogs: (logs) => {
3371
+ logs.forEach((log) => {
3372
+ callback(log.args);
3373
+ });
3374
+ },
3375
+ });
3376
+ },
3377
+ /**
3378
+ * Watch UpdateBridgePercentFee events
3379
+ * @param callback Function to call when event is emitted
3380
+ * @param filter Optional filter for indexed parameters
3381
+ * @returns Unwatch function to stop listening
3382
+ */
3383
+ UpdateBridgePercentFee: (callback) => {
3384
+ return this.publicClient.watchContractEvent({
3385
+ address: this.contractAddress,
3386
+ abi: exports.PlxTAO_jsonAbi,
3387
+ eventName: 'UpdateBridgePercentFee',
3388
+ onLogs: (logs) => {
3389
+ logs.forEach((log) => {
3390
+ callback(log.args);
3391
+ });
3392
+ },
3393
+ });
3394
+ },
3395
+ /**
3396
+ * Watch UpdateBridgeWrapper events
3397
+ * @param callback Function to call when event is emitted
3398
+ * @param filter Optional filter for indexed parameters
3399
+ * @returns Unwatch function to stop listening
3400
+ */
3401
+ UpdateBridgeWrapper: (callback) => {
3402
+ return this.publicClient.watchContractEvent({
3403
+ address: this.contractAddress,
3404
+ abi: exports.PlxTAO_jsonAbi,
3405
+ eventName: 'UpdateBridgeWrapper',
3406
+ onLogs: (logs) => {
3407
+ logs.forEach((log) => {
3408
+ callback(log.args);
3409
+ });
3410
+ },
3411
+ });
3412
+ },
3413
+ /**
3414
+ * Watch UpdateExchangeRate events
3415
+ * @param callback Function to call when event is emitted
3416
+ * @param filter Optional filter for indexed parameters
3417
+ * @returns Unwatch function to stop listening
3418
+ */
3419
+ UpdateExchangeRate: (callback) => {
3420
+ return this.publicClient.watchContractEvent({
3421
+ address: this.contractAddress,
3422
+ abi: exports.PlxTAO_jsonAbi,
3423
+ eventName: 'UpdateExchangeRate',
3424
+ onLogs: (logs) => {
3425
+ logs.forEach((log) => {
3426
+ callback(log.args);
3427
+ });
3428
+ },
3429
+ });
3430
+ },
3431
+ /**
3432
+ * Watch UpdateMaxDepositPerRequest events
3433
+ * @param callback Function to call when event is emitted
3434
+ * @param filter Optional filter for indexed parameters
3435
+ * @returns Unwatch function to stop listening
3436
+ */
3437
+ UpdateMaxDepositPerRequest: (callback) => {
3438
+ return this.publicClient.watchContractEvent({
3439
+ address: this.contractAddress,
3440
+ abi: exports.PlxTAO_jsonAbi,
3441
+ eventName: 'UpdateMaxDepositPerRequest',
3442
+ onLogs: (logs) => {
3443
+ logs.forEach((log) => {
3444
+ callback(log.args);
3445
+ });
3446
+ },
3447
+ });
3448
+ },
3449
+ /**
3450
+ * Watch UpdateMaxSupply events
3451
+ * @param callback Function to call when event is emitted
3452
+ * @param filter Optional filter for indexed parameters
3453
+ * @returns Unwatch function to stop listening
3454
+ */
3455
+ UpdateMaxSupply: (callback) => {
3456
+ return this.publicClient.watchContractEvent({
3457
+ address: this.contractAddress,
3458
+ abi: exports.PlxTAO_jsonAbi,
3459
+ eventName: 'UpdateMaxSupply',
3460
+ onLogs: (logs) => {
3461
+ logs.forEach((log) => {
3462
+ callback(log.args);
3463
+ });
3464
+ },
3465
+ });
3466
+ },
3467
+ /**
3468
+ * Watch UpdateMaxUnstakeRequest events
3469
+ * @param callback Function to call when event is emitted
3470
+ * @param filter Optional filter for indexed parameters
3471
+ * @returns Unwatch function to stop listening
3472
+ */
3473
+ UpdateMaxUnstakeRequest: (callback) => {
3474
+ return this.publicClient.watchContractEvent({
3475
+ address: this.contractAddress,
3476
+ abi: exports.PlxTAO_jsonAbi,
3477
+ eventName: 'UpdateMaxUnstakeRequest',
3478
+ onLogs: (logs) => {
3479
+ logs.forEach((log) => {
3480
+ callback(log.args);
3481
+ });
3482
+ },
3483
+ });
3484
+ },
3485
+ /**
3486
+ * Watch UpdateMinStakingAmt events
3487
+ * @param callback Function to call when event is emitted
3488
+ * @param filter Optional filter for indexed parameters
3489
+ * @returns Unwatch function to stop listening
3490
+ */
3491
+ UpdateMinStakingAmt: (callback) => {
3492
+ return this.publicClient.watchContractEvent({
3493
+ address: this.contractAddress,
3494
+ abi: exports.PlxTAO_jsonAbi,
3495
+ eventName: 'UpdateMinStakingAmt',
3496
+ onLogs: (logs) => {
3497
+ logs.forEach((log) => {
3498
+ callback(log.args);
3499
+ });
3500
+ },
3501
+ });
3502
+ },
3503
+ /**
3504
+ * Watch UpdateNativeFinneyReceiver events
3505
+ * @param callback Function to call when event is emitted
3506
+ * @param filter Optional filter for indexed parameters
3507
+ * @returns Unwatch function to stop listening
3508
+ */
3509
+ UpdateNativeFinneyReceiver: (callback) => {
3510
+ return this.publicClient.watchContractEvent({
3511
+ address: this.contractAddress,
3512
+ abi: exports.PlxTAO_jsonAbi,
3513
+ eventName: 'UpdateNativeFinneyReceiver',
3514
+ onLogs: (logs) => {
3515
+ logs.forEach((log) => {
3516
+ callback(log.args);
3517
+ });
3518
+ },
3519
+ });
3520
+ },
3521
+ /**
3522
+ * Watch UpdateProtocolVault events
3523
+ * @param callback Function to call when event is emitted
3524
+ * @param filter Optional filter for indexed parameters
3525
+ * @returns Unwatch function to stop listening
3526
+ */
3527
+ UpdateProtocolVault: (callback) => {
3528
+ return this.publicClient.watchContractEvent({
3529
+ address: this.contractAddress,
3530
+ abi: exports.PlxTAO_jsonAbi,
3531
+ eventName: 'UpdateProtocolVault',
3532
+ onLogs: (logs) => {
3533
+ logs.forEach((log) => {
3534
+ callback(log.args);
3535
+ });
3536
+ },
3537
+ });
3538
+ },
3539
+ /**
3540
+ * Watch UpdateServiceFee events
3541
+ * @param callback Function to call when event is emitted
3542
+ * @param filter Optional filter for indexed parameters
3543
+ * @returns Unwatch function to stop listening
3544
+ */
3545
+ UpdateServiceFee: (callback) => {
3546
+ return this.publicClient.watchContractEvent({
3547
+ address: this.contractAddress,
3548
+ abi: exports.PlxTAO_jsonAbi,
3549
+ eventName: 'UpdateServiceFee',
3550
+ onLogs: (logs) => {
3551
+ logs.forEach((log) => {
3552
+ callback(log.args);
3553
+ });
3554
+ },
3555
+ });
3556
+ },
3557
+ /**
3558
+ * Watch UpdateStakingFee events
3559
+ * @param callback Function to call when event is emitted
3560
+ * @param filter Optional filter for indexed parameters
3561
+ * @returns Unwatch function to stop listening
3562
+ */
3563
+ UpdateStakingFee: (callback) => {
3564
+ return this.publicClient.watchContractEvent({
3565
+ address: this.contractAddress,
3566
+ abi: exports.PlxTAO_jsonAbi,
3567
+ eventName: 'UpdateStakingFee',
3568
+ onLogs: (logs) => {
3569
+ logs.forEach((log) => {
3570
+ callback(log.args);
3571
+ });
3572
+ },
3573
+ });
3574
+ },
3575
+ /**
3576
+ * Watch UpdateUnstakingFee events
3577
+ * @param callback Function to call when event is emitted
3578
+ * @param filter Optional filter for indexed parameters
3579
+ * @returns Unwatch function to stop listening
3580
+ */
3581
+ UpdateUnstakingFee: (callback) => {
3582
+ return this.publicClient.watchContractEvent({
3583
+ address: this.contractAddress,
3584
+ abi: exports.PlxTAO_jsonAbi,
3585
+ eventName: 'UpdateUnstakingFee',
3586
+ onLogs: (logs) => {
3587
+ logs.forEach((log) => {
3588
+ callback(log.args);
3589
+ });
3590
+ },
3591
+ });
3592
+ },
3593
+ /**
3594
+ * Watch UpdateWTao events
3595
+ * @param callback Function to call when event is emitted
3596
+ * @param filter Optional filter for indexed parameters
3597
+ * @returns Unwatch function to stop listening
3598
+ */
3599
+ UpdateWTao: (callback) => {
3600
+ return this.publicClient.watchContractEvent({
3601
+ address: this.contractAddress,
3602
+ abi: exports.PlxTAO_jsonAbi,
3603
+ eventName: 'UpdateWTao',
3604
+ onLogs: (logs) => {
3605
+ logs.forEach((log) => {
3606
+ callback(log.args);
3607
+ });
3608
+ },
3609
+ });
3610
+ },
3611
+ /**
3612
+ * Watch UpdateWithdrawalManager events
3613
+ * @param callback Function to call when event is emitted
3614
+ * @param filter Optional filter for indexed parameters
3615
+ * @returns Unwatch function to stop listening
3616
+ */
3617
+ UpdateWithdrawalManager: (callback) => {
3618
+ return this.publicClient.watchContractEvent({
3619
+ address: this.contractAddress,
3620
+ abi: exports.PlxTAO_jsonAbi,
3621
+ eventName: 'UpdateWithdrawalManager',
3622
+ onLogs: (logs) => {
3623
+ logs.forEach((log) => {
3624
+ callback(log.args);
3625
+ });
3626
+ },
3627
+ });
3628
+ },
3629
+ /**
3630
+ * Watch UpperBoundUpdated events
3631
+ * @param callback Function to call when event is emitted
3632
+ * @param filter Optional filter for indexed parameters
3633
+ * @returns Unwatch function to stop listening
3634
+ */
3635
+ UpperBoundUpdated: (callback) => {
3636
+ return this.publicClient.watchContractEvent({
3637
+ address: this.contractAddress,
3638
+ abi: exports.PlxTAO_jsonAbi,
3639
+ eventName: 'UpperBoundUpdated',
3640
+ onLogs: (logs) => {
3641
+ logs.forEach((log) => {
3642
+ callback(log.args);
3643
+ });
3644
+ },
3645
+ });
3646
+ },
3647
+ /**
3648
+ * Watch UserStake events
3649
+ * @param callback Function to call when event is emitted
3650
+ * @param filter Optional filter for indexed parameters
3651
+ * @returns Unwatch function to stop listening
3652
+ */
3653
+ UserStake: (callback, filter) => {
3654
+ return this.publicClient.watchContractEvent({
3655
+ address: this.contractAddress,
3656
+ abi: exports.PlxTAO_jsonAbi,
3657
+ eventName: 'UserStake',
3658
+ args: filter,
3659
+ onLogs: (logs) => {
3660
+ logs.forEach((log) => {
3661
+ callback(log.args);
3662
+ });
3663
+ },
3664
+ });
3665
+ },
3666
+ /**
3667
+ * Watch UserUnstake events
3668
+ * @param callback Function to call when event is emitted
3669
+ * @param filter Optional filter for indexed parameters
3670
+ * @returns Unwatch function to stop listening
3671
+ */
3672
+ UserUnstake: (callback, filter) => {
3673
+ return this.publicClient.watchContractEvent({
3674
+ address: this.contractAddress,
3675
+ abi: exports.PlxTAO_jsonAbi,
3676
+ eventName: 'UserUnstake',
3677
+ args: filter,
3678
+ onLogs: (logs) => {
3679
+ logs.forEach((log) => {
3680
+ callback(log.args);
3681
+ });
3682
+ },
3683
+ });
3684
+ },
3685
+ /**
3686
+ * Watch UserUnstakeRequested events
3687
+ * @param callback Function to call when event is emitted
3688
+ * @param filter Optional filter for indexed parameters
3689
+ * @returns Unwatch function to stop listening
3690
+ */
3691
+ UserUnstakeRequested: (callback, filter) => {
3692
+ return this.publicClient.watchContractEvent({
3693
+ address: this.contractAddress,
3694
+ abi: exports.PlxTAO_jsonAbi,
3695
+ eventName: 'UserUnstakeRequested',
3696
+ args: filter,
3697
+ onLogs: (logs) => {
3698
+ logs.forEach((log) => {
3699
+ callback(log.args);
3700
+ });
3701
+ },
3702
+ });
3703
+ }
3704
+ };
3705
+ }
3706
+ }
3707
+ exports.PlxTAO_json = PlxTAO_json;