@curvefi/api 2.14.0 → 2.15.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,865 @@
1
+ [
2
+ {
3
+ "name": "TokenExchange",
4
+ "inputs": [
5
+ {
6
+ "name": "buyer",
7
+ "type": "address",
8
+ "indexed": true
9
+ },
10
+ {
11
+ "name": "sold_id",
12
+ "type": "int128",
13
+ "indexed": false
14
+ },
15
+ {
16
+ "name": "tokens_sold",
17
+ "type": "uint256",
18
+ "indexed": false
19
+ },
20
+ {
21
+ "name": "bought_id",
22
+ "type": "int128",
23
+ "indexed": false
24
+ },
25
+ {
26
+ "name": "tokens_bought",
27
+ "type": "uint256",
28
+ "indexed": false
29
+ }
30
+ ],
31
+ "anonymous": false,
32
+ "type": "event"
33
+ },
34
+ {
35
+ "name": "AddLiquidity",
36
+ "inputs": [
37
+ {
38
+ "name": "provider",
39
+ "type": "address",
40
+ "indexed": true
41
+ },
42
+ {
43
+ "name": "token_amounts",
44
+ "type": "uint256[2]",
45
+ "indexed": false
46
+ },
47
+ {
48
+ "name": "fees",
49
+ "type": "uint256[2]",
50
+ "indexed": false
51
+ },
52
+ {
53
+ "name": "invariant",
54
+ "type": "uint256",
55
+ "indexed": false
56
+ },
57
+ {
58
+ "name": "token_supply",
59
+ "type": "uint256",
60
+ "indexed": false
61
+ }
62
+ ],
63
+ "anonymous": false,
64
+ "type": "event"
65
+ },
66
+ {
67
+ "name": "RemoveLiquidity",
68
+ "inputs": [
69
+ {
70
+ "name": "provider",
71
+ "type": "address",
72
+ "indexed": true
73
+ },
74
+ {
75
+ "name": "token_amounts",
76
+ "type": "uint256[2]",
77
+ "indexed": false
78
+ },
79
+ {
80
+ "name": "fees",
81
+ "type": "uint256[2]",
82
+ "indexed": false
83
+ },
84
+ {
85
+ "name": "token_supply",
86
+ "type": "uint256",
87
+ "indexed": false
88
+ }
89
+ ],
90
+ "anonymous": false,
91
+ "type": "event"
92
+ },
93
+ {
94
+ "name": "RemoveLiquidityOne",
95
+ "inputs": [
96
+ {
97
+ "name": "provider",
98
+ "type": "address",
99
+ "indexed": true
100
+ },
101
+ {
102
+ "name": "token_amount",
103
+ "type": "uint256",
104
+ "indexed": false
105
+ },
106
+ {
107
+ "name": "coin_amount",
108
+ "type": "uint256",
109
+ "indexed": false
110
+ }
111
+ ],
112
+ "anonymous": false,
113
+ "type": "event"
114
+ },
115
+ {
116
+ "name": "RemoveLiquidityImbalance",
117
+ "inputs": [
118
+ {
119
+ "name": "provider",
120
+ "type": "address",
121
+ "indexed": true
122
+ },
123
+ {
124
+ "name": "token_amounts",
125
+ "type": "uint256[2]",
126
+ "indexed": false
127
+ },
128
+ {
129
+ "name": "fees",
130
+ "type": "uint256[2]",
131
+ "indexed": false
132
+ },
133
+ {
134
+ "name": "invariant",
135
+ "type": "uint256",
136
+ "indexed": false
137
+ },
138
+ {
139
+ "name": "token_supply",
140
+ "type": "uint256",
141
+ "indexed": false
142
+ }
143
+ ],
144
+ "anonymous": false,
145
+ "type": "event"
146
+ },
147
+ {
148
+ "name": "CommitNewAdmin",
149
+ "inputs": [
150
+ {
151
+ "name": "deadline",
152
+ "type": "uint256",
153
+ "indexed": true
154
+ },
155
+ {
156
+ "name": "admin",
157
+ "type": "address",
158
+ "indexed": true
159
+ }
160
+ ],
161
+ "anonymous": false,
162
+ "type": "event"
163
+ },
164
+ {
165
+ "name": "NewAdmin",
166
+ "inputs": [
167
+ {
168
+ "name": "admin",
169
+ "type": "address",
170
+ "indexed": true
171
+ }
172
+ ],
173
+ "anonymous": false,
174
+ "type": "event"
175
+ },
176
+ {
177
+ "name": "CommitNewFee",
178
+ "inputs": [
179
+ {
180
+ "name": "deadline",
181
+ "type": "uint256",
182
+ "indexed": true
183
+ },
184
+ {
185
+ "name": "fee",
186
+ "type": "uint256",
187
+ "indexed": false
188
+ },
189
+ {
190
+ "name": "admin_fee",
191
+ "type": "uint256",
192
+ "indexed": false
193
+ }
194
+ ],
195
+ "anonymous": false,
196
+ "type": "event"
197
+ },
198
+ {
199
+ "name": "NewFee",
200
+ "inputs": [
201
+ {
202
+ "name": "fee",
203
+ "type": "uint256",
204
+ "indexed": false
205
+ },
206
+ {
207
+ "name": "admin_fee",
208
+ "type": "uint256",
209
+ "indexed": false
210
+ }
211
+ ],
212
+ "anonymous": false,
213
+ "type": "event"
214
+ },
215
+ {
216
+ "name": "RampA",
217
+ "inputs": [
218
+ {
219
+ "name": "old_A",
220
+ "type": "uint256",
221
+ "indexed": false
222
+ },
223
+ {
224
+ "name": "new_A",
225
+ "type": "uint256",
226
+ "indexed": false
227
+ },
228
+ {
229
+ "name": "initial_time",
230
+ "type": "uint256",
231
+ "indexed": false
232
+ },
233
+ {
234
+ "name": "future_time",
235
+ "type": "uint256",
236
+ "indexed": false
237
+ }
238
+ ],
239
+ "anonymous": false,
240
+ "type": "event"
241
+ },
242
+ {
243
+ "name": "StopRampA",
244
+ "inputs": [
245
+ {
246
+ "name": "A",
247
+ "type": "uint256",
248
+ "indexed": false
249
+ },
250
+ {
251
+ "name": "t",
252
+ "type": "uint256",
253
+ "indexed": false
254
+ }
255
+ ],
256
+ "anonymous": false,
257
+ "type": "event"
258
+ },
259
+ {
260
+ "stateMutability": "nonpayable",
261
+ "type": "constructor",
262
+ "inputs": [
263
+ {
264
+ "name": "_owner",
265
+ "type": "address"
266
+ },
267
+ {
268
+ "name": "_coins",
269
+ "type": "address[2]"
270
+ },
271
+ {
272
+ "name": "_pool_token",
273
+ "type": "address"
274
+ },
275
+ {
276
+ "name": "_A",
277
+ "type": "uint256"
278
+ },
279
+ {
280
+ "name": "_fee",
281
+ "type": "uint256"
282
+ },
283
+ {
284
+ "name": "_admin_fee",
285
+ "type": "uint256"
286
+ },
287
+ {
288
+ "name": "_oracle",
289
+ "type": "address"
290
+ }
291
+ ],
292
+ "outputs": []
293
+ },
294
+ {
295
+ "stateMutability": "view",
296
+ "type": "function",
297
+ "name": "A",
298
+ "inputs": [],
299
+ "outputs": [
300
+ {
301
+ "name": "",
302
+ "type": "uint256"
303
+ }
304
+ ]
305
+ },
306
+ {
307
+ "stateMutability": "view",
308
+ "type": "function",
309
+ "name": "A_precise",
310
+ "inputs": [],
311
+ "outputs": [
312
+ {
313
+ "name": "",
314
+ "type": "uint256"
315
+ }
316
+ ]
317
+ },
318
+ {
319
+ "stateMutability": "view",
320
+ "type": "function",
321
+ "name": "get_virtual_price",
322
+ "inputs": [],
323
+ "outputs": [
324
+ {
325
+ "name": "",
326
+ "type": "uint256"
327
+ }
328
+ ]
329
+ },
330
+ {
331
+ "stateMutability": "view",
332
+ "type": "function",
333
+ "name": "calc_token_amount",
334
+ "inputs": [
335
+ {
336
+ "name": "amounts",
337
+ "type": "uint256[2]"
338
+ },
339
+ {
340
+ "name": "is_deposit",
341
+ "type": "bool"
342
+ }
343
+ ],
344
+ "outputs": [
345
+ {
346
+ "name": "",
347
+ "type": "uint256"
348
+ }
349
+ ]
350
+ },
351
+ {
352
+ "stateMutability": "payable",
353
+ "type": "function",
354
+ "name": "add_liquidity",
355
+ "inputs": [
356
+ {
357
+ "name": "amounts",
358
+ "type": "uint256[2]"
359
+ },
360
+ {
361
+ "name": "min_mint_amount",
362
+ "type": "uint256"
363
+ }
364
+ ],
365
+ "outputs": [
366
+ {
367
+ "name": "",
368
+ "type": "uint256"
369
+ }
370
+ ]
371
+ },
372
+ {
373
+ "stateMutability": "view",
374
+ "type": "function",
375
+ "name": "get_dy",
376
+ "inputs": [
377
+ {
378
+ "name": "i",
379
+ "type": "int128"
380
+ },
381
+ {
382
+ "name": "j",
383
+ "type": "int128"
384
+ },
385
+ {
386
+ "name": "dx",
387
+ "type": "uint256"
388
+ }
389
+ ],
390
+ "outputs": [
391
+ {
392
+ "name": "",
393
+ "type": "uint256"
394
+ }
395
+ ]
396
+ },
397
+ {
398
+ "stateMutability": "view",
399
+ "type": "function",
400
+ "name": "get_dx",
401
+ "inputs": [
402
+ {
403
+ "name": "i",
404
+ "type": "int128"
405
+ },
406
+ {
407
+ "name": "j",
408
+ "type": "int128"
409
+ },
410
+ {
411
+ "name": "dy",
412
+ "type": "uint256"
413
+ }
414
+ ],
415
+ "outputs": [
416
+ {
417
+ "name": "",
418
+ "type": "uint256"
419
+ }
420
+ ]
421
+ },
422
+ {
423
+ "stateMutability": "payable",
424
+ "type": "function",
425
+ "name": "exchange",
426
+ "inputs": [
427
+ {
428
+ "name": "i",
429
+ "type": "int128"
430
+ },
431
+ {
432
+ "name": "j",
433
+ "type": "int128"
434
+ },
435
+ {
436
+ "name": "dx",
437
+ "type": "uint256"
438
+ },
439
+ {
440
+ "name": "min_dy",
441
+ "type": "uint256"
442
+ }
443
+ ],
444
+ "outputs": [
445
+ {
446
+ "name": "",
447
+ "type": "uint256"
448
+ }
449
+ ]
450
+ },
451
+ {
452
+ "stateMutability": "nonpayable",
453
+ "type": "function",
454
+ "name": "remove_liquidity",
455
+ "inputs": [
456
+ {
457
+ "name": "_amount",
458
+ "type": "uint256"
459
+ },
460
+ {
461
+ "name": "min_amounts",
462
+ "type": "uint256[2]"
463
+ }
464
+ ],
465
+ "outputs": [
466
+ {
467
+ "name": "",
468
+ "type": "uint256[2]"
469
+ }
470
+ ]
471
+ },
472
+ {
473
+ "stateMutability": "nonpayable",
474
+ "type": "function",
475
+ "name": "remove_liquidity_imbalance",
476
+ "inputs": [
477
+ {
478
+ "name": "amounts",
479
+ "type": "uint256[2]"
480
+ },
481
+ {
482
+ "name": "max_burn_amount",
483
+ "type": "uint256"
484
+ }
485
+ ],
486
+ "outputs": [
487
+ {
488
+ "name": "",
489
+ "type": "uint256"
490
+ }
491
+ ]
492
+ },
493
+ {
494
+ "stateMutability": "view",
495
+ "type": "function",
496
+ "name": "calc_withdraw_one_coin",
497
+ "inputs": [
498
+ {
499
+ "name": "_token_amount",
500
+ "type": "uint256"
501
+ },
502
+ {
503
+ "name": "i",
504
+ "type": "int128"
505
+ }
506
+ ],
507
+ "outputs": [
508
+ {
509
+ "name": "",
510
+ "type": "uint256"
511
+ }
512
+ ]
513
+ },
514
+ {
515
+ "stateMutability": "nonpayable",
516
+ "type": "function",
517
+ "name": "remove_liquidity_one_coin",
518
+ "inputs": [
519
+ {
520
+ "name": "_token_amount",
521
+ "type": "uint256"
522
+ },
523
+ {
524
+ "name": "i",
525
+ "type": "int128"
526
+ },
527
+ {
528
+ "name": "_min_amount",
529
+ "type": "uint256"
530
+ }
531
+ ],
532
+ "outputs": [
533
+ {
534
+ "name": "",
535
+ "type": "uint256"
536
+ }
537
+ ]
538
+ },
539
+ {
540
+ "stateMutability": "nonpayable",
541
+ "type": "function",
542
+ "name": "ramp_A",
543
+ "inputs": [
544
+ {
545
+ "name": "_future_A",
546
+ "type": "uint256"
547
+ },
548
+ {
549
+ "name": "_future_time",
550
+ "type": "uint256"
551
+ }
552
+ ],
553
+ "outputs": []
554
+ },
555
+ {
556
+ "stateMutability": "nonpayable",
557
+ "type": "function",
558
+ "name": "stop_ramp_A",
559
+ "inputs": [],
560
+ "outputs": []
561
+ },
562
+ {
563
+ "stateMutability": "nonpayable",
564
+ "type": "function",
565
+ "name": "commit_new_fee",
566
+ "inputs": [
567
+ {
568
+ "name": "new_fee",
569
+ "type": "uint256"
570
+ },
571
+ {
572
+ "name": "new_admin_fee",
573
+ "type": "uint256"
574
+ }
575
+ ],
576
+ "outputs": []
577
+ },
578
+ {
579
+ "stateMutability": "nonpayable",
580
+ "type": "function",
581
+ "name": "apply_new_fee",
582
+ "inputs": [],
583
+ "outputs": []
584
+ },
585
+ {
586
+ "stateMutability": "nonpayable",
587
+ "type": "function",
588
+ "name": "revert_new_parameters",
589
+ "inputs": [],
590
+ "outputs": []
591
+ },
592
+ {
593
+ "stateMutability": "nonpayable",
594
+ "type": "function",
595
+ "name": "commit_transfer_ownership",
596
+ "inputs": [
597
+ {
598
+ "name": "_owner",
599
+ "type": "address"
600
+ }
601
+ ],
602
+ "outputs": []
603
+ },
604
+ {
605
+ "stateMutability": "nonpayable",
606
+ "type": "function",
607
+ "name": "apply_transfer_ownership",
608
+ "inputs": [],
609
+ "outputs": []
610
+ },
611
+ {
612
+ "stateMutability": "nonpayable",
613
+ "type": "function",
614
+ "name": "revert_transfer_ownership",
615
+ "inputs": [],
616
+ "outputs": []
617
+ },
618
+ {
619
+ "stateMutability": "view",
620
+ "type": "function",
621
+ "name": "admin_balances",
622
+ "inputs": [
623
+ {
624
+ "name": "i",
625
+ "type": "uint256"
626
+ }
627
+ ],
628
+ "outputs": [
629
+ {
630
+ "name": "",
631
+ "type": "uint256"
632
+ }
633
+ ]
634
+ },
635
+ {
636
+ "stateMutability": "nonpayable",
637
+ "type": "function",
638
+ "name": "withdraw_admin_fees",
639
+ "inputs": [],
640
+ "outputs": []
641
+ },
642
+ {
643
+ "stateMutability": "nonpayable",
644
+ "type": "function",
645
+ "name": "donate_admin_fees",
646
+ "inputs": [],
647
+ "outputs": []
648
+ },
649
+ {
650
+ "stateMutability": "nonpayable",
651
+ "type": "function",
652
+ "name": "kill_me",
653
+ "inputs": [],
654
+ "outputs": []
655
+ },
656
+ {
657
+ "stateMutability": "nonpayable",
658
+ "type": "function",
659
+ "name": "unkill_me",
660
+ "inputs": [],
661
+ "outputs": []
662
+ },
663
+ {
664
+ "stateMutability": "view",
665
+ "type": "function",
666
+ "name": "oracle",
667
+ "inputs": [],
668
+ "outputs": [
669
+ {
670
+ "name": "",
671
+ "type": "address"
672
+ }
673
+ ]
674
+ },
675
+ {
676
+ "stateMutability": "view",
677
+ "type": "function",
678
+ "name": "coins",
679
+ "inputs": [
680
+ {
681
+ "name": "arg0",
682
+ "type": "uint256"
683
+ }
684
+ ],
685
+ "outputs": [
686
+ {
687
+ "name": "",
688
+ "type": "address"
689
+ }
690
+ ]
691
+ },
692
+ {
693
+ "stateMutability": "view",
694
+ "type": "function",
695
+ "name": "balances",
696
+ "inputs": [
697
+ {
698
+ "name": "arg0",
699
+ "type": "uint256"
700
+ }
701
+ ],
702
+ "outputs": [
703
+ {
704
+ "name": "",
705
+ "type": "uint256"
706
+ }
707
+ ]
708
+ },
709
+ {
710
+ "stateMutability": "view",
711
+ "type": "function",
712
+ "name": "fee",
713
+ "inputs": [],
714
+ "outputs": [
715
+ {
716
+ "name": "",
717
+ "type": "uint256"
718
+ }
719
+ ]
720
+ },
721
+ {
722
+ "stateMutability": "view",
723
+ "type": "function",
724
+ "name": "admin_fee",
725
+ "inputs": [],
726
+ "outputs": [
727
+ {
728
+ "name": "",
729
+ "type": "uint256"
730
+ }
731
+ ]
732
+ },
733
+ {
734
+ "stateMutability": "view",
735
+ "type": "function",
736
+ "name": "owner",
737
+ "inputs": [],
738
+ "outputs": [
739
+ {
740
+ "name": "",
741
+ "type": "address"
742
+ }
743
+ ]
744
+ },
745
+ {
746
+ "stateMutability": "view",
747
+ "type": "function",
748
+ "name": "lp_token",
749
+ "inputs": [],
750
+ "outputs": [
751
+ {
752
+ "name": "",
753
+ "type": "address"
754
+ }
755
+ ]
756
+ },
757
+ {
758
+ "stateMutability": "view",
759
+ "type": "function",
760
+ "name": "initial_A",
761
+ "inputs": [],
762
+ "outputs": [
763
+ {
764
+ "name": "",
765
+ "type": "uint256"
766
+ }
767
+ ]
768
+ },
769
+ {
770
+ "stateMutability": "view",
771
+ "type": "function",
772
+ "name": "future_A",
773
+ "inputs": [],
774
+ "outputs": [
775
+ {
776
+ "name": "",
777
+ "type": "uint256"
778
+ }
779
+ ]
780
+ },
781
+ {
782
+ "stateMutability": "view",
783
+ "type": "function",
784
+ "name": "initial_A_time",
785
+ "inputs": [],
786
+ "outputs": [
787
+ {
788
+ "name": "",
789
+ "type": "uint256"
790
+ }
791
+ ]
792
+ },
793
+ {
794
+ "stateMutability": "view",
795
+ "type": "function",
796
+ "name": "future_A_time",
797
+ "inputs": [],
798
+ "outputs": [
799
+ {
800
+ "name": "",
801
+ "type": "uint256"
802
+ }
803
+ ]
804
+ },
805
+ {
806
+ "stateMutability": "view",
807
+ "type": "function",
808
+ "name": "admin_actions_deadline",
809
+ "inputs": [],
810
+ "outputs": [
811
+ {
812
+ "name": "",
813
+ "type": "uint256"
814
+ }
815
+ ]
816
+ },
817
+ {
818
+ "stateMutability": "view",
819
+ "type": "function",
820
+ "name": "transfer_ownership_deadline",
821
+ "inputs": [],
822
+ "outputs": [
823
+ {
824
+ "name": "",
825
+ "type": "uint256"
826
+ }
827
+ ]
828
+ },
829
+ {
830
+ "stateMutability": "view",
831
+ "type": "function",
832
+ "name": "future_fee",
833
+ "inputs": [],
834
+ "outputs": [
835
+ {
836
+ "name": "",
837
+ "type": "uint256"
838
+ }
839
+ ]
840
+ },
841
+ {
842
+ "stateMutability": "view",
843
+ "type": "function",
844
+ "name": "future_admin_fee",
845
+ "inputs": [],
846
+ "outputs": [
847
+ {
848
+ "name": "",
849
+ "type": "uint256"
850
+ }
851
+ ]
852
+ },
853
+ {
854
+ "stateMutability": "view",
855
+ "type": "function",
856
+ "name": "future_owner",
857
+ "inputs": [],
858
+ "outputs": [
859
+ {
860
+ "name": "",
861
+ "type": "address"
862
+ }
863
+ ]
864
+ }
865
+ ]
@@ -16,6 +16,7 @@ exports.COINS_ARBITRUM = (0, utils_1.lowerCaseValues)({
16
16
  // --- ETH ---
17
17
  "eth": "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
18
18
  "weth": "0x82af49447d8a07e3bd95bd0d56f35241523fbab1",
19
+ "wsteth": "0x5979D7b546E38E414F7E9822514be443A4800529",
19
20
  });
