@curvefi/api 1.25.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (213) hide show
  1. package/README.md +775 -589
  2. package/docs/v1/README.md +916 -0
  3. package/lib/boosting.d.ts +12 -12
  4. package/lib/boosting.js +23 -23
  5. package/lib/constants/abis/{json/2pool → 2pool}/swap.json +0 -0
  6. package/lib/constants/abis/{json/3pool → 3pool}/swap.json +0 -0
  7. package/lib/constants/abis/{json/4pool → 4pool}/swap.json +0 -0
  8. package/lib/constants/abis/{json/ERC20.json → ERC20.json} +0 -0
  9. package/lib/constants/abis/{json/aave → aave}/rewards.json +0 -0
  10. package/lib/constants/abis/{json/aave → aave}/swap.json +0 -0
  11. package/lib/constants/abis/{json/address_provider.json → address_provider.json} +0 -0
  12. package/lib/constants/abis/{json/ankreth → ankreth}/sCurveRewards.json +0 -0
  13. package/lib/constants/abis/{json/ankreth → ankreth}/swap.json +0 -0
  14. package/lib/constants/abis/{json/atricrypto3 → atricrypto3}/swap.json +0 -0
  15. package/lib/constants/abis/{json/atricrypto3 → atricrypto3}/zap.json +0 -0
  16. package/lib/constants/abis/{json/bbtc → bbtc}/deposit.json +0 -0
  17. package/lib/constants/abis/{json/bbtc → bbtc}/swap.json +0 -0
  18. package/lib/constants/abis/{json/busd → busd}/deposit.json +0 -0
  19. package/lib/constants/abis/{json/busd → busd}/swap.json +0 -0
  20. package/lib/constants/abis/{json/cERC20.json → cERC20.json} +0 -0
  21. package/lib/constants/abis/{json/compound → compound}/deposit.json +0 -0
  22. package/lib/constants/abis/{json/compound → compound}/swap.json +0 -0
  23. package/lib/constants/abis/{json/crveth → crveth}/swap.json +0 -0
  24. package/lib/constants/abis/{json/deposit_and_stake.json → deposit_and_stake.json} +0 -0
  25. package/lib/constants/abis/{json/dusd → dusd}/deposit.json +0 -0
  26. package/lib/constants/abis/{json/dusd → dusd}/sCurveRewards.json +0 -0
  27. package/lib/constants/abis/{json/dusd → dusd}/swap.json +0 -0
  28. package/lib/constants/abis/{json/eurs → eurs}/sCurveRewards.json +0 -0
  29. package/lib/constants/abis/{json/eurs → eurs}/swap.json +0 -0
  30. package/lib/constants/abis/{json/eursusd → eursusd}/swap.json +0 -0
  31. package/lib/constants/abis/{json/eurt → eurt}/swap.json +0 -0
  32. package/lib/constants/abis/{json/eurtusd → eurtusd}/deposit.json +0 -0
  33. package/lib/constants/abis/{json/eurtusd → eurtusd}/swap.json +0 -0
  34. package/lib/constants/abis/{json/factory-crypto → factory-crypto}/factory-crypto-pool-2.json +0 -0
  35. package/lib/constants/abis/{json/factory-crypto.json → factory-crypto.json} +0 -0
  36. package/lib/constants/abis/{json/factory-v2 → factory-v2}/DepositZapMetaBtcPolygon.json +0 -0
  37. package/lib/constants/abis/{json/factory-v2 → factory-v2}/DepositZapMetaUsdPolygon.json +0 -0
  38. package/lib/constants/abis/{json/factory-v2 → factory-v2}/MetaBTC.json +0 -0
  39. package/lib/constants/abis/{json/factory-v2 → factory-v2}/MetaBTCBalances.json +0 -0
  40. package/lib/constants/abis/{json/factory-v2 → factory-v2}/MetaBTCBalancesRen.json +0 -0
  41. package/lib/constants/abis/{json/factory-v2 → factory-v2}/MetaBTCRen.json +0 -0
  42. package/lib/constants/abis/{json/factory-v2 → factory-v2}/MetaUSD.json +0 -0
  43. package/lib/constants/abis/{json/factory-v2 → factory-v2}/MetaUSDBalances.json +0 -0
  44. package/lib/constants/abis/{json/factory-v2 → factory-v2}/Plain2Balances.json +0 -0
  45. package/lib/constants/abis/{json/factory-v2 → factory-v2}/Plain2Basic.json +0 -0
  46. package/lib/constants/abis/{json/factory-v2 → factory-v2}/Plain2ETH.json +0 -0
  47. package/lib/constants/abis/{json/factory-v2 → factory-v2}/Plain2Optimized.json +0 -0
  48. package/lib/constants/abis/{json/factory-v2 → factory-v2}/Plain3Balances.json +0 -0
  49. package/lib/constants/abis/{json/factory-v2 → factory-v2}/Plain3Basic.json +0 -0
  50. package/lib/constants/abis/{json/factory-v2 → factory-v2}/Plain3ETH.json +0 -0
  51. package/lib/constants/abis/{json/factory-v2 → factory-v2}/Plain3Optimized.json +0 -0
  52. package/lib/constants/abis/{json/factory-v2 → factory-v2}/Plain4Balances.json +0 -0
  53. package/lib/constants/abis/{json/factory-v2 → factory-v2}/Plain4Basic.json +0 -0
  54. package/lib/constants/abis/{json/factory-v2 → factory-v2}/Plain4ETH.json +0 -0
  55. package/lib/constants/abis/{json/factory-v2 → factory-v2}/Plain4Optimized.json +0 -0
  56. package/lib/constants/abis/{json/factory.json → factory.json} +0 -0
  57. package/lib/constants/abis/{json/factoryPools → factoryPools}/deposit.json +0 -0
  58. package/lib/constants/abis/{json/factoryPools → factoryPools}/rewards.json +0 -0
  59. package/lib/constants/abis/{json/factoryPools → factoryPools}/swap.json +0 -0
  60. package/lib/constants/abis/{json/gauge.json → gauge.json} +0 -0
  61. package/lib/constants/abis/{json/gauge_factory.json → gauge_factory.json} +0 -0
  62. package/lib/constants/abis/{json/gauge_rewards_only.json → gauge_rewards_only.json} +0 -0
  63. package/lib/constants/abis/{json/gauge_synthetix.json → gauge_synthetix.json} +0 -0
  64. package/lib/constants/abis/{json/gauge_v2.json → gauge_v2.json} +0 -0
  65. package/lib/constants/abis/{json/gauge_v3.json → gauge_v3.json} +0 -0
  66. package/lib/constants/abis/{json/gauge_v4.json → gauge_v4.json} +0 -0
  67. package/lib/constants/abis/{json/gauge_v5.json → gauge_v5.json} +0 -0
  68. package/lib/constants/abis/{json/gaugecontroller.json → gaugecontroller.json} +0 -0
  69. package/lib/constants/abis/{json/gusd → gusd}/deposit.json +0 -0
  70. package/lib/constants/abis/{json/gusd → gusd}/swap.json +0 -0
  71. package/lib/constants/abis/{json/hbtc → hbtc}/swap.json +0 -0
  72. package/lib/constants/abis/{json/husd → husd}/deposit.json +0 -0
  73. package/lib/constants/abis/{json/husd → husd}/swap.json +0 -0
  74. package/lib/constants/abis/{json/ib → ib}/swap.json +0 -0
  75. package/lib/constants/abis/{json/iearn → iearn}/deposit.json +0 -0
  76. package/lib/constants/abis/{json/iearn → iearn}/sCurveRewards.json +0 -0
  77. package/lib/constants/abis/{json/iearn → iearn}/swap.json +0 -0
  78. package/lib/constants/abis/{json/link → link}/swap.json +0 -0
  79. package/lib/constants/abis/{json/minter.json → minter.json} +0 -0
  80. package/lib/constants/abis/{json/musd → musd}/deposit.json +0 -0
  81. package/lib/constants/abis/{json/musd → musd}/sCurveRewards.json +0 -0
  82. package/lib/constants/abis/{json/musd → musd}/swap.json +0 -0
  83. package/lib/constants/abis/{json/obtc → obtc}/deposit.json +0 -0
  84. package/lib/constants/abis/{json/obtc → obtc}/sCurveRewards.json +0 -0
  85. package/lib/constants/abis/{json/obtc → obtc}/swap.json +0 -0
  86. package/lib/constants/abis/{json/paave → paave}/rewards.json +0 -0
  87. package/lib/constants/abis/{json/pax → pax}/deposit.json +0 -0
  88. package/lib/constants/abis/{json/pax → pax}/swap.json +0 -0
  89. package/lib/constants/abis/{json/pbtc → pbtc}/deposit.json +0 -0
  90. package/lib/constants/abis/{json/pbtc → pbtc}/sCurveRewards.json +0 -0
  91. package/lib/constants/abis/{json/pbtc → pbtc}/swap.json +0 -0
  92. package/lib/constants/abis/{json/rai → rai}/deposit.json +0 -0
  93. package/lib/constants/abis/{json/rai → rai}/swap.json +0 -0
  94. package/lib/constants/abis/{json/registry_exchange.json → registry_exchange.json} +0 -0
  95. package/lib/constants/abis/{json/ren → ren}/swap.json +0 -0
  96. package/lib/constants/abis/{json/ren-polygon → ren-polygon}/swap.json +0 -0
  97. package/lib/constants/abis/{json/reth → reth}/swap.json +0 -0
  98. package/lib/constants/abis/{json/router.json → router.json} +0 -0
  99. package/lib/constants/abis/{json/rsv → rsv}/deposit.json +0 -0
  100. package/lib/constants/abis/{json/rsv → rsv}/sCurveRewards.json +0 -0
  101. package/lib/constants/abis/{json/rsv → rsv}/swap.json +0 -0
  102. package/lib/constants/abis/{json/saave → saave}/swap.json +0 -0
  103. package/lib/constants/abis/{json/sbtc → sbtc}/sCurveRewards.json +0 -0
  104. package/lib/constants/abis/{json/sbtc → sbtc}/swap.json +0 -0
  105. package/lib/constants/abis/{json/seth → seth}/swap.json +0 -0
  106. package/lib/constants/abis/{json/steth → steth}/sCurveRewards.json +0 -0
  107. package/lib/constants/abis/{json/steth → steth}/swap.json +0 -0
  108. package/lib/constants/abis/{json/streamer.json → streamer.json} +0 -0
  109. package/lib/constants/abis/{json/susdv2 → susdv2}/deposit.json +0 -0
  110. package/lib/constants/abis/{json/susdv2 → susdv2}/sCurveRewards.json +0 -0
  111. package/lib/constants/abis/{json/susdv2 → susdv2}/swap.json +0 -0
  112. package/lib/constants/abis/{json/tbtc → tbtc}/deposit.json +0 -0
  113. package/lib/constants/abis/{json/tbtc → tbtc}/sCurveRewards.json +0 -0
  114. package/lib/constants/abis/{json/tbtc → tbtc}/swap.json +0 -0
  115. package/lib/constants/abis/{json/tricrypto2 → tricrypto2}/deposit.json +0 -0
  116. package/lib/constants/abis/{json/tricrypto2 → tricrypto2}/swap.json +0 -0
  117. package/lib/constants/abis/{json/usdk → usdk}/deposit.json +0 -0
  118. package/lib/constants/abis/{json/usdk → usdk}/swap.json +0 -0
  119. package/lib/constants/abis/{json/usdn → usdn}/deposit.json +0 -0
  120. package/lib/constants/abis/{json/usdn → usdn}/swap.json +0 -0
  121. package/lib/constants/abis/{json/usdp → usdp}/deposit.json +0 -0
  122. package/lib/constants/abis/{json/usdp → usdp}/swap.json +0 -0
  123. package/lib/constants/abis/{json/usdt → usdt}/deposit.json +0 -0
  124. package/lib/constants/abis/{json/usdt → usdt}/swap.json +0 -0
  125. package/lib/constants/abis/{json/ust → ust}/deposit.json +0 -0
  126. package/lib/constants/abis/{json/ust → ust}/swap.json +0 -0
  127. package/lib/constants/abis/{json/votingescrow.json → votingescrow.json} +0 -0
  128. package/lib/constants/abis/{json/yERC20.json → yERC20.json} +0 -0
  129. package/lib/constants/aliases.d.ts +2 -24
  130. package/lib/constants/aliases.js +5 -4
  131. package/lib/constants/{coins-ethereum.d.ts → coins/ethereum.d.ts} +0 -9
  132. package/lib/constants/{coins-ethereum.js → coins/ethereum.js} +12 -23
  133. package/lib/constants/{coins-polygon.d.ts → coins/polygon.d.ts} +0 -12
  134. package/lib/constants/{coins-polygon.js → coins/polygon.js} +8 -20
  135. package/lib/constants/pools/ethereum.d.ts +2 -0
  136. package/lib/constants/{abis/abis-ethereum.js → pools/ethereum.js} +517 -1012
  137. package/lib/constants/pools/index.d.ts +3 -0
  138. package/lib/constants/pools/index.js +7 -0
  139. package/lib/constants/pools/polygon.d.ts +4 -0
  140. package/lib/constants/{abis/abis-polygon.js → pools/polygon.js} +53 -81
  141. package/lib/constants/utils.d.ts +5 -0
  142. package/lib/constants/utils.js +69 -0
  143. package/lib/curve.d.ts +10 -32
  144. package/lib/curve.js +189 -232
  145. package/lib/external-api.d.ts +3 -1
  146. package/lib/external-api.js +34 -1
  147. package/lib/factory/constants.d.ts +15 -15
  148. package/lib/factory/constants.js +19 -19
  149. package/lib/factory/factory-api.d.ts +2 -2
  150. package/lib/factory/factory-api.js +52 -45
  151. package/lib/factory/factory-crypto.d.ts +2 -2
  152. package/lib/factory/factory-crypto.js +23 -31
  153. package/lib/factory/factory.d.ts +2 -2
  154. package/lib/factory/factory.js +53 -66
  155. package/lib/index.d.ts +36 -53
  156. package/lib/index.js +27 -35
  157. package/lib/interfaces.d.ts +35 -72
  158. package/lib/pools/PoolTemplate.d.ts +210 -0
  159. package/lib/pools/PoolTemplate.js +2292 -0
  160. package/lib/pools/index.d.ts +3 -0
  161. package/lib/pools/index.js +7 -0
  162. package/lib/pools/mixins/common.d.ts +3 -0
  163. package/lib/pools/mixins/common.js +77 -0
  164. package/lib/pools/mixins/depositBalancedAmountsMixins.d.ts +5 -0
  165. package/lib/pools/mixins/depositBalancedAmountsMixins.js +145 -0
  166. package/lib/pools/mixins/depositBonusMixins.d.ts +5 -0
  167. package/lib/pools/mixins/depositBonusMixins.js +164 -0
  168. package/lib/pools/mixins/depositMixins.d.ts +5 -0
  169. package/lib/pools/mixins/depositMixins.js +373 -0
  170. package/lib/pools/mixins/depositWrappedMixins.d.ts +3 -0
  171. package/lib/pools/mixins/depositWrappedMixins.js +243 -0
  172. package/lib/pools/mixins/poolBalancesMixin.d.ts +4 -0
  173. package/lib/pools/mixins/poolBalancesMixin.js +129 -0
  174. package/lib/pools/mixins/swapMixins.d.ts +4 -0
  175. package/lib/pools/mixins/swapMixins.js +313 -0
  176. package/lib/pools/mixins/swapWrappedMixins.d.ts +4 -0
  177. package/lib/pools/mixins/swapWrappedMixins.js +297 -0
  178. package/lib/pools/mixins/withdrawExpectedMixins.d.ts +6 -0
  179. package/lib/pools/mixins/withdrawExpectedMixins.js +164 -0
  180. package/lib/pools/mixins/withdrawImbalanceMixins.d.ts +5 -0
  181. package/lib/pools/mixins/withdrawImbalanceMixins.js +348 -0
  182. package/lib/pools/mixins/withdrawImbalanceWrappedMixins.d.ts +3 -0
  183. package/lib/pools/mixins/withdrawImbalanceWrappedMixins.js +207 -0
  184. package/lib/pools/mixins/withdrawMixins.d.ts +5 -0
  185. package/lib/pools/mixins/withdrawMixins.js +347 -0
  186. package/lib/pools/mixins/withdrawOneCoinExpectedMixins.d.ts +5 -0
  187. package/lib/pools/mixins/withdrawOneCoinExpectedMixins.js +104 -0
  188. package/lib/pools/mixins/withdrawOneCoinMixins.d.ts +5 -0
  189. package/lib/pools/mixins/withdrawOneCoinMixins.js +347 -0
  190. package/lib/pools/mixins/withdrawOneCoinWrappedExpectedMixins.d.ts +3 -0
  191. package/lib/pools/mixins/withdrawOneCoinWrappedExpectedMixins.js +72 -0
  192. package/lib/pools/mixins/withdrawOneCoinWrappedMixins.d.ts +3 -0
  193. package/lib/pools/mixins/withdrawOneCoinWrappedMixins.js +205 -0
  194. package/lib/pools/mixins/withdrawWrappedMixins.d.ts +3 -0
  195. package/lib/pools/mixins/withdrawWrappedMixins.js +206 -0
  196. package/lib/pools/poolConstructor.d.ts +2 -0
  197. package/lib/pools/poolConstructor.js +228 -0
  198. package/lib/pools/utils.d.ts +4 -0
  199. package/lib/pools/utils.js +85 -0
  200. package/lib/router.d.ts +12 -0
  201. package/lib/router.js +624 -0
  202. package/lib/utils.d.ts +10 -16
  203. package/lib/utils.js +43 -130
  204. package/package.json +1 -1
  205. package/lib/constants/abis/abis-ethereum.d.ts +0 -4
  206. package/lib/constants/abis/abis-polygon.d.ts +0 -4
  207. package/lib/constants/abis/json/aRewards.json +0 -1
  208. package/lib/constants/abis/json/compound/migration.json +0 -57
  209. package/lib/constants/abis/json/compound/oldSwap.json +0 -688
  210. package/lib/constants/abis/json/ren/adapter.json +0 -1
  211. package/lib/constants/abis/json/sbtc/adapter.json +0 -1
  212. package/lib/pools.d.ts +0 -267
  213. package/lib/pools.js +0 -4742
