@curvefi/api 2.30.1 → 2.31.1

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 (100) hide show
  1. package/lib/boosting.js +137 -402
  2. package/lib/constants/abis/avaxcrypto/swap.json +1195 -0
  3. package/lib/constants/abis/avaxcrypto/zap.json +250 -0
  4. package/lib/constants/aliases.d.ts +11 -11
  5. package/lib/constants/aliases.js +12 -15
  6. package/lib/constants/coins/arbitrum.js +6 -9
  7. package/lib/constants/coins/aurora.js +6 -9
  8. package/lib/constants/coins/avalanche.js +12 -10
  9. package/lib/constants/coins/celo.js +6 -9
  10. package/lib/constants/coins/ethereum.js +10 -13
  11. package/lib/constants/coins/fantom.js +8 -11
  12. package/lib/constants/coins/kava.js +6 -9
  13. package/lib/constants/coins/moonbeam.js +6 -9
  14. package/lib/constants/coins/optimism.js +6 -9
  15. package/lib/constants/coins/polygon.js +7 -10
  16. package/lib/constants/coins/xdai.js +6 -9
  17. package/lib/constants/pools/arbitrum.d.ts +2 -4
  18. package/lib/constants/pools/arbitrum.js +22 -28
  19. package/lib/constants/pools/aurora.d.ts +2 -4
  20. package/lib/constants/pools/aurora.js +6 -12
  21. package/lib/constants/pools/avalanche.d.ts +2 -4
  22. package/lib/constants/pools/avalanche.js +51 -22
  23. package/lib/constants/pools/celo.d.ts +2 -4
  24. package/lib/constants/pools/celo.js +2 -5
  25. package/lib/constants/pools/ethereum.js +247 -253
  26. package/lib/constants/pools/fantom.d.ts +2 -4
  27. package/lib/constants/pools/fantom.js +28 -34
  28. package/lib/constants/pools/index.d.ts +11 -11
  29. package/lib/constants/pools/index.js +12 -25
  30. package/lib/constants/pools/kava.d.ts +2 -4
  31. package/lib/constants/pools/kava.js +2 -5
  32. package/lib/constants/pools/moonbeam.d.ts +2 -4
  33. package/lib/constants/pools/moonbeam.js +6 -12
  34. package/lib/constants/pools/optimism.d.ts +2 -4
  35. package/lib/constants/pools/optimism.js +9 -15
  36. package/lib/constants/pools/polygon.d.ts +2 -4
  37. package/lib/constants/pools/polygon.js +23 -28
  38. package/lib/constants/pools/xdai.d.ts +2 -4
  39. package/lib/constants/pools/xdai.js +25 -30
  40. package/lib/constants/utils.js +20 -29
  41. package/lib/curve.d.ts +9 -7
  42. package/lib/curve.js +397 -615
  43. package/lib/external-api.d.ts +1 -1
  44. package/lib/external-api.js +47 -140
  45. package/lib/factory/common.js +6 -10
  46. package/lib/factory/constants-crypto.js +48 -54
  47. package/lib/factory/constants.js +274 -280
  48. package/lib/factory/deploy.d.ts +8 -8
  49. package/lib/factory/deploy.js +177 -347
  50. package/lib/factory/factory-api.js +195 -278
  51. package/lib/factory/factory-crypto.js +170 -323
  52. package/lib/factory/factory.js +195 -350
  53. package/lib/index.d.ts +24 -25
  54. package/lib/index.js +87 -143
  55. package/lib/interfaces.d.ts +6 -5
  56. package/lib/interfaces.js +1 -2
  57. package/lib/pools/PoolTemplate.d.ts +1 -0
  58. package/lib/pools/PoolTemplate.js +1516 -2928
  59. package/lib/pools/index.d.ts +2 -2
  60. package/lib/pools/index.js +3 -7
  61. package/lib/pools/mixins/common.d.ts +3 -4
  62. package/lib/pools/mixins/common.js +23 -102
  63. package/lib/pools/mixins/depositBalancedAmountsMixins.d.ts +1 -1
  64. package/lib/pools/mixins/depositBalancedAmountsMixins.js +50 -139
  65. package/lib/pools/mixins/depositMixins.d.ts +1 -1
  66. package/lib/pools/mixins/depositMixins.js +145 -405
  67. package/lib/pools/mixins/depositWrappedMixins.d.ts +1 -1
  68. package/lib/pools/mixins/depositWrappedMixins.js +72 -227
  69. package/lib/pools/mixins/poolBalancesMixin.d.ts +1 -2
  70. package/lib/pools/mixins/poolBalancesMixin.js +25 -131
  71. package/lib/pools/mixins/swapMixins.d.ts +1 -1
  72. package/lib/pools/mixins/swapMixins.js +127 -353
  73. package/lib/pools/mixins/swapWrappedMixins.d.ts +1 -1
  74. package/lib/pools/mixins/swapWrappedMixins.js +90 -276
  75. package/lib/pools/mixins/withdrawExpectedMixins.d.ts +1 -2
  76. package/lib/pools/mixins/withdrawExpectedMixins.js +26 -154
  77. package/lib/pools/mixins/withdrawImbalanceMixins.d.ts +1 -1
  78. package/lib/pools/mixins/withdrawImbalanceMixins.js +99 -321
  79. package/lib/pools/mixins/withdrawImbalanceWrappedMixins.d.ts +1 -1
  80. package/lib/pools/mixins/withdrawImbalanceWrappedMixins.js +53 -192
  81. package/lib/pools/mixins/withdrawMixins.d.ts +1 -1
  82. package/lib/pools/mixins/withdrawMixins.js +124 -378
  83. package/lib/pools/mixins/withdrawOneCoinExpectedMixins.d.ts +1 -1
  84. package/lib/pools/mixins/withdrawOneCoinExpectedMixins.js +17 -92
  85. package/lib/pools/mixins/withdrawOneCoinMixins.d.ts +1 -1
  86. package/lib/pools/mixins/withdrawOneCoinMixins.js +125 -378
  87. package/lib/pools/mixins/withdrawOneCoinWrappedExpectedMixins.d.ts +1 -1
  88. package/lib/pools/mixins/withdrawOneCoinWrappedExpectedMixins.js +9 -66
  89. package/lib/pools/mixins/withdrawOneCoinWrappedMixins.d.ts +1 -1
  90. package/lib/pools/mixins/withdrawOneCoinWrappedMixins.js +55 -190
  91. package/lib/pools/mixins/withdrawWrappedMixins.d.ts +1 -1
  92. package/lib/pools/mixins/withdrawWrappedMixins.js +52 -191
  93. package/lib/pools/poolConstructor.d.ts +1 -1
  94. package/lib/pools/poolConstructor.js +79 -109
  95. package/lib/pools/utils.js +298 -500
  96. package/lib/router.d.ts +2 -2
  97. package/lib/router.js +406 -650
  98. package/lib/utils.d.ts +9 -9
  99. package/lib/utils.js +377 -731
  100. package/package.json +8 -8
