@curvefi/api 2.1.0 → 2.3.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.
Files changed (38) hide show
  1. package/README.md +2 -0
  2. package/lib/constants/abis/dusd/sCurveRewards.json +472 -1
  3. package/lib/constants/abis/gauge_child.json +1039 -0
  4. package/lib/constants/abis/{gauge_rewards_only.json → minter_child.json} +159 -312
  5. package/lib/constants/abis/musd/sCurveRewards.json +482 -1
  6. package/lib/constants/abis/rsv/sCurveRewards.json +472 -1
  7. package/lib/constants/abis/sbtc/sCurveRewards.json +566 -1
  8. package/lib/constants/abis/susdv2/sCurveRewards.json +457 -1
  9. package/lib/constants/abis/tbtc/sCurveRewards.json +472 -1
  10. package/lib/constants/aliases.d.ts +1 -0
  11. package/lib/constants/aliases.js +14 -2
  12. package/lib/constants/coins/avalanche.d.ts +7 -0
  13. package/lib/constants/coins/avalanche.js +33 -0
  14. package/lib/constants/pools/avalanche.d.ts +4 -0
  15. package/lib/constants/pools/avalanche.js +106 -0
  16. package/lib/constants/pools/ethereum.js +0 -33
  17. package/lib/constants/pools/index.d.ts +2 -1
  18. package/lib/constants/pools/index.js +3 -1
  19. package/lib/constants/pools/polygon.js +19 -24
  20. package/lib/constants/utils.js +0 -9
  21. package/lib/curve.d.ts +5 -1
  22. package/lib/curve.js +47 -29
  23. package/lib/external-api.d.ts +3 -3
  24. package/lib/factory/common.d.ts +2 -0
  25. package/lib/factory/common.js +45 -0
  26. package/lib/factory/constants.d.ts +11 -11
  27. package/lib/factory/constants.js +60 -58
  28. package/lib/factory/factory-api.js +20 -46
  29. package/lib/factory/factory-crypto.js +7 -4
  30. package/lib/factory/factory.js +31 -163
  31. package/lib/interfaces.d.ts +37 -29
  32. package/lib/pools/PoolTemplate.d.ts +11 -1
  33. package/lib/pools/PoolTemplate.js +175 -104
  34. package/lib/pools/poolConstructor.js +3 -3
  35. package/lib/router.js +10 -10
  36. package/lib/utils.d.ts +2 -0
  37. package/lib/utils.js +36 -14
  38. package/package.json +1 -1