@@ -0,0 +1,3 @@
1
+ import { POOLS_DATA_ETHEREUM } from "./ethereum";
2
+ import { POOLS_DATA_POLYGON } from "./polygon";
3
+ export { POOLS_DATA_ETHEREUM, POOLS_DATA_POLYGON, };
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ 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; } });
@@ -0,0 +1,4 @@
1
+ import { IPoolData } from "../../interfaces";
2
+ export declare const POOLS_DATA_POLYGON: {
3
+ [index: string]: IPoolData;
4
+ };
@@ -4,77 +4,74 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.POOLS_DATA_POLYGON = void 0;
7
- var swap_json_1 = __importDefault(require("./json/aave/swap.json"));
8
- var rewards_json_1 = __importDefault(require("./json/paave/rewards.json"));
9
- var swap_json_2 = __importDefault(require("./json/ren-polygon/swap.json"));
10
- var swap_json_3 = __importDefault(require("./json/atricrypto3/swap.json"));
11
- var zap_json_1 = __importDefault(require("./json/atricrypto3/zap.json"));
12
- var swap_json_4 = __importDefault(require("./json/eurtusd/swap.json"));
13
- var deposit_json_1 = __importDefault(require("./json/eurtusd/deposit.json"));
14
- var gauge_rewards_only_json_1 = __importDefault(require("./json/gauge_rewards_only.json"));
15
- exports.POOLS_DATA_POLYGON = {
7
+ var swap_json_1 = __importDefault(require("../abis/aave/swap.json"));
8
+ var rewards_json_1 = __importDefault(require("../abis/paave/rewards.json"));
9
+ var swap_json_2 = __importDefault(require("../abis/ren-polygon/swap.json"));
10
+ var swap_json_3 = __importDefault(require("../abis/atricrypto3/swap.json"));
11
+ var zap_json_1 = __importDefault(require("../abis/atricrypto3/zap.json"));
12
+ var swap_json_4 = __importDefault(require("../abis/eurtusd/swap.json"));
13
+ var deposit_json_1 = __importDefault(require("../abis/eurtusd/deposit.json"));
14
+ var gauge_rewards_only_json_1 = __importDefault(require("../abis/gauge_rewards_only.json"));
15
+ var utils_1 = require("../utils");
16
+ exports.POOLS_DATA_POLYGON = (0, utils_1.lowerCasePoolDataAddresses)({
16
17
  aave: {
17
18
  name: "aave",
18
19
  full_name: "aave",
19
20
  symbol: "aave",
20
21
  reference_asset: 'USD',
21
- N_COINS: 3,
22
- is_aave: true,
23
- underlying_decimals: [18, 6, 6],
24
- decimals: [18, 6, 6],
25
- use_lending: [true, true, true],
26
- tethered: [false, false, true],
27
- is_plain: [false, false, false],
28
22
  swap_address: '0x445FE580eF8d70FF569aB36e80c647af338db351',
29
23
  token_address: '0xE7a24EF0C5e95Ffb0f6684b813A78F2a3AD7D171',
30
24
  gauge_address: '0x19793B454D3AfC7b454F206Ffe95aDE26cA6912c',
25
+ sCurveRewards_address: '0xBdFF0C27dd073C119ebcb1299a68A6A92aE607F0',
26
+ reward_contract: "0xC48f4653dd6a9509De44c92beb0604BEA3AEe714",
27
+ is_lending: true,
31
28
  underlying_coins: ['DAI', 'USDC', 'USDT'],
32
- coins: ['amDAI', 'amUSDC', 'amUSDT'],
29
+ wrapped_coins: ['amDAI', 'amUSDC', 'amUSDT'],
33
30
  underlying_coin_addresses: [
34
31
  '0x8f3cf7ad23cd3cadbd9735aff958023239c6a063',
35
32
  '0x2791bca1f2de4661ed88a30c99a7a9449aa84174',
36
33
  '0xc2132d05d31c914a87c6611c10748aeb04b58e8f',
37
34
  ],
38
- coin_addresses: [
35
+ wrapped_coin_addresses: [
39
36
  '0x27F8D03b3a2196956ED754baDc28D73be8830A6e',
40
37
  '0x1a13F4Ca1d028320A707D99520AbFefca3998b7F',
41
38
  '0x60D55F02A771d515e077c9C2403a1ef324885CeC',
42
39
  ],
40
+ underlying_decimals: [18, 6, 6],
41
+ wrapped_decimals: [18, 6, 6],
42
+ use_lending: [true, true, true],
43
+ reward_tokens: ["0x172370d5cd63279efa6d502dab29171933a610af"],
44
+ reward_decimals: [18],
43
45
  swap_abi: swap_json_1.default,
44
- sCurveRewards_abi: rewards_json_1.default,
45
- sCurveRewards_address: '0xBdFF0C27dd073C119ebcb1299a68A6A92aE607F0',
46
- reward_tokens: ["0x172370d5cd63279efa6d502dab29171933a610af", "0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270"],
47
- reward_contract: "0xC48f4653dd6a9509De44c92beb0604BEA3AEe714",
48
46
  gauge_abi: gauge_rewards_only_json_1.default,
47
+ sCurveRewards_abi: rewards_json_1.default,
49
48
  },
50
49
  ren: {
51
50
  name: "ren",
52
51
  full_name: "ren",
53
52
  symbol: "ren",
54
53
  reference_asset: 'BTC',
55
- N_COINS: 2,
56
- is_aave: true,
57
- underlying_decimals: [8, 8],
58
- decimals: [8, 8],
59
- use_lending: [true, false],
60
- tethered: [false, false],
61
- is_plain: [false, true],
62
54
  swap_address: '0xC2d95EEF97Ec6C17551d45e77B590dc1F9117C67',
63
55
  token_address: '0xf8a57c1d3b9629b77b6726a042ca48990A84Fb49',
64
56
  gauge_address: '0xffbACcE0CC7C19d46132f1258FC16CF6871D153c',
57
+ reward_contract: "0x488E6ef919C2bB9de535C634a80afb0114DA8F62",
58
+ is_lending: true,
65
59
  underlying_coins: ['WBTC', 'renBTC'],
66
- coins: ['amWBTC', 'renBTC'],
60
+ wrapped_coins: ['amWBTC', 'renBTC'],
67
61
  underlying_coin_addresses: [
68
62
  '0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6',
69
63
  '0xDBf31dF14B66535aF65AaC99C32e9eA844e14501',
70
64
  ],
71
- coin_addresses: [
65
+ wrapped_coin_addresses: [
72
66
  '0x5c2ed810328349100A66B82b78a1791B101C9D61',
73
67
  '0xDBf31dF14B66535aF65AaC99C32e9eA844e14501',
74
68
  ],
69
+ underlying_decimals: [8, 8],
70
+ wrapped_decimals: [8, 8],
71
+ use_lending: [true, false],
72
+ reward_tokens: ["0x172370d5cd63279efa6d502dab29171933a610af"],
73
+ reward_decimals: [18],
75
74
  swap_abi: swap_json_2.default,
76
- reward_contract: "0x488E6ef919C2bB9de535C634a80afb0114DA8F62",
77
- reward_tokens: ["0x172370d5cd63279efa6d502dab29171933a610af", "0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270"],
78
75
  gauge_abi: gauge_rewards_only_json_1.default,
79
76
  },
80
77
  atricrypto3: {
@@ -82,23 +79,17 @@ exports.POOLS_DATA_POLYGON = {
82
79
  full_name: "atricrypto3",
83
80
  symbol: "atricrypto3",
84
81
  reference_asset: 'CRYPTO',
85
- swap_abi: swap_json_3.default,
86
- deposit_abi: zap_json_1.default,
87
- N_COINS: 5,
88
- underlying_decimals: [18, 6, 6, 8, 18],
89
- decimals: [18, 8, 18],
90
- tethered: [false, false, false, false, false],
91
- use_lending: [false, false, false, false, false],
92
- is_plain: [true, true, true, true, true],
93
82
  swap_address: '0x92215849c439E1f8612b6646060B4E3E5ef822cC',
94
83
  token_address: '0xdAD97F7713Ae9437fa9249920eC8507e5FbB23d3',
95
84
  gauge_address: '0x3B6B158A76fd8ccc297538F454ce7B4787778c7C',
96
85
  deposit_address: '0x1d8b86e3D88cDb2d34688e87E72F388Cb541B7C8',
86
+ reward_contract: "0x060e386eCfBacf42Aa72171Af9EFe17b3993fC4F",
87
+ is_meta: true,
97
88
  is_crypto: true,
98
- base_pool: 'aave',
99
89
  is_fake: true,
90
+ base_pool: 'aave',
100
91
  underlying_coins: ['DAI', 'USDC', 'USDT', 'WBTC', 'WETH'],
101
- coins: ['am3CRV', 'amWBTC', 'amWETH'],
92
+ wrapped_coins: ['am3CRV', 'amWBTC', 'amWETH'],
102
93
  underlying_coin_addresses: [
103
94
  '0x8f3cf7ad23cd3cadbd9735aff958023239c6a063',
104
95
  '0x2791bca1f2de4661ed88a30c99a7a9449aa84174',
@@ -106,69 +97,50 @@ exports.POOLS_DATA_POLYGON = {
106
97
  '0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6',
107
98
  '0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619', // WETH
108
99
  ],
109
- coin_addresses: [
100
+ wrapped_coin_addresses: [
110
101
  '0xE7a24EF0C5e95Ffb0f6684b813A78F2a3AD7D171',
111
102
  '0x5c2ed810328349100A66B82b78a1791B101C9D61',
112
103
  '0x28424507fefb6f7f8E9D3860F56504E4e5f5f390', // amWETH
113
104
  ],
114
- is_meta: true,
115
- meta_coin_addresses: [
116
- '0x8f3cf7ad23cd3cadbd9735aff958023239c6a063',
117
- '0x2791bca1f2de4661ed88a30c99a7a9449aa84174',
118
- '0xc2132d05d31c914a87c6611c10748aeb04b58e8f', // USDT
119
- ],
120
- reward_contract: "0x060e386eCfBacf42Aa72171Af9EFe17b3993fC4F",
121
- reward_tokens: ["0x172370d5cd63279efa6d502dab29171933a610af", "0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270"],
105
+ underlying_decimals: [18, 6, 6, 8, 18],
106
+ wrapped_decimals: [18, 8, 18],
107
+ reward_tokens: ["0x172370d5cd63279efa6d502dab29171933a610af"],
108
+ reward_decimals: [18],
109
+ swap_abi: swap_json_3.default,
122
110
  gauge_abi: gauge_rewards_only_json_1.default,
111
+ deposit_abi: zap_json_1.default,
123
112
  },
124
113
  eurtusd: {
125
114
  name: "eurtusd",
126
115
  full_name: "eurtusd",
127
116
  symbol: "eurtusd",
128
117
  reference_asset: 'CRYPTO',
129
- N_COINS: 2,
130
- underlying_decimals: [6, 18],
131
- decimals: [6, 18],
132
- tethered: [false, false],
133
- use_lending: [false, false],
134
- is_plain: [true, true],
135
118
  swap_address: '0xB446BF7b8D6D4276d0c75eC0e3ee8dD7Fe15783A',
136
119
  token_address: '0x600743B1d8A96438bD46836fD34977a00293f6Aa',
137
120
  gauge_address: '0x40c0e9376468b4f257d15F8c47E5D0C646C28880',
121
+ deposit_address: '0x225FB4176f0E20CDb66b4a3DF70CA3063281E855',
122
+ reward_contract: "0xAF78381216a8eCC7Ad5957f3cD12a431500E0B0D",
123
+ is_meta: true,
138
124
  is_crypto: true,
139
125
  base_pool: 'aave',
140
126
  underlying_coins: ['EURT', 'DAI', 'USDC', 'USDT'],
141
- coins: ['EURT', 'am3CRV'],
127
+ wrapped_coins: ['EURT', 'am3CRV'],
142
128
  underlying_coin_addresses: [
143
129
  '0x7BDF330f423Ea880FF95fC41A280fD5eCFD3D09f',
144
- '0xE7a24EF0C5e95Ffb0f6684b813A78F2a3AD7D171', // am3CRV
145
- ],
146
- coin_addresses: [
147
- '0x7BDF330f423Ea880FF95fC41A280fD5eCFD3D09f',
148
- '0xE7a24EF0C5e95Ffb0f6684b813A78F2a3AD7D171', // am3CRV
149
- ],
150
- swap_abi: swap_json_4.default,
151
- deposit_abi: deposit_json_1.default,
152
- deposit_address: '0x225FB4176f0E20CDb66b4a3DF70CA3063281E855',
153
- is_meta: true,
154
- meta_N: 5,
155
- meta_decimals: [6, 18, 18, 6, 6],
156
- meta_coin_decimals: [6, 18, 6, 6],
157
- meta_wrapped_decimals: [6, 18],
158
- meta_coin_addresses: [
159
130
  '0x8f3cf7ad23cd3cadbd9735aff958023239c6a063',
160
131
  '0x2791bca1f2de4661ed88a30c99a7a9449aa84174',
161
132
  '0xc2132d05d31c914a87c6611c10748aeb04b58e8f', // USDT
162
133
  ],
163
- all_coin_addresses: [
134
+ wrapped_coin_addresses: [
164
135
  '0x7BDF330f423Ea880FF95fC41A280fD5eCFD3D09f',
165
- '0xE7a24EF0C5e95Ffb0f6684b813A78F2a3AD7D171',
166
- '0x8f3cf7ad23cd3cadbd9735aff958023239c6a063',
167
- '0x2791bca1f2de4661ed88a30c99a7a9449aa84174',
168
- '0xc2132d05d31c914a87c6611c10748aeb04b58e8f', // USDT
136
+ '0xE7a24EF0C5e95Ffb0f6684b813A78F2a3AD7D171', // am3CRV
169
137
  ],
170
- reward_contract: "0xAF78381216a8eCC7Ad5957f3cD12a431500E0B0D",
138
+ underlying_decimals: [6, 18, 6, 6],
139
+ wrapped_decimals: [6, 18],
171
140
  reward_tokens: ["0x172370d5cd63279efa6d502dab29171933a610af"],
141
+ reward_decimals: [18],
142
+ swap_abi: swap_json_4.default,
172
143
  gauge_abi: gauge_rewards_only_json_1.default,
144
+ deposit_abi: deposit_json_1.default,
173
145
  },
174
- };
146
+ });
@@ -0,0 +1,5 @@
1
+ import { IDict, IPoolData } from "../interfaces";
2
+ export declare const lowerCasePoolDataAddresses: (poolsData: IDict<IPoolData>) => IDict<IPoolData>;
3
+ export declare const extractDecimals: (poolsData: IDict<IPoolData>) => IDict<number>;
4
+ export declare const extractGauges: (poolsData: IDict<IPoolData>) => string[];
5
+ export declare const lowerCaseValues: (dict: IDict<string>) => IDict<string>;
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ 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) {
7
+ if (!Object.prototype.hasOwnProperty.call(poolsData, poolId))
8
+ continue;
9
+ var poolData = poolsData[poolId];
10
+ poolData.swap_address = poolData.swap_address.toLowerCase();
11
+ poolData.token_address = poolData.token_address.toLowerCase();
12
+ poolData.gauge_address = poolData.gauge_address.toLowerCase();
13
+ if (poolData.deposit_address)
14
+ poolData.deposit_address = poolData.deposit_address.toLowerCase();
15
+ if (poolData.sCurveRewards_address)
16
+ poolData.sCurveRewards_address = poolData.sCurveRewards_address.toLowerCase();
17
+ if (poolData.reward_contract)
18
+ 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(); });
21
+ if (poolData.reward_tokens)
22
+ poolData.reward_tokens = poolData.reward_tokens.map(function (a) { return a.toLowerCase(); });
23
+ }
24
+ return poolsData;
25
+ };
26
+ exports.lowerCasePoolDataAddresses = lowerCasePoolDataAddresses;
27
+ var extractDecimals = function (poolsData) {
28
+ var _a, _b;
29
+ var DECIMALS = {};
30
+ for (var poolId in poolsData) {
31
+ if (!Object.prototype.hasOwnProperty.call(poolsData, poolId))
32
+ continue;
33
+ var poolData = poolsData[poolId];
34
+ // LP token
35
+ DECIMALS[poolData.token_address] = 18;
36
+ // Underlying coins
37
+ for (var i = 0; i < poolData.underlying_coin_addresses.length; i++) {
38
+ DECIMALS[poolData.underlying_coin_addresses[i]] = poolData.underlying_decimals[i];
39
+ }
40
+ // Wrapped coins
41
+ for (var i = 0; i < poolData.wrapped_coin_addresses.length; i++) {
42
+ DECIMALS[poolData.wrapped_coin_addresses[i]] = poolData.wrapped_decimals[i];
43
+ }
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
+ }
51
+ return DECIMALS;
52
+ };
53
+ exports.extractDecimals = extractDecimals;
54
+ var extractGauges = function (poolsData) {
55
+ var GAUGES = [];
56
+ for (var _i = 0, _a = Object.values(poolsData); _i < _a.length; _i++) {
57
+ var poolData = _a[_i];
58
+ if (poolData.gauge_address === ethers_1.ethers.constants.AddressZero)
59
+ continue;
60
+ GAUGES.push(poolData.gauge_address);
61
+ }
62
+ return GAUGES;
63
+ };
64
+ exports.extractGauges = extractGauges;
65
+ var lowerCaseValues = function (dict) {
66
+ // @ts-ignore
67
+ return Object.fromEntries(Object.entries(dict).map(function (entry) { return [entry[0], entry[1].toLowerCase()]; }));
68
+ };
69
+ exports.lowerCaseValues = lowerCaseValues;
package/lib/curve.d.ts CHANGED
@@ -1,37 +1,7 @@
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 { PoolDataInterface, DictInterface, ICurve } from "./interfaces";
5
- export declare let POOLS_DATA: {
6
- [index: string]: PoolDataInterface;
7
- };
8
- export declare let LP_TOKENS: string[];
9
- export declare let GAUGES: string[];
10
- export declare let BTC_COINS: DictInterface<string>;
11
- export declare let BTC_COINS_LOWER_CASE: DictInterface<string>;
12
- export declare let ETH_COINS: DictInterface<string>;
13
- export declare let ETH_COINS_LOWER_CASE: DictInterface<string>;
14
- export declare let LINK_COINS: DictInterface<string>;
15
- export declare let LINK_COINS_LOWER_CASE: DictInterface<string>;
16
- export declare let EUR_COINS: DictInterface<string>;
17
- export declare let EUR_COINS_LOWER_CASE: DictInterface<string>;
18
- export declare let USD_COINS: DictInterface<string>;
19
- export declare let USD_COINS_LOWER_CASE: DictInterface<string>;
20
- export declare let COINS: DictInterface<string>;
21
- export declare let DECIMALS: DictInterface<number>;
22
- export declare let DECIMALS_LOWER_CASE: DictInterface<number>;
23
- export declare let ALIASES: {
24
- crv: string;
25
- minter: string;
26
- voting_escrow: string;
27
- gauge_controller: string;
28
- address_provider: string;
29
- router: string;
30
- deposit_and_stake: string;
31
- factory: string;
32
- crypto_factory: string;
33
- registry_exchange: string;
34
- };
4
+ import { IPoolData, IDict, ICurve } from "./interfaces";
35
5
  declare class Curve implements ICurve {
36
6
  provider: ethers.providers.Web3Provider | ethers.providers.JsonRpcProvider;
37
7
  multicallProvider: MulticallProvider;
@@ -57,7 +27,15 @@ declare class Curve implements ICurve {
57
27
  maxFeePerGas?: number | ethers.BigNumber;
58
28
  maxPriorityFeePerGas?: number | ethers.BigNumber;
59
29
  };
60
- constants: DictInterface<any>;
30
+ constants: {
31
+ ALIASES: IDict<string>;
32
+ POOLS_DATA: IDict<IPoolData>;
33
+ FACTORY_POOLS_DATA: IDict<IPoolData>;
34
+ CRYPTO_FACTORY_POOLS_DATA: IDict<IPoolData>;
35
+ COINS: IDict<string>;
36
+ DECIMALS: IDict<number>;
37
+ GAUGES: string[];
38
+ };
61
39
  constructor();
62
40
  init(providerType: 'JsonRpc' | 'Web3' | 'Infura' | 'Alchemy', providerSettings: {
63
41
  url?: string;