@xccy/ts-sdk 0.1.2 → 0.1.3

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,975 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import {
5
+ Contract,
6
+ ContractFactory,
7
+ ContractTransactionResponse,
8
+ Interface,
9
+ } from "ethers";
10
+ import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers";
11
+ import type { NonPayableOverrides } from "../common";
12
+ import type { Operator, OperatorInterface } from "../Operator";
13
+
14
+ const _abi = [
15
+ {
16
+ type: "constructor",
17
+ inputs: [],
18
+ stateMutability: "nonpayable",
19
+ },
20
+ {
21
+ type: "receive",
22
+ stateMutability: "payable",
23
+ },
24
+ {
25
+ type: "function",
26
+ name: "acceptOwnership",
27
+ inputs: [],
28
+ outputs: [],
29
+ stateMutability: "nonpayable",
30
+ },
31
+ {
32
+ type: "function",
33
+ name: "burnWithMarginBatch",
34
+ inputs: [
35
+ {
36
+ name: "key",
37
+ type: "tuple",
38
+ internalType: "struct PoolKey.Key",
39
+ components: [
40
+ {
41
+ name: "underlyingAsset",
42
+ type: "address",
43
+ internalType: "address",
44
+ },
45
+ {
46
+ name: "compoundToken",
47
+ type: "address",
48
+ internalType: "address",
49
+ },
50
+ {
51
+ name: "termStartTimestampWad",
52
+ type: "uint256",
53
+ internalType: "uint256",
54
+ },
55
+ {
56
+ name: "termEndTimestampWad",
57
+ type: "uint256",
58
+ internalType: "uint256",
59
+ },
60
+ {
61
+ name: "feeWad",
62
+ type: "uint256",
63
+ internalType: "uint256",
64
+ },
65
+ {
66
+ name: "tickSpacing",
67
+ type: "int24",
68
+ internalType: "int24",
69
+ },
70
+ ],
71
+ },
72
+ {
73
+ name: "account",
74
+ type: "tuple",
75
+ internalType: "struct Account.AccountId",
76
+ components: [
77
+ {
78
+ name: "owner",
79
+ type: "address",
80
+ internalType: "address",
81
+ },
82
+ {
83
+ name: "id",
84
+ type: "uint96",
85
+ internalType: "uint96",
86
+ },
87
+ {
88
+ name: "isolatedMarginToken",
89
+ type: "address",
90
+ internalType: "address",
91
+ },
92
+ ],
93
+ },
94
+ {
95
+ name: "tickLower",
96
+ type: "int24",
97
+ internalType: "int24",
98
+ },
99
+ {
100
+ name: "tickUpper",
101
+ type: "int24",
102
+ internalType: "int24",
103
+ },
104
+ {
105
+ name: "liquidity",
106
+ type: "uint128",
107
+ internalType: "uint128",
108
+ },
109
+ {
110
+ name: "updates",
111
+ type: "tuple[]",
112
+ internalType: "struct Operator.MarginUpdate[]",
113
+ components: [
114
+ {
115
+ name: "token",
116
+ type: "address",
117
+ internalType: "address",
118
+ },
119
+ {
120
+ name: "marginDelta",
121
+ type: "int256",
122
+ internalType: "int256",
123
+ },
124
+ {
125
+ name: "recipient",
126
+ type: "address",
127
+ internalType: "address",
128
+ },
129
+ ],
130
+ },
131
+ ],
132
+ outputs: [
133
+ {
134
+ name: "positionMarginRequirement",
135
+ type: "uint256",
136
+ internalType: "uint256",
137
+ },
138
+ ],
139
+ stateMutability: "payable",
140
+ },
141
+ {
142
+ type: "function",
143
+ name: "collateralEngine",
144
+ inputs: [],
145
+ outputs: [
146
+ {
147
+ name: "",
148
+ type: "address",
149
+ internalType: "contract ICollateralEngine",
150
+ },
151
+ ],
152
+ stateMutability: "view",
153
+ },
154
+ {
155
+ type: "function",
156
+ name: "initialize",
157
+ inputs: [
158
+ {
159
+ name: "_collateralEngine",
160
+ type: "address",
161
+ internalType: "contract ICollateralEngine",
162
+ },
163
+ {
164
+ name: "_vammManager",
165
+ type: "address",
166
+ internalType: "contract IVAMMManager",
167
+ },
168
+ {
169
+ name: "_weth",
170
+ type: "address",
171
+ internalType: "contract IWETH",
172
+ },
173
+ ],
174
+ outputs: [],
175
+ stateMutability: "nonpayable",
176
+ },
177
+ {
178
+ type: "function",
179
+ name: "mintWithMarginBatch",
180
+ inputs: [
181
+ {
182
+ name: "key",
183
+ type: "tuple",
184
+ internalType: "struct PoolKey.Key",
185
+ components: [
186
+ {
187
+ name: "underlyingAsset",
188
+ type: "address",
189
+ internalType: "address",
190
+ },
191
+ {
192
+ name: "compoundToken",
193
+ type: "address",
194
+ internalType: "address",
195
+ },
196
+ {
197
+ name: "termStartTimestampWad",
198
+ type: "uint256",
199
+ internalType: "uint256",
200
+ },
201
+ {
202
+ name: "termEndTimestampWad",
203
+ type: "uint256",
204
+ internalType: "uint256",
205
+ },
206
+ {
207
+ name: "feeWad",
208
+ type: "uint256",
209
+ internalType: "uint256",
210
+ },
211
+ {
212
+ name: "tickSpacing",
213
+ type: "int24",
214
+ internalType: "int24",
215
+ },
216
+ ],
217
+ },
218
+ {
219
+ name: "account",
220
+ type: "tuple",
221
+ internalType: "struct Account.AccountId",
222
+ components: [
223
+ {
224
+ name: "owner",
225
+ type: "address",
226
+ internalType: "address",
227
+ },
228
+ {
229
+ name: "id",
230
+ type: "uint96",
231
+ internalType: "uint96",
232
+ },
233
+ {
234
+ name: "isolatedMarginToken",
235
+ type: "address",
236
+ internalType: "address",
237
+ },
238
+ ],
239
+ },
240
+ {
241
+ name: "tickLower",
242
+ type: "int24",
243
+ internalType: "int24",
244
+ },
245
+ {
246
+ name: "tickUpper",
247
+ type: "int24",
248
+ internalType: "int24",
249
+ },
250
+ {
251
+ name: "liquidity",
252
+ type: "uint128",
253
+ internalType: "uint128",
254
+ },
255
+ {
256
+ name: "updates",
257
+ type: "tuple[]",
258
+ internalType: "struct Operator.MarginUpdate[]",
259
+ components: [
260
+ {
261
+ name: "token",
262
+ type: "address",
263
+ internalType: "address",
264
+ },
265
+ {
266
+ name: "marginDelta",
267
+ type: "int256",
268
+ internalType: "int256",
269
+ },
270
+ {
271
+ name: "recipient",
272
+ type: "address",
273
+ internalType: "address",
274
+ },
275
+ ],
276
+ },
277
+ ],
278
+ outputs: [
279
+ {
280
+ name: "positionMarginRequirement",
281
+ type: "uint256",
282
+ internalType: "uint256",
283
+ },
284
+ ],
285
+ stateMutability: "payable",
286
+ },
287
+ {
288
+ type: "function",
289
+ name: "owner",
290
+ inputs: [],
291
+ outputs: [
292
+ {
293
+ name: "",
294
+ type: "address",
295
+ internalType: "address",
296
+ },
297
+ ],
298
+ stateMutability: "view",
299
+ },
300
+ {
301
+ type: "function",
302
+ name: "pendingOwner",
303
+ inputs: [],
304
+ outputs: [
305
+ {
306
+ name: "",
307
+ type: "address",
308
+ internalType: "address",
309
+ },
310
+ ],
311
+ stateMutability: "view",
312
+ },
313
+ {
314
+ type: "function",
315
+ name: "renounceOwnership",
316
+ inputs: [],
317
+ outputs: [],
318
+ stateMutability: "nonpayable",
319
+ },
320
+ {
321
+ type: "function",
322
+ name: "swapWithMarginBatch",
323
+ inputs: [
324
+ {
325
+ name: "key",
326
+ type: "tuple",
327
+ internalType: "struct PoolKey.Key",
328
+ components: [
329
+ {
330
+ name: "underlyingAsset",
331
+ type: "address",
332
+ internalType: "address",
333
+ },
334
+ {
335
+ name: "compoundToken",
336
+ type: "address",
337
+ internalType: "address",
338
+ },
339
+ {
340
+ name: "termStartTimestampWad",
341
+ type: "uint256",
342
+ internalType: "uint256",
343
+ },
344
+ {
345
+ name: "termEndTimestampWad",
346
+ type: "uint256",
347
+ internalType: "uint256",
348
+ },
349
+ {
350
+ name: "feeWad",
351
+ type: "uint256",
352
+ internalType: "uint256",
353
+ },
354
+ {
355
+ name: "tickSpacing",
356
+ type: "int24",
357
+ internalType: "int24",
358
+ },
359
+ ],
360
+ },
361
+ {
362
+ name: "params",
363
+ type: "tuple",
364
+ internalType: "struct VAMMTypes.SwapParams",
365
+ components: [
366
+ {
367
+ name: "account",
368
+ type: "tuple",
369
+ internalType: "struct Account.AccountId",
370
+ components: [
371
+ {
372
+ name: "owner",
373
+ type: "address",
374
+ internalType: "address",
375
+ },
376
+ {
377
+ name: "id",
378
+ type: "uint96",
379
+ internalType: "uint96",
380
+ },
381
+ {
382
+ name: "isolatedMarginToken",
383
+ type: "address",
384
+ internalType: "address",
385
+ },
386
+ ],
387
+ },
388
+ {
389
+ name: "amountSpecified",
390
+ type: "int256",
391
+ internalType: "int256",
392
+ },
393
+ {
394
+ name: "sqrtPriceLimitX96",
395
+ type: "uint160",
396
+ internalType: "uint160",
397
+ },
398
+ {
399
+ name: "tickLower",
400
+ type: "int24",
401
+ internalType: "int24",
402
+ },
403
+ {
404
+ name: "tickUpper",
405
+ type: "int24",
406
+ internalType: "int24",
407
+ },
408
+ ],
409
+ },
410
+ {
411
+ name: "updates",
412
+ type: "tuple[]",
413
+ internalType: "struct Operator.MarginUpdate[]",
414
+ components: [
415
+ {
416
+ name: "token",
417
+ type: "address",
418
+ internalType: "address",
419
+ },
420
+ {
421
+ name: "marginDelta",
422
+ type: "int256",
423
+ internalType: "int256",
424
+ },
425
+ {
426
+ name: "recipient",
427
+ type: "address",
428
+ internalType: "address",
429
+ },
430
+ ],
431
+ },
432
+ ],
433
+ outputs: [
434
+ {
435
+ name: "fixedTokenDelta",
436
+ type: "int256",
437
+ internalType: "int256",
438
+ },
439
+ {
440
+ name: "variableTokenDelta",
441
+ type: "int256",
442
+ internalType: "int256",
443
+ },
444
+ {
445
+ name: "feeIncurred",
446
+ type: "int256",
447
+ internalType: "int256",
448
+ },
449
+ {
450
+ name: "fixedTokenDeltaUnbalanced",
451
+ type: "int256",
452
+ internalType: "int256",
453
+ },
454
+ {
455
+ name: "positionMarginRequirement",
456
+ type: "uint256",
457
+ internalType: "uint256",
458
+ },
459
+ {
460
+ name: "priceAfterSwap",
461
+ type: "uint256",
462
+ internalType: "uint256",
463
+ },
464
+ ],
465
+ stateMutability: "payable",
466
+ },
467
+ {
468
+ type: "function",
469
+ name: "transferMarginBatch",
470
+ inputs: [
471
+ {
472
+ name: "transfers",
473
+ type: "tuple",
474
+ internalType: "struct Operator.MarginTransfer",
475
+ components: [
476
+ {
477
+ name: "from",
478
+ type: "tuple",
479
+ internalType: "struct Account.AccountId",
480
+ components: [
481
+ {
482
+ name: "owner",
483
+ type: "address",
484
+ internalType: "address",
485
+ },
486
+ {
487
+ name: "id",
488
+ type: "uint96",
489
+ internalType: "uint96",
490
+ },
491
+ {
492
+ name: "isolatedMarginToken",
493
+ type: "address",
494
+ internalType: "address",
495
+ },
496
+ ],
497
+ },
498
+ {
499
+ name: "to",
500
+ type: "tuple",
501
+ internalType: "struct Account.AccountId",
502
+ components: [
503
+ {
504
+ name: "owner",
505
+ type: "address",
506
+ internalType: "address",
507
+ },
508
+ {
509
+ name: "id",
510
+ type: "uint96",
511
+ internalType: "uint96",
512
+ },
513
+ {
514
+ name: "isolatedMarginToken",
515
+ type: "address",
516
+ internalType: "address",
517
+ },
518
+ ],
519
+ },
520
+ {
521
+ name: "tokens",
522
+ type: "address[]",
523
+ internalType: "address[]",
524
+ },
525
+ {
526
+ name: "amounts",
527
+ type: "uint256[]",
528
+ internalType: "uint256[]",
529
+ },
530
+ ],
531
+ },
532
+ ],
533
+ outputs: [],
534
+ stateMutability: "nonpayable",
535
+ },
536
+ {
537
+ type: "function",
538
+ name: "transferOwnership",
539
+ inputs: [
540
+ {
541
+ name: "newOwner",
542
+ type: "address",
543
+ internalType: "address",
544
+ },
545
+ ],
546
+ outputs: [],
547
+ stateMutability: "nonpayable",
548
+ },
549
+ {
550
+ type: "function",
551
+ name: "unwind",
552
+ inputs: [
553
+ {
554
+ name: "key",
555
+ type: "tuple",
556
+ internalType: "struct PoolKey.Key",
557
+ components: [
558
+ {
559
+ name: "underlyingAsset",
560
+ type: "address",
561
+ internalType: "address",
562
+ },
563
+ {
564
+ name: "compoundToken",
565
+ type: "address",
566
+ internalType: "address",
567
+ },
568
+ {
569
+ name: "termStartTimestampWad",
570
+ type: "uint256",
571
+ internalType: "uint256",
572
+ },
573
+ {
574
+ name: "termEndTimestampWad",
575
+ type: "uint256",
576
+ internalType: "uint256",
577
+ },
578
+ {
579
+ name: "feeWad",
580
+ type: "uint256",
581
+ internalType: "uint256",
582
+ },
583
+ {
584
+ name: "tickSpacing",
585
+ type: "int24",
586
+ internalType: "int24",
587
+ },
588
+ ],
589
+ },
590
+ {
591
+ name: "account",
592
+ type: "tuple",
593
+ internalType: "struct Account.AccountId",
594
+ components: [
595
+ {
596
+ name: "owner",
597
+ type: "address",
598
+ internalType: "address",
599
+ },
600
+ {
601
+ name: "id",
602
+ type: "uint96",
603
+ internalType: "uint96",
604
+ },
605
+ {
606
+ name: "isolatedMarginToken",
607
+ type: "address",
608
+ internalType: "address",
609
+ },
610
+ ],
611
+ },
612
+ {
613
+ name: "tickLower",
614
+ type: "int24",
615
+ internalType: "int24",
616
+ },
617
+ {
618
+ name: "tickUpper",
619
+ type: "int24",
620
+ internalType: "int24",
621
+ },
622
+ {
623
+ name: "sqrtPriceLimitX96",
624
+ type: "uint160",
625
+ internalType: "uint160",
626
+ },
627
+ ],
628
+ outputs: [
629
+ {
630
+ name: "positionMarginRequirement",
631
+ type: "uint256",
632
+ internalType: "uint256",
633
+ },
634
+ ],
635
+ stateMutability: "nonpayable",
636
+ },
637
+ {
638
+ type: "function",
639
+ name: "unwindAndSettle",
640
+ inputs: [
641
+ {
642
+ name: "key",
643
+ type: "tuple",
644
+ internalType: "struct PoolKey.Key",
645
+ components: [
646
+ {
647
+ name: "underlyingAsset",
648
+ type: "address",
649
+ internalType: "address",
650
+ },
651
+ {
652
+ name: "compoundToken",
653
+ type: "address",
654
+ internalType: "address",
655
+ },
656
+ {
657
+ name: "termStartTimestampWad",
658
+ type: "uint256",
659
+ internalType: "uint256",
660
+ },
661
+ {
662
+ name: "termEndTimestampWad",
663
+ type: "uint256",
664
+ internalType: "uint256",
665
+ },
666
+ {
667
+ name: "feeWad",
668
+ type: "uint256",
669
+ internalType: "uint256",
670
+ },
671
+ {
672
+ name: "tickSpacing",
673
+ type: "int24",
674
+ internalType: "int24",
675
+ },
676
+ ],
677
+ },
678
+ {
679
+ name: "account",
680
+ type: "tuple",
681
+ internalType: "struct Account.AccountId",
682
+ components: [
683
+ {
684
+ name: "owner",
685
+ type: "address",
686
+ internalType: "address",
687
+ },
688
+ {
689
+ name: "id",
690
+ type: "uint96",
691
+ internalType: "uint96",
692
+ },
693
+ {
694
+ name: "isolatedMarginToken",
695
+ type: "address",
696
+ internalType: "address",
697
+ },
698
+ ],
699
+ },
700
+ {
701
+ name: "tickLower",
702
+ type: "int24",
703
+ internalType: "int24",
704
+ },
705
+ {
706
+ name: "tickUpper",
707
+ type: "int24",
708
+ internalType: "int24",
709
+ },
710
+ {
711
+ name: "sqrtPriceLimitX96",
712
+ type: "uint160",
713
+ internalType: "uint160",
714
+ },
715
+ ],
716
+ outputs: [
717
+ {
718
+ name: "positionMarginRequirement",
719
+ type: "uint256",
720
+ internalType: "uint256",
721
+ },
722
+ ],
723
+ stateMutability: "nonpayable",
724
+ },
725
+ {
726
+ type: "function",
727
+ name: "updateMarginBatch",
728
+ inputs: [
729
+ {
730
+ name: "account",
731
+ type: "tuple",
732
+ internalType: "struct Account.AccountId",
733
+ components: [
734
+ {
735
+ name: "owner",
736
+ type: "address",
737
+ internalType: "address",
738
+ },
739
+ {
740
+ name: "id",
741
+ type: "uint96",
742
+ internalType: "uint96",
743
+ },
744
+ {
745
+ name: "isolatedMarginToken",
746
+ type: "address",
747
+ internalType: "address",
748
+ },
749
+ ],
750
+ },
751
+ {
752
+ name: "updates",
753
+ type: "tuple[]",
754
+ internalType: "struct Operator.MarginUpdate[]",
755
+ components: [
756
+ {
757
+ name: "token",
758
+ type: "address",
759
+ internalType: "address",
760
+ },
761
+ {
762
+ name: "marginDelta",
763
+ type: "int256",
764
+ internalType: "int256",
765
+ },
766
+ {
767
+ name: "recipient",
768
+ type: "address",
769
+ internalType: "address",
770
+ },
771
+ ],
772
+ },
773
+ ],
774
+ outputs: [],
775
+ stateMutability: "payable",
776
+ },
777
+ {
778
+ type: "function",
779
+ name: "vammManager",
780
+ inputs: [],
781
+ outputs: [
782
+ {
783
+ name: "",
784
+ type: "address",
785
+ internalType: "contract IVAMMManager",
786
+ },
787
+ ],
788
+ stateMutability: "view",
789
+ },
790
+ {
791
+ type: "function",
792
+ name: "weth",
793
+ inputs: [],
794
+ outputs: [
795
+ {
796
+ name: "",
797
+ type: "address",
798
+ internalType: "contract IWETH",
799
+ },
800
+ ],
801
+ stateMutability: "view",
802
+ },
803
+ {
804
+ type: "event",
805
+ name: "Initialized",
806
+ inputs: [
807
+ {
808
+ name: "version",
809
+ type: "uint64",
810
+ indexed: false,
811
+ internalType: "uint64",
812
+ },
813
+ ],
814
+ anonymous: false,
815
+ },
816
+ {
817
+ type: "event",
818
+ name: "OwnershipTransferStarted",
819
+ inputs: [
820
+ {
821
+ name: "previousOwner",
822
+ type: "address",
823
+ indexed: true,
824
+ internalType: "address",
825
+ },
826
+ {
827
+ name: "newOwner",
828
+ type: "address",
829
+ indexed: true,
830
+ internalType: "address",
831
+ },
832
+ ],
833
+ anonymous: false,
834
+ },
835
+ {
836
+ type: "event",
837
+ name: "OwnershipTransferred",
838
+ inputs: [
839
+ {
840
+ name: "previousOwner",
841
+ type: "address",
842
+ indexed: true,
843
+ internalType: "address",
844
+ },
845
+ {
846
+ name: "newOwner",
847
+ type: "address",
848
+ indexed: true,
849
+ internalType: "address",
850
+ },
851
+ ],
852
+ anonymous: false,
853
+ },
854
+ {
855
+ type: "error",
856
+ name: "AddressEmptyCode",
857
+ inputs: [
858
+ {
859
+ name: "target",
860
+ type: "address",
861
+ internalType: "address",
862
+ },
863
+ ],
864
+ },
865
+ {
866
+ type: "error",
867
+ name: "AddressInsufficientBalance",
868
+ inputs: [
869
+ {
870
+ name: "account",
871
+ type: "address",
872
+ internalType: "address",
873
+ },
874
+ ],
875
+ },
876
+ {
877
+ type: "error",
878
+ name: "FailedInnerCall",
879
+ inputs: [],
880
+ },
881
+ {
882
+ type: "error",
883
+ name: "InvalidInitialization",
884
+ inputs: [],
885
+ },
886
+ {
887
+ type: "error",
888
+ name: "NotInitializing",
889
+ inputs: [],
890
+ },
891
+ {
892
+ type: "error",
893
+ name: "OwnableInvalidOwner",
894
+ inputs: [
895
+ {
896
+ name: "owner",
897
+ type: "address",
898
+ internalType: "address",
899
+ },
900
+ ],
901
+ },
902
+ {
903
+ type: "error",
904
+ name: "OwnableUnauthorizedAccount",
905
+ inputs: [
906
+ {
907
+ name: "account",
908
+ type: "address",
909
+ internalType: "address",
910
+ },
911
+ ],
912
+ },
913
+ {
914
+ type: "error",
915
+ name: "ReentrancyGuardReentrantCall",
916
+ inputs: [],
917
+ },
918
+ {
919
+ type: "error",
920
+ name: "SafeERC20FailedOperation",
921
+ inputs: [
922
+ {
923
+ name: "token",
924
+ type: "address",
925
+ internalType: "address",
926
+ },
927
+ ],
928
+ },
929
+ ] as const;
930
+
931
+ const _bytecode =
932
+ "0x6080806040523460aa575f5160206125f75f395f51905f525460ff8160401c16609b576002600160401b03196001600160401b038216016049575b60405161254890816100af8239f35b6001600160401b0319166001600160401b039081175f5160206125f75f395f51905f525581527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f80603a565b63f92ee8a960e01b5f5260045ffd5b5f80fdfe6080806040526004361015610068575b50361561001a575f80fd5b6002546001600160a01b0316330361002e57005b60405162461bcd60e51b81526020600482015260126024820152710dee0cae4c2e8dee47440dcdee840ae8aa8960731b6044820152606490fd5b5f3560e01c908163365161ac14611610575080633fc8cef3146115e857806348c40741146113e8578063526e59e31461131f5780636022bc7314610de8578063715018a614610d6b57806379ba509714610d1d5780638da5cb5b14610ce9578063a4102ebf146107a2578063a4f601271461063f578063a71c36a914610597578063c0c53b8b146102d8578063e0c2d4c0146102b1578063e30c39781461027d578063f2fde38b146101f35763f885bc9914610124575f61000f565b346101dc57610152610135366117af565b92809594610144939293611a91565b61014d82611ac9565b612029565b6020610180608460018060a01b035f5416936040519485938492633e385ac360e11b845260048401906118b1565b5f60648301525afa80156101e8575f906101b1575b60209060015f5160206124b35f395f51905f5255604051908152f35b506020813d6020116101e0575b816101cb60209383611662565b810103126101dc5760209051610195565b5f80fd5b3d91506101be565b6040513d5f823e3d90fd5b346101dc5760203660031901126101dc576004356001600160a01b038116908190036101dc57610221611f9e565b5f5160206124f35f395f51905f5280546001600160a01b031916821790555f5160206124935f395f51905f52546001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227005f80a3005b346101dc575f3660031901126101dc575f5160206124f35f395f51905f52546040516001600160a01b039091168152602090f35b346101dc575f3660031901126101dc575f546040516001600160a01b039091168152602090f35b346101dc5760603660031901126101dc576004356001600160a01b038116908190036101dc576024356001600160a01b038116908190036101dc576044356001600160a01b03811691908290036101dc575f5160206124d35f395f51905f52549260ff8460401c1615936001600160401b0381168015908161058f575b6001149081610585575b15908161057c575b5061056d5767ffffffffffffffff1981166001175f5160206124d35f395f51905f525584610541575b5080156105085781156104cd578215610492576001600160601b0360a01b5f5416175f556001600160601b0360a01b60015416176001556001600160601b0360a01b60025416176002556103e2612409565b6103ea612409565b331561047f576103f933611fbe565b610401612409565b610409612409565b610411612409565b60015f5160206124b35f395f51905f525561042857005b68ff0000000000000000195f5160206124d35f395f51905f5254165f5160206124d35f395f51905f52557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b631e4fbdf760e01b5f525f60045260245ffd5b60405162461bcd60e51b81526020600482015260136024820152720dee0cae4c2e8dee47440f4cae4de40ae8aa89606b1b6044820152606490fd5b60405162461bcd60e51b81526020600482015260136024820152726f70657261746f723a207a65726f2056414d4d60681b6044820152606490fd5b60405162461bcd60e51b81526020600482015260116024820152706f70657261746f723a207a65726f20434560781b6044820152606490fd5b68ffffffffffffffffff191668010000000000000001175f5160206124d35f395f51905f525584610390565b63f92ee8a960e01b5f5260045ffd5b90501586610367565b303b15915061035f565b869150610355565b5f60206105a336611730565b6105b39893989692959496611a91565b6105bc85611ac9565b8015801590610636575b610625575b50506105f960018060a01b036001541694604051988997889687956303d0fbe360e51b87526004870161196a565b03925af180156101e8575f906101b15760209060015f5160206124b35f395f51905f5255604051908152f35b61062f9185611c17565b87806105cb565b503415156105c6565b346101dc5761067b610676610653366117af565b610664969396959195949294611a91565b61066d87611ac9565b85858885612029565b61231b565b9060018060a01b035f54166040516330ecafc360e21b815261010081806106a88887898c60048601611a66565b0381855afa80156101e8576060915f91610773575b500151806106fd575b50505f54604051633e385ac360e11b815294602094508593506084925083916001600160a01b0316906101809060048401906118b1565b61070690611879565b92813b156101dc575f60e492819560405197889687956355e281e560e01b8752610733600488018d6118b1565b606487015260020b608486015260020b60a485015260c48401525af180156101e857610763575b808080806106c6565b5f61076d91611662565b8161075a565b61079591506101003d811161079b575b61078d8183611662565b8101906119de565b876106bd565b503d610783565b3660031901608081126101dc576060136101dc576064356001600160401b0381116101dc576107d5903690600401611700565b906107de611a91565b6004356001600160a01b038116908181036101dc57503303610ca4578115801590610c9b575b15610c645734610b92575b5f5b82811015610b7f576060810282019060208201358015610b43575f8113156109245761087f6001600160a01b0361084785611865565b6040516323b872dd60e01b602082015233602482015230604482015260648082018690528152911661087a608483611662565b61239e565b6108a6816001600160a01b0361089486611865565b5f546001600160a01b03169116611ae5565b5f546001600160a01b0316926108bb90611865565b90833b156101dc5760a45f928360405196879485936341bca9ff60e11b85526108e86004860160046118b1565b6001600160a01b0316606485015260848401525af19182156101e857600192610914575b505b01610811565b5f61091e91611662565b8461090c565b90919060408201906001600160a01b0361093d83611865565b1615610afe575f546001600160a01b03169061095884611865565b823b156101dc575f9260a4849260405195869384926341bca9ff60e11b84526109856004850160046118b1565b6001600160a01b03166064840152608483018790525af19182156101e8576109b292610aee575b50611879565b916109bc81611865565b6002546001600160a01b03918216911603610a8f57506002546001600160a01b031690813b156101dc575f8092602460405180958193632e1a7d4d60e01b83528860048401525af19182156101e8575f93849384938493610a2292610a7f575b50611865565b5af1610a2c611bd9565b5015610a3a5760019061090e565b60405162461bcd60e51b815260206004820152601d60248201527f6f70657261746f723a20657468207472616e73666572206661696c65640000006044820152606490fd5b84610a8991611662565b8a610a1c565b91610ae99161087a610ab460019695610aad888060a01b0391611865565b1692611865565b60405163a9059cbb60e01b60208201526001600160a01b03919091166024820152604480820194909452928352606483611662565b61090e565b5f610af891611662565b876109ac565b60405162461bcd60e51b815260206004820152601860248201527f6f70657261746f723a207a65726f20726563697069656e7400000000000000006044820152606490fd5b60405162461bcd60e51b81526020600482015260146024820152736f70657261746f723a207a65726f2064656c746160601b6044820152606490fd5b60015f5160206124b35f395f51905f5255005b6002546001600160a01b0316803b156101dc575f60049160405192838092630d0e30db60e41b825234905af180156101e857610c54575b506002545f54610be79134916001600160a01b039081169116611ae5565b5f546002546001600160a01b039182169116813b156101dc575f9160a4839260405194859384926341bca9ff60e11b8452610c266004850160046118b1565b60648401523460848401525af180156101e857610c44575b5061080f565b5f610c4e91611662565b82610c3e565b5f610c5e91611662565b82610bc9565b60405162461bcd60e51b815260206004820152600f60248201526e6f70657261746f723a20656d70747960881b6044820152606490fd5b50341515610804565b60405162461bcd60e51b815260206004820152601b60248201527f6f70657261746f723a206e6f74206163636f756e74206f776e657200000000006044820152606490fd5b346101dc575f3660031901126101dc575f5160206124935f395f51905f52546040516001600160a01b039091168152602090f35b346101dc575f3660031901126101dc575f5160206124f35f395f51905f5254336001600160a01b0390911603610d5857610d5633611fbe565b005b63118cdaa760e01b5f523360045260245ffd5b346101dc575f3660031901126101dc57610d83611f9e565b5f5160206124f35f395f51905f5280546001600160a01b03199081169091555f5160206124935f395f51905f52805491821690555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b36600319016101c081126101dc5760c0136101dc57604051610e0981611633565b6004356001600160a01b03811681036101dc5781526024356001600160a01b03811681036101dc57602082015260443560408201526064356060820152608435608082015260a4358060020b81036101dc5760a082015260e03660c31901126101dc576101a4356001600160401b0381116101dc57610e8c903690600401611700565b90610e95611a91565b60c435916001600160a01b038316918284036101dc57338303610ca4578115801590611316575b611009575b5050600154604051630fcfb37560e11b8152936001600160a01b039091169290610eef906004860190611922565b5060c483015260e4356001600160601b0381168091036101dc5760e4830152610104356001600160a01b038116908190036101dc57610104830152610124803590830152610144356001600160a01b038116908190036101dc57610144830152610164358060020b8091036101dc5761016483015261018435908160020b8092036101dc576101a4835f819360c0956101848401525af19081156101e85760c0915f915f5f5f915f935f95610fd2575b5060015f5160206124b35f395f51905f5255604051958652602086015260408501526060840152608083015260a0820152f35b945050505050610ff89150823d8411611002575b610ff08183611662565b8101906119b0565b9390929087610f9f565b503d610fe6565b9290939134611243575b5f5b85811015611236576060810285019060208201358015610b43575f8113156110de5761104b6001600160a01b0361084785611865565b611060816001600160a01b0361089486611865565b5f546001600160a01b03169261107590611865565b90833b156101dc5760a45f928360405196879485936341bca9ff60e11b85526110a26004860160c46118b1565b6001600160a01b0316606485015260848401525af19182156101e8576001926110ce575b505b01611015565b5f6110d891611662565b876110c6565b90919060408201906001600160a01b036110f783611865565b1615610afe575f546001600160a01b03169061111284611865565b823b156101dc576040516341bca9ff60e11b8152925f91849160a491839185916111406004850160c46118b1565b6001600160a01b03166064840152608483018790525af19182156101e85761116c926112265750611879565b9161117681611865565b6002546001600160a01b0391821691160361120357506002546001600160a01b031690813b156101dc575f8092602460405180958193632e1a7d4d60e01b83528860048401525af19182156101e8575f938493849384936111db926111f35750611865565b5af16111e5611bd9565b5015610a3a576001906110c8565b846111fd91611662565b8d610a1c565b916112219161087a610ab460019695610aad888060a01b0391611865565b6110c8565b5f61123091611662565b8a6109ac565b5091935091508380610ec1565b6002546001600160a01b0316803b156101dc575f60049160405192838092630d0e30db60e41b825234905af180156101e857611306575b506002545f546112989134916001600160a01b039081169116611ae5565b5f546002546001600160a01b039182169116813b156101dc576040516341bca9ff60e11b8152915f91839160a491839185916112d86004850160c46118b1565b60648401523460848401525af180156101e8576112f6575b50611013565b5f61130091611662565b856112f0565b5f61131091611662565b8561127a565b50341515610ebc565b5f604061132b36611730565b61133b9893989692959496611a91565b61134485611ac9565b80158015906113df575b6113ce575b505061138060018060a01b036001541694875198899788968795637d7dd88d60e01b87526004870161196a565b03925af180156101e8575f906113ac5760209060015f5160206124b35f395f51905f5255604051908152f35b506040813d6040116113c6575b816101cb60409383611662565b3d91506113b9565b6113d89185611c17565b8780611353565b5034151561134e565b346101dc5760203660031901126101dc576004356001600160401b0381116101dc57806004019061010060031982360301126101dc57611426611a91565b61142f82611ac9565b5f60c48201606460e484019301915b611448828661180c565b9050811015610b7f576114658161145f868861180c565b90611841565b359061147d6114788261145f868a61180c565b611865565b82156115ab576001600160a01b038116801561156f575f546001600160a01b0316906114a885611879565b91803b156101dc576114d6925f9185838d604051978895869485936341bca9ff60e11b8552600485016118fc565b03925af19081156101e8576114fe92869261155f575b505f546001600160a01b031690611ae5565b5f546001600160a01b031692833b156101dc57611535935f92836040518097819582946341bca9ff60e11b84528c600485016118fc565b03925af19182156101e85760019261154f575b500161143e565b5f61155991611662565b86611548565b5f61156991611662565b8a6114ec565b60405162461bcd60e51b815260206004820152601460248201527337b832b930ba37b91d103d32b937903a37b5b2b760611b6044820152606490fd5b60405162461bcd60e51b81526020600482015260156024820152741bdc195c985d1bdc8e881e995c9bc8185b5bdd5b9d605a1b6044820152606490fd5b346101dc575f3660031901126101dc576002546040516001600160a01b039091168152602090f35b346101dc575f3660031901126101dc576001546001600160a01b03168152602090f35b60c081019081106001600160401b0382111761164e57604052565b634e487b7160e01b5f52604160045260245ffd5b90601f801991011681019081106001600160401b0382111761164e57604052565b35906001600160a01b03821682036101dc57565b91908260c09103126101dc576040516116af81611633565b60a081936116bc81611683565b83526116ca60208201611683565b60208401526040810135604084015260608101356060840152608081013560808401520135908160020b82036101dc5760a00152565b9181601f840112156101dc578235916001600160401b0383116101dc57602080850194606085020101116101dc57565b906101a06003198301126101dc57611749826004611697565b91606060c3198201126101dc5760c491610124358060020b81036101dc5791610144358060020b81036101dc5791610164356001600160801b03811681036101dc579161018435906001600160401b0382116101dc576117ab91600401611700565b9091565b906101806003198301126101dc5760606117ca836004611697565b9260c31901126101dc5760c490610124358060020b81036101dc5790610144358060020b81036101dc5790610164356001600160a01b03811681036101dc5790565b903590601e19813603018212156101dc57018035906001600160401b0382116101dc57602001918160051b360383136101dc57565b91908110156118515760051b0190565b634e487b7160e01b5f52603260045260245ffd5b356001600160a01b03811681036101dc5790565b600160ff1b8114611889575f0390565b634e487b7160e01b5f52601160045260245ffd5b35906001600160601b03821682036101dc57565b6040906001600160a01b036118c582611683565b1683526001600160601b036118dc6020830161189d565b1660208401526001600160a01b03906118f6908301611683565b16910152565b6080919493926119108260a08101976118b1565b6001600160a01b031660608201520152565b80516001600160a01b0390811683526020808301519091169083015260408082015190830152606080820151908301526080808201519083015260a09081015160020b910152565b93610160936119986001600160801b03949897939861198e8861018081019b611922565b60c08801906118b1565b60020b61012086015260020b61014085015216910152565b91908260c09103126101dc5781519160208101519160408201519160608101519160a0608083015192015190565b90816101009103126101dc576040519061010082018281106001600160401b0382111761164e576040528051906001600160801b03821682036101dc5760e09183526020810151602084015260408101516040840152606081015160608401526080810151608084015260a081015160a084015260c081015160c0840152015160e082015290565b9260a09295949195611a7c8560c08101986118b1565b606085015260020b608084015260020b910152565b60025f5160206124b35f395f51905f525414611aba5760025f5160206124b35f395f51905f5255565b633ee5aeb560e01b5f5260045ffd5b611ad290611865565b336001600160a01b0390911603610ca457565b60405163095ea7b360e01b602082019081526001600160a01b03841660248301526044808301959095529381529192611b1f606484611662565b82516001600160a01b038316915f91829182855af190611b3d611bd9565b82611ba7575b5081611b9c575b5015611b5557505050565b60405163095ea7b360e01b60208201526001600160a01b0390931660248401525f6044808501919091528352611b9a9261087a90611b94606482611662565b8261239e565b565b90503b15155f611b4a565b80519192508115918215611bbf575b5050905f611b43565b611bd29250602080918301019101612386565b5f80611bb6565b3d15611c12573d906001600160401b03821161164e5760405191611c07601f8201601f191660200184611662565b82523d5f602084013e565b606090565b909291925f9234611eb4575b835b85811015611eac576060810283016020810135908115610b435786821315611d3c57611c8e6001600160a01b03611c5b83611865565b6040516323b872dd60e01b602082015233602482015230604482015260648082018790528152911661087a608483611662565b611cb5826001600160a01b03611ca384611865565b8a546001600160a01b03169116611ae5565b86546001600160a01b031690611cca90611865565b813b15611d3857918791611cf693836040518096819582946341bca9ff60e11b84528d600485016118fc565b03925af18015611d2d57908691611d14575b50506001905b01611c25565b81611d1e91611662565b611d2957845f611d08565b8480fd5b6040513d88823e3d90fd5b8780fd5b9060408201906001600160a01b03611d5383611865565b1615610afe5787546001600160a01b0316611d6d84611865565b813b15611ea85782611d9a928b92838c604051968795869485936341bca9ff60e11b8552600485016118fc565b03925af18015611e9d57908991611e88575b5050611db790611879565b91611dc181611865565b6002546001600160a01b03918216911603611e6557506002546001600160a01b0316803b15611d3857878091602460405180948193632e1a7d4d60e01b83528860048401525af18015611e5a5790889291611e3d575b50818093611e258293611865565b5af1611e2f611bd9565b5015610a3a57600190611d0e565b82611e4a91939293611662565b611e565786905f611e17565b8680fd5b6040513d8a823e3d90fd5b91611e839161087a610ab460019695610aad888060a01b0391611865565b611d0e565b81611e9291611662565b611d3857875f611dac565b6040513d8b823e3d90fd5b8980fd5b509350505050565b6002546001600160a01b0316803b156101dc575f60049160405192838092630d0e30db60e41b825234905af180156101e857611f89575b506002548454611f099134916001600160a01b039081169116611ae5565b83546002546001600160a01b039182169116813b15611f8557611f48869283926040519485809481936341bca9ff60e11b835234908c600485016118fc565b03925af18015611f7a57908591611f61575b5050611c23565b81611f6b91611662565b611f7657835f611f5a565b8380fd5b6040513d87823e3d90fd5b8580fd5b611f969194505f90611662565b5f925f611eeb565b5f5160206124935f395f51905f52546001600160a01b03163303610d5857565b5f5160206124f35f395f51905f5280546001600160a01b03199081169091555f5160206124935f395f51905f5280549182166001600160a01b0393841690811790915591167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b9392936120358161231b565b5f546040516330ecafc360e21b81529591906101009087906001600160a01b031681806120688c8b888c60048601611a66565b03915afa9586156101e8575f966122fa575b5060806001600160801b038751169601519580612206575b5050846120a2575b505050505050565b60018060a01b03600154166040519660a088018881106001600160401b0382111761164e576040526060853603126101dc576040519560608701938785106001600160401b0386111761164e5760c0986121729861212560406101a49a5f99825261210c81611683565b845261211a6020820161189d565b602085015201611683565b60408201528b5260208b0190815260408b019160018060a01b0316825260608b019260020b835260808b019360020b84526040519a8b998a98630fcfb37560e11b8a5260048a0190611922565b5180516001600160a01b0390811660c48a015260208201516001600160601b031660e48a01526040909101518116610104890152905161012488015290511661014486015251600290810b6101648601529051900b6101848401525af180156101e8576121e4575b808080808061209a565b6121fc9060c03d60c01161100257610ff08183611662565b50505050506121da565b6001546040516303d0fbe360e51b815293975060209184916001600160a01b03169082905f90829061223f908e8d8d8d6004870161196a565b03925af19182156101e85787926122c4575b505f546040516330ecafc360e21b8152926101009284926001600160a01b03169183918291612286918b908b60048601611a66565b03915afa80156101e8576080915f916122a5575b500151935f80612092565b6122be91506101003d811161079b5761078d8183611662565b5f61229a565b91506020823d6020116122f2575b816122df60209383611662565b810103126101dc57869150612286612251565b3d91506122d2565b6123149196506101003d811161079b5761078d8183611662565b945f61207a565b60018060a01b038151169060018060a01b0360208201511690604081015190606081015160a0608083015192015160020b92604051946020860196875260408601526060850152608084015260a083015260c082015260c0815261238060e082611662565b51902090565b908160209103126101dc575180151581036101dc5790565b5f806123c69260018060a01b03169360208151910182865af16123bf611bd9565b9083612434565b80519081151591826123ee575b50506123dc5750565b635274afe760e01b5f5260045260245ffd5b6124019250602080918301019101612386565b155f806123d3565b60ff5f5160206124d35f395f51905f525460401c161561242557565b631afcd79f60e31b5f5260045ffd5b90612458575080511561244957805190602001fd5b630a12f52160e11b5f5260045ffd5b81511580612489575b612469575090565b639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b50803b1561246156fe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c00a2646970667358221220c3e00d74049ecd37506784943e98f731887c7b8fdae8e25b4941194d8c94613764736f6c634300081e0033f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00";
933
+
934
+ type OperatorConstructorParams =
935
+ | [signer?: Signer]
936
+ | ConstructorParameters<typeof ContractFactory>;
937
+
938
+ const isSuperArgs = (
939
+ xs: OperatorConstructorParams
940
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
941
+
942
+ export class Operator__factory extends ContractFactory {
943
+ constructor(...args: OperatorConstructorParams) {
944
+ if (isSuperArgs(args)) {
945
+ super(...args);
946
+ } else {
947
+ super(_abi, _bytecode, args[0]);
948
+ }
949
+ }
950
+
951
+ override getDeployTransaction(
952
+ overrides?: NonPayableOverrides & { from?: string }
953
+ ): Promise<ContractDeployTransaction> {
954
+ return super.getDeployTransaction(overrides || {});
955
+ }
956
+ override deploy(overrides?: NonPayableOverrides & { from?: string }) {
957
+ return super.deploy(overrides || {}) as Promise<
958
+ Operator & {
959
+ deploymentTransaction(): ContractTransactionResponse;
960
+ }
961
+ >;
962
+ }
963
+ override connect(runner: ContractRunner | null): Operator__factory {
964
+ return super.connect(runner) as Operator__factory;
965
+ }
966
+
967
+ static readonly bytecode = _bytecode;
968
+ static readonly abi = _abi;
969
+ static createInterface(): OperatorInterface {
970
+ return new Interface(_abi) as OperatorInterface;
971
+ }
972
+ static connect(address: string, runner?: ContractRunner | null): Operator {
973
+ return new Contract(address, _abi, runner) as unknown as Operator;
974
+ }
975
+ }