@@ -238,8 +238,6 @@ exports.POOLS_DATA_ETHEREUM = (0, utils_1.lowerCasePoolDataAddresses)({
238
238
  ],
239
239
  underlying_decimals: [18, 6, 6, 18],
240
240
  wrapped_decimals: [18, 6, 6, 18],
241
- reward_tokens: ["0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F"],
242
- reward_decimals: [18],
243
241
  swap_abi: swap_json_5.default,
244
242
  gauge_abi: gauge_synthetix_json_1.default,
245
243
  deposit_abi: deposit_json_5.default,
@@ -520,8 +518,6 @@ exports.POOLS_DATA_ETHEREUM = (0, utils_1.lowerCasePoolDataAddresses)({
520
518
  ],
521
519
  underlying_decimals: [18, 18, 6, 6],
522
520
  wrapped_decimals: [18, 18],
523
- reward_tokens: ["0xa3BeD4E1c75D00fa6f4E5E6922DB7261B5E9AcD2"],
524
- reward_decimals: [18],
525
521
  swap_abi: swap_json_15.default,
526
522
  gauge_abi: gauge_synthetix_json_1.default,
527
523
  deposit_abi: deposit_json_11.default,
@@ -553,8 +549,6 @@ exports.POOLS_DATA_ETHEREUM = (0, utils_1.lowerCasePoolDataAddresses)({
553
549
  ],
554
550
  underlying_decimals: [18, 18, 6, 6],
555
551
  wrapped_decimals: [18, 18],
556
- reward_tokens: ["0x8762db106B2c2A0bccB3A80d1Ed41273552616E8"],
557
- reward_decimals: [18],
558
552
  swap_abi: swap_json_16.default,
559
553
  gauge_abi: gauge_synthetix_json_1.default,
560
554
  deposit_abi: deposit_json_12.default,
@@ -617,8 +611,6 @@ exports.POOLS_DATA_ETHEREUM = (0, utils_1.lowerCasePoolDataAddresses)({
617
611
  ],
618
612
  underlying_decimals: [18, 18, 6, 6],
619
613
  wrapped_decimals: [18, 18],
620
- reward_tokens: ["0x20c36f062a31865bED8a5B1e512D9a1A20AA333A"],
621
- reward_decimals: [18],
622
614
  swap_abi: swap_json_18.default,
623
615
  gauge_abi: gauge_synthetix_json_1.default,
624
616
  deposit_abi: deposit_json_14.default,
@@ -650,8 +642,6 @@ exports.POOLS_DATA_ETHEREUM = (0, utils_1.lowerCasePoolDataAddresses)({
650
642
  ],
651
643
  underlying_decimals: [18, 8, 8, 18],
652
644
  wrapped_decimals: [18, 18],
653
- reward_tokens: ["0x89Ab32156e46F46D02ade3FEcbe5Fc4243B9AAeD"],
654
- reward_decimals: [18],
655
645
  swap_abi: swap_json_19.default,
656
646
  gauge_abi: gauge_v2_json_1.default,
657
647
  deposit_abi: deposit_json_15.default,
@@ -712,8 +702,6 @@ exports.POOLS_DATA_ETHEREUM = (0, utils_1.lowerCasePoolDataAddresses)({
712
702
  ],
713
703
  underlying_decimals: [18, 8, 8, 18],
714
704
  wrapped_decimals: [18, 18],
715
- reward_tokens: ["0x3c9d6c1C73b31c837832c72E04D3152f051fc1A9"],
716
- reward_decimals: [18],
717
705
  swap_abi: swap_json_21.default,
718
706
  gauge_abi: gauge_v2_json_1.default,
719
707
  deposit_abi: deposit_json_17.default,
@@ -765,8 +753,6 @@ exports.POOLS_DATA_ETHEREUM = (0, utils_1.lowerCasePoolDataAddresses)({
765
753
  ],
766
754
  underlying_decimals: [2, 18],
767
755
  wrapped_decimals: [2, 18],
768
- reward_tokens: ["0xc011a73ee8576fb46f5e1c5751ca3b9fe0af2a6f"],
769
- reward_decimals: [18],
770
756
  swap_abi: swap_json_23.default,
771
757
  gauge_abi: gauge_v2_json_1.default,
772
758
  sCurveRewards_abi: sCurveRewards_json_10.default,
@@ -825,8 +811,6 @@ exports.POOLS_DATA_ETHEREUM = (0, utils_1.lowerCasePoolDataAddresses)({
825
811
  underlying_decimals: [18, 6, 6],
826
812
  wrapped_decimals: [18, 6, 6],
827
813
  use_lending: [true, true, true],
828
- reward_tokens: ["0x4da27a545c0c5b758a6ba100e3a049001de870f5"],
829
- reward_decimals: [18],
830
814
  swap_abi: swap_json_25.default,
831
815
  gauge_abi: gauge_v2_json_1.default,
832
816
  sCurveRewards_abi: rewards_json_1.default,
@@ -853,8 +837,6 @@ exports.POOLS_DATA_ETHEREUM = (0, utils_1.lowerCasePoolDataAddresses)({
853
837
  ],
854
838
  underlying_decimals: [18, 18],
855
839
  wrapped_decimals: [18, 18],
856
- reward_tokens: ["0x5a98fcbea516cf06857215779fd812ca3bef1b32"],
857
- reward_decimals: [18],
858
840
  swap_abi: swap_json_26.default,
859
841
  gauge_abi: gauge_v2_json_1.default,
860
842
  sCurveRewards_abi: sCurveRewards_json_11.default,
@@ -882,8 +864,6 @@ exports.POOLS_DATA_ETHEREUM = (0, utils_1.lowerCasePoolDataAddresses)({
882
864
  underlying_decimals: [18, 18],
883
865
  wrapped_decimals: [18, 18],
884
866
  use_lending: [true, true],
885
- reward_tokens: ["0x4da27a545c0c5b758a6ba100e3a049001de870f5"],
886
- reward_decimals: [18],
887
867
  swap_abi: swap_json_27.default,
888
868
  gauge_abi: gauge_v2_json_1.default,
889
869
  sCurveRewards_abi: rewards_json_1.default,
@@ -910,8 +890,6 @@ exports.POOLS_DATA_ETHEREUM = (0, utils_1.lowerCasePoolDataAddresses)({
910
890
  ],
911
891
  underlying_decimals: [18, 18],
912
892
  wrapped_decimals: [18, 18],
913
- reward_tokens: ["0xe0ad1806fd3e7edf6ff52fdb822432e847411033", "0x8290333cef9e6d528dd5618fb97a76f268f3edd4"],
914
- reward_decimals: [18, 18],
915
893
  swap_abi: swap_json_28.default,
916
894
  gauge_abi: gauge_v2_json_1.default,
917
895
  sCurveRewards_abi: sCurveRewards_json_12.default,
@@ -1051,8 +1029,6 @@ exports.POOLS_DATA_ETHEREUM = (0, utils_1.lowerCasePoolDataAddresses)({
1051
1029
  ],
1052
1030
  underlying_decimals: [18, 18, 6, 6],
1053
1031
  wrapped_decimals: [18, 18],
1054
- reward_tokens: ['0x3432b6a60d23ca0dfca7761b7ab56459d9c964d0'],
1055
- reward_decimals: [18],
1056
1032
  swap_abi: swap_json_33.default,
1057
1033
  deposit_abi: deposit_json_20.default,
1058
1034
  gauge_abi: gauge_v2_json_1.default,
@@ -1084,8 +1060,6 @@ exports.POOLS_DATA_ETHEREUM = (0, utils_1.lowerCasePoolDataAddresses)({
1084
1060
  ],
1085
1061
  underlying_decimals: [18, 18, 6, 6],
1086
1062
  wrapped_decimals: [18, 18],
1087
- reward_tokens: ['0x6dea81c8171d0ba574754ef6f8b412f2ed88c54d'],
1088
- reward_decimals: [18],
1089
1063
  swap_abi: swap_json_33.default,
1090
1064
  gauge_abi: gauge_v2_json_1.default,
1091
1065
  deposit_abi: deposit_json_20.default,
@@ -1142,8 +1116,6 @@ exports.POOLS_DATA_ETHEREUM = (0, utils_1.lowerCasePoolDataAddresses)({
1142
1116
  ],
1143
1117
  underlying_decimals: [18, 18],
1144
1118
  wrapped_decimals: [18, 18],
1145
- reward_tokens: ['0xef3a930e1ffffacd2fc13434ac81bd278b0ecc8d'],
1146
- reward_decimals: [18],
1147
1119
  swap_abi: swap_json_32.default,
1148
1120
  gauge_abi: gauge_v3_json_1.default,
1149
1121
  sCurveRewards_abi: rewards_json_2.default,
@@ -1174,8 +1146,6 @@ exports.POOLS_DATA_ETHEREUM = (0, utils_1.lowerCasePoolDataAddresses)({
1174
1146
  ],
1175
1147
  underlying_decimals: [18, 18, 6, 6],
1176
1148
  wrapped_decimals: [18, 18],
1177
- reward_tokens: ['0xdbdb4d16eda451d0503b854cf79d55697f90c8df'],
1178
- reward_decimals: [18],
1179
1149
  swap_abi: swap_json_33.default,
1180
1150
  gauge_abi: gauge_v3_json_1.default,
1181
1151
  deposit_abi: deposit_json_20.default,
@@ -1190,7 +1160,6 @@ exports.POOLS_DATA_ETHEREUM = (0, utils_1.lowerCasePoolDataAddresses)({
1190
1160
  token_address: '0x5a6A4D54456819380173272A5E8E9B9904BdF41B',
1191
1161
  gauge_address: '0xd8b712d29381748dB89c36BCa0138d7c75866ddF',
1192
1162
  deposit_address: '0xA79828DF1850E8a3A3064576f380D90aECDD3359',
1193
- sCurveRewards_address: '0xb76256d1091e93976c61449d6e500d9f46d827d4',
1194
1163
  is_meta: true,
1195
1164
  base_pool: '3pool',
1196
1165
  underlying_coins: ['MIM', 'DAI', 'USDC', 'USDT'],
@@ -1207,8 +1176,6 @@ exports.POOLS_DATA_ETHEREUM = (0, utils_1.lowerCasePoolDataAddresses)({
1207
1176
  ],
1208
1177
  underlying_decimals: [18, 18, 6, 6],
1209
1178
  wrapped_decimals: [18, 18],
1210
- reward_tokens: ['0x090185f2135308BaD17527004364eBcC2D37e5F6'],
1211
- reward_decimals: [18],
1212
1179
  swap_abi: swap_json_33.default,
1213
1180
  gauge_abi: gauge_factory_json_1.default,
1214
1181
  deposit_abi: deposit_json_20.default,
@@ -1,3 +1,4 @@
1
1
  import { POOLS_DATA_ETHEREUM } from "./ethereum";
2
2
  import { POOLS_DATA_POLYGON } from "./polygon";
3
- export { POOLS_DATA_ETHEREUM, POOLS_DATA_POLYGON, };
3
+ import { POOLS_DATA_AVALANCHE } from "./avalanche";
4
+ export { POOLS_DATA_ETHEREUM, POOLS_DATA_POLYGON, POOLS_DATA_AVALANCHE, };
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.POOLS_DATA_POLYGON = exports.POOLS_DATA_ETHEREUM = void 0;
3
+ exports.POOLS_DATA_AVALANCHE = exports.POOLS_DATA_POLYGON = exports.POOLS_DATA_ETHEREUM = void 0;
4
4
  var ethereum_1 = require("./ethereum");
5
5
  Object.defineProperty(exports, "POOLS_DATA_ETHEREUM", { enumerable: true, get: function () { return ethereum_1.POOLS_DATA_ETHEREUM; } });
6
6
  var polygon_1 = require("./polygon");
7
7
  Object.defineProperty(exports, "POOLS_DATA_POLYGON", { enumerable: true, get: function () { return polygon_1.POOLS_DATA_POLYGON; } });
8
+ var avalanche_1 = require("./avalanche");
9
+ Object.defineProperty(exports, "POOLS_DATA_AVALANCHE", { enumerable: true, get: function () { return avalanche_1.POOLS_DATA_AVALANCHE; } });
@@ -5,13 +5,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.POOLS_DATA_POLYGON = void 0;
7
7
  var swap_json_1 = __importDefault(require("../abis/aave/swap.json"));
8
- var rewards_json_1 = __importDefault(require("../abis/paave/rewards.json"));
9
8
  var swap_json_2 = __importDefault(require("../abis/ren-polygon/swap.json"));
10
9
  var swap_json_3 = __importDefault(require("../abis/atricrypto3/swap.json"));
11
10
  var zap_json_1 = __importDefault(require("../abis/atricrypto3/zap.json"));
12
11
  var swap_json_4 = __importDefault(require("../abis/eurtusd/swap.json"));
13
12
  var deposit_json_1 = __importDefault(require("../abis/eurtusd/deposit.json"));
14
- var gauge_rewards_only_json_1 = __importDefault(require("../abis/gauge_rewards_only.json"));
13
+ var gauge_child_json_1 = __importDefault(require("../abis/gauge_child.json"));
15
14
  var utils_1 = require("../utils");
16
15
  exports.POOLS_DATA_POLYGON = (0, utils_1.lowerCasePoolDataAddresses)({
17
16
  aave: {
@@ -21,9 +20,10 @@ exports.POOLS_DATA_POLYGON = (0, utils_1.lowerCasePoolDataAddresses)({
21
20
  reference_asset: 'USD',
22
21
  swap_address: '0x445FE580eF8d70FF569aB36e80c647af338db351',
23
22
  token_address: '0xE7a24EF0C5e95Ffb0f6684b813A78F2a3AD7D171',
24
- gauge_address: '0x19793B454D3AfC7b454F206Ffe95aDE26cA6912c',
25
- sCurveRewards_address: '0xBdFF0C27dd073C119ebcb1299a68A6A92aE607F0',
26
- reward_contract: "0xC48f4653dd6a9509De44c92beb0604BEA3AEe714",
23
+ gauge_address: '0x20759F567BB3EcDB55c817c9a1d13076aB215EdC',
24
+ // gauge_address: '0x19793B454D3AfC7b454F206Ffe95aDE26cA6912c',
25
+ // sCurveRewards_address: '0xBdFF0C27dd073C119ebcb1299a68A6A92aE607F0',
26
+ // reward_contract: "0xC48f4653dd6a9509De44c92beb0604BEA3AEe714",
27
27
  is_lending: true,
28
28
  underlying_coins: ['DAI', 'USDC', 'USDT'],
29
29
  wrapped_coins: ['amDAI', 'amUSDC', 'amUSDT'],
@@ -40,11 +40,9 @@ exports.POOLS_DATA_POLYGON = (0, utils_1.lowerCasePoolDataAddresses)({
40
40
  underlying_decimals: [18, 6, 6],
41
41
  wrapped_decimals: [18, 6, 6],
42
42
  use_lending: [true, true, true],
43
- reward_tokens: ["0x172370d5cd63279efa6d502dab29171933a610af"],
44
- reward_decimals: [18],
45
43
  swap_abi: swap_json_1.default,
46
- gauge_abi: gauge_rewards_only_json_1.default,
47
- sCurveRewards_abi: rewards_json_1.default,
44
+ gauge_abi: gauge_child_json_1.default,
45
+ // sCurveRewards_abi: paaveRewardsabi,
48
46
  },
49
47
  ren: {
50
48
  name: "ren",
@@ -53,8 +51,9 @@ exports.POOLS_DATA_POLYGON = (0, utils_1.lowerCasePoolDataAddresses)({
53
51
  reference_asset: 'BTC',
54
52
  swap_address: '0xC2d95EEF97Ec6C17551d45e77B590dc1F9117C67',
55
53
  token_address: '0xf8a57c1d3b9629b77b6726a042ca48990A84Fb49',
56
- gauge_address: '0xffbACcE0CC7C19d46132f1258FC16CF6871D153c',
57
- reward_contract: "0x488E6ef919C2bB9de535C634a80afb0114DA8F62",
54
+ gauge_address: '0x8D9649e50A0d1da8E939f800fB926cdE8f18B47D',
55
+ // gauge_address: '0xffbACcE0CC7C19d46132f1258FC16CF6871D153c',
56
+ // reward_contract: "0x488E6ef919C2bB9de535C634a80afb0114DA8F62",
58
57
  is_lending: true,
59
58
  underlying_coins: ['WBTC', 'renBTC'],
60
59
  wrapped_coins: ['amWBTC', 'renBTC'],
@@ -69,10 +68,8 @@ exports.POOLS_DATA_POLYGON = (0, utils_1.lowerCasePoolDataAddresses)({
69
68
  underlying_decimals: [8, 8],
70
69
  wrapped_decimals: [8, 8],
71
70
  use_lending: [true, false],
72
- reward_tokens: ["0x172370d5cd63279efa6d502dab29171933a610af"],
73
- reward_decimals: [18],
74
71
  swap_abi: swap_json_2.default,
75
- gauge_abi: gauge_rewards_only_json_1.default,
72
+ gauge_abi: gauge_child_json_1.default,
76
73
  },
77
74
  atricrypto3: {
78
75
  name: "atricrypto3",
@@ -81,9 +78,10 @@ exports.POOLS_DATA_POLYGON = (0, utils_1.lowerCasePoolDataAddresses)({
81
78
  reference_asset: 'CRYPTO',
82
79
  swap_address: '0x92215849c439E1f8612b6646060B4E3E5ef822cC',
83
80
  token_address: '0xdAD97F7713Ae9437fa9249920eC8507e5FbB23d3',
84
- gauge_address: '0x3B6B158A76fd8ccc297538F454ce7B4787778c7C',
81
+ gauge_address: '0xBb1B19495B8FE7C402427479B9aC14886cbbaaeE',
85
82
  deposit_address: '0x1d8b86e3D88cDb2d34688e87E72F388Cb541B7C8',
86
- reward_contract: "0x060e386eCfBacf42Aa72171Af9EFe17b3993fC4F",
83
+ // gauge_address: '0x3B6B158A76fd8ccc297538F454ce7B4787778c7C',
84
+ // reward_contract: "0x060e386eCfBacf42Aa72171Af9EFe17b3993fC4F",
87
85
  is_meta: true,
88
86
  is_crypto: true,
89
87
  is_fake: true,
@@ -104,10 +102,8 @@ exports.POOLS_DATA_POLYGON = (0, utils_1.lowerCasePoolDataAddresses)({
104
102
  ],
105
103
  underlying_decimals: [18, 6, 6, 8, 18],
106
104
  wrapped_decimals: [18, 8, 18],
107
- reward_tokens: ["0x172370d5cd63279efa6d502dab29171933a610af"],
108
- reward_decimals: [18],
109
105
  swap_abi: swap_json_3.default,
110
- gauge_abi: gauge_rewards_only_json_1.default,
106
+ gauge_abi: gauge_child_json_1.default,
111
107
  deposit_abi: zap_json_1.default,
112
108
  },
113
109
  eurtusd: {
@@ -117,9 +113,10 @@ exports.POOLS_DATA_POLYGON = (0, utils_1.lowerCasePoolDataAddresses)({
117
113
  reference_asset: 'CRYPTO',
118
114
  swap_address: '0xB446BF7b8D6D4276d0c75eC0e3ee8dD7Fe15783A',
119
115
  token_address: '0x600743B1d8A96438bD46836fD34977a00293f6Aa',
120
- gauge_address: '0x40c0e9376468b4f257d15F8c47E5D0C646C28880',
116
+ gauge_address: '0x8b397084699Cc64E429F610F81Fac13bf061ef55',
121
117
  deposit_address: '0x225FB4176f0E20CDb66b4a3DF70CA3063281E855',
122
- reward_contract: "0xAF78381216a8eCC7Ad5957f3cD12a431500E0B0D",
118
+ // gauge_address: '0x40c0e9376468b4f257d15F8c47E5D0C646C28880',
119
+ // reward_contract: "0xAF78381216a8eCC7Ad5957f3cD12a431500E0B0D",
123
120
  is_meta: true,
124
121
  is_crypto: true,
125
122
  base_pool: 'aave',
@@ -137,10 +134,8 @@ exports.POOLS_DATA_POLYGON = (0, utils_1.lowerCasePoolDataAddresses)({
137
134
  ],
138
135
  underlying_decimals: [6, 18, 6, 6],
139
136
  wrapped_decimals: [6, 18],
140
- reward_tokens: ["0x172370d5cd63279efa6d502dab29171933a610af"],
141
- reward_decimals: [18],
142
137
  swap_abi: swap_json_4.default,
143
- gauge_abi: gauge_rewards_only_json_1.default,
138
+ gauge_abi: gauge_child_json_1.default,
144
139
  deposit_abi: deposit_json_1.default,
145
140
  },
146
141
  });
@@ -18,14 +18,11 @@ var lowerCasePoolDataAddresses = function (poolsData) {
18
18
  poolData.reward_contract = poolData.reward_contract.toLowerCase();
19
19
  poolData.underlying_coin_addresses = poolData.underlying_coin_addresses.map(function (a) { return a.toLowerCase(); });
20
20
  poolData.wrapped_coin_addresses = poolData.wrapped_coin_addresses.map(function (a) { return a.toLowerCase(); });
21
- if (poolData.reward_tokens)
22
- poolData.reward_tokens = poolData.reward_tokens.map(function (a) { return a.toLowerCase(); });
23
21
  }
24
22
  return poolsData;
25
23
  };
26
24
  exports.lowerCasePoolDataAddresses = lowerCasePoolDataAddresses;
27
25
  var extractDecimals = function (poolsData) {
28
- var _a, _b;
29
26
  var DECIMALS = {};
30
27
  for (var poolId in poolsData) {
31
28
  if (!Object.prototype.hasOwnProperty.call(poolsData, poolId))
@@ -41,12 +38,6 @@ var extractDecimals = function (poolsData) {
41
38
  for (var i = 0; i < poolData.wrapped_coin_addresses.length; i++) {
42
39
  DECIMALS[poolData.wrapped_coin_addresses[i]] = poolData.wrapped_decimals[i];
43
40
  }
44
- // Wrapped coins
45
- var rewardTokens = (_a = poolData.reward_tokens) !== null && _a !== void 0 ? _a : [];
46
- var rewardDecimals = (_b = poolData.reward_decimals) !== null && _b !== void 0 ? _b : [];
47
- for (var i = 0; i < rewardTokens.length; i++) {
48
- DECIMALS[rewardTokens[i]] = rewardDecimals[i];
49
- }
50
41
  }
51
42
  return DECIMALS;
52
43
  };
package/lib/curve.d.ts CHANGED
@@ -1,7 +1,10 @@
1
1
  import { ethers, Contract } from "ethers";
2
2
  import { Networkish } from "@ethersproject/networks";
3
3
  import { Provider as MulticallProvider, Contract as MulticallContract } from 'ethcall';
4
- import { IPoolData, IDict, ICurve } from "./interfaces";
4
+ import { IPoolData, IDict, ICurve, INetworkName } from "./interfaces";
5
+ export declare const NETWORK_CONSTANTS: {
6
+ [index: number]: any;
7
+ };
5
8
  declare class Curve implements ICurve {
6
9
  provider: ethers.providers.Web3Provider | ethers.providers.JsonRpcProvider;
7
10
  multicallProvider: MulticallProvider;
@@ -28,6 +31,7 @@ declare class Curve implements ICurve {
28
31
  maxPriorityFeePerGas?: number | ethers.BigNumber;
29
32
  };
30
33
  constants: {
34
+ NETWORK_NAME: INetworkName;
31
35
  ALIASES: IDict<string>;
32
36
  POOLS_DATA: IDict<IPoolData>;
33
37
  FACTORY_POOLS_DATA: IDict<IPoolData>;
package/lib/curve.js CHANGED
@@ -59,7 +59,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
59
59
  return (mod && mod.__esModule) ? mod : { "default": mod };
60
60
  };
61
61
  Object.defineProperty(exports, "__esModule", { value: true });
62
- exports.curve = void 0;
62
+ exports.curve = exports.NETWORK_CONSTANTS = void 0;
63
63
  var ethers_1 = require("ethers");
64
64
  var ethcall_1 = require("ethcall");
65
65
  var factory_1 = require("./factory/factory");
@@ -69,6 +69,7 @@ var ERC20_json_1 = __importDefault(require("./constants/abis/ERC20.json"));
69
69
  var cERC20_json_1 = __importDefault(require("./constants/abis/cERC20.json"));
70
70
  var yERC20_json_1 = __importDefault(require("./constants/abis/yERC20.json"));
71
71
  var minter_json_1 = __importDefault(require("./constants/abis/minter.json"));
72
+ var minter_child_json_1 = __importDefault(require("./constants/abis/minter_child.json"));
72
73
  var votingescrow_json_1 = __importDefault(require("./constants/abis/votingescrow.json"));
73
74
  var address_provider_json_1 = __importDefault(require("./constants/abis/address_provider.json"));
74
75
  var gaugecontroller_json_1 = __importDefault(require("./constants/abis/gaugecontroller.json"));
@@ -81,10 +82,12 @@ var factory_crypto_json_1 = __importDefault(require("./constants/abis/factory-cr
81
82
  var pools_1 = require("./constants/pools");
82
83
  var ethereum_1 = require("./constants/coins/ethereum");
83
84
  var polygon_1 = require("./constants/coins/polygon");
85
+ var avalanche_1 = require("./constants/coins/avalanche");
84
86
  var aliases_1 = require("./constants/aliases");
85
87
  var utils_1 = require("./constants/utils");
86
- var CONSTANTS = {
88
+ exports.NETWORK_CONSTANTS = {
87
89
  1: {
90
+ NAME: 'ethereum',
88
91
  ALIASES: aliases_1.ALIASES_ETHEREUM,
89
92
  POOLS_DATA: pools_1.POOLS_DATA_ETHEREUM,
90
93
  COINS: ethereum_1.COINS_ETHEREUM,
@@ -94,6 +97,7 @@ var CONSTANTS = {
94
97
  aTokens: ethereum_1.aTokensEthereum,
95
98
  },
96
99
  137: {
100
+ NAME: 'polygon',
97
101
  ALIASES: aliases_1.ALIASES_POLYGON,
98
102
  POOLS_DATA: pools_1.POOLS_DATA_POLYGON,
99
103
  COINS: polygon_1.COINS_POLYGON,
@@ -102,6 +106,16 @@ var CONSTANTS = {
102
106
  ycTokens: polygon_1.ycTokensPolygon,
103
107
  aTokens: polygon_1.aTokensPolygon,
104
108
  },
109
+ 43114: {
110
+ NAME: 'avalanche',
111
+ ALIASES: aliases_1.ALIASES_AVALANCHE,
112
+ POOLS_DATA: pools_1.POOLS_DATA_AVALANCHE,
113
+ COINS: avalanche_1.COINS_AVALANCHE,
114
+ cTokens: avalanche_1.cTokensAvalanche,
115
+ yTokens: avalanche_1.yTokensAvalanche,
116
+ ycTokens: avalanche_1.ycTokensAvalanche,
117
+ aTokens: avalanche_1.aTokensAvalanche,
118
+ },
105
119
  };
106
120
  var Curve = /** @class */ (function () {
107
121
  function Curve() {
@@ -118,6 +132,7 @@ var Curve = /** @class */ (function () {
118
132
  this.constantOptions = { gasLimit: 12000000 };
119
133
  this.options = {};
120
134
  this.constants = {
135
+ NETWORK_NAME: 'ethereum',
121
136
  ALIASES: {},
122
137
  POOLS_DATA: {},
123
138
  FACTORY_POOLS_DATA: {},
@@ -131,9 +146,9 @@ var Curve = /** @class */ (function () {
131
146
  ) {
132
147
  if (options === void 0) { options = {}; }
133
148
  return __awaiter(this, void 0, void 0, function () {
134
- var network, _a, _b, cTokens, yTokens, ycTokens, aTokens, customAbiTokens, _c, _i, _d, pool, _e, _f, coinAddr, _g, _h, coinAddr, _j, _k, coinAddr, _l, _m, rewardTokenAddr, addressProviderContract, _o;
135
- return __generator(this, function (_p) {
136
- switch (_p.label) {
149
+ var network, _a, _b, cTokens, yTokens, ycTokens, aTokens, customAbiTokens, _c, _i, _d, pool, _e, _f, coinAddr, _g, _h, coinAddr, _j, _k, coinAddr, _minterABI, addressProviderContract, _l;
150
+ return __generator(this, function (_m) {
151
+ switch (_m.label) {
137
152
  case 0:
138
153
  // @ts-ignore
139
154
  this.provider = null;
@@ -148,6 +163,7 @@ var Curve = /** @class */ (function () {
148
163
  this.constantOptions = { gasLimit: 12000000 };
149
164
  this.options = {};
150
165
  this.constants = {
166
+ NETWORK_NAME: 'ethereum',
151
167
  ALIASES: {},
152
168
  POOLS_DATA: {},
153
169
  FACTORY_POOLS_DATA: {},
@@ -197,42 +213,43 @@ var Curve = /** @class */ (function () {
197
213
  if (_a) return [3 /*break*/, 2];
198
214
  return [4 /*yield*/, this.provider._networkPromise];
199
215
  case 1:
200
- _a = (_p.sent());
201
- _p.label = 2;
216
+ _a = (_m.sent());
217
+ _m.label = 2;
202
218
  case 2:
203
219
  network = _a;
204
220
  console.log("CURVE-JS IS CONNECTED TO NETWORK:", network);
205
221
  this.chainId = network.chainId === 1337 ? 1 : network.chainId;
206
- this.constants.ALIASES = CONSTANTS[this.chainId].ALIASES;
207
- this.constants.POOLS_DATA = CONSTANTS[this.chainId].POOLS_DATA;
208
- this.constants.COINS = CONSTANTS[this.chainId].COINS;
222
+ this.constants.NETWORK_NAME = exports.NETWORK_CONSTANTS[this.chainId].NAME;
223
+ this.constants.ALIASES = exports.NETWORK_CONSTANTS[this.chainId].ALIASES;
224
+ this.constants.POOLS_DATA = exports.NETWORK_CONSTANTS[this.chainId].POOLS_DATA;
225
+ this.constants.COINS = exports.NETWORK_CONSTANTS[this.chainId].COINS;
209
226
  this.constants.DECIMALS = (0, utils_1.extractDecimals)(this.constants.POOLS_DATA);
210
227
  this.constants.GAUGES = (0, utils_1.extractGauges)(this.constants.POOLS_DATA);
211
228
  _b = [
212
- CONSTANTS[this.chainId].cTokens,
213
- CONSTANTS[this.chainId].yTokens,
214
- CONSTANTS[this.chainId].ycTokens,
215
- CONSTANTS[this.chainId].aTokens,
229
+ exports.NETWORK_CONSTANTS[this.chainId].cTokens,
230
+ exports.NETWORK_CONSTANTS[this.chainId].yTokens,
231
+ exports.NETWORK_CONSTANTS[this.chainId].ycTokens,
232
+ exports.NETWORK_CONSTANTS[this.chainId].aTokens,
216
233
  ], cTokens = _b[0], yTokens = _b[1], ycTokens = _b[2], aTokens = _b[3];
217
234
  customAbiTokens = __spreadArray(__spreadArray(__spreadArray(__spreadArray([], cTokens, true), yTokens, true), ycTokens, true), aTokens, true);
218
235
  this.multicallProvider = new ethcall_1.Provider();
219
236
  return [4 /*yield*/, this.multicallProvider.init(this.provider)];
220
237
  case 3:
221
- _p.sent();
238
+ _m.sent();
222
239
  if (!this.signer) return [3 /*break*/, 5];
223
240
  _c = this;
224
241
  return [4 /*yield*/, this.signer.getAddress()];
225
242
  case 4:
226
- _c.signerAddress = _p.sent();
243
+ _c.signerAddress = _m.sent();
227
244
  return [3 /*break*/, 6];
228
245
  case 5:
229
246
  this.signerAddress = '';
230
- _p.label = 6;
247
+ _m.label = 6;
231
248
  case 6:
232
249
  this.feeData = { gasPrice: options.gasPrice, maxFeePerGas: options.maxFeePerGas, maxPriorityFeePerGas: options.maxPriorityFeePerGas };
233
250
  return [4 /*yield*/, this.updateFeeData()];
234
251
  case 7:
235
- _p.sent();
252
+ _m.sent();
236
253
  for (_i = 0, _d = Object.values(this.constants.POOLS_DATA); _i < _d.length; _i++) {
237
254
  pool = _d[_i];
238
255
  this.contracts[pool.swap_address] = {
@@ -299,11 +316,10 @@ var Curve = /** @class */ (function () {
299
316
  multicallContract: new ethcall_1.Contract(pool.reward_contract, streamer_json_1.default),
300
317
  };
301
318
  }
302
- for (_l = 0, _m = pool.reward_tokens || []; _l < _m.length; _l++) {
303
- rewardTokenAddr = _m[_l];
304
- this.contracts[rewardTokenAddr] = {
305
- contract: new ethers_1.Contract(rewardTokenAddr, ERC20_json_1.default, this.signer || this.provider),
306
- multicallContract: new ethcall_1.Contract(rewardTokenAddr, ERC20_json_1.default),
319
+ if (pool.sCurveRewards_address) {
320
+ this.contracts[pool.sCurveRewards_address] = {
321
+ contract: new ethers_1.Contract(pool.sCurveRewards_address, pool.sCurveRewards_abi, this.signer || this.provider),
322
+ multicallContract: new ethcall_1.Contract(pool.sCurveRewards_address, pool.sCurveRewards_abi),
307
323
  };
308
324
  }
309
325
  }
@@ -315,13 +331,15 @@ var Curve = /** @class */ (function () {
315
331
  contract: new ethers_1.Contract(this.constants.ALIASES.crv, ERC20_json_1.default, this.signer || this.provider),
316
332
  multicallContract: new ethcall_1.Contract(this.constants.ALIASES.crv, ERC20_json_1.default),
317
333
  };
334
+ this.constants.DECIMALS[this.constants.ALIASES.crv] = 18;
335
+ _minterABI = this.chainId === 1 ? minter_json_1.default : minter_child_json_1.default;
318
336
  this.contracts[this.constants.ALIASES.minter] = {
319
- contract: new ethers_1.Contract(this.constants.ALIASES.minter, minter_json_1.default, this.signer || this.provider),
320
- multicallContract: new ethcall_1.Contract(this.constants.ALIASES.minter, minter_json_1.default),
337
+ contract: new ethers_1.Contract(this.constants.ALIASES.minter, _minterABI, this.signer || this.provider),
338
+ multicallContract: new ethcall_1.Contract(this.constants.ALIASES.minter, _minterABI),
321
339
  };
322
340
  this.contracts[this.constants.ALIASES.minter.toLowerCase()] = {
323
- contract: new ethers_1.Contract(this.constants.ALIASES.minter, minter_json_1.default, this.signer || this.provider),
324
- multicallContract: new ethcall_1.Contract(this.constants.ALIASES.minter, minter_json_1.default),
341
+ contract: new ethers_1.Contract(this.constants.ALIASES.minter, _minterABI, this.signer || this.provider),
342
+ multicallContract: new ethcall_1.Contract(this.constants.ALIASES.minter, _minterABI),
325
343
  };
326
344
  this.contracts[this.constants.ALIASES.voting_escrow] = {
327
345
  contract: new ethers_1.Contract(this.constants.ALIASES.voting_escrow, votingescrow_json_1.default, this.signer || this.provider),
@@ -340,10 +358,10 @@ var Curve = /** @class */ (function () {
340
358
  multicallContract: new ethcall_1.Contract(this.constants.ALIASES.address_provider, address_provider_json_1.default),
341
359
  };
342
360
  addressProviderContract = this.contracts[this.constants.ALIASES.address_provider].contract;
343
- _o = this.constants.ALIASES;
361
+ _l = this.constants.ALIASES;
344
362
  return [4 /*yield*/, addressProviderContract.get_address(2, this.constantOptions)];
345
363
  case 8:
346
- _o.registry_exchange = _p.sent();
364
+ _l.registry_exchange = _m.sent();
347
365
  this.contracts[this.constants.ALIASES.registry_exchange] = {
348
366
  contract: new ethers_1.Contract(this.constants.ALIASES.registry_exchange, registry_exchange_json_1.default, this.signer || this.provider),
349
367
  multicallContract: new ethcall_1.Contract(this.constants.ALIASES.registry_exchange, registry_exchange_json_1.default),
@@ -1,5 +1,5 @@
1
- import { IExtendedPoolDataFromApi, ISubgraphPoolData, IReward, IDict } from "./interfaces";
1
+ import { IExtendedPoolDataFromApi, ISubgraphPoolData, IReward, IDict, INetworkName } from "./interfaces";
2
2
  import memoize from "memoizee";
3
- export declare const _getPoolsFromApi: ((network: "ethereum" | "polygon", poolType: "main" | "crypto" | "factory" | "factory-crypto") => Promise<IExtendedPoolDataFromApi>) & memoize.Memoized<(network: "ethereum" | "polygon", poolType: "main" | "crypto" | "factory" | "factory-crypto") => Promise<IExtendedPoolDataFromApi>>;
4
- export declare const _getSubgraphData: ((network: "ethereum" | "polygon") => Promise<ISubgraphPoolData[]>) & memoize.Memoized<(network: "ethereum" | "polygon") => Promise<ISubgraphPoolData[]>>;
3
+ export declare const _getPoolsFromApi: ((network: INetworkName, poolType: "main" | "crypto" | "factory" | "factory-crypto") => Promise<IExtendedPoolDataFromApi>) & memoize.Memoized<(network: INetworkName, poolType: "main" | "crypto" | "factory" | "factory-crypto") => Promise<IExtendedPoolDataFromApi>>;
4
+ export declare const _getSubgraphData: ((network: INetworkName) => Promise<ISubgraphPoolData[]>) & memoize.Memoized<(network: INetworkName) => Promise<ISubgraphPoolData[]>>;
5
5
  export declare const _getMainPoolsGaugeRewards: (() => Promise<IDict<IReward[]>>) & memoize.Memoized<() => Promise<IDict<IReward[]>>>;
@@ -0,0 +1,2 @@
1
+ import { ICurve } from "../interfaces";
2
+ export declare function setFactoryZapContracts(this: ICurve): void;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.setFactoryZapContracts = void 0;
7
+ var ethers_1 = require("ethers");
8
+ var ethcall_1 = require("ethcall");
9
+ var deposit_json_1 = __importDefault(require("../constants/abis/factoryPools/deposit.json"));
10
+ var DepositZapMetaUsdPolygon_json_1 = __importDefault(require("../constants/abis/factory-v2/DepositZapMetaUsdPolygon.json"));
11
+ var DepositZapMetaBtcPolygon_json_1 = __importDefault(require("../constants/abis/factory-v2/DepositZapMetaBtcPolygon.json"));
12
+ function setFactoryZapContracts() {
13
+ if (this.chainId === 1) {
14
+ var metaSBtcZapAddress = "0x7abdbaf29929e7f8621b757d2a7c04d78d633834".toLowerCase();
15
+ this.contracts[metaSBtcZapAddress] = {
16
+ contract: new ethers_1.Contract(metaSBtcZapAddress, deposit_json_1.default, this.signer || this.provider),
17
+ multicallContract: new ethcall_1.Contract(metaSBtcZapAddress, deposit_json_1.default),
18
+ };
19
+ }
20
+ else if (this.chainId === 137) {
21
+ var metaUsdZapAddress = "0x5ab5C56B9db92Ba45a0B46a207286cD83C15C939".toLowerCase();
22
+ this.contracts[metaUsdZapAddress] = {
23
+ contract: new ethers_1.Contract(metaUsdZapAddress, DepositZapMetaUsdPolygon_json_1.default, this.signer || this.provider),
24
+ multicallContract: new ethcall_1.Contract(metaUsdZapAddress, DepositZapMetaUsdPolygon_json_1.default),
25
+ };
26
+ var metaBtcZapAddress = "0xE2e6DC1708337A6e59f227921db08F21e3394723".toLowerCase();
27
+ this.contracts[metaBtcZapAddress] = {
28
+ contract: new ethers_1.Contract(metaBtcZapAddress, DepositZapMetaBtcPolygon_json_1.default, this.signer || this.provider),
29
+ multicallContract: new ethcall_1.Contract(metaBtcZapAddress, DepositZapMetaBtcPolygon_json_1.default),
30
+ };
31
+ }
32
+ else if (this.chainId === 43114) {
33
+ var metaUsdZapAddress = "0x001E3BA199B4FF4B5B6e97aCD96daFC0E2e4156e".toLowerCase();
34
+ this.contracts[metaUsdZapAddress] = {
35
+ contract: new ethers_1.Contract(metaUsdZapAddress, DepositZapMetaUsdPolygon_json_1.default, this.signer || this.provider),
36
+ multicallContract: new ethcall_1.Contract(metaUsdZapAddress, DepositZapMetaUsdPolygon_json_1.default),
37
+ };
38
+ var metaBtcZapAddress = "0xEeB3DDBcc4174e0b3fd1C13aD462b95D11Ef42C3".toLowerCase();
39
+ this.contracts[metaBtcZapAddress] = {
40
+ contract: new ethers_1.Contract(metaBtcZapAddress, DepositZapMetaBtcPolygon_json_1.default, this.signer || this.provider),
41
+ multicallContract: new ethcall_1.Contract(metaBtcZapAddress, DepositZapMetaBtcPolygon_json_1.default),
42
+ };
43
+ }
44
+ }
45
+ exports.setFactoryZapContracts = setFactoryZapContracts;
@@ -1,18 +1,18 @@
1
1
  import { IDict } from "../interfaces";
2
2
  export declare const implementationABIDictEthereum: IDict<any>;
3
3
  export declare const implementationABIDictPolygon: IDict<any>;
4
+ export declare const implementationABIDictAvalanche: IDict<any>;
4
5
  export declare const implementationBasePoolAddressDictEthereum: IDict<any>;
5
6
  export declare const implementationBasePoolAddressDictPolygon: IDict<any>;
6
- export declare const basePoolAddressNameDictEthereum: IDict<string>;
7
- export declare const basePoolAddressNameDictPolygon: IDict<string>;
8
- export declare const basePoolAddressCoinsDictEthereum: IDict<string[]>;
9
- export declare const basePoolAddressCoinsDictPolygon: IDict<string[]>;
10
- export declare const basePoolAddressCoinAddressesDictEthereum: IDict<string[]>;
11
- export declare const basePoolAddressCoinAddressesDictPolygon: IDict<string[]>;
12
- export declare const basePoolAddressDecimalsDictEthereum: IDict<number[]>;
13
- export declare const basePoolAddressDecimalsDictPolygon: IDict<number[]>;
14
- export declare const basePoolAddressZapDictEthereum: IDict<string>;
15
- export declare const basePoolAddressZapDictPolygon: IDict<string>;
16
- export declare const blackListPolygon: string[];
7
+ export declare const implementationBasePoolAddressDictAvalanche: IDict<any>;
8
+ export declare const basePoolAddressIdDictEthereum: IDict<string>;
9
+ export declare const basePoolAddressIdDictPolygon: IDict<string>;
10
+ export declare const basePoolAddressIdDictAvalanche: IDict<string>;
11
+ export declare const basePoolIdZapDictEthereum: IDict<string>;
12
+ export declare const basePoolIdZapDictPolygon: IDict<string>;
13
+ export declare const basePoolIdZapDictAvalanche: IDict<string>;
17
14
  export declare const WETH_ADDRESS = "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2";
18
15
  export declare const ETH_ADDRESS = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
16
+ export declare const FACTORY_CONSTANTS: {
17
+ [index: number]: any;
18
+ };