20
21
  exports.cTokensArbitrum = []; //.map((a) => a.toLowerCase());
21
22
  exports.yTokensArbitrum = []; //.map((a) => a.toLowerCase());
@@ -14,6 +14,7 @@ exports.COINS_OPTIMISM = (0, utils_1.lowerCaseValues)({
14
14
  'eth': '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',
15
15
  'weth': '0x4200000000000000000000000000000000000006',
16
16
  'seth': '0xe405de8f52ba7559f9df3c368500b6e6ae6cee49',
17
+ 'wsteth': '0x1f32b1c2345538c0c6f582fcb022739c4a194ebb',
17
18
  });
18
19
  exports.cTokensOptimism = []; //.map((a) => a.toLowerCase());
19
20
  exports.yTokensOptimism = []; //.map((a) => a.toLowerCase());
@@ -12,6 +12,7 @@ var swap_json_3 = __importDefault(require("../abis/eursusd2/swap.json"));
12
12
  var zap_json_1 = __importDefault(require("../abis/eursusd2/zap.json"));
13
13
  var swap_json_4 = __importDefault(require("../abis/ren-arbitrum/swap.json"));
14
14
  var gauge_child_json_1 = __importDefault(require("../abis/gauge_child.json"));
15
+ var swap_json_5 = __importDefault(require("../abis/wsteth/swap.json"));
15
16
  exports.POOLS_DATA_ARBITRUM = (0, utils_1.lowerCasePoolDataAddresses)({
16
17
  '2pool': {
17
18
  name: "2pool",
@@ -122,4 +123,28 @@ exports.POOLS_DATA_ARBITRUM = (0, utils_1.lowerCasePoolDataAddresses)({
122
123
  gauge_abi: gauge_child_json_1.default,
123
124
  deposit_abi: zap_json_1.default,
124
125
  },
126
+ wsteth: {
127
+ name: "wsteth",
128
+ full_name: "wsteth",
129
+ symbol: "wsteth",
130
+ reference_asset: 'ETH',
131
+ is_plain: true,
132
+ swap_address: '0x6eB2dc694eB516B16Dc9FBc678C60052BbdD7d80',
133
+ token_address: '0xDbcD16e622c95AcB2650b38eC799f76BFC557a0b',
134
+ gauge_address: '0x098EF55011B6B8c99845128114A9D9159777d697',
135
+ underlying_coins: ['ETH', 'wstETH'],
136
+ wrapped_coins: ['ETH', 'wstETH'],
137
+ underlying_coin_addresses: [
138
+ '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE',
139
+ '0x5979D7b546E38E414F7E9822514be443A4800529',
140
+ ],
141
+ wrapped_coin_addresses: [
142
+ '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE',
143
+ '0x5979D7b546E38E414F7E9822514be443A4800529',
144
+ ],
145
+ underlying_decimals: [18, 18],
146
+ wrapped_decimals: [18, 18],
147
+ swap_abi: swap_json_5.default,
148
+ gauge_abi: gauge_child_json_1.default,
149
+ },
125
150
  });
@@ -5,7 +5,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.POOLS_DATA_OPTIMISM = void 0;
7
7
  var swap_json_1 = __importDefault(require("../abis/3pool-optimism/swap.json"));
8
+ var swap_json_2 = __importDefault(require("../abis/wsteth/swap.json"));
8
9
  var gauge_rewards_only_json_1 = __importDefault(require("../abis/gauge_rewards_only.json"));
10
+ var gauge_child_json_1 = __importDefault(require("../abis/gauge_child.json"));
9
11
  var utils_1 = require("../utils");
10
12
  exports.POOLS_DATA_OPTIMISM = (0, utils_1.lowerCasePoolDataAddresses)({
11
13
  '3pool': {
@@ -34,4 +36,28 @@ exports.POOLS_DATA_OPTIMISM = (0, utils_1.lowerCasePoolDataAddresses)({
34
36
  swap_abi: swap_json_1.default,
35
37
  gauge_abi: gauge_rewards_only_json_1.default,
36
38
  },
39
+ wsteth: {
40
+ name: "wsteth",
41
+ full_name: "wsteth",
42
+ symbol: "wsteth",
43
+ reference_asset: 'ETH',
44
+ is_plain: true,
45
+ swap_address: '0xB90B9B1F91a01Ea22A182CD84C1E22222e39B415',
46
+ token_address: '0xEfDE221f306152971D8e9f181bFe998447975810',
47
+ gauge_address: '0xD53cCBfED6577d8dc82987e766e75E3cb73a8563',
48
+ underlying_coins: ['ETH', 'wstETH'],
49
+ wrapped_coins: ['ETH', 'wstETH'],
50
+ underlying_coin_addresses: [
51
+ '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE',
52
+ '0x1f32b1c2345538c0c6f582fcb022739c4a194ebb',
53
+ ],
54
+ wrapped_coin_addresses: [
55
+ '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE',
56
+ '0x1f32b1c2345538c0c6f582fcb022739c4a194ebb',
57
+ ],
58
+ underlying_decimals: [18, 18],
59
+ wrapped_decimals: [18, 18],
60
+ swap_abi: swap_json_2.default,
61
+ gauge_abi: gauge_child_json_1.default,
62
+ },
37
63
  });
@@ -35,36 +35,44 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
35
35
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
36
  }
37
37
  };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
38
41
  Object.defineProperty(exports, "__esModule", { value: true });
39
42
  exports.depositWrappedBalancedAmountsCryptoMixin = exports.depositWrappedBalancedAmountsMixin = exports.depositBalancedAmountsCryptoMixin = exports.depositBalancedAmountsMixin = void 0;
43
+ var bignumber_js_1 = __importDefault(require("bignumber.js"));
44
+ var utils_1 = require("../../utils");
40
45
  function _depositBalancedAmounts(poolBalances, walletBalances, decimals) {
41
- var poolTotalLiquidity = poolBalances.reduce(function (a, b) { return a + b; });
42
- var poolBalancesRatios = poolBalances.map(function (b) { return b / poolTotalLiquidity; });
46
+ var poolBalancesBN = poolBalances.map(utils_1.BN);
47
+ var walletBalancesBN = walletBalances.map(utils_1.BN);
48
+ var poolTotalLiquidityBN = poolBalancesBN.reduce(function (a, b) { return a.plus(b); });
49
+ var poolBalancesRatiosBN = poolBalancesBN.map(function (b) { return b.div(poolTotalLiquidityBN); });
43
50
  // Cross factors for each wallet balance used as reference to see the
44
51
  // max that can be used according to the lowest relative wallet balance
45
- var balancedAmountsForEachScenario = walletBalances.map(function (_, i) { return (walletBalances.map(function (_, j) { return (poolBalancesRatios[j] * walletBalances[i] / poolBalancesRatios[i]); })); });
46
- var firstCoinBalanceForEachScenario = balancedAmountsForEachScenario.map(function (_a) {
52
+ var balancedAmountsForEachScenarioBN = walletBalancesBN.map(function (_, i) { return (walletBalancesBN.map(function (_, j) { return (poolBalancesRatiosBN[j].times(walletBalancesBN[i]).div(poolBalancesRatiosBN[i])); })); });
53
+ var firstCoinBalanceForEachScenarioBN = balancedAmountsForEachScenarioBN.map(function (_a) {
47
54
  var a = _a[0];
48
55
  return a;
49
56
  });
50
- var scenarioWithLowestBalances = firstCoinBalanceForEachScenario.indexOf(Math.min.apply(Math, firstCoinBalanceForEachScenario));
51
- return balancedAmountsForEachScenario[scenarioWithLowestBalances].map(function (a, i) { return a.toFixed(decimals[i]); });
57
+ var scenarioWithLowestBalancesBN = firstCoinBalanceForEachScenarioBN.map(String).indexOf(bignumber_js_1.default.min.apply(bignumber_js_1.default, firstCoinBalanceForEachScenarioBN).toString());
58
+ return balancedAmountsForEachScenarioBN[scenarioWithLowestBalancesBN].map(function (a, i) { return a.toFixed(decimals[i]); });
52
59
  }
53
60
  // @ts-ignore
54
61
  exports.depositBalancedAmountsMixin = {
55
62
  depositBalancedAmounts: function () {
56
63
  return __awaiter(this, void 0, void 0, function () {
57
- var poolBalances, walletBalances, _a, _b;
64
+ var poolBalances, walletBalances, _a, _b, balancedAmountsBN;
58
65
  return __generator(this, function (_c) {
59
66
  switch (_c.label) {
60
67
  case 0: return [4 /*yield*/, this.stats.underlyingBalances()];
61
68
  case 1:
62
- poolBalances = (_c.sent()).map(Number);
69
+ poolBalances = _c.sent();
63
70
  _b = (_a = Object).values;
64
71
  return [4 /*yield*/, this.walletUnderlyingCoinBalances()];
65
72
  case 2:
66
- walletBalances = _b.apply(_a, [_c.sent()]).map(Number);
67
- return [2 /*return*/, _depositBalancedAmounts(poolBalances, walletBalances, this.underlyingDecimals)];
73
+ walletBalances = _b.apply(_a, [_c.sent()]);
74
+ balancedAmountsBN = (_depositBalancedAmounts(poolBalances, walletBalances, this.underlyingDecimals));
75
+ return [2 /*return*/, balancedAmountsBN.map(function (b, i) { return bignumber_js_1.default.min((0, utils_1.BN)(b), (0, utils_1.BN)(walletBalances[i])).toString(); })];
68
76
  }
69
77
  });
70
78
  });
@@ -75,23 +83,23 @@ exports.depositBalancedAmountsCryptoMixin = {
75
83
  depositBalancedAmounts: function () {
76
84
  return __awaiter(this, void 0, void 0, function () {
77
85
  var poolBalances, walletBalances, _a, _b, prices, poolBalancesUSD, walletBalancesUSD, balancedAmountsUSD;
86
+ var _this = this;
78
87
  return __generator(this, function (_c) {
79
88
  switch (_c.label) {
80
89
  case 0: return [4 /*yield*/, this.stats.underlyingBalances()];
81
90
  case 1:
82
- poolBalances = (_c.sent()).map(Number);
91
+ poolBalances = _c.sent();
83
92
  _b = (_a = Object).values;
84
93
  return [4 /*yield*/, this.walletUnderlyingCoinBalances()];
85
94
  case 2:
86
- walletBalances = _b.apply(_a, [_c.sent()]).map(Number);
95
+ walletBalances = _b.apply(_a, [_c.sent()]);
87
96
  return [4 /*yield*/, this._underlyingPrices()];
88
97
  case 3:
89
98
  prices = _c.sent();
90
- poolBalancesUSD = poolBalances.map(function (b, i) { return b * prices[i]; });
91
- walletBalancesUSD = walletBalances.map(function (b, i) { return b * prices[i]; });
99
+ poolBalancesUSD = poolBalances.map(function (b, i) { return (0, utils_1.BN)(b).times(prices[i]).toString(); });
100
+ walletBalancesUSD = walletBalances.map(function (b, i) { return (0, utils_1.BN)(b).times(prices[i]).toString(); });
92
101
  balancedAmountsUSD = _depositBalancedAmounts(poolBalancesUSD, walletBalancesUSD, this.underlyingDecimals);
93
- // @ts-ignore
94
- return [2 /*return*/, balancedAmountsUSD.map(function (b, i) { return String(Math.min(Number(b) / prices[i], poolBalances[i])); })];
102
+ return [2 /*return*/, balancedAmountsUSD.map(function (b, i) { return bignumber_js_1.default.min((0, utils_1.BN)((0, utils_1.BN)(b).div(prices[i]).toFixed(_this.underlyingDecimals[i])), (0, utils_1.BN)(walletBalances[i])).toString(); })];
95
103
  }
96
104
  });
97
105
  });
@@ -101,17 +109,18 @@ exports.depositBalancedAmountsCryptoMixin = {
101
109
  exports.depositWrappedBalancedAmountsMixin = {
102
110
  depositWrappedBalancedAmounts: function () {
103
111
  return __awaiter(this, void 0, void 0, function () {
104
- var poolBalances, walletBalances, _a, _b;
112
+ var poolBalances, walletBalances, _a, _b, balancedAmountsBN;
105
113
  return __generator(this, function (_c) {
106
114
  switch (_c.label) {
107
115
  case 0: return [4 /*yield*/, this.stats.wrappedBalances()];
108
116
  case 1:
109
- poolBalances = (_c.sent()).map(Number);
117
+ poolBalances = _c.sent();
110
118
  _b = (_a = Object).values;
111
119
  return [4 /*yield*/, this.walletWrappedCoinBalances()];
112
120
  case 2:
113
- walletBalances = _b.apply(_a, [_c.sent()]).map(Number);
114
- return [2 /*return*/, _depositBalancedAmounts(poolBalances, walletBalances, this.wrappedDecimals)];
121
+ walletBalances = _b.apply(_a, [_c.sent()]);
122
+ balancedAmountsBN = (_depositBalancedAmounts(poolBalances, walletBalances, this.underlyingDecimals));
123
+ return [2 /*return*/, balancedAmountsBN.map(function (b, i) { return bignumber_js_1.default.min((0, utils_1.BN)(b), (0, utils_1.BN)(walletBalances[i])).toString(); })];
115
124
  }
116
125
  });
117
126
  });
@@ -122,6 +131,7 @@ exports.depositWrappedBalancedAmountsCryptoMixin = {
122
131
  depositWrappedBalancedAmounts: function () {
123
132
  return __awaiter(this, void 0, void 0, function () {
124
133
  var poolBalances, walletBalances, _a, _b, prices, poolBalancesUSD, walletBalancesUSD, balancedAmountsUSD;
134
+ var _this = this;
125
135
  return __generator(this, function (_c) {
126
136
  switch (_c.label) {
127
137
  case 0: return [4 /*yield*/, this.stats.wrappedBalances()];
@@ -134,10 +144,10 @@ exports.depositWrappedBalancedAmountsCryptoMixin = {
134
144
  return [4 /*yield*/, this._wrappedPrices()];
135
145
  case 3:
136
146
  prices = _c.sent();
137
- poolBalancesUSD = poolBalances.map(function (b, i) { return b * prices[i]; });
138
- walletBalancesUSD = walletBalances.map(function (b, i) { return b * prices[i]; });
147
+ poolBalancesUSD = poolBalances.map(function (b, i) { return (0, utils_1.BN)(b).times(prices[i]).toString(); });
148
+ walletBalancesUSD = walletBalances.map(function (b, i) { return (0, utils_1.BN)(b).times(prices[i]).toString(); });
139
149
  balancedAmountsUSD = _depositBalancedAmounts(poolBalancesUSD, walletBalancesUSD, this.wrappedDecimals);
140
- return [2 /*return*/, balancedAmountsUSD.map(function (b, i) { return String(Math.min(Number(b) / prices[i], poolBalances[i])); })];
150
+ return [2 /*return*/, balancedAmountsUSD.map(function (b, i) { return bignumber_js_1.default.min((0, utils_1.BN)((0, utils_1.BN)(b).div(prices[i]).toFixed(_this.wrappedDecimals[i])), (0, utils_1.BN)(walletBalances[i])).toString(); })];
141
151
  }
142
152
  });
143
153
  });
@@ -197,7 +197,7 @@ exports.withdrawOneCoinWrappedCryptoBonusMixin = {
197
197
  _e.label = 2;
198
198
  case 2: return [4 /*yield*/, this._wrappedPrices()];
199
199
  case 3:
200
- prices = (_e.sent()).map(function (p, i) { return i === prices.length - 1 ? p * vp : p; });
200
+ prices = (_e.sent()).map(function (p, i, arr) { return i === arr.length - 1 ? p * vp : p; });
201
201
  coinPrice = prices[this._getCoinIdx(coin)];
202
202
  _d = Number;
203
203
  return [4 /*yield*/, this.withdrawOneCoinWrappedExpected(lpTokenAmount, coin)];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@curvefi/api",
3
- "version": "2.14.0",
3
+ "version": "2.15.0",
4
4
  "description": "JavaScript library for curve.fi",
5
5
  "main": "lib/index.js",
6
6
  "author": "Macket",