@@ -1,4 +1,2 @@
1
- import { IPoolData } from "../../interfaces";
2
- export declare const POOLS_DATA_FANTOM: {
3
- [index: string]: IPoolData;
4
- };
1
+ import { IDict, IPoolData } from "../../interfaces";
2
+ export declare const POOLS_DATA_FANTOM: IDict<IPoolData>;
@@ -1,22 +1,16 @@
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.POOLS_DATA_FANTOM = void 0;
7
- var utils_1 = require("../utils");
8
- var swap_json_1 = __importDefault(require("../abis/2pool/swap.json"));
9
- var swap_json_2 = __importDefault(require("../abis/fusdt/swap.json"));
10
- var zap_json_1 = __importDefault(require("../abis/fusdt/zap.json"));
11
- var swap_json_3 = __importDefault(require("../abis/ren-fantom/swap.json"));
12
- var swapNoZap_json_1 = __importDefault(require("../abis/tricrypto/swapNoZap.json"));
13
- var swap_json_4 = __importDefault(require("../abis/ib/swap.json"));
14
- var swap_json_5 = __importDefault(require("../abis/aave/swap.json"));
15
- // import paaveRewardsabi from '../abis/paave/rewards.json';
16
- var gauge_child_json_1 = __importDefault(require("../abis/gauge_child.json"));
17
- var gauge_rewards_only_json_1 = __importDefault(require("../abis/gauge_rewards_only.json"));
18
- var streamer_json_1 = __importDefault(require("../abis/streamer.json"));
19
- exports.POOLS_DATA_FANTOM = (0, utils_1.lowerCasePoolDataAddresses)({
1
+ import { lowerCasePoolDataAddresses } from "../utils.js";
2
+ import twopoolSwapABI from '../abis/2pool/swap.json' assert { type: 'json' };
3
+ import fusdtSwapABI from '../abis/fusdt/swap.json' assert { type: 'json' };
4
+ import fusdtZapABI from '../abis/fusdt/zap.json' assert { type: 'json' };
5
+ import renSwapABI from '../abis/ren-fantom/swap.json' assert { type: 'json' };
6
+ import triCryptoSwapNoZap from '../abis/tricrypto/swapNoZap.json' assert { type: 'json' };
7
+ import ibSwapABI from '../abis/ib/swap.json' assert { type: 'json' };
8
+ import aaveSwapABI from '../abis/aave/swap.json' assert { type: 'json' };
9
+ // import paaveRewardsabi from '../abis/paave/rewards.json' assert { type: 'json' };
10
+ import gaugeChildABI from '../abis/gauge_child.json' assert { type: 'json' };
11
+ import gaugeRewardsOnlyABI from '../abis/gauge_rewards_only.json' assert { type: 'json' };
12
+ import streamerABI from '../abis/streamer.json' assert { type: 'json' };
13
+ export const POOLS_DATA_FANTOM = lowerCasePoolDataAddresses({
20
14
  '2pool': {
21
15
  name: "2pool",
22
16
  full_name: "2pool",
@@ -40,8 +34,8 @@ exports.POOLS_DATA_FANTOM = (0, utils_1.lowerCasePoolDataAddresses)({
40
34
  ],
41
35
  underlying_decimals: [18, 6],
42
36
  wrapped_decimals: [18, 6],
43
- swap_abi: swap_json_1.default,
44
- gauge_abi: gauge_child_json_1.default,
37
+ swap_abi: twopoolSwapABI,
38
+ gauge_abi: gaugeChildABI,
45
39
  },
46
40
  fusdt: {
47
41
  name: "fusdt",
@@ -69,10 +63,10 @@ exports.POOLS_DATA_FANTOM = (0, utils_1.lowerCasePoolDataAddresses)({
69
63
  ],
70
64
  underlying_decimals: [6, 18, 6],
71
65
  wrapped_decimals: [6, 18],
72
- swap_abi: swap_json_2.default,
73
- gauge_abi: gauge_rewards_only_json_1.default,
74
- deposit_abi: zap_json_1.default,
75
- sCurveRewards_abi: streamer_json_1.default,
66
+ swap_abi: fusdtSwapABI,
67
+ gauge_abi: gaugeRewardsOnlyABI,
68
+ deposit_abi: fusdtZapABI,
69
+ sCurveRewards_abi: streamerABI,
76
70
  },
77
71
  ren: {
78
72
  name: "ren",
@@ -97,8 +91,8 @@ exports.POOLS_DATA_FANTOM = (0, utils_1.lowerCasePoolDataAddresses)({
97
91
  ],
98
92
  underlying_decimals: [8, 8],
99
93
  wrapped_decimals: [8, 8],
100
- swap_abi: swap_json_3.default,
101
- gauge_abi: gauge_child_json_1.default,
94
+ swap_abi: renSwapABI,
95
+ gauge_abi: gaugeChildABI,
102
96
  },
103
97
  tricrypto: {
104
98
  name: "tricrypto",
@@ -125,8 +119,8 @@ exports.POOLS_DATA_FANTOM = (0, utils_1.lowerCasePoolDataAddresses)({
125
119
  ],
126
120
  underlying_decimals: [6, 8, 18],
127
121
  wrapped_decimals: [6, 8, 18],
128
- swap_abi: swapNoZap_json_1.default,
129
- gauge_abi: gauge_child_json_1.default,
122
+ swap_abi: triCryptoSwapNoZap,
123
+ gauge_abi: gaugeChildABI,
130
124
  },
131
125
  ib: {
132
126
  name: "ironbank",
@@ -153,9 +147,9 @@ exports.POOLS_DATA_FANTOM = (0, utils_1.lowerCasePoolDataAddresses)({
153
147
  underlying_decimals: [18, 6, 6],
154
148
  wrapped_decimals: [8, 8, 8],
155
149
  use_lending: [true, true, true],
156
- swap_abi: swap_json_4.default,
157
- gauge_abi: gauge_rewards_only_json_1.default,
158
- sCurveRewards_abi: streamer_json_1.default,
150
+ swap_abi: ibSwapABI,
151
+ gauge_abi: gaugeRewardsOnlyABI,
152
+ sCurveRewards_abi: streamerABI,
159
153
  },
160
154
  geist: {
161
155
  name: "geist",
@@ -182,8 +176,8 @@ exports.POOLS_DATA_FANTOM = (0, utils_1.lowerCasePoolDataAddresses)({
182
176
  underlying_decimals: [18, 6, 6],
183
177
  wrapped_decimals: [18, 6, 6],
184
178
  use_lending: [true, true, true],
185
- swap_abi: swap_json_5.default,
186
- gauge_abi: gauge_child_json_1.default,
179
+ swap_abi: aaveSwapABI,
180
+ gauge_abi: gaugeChildABI,
187
181
  // sCurveRewards_abi: paaveRewardsabi,
188
182
  // sCurveRewards_address: '0xd4f94d0aaa640bbb72b5eec2d85f6d114d81a88e',
189
183
  // reward_token: "0xd8321aa83fb0a4ecd6348d4577431310a6e0814d",
@@ -1,12 +1,12 @@
1
- import { POOLS_DATA_ETHEREUM } from "./ethereum";
2
- import { POOLS_DATA_POLYGON } from "./polygon";
3
- import { POOLS_DATA_FANTOM } from "./fantom";
4
- import { POOLS_DATA_AVALANCHE } from "./avalanche";
5
- import { POOLS_DATA_ARBITRUM } from "./arbitrum";
6
- import { POOLS_DATA_OPTIMISM } from "./optimism";
7
- import { POOLS_DATA_XDAI } from "./xdai";
8
- import { POOLS_DATA_MOONBEAM } from "./moonbeam";
9
- import { POOLS_DATA_AURORA } from "./aurora";
10
- import { POOLS_DATA_KAVA } from "./kava";
11
- import { POOLS_DATA_CELO } from "./celo";
1
+ import { POOLS_DATA_ETHEREUM } from "./ethereum.js";
2
+ import { POOLS_DATA_POLYGON } from "./polygon.js";
3
+ import { POOLS_DATA_FANTOM } from "./fantom.js";
4
+ import { POOLS_DATA_AVALANCHE } from "./avalanche.js";
5
+ import { POOLS_DATA_ARBITRUM } from "./arbitrum.js";
6
+ import { POOLS_DATA_OPTIMISM } from "./optimism.js";
7
+ import { POOLS_DATA_XDAI } from "./xdai.js";
8
+ import { POOLS_DATA_MOONBEAM } from "./moonbeam.js";
9
+ import { POOLS_DATA_AURORA } from "./aurora.js";
10
+ import { POOLS_DATA_KAVA } from "./kava.js";
11
+ import { POOLS_DATA_CELO } from "./celo.js";
12
12
  export { POOLS_DATA_ETHEREUM, POOLS_DATA_POLYGON, POOLS_DATA_FANTOM, POOLS_DATA_AVALANCHE, POOLS_DATA_ARBITRUM, POOLS_DATA_OPTIMISM, POOLS_DATA_XDAI, POOLS_DATA_MOONBEAM, POOLS_DATA_AURORA, POOLS_DATA_KAVA, POOLS_DATA_CELO, };
@@ -1,25 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.POOLS_DATA_CELO = exports.POOLS_DATA_KAVA = exports.POOLS_DATA_AURORA = exports.POOLS_DATA_MOONBEAM = exports.POOLS_DATA_XDAI = exports.POOLS_DATA_OPTIMISM = exports.POOLS_DATA_ARBITRUM = exports.POOLS_DATA_AVALANCHE = exports.POOLS_DATA_FANTOM = exports.POOLS_DATA_POLYGON = exports.POOLS_DATA_ETHEREUM = void 0;
4
- var ethereum_1 = require("./ethereum");
5
- Object.defineProperty(exports, "POOLS_DATA_ETHEREUM", { enumerable: true, get: function () { return ethereum_1.POOLS_DATA_ETHEREUM; } });
6
- var polygon_1 = require("./polygon");
7
- Object.defineProperty(exports, "POOLS_DATA_POLYGON", { enumerable: true, get: function () { return polygon_1.POOLS_DATA_POLYGON; } });
8
- var fantom_1 = require("./fantom");
9
- Object.defineProperty(exports, "POOLS_DATA_FANTOM", { enumerable: true, get: function () { return fantom_1.POOLS_DATA_FANTOM; } });
10
- var avalanche_1 = require("./avalanche");
11
- Object.defineProperty(exports, "POOLS_DATA_AVALANCHE", { enumerable: true, get: function () { return avalanche_1.POOLS_DATA_AVALANCHE; } });
12
- var arbitrum_1 = require("./arbitrum");
13
- Object.defineProperty(exports, "POOLS_DATA_ARBITRUM", { enumerable: true, get: function () { return arbitrum_1.POOLS_DATA_ARBITRUM; } });
14
- var optimism_1 = require("./optimism");
15
- Object.defineProperty(exports, "POOLS_DATA_OPTIMISM", { enumerable: true, get: function () { return optimism_1.POOLS_DATA_OPTIMISM; } });
16
- var xdai_1 = require("./xdai");
17
- Object.defineProperty(exports, "POOLS_DATA_XDAI", { enumerable: true, get: function () { return xdai_1.POOLS_DATA_XDAI; } });
18
- var moonbeam_1 = require("./moonbeam");
19
- Object.defineProperty(exports, "POOLS_DATA_MOONBEAM", { enumerable: true, get: function () { return moonbeam_1.POOLS_DATA_MOONBEAM; } });
20
- var aurora_1 = require("./aurora");
21
- Object.defineProperty(exports, "POOLS_DATA_AURORA", { enumerable: true, get: function () { return aurora_1.POOLS_DATA_AURORA; } });
22
- var kava_1 = require("./kava");
23
- Object.defineProperty(exports, "POOLS_DATA_KAVA", { enumerable: true, get: function () { return kava_1.POOLS_DATA_KAVA; } });
24
- var celo_1 = require("./celo");
25
- Object.defineProperty(exports, "POOLS_DATA_CELO", { enumerable: true, get: function () { return celo_1.POOLS_DATA_CELO; } });
1
+ import { POOLS_DATA_ETHEREUM } from "./ethereum.js";
2
+ import { POOLS_DATA_POLYGON } from "./polygon.js";
3
+ import { POOLS_DATA_FANTOM } from "./fantom.js";
4
+ import { POOLS_DATA_AVALANCHE } from "./avalanche.js";
5
+ import { POOLS_DATA_ARBITRUM } from "./arbitrum.js";
6
+ import { POOLS_DATA_OPTIMISM } from "./optimism.js";
7
+ import { POOLS_DATA_XDAI } from "./xdai.js";
8
+ import { POOLS_DATA_MOONBEAM } from "./moonbeam.js";
9
+ import { POOLS_DATA_AURORA } from "./aurora.js";
10
+ import { POOLS_DATA_KAVA } from "./kava.js";
11
+ import { POOLS_DATA_CELO } from "./celo.js";
12
+ export { POOLS_DATA_ETHEREUM, POOLS_DATA_POLYGON, POOLS_DATA_FANTOM, POOLS_DATA_AVALANCHE, POOLS_DATA_ARBITRUM, POOLS_DATA_OPTIMISM, POOLS_DATA_XDAI, POOLS_DATA_MOONBEAM, POOLS_DATA_AURORA, POOLS_DATA_KAVA, POOLS_DATA_CELO, };
@@ -1,4 +1,2 @@
1
- import { IPoolData } from "../../interfaces";
2
- export declare const POOLS_DATA_KAVA: {
3
- [index: string]: IPoolData;
4
- };
1
+ import { IDict, IPoolData } from "../../interfaces";
2
+ export declare const POOLS_DATA_KAVA: IDict<IPoolData>;
@@ -1,5 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.POOLS_DATA_KAVA = void 0;
4
- var utils_1 = require("../utils");
5
- exports.POOLS_DATA_KAVA = (0, utils_1.lowerCasePoolDataAddresses)({});
1
+ import { lowerCasePoolDataAddresses } from "../utils.js";
2
+ export const POOLS_DATA_KAVA = lowerCasePoolDataAddresses({});
@@ -1,4 +1,2 @@
1
- import { IPoolData } from "../../interfaces";
2
- export declare const POOLS_DATA_MOONBEAM: {
3
- [index: string]: IPoolData;
4
- };
1
+ import { IDict, IPoolData } from "../../interfaces";
2
+ export declare const POOLS_DATA_MOONBEAM: IDict<IPoolData>;
@@ -1,13 +1,7 @@
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.POOLS_DATA_MOONBEAM = void 0;
7
- var swap_json_1 = __importDefault(require("../abis/3pool-optimism/swap.json"));
8
- var gauge_child_json_1 = __importDefault(require("../abis/gauge_child.json"));
9
- var utils_1 = require("../utils");
10
- exports.POOLS_DATA_MOONBEAM = (0, utils_1.lowerCasePoolDataAddresses)({
1
+ import { lowerCasePoolDataAddresses } from "../utils.js";
2
+ import tripoolSwapABI from '../abis/3pool-optimism/swap.json' assert { type: 'json' };
3
+ import gaugeChildABI from '../abis/gauge_child.json' assert { type: 'json' };
4
+ export const POOLS_DATA_MOONBEAM = lowerCasePoolDataAddresses({
11
5
  '3pool': {
12
6
  name: "3pool",
13
7
  full_name: "3pool",
@@ -31,7 +25,7 @@ exports.POOLS_DATA_MOONBEAM = (0, utils_1.lowerCasePoolDataAddresses)({
31
25
  ],
32
26
  underlying_decimals: [18, 6, 6],
33
27
  wrapped_decimals: [18, 6, 6],
34
- swap_abi: swap_json_1.default,
35
- gauge_abi: gauge_child_json_1.default,
28
+ swap_abi: tripoolSwapABI,
29
+ gauge_abi: gaugeChildABI,
36
30
  },
37
31
  });
@@ -1,4 +1,2 @@
1
- import { IPoolData } from "../../interfaces";
2
- export declare const POOLS_DATA_OPTIMISM: {
3
- [index: string]: IPoolData;
4
- };
1
+ import { IDict, IPoolData } from "../../interfaces";
2
+ export declare const POOLS_DATA_OPTIMISM: IDict<IPoolData>;
@@ -1,14 +1,8 @@
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.POOLS_DATA_OPTIMISM = void 0;
7
- var swap_json_1 = __importDefault(require("../abis/3pool-optimism/swap.json"));
8
- var swap_json_2 = __importDefault(require("../abis/wsteth/swap.json"));
9
- var gauge_child_json_1 = __importDefault(require("../abis/gauge_child.json"));
10
- var utils_1 = require("../utils");
11
- exports.POOLS_DATA_OPTIMISM = (0, utils_1.lowerCasePoolDataAddresses)({
1
+ import { lowerCasePoolDataAddresses } from "../utils.js";
2
+ import tripoolSwapABI from '../abis/3pool-optimism/swap.json' assert { type: 'json' };
3
+ import wstETHSwapABI from '../abis/wsteth/swap.json' assert { type: 'json' };
4
+ import gaugeChildABI from '../abis/gauge_child.json' assert { type: 'json' };
5
+ export const POOLS_DATA_OPTIMISM = lowerCasePoolDataAddresses({
12
6
  '3pool': {
13
7
  name: "3pool",
14
8
  full_name: "3pool",
@@ -32,8 +26,8 @@ exports.POOLS_DATA_OPTIMISM = (0, utils_1.lowerCasePoolDataAddresses)({
32
26
  ],
33
27
  underlying_decimals: [18, 6, 6],
34
28
  wrapped_decimals: [18, 6, 6],
35
- swap_abi: swap_json_1.default,
36
- gauge_abi: gauge_child_json_1.default,
29
+ swap_abi: tripoolSwapABI,
30
+ gauge_abi: gaugeChildABI,
37
31
  },
38
32
  wsteth: {
39
33
  name: "wsteth",
@@ -56,7 +50,7 @@ exports.POOLS_DATA_OPTIMISM = (0, utils_1.lowerCasePoolDataAddresses)({
56
50
  ],
57
51
  underlying_decimals: [18, 18],
58
52
  wrapped_decimals: [18, 18],
59
- swap_abi: swap_json_2.default,
60
- gauge_abi: gauge_child_json_1.default,
53
+ swap_abi: wstETHSwapABI,
54
+ gauge_abi: gaugeChildABI,
61
55
  },
62
56
  });
@@ -1,4 +1,2 @@
1
- import { IPoolData } from "../../interfaces";
2
- export declare const POOLS_DATA_POLYGON: {
3
- [index: string]: IPoolData;
4
- };
1
+ import { IDict, IPoolData } from "../../interfaces";
2
+ export declare const POOLS_DATA_POLYGON: IDict<IPoolData>;
@@ -1,18 +1,12 @@
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.POOLS_DATA_POLYGON = void 0;
7
- var swap_json_1 = __importDefault(require("../abis/aave/swap.json"));
8
- var swap_json_2 = __importDefault(require("../abis/ren-polygon/swap.json"));
9
- var swap_json_3 = __importDefault(require("../abis/atricrypto3/swap.json"));
10
- var zap_json_1 = __importDefault(require("../abis/atricrypto3/zap.json"));
11
- var swap_json_4 = __importDefault(require("../abis/eurtusd/swap.json"));
12
- var deposit_json_1 = __importDefault(require("../abis/eurtusd/deposit.json"));
13
- var gauge_child_json_1 = __importDefault(require("../abis/gauge_child.json"));
14
- var utils_1 = require("../utils");
15
- exports.POOLS_DATA_POLYGON = (0, utils_1.lowerCasePoolDataAddresses)({
1
+ import { lowerCasePoolDataAddresses } from "../utils.js";
2
+ import aaveSwapABI from '../abis/aave/swap.json' assert { type: 'json' };
3
+ import renSwapABI from '../abis/ren-polygon/swap.json' assert { type: 'json' };
4
+ import atricrypto3Swap from '../abis/atricrypto3/swap.json' assert { type: 'json' };
5
+ import atricrypto3Zap from '../abis/atricrypto3/zap.json' assert { type: 'json' };
6
+ import eurtusdSwap from '../abis/eurtusd/swap.json' assert { type: 'json' };
7
+ import eurtusdZap from '../abis/eurtusd/deposit.json' assert { type: 'json' };
8
+ import gaugeChildABI from '../abis/gauge_child.json' assert { type: 'json' };
9
+ export const POOLS_DATA_POLYGON = lowerCasePoolDataAddresses({
16
10
  aave: {
17
11
  name: "aave",
18
12
  full_name: "aave",
@@ -40,8 +34,8 @@ exports.POOLS_DATA_POLYGON = (0, utils_1.lowerCasePoolDataAddresses)({
40
34
  underlying_decimals: [18, 6, 6],
41
35
  wrapped_decimals: [18, 6, 6],
42
36
  use_lending: [true, true, true],
43
- swap_abi: swap_json_1.default,
44
- gauge_abi: gauge_child_json_1.default,
37
+ swap_abi: aaveSwapABI,
38
+ gauge_abi: gaugeChildABI,
45
39
  // sCurveRewards_abi: paaveRewardsabi,
46
40
  },
47
41
  ren: {
@@ -68,8 +62,8 @@ exports.POOLS_DATA_POLYGON = (0, utils_1.lowerCasePoolDataAddresses)({
68
62
  underlying_decimals: [8, 8],
69
63
  wrapped_decimals: [8, 8],
70
64
  use_lending: [true, false],
71
- swap_abi: swap_json_2.default,
72
- gauge_abi: gauge_child_json_1.default,
65
+ swap_abi: renSwapABI,
66
+ gauge_abi: gaugeChildABI,
73
67
  },
74
68
  atricrypto3: {
75
69
  name: "atricrypto3",
@@ -86,6 +80,7 @@ exports.POOLS_DATA_POLYGON = (0, utils_1.lowerCasePoolDataAddresses)({
86
80
  is_crypto: true,
87
81
  is_fake: true,
88
82
  base_pool: 'aave',
83
+ meta_coin_idx: 0,
89
84
  underlying_coins: ['DAI', 'USDC', 'USDT', 'WBTC', 'WETH'],
90
85
  wrapped_coins: ['am3CRV', 'amWBTC', 'amWETH'],
91
86
  underlying_coin_addresses: [
@@ -102,9 +97,9 @@ exports.POOLS_DATA_POLYGON = (0, utils_1.lowerCasePoolDataAddresses)({
102
97
  ],
103
98
  underlying_decimals: [18, 6, 6, 8, 18],
104
99
  wrapped_decimals: [18, 8, 18],
105
- swap_abi: swap_json_3.default,
106
- gauge_abi: gauge_child_json_1.default,
107
- deposit_abi: zap_json_1.default,
100
+ swap_abi: atricrypto3Swap,
101
+ gauge_abi: gaugeChildABI,
102
+ deposit_abi: atricrypto3Zap,
108
103
  },
109
104
  eurtusd: {
110
105
  name: "eurtusd",
@@ -134,9 +129,9 @@ exports.POOLS_DATA_POLYGON = (0, utils_1.lowerCasePoolDataAddresses)({
134
129
  ],
135
130
  underlying_decimals: [6, 18, 6, 6],
136
131
  wrapped_decimals: [6, 18],
137
- swap_abi: swap_json_4.default,
138
- gauge_abi: gauge_child_json_1.default,
139
- deposit_abi: deposit_json_1.default,
132
+ swap_abi: eurtusdSwap,
133
+ gauge_abi: gaugeChildABI,
134
+ deposit_abi: eurtusdZap,
140
135
  },
141
136
  eursusd: {
142
137
  name: "eursusd",
@@ -164,8 +159,8 @@ exports.POOLS_DATA_POLYGON = (0, utils_1.lowerCasePoolDataAddresses)({
164
159
  ],
165
160
  underlying_decimals: [2, 18, 6, 6],
166
161
  wrapped_decimals: [2, 18],
167
- swap_abi: swap_json_4.default,
168
- gauge_abi: gauge_child_json_1.default,
169
- deposit_abi: deposit_json_1.default,
162
+ swap_abi: eurtusdSwap,
163
+ gauge_abi: gaugeChildABI,
164
+ deposit_abi: eurtusdZap,
170
165
  },
171
166
  });
@@ -1,4 +1,2 @@
1
- import { IPoolData } from "../../interfaces";
2
- export declare const POOLS_DATA_XDAI: {
3
- [index: string]: IPoolData;
4
- };
1
+ import { IDict, IPoolData } from "../../interfaces";
2
+ export declare const POOLS_DATA_XDAI: IDict<IPoolData>;
@@ -1,21 +1,15 @@
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.POOLS_DATA_XDAI = void 0;
7
- var swap_json_1 = __importDefault(require("../abis/3pool/swap.json"));
8
- var swap_json_2 = __importDefault(require("../abis/rai/swap.json"));
9
- var deposit_json_1 = __importDefault(require("../abis/rai/deposit.json"));
10
- var swap_json_3 = __importDefault(require("../abis/tricrypto-xdai/swap.json"));
11
- var zap_json_1 = __importDefault(require("../abis/tricrypto-xdai/zap.json"));
12
- var swap_json_4 = __importDefault(require("../abis/eureusd/swap.json"));
13
- var zap_json_2 = __importDefault(require("../abis/eureusd/zap.json"));
14
- var gauge_rewards_only_json_1 = __importDefault(require("../abis/gauge_rewards_only.json"));
15
- var gauge_child_json_1 = __importDefault(require("../abis/gauge_child.json"));
16
- var streamer_json_1 = __importDefault(require("../abis/streamer.json"));
17
- var utils_1 = require("../utils");
18
- exports.POOLS_DATA_XDAI = (0, utils_1.lowerCasePoolDataAddresses)({
1
+ import { lowerCasePoolDataAddresses } from "../utils.js";
2
+ import tripoolSwapABI from '../abis/3pool/swap.json' assert { type: 'json' };
3
+ import raiSwapABI from '../abis/rai/swap.json' assert { type: 'json' };
4
+ import raiZapABI from '../abis/rai/deposit.json' assert { type: 'json' };
5
+ import tricryptoSwapABI from '../abis/tricrypto-xdai/swap.json' assert { type: 'json' };
6
+ import tricryptoZapABI from '../abis/tricrypto-xdai/zap.json' assert { type: 'json' };
7
+ import eureSwapABI from "../abis/eureusd/swap.json" assert { type: 'json' };
8
+ import eureDepositABI from "../abis/eureusd/zap.json" assert { type: 'json' };
9
+ import gaugeRewardsOnlyABI from '../abis/gauge_rewards_only.json' assert { type: 'json' };
10
+ import gaugeChildABI from '../abis/gauge_child.json' assert { type: 'json' };
11
+ import streamerABI from '../abis/streamer.json' assert { type: 'json' };
12
+ export const POOLS_DATA_XDAI = lowerCasePoolDataAddresses({
19
13
  '3pool': {
20
14
  name: "3pool",
21
15
  full_name: "3pool",
@@ -40,9 +34,9 @@ exports.POOLS_DATA_XDAI = (0, utils_1.lowerCasePoolDataAddresses)({
40
34
  ],
41
35
  underlying_decimals: [18, 6, 6],
42
36
  wrapped_decimals: [18, 6, 6],
43
- swap_abi: swap_json_1.default,
44
- gauge_abi: gauge_child_json_1.default,
45
- sCurveRewards_abi: streamer_json_1.default,
37
+ swap_abi: tripoolSwapABI,
38
+ gauge_abi: gaugeChildABI,
39
+ sCurveRewards_abi: streamerABI,
46
40
  },
47
41
  rai: {
48
42
  name: "rai",
@@ -69,9 +63,9 @@ exports.POOLS_DATA_XDAI = (0, utils_1.lowerCasePoolDataAddresses)({
69
63
  ],
70
64
  underlying_decimals: [18, 18, 6, 6],
71
65
  wrapped_decimals: [18, 18],
72
- swap_abi: swap_json_2.default,
73
- gauge_abi: gauge_rewards_only_json_1.default,
74
- deposit_abi: deposit_json_1.default,
66
+ swap_abi: raiSwapABI,
67
+ gauge_abi: gaugeRewardsOnlyABI,
68
+ deposit_abi: raiZapABI,
75
69
  },
76
70
  tricrypto: {
77
71
  name: "tricrypto",
@@ -85,6 +79,7 @@ exports.POOLS_DATA_XDAI = (0, utils_1.lowerCasePoolDataAddresses)({
85
79
  is_crypto: true,
86
80
  is_meta: true,
87
81
  base_pool: '3pool',
82
+ meta_coin_idx: 0,
88
83
  underlying_coins: ['WXDAI', 'USDC', 'USDT', 'WBTC', 'WETH'],
89
84
  wrapped_coins: ['x3CRV', 'WBTC', 'WETH'],
90
85
  underlying_coin_addresses: [
@@ -101,9 +96,9 @@ exports.POOLS_DATA_XDAI = (0, utils_1.lowerCasePoolDataAddresses)({
101
96
  ],
102
97
  underlying_decimals: [18, 6, 6, 8, 18],
103
98
  wrapped_decimals: [18, 8, 18],
104
- swap_abi: swap_json_3.default,
105
- gauge_abi: gauge_rewards_only_json_1.default,
106
- deposit_abi: zap_json_1.default,
99
+ swap_abi: tricryptoSwapABI,
100
+ gauge_abi: gaugeRewardsOnlyABI,
101
+ deposit_abi: tricryptoZapABI,
107
102
  },
108
103
  eureusd: {
109
104
  name: "eureusd",
@@ -131,8 +126,8 @@ exports.POOLS_DATA_XDAI = (0, utils_1.lowerCasePoolDataAddresses)({
131
126
  ],
132
127
  underlying_decimals: [18, 18, 6, 6],
133
128
  wrapped_decimals: [18, 18],
134
- swap_abi: swap_json_4.default,
135
- gauge_abi: gauge_rewards_only_json_1.default,
136
- deposit_abi: zap_json_2.default,
129
+ swap_abi: eureSwapABI,
130
+ gauge_abi: gaugeChildABI,
131
+ deposit_abi: eureDepositABI,
137
132
  },
138
133
  });
@@ -1,12 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.lowerCaseKeys = exports.lowerCaseValues = exports.extractGauges = exports.extractDecimals = exports.lowerCasePoolDataAddresses = void 0;
4
- var ethers_1 = require("ethers");
5
- var lowerCasePoolDataAddresses = function (poolsData) {
6
- for (var poolId in poolsData) {
1
+ import { curve } from "../curve.js";
2
+ export const lowerCasePoolDataAddresses = (poolsData) => {
3
+ for (const poolId in poolsData) {
7
4
  if (!Object.prototype.hasOwnProperty.call(poolsData, poolId))
8
5
  continue;
9
- var poolData = poolsData[poolId];
6
+ const poolData = poolsData[poolId];
10
7
  poolData.swap_address = poolData.swap_address.toLowerCase();
11
8
  poolData.token_address = poolData.token_address.toLowerCase();
12
9
  poolData.gauge_address = poolData.gauge_address.toLowerCase();
@@ -16,50 +13,44 @@ var lowerCasePoolDataAddresses = function (poolsData) {
16
13
  poolData.sCurveRewards_address = poolData.sCurveRewards_address.toLowerCase();
17
14
  if (poolData.reward_contract)
18
15
  poolData.reward_contract = poolData.reward_contract.toLowerCase();
19
- poolData.underlying_coin_addresses = poolData.underlying_coin_addresses.map(function (a) { return a.toLowerCase(); });
20
- poolData.wrapped_coin_addresses = poolData.wrapped_coin_addresses.map(function (a) { return a.toLowerCase(); });
16
+ poolData.underlying_coin_addresses = poolData.underlying_coin_addresses.map((a) => a.toLowerCase());
17
+ poolData.wrapped_coin_addresses = poolData.wrapped_coin_addresses.map((a) => a.toLowerCase());
21
18
  }
22
19
  return poolsData;
23
20
  };
24
- exports.lowerCasePoolDataAddresses = lowerCasePoolDataAddresses;
25
- var extractDecimals = function (poolsData) {
26
- var DECIMALS = {};
27
- for (var poolId in poolsData) {
21
+ export const extractDecimals = (poolsData) => {
22
+ const DECIMALS = {};
23
+ for (const poolId in poolsData) {
28
24
  if (!Object.prototype.hasOwnProperty.call(poolsData, poolId))
29
25
  continue;
30
- var poolData = poolsData[poolId];
26
+ const poolData = poolsData[poolId];
31
27
  // LP token
32
28
  DECIMALS[poolData.token_address] = 18;
33
29
  // Underlying coins
34
- for (var i = 0; i < poolData.underlying_coin_addresses.length; i++) {
30
+ for (let i = 0; i < poolData.underlying_coin_addresses.length; i++) {
35
31
  DECIMALS[poolData.underlying_coin_addresses[i]] = poolData.underlying_decimals[i];
36
32
  }
37
33
  // Wrapped coins
38
- for (var i = 0; i < poolData.wrapped_coin_addresses.length; i++) {
34
+ for (let i = 0; i < poolData.wrapped_coin_addresses.length; i++) {
39
35
  DECIMALS[poolData.wrapped_coin_addresses[i]] = poolData.wrapped_decimals[i];
40
36
  }
41
37
  }
42
38
  return DECIMALS;
43
39
  };
44
- exports.extractDecimals = extractDecimals;
45
- var extractGauges = function (poolsData) {
46
- var GAUGES = [];
47
- for (var _i = 0, _a = Object.values(poolsData); _i < _a.length; _i++) {
48
- var poolData = _a[_i];
49
- if (poolData.gauge_address === ethers_1.ethers.constants.AddressZero)
40
+ export const extractGauges = (poolsData) => {
41
+ const GAUGES = [];
42
+ for (const poolData of Object.values(poolsData)) {
43
+ if (poolData.gauge_address === curve.constants.ZERO_ADDRESS)
50
44
  continue;
51
45
  GAUGES.push(poolData.gauge_address);
52
46
  }
53
47
  return GAUGES;
54
48
  };
55
- exports.extractGauges = extractGauges;
56
- var lowerCaseValues = function (dict) {
49
+ export const lowerCaseValues = (dict) => {
57
50
  // @ts-ignore
58
- return Object.fromEntries(Object.entries(dict).map(function (entry) { return [entry[0], entry[1].toLowerCase()]; }));
51
+ return Object.fromEntries(Object.entries(dict).map((entry) => [entry[0], entry[1].toLowerCase()]));
59
52
  };
60
- exports.lowerCaseValues = lowerCaseValues;
61
- var lowerCaseKeys = function (dict) {
53
+ export const lowerCaseKeys = (dict) => {
62
54
  // @ts-ignore
63
- return Object.fromEntries(Object.entries(dict).map(function (entry) { return [entry[0].toLowerCase(), entry[1]]; }));
55
+ return Object.fromEntries(Object.entries(dict).map((entry) => [entry[0].toLowerCase(), entry[1]]));
64
56
  };
65
- exports.lowerCaseKeys = lowerCaseKeys;
package/lib/curve.d.ts CHANGED
@@ -1,5 +1,4 @@
1
- import { ethers, Contract } from "ethers";
2
- import { Networkish } from "@ethersproject/networks";
1
+ import { ethers, Contract, Networkish, BigNumberish, Numeric } from "ethers";
3
2
  import { Provider as MulticallProvider, Contract as MulticallContract } from 'ethcall';
4
3
  import { IPoolData, IDict, ICurve, INetworkName, IChainId } from "./interfaces";
5
4
  export declare const NATIVE_TOKENS: {
@@ -14,7 +13,7 @@ export declare const NETWORK_CONSTANTS: {
14
13
  [index: number]: any;
15
14
  };
16
15
  declare class Curve implements ICurve {
17
- provider: ethers.providers.Web3Provider | ethers.providers.JsonRpcProvider;
16
+ provider: ethers.BrowserProvider | ethers.JsonRpcProvider;
18
17
  multicallProvider: MulticallProvider;
19
18
  signer: ethers.Signer | null;
20
19
  signerAddress: string;
@@ -34,9 +33,9 @@ declare class Curve implements ICurve {
34
33
  gasLimit: number;
35
34
  };
36
35
  options: {
37
- gasPrice?: number | ethers.BigNumber;
38
- maxFeePerGas?: number | ethers.BigNumber;
39
- maxPriorityFeePerGas?: number | ethers.BigNumber;
36
+ gasPrice?: number | bigint;
37
+ maxFeePerGas?: number | bigint;
38
+ maxPriorityFeePerGas?: number | bigint;
40
39
  };
41
40
  constants: {
42
41
  NATIVE_TOKEN: {
@@ -53,13 +52,14 @@ declare class Curve implements ICurve {
53
52
  COINS: IDict<string>;
54
53
  DECIMALS: IDict<number>;
55
54
  GAUGES: string[];
55
+ ZERO_ADDRESS: string;
56
56
  };
57
57
  constructor();
58
58
  init(providerType: 'JsonRpc' | 'Web3' | 'Infura' | 'Alchemy', providerSettings: {
59
59
  url?: string;
60
60
  privateKey?: string;
61
61
  } | {
62
- externalProvider: ethers.providers.ExternalProvider;
62
+ externalProvider: ethers.Eip1193Provider;
63
63
  } | {
64
64
  network?: Networkish;
65
65
  apiKey?: string;
@@ -86,6 +86,8 @@ declare class Curve implements ICurve {
86
86
  maxFeePerGas?: number;
87
87
  maxPriorityFeePerGas?: number;
88
88
  }): void;
89
+ formatUnits(value: BigNumberish, unit?: string | Numeric): string;
90
+ parseUnits(value: string, unit?: string | Numeric): bigint;
89
91
  updateFeeData(): Promise<void>;
90
92
  }
91
93
  export declare const curve: Curve;