@gitmyabi/elpeth 0.0.0-stage → 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,2186 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Native20_json = exports.Native20_jsonAbi = void 0;
4
+ const viem_1 = require("viem");
5
+ /**
6
+ * Native20_json ABI
7
+ *
8
+ * This ABI is typed using viem's type system for full type safety.
9
+ */
10
+ exports.Native20_jsonAbi = [
11
+ {
12
+ "inputs": [
13
+ {
14
+ "internalType": "uint256",
15
+ "name": "version",
16
+ "type": "uint256"
17
+ },
18
+ {
19
+ "internalType": "uint256",
20
+ "name": "currentVersion",
21
+ "type": "uint256"
22
+ }
23
+ ],
24
+ "name": "AlreadyInitialized",
25
+ "type": "error"
26
+ },
27
+ {
28
+ "inputs": [],
29
+ "name": "CallbackNotFromMinting",
30
+ "type": "error"
31
+ },
32
+ {
33
+ "inputs": [],
34
+ "name": "CommissionPaidUnderflow",
35
+ "type": "error"
36
+ },
37
+ {
38
+ "inputs": [],
39
+ "name": "DepositsPaused",
40
+ "type": "error"
41
+ },
42
+ {
43
+ "inputs": [],
44
+ "name": "EmptyPoolList",
45
+ "type": "error"
46
+ },
47
+ {
48
+ "inputs": [
49
+ {
50
+ "internalType": "uint256",
51
+ "name": "maxFeeBps",
52
+ "type": "uint256"
53
+ }
54
+ ],
55
+ "name": "FeeOverMax",
56
+ "type": "error"
57
+ },
58
+ {
59
+ "inputs": [
60
+ {
61
+ "internalType": "uint256",
62
+ "name": "amount",
63
+ "type": "uint256"
64
+ },
65
+ {
66
+ "internalType": "uint256",
67
+ "name": "allowance",
68
+ "type": "uint256"
69
+ }
70
+ ],
71
+ "name": "InsufficientAllowance",
72
+ "type": "error"
73
+ },
74
+ {
75
+ "inputs": [
76
+ {
77
+ "internalType": "uint256",
78
+ "name": "amount",
79
+ "type": "uint256"
80
+ },
81
+ {
82
+ "internalType": "uint256",
83
+ "name": "balance",
84
+ "type": "uint256"
85
+ }
86
+ ],
87
+ "name": "InsufficientBalance",
88
+ "type": "error"
89
+ },
90
+ {
91
+ "inputs": [
92
+ {
93
+ "internalType": "uint256",
94
+ "name": "sum",
95
+ "type": "uint256"
96
+ },
97
+ {
98
+ "internalType": "uint256",
99
+ "name": "msgValue",
100
+ "type": "uint256"
101
+ }
102
+ ],
103
+ "name": "InvalidAmounts",
104
+ "type": "error"
105
+ },
106
+ {
107
+ "inputs": [],
108
+ "name": "InvalidBPSValue",
109
+ "type": "error"
110
+ },
111
+ {
112
+ "inputs": [],
113
+ "name": "InvalidNullValue",
114
+ "type": "error"
115
+ },
116
+ {
117
+ "inputs": [
118
+ {
119
+ "internalType": "uint256",
120
+ "name": "poolId",
121
+ "type": "uint256"
122
+ }
123
+ ],
124
+ "name": "InvalidPoolId",
125
+ "type": "error"
126
+ },
127
+ {
128
+ "inputs": [],
129
+ "name": "InvalidZeroAddress",
130
+ "type": "error"
131
+ },
132
+ {
133
+ "inputs": [
134
+ {
135
+ "internalType": "uint256",
136
+ "name": "poolId",
137
+ "type": "uint256"
138
+ }
139
+ ],
140
+ "name": "NoSharesToExit",
141
+ "type": "error"
142
+ },
143
+ {
144
+ "inputs": [
145
+ {
146
+ "internalType": "uint256",
147
+ "name": "id",
148
+ "type": "uint256"
149
+ }
150
+ ],
151
+ "name": "NonZeroPercentageOnDeactivatedPool",
152
+ "type": "error"
153
+ },
154
+ {
155
+ "inputs": [
156
+ {
157
+ "internalType": "address",
158
+ "name": "poolAddress",
159
+ "type": "address"
160
+ }
161
+ ],
162
+ "name": "NotARegisteredPool",
163
+ "type": "error"
164
+ },
165
+ {
166
+ "inputs": [
167
+ {
168
+ "internalType": "uint256",
169
+ "name": "ethLeft",
170
+ "type": "uint256"
171
+ },
172
+ {
173
+ "internalType": "uint256",
174
+ "name": "id",
175
+ "type": "uint256"
176
+ }
177
+ ],
178
+ "name": "OutstandingCommission",
179
+ "type": "error"
180
+ },
181
+ {
182
+ "inputs": [
183
+ {
184
+ "internalType": "uint256",
185
+ "name": "prod1",
186
+ "type": "uint256"
187
+ },
188
+ {
189
+ "internalType": "uint256",
190
+ "name": "denominator",
191
+ "type": "uint256"
192
+ }
193
+ ],
194
+ "name": "PRBMath__MulDivOverflow",
195
+ "type": "error"
196
+ },
197
+ {
198
+ "inputs": [
199
+ {
200
+ "internalType": "address",
201
+ "name": "newPool",
202
+ "type": "address"
203
+ }
204
+ ],
205
+ "name": "PoolAlreadyRegistered",
206
+ "type": "error"
207
+ },
208
+ {
209
+ "inputs": [
210
+ {
211
+ "internalType": "uint256",
212
+ "name": "poolId",
213
+ "type": "uint256"
214
+ }
215
+ ],
216
+ "name": "PoolDisabled",
217
+ "type": "error"
218
+ },
219
+ {
220
+ "inputs": [
221
+ {
222
+ "internalType": "uint256",
223
+ "name": "id",
224
+ "type": "uint256"
225
+ }
226
+ ],
227
+ "name": "PoolTransferFailed",
228
+ "type": "error"
229
+ },
230
+ {
231
+ "inputs": [],
232
+ "name": "Reentrancy",
233
+ "type": "error"
234
+ },
235
+ {
236
+ "inputs": [
237
+ {
238
+ "internalType": "address",
239
+ "name": "account",
240
+ "type": "address"
241
+ },
242
+ {
243
+ "internalType": "address",
244
+ "name": "expected",
245
+ "type": "address"
246
+ }
247
+ ],
248
+ "name": "Unauthorized",
249
+ "type": "error"
250
+ },
251
+ {
252
+ "inputs": [
253
+ {
254
+ "internalType": "uint256",
255
+ "name": "lengthA",
256
+ "type": "uint256"
257
+ },
258
+ {
259
+ "internalType": "uint256",
260
+ "name": "lengthB",
261
+ "type": "uint256"
262
+ }
263
+ ],
264
+ "name": "UnequalLengths",
265
+ "type": "error"
266
+ },
267
+ {
268
+ "inputs": [],
269
+ "name": "ZeroSharesMint",
270
+ "type": "error"
271
+ },
272
+ {
273
+ "anonymous": false,
274
+ "inputs": [
275
+ {
276
+ "indexed": true,
277
+ "internalType": "address",
278
+ "name": "owner",
279
+ "type": "address"
280
+ },
281
+ {
282
+ "indexed": true,
283
+ "internalType": "address",
284
+ "name": "spender",
285
+ "type": "address"
286
+ },
287
+ {
288
+ "indexed": false,
289
+ "internalType": "uint256",
290
+ "name": "value",
291
+ "type": "uint256"
292
+ }
293
+ ],
294
+ "name": "Approval",
295
+ "type": "event"
296
+ },
297
+ {
298
+ "anonymous": false,
299
+ "inputs": [
300
+ {
301
+ "indexed": false,
302
+ "internalType": "uint256",
303
+ "name": "pSharesSold",
304
+ "type": "uint256"
305
+ },
306
+ {
307
+ "indexed": false,
308
+ "internalType": "uint256",
309
+ "name": "id",
310
+ "type": "uint256"
311
+ },
312
+ {
313
+ "indexed": false,
314
+ "internalType": "uint256",
315
+ "name": "amountSold",
316
+ "type": "uint256"
317
+ }
318
+ ],
319
+ "name": "CommissionSharesSold",
320
+ "type": "event"
321
+ },
322
+ {
323
+ "anonymous": false,
324
+ "inputs": [
325
+ {
326
+ "indexed": true,
327
+ "internalType": "address",
328
+ "name": "withdrawer",
329
+ "type": "address"
330
+ },
331
+ {
332
+ "indexed": false,
333
+ "internalType": "uint256",
334
+ "name": "amountWithdrawn",
335
+ "type": "uint256"
336
+ }
337
+ ],
338
+ "name": "CommissionWithdrawn",
339
+ "type": "event"
340
+ },
341
+ {
342
+ "anonymous": false,
343
+ "inputs": [
344
+ {
345
+ "indexed": true,
346
+ "internalType": "address",
347
+ "name": "staker",
348
+ "type": "address"
349
+ },
350
+ {
351
+ "indexed": false,
352
+ "internalType": "uint128",
353
+ "name": "exitedTokens",
354
+ "type": "uint128"
355
+ },
356
+ {
357
+ "components": [
358
+ {
359
+ "internalType": "uint128",
360
+ "name": "poolId",
361
+ "type": "uint128"
362
+ },
363
+ {
364
+ "internalType": "uint128",
365
+ "name": "exitedPoolShares",
366
+ "type": "uint128"
367
+ }
368
+ ],
369
+ "indexed": false,
370
+ "internalType": "struct PoolExitDetails[]",
371
+ "name": "exitDetails",
372
+ "type": "tuple[]"
373
+ }
374
+ ],
375
+ "name": "Exit",
376
+ "type": "event"
377
+ },
378
+ {
379
+ "anonymous": false,
380
+ "inputs": [
381
+ {
382
+ "indexed": true,
383
+ "internalType": "uint256",
384
+ "name": "poolId",
385
+ "type": "uint256"
386
+ },
387
+ {
388
+ "indexed": false,
389
+ "internalType": "uint256",
390
+ "name": "shares",
391
+ "type": "uint256"
392
+ },
393
+ {
394
+ "indexed": false,
395
+ "internalType": "uint256[]",
396
+ "name": "weights",
397
+ "type": "uint256[]"
398
+ },
399
+ {
400
+ "indexed": false,
401
+ "internalType": "address[]",
402
+ "name": "recipients",
403
+ "type": "address[]"
404
+ }
405
+ ],
406
+ "name": "ExitedCommissionShares",
407
+ "type": "event"
408
+ },
409
+ {
410
+ "anonymous": false,
411
+ "inputs": [
412
+ {
413
+ "indexed": false,
414
+ "internalType": "uint256",
415
+ "name": "version",
416
+ "type": "uint256"
417
+ },
418
+ {
419
+ "indexed": false,
420
+ "internalType": "bytes",
421
+ "name": "cdata",
422
+ "type": "bytes"
423
+ }
424
+ ],
425
+ "name": "Initialized",
426
+ "type": "event"
427
+ },
428
+ {
429
+ "anonymous": false,
430
+ "inputs": [
431
+ {
432
+ "indexed": false,
433
+ "internalType": "address[]",
434
+ "name": "recipients",
435
+ "type": "address[]"
436
+ },
437
+ {
438
+ "indexed": false,
439
+ "internalType": "uint256[]",
440
+ "name": "splits",
441
+ "type": "uint256[]"
442
+ }
443
+ ],
444
+ "name": "NewCommissionSplit",
445
+ "type": "event"
446
+ },
447
+ {
448
+ "anonymous": false,
449
+ "inputs": [
450
+ {
451
+ "indexed": false,
452
+ "internalType": "address",
453
+ "name": "poolAddress",
454
+ "type": "address"
455
+ },
456
+ {
457
+ "indexed": false,
458
+ "internalType": "uint256",
459
+ "name": "id",
460
+ "type": "uint256"
461
+ },
462
+ {
463
+ "indexed": false,
464
+ "internalType": "bool",
465
+ "name": "isActive",
466
+ "type": "bool"
467
+ }
468
+ ],
469
+ "name": "PoolActivation",
470
+ "type": "event"
471
+ },
472
+ {
473
+ "anonymous": false,
474
+ "inputs": [
475
+ {
476
+ "indexed": false,
477
+ "internalType": "address",
478
+ "name": "poolAddress",
479
+ "type": "address"
480
+ },
481
+ {
482
+ "indexed": false,
483
+ "internalType": "uint256",
484
+ "name": "id",
485
+ "type": "uint256"
486
+ }
487
+ ],
488
+ "name": "PoolAdded",
489
+ "type": "event"
490
+ },
491
+ {
492
+ "anonymous": false,
493
+ "inputs": [
494
+ {
495
+ "indexed": false,
496
+ "internalType": "address",
497
+ "name": "admin",
498
+ "type": "address"
499
+ }
500
+ ],
501
+ "name": "SetAdmin",
502
+ "type": "event"
503
+ },
504
+ {
505
+ "anonymous": false,
506
+ "inputs": [
507
+ {
508
+ "indexed": false,
509
+ "internalType": "bool",
510
+ "name": "isPaused",
511
+ "type": "bool"
512
+ }
513
+ ],
514
+ "name": "SetDepositsPaused",
515
+ "type": "event"
516
+ },
517
+ {
518
+ "anonymous": false,
519
+ "inputs": [
520
+ {
521
+ "indexed": false,
522
+ "internalType": "uint256",
523
+ "name": "poolId",
524
+ "type": "uint256"
525
+ },
526
+ {
527
+ "indexed": false,
528
+ "internalType": "uint256",
529
+ "name": "operatorFeeBps",
530
+ "type": "uint256"
531
+ }
532
+ ],
533
+ "name": "SetFee",
534
+ "type": "event"
535
+ },
536
+ {
537
+ "anonymous": false,
538
+ "inputs": [
539
+ {
540
+ "indexed": false,
541
+ "internalType": "uint256",
542
+ "name": "maxCommission",
543
+ "type": "uint256"
544
+ }
545
+ ],
546
+ "name": "SetMaxCommission",
547
+ "type": "event"
548
+ },
549
+ {
550
+ "anonymous": false,
551
+ "inputs": [
552
+ {
553
+ "indexed": false,
554
+ "internalType": "string",
555
+ "name": "name",
556
+ "type": "string"
557
+ }
558
+ ],
559
+ "name": "SetName",
560
+ "type": "event"
561
+ },
562
+ {
563
+ "anonymous": false,
564
+ "inputs": [
565
+ {
566
+ "indexed": false,
567
+ "internalType": "address",
568
+ "name": "pendingAdmin",
569
+ "type": "address"
570
+ }
571
+ ],
572
+ "name": "SetPendingAdmin",
573
+ "type": "event"
574
+ },
575
+ {
576
+ "anonymous": false,
577
+ "inputs": [
578
+ {
579
+ "indexed": false,
580
+ "internalType": "uint256[]",
581
+ "name": "split",
582
+ "type": "uint256[]"
583
+ }
584
+ ],
585
+ "name": "SetPoolPercentages",
586
+ "type": "event"
587
+ },
588
+ {
589
+ "anonymous": false,
590
+ "inputs": [
591
+ {
592
+ "indexed": false,
593
+ "internalType": "string",
594
+ "name": "symbol",
595
+ "type": "string"
596
+ }
597
+ ],
598
+ "name": "SetSymbol",
599
+ "type": "event"
600
+ },
601
+ {
602
+ "anonymous": false,
603
+ "inputs": [
604
+ {
605
+ "indexed": true,
606
+ "internalType": "address",
607
+ "name": "staker",
608
+ "type": "address"
609
+ },
610
+ {
611
+ "indexed": false,
612
+ "internalType": "uint128",
613
+ "name": "depositedEth",
614
+ "type": "uint128"
615
+ },
616
+ {
617
+ "indexed": false,
618
+ "internalType": "uint128",
619
+ "name": "mintedTokens",
620
+ "type": "uint128"
621
+ },
622
+ {
623
+ "components": [
624
+ {
625
+ "internalType": "uint128",
626
+ "name": "poolId",
627
+ "type": "uint128"
628
+ },
629
+ {
630
+ "internalType": "uint128",
631
+ "name": "ethToPool",
632
+ "type": "uint128"
633
+ },
634
+ {
635
+ "internalType": "uint128",
636
+ "name": "ethToIntegrator",
637
+ "type": "uint128"
638
+ },
639
+ {
640
+ "internalType": "uint128",
641
+ "name": "pSharesFromPool",
642
+ "type": "uint128"
643
+ },
644
+ {
645
+ "internalType": "uint128",
646
+ "name": "pSharesFromIntegrator",
647
+ "type": "uint128"
648
+ }
649
+ ],
650
+ "indexed": false,
651
+ "internalType": "struct PoolStakeDetails[]",
652
+ "name": "stakeDetails",
653
+ "type": "tuple[]"
654
+ }
655
+ ],
656
+ "name": "Stake",
657
+ "type": "event"
658
+ },
659
+ {
660
+ "anonymous": false,
661
+ "inputs": [
662
+ {
663
+ "indexed": true,
664
+ "internalType": "address",
665
+ "name": "from",
666
+ "type": "address"
667
+ },
668
+ {
669
+ "indexed": true,
670
+ "internalType": "address",
671
+ "name": "to",
672
+ "type": "address"
673
+ },
674
+ {
675
+ "indexed": false,
676
+ "internalType": "uint256",
677
+ "name": "value",
678
+ "type": "uint256"
679
+ }
680
+ ],
681
+ "name": "Transfer",
682
+ "type": "event"
683
+ },
684
+ {
685
+ "anonymous": false,
686
+ "inputs": [
687
+ {
688
+ "indexed": false,
689
+ "internalType": "address",
690
+ "name": "vPool",
691
+ "type": "address"
692
+ },
693
+ {
694
+ "indexed": false,
695
+ "internalType": "uint256",
696
+ "name": "poolId",
697
+ "type": "uint256"
698
+ },
699
+ {
700
+ "indexed": false,
701
+ "internalType": "uint256",
702
+ "name": "amount",
703
+ "type": "uint256"
704
+ }
705
+ ],
706
+ "name": "VPoolSharesReceived",
707
+ "type": "event"
708
+ },
709
+ {
710
+ "inputs": [
711
+ {
712
+ "internalType": "uint256",
713
+ "name": "poolId",
714
+ "type": "uint256"
715
+ }
716
+ ],
717
+ "name": "_getPool",
718
+ "outputs": [
719
+ {
720
+ "internalType": "contract IvPool",
721
+ "name": "",
722
+ "type": "address"
723
+ }
724
+ ],
725
+ "stateMutability": "view",
726
+ "type": "function"
727
+ },
728
+ {
729
+ "inputs": [],
730
+ "name": "acceptAdmin",
731
+ "outputs": [],
732
+ "stateMutability": "nonpayable",
733
+ "type": "function"
734
+ },
735
+ {
736
+ "inputs": [
737
+ {
738
+ "internalType": "address",
739
+ "name": "pool",
740
+ "type": "address"
741
+ },
742
+ {
743
+ "internalType": "uint256",
744
+ "name": "feeBps",
745
+ "type": "uint256"
746
+ }
747
+ ],
748
+ "name": "addPool",
749
+ "outputs": [],
750
+ "stateMutability": "nonpayable",
751
+ "type": "function"
752
+ },
753
+ {
754
+ "inputs": [],
755
+ "name": "admin",
756
+ "outputs": [
757
+ {
758
+ "internalType": "address",
759
+ "name": "",
760
+ "type": "address"
761
+ }
762
+ ],
763
+ "stateMutability": "view",
764
+ "type": "function"
765
+ },
766
+ {
767
+ "inputs": [
768
+ {
769
+ "internalType": "address",
770
+ "name": "account",
771
+ "type": "address"
772
+ }
773
+ ],
774
+ "name": "balanceOf",
775
+ "outputs": [
776
+ {
777
+ "internalType": "uint256",
778
+ "name": "",
779
+ "type": "uint256"
780
+ }
781
+ ],
782
+ "stateMutability": "view",
783
+ "type": "function"
784
+ },
785
+ {
786
+ "inputs": [
787
+ {
788
+ "internalType": "address",
789
+ "name": "account",
790
+ "type": "address"
791
+ }
792
+ ],
793
+ "name": "balanceOfUnderlying",
794
+ "outputs": [
795
+ {
796
+ "internalType": "uint256",
797
+ "name": "",
798
+ "type": "uint256"
799
+ }
800
+ ],
801
+ "stateMutability": "view",
802
+ "type": "function"
803
+ },
804
+ {
805
+ "inputs": [
806
+ {
807
+ "internalType": "uint256",
808
+ "name": "poolId",
809
+ "type": "uint256"
810
+ },
811
+ {
812
+ "internalType": "uint256",
813
+ "name": "newFeeBps",
814
+ "type": "uint256"
815
+ }
816
+ ],
817
+ "name": "changeFee",
818
+ "outputs": [],
819
+ "stateMutability": "nonpayable",
820
+ "type": "function"
821
+ },
822
+ {
823
+ "inputs": [
824
+ {
825
+ "internalType": "address[]",
826
+ "name": "recipients",
827
+ "type": "address[]"
828
+ },
829
+ {
830
+ "internalType": "uint256[]",
831
+ "name": "splits",
832
+ "type": "uint256[]"
833
+ }
834
+ ],
835
+ "name": "changeSplit",
836
+ "outputs": [],
837
+ "stateMutability": "nonpayable",
838
+ "type": "function"
839
+ },
840
+ {
841
+ "inputs": [],
842
+ "name": "decimals",
843
+ "outputs": [
844
+ {
845
+ "internalType": "uint8",
846
+ "name": "",
847
+ "type": "uint8"
848
+ }
849
+ ],
850
+ "stateMutability": "view",
851
+ "type": "function"
852
+ },
853
+ {
854
+ "inputs": [],
855
+ "name": "depositsPaused",
856
+ "outputs": [
857
+ {
858
+ "internalType": "bool",
859
+ "name": "",
860
+ "type": "bool"
861
+ }
862
+ ],
863
+ "stateMutability": "view",
864
+ "type": "function"
865
+ },
866
+ {
867
+ "inputs": [
868
+ {
869
+ "internalType": "uint256",
870
+ "name": "poolId",
871
+ "type": "uint256"
872
+ }
873
+ ],
874
+ "name": "exitCommissionShares",
875
+ "outputs": [],
876
+ "stateMutability": "nonpayable",
877
+ "type": "function"
878
+ },
879
+ {
880
+ "inputs": [],
881
+ "name": "getCurrentSplit",
882
+ "outputs": [
883
+ {
884
+ "internalType": "address[]",
885
+ "name": "",
886
+ "type": "address[]"
887
+ },
888
+ {
889
+ "internalType": "uint256[]",
890
+ "name": "",
891
+ "type": "uint256[]"
892
+ }
893
+ ],
894
+ "stateMutability": "pure",
895
+ "type": "function"
896
+ },
897
+ {
898
+ "inputs": [
899
+ {
900
+ "internalType": "uint256",
901
+ "name": "poolId",
902
+ "type": "uint256"
903
+ }
904
+ ],
905
+ "name": "getFee",
906
+ "outputs": [
907
+ {
908
+ "internalType": "uint256",
909
+ "name": "",
910
+ "type": "uint256"
911
+ }
912
+ ],
913
+ "stateMutability": "view",
914
+ "type": "function"
915
+ },
916
+ {
917
+ "inputs": [
918
+ {
919
+ "internalType": "uint256",
920
+ "name": "poolId",
921
+ "type": "uint256"
922
+ }
923
+ ],
924
+ "name": "getPoolActivation",
925
+ "outputs": [
926
+ {
927
+ "internalType": "bool",
928
+ "name": "",
929
+ "type": "bool"
930
+ }
931
+ ],
932
+ "stateMutability": "view",
933
+ "type": "function"
934
+ },
935
+ {
936
+ "inputs": [
937
+ {
938
+ "components": [
939
+ {
940
+ "internalType": "string",
941
+ "name": "name",
942
+ "type": "string"
943
+ },
944
+ {
945
+ "internalType": "string",
946
+ "name": "symbol",
947
+ "type": "string"
948
+ },
949
+ {
950
+ "internalType": "address",
951
+ "name": "admin",
952
+ "type": "address"
953
+ },
954
+ {
955
+ "internalType": "address[]",
956
+ "name": "pools",
957
+ "type": "address[]"
958
+ },
959
+ {
960
+ "internalType": "uint256[]",
961
+ "name": "poolFees",
962
+ "type": "uint256[]"
963
+ },
964
+ {
965
+ "internalType": "address[]",
966
+ "name": "commissionRecipients",
967
+ "type": "address[]"
968
+ },
969
+ {
970
+ "internalType": "uint256[]",
971
+ "name": "commissionDistribution",
972
+ "type": "uint256[]"
973
+ },
974
+ {
975
+ "internalType": "uint256[]",
976
+ "name": "poolPercentages",
977
+ "type": "uint256[]"
978
+ },
979
+ {
980
+ "internalType": "uint256",
981
+ "name": "maxCommissionBps",
982
+ "type": "uint256"
983
+ },
984
+ {
985
+ "internalType": "uint256",
986
+ "name": "monoTicketThreshold",
987
+ "type": "uint256"
988
+ }
989
+ ],
990
+ "internalType": "struct Native20Configuration",
991
+ "name": "args",
992
+ "type": "tuple"
993
+ }
994
+ ],
995
+ "name": "initialize",
996
+ "outputs": [],
997
+ "stateMutability": "nonpayable",
998
+ "type": "function"
999
+ },
1000
+ {
1001
+ "inputs": [
1002
+ {
1003
+ "internalType": "uint256",
1004
+ "name": "poolId",
1005
+ "type": "uint256"
1006
+ }
1007
+ ],
1008
+ "name": "integratorCommissionOwed",
1009
+ "outputs": [
1010
+ {
1011
+ "internalType": "uint256",
1012
+ "name": "",
1013
+ "type": "uint256"
1014
+ }
1015
+ ],
1016
+ "stateMutability": "view",
1017
+ "type": "function"
1018
+ },
1019
+ {
1020
+ "inputs": [
1021
+ {
1022
+ "internalType": "address[]",
1023
+ "name": "exitQueues",
1024
+ "type": "address[]"
1025
+ },
1026
+ {
1027
+ "internalType": "uint256[][]",
1028
+ "name": "ticketIds",
1029
+ "type": "uint256[][]"
1030
+ },
1031
+ {
1032
+ "internalType": "uint32[][]",
1033
+ "name": "casksIds",
1034
+ "type": "uint32[][]"
1035
+ }
1036
+ ],
1037
+ "name": "multiClaim",
1038
+ "outputs": [
1039
+ {
1040
+ "internalType": "enum IvExitQueue.ClaimStatus[][]",
1041
+ "name": "statuses",
1042
+ "type": "uint8[][]"
1043
+ }
1044
+ ],
1045
+ "stateMutability": "nonpayable",
1046
+ "type": "function"
1047
+ },
1048
+ {
1049
+ "inputs": [
1050
+ {
1051
+ "internalType": "address[]",
1052
+ "name": "exitQueues",
1053
+ "type": "address[]"
1054
+ },
1055
+ {
1056
+ "internalType": "uint256[][]",
1057
+ "name": "ticketIds",
1058
+ "type": "uint256[][]"
1059
+ }
1060
+ ],
1061
+ "name": "multiResolve",
1062
+ "outputs": [
1063
+ {
1064
+ "internalType": "int64[][]",
1065
+ "name": "caskIdsOrErrors",
1066
+ "type": "int64[][]"
1067
+ }
1068
+ ],
1069
+ "stateMutability": "view",
1070
+ "type": "function"
1071
+ },
1072
+ {
1073
+ "inputs": [],
1074
+ "name": "name",
1075
+ "outputs": [
1076
+ {
1077
+ "internalType": "string",
1078
+ "name": "",
1079
+ "type": "string"
1080
+ }
1081
+ ],
1082
+ "stateMutability": "view",
1083
+ "type": "function"
1084
+ },
1085
+ {
1086
+ "inputs": [
1087
+ {
1088
+ "internalType": "address",
1089
+ "name": "operator",
1090
+ "type": "address"
1091
+ },
1092
+ {
1093
+ "internalType": "address",
1094
+ "name": "from",
1095
+ "type": "address"
1096
+ },
1097
+ {
1098
+ "internalType": "uint256",
1099
+ "name": "amount",
1100
+ "type": "uint256"
1101
+ },
1102
+ {
1103
+ "internalType": "bytes",
1104
+ "name": "",
1105
+ "type": "bytes"
1106
+ }
1107
+ ],
1108
+ "name": "onvPoolSharesReceived",
1109
+ "outputs": [
1110
+ {
1111
+ "internalType": "bytes4",
1112
+ "name": "",
1113
+ "type": "bytes4"
1114
+ }
1115
+ ],
1116
+ "stateMutability": "nonpayable",
1117
+ "type": "function"
1118
+ },
1119
+ {
1120
+ "inputs": [
1121
+ {
1122
+ "internalType": "bool",
1123
+ "name": "isPaused",
1124
+ "type": "bool"
1125
+ }
1126
+ ],
1127
+ "name": "pauseDeposits",
1128
+ "outputs": [],
1129
+ "stateMutability": "nonpayable",
1130
+ "type": "function"
1131
+ },
1132
+ {
1133
+ "inputs": [],
1134
+ "name": "pendingAdmin",
1135
+ "outputs": [
1136
+ {
1137
+ "internalType": "address",
1138
+ "name": "",
1139
+ "type": "address"
1140
+ }
1141
+ ],
1142
+ "stateMutability": "view",
1143
+ "type": "function"
1144
+ },
1145
+ {
1146
+ "inputs": [],
1147
+ "name": "pools",
1148
+ "outputs": [
1149
+ {
1150
+ "internalType": "address[]",
1151
+ "name": "",
1152
+ "type": "address[]"
1153
+ }
1154
+ ],
1155
+ "stateMutability": "view",
1156
+ "type": "function"
1157
+ },
1158
+ {
1159
+ "inputs": [],
1160
+ "name": "rate",
1161
+ "outputs": [
1162
+ {
1163
+ "internalType": "uint256",
1164
+ "name": "",
1165
+ "type": "uint256"
1166
+ }
1167
+ ],
1168
+ "stateMutability": "view",
1169
+ "type": "function"
1170
+ },
1171
+ {
1172
+ "inputs": [
1173
+ {
1174
+ "internalType": "uint256",
1175
+ "name": "amount",
1176
+ "type": "uint256"
1177
+ }
1178
+ ],
1179
+ "name": "requestExit",
1180
+ "outputs": [],
1181
+ "stateMutability": "nonpayable",
1182
+ "type": "function"
1183
+ },
1184
+ {
1185
+ "inputs": [
1186
+ {
1187
+ "internalType": "uint256",
1188
+ "name": "minTicketEthValue",
1189
+ "type": "uint256"
1190
+ }
1191
+ ],
1192
+ "name": "setMonoTicketThreshold",
1193
+ "outputs": [],
1194
+ "stateMutability": "nonpayable",
1195
+ "type": "function"
1196
+ },
1197
+ {
1198
+ "inputs": [
1199
+ {
1200
+ "internalType": "uint256",
1201
+ "name": "poolId",
1202
+ "type": "uint256"
1203
+ },
1204
+ {
1205
+ "internalType": "bool",
1206
+ "name": "status",
1207
+ "type": "bool"
1208
+ },
1209
+ {
1210
+ "internalType": "uint256[]",
1211
+ "name": "newPoolPercentages",
1212
+ "type": "uint256[]"
1213
+ }
1214
+ ],
1215
+ "name": "setPoolActivation",
1216
+ "outputs": [],
1217
+ "stateMutability": "nonpayable",
1218
+ "type": "function"
1219
+ },
1220
+ {
1221
+ "inputs": [
1222
+ {
1223
+ "internalType": "uint256[]",
1224
+ "name": "split",
1225
+ "type": "uint256[]"
1226
+ }
1227
+ ],
1228
+ "name": "setPoolPercentages",
1229
+ "outputs": [],
1230
+ "stateMutability": "nonpayable",
1231
+ "type": "function"
1232
+ },
1233
+ {
1234
+ "inputs": [],
1235
+ "name": "stake",
1236
+ "outputs": [],
1237
+ "stateMutability": "payable",
1238
+ "type": "function"
1239
+ },
1240
+ {
1241
+ "inputs": [],
1242
+ "name": "symbol",
1243
+ "outputs": [
1244
+ {
1245
+ "internalType": "string",
1246
+ "name": "",
1247
+ "type": "string"
1248
+ }
1249
+ ],
1250
+ "stateMutability": "view",
1251
+ "type": "function"
1252
+ },
1253
+ {
1254
+ "inputs": [],
1255
+ "name": "totalSupply",
1256
+ "outputs": [
1257
+ {
1258
+ "internalType": "uint256",
1259
+ "name": "",
1260
+ "type": "uint256"
1261
+ }
1262
+ ],
1263
+ "stateMutability": "view",
1264
+ "type": "function"
1265
+ },
1266
+ {
1267
+ "inputs": [],
1268
+ "name": "totalUnderlyingSupply",
1269
+ "outputs": [
1270
+ {
1271
+ "internalType": "uint256",
1272
+ "name": "",
1273
+ "type": "uint256"
1274
+ }
1275
+ ],
1276
+ "stateMutability": "view",
1277
+ "type": "function"
1278
+ },
1279
+ {
1280
+ "inputs": [
1281
+ {
1282
+ "internalType": "address",
1283
+ "name": "newAdmin",
1284
+ "type": "address"
1285
+ }
1286
+ ],
1287
+ "name": "transferAdmin",
1288
+ "outputs": [],
1289
+ "stateMutability": "nonpayable",
1290
+ "type": "function"
1291
+ },
1292
+ {
1293
+ "inputs": [],
1294
+ "name": "withdrawCommission",
1295
+ "outputs": [],
1296
+ "stateMutability": "nonpayable",
1297
+ "type": "function"
1298
+ }
1299
+ ];
1300
+ /**
1301
+ * Native20_json Contract Class
1302
+ *
1303
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
1304
+ *
1305
+ * @example
1306
+ * ```typescript
1307
+ * import { createPublicClient, createWalletClient, http } from 'viem';
1308
+ * import { mainnet } from 'viem/chains';
1309
+ * import { Native20_json } from 'Native20_json';
1310
+ *
1311
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
1312
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
1313
+ *
1314
+ * const contract = new Native20_json('0x...', { publicClient, walletClient });
1315
+ *
1316
+ * // Read functions
1317
+ * const result = await contract.balanceOf('0x...');
1318
+ *
1319
+ * // Write functions
1320
+ * const hash = await contract.transfer('0x...', 1000n);
1321
+ *
1322
+ * // Simulate transactions (dry-run)
1323
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
1324
+ * console.log('Gas estimate:', simulation.request.gas);
1325
+ *
1326
+ * // Watch events
1327
+ * const unwatch = contract.watch.Transfer((event) => {
1328
+ * console.log('Transfer event:', event);
1329
+ * });
1330
+ * ```
1331
+ */
1332
+ class Native20_json {
1333
+ constructor(address, clients) {
1334
+ this.contractAddress = address;
1335
+ this.publicClient = clients.publicClient;
1336
+ this.contract = (0, viem_1.getContract)({
1337
+ address,
1338
+ abi: exports.Native20_jsonAbi,
1339
+ client: {
1340
+ public: clients.publicClient,
1341
+ wallet: clients.walletClient,
1342
+ },
1343
+ });
1344
+ }
1345
+ /**
1346
+ * Get the contract address
1347
+ */
1348
+ get address() {
1349
+ return this.contractAddress;
1350
+ }
1351
+ /**
1352
+ * Get the underlying viem contract instance
1353
+ */
1354
+ getContract() {
1355
+ return this.contract;
1356
+ }
1357
+ /**
1358
+ * _getPool
1359
+ * view
1360
+ */
1361
+ async _getPool(poolId) {
1362
+ return this.contract.read._getPool([poolId]);
1363
+ }
1364
+ /**
1365
+ * admin
1366
+ * view
1367
+ */
1368
+ async admin() {
1369
+ return this.contract.read.admin();
1370
+ }
1371
+ /**
1372
+ * balanceOf
1373
+ * view
1374
+ */
1375
+ async balanceOf(account) {
1376
+ return this.contract.read.balanceOf([account]);
1377
+ }
1378
+ /**
1379
+ * balanceOfUnderlying
1380
+ * view
1381
+ */
1382
+ async balanceOfUnderlying(account) {
1383
+ return this.contract.read.balanceOfUnderlying([account]);
1384
+ }
1385
+ /**
1386
+ * decimals
1387
+ * view
1388
+ */
1389
+ async decimals() {
1390
+ return this.contract.read.decimals();
1391
+ }
1392
+ /**
1393
+ * depositsPaused
1394
+ * view
1395
+ */
1396
+ async depositsPaused() {
1397
+ return this.contract.read.depositsPaused();
1398
+ }
1399
+ /**
1400
+ * getCurrentSplit
1401
+ * pure
1402
+ */
1403
+ async getCurrentSplit() {
1404
+ return this.contract.read.getCurrentSplit();
1405
+ }
1406
+ /**
1407
+ * getFee
1408
+ * view
1409
+ */
1410
+ async getFee(poolId) {
1411
+ return this.contract.read.getFee([poolId]);
1412
+ }
1413
+ /**
1414
+ * getPoolActivation
1415
+ * view
1416
+ */
1417
+ async getPoolActivation(poolId) {
1418
+ return this.contract.read.getPoolActivation([poolId]);
1419
+ }
1420
+ /**
1421
+ * integratorCommissionOwed
1422
+ * view
1423
+ */
1424
+ async integratorCommissionOwed(poolId) {
1425
+ return this.contract.read.integratorCommissionOwed([poolId]);
1426
+ }
1427
+ /**
1428
+ * multiResolve
1429
+ * view
1430
+ */
1431
+ async multiResolve(exitQueues, ticketIds) {
1432
+ return this.contract.read.multiResolve([exitQueues, ticketIds]);
1433
+ }
1434
+ /**
1435
+ * name
1436
+ * view
1437
+ */
1438
+ async name() {
1439
+ return this.contract.read.name();
1440
+ }
1441
+ /**
1442
+ * pendingAdmin
1443
+ * view
1444
+ */
1445
+ async pendingAdmin() {
1446
+ return this.contract.read.pendingAdmin();
1447
+ }
1448
+ /**
1449
+ * pools
1450
+ * view
1451
+ */
1452
+ async pools() {
1453
+ return this.contract.read.pools();
1454
+ }
1455
+ /**
1456
+ * rate
1457
+ * view
1458
+ */
1459
+ async rate() {
1460
+ return this.contract.read.rate();
1461
+ }
1462
+ /**
1463
+ * symbol
1464
+ * view
1465
+ */
1466
+ async symbol() {
1467
+ return this.contract.read.symbol();
1468
+ }
1469
+ /**
1470
+ * totalSupply
1471
+ * view
1472
+ */
1473
+ async totalSupply() {
1474
+ return this.contract.read.totalSupply();
1475
+ }
1476
+ /**
1477
+ * totalUnderlyingSupply
1478
+ * view
1479
+ */
1480
+ async totalUnderlyingSupply() {
1481
+ return this.contract.read.totalUnderlyingSupply();
1482
+ }
1483
+ /**
1484
+ * acceptAdmin
1485
+ * nonpayable
1486
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1487
+ */
1488
+ async acceptAdmin(options) {
1489
+ if (!this.contract.write) {
1490
+ throw new Error('Wallet client is required for write operations');
1491
+ }
1492
+ return this.contract.write.acceptAdmin(options);
1493
+ }
1494
+ /**
1495
+ * addPool
1496
+ * nonpayable
1497
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1498
+ */
1499
+ async addPool(pool, feeBps, options) {
1500
+ if (!this.contract.write) {
1501
+ throw new Error('Wallet client is required for write operations');
1502
+ }
1503
+ return this.contract.write.addPool([pool, feeBps], options);
1504
+ }
1505
+ /**
1506
+ * changeFee
1507
+ * nonpayable
1508
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1509
+ */
1510
+ async changeFee(poolId, newFeeBps, options) {
1511
+ if (!this.contract.write) {
1512
+ throw new Error('Wallet client is required for write operations');
1513
+ }
1514
+ return this.contract.write.changeFee([poolId, newFeeBps], options);
1515
+ }
1516
+ /**
1517
+ * changeSplit
1518
+ * nonpayable
1519
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1520
+ */
1521
+ async changeSplit(recipients, splits, options) {
1522
+ if (!this.contract.write) {
1523
+ throw new Error('Wallet client is required for write operations');
1524
+ }
1525
+ return this.contract.write.changeSplit([recipients, splits], options);
1526
+ }
1527
+ /**
1528
+ * exitCommissionShares
1529
+ * nonpayable
1530
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1531
+ */
1532
+ async exitCommissionShares(poolId, options) {
1533
+ if (!this.contract.write) {
1534
+ throw new Error('Wallet client is required for write operations');
1535
+ }
1536
+ return this.contract.write.exitCommissionShares([poolId], options);
1537
+ }
1538
+ /**
1539
+ * initialize
1540
+ * nonpayable
1541
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1542
+ */
1543
+ async initialize(args, options) {
1544
+ if (!this.contract.write) {
1545
+ throw new Error('Wallet client is required for write operations');
1546
+ }
1547
+ return this.contract.write.initialize([args], options);
1548
+ }
1549
+ /**
1550
+ * multiClaim
1551
+ * nonpayable
1552
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1553
+ */
1554
+ async multiClaim(exitQueues, ticketIds, casksIds, options) {
1555
+ if (!this.contract.write) {
1556
+ throw new Error('Wallet client is required for write operations');
1557
+ }
1558
+ return this.contract.write.multiClaim([exitQueues, ticketIds, casksIds], options);
1559
+ }
1560
+ /**
1561
+ * onvPoolSharesReceived
1562
+ * nonpayable
1563
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1564
+ */
1565
+ async onvPoolSharesReceived(operator, from, amount, arg3, options) {
1566
+ if (!this.contract.write) {
1567
+ throw new Error('Wallet client is required for write operations');
1568
+ }
1569
+ return this.contract.write.onvPoolSharesReceived([operator, from, amount, arg3], options);
1570
+ }
1571
+ /**
1572
+ * pauseDeposits
1573
+ * nonpayable
1574
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1575
+ */
1576
+ async pauseDeposits(isPaused, options) {
1577
+ if (!this.contract.write) {
1578
+ throw new Error('Wallet client is required for write operations');
1579
+ }
1580
+ return this.contract.write.pauseDeposits([isPaused], options);
1581
+ }
1582
+ /**
1583
+ * requestExit
1584
+ * nonpayable
1585
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1586
+ */
1587
+ async requestExit(amount, options) {
1588
+ if (!this.contract.write) {
1589
+ throw new Error('Wallet client is required for write operations');
1590
+ }
1591
+ return this.contract.write.requestExit([amount], options);
1592
+ }
1593
+ /**
1594
+ * setMonoTicketThreshold
1595
+ * nonpayable
1596
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1597
+ */
1598
+ async setMonoTicketThreshold(minTicketEthValue, options) {
1599
+ if (!this.contract.write) {
1600
+ throw new Error('Wallet client is required for write operations');
1601
+ }
1602
+ return this.contract.write.setMonoTicketThreshold([minTicketEthValue], options);
1603
+ }
1604
+ /**
1605
+ * setPoolActivation
1606
+ * nonpayable
1607
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1608
+ */
1609
+ async setPoolActivation(poolId, status, newPoolPercentages, options) {
1610
+ if (!this.contract.write) {
1611
+ throw new Error('Wallet client is required for write operations');
1612
+ }
1613
+ return this.contract.write.setPoolActivation([poolId, status, newPoolPercentages], options);
1614
+ }
1615
+ /**
1616
+ * setPoolPercentages
1617
+ * nonpayable
1618
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1619
+ */
1620
+ async setPoolPercentages(split, options) {
1621
+ if (!this.contract.write) {
1622
+ throw new Error('Wallet client is required for write operations');
1623
+ }
1624
+ return this.contract.write.setPoolPercentages([split], options);
1625
+ }
1626
+ /**
1627
+ * stake
1628
+ * payable
1629
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1630
+ */
1631
+ async stake(options) {
1632
+ if (!this.contract.write) {
1633
+ throw new Error('Wallet client is required for write operations');
1634
+ }
1635
+ return this.contract.write.stake(options);
1636
+ }
1637
+ /**
1638
+ * transferAdmin
1639
+ * nonpayable
1640
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1641
+ */
1642
+ async transferAdmin(newAdmin, options) {
1643
+ if (!this.contract.write) {
1644
+ throw new Error('Wallet client is required for write operations');
1645
+ }
1646
+ return this.contract.write.transferAdmin([newAdmin], options);
1647
+ }
1648
+ /**
1649
+ * withdrawCommission
1650
+ * nonpayable
1651
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1652
+ */
1653
+ async withdrawCommission(options) {
1654
+ if (!this.contract.write) {
1655
+ throw new Error('Wallet client is required for write operations');
1656
+ }
1657
+ return this.contract.write.withdrawCommission(options);
1658
+ }
1659
+ /**
1660
+ * Simulate contract write operations (dry-run without sending transaction)
1661
+ *
1662
+ * @example
1663
+ * const result = await contract.simulate.transfer('0x...', 1000n);
1664
+ * console.log('Gas estimate:', result.request.gas);
1665
+ * console.log('Would succeed:', result.result);
1666
+ */
1667
+ get simulate() {
1668
+ const contract = this.contract;
1669
+ if (!contract.simulate) {
1670
+ throw new Error('Public client is required for simulation');
1671
+ }
1672
+ return {
1673
+ /**
1674
+ * Simulate acceptAdmin
1675
+ * Returns gas estimate and result without sending transaction
1676
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1677
+ */
1678
+ async acceptAdmin(options) {
1679
+ return contract.simulate.acceptAdmin(options);
1680
+ },
1681
+ /**
1682
+ * Simulate addPool
1683
+ * Returns gas estimate and result without sending transaction
1684
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1685
+ */
1686
+ async addPool(pool, feeBps, options) {
1687
+ return contract.simulate.addPool([pool, feeBps], options);
1688
+ },
1689
+ /**
1690
+ * Simulate changeFee
1691
+ * Returns gas estimate and result without sending transaction
1692
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1693
+ */
1694
+ async changeFee(poolId, newFeeBps, options) {
1695
+ return contract.simulate.changeFee([poolId, newFeeBps], options);
1696
+ },
1697
+ /**
1698
+ * Simulate changeSplit
1699
+ * Returns gas estimate and result without sending transaction
1700
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1701
+ */
1702
+ async changeSplit(recipients, splits, options) {
1703
+ return contract.simulate.changeSplit([recipients, splits], options);
1704
+ },
1705
+ /**
1706
+ * Simulate exitCommissionShares
1707
+ * Returns gas estimate and result without sending transaction
1708
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1709
+ */
1710
+ async exitCommissionShares(poolId, options) {
1711
+ return contract.simulate.exitCommissionShares([poolId], options);
1712
+ },
1713
+ /**
1714
+ * Simulate initialize
1715
+ * Returns gas estimate and result without sending transaction
1716
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1717
+ */
1718
+ async initialize(args, options) {
1719
+ return contract.simulate.initialize([args], options);
1720
+ },
1721
+ /**
1722
+ * Simulate multiClaim
1723
+ * Returns gas estimate and result without sending transaction
1724
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1725
+ */
1726
+ async multiClaim(exitQueues, ticketIds, casksIds, options) {
1727
+ return contract.simulate.multiClaim([exitQueues, ticketIds, casksIds], options);
1728
+ },
1729
+ /**
1730
+ * Simulate onvPoolSharesReceived
1731
+ * Returns gas estimate and result without sending transaction
1732
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1733
+ */
1734
+ async onvPoolSharesReceived(operator, from, amount, arg3, options) {
1735
+ return contract.simulate.onvPoolSharesReceived([operator, from, amount, arg3], options);
1736
+ },
1737
+ /**
1738
+ * Simulate pauseDeposits
1739
+ * Returns gas estimate and result without sending transaction
1740
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1741
+ */
1742
+ async pauseDeposits(isPaused, options) {
1743
+ return contract.simulate.pauseDeposits([isPaused], options);
1744
+ },
1745
+ /**
1746
+ * Simulate requestExit
1747
+ * Returns gas estimate and result without sending transaction
1748
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1749
+ */
1750
+ async requestExit(amount, options) {
1751
+ return contract.simulate.requestExit([amount], options);
1752
+ },
1753
+ /**
1754
+ * Simulate setMonoTicketThreshold
1755
+ * Returns gas estimate and result without sending transaction
1756
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1757
+ */
1758
+ async setMonoTicketThreshold(minTicketEthValue, options) {
1759
+ return contract.simulate.setMonoTicketThreshold([minTicketEthValue], options);
1760
+ },
1761
+ /**
1762
+ * Simulate setPoolActivation
1763
+ * Returns gas estimate and result without sending transaction
1764
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1765
+ */
1766
+ async setPoolActivation(poolId, status, newPoolPercentages, options) {
1767
+ return contract.simulate.setPoolActivation([poolId, status, newPoolPercentages], options);
1768
+ },
1769
+ /**
1770
+ * Simulate setPoolPercentages
1771
+ * Returns gas estimate and result without sending transaction
1772
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1773
+ */
1774
+ async setPoolPercentages(split, options) {
1775
+ return contract.simulate.setPoolPercentages([split], options);
1776
+ },
1777
+ /**
1778
+ * Simulate stake
1779
+ * Returns gas estimate and result without sending transaction
1780
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1781
+ */
1782
+ async stake(options) {
1783
+ return contract.simulate.stake(options);
1784
+ },
1785
+ /**
1786
+ * Simulate transferAdmin
1787
+ * Returns gas estimate and result without sending transaction
1788
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1789
+ */
1790
+ async transferAdmin(newAdmin, options) {
1791
+ return contract.simulate.transferAdmin([newAdmin], options);
1792
+ },
1793
+ /**
1794
+ * Simulate withdrawCommission
1795
+ * Returns gas estimate and result without sending transaction
1796
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1797
+ */
1798
+ async withdrawCommission(options) {
1799
+ return contract.simulate.withdrawCommission(options);
1800
+ }
1801
+ };
1802
+ }
1803
+ /**
1804
+ * Watch contract events
1805
+ *
1806
+ * @example
1807
+ * // Watch all Transfer events
1808
+ * const unwatch = contract.watch.Transfer((event) => {
1809
+ * console.log('Transfer:', event);
1810
+ * });
1811
+ *
1812
+ * // Stop watching
1813
+ * unwatch();
1814
+ */
1815
+ get watch() {
1816
+ return {
1817
+ /**
1818
+ * Watch Approval events
1819
+ * @param callback Function to call when event is emitted
1820
+ * @param filter Optional filter for indexed parameters
1821
+ * @returns Unwatch function to stop listening
1822
+ */
1823
+ Approval: (callback, filter) => {
1824
+ return this.publicClient.watchContractEvent({
1825
+ address: this.contractAddress,
1826
+ abi: exports.Native20_jsonAbi,
1827
+ eventName: 'Approval',
1828
+ args: filter,
1829
+ onLogs: (logs) => {
1830
+ logs.forEach((log) => {
1831
+ callback(log.args);
1832
+ });
1833
+ },
1834
+ });
1835
+ },
1836
+ /**
1837
+ * Watch CommissionSharesSold events
1838
+ * @param callback Function to call when event is emitted
1839
+ * @param filter Optional filter for indexed parameters
1840
+ * @returns Unwatch function to stop listening
1841
+ */
1842
+ CommissionSharesSold: (callback) => {
1843
+ return this.publicClient.watchContractEvent({
1844
+ address: this.contractAddress,
1845
+ abi: exports.Native20_jsonAbi,
1846
+ eventName: 'CommissionSharesSold',
1847
+ onLogs: (logs) => {
1848
+ logs.forEach((log) => {
1849
+ callback(log.args);
1850
+ });
1851
+ },
1852
+ });
1853
+ },
1854
+ /**
1855
+ * Watch CommissionWithdrawn events
1856
+ * @param callback Function to call when event is emitted
1857
+ * @param filter Optional filter for indexed parameters
1858
+ * @returns Unwatch function to stop listening
1859
+ */
1860
+ CommissionWithdrawn: (callback, filter) => {
1861
+ return this.publicClient.watchContractEvent({
1862
+ address: this.contractAddress,
1863
+ abi: exports.Native20_jsonAbi,
1864
+ eventName: 'CommissionWithdrawn',
1865
+ args: filter,
1866
+ onLogs: (logs) => {
1867
+ logs.forEach((log) => {
1868
+ callback(log.args);
1869
+ });
1870
+ },
1871
+ });
1872
+ },
1873
+ /**
1874
+ * Watch Exit events
1875
+ * @param callback Function to call when event is emitted
1876
+ * @param filter Optional filter for indexed parameters
1877
+ * @returns Unwatch function to stop listening
1878
+ */
1879
+ Exit: (callback, filter) => {
1880
+ return this.publicClient.watchContractEvent({
1881
+ address: this.contractAddress,
1882
+ abi: exports.Native20_jsonAbi,
1883
+ eventName: 'Exit',
1884
+ args: filter,
1885
+ onLogs: (logs) => {
1886
+ logs.forEach((log) => {
1887
+ callback(log.args);
1888
+ });
1889
+ },
1890
+ });
1891
+ },
1892
+ /**
1893
+ * Watch ExitedCommissionShares events
1894
+ * @param callback Function to call when event is emitted
1895
+ * @param filter Optional filter for indexed parameters
1896
+ * @returns Unwatch function to stop listening
1897
+ */
1898
+ ExitedCommissionShares: (callback, filter) => {
1899
+ return this.publicClient.watchContractEvent({
1900
+ address: this.contractAddress,
1901
+ abi: exports.Native20_jsonAbi,
1902
+ eventName: 'ExitedCommissionShares',
1903
+ args: filter,
1904
+ onLogs: (logs) => {
1905
+ logs.forEach((log) => {
1906
+ callback(log.args);
1907
+ });
1908
+ },
1909
+ });
1910
+ },
1911
+ /**
1912
+ * Watch Initialized events
1913
+ * @param callback Function to call when event is emitted
1914
+ * @param filter Optional filter for indexed parameters
1915
+ * @returns Unwatch function to stop listening
1916
+ */
1917
+ Initialized: (callback) => {
1918
+ return this.publicClient.watchContractEvent({
1919
+ address: this.contractAddress,
1920
+ abi: exports.Native20_jsonAbi,
1921
+ eventName: 'Initialized',
1922
+ onLogs: (logs) => {
1923
+ logs.forEach((log) => {
1924
+ callback(log.args);
1925
+ });
1926
+ },
1927
+ });
1928
+ },
1929
+ /**
1930
+ * Watch NewCommissionSplit events
1931
+ * @param callback Function to call when event is emitted
1932
+ * @param filter Optional filter for indexed parameters
1933
+ * @returns Unwatch function to stop listening
1934
+ */
1935
+ NewCommissionSplit: (callback) => {
1936
+ return this.publicClient.watchContractEvent({
1937
+ address: this.contractAddress,
1938
+ abi: exports.Native20_jsonAbi,
1939
+ eventName: 'NewCommissionSplit',
1940
+ onLogs: (logs) => {
1941
+ logs.forEach((log) => {
1942
+ callback(log.args);
1943
+ });
1944
+ },
1945
+ });
1946
+ },
1947
+ /**
1948
+ * Watch PoolActivation events
1949
+ * @param callback Function to call when event is emitted
1950
+ * @param filter Optional filter for indexed parameters
1951
+ * @returns Unwatch function to stop listening
1952
+ */
1953
+ PoolActivation: (callback) => {
1954
+ return this.publicClient.watchContractEvent({
1955
+ address: this.contractAddress,
1956
+ abi: exports.Native20_jsonAbi,
1957
+ eventName: 'PoolActivation',
1958
+ onLogs: (logs) => {
1959
+ logs.forEach((log) => {
1960
+ callback(log.args);
1961
+ });
1962
+ },
1963
+ });
1964
+ },
1965
+ /**
1966
+ * Watch PoolAdded events
1967
+ * @param callback Function to call when event is emitted
1968
+ * @param filter Optional filter for indexed parameters
1969
+ * @returns Unwatch function to stop listening
1970
+ */
1971
+ PoolAdded: (callback) => {
1972
+ return this.publicClient.watchContractEvent({
1973
+ address: this.contractAddress,
1974
+ abi: exports.Native20_jsonAbi,
1975
+ eventName: 'PoolAdded',
1976
+ onLogs: (logs) => {
1977
+ logs.forEach((log) => {
1978
+ callback(log.args);
1979
+ });
1980
+ },
1981
+ });
1982
+ },
1983
+ /**
1984
+ * Watch SetAdmin events
1985
+ * @param callback Function to call when event is emitted
1986
+ * @param filter Optional filter for indexed parameters
1987
+ * @returns Unwatch function to stop listening
1988
+ */
1989
+ SetAdmin: (callback) => {
1990
+ return this.publicClient.watchContractEvent({
1991
+ address: this.contractAddress,
1992
+ abi: exports.Native20_jsonAbi,
1993
+ eventName: 'SetAdmin',
1994
+ onLogs: (logs) => {
1995
+ logs.forEach((log) => {
1996
+ callback(log.args);
1997
+ });
1998
+ },
1999
+ });
2000
+ },
2001
+ /**
2002
+ * Watch SetDepositsPaused events
2003
+ * @param callback Function to call when event is emitted
2004
+ * @param filter Optional filter for indexed parameters
2005
+ * @returns Unwatch function to stop listening
2006
+ */
2007
+ SetDepositsPaused: (callback) => {
2008
+ return this.publicClient.watchContractEvent({
2009
+ address: this.contractAddress,
2010
+ abi: exports.Native20_jsonAbi,
2011
+ eventName: 'SetDepositsPaused',
2012
+ onLogs: (logs) => {
2013
+ logs.forEach((log) => {
2014
+ callback(log.args);
2015
+ });
2016
+ },
2017
+ });
2018
+ },
2019
+ /**
2020
+ * Watch SetFee events
2021
+ * @param callback Function to call when event is emitted
2022
+ * @param filter Optional filter for indexed parameters
2023
+ * @returns Unwatch function to stop listening
2024
+ */
2025
+ SetFee: (callback) => {
2026
+ return this.publicClient.watchContractEvent({
2027
+ address: this.contractAddress,
2028
+ abi: exports.Native20_jsonAbi,
2029
+ eventName: 'SetFee',
2030
+ onLogs: (logs) => {
2031
+ logs.forEach((log) => {
2032
+ callback(log.args);
2033
+ });
2034
+ },
2035
+ });
2036
+ },
2037
+ /**
2038
+ * Watch SetMaxCommission events
2039
+ * @param callback Function to call when event is emitted
2040
+ * @param filter Optional filter for indexed parameters
2041
+ * @returns Unwatch function to stop listening
2042
+ */
2043
+ SetMaxCommission: (callback) => {
2044
+ return this.publicClient.watchContractEvent({
2045
+ address: this.contractAddress,
2046
+ abi: exports.Native20_jsonAbi,
2047
+ eventName: 'SetMaxCommission',
2048
+ onLogs: (logs) => {
2049
+ logs.forEach((log) => {
2050
+ callback(log.args);
2051
+ });
2052
+ },
2053
+ });
2054
+ },
2055
+ /**
2056
+ * Watch SetName events
2057
+ * @param callback Function to call when event is emitted
2058
+ * @param filter Optional filter for indexed parameters
2059
+ * @returns Unwatch function to stop listening
2060
+ */
2061
+ SetName: (callback) => {
2062
+ return this.publicClient.watchContractEvent({
2063
+ address: this.contractAddress,
2064
+ abi: exports.Native20_jsonAbi,
2065
+ eventName: 'SetName',
2066
+ onLogs: (logs) => {
2067
+ logs.forEach((log) => {
2068
+ callback(log.args);
2069
+ });
2070
+ },
2071
+ });
2072
+ },
2073
+ /**
2074
+ * Watch SetPendingAdmin events
2075
+ * @param callback Function to call when event is emitted
2076
+ * @param filter Optional filter for indexed parameters
2077
+ * @returns Unwatch function to stop listening
2078
+ */
2079
+ SetPendingAdmin: (callback) => {
2080
+ return this.publicClient.watchContractEvent({
2081
+ address: this.contractAddress,
2082
+ abi: exports.Native20_jsonAbi,
2083
+ eventName: 'SetPendingAdmin',
2084
+ onLogs: (logs) => {
2085
+ logs.forEach((log) => {
2086
+ callback(log.args);
2087
+ });
2088
+ },
2089
+ });
2090
+ },
2091
+ /**
2092
+ * Watch SetPoolPercentages events
2093
+ * @param callback Function to call when event is emitted
2094
+ * @param filter Optional filter for indexed parameters
2095
+ * @returns Unwatch function to stop listening
2096
+ */
2097
+ SetPoolPercentages: (callback) => {
2098
+ return this.publicClient.watchContractEvent({
2099
+ address: this.contractAddress,
2100
+ abi: exports.Native20_jsonAbi,
2101
+ eventName: 'SetPoolPercentages',
2102
+ onLogs: (logs) => {
2103
+ logs.forEach((log) => {
2104
+ callback(log.args);
2105
+ });
2106
+ },
2107
+ });
2108
+ },
2109
+ /**
2110
+ * Watch SetSymbol events
2111
+ * @param callback Function to call when event is emitted
2112
+ * @param filter Optional filter for indexed parameters
2113
+ * @returns Unwatch function to stop listening
2114
+ */
2115
+ SetSymbol: (callback) => {
2116
+ return this.publicClient.watchContractEvent({
2117
+ address: this.contractAddress,
2118
+ abi: exports.Native20_jsonAbi,
2119
+ eventName: 'SetSymbol',
2120
+ onLogs: (logs) => {
2121
+ logs.forEach((log) => {
2122
+ callback(log.args);
2123
+ });
2124
+ },
2125
+ });
2126
+ },
2127
+ /**
2128
+ * Watch Stake events
2129
+ * @param callback Function to call when event is emitted
2130
+ * @param filter Optional filter for indexed parameters
2131
+ * @returns Unwatch function to stop listening
2132
+ */
2133
+ Stake: (callback, filter) => {
2134
+ return this.publicClient.watchContractEvent({
2135
+ address: this.contractAddress,
2136
+ abi: exports.Native20_jsonAbi,
2137
+ eventName: 'Stake',
2138
+ args: filter,
2139
+ onLogs: (logs) => {
2140
+ logs.forEach((log) => {
2141
+ callback(log.args);
2142
+ });
2143
+ },
2144
+ });
2145
+ },
2146
+ /**
2147
+ * Watch Transfer events
2148
+ * @param callback Function to call when event is emitted
2149
+ * @param filter Optional filter for indexed parameters
2150
+ * @returns Unwatch function to stop listening
2151
+ */
2152
+ Transfer: (callback, filter) => {
2153
+ return this.publicClient.watchContractEvent({
2154
+ address: this.contractAddress,
2155
+ abi: exports.Native20_jsonAbi,
2156
+ eventName: 'Transfer',
2157
+ args: filter,
2158
+ onLogs: (logs) => {
2159
+ logs.forEach((log) => {
2160
+ callback(log.args);
2161
+ });
2162
+ },
2163
+ });
2164
+ },
2165
+ /**
2166
+ * Watch VPoolSharesReceived events
2167
+ * @param callback Function to call when event is emitted
2168
+ * @param filter Optional filter for indexed parameters
2169
+ * @returns Unwatch function to stop listening
2170
+ */
2171
+ VPoolSharesReceived: (callback) => {
2172
+ return this.publicClient.watchContractEvent({
2173
+ address: this.contractAddress,
2174
+ abi: exports.Native20_jsonAbi,
2175
+ eventName: 'VPoolSharesReceived',
2176
+ onLogs: (logs) => {
2177
+ logs.forEach((log) => {
2178
+ callback(log.args);
2179
+ });
2180
+ },
2181
+ });
2182
+ }
2183
+ };
2184
+ }
2185
+ }
2186
+ exports.Native20_json = Native20_json;