@curvefi/api 1.25.2 → 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} +52 -80
  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 +188 -232
  145. package/lib/external-api.d.ts +3 -2
  146. package/lib/external-api.js +18 -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 +34 -49
  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 +25 -67
  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 +33 -126
  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 -4752
package/lib/curve.js CHANGED
@@ -59,41 +59,49 @@ 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 = exports.ALIASES = exports.DECIMALS_LOWER_CASE = exports.DECIMALS = exports.COINS = exports.USD_COINS_LOWER_CASE = exports.USD_COINS = exports.EUR_COINS_LOWER_CASE = exports.EUR_COINS = exports.LINK_COINS_LOWER_CASE = exports.LINK_COINS = exports.ETH_COINS_LOWER_CASE = exports.ETH_COINS = exports.BTC_COINS_LOWER_CASE = exports.BTC_COINS = exports.GAUGES = exports.LP_TOKENS = exports.POOLS_DATA = void 0;
62
+ exports.curve = void 0;
63
63
  var ethers_1 = require("ethers");
64
64
  var ethcall_1 = require("ethcall");
65
65
  var factory_1 = require("./factory/factory");
66
66
  var factory_api_1 = require("./factory/factory-api");
67
67
  var factory_crypto_1 = require("./factory/factory-crypto");
68
- var ERC20_json_1 = __importDefault(require("./constants/abis/json/ERC20.json"));
69
- var cERC20_json_1 = __importDefault(require("./constants/abis/json/cERC20.json"));
70
- var yERC20_json_1 = __importDefault(require("./constants/abis/json/yERC20.json"));
71
- var minter_json_1 = __importDefault(require("./constants/abis/json/minter.json"));
72
- var votingescrow_json_1 = __importDefault(require("./constants/abis/json/votingescrow.json"));
73
- var address_provider_json_1 = __importDefault(require("./constants/abis/json/address_provider.json"));
74
- var gaugecontroller_json_1 = __importDefault(require("./constants/abis/json/gaugecontroller.json"));
75
- var router_json_1 = __importDefault(require("./constants/abis/json/router.json"));
76
- var deposit_and_stake_json_1 = __importDefault(require("./constants/abis/json/deposit_and_stake.json"));
77
- var registry_exchange_json_1 = __importDefault(require("./constants/abis/json/registry_exchange.json"));
78
- var streamer_json_1 = __importDefault(require("./constants/abis/json/streamer.json"));
79
- var factory_json_1 = __importDefault(require("./constants/abis/json/factory.json"));
80
- var factory_crypto_json_1 = __importDefault(require("./constants/abis/json/factory-crypto.json"));
81
- var abis_ethereum_1 = require("./constants/abis/abis-ethereum");
82
- var abis_polygon_1 = require("./constants/abis/abis-polygon");
83
- var coins_ethereum_1 = require("./constants/coins-ethereum");
84
- var coins_polygon_1 = require("./constants/coins-polygon");
68
+ var ERC20_json_1 = __importDefault(require("./constants/abis/ERC20.json"));
69
+ var cERC20_json_1 = __importDefault(require("./constants/abis/cERC20.json"));
70
+ var yERC20_json_1 = __importDefault(require("./constants/abis/yERC20.json"));
71
+ var minter_json_1 = __importDefault(require("./constants/abis/minter.json"));
72
+ var votingescrow_json_1 = __importDefault(require("./constants/abis/votingescrow.json"));
73
+ var address_provider_json_1 = __importDefault(require("./constants/abis/address_provider.json"));
74
+ var gaugecontroller_json_1 = __importDefault(require("./constants/abis/gaugecontroller.json"));
75
+ var router_json_1 = __importDefault(require("./constants/abis/router.json"));
76
+ var deposit_and_stake_json_1 = __importDefault(require("./constants/abis/deposit_and_stake.json"));
77
+ var registry_exchange_json_1 = __importDefault(require("./constants/abis/registry_exchange.json"));
78
+ var streamer_json_1 = __importDefault(require("./constants/abis/streamer.json"));
79
+ var factory_json_1 = __importDefault(require("./constants/abis/factory.json"));
80
+ var factory_crypto_json_1 = __importDefault(require("./constants/abis/factory-crypto.json"));
81
+ var pools_1 = require("./constants/pools");
82
+ var ethereum_1 = require("./constants/coins/ethereum");
83
+ var polygon_1 = require("./constants/coins/polygon");
85
84
  var aliases_1 = require("./constants/aliases");
86
- exports.ALIASES = {
87
- "crv": "0xD533a949740bb3306d119CC777fa900bA034cd52",
88
- "minter": "0xd061D61a4d941c39E5453435B6345Dc261C2fcE0",
89
- "voting_escrow": "0x5f3b5DfEb7B28CDbD7FAba78963EE202a494e2A2",
90
- "gauge_controller": "0x2F50D538606Fa9EDD2B11E2446BEb18C9D5846bB",
91
- "address_provider": "0x0000000022d53366457f9d5e68ec105046fc4383",
92
- "router": "0xfA9a30350048B2BF66865ee20363067c66f67e58",
93
- "deposit_and_stake": "0x271fbE8aB7f1fB262f81C77Ea5303F03DA9d3d6A",
94
- "factory": '0xb9fc157394af804a3578134a6585c0dc9cc990d4',
95
- "crypto_factory": '0xF18056Bbd320E96A48e3Fbf8bC061322531aac99',
96
- "registry_exchange": "",
85
+ var utils_1 = require("./constants/utils");
86
+ var CONSTANTS = {
87
+ 1: {
88
+ ALIASES: aliases_1.ALIASES_ETHEREUM,
89
+ POOLS_DATA: pools_1.POOLS_DATA_ETHEREUM,
90
+ COINS: ethereum_1.COINS_ETHEREUM,
91
+ cTokens: ethereum_1.cTokensEthereum,
92
+ yTokens: ethereum_1.yTokensEthereum,
93
+ ycTokens: ethereum_1.ycTokensEthereum,
94
+ aTokens: ethereum_1.aTokensEthereum,
95
+ },
96
+ 137: {
97
+ ALIASES: aliases_1.ALIASES_POLYGON,
98
+ POOLS_DATA: pools_1.POOLS_DATA_POLYGON,
99
+ COINS: polygon_1.COINS_POLYGON,
100
+ cTokens: polygon_1.cTokensPolygon,
101
+ yTokens: polygon_1.yTokensPolygon,
102
+ ycTokens: polygon_1.ycTokensPolygon,
103
+ aTokens: polygon_1.aTokensPolygon,
104
+ },
97
105
  };
98
106
  var Curve = /** @class */ (function () {
99
107
  function Curve() {
@@ -109,17 +117,45 @@ var Curve = /** @class */ (function () {
109
117
  this.feeData = {};
110
118
  this.constantOptions = { gasLimit: 12000000 };
111
119
  this.options = {};
112
- this.constants = {};
120
+ this.constants = {
121
+ ALIASES: {},
122
+ POOLS_DATA: {},
123
+ FACTORY_POOLS_DATA: {},
124
+ CRYPTO_FACTORY_POOLS_DATA: {},
125
+ COINS: {},
126
+ DECIMALS: {},
127
+ GAUGES: [],
128
+ };
113
129
  }
114
130
  Curve.prototype.init = function (providerType, providerSettings, options // gasPrice in Gwei
115
131
  ) {
116
132
  if (options === void 0) { options = {}; }
117
133
  return __awaiter(this, void 0, void 0, function () {
118
- var cTokens, yTokens, ycTokens, aTokens, network, _a, customAbiTokens, _b, _i, _c, pool, _d, _e, coinAddr, _f, _g, coinAddr, _h, _j, coinAddr, _k, _l, rewardTokenAddr, addressProviderContract, _m;
119
- return __generator(this, function (_o) {
120
- switch (_o.label) {
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) {
121
137
  case 0:
138
+ // @ts-ignore
139
+ this.provider = null;
140
+ // @ts-ignore
141
+ this.signer = null;
142
+ this.signerAddress = '';
143
+ this.chainId = 0;
144
+ // @ts-ignore
145
+ this.multicallProvider = null;
122
146
  this.contracts = {};
147
+ this.feeData = {};
148
+ this.constantOptions = { gasLimit: 12000000 };
149
+ this.options = {};
150
+ this.constants = {
151
+ ALIASES: {},
152
+ POOLS_DATA: {},
153
+ FACTORY_POOLS_DATA: {},
154
+ CRYPTO_FACTORY_POOLS_DATA: {},
155
+ COINS: {},
156
+ DECIMALS: {},
157
+ GAUGES: [],
158
+ };
123
159
  // JsonRpc provider
124
160
  if (providerType.toLowerCase() === 'JsonRpc'.toLowerCase()) {
125
161
  providerSettings = providerSettings;
@@ -161,173 +197,100 @@ var Curve = /** @class */ (function () {
161
197
  if (_a) return [3 /*break*/, 2];
162
198
  return [4 /*yield*/, this.provider._networkPromise];
163
199
  case 1:
164
- _a = (_o.sent());
165
- _o.label = 2;
200
+ _a = (_p.sent());
201
+ _p.label = 2;
166
202
  case 2:
167
203
  network = _a;
168
204
  console.log("CURVE-JS IS CONNECTED TO NETWORK:", network);
169
- this.chainId = network.chainId;
170
- if (network.chainId === 1 || network.chainId === 1337) {
171
- cTokens = coins_ethereum_1.cTokensEthereum;
172
- yTokens = coins_ethereum_1.yTokensEthereum;
173
- ycTokens = coins_ethereum_1.ycTokensEthereum;
174
- aTokens = coins_ethereum_1.aTokensEthereum;
175
- exports.ALIASES = aliases_1.ALIASES_ETHEREUM;
176
- exports.POOLS_DATA = abis_ethereum_1.POOLS_DATA_ETHEREUM;
177
- exports.BTC_COINS = coins_ethereum_1.BTC_COINS_ETHEREUM;
178
- exports.BTC_COINS_LOWER_CASE = coins_ethereum_1.BTC_COINS_LOWER_CASE_ETHEREUM;
179
- exports.ETH_COINS = coins_ethereum_1.ETH_COINS_ETHEREUM;
180
- exports.ETH_COINS_LOWER_CASE = coins_ethereum_1.ETH_COINS_LOWER_CASE_ETHEREUM;
181
- exports.LINK_COINS = coins_ethereum_1.LINK_COINS_ETHEREUM;
182
- exports.LINK_COINS_LOWER_CASE = coins_ethereum_1.LINK_COINS_LOWER_CASE_ETHEREUM;
183
- exports.EUR_COINS = coins_ethereum_1.EUR_COINS_ETHEREUM;
184
- exports.EUR_COINS_LOWER_CASE = coins_ethereum_1.EUR_COINS_LOWER_CASE_ETHEREUM;
185
- exports.USD_COINS = coins_ethereum_1.USD_COINS_ETHEREUM;
186
- exports.USD_COINS_LOWER_CASE = coins_ethereum_1.USD_COINS_LOWER_CASE_ETHEREUM;
187
- exports.COINS = coins_ethereum_1.COINS_ETHEREUM;
188
- exports.DECIMALS = coins_ethereum_1.DECIMALS_ETHEREUM;
189
- exports.DECIMALS_LOWER_CASE = coins_ethereum_1.DECIMALS_LOWER_CASE_ETHEREUM;
190
- }
191
- else if (network.chainId === 137) {
192
- cTokens = coins_polygon_1.cTokensPolygon;
193
- yTokens = coins_polygon_1.yTokensPolygon;
194
- ycTokens = coins_polygon_1.ycTokensPolygon;
195
- aTokens = coins_polygon_1.aTokensPolygon;
196
- exports.ALIASES = aliases_1.ALIASES_POLYGON;
197
- exports.POOLS_DATA = abis_polygon_1.POOLS_DATA_POLYGON;
198
- exports.BTC_COINS = coins_polygon_1.BTC_COINS_POLYGON;
199
- exports.BTC_COINS_LOWER_CASE = coins_polygon_1.BTC_COINS_LOWER_CASE_POLYGON;
200
- exports.ETH_COINS = coins_polygon_1.ETH_COINS_POLYGON;
201
- exports.ETH_COINS_LOWER_CASE = coins_polygon_1.ETH_COINS_LOWER_CASE_POLYGON;
202
- exports.LINK_COINS = coins_polygon_1.LINK_COINS_POLYGON;
203
- exports.LINK_COINS_LOWER_CASE = coins_polygon_1.LINK_COINS_LOWER_CASE_POLYGON;
204
- exports.EUR_COINS = coins_polygon_1.EUR_COINS_POLYGON;
205
- exports.EUR_COINS_LOWER_CASE = coins_polygon_1.EUR_COINS_LOWER_CASE_POLYGON;
206
- exports.USD_COINS = coins_polygon_1.USD_COINS_POLYGON;
207
- exports.USD_COINS_LOWER_CASE = coins_polygon_1.USD_COINS_LOWER_CASE_POLYGON;
208
- exports.COINS = coins_polygon_1.COINS_POLYGON;
209
- exports.DECIMALS = coins_polygon_1.DECIMALS_POLYGON;
210
- exports.DECIMALS_LOWER_CASE = coins_polygon_1.DECIMALS_LOWER_CASE_POLYGON;
211
- }
212
- else {
213
- throw Error("Network with chainId ".concat(this.provider.network.chainId, " is not supported"));
214
- }
215
- exports.LP_TOKENS = Object.values(exports.POOLS_DATA).map(function (data) { return data.token_address.toLowerCase(); });
216
- exports.GAUGES = Object.values(exports.POOLS_DATA).map(function (data) { return data.gauge_address.toLowerCase(); });
205
+ 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;
209
+ this.constants.DECIMALS = (0, utils_1.extractDecimals)(this.constants.POOLS_DATA);
210
+ this.constants.GAUGES = (0, utils_1.extractGauges)(this.constants.POOLS_DATA);
211
+ _b = [
212
+ CONSTANTS[this.chainId].cTokens,
213
+ CONSTANTS[this.chainId].yTokens,
214
+ CONSTANTS[this.chainId].ycTokens,
215
+ CONSTANTS[this.chainId].aTokens,
216
+ ], cTokens = _b[0], yTokens = _b[1], ycTokens = _b[2], aTokens = _b[3];
217
217
  customAbiTokens = __spreadArray(__spreadArray(__spreadArray(__spreadArray([], cTokens, true), yTokens, true), ycTokens, true), aTokens, true);
218
218
  this.multicallProvider = new ethcall_1.Provider();
219
219
  return [4 /*yield*/, this.multicallProvider.init(this.provider)];
220
220
  case 3:
221
- _o.sent();
221
+ _p.sent();
222
222
  if (!this.signer) return [3 /*break*/, 5];
223
- _b = this;
223
+ _c = this;
224
224
  return [4 /*yield*/, this.signer.getAddress()];
225
225
  case 4:
226
- _b.signerAddress = _o.sent();
226
+ _c.signerAddress = _p.sent();
227
227
  return [3 /*break*/, 6];
228
228
  case 5:
229
229
  this.signerAddress = '';
230
- _o.label = 6;
230
+ _p.label = 6;
231
231
  case 6:
232
232
  this.feeData = { gasPrice: options.gasPrice, maxFeePerGas: options.maxFeePerGas, maxPriorityFeePerGas: options.maxPriorityFeePerGas };
233
233
  return [4 /*yield*/, this.updateFeeData()];
234
234
  case 7:
235
- _o.sent();
236
- // TODO delete toLowerCase()
237
- for (_i = 0, _c = Object.values(exports.POOLS_DATA); _i < _c.length; _i++) {
238
- pool = _c[_i];
235
+ _p.sent();
236
+ for (_i = 0, _d = Object.values(this.constants.POOLS_DATA); _i < _d.length; _i++) {
237
+ pool = _d[_i];
239
238
  this.contracts[pool.swap_address] = {
240
239
  contract: new ethers_1.Contract(pool.swap_address, pool.swap_abi, this.signer || this.provider),
241
240
  multicallContract: new ethcall_1.Contract(pool.swap_address, pool.swap_abi),
242
241
  };
243
- this.contracts[pool.swap_address.toLowerCase()] = {
244
- contract: new ethers_1.Contract(pool.swap_address, pool.swap_abi, this.signer || this.provider),
245
- multicallContract: new ethcall_1.Contract(pool.swap_address, pool.swap_abi),
246
- };
247
242
  if (pool.token_address !== pool.swap_address) {
248
243
  this.contracts[pool.token_address] = {
249
244
  contract: new ethers_1.Contract(pool.token_address, ERC20_json_1.default, this.signer || this.provider),
250
245
  multicallContract: new ethcall_1.Contract(pool.token_address, ERC20_json_1.default),
251
246
  };
252
- this.contracts[pool.token_address.toLowerCase()] = {
253
- contract: new ethers_1.Contract(pool.token_address, ERC20_json_1.default, this.signer || this.provider),
254
- multicallContract: new ethcall_1.Contract(pool.token_address, ERC20_json_1.default),
255
- };
256
247
  }
257
248
  this.contracts[pool.gauge_address] = {
258
249
  contract: new ethers_1.Contract(pool.gauge_address, pool.gauge_abi, this.signer || this.provider),
259
250
  multicallContract: new ethcall_1.Contract(pool.gauge_address, pool.gauge_abi),
260
251
  };
261
- this.contracts[pool.gauge_address.toLowerCase()] = {
262
- contract: new ethers_1.Contract(pool.gauge_address, pool.gauge_abi, this.signer || this.provider),
263
- multicallContract: new ethcall_1.Contract(pool.gauge_address, pool.gauge_abi),
264
- };
265
- if (pool.deposit_address && this.contracts[pool.deposit_address] === undefined) {
252
+ if (pool.deposit_address && !this.contracts[pool.deposit_address]) {
266
253
  this.contracts[pool.deposit_address] = {
267
254
  contract: new ethers_1.Contract(pool.deposit_address, pool.deposit_abi, this.signer || this.provider),
268
255
  multicallContract: new ethcall_1.Contract(pool.deposit_address, pool.deposit_abi),
269
256
  };
270
- this.contracts[pool.deposit_address.toLowerCase()] = {
271
- contract: new ethers_1.Contract(pool.deposit_address, pool.deposit_abi, this.signer || this.provider),
272
- multicallContract: new ethcall_1.Contract(pool.deposit_address, pool.deposit_abi),
273
- };
274
257
  }
275
- for (_d = 0, _e = pool.underlying_coin_addresses; _d < _e.length; _d++) {
276
- coinAddr = _e[_d];
258
+ for (_e = 0, _f = pool.underlying_coin_addresses; _e < _f.length; _e++) {
259
+ coinAddr = _f[_e];
277
260
  this.contracts[coinAddr] = {
278
261
  contract: new ethers_1.Contract(coinAddr, ERC20_json_1.default, this.signer || this.provider),
279
262
  multicallContract: new ethcall_1.Contract(coinAddr, ERC20_json_1.default),
280
263
  };
281
- this.contracts[coinAddr.toLowerCase()] = {
282
- contract: new ethers_1.Contract(coinAddr, ERC20_json_1.default, this.signer || this.provider),
283
- multicallContract: new ethcall_1.Contract(coinAddr, ERC20_json_1.default),
284
- };
285
264
  }
286
- for (_f = 0, _g = pool.coin_addresses; _f < _g.length; _f++) {
287
- coinAddr = _g[_f];
265
+ for (_g = 0, _h = pool.wrapped_coin_addresses; _g < _h.length; _g++) {
266
+ coinAddr = _h[_g];
288
267
  if (customAbiTokens.includes(coinAddr))
289
268
  continue;
290
269
  this.contracts[coinAddr] = {
291
270
  contract: new ethers_1.Contract(coinAddr, ERC20_json_1.default, this.signer || this.provider),
292
271
  multicallContract: new ethcall_1.Contract(coinAddr, ERC20_json_1.default),
293
272
  };
294
- this.contracts[coinAddr.toLowerCase()] = {
295
- contract: new ethers_1.Contract(coinAddr, ERC20_json_1.default, this.signer || this.provider),
296
- multicallContract: new ethcall_1.Contract(coinAddr, ERC20_json_1.default),
297
- };
298
273
  }
299
274
  // TODO add all coins
300
- for (_h = 0, _j = pool.coin_addresses; _h < _j.length; _h++) {
301
- coinAddr = _j[_h];
275
+ for (_j = 0, _k = pool.wrapped_coin_addresses; _j < _k.length; _j++) {
276
+ coinAddr = _k[_j];
302
277
  if (cTokens.includes(coinAddr)) {
303
278
  this.contracts[coinAddr] = {
304
279
  contract: new ethers_1.Contract(coinAddr, cERC20_json_1.default, this.signer || this.provider),
305
280
  multicallContract: new ethcall_1.Contract(coinAddr, cERC20_json_1.default),
306
281
  };
307
- this.contracts[coinAddr.toLowerCase()] = {
308
- contract: new ethers_1.Contract(coinAddr, cERC20_json_1.default, this.signer || this.provider),
309
- multicallContract: new ethcall_1.Contract(coinAddr, cERC20_json_1.default),
310
- };
311
282
  }
312
283
  if (aTokens.includes(coinAddr)) {
313
284
  this.contracts[coinAddr] = {
314
285
  contract: new ethers_1.Contract(coinAddr, ERC20_json_1.default, this.signer || this.provider),
315
286
  multicallContract: new ethcall_1.Contract(coinAddr, ERC20_json_1.default),
316
287
  };
317
- this.contracts[coinAddr.toLowerCase()] = {
318
- contract: new ethers_1.Contract(coinAddr, ERC20_json_1.default, this.signer || this.provider),
319
- multicallContract: new ethcall_1.Contract(coinAddr, ERC20_json_1.default),
320
- };
321
288
  }
322
289
  if (yTokens.includes(coinAddr) || ycTokens.includes(coinAddr)) {
323
290
  this.contracts[coinAddr] = {
324
291
  contract: new ethers_1.Contract(coinAddr, yERC20_json_1.default, this.signer || this.provider),
325
292
  multicallContract: new ethcall_1.Contract(coinAddr, yERC20_json_1.default),
326
293
  };
327
- this.contracts[coinAddr.toLowerCase()] = {
328
- contract: new ethers_1.Contract(coinAddr, yERC20_json_1.default, this.signer || this.provider),
329
- multicallContract: new ethcall_1.Contract(coinAddr, yERC20_json_1.default),
330
- };
331
294
  }
332
295
  }
333
296
  if (pool.reward_contract) {
@@ -335,116 +298,99 @@ var Curve = /** @class */ (function () {
335
298
  contract: new ethers_1.Contract(pool.reward_contract, streamer_json_1.default, this.signer || this.provider),
336
299
  multicallContract: new ethcall_1.Contract(pool.reward_contract, streamer_json_1.default),
337
300
  };
338
- this.contracts[pool.reward_contract.toLowerCase()] = {
339
- contract: new ethers_1.Contract(pool.reward_contract, streamer_json_1.default, this.signer || this.provider),
340
- multicallContract: new ethcall_1.Contract(pool.reward_contract, streamer_json_1.default),
341
- };
342
301
  }
343
- for (_k = 0, _l = pool.reward_tokens || []; _k < _l.length; _k++) {
344
- rewardTokenAddr = _l[_k];
302
+ for (_l = 0, _m = pool.reward_tokens || []; _l < _m.length; _l++) {
303
+ rewardTokenAddr = _m[_l];
345
304
  this.contracts[rewardTokenAddr] = {
346
305
  contract: new ethers_1.Contract(rewardTokenAddr, ERC20_json_1.default, this.signer || this.provider),
347
306
  multicallContract: new ethcall_1.Contract(rewardTokenAddr, ERC20_json_1.default),
348
307
  };
349
- this.contracts[rewardTokenAddr.toLowerCase()] = {
350
- contract: new ethers_1.Contract(rewardTokenAddr, ERC20_json_1.default, this.signer || this.provider),
351
- multicallContract: new ethcall_1.Contract(rewardTokenAddr, ERC20_json_1.default),
352
- };
353
308
  }
354
309
  }
355
- this.contracts[exports.ALIASES.crv] = {
356
- contract: new ethers_1.Contract(exports.ALIASES.crv, ERC20_json_1.default, this.signer || this.provider),
357
- multicallContract: new ethcall_1.Contract(exports.ALIASES.crv, ERC20_json_1.default),
310
+ this.contracts[this.constants.ALIASES.crv] = {
311
+ contract: new ethers_1.Contract(this.constants.ALIASES.crv, ERC20_json_1.default, this.signer || this.provider),
312
+ multicallContract: new ethcall_1.Contract(this.constants.ALIASES.crv, ERC20_json_1.default),
358
313
  };
359
- this.contracts[exports.ALIASES.crv.toLowerCase()] = {
360
- contract: new ethers_1.Contract(exports.ALIASES.crv, ERC20_json_1.default, this.signer || this.provider),
361
- multicallContract: new ethcall_1.Contract(exports.ALIASES.crv, ERC20_json_1.default),
314
+ this.contracts[this.constants.ALIASES.crv.toLowerCase()] = {
315
+ contract: new ethers_1.Contract(this.constants.ALIASES.crv, ERC20_json_1.default, this.signer || this.provider),
316
+ multicallContract: new ethcall_1.Contract(this.constants.ALIASES.crv, ERC20_json_1.default),
362
317
  };
363
- this.contracts[exports.ALIASES.minter] = {
364
- contract: new ethers_1.Contract(exports.ALIASES.minter, minter_json_1.default, this.signer || this.provider),
365
- multicallContract: new ethcall_1.Contract(exports.ALIASES.minter, minter_json_1.default),
318
+ 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),
366
321
  };
367
- this.contracts[exports.ALIASES.minter.toLowerCase()] = {
368
- contract: new ethers_1.Contract(exports.ALIASES.minter, minter_json_1.default, this.signer || this.provider),
369
- multicallContract: new ethcall_1.Contract(exports.ALIASES.minter, minter_json_1.default),
322
+ 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),
370
325
  };
371
- this.contracts[exports.ALIASES.voting_escrow] = {
372
- contract: new ethers_1.Contract(exports.ALIASES.voting_escrow, votingescrow_json_1.default, this.signer || this.provider),
373
- multicallContract: new ethcall_1.Contract(exports.ALIASES.voting_escrow, votingescrow_json_1.default),
326
+ this.contracts[this.constants.ALIASES.voting_escrow] = {
327
+ contract: new ethers_1.Contract(this.constants.ALIASES.voting_escrow, votingescrow_json_1.default, this.signer || this.provider),
328
+ multicallContract: new ethcall_1.Contract(this.constants.ALIASES.voting_escrow, votingescrow_json_1.default),
374
329
  };
375
- this.contracts[exports.ALIASES.voting_escrow.toLowerCase()] = {
376
- contract: new ethers_1.Contract(exports.ALIASES.voting_escrow, votingescrow_json_1.default, this.signer || this.provider),
377
- multicallContract: new ethcall_1.Contract(exports.ALIASES.voting_escrow, votingescrow_json_1.default),
330
+ this.contracts[this.constants.ALIASES.voting_escrow.toLowerCase()] = {
331
+ contract: new ethers_1.Contract(this.constants.ALIASES.voting_escrow, votingescrow_json_1.default, this.signer || this.provider),
332
+ multicallContract: new ethcall_1.Contract(this.constants.ALIASES.voting_escrow, votingescrow_json_1.default),
378
333
  };
379
- this.contracts[exports.ALIASES.address_provider] = {
380
- contract: new ethers_1.Contract(exports.ALIASES.address_provider, address_provider_json_1.default, this.signer || this.provider),
381
- multicallContract: new ethcall_1.Contract(exports.ALIASES.address_provider, address_provider_json_1.default),
334
+ this.contracts[this.constants.ALIASES.address_provider] = {
335
+ contract: new ethers_1.Contract(this.constants.ALIASES.address_provider, address_provider_json_1.default, this.signer || this.provider),
336
+ multicallContract: new ethcall_1.Contract(this.constants.ALIASES.address_provider, address_provider_json_1.default),
382
337
  };
383
- this.contracts[exports.ALIASES.address_provider.toLowerCase()] = {
384
- contract: new ethers_1.Contract(exports.ALIASES.address_provider, address_provider_json_1.default, this.signer || this.provider),
385
- multicallContract: new ethcall_1.Contract(exports.ALIASES.address_provider, address_provider_json_1.default),
338
+ this.contracts[this.constants.ALIASES.address_provider.toLowerCase()] = {
339
+ contract: new ethers_1.Contract(this.constants.ALIASES.address_provider, address_provider_json_1.default, this.signer || this.provider),
340
+ multicallContract: new ethcall_1.Contract(this.constants.ALIASES.address_provider, address_provider_json_1.default),
386
341
  };
387
- addressProviderContract = this.contracts[exports.ALIASES.address_provider].contract;
388
- _m = exports.ALIASES;
342
+ addressProviderContract = this.contracts[this.constants.ALIASES.address_provider].contract;
343
+ _o = this.constants.ALIASES;
389
344
  return [4 /*yield*/, addressProviderContract.get_address(2, this.constantOptions)];
390
345
  case 8:
391
- _m.registry_exchange = _o.sent();
392
- this.contracts[exports.ALIASES.registry_exchange] = {
393
- contract: new ethers_1.Contract(exports.ALIASES.registry_exchange, registry_exchange_json_1.default, this.signer || this.provider),
394
- multicallContract: new ethcall_1.Contract(exports.ALIASES.registry_exchange, registry_exchange_json_1.default),
346
+ _o.registry_exchange = _p.sent();
347
+ this.contracts[this.constants.ALIASES.registry_exchange] = {
348
+ contract: new ethers_1.Contract(this.constants.ALIASES.registry_exchange, registry_exchange_json_1.default, this.signer || this.provider),
349
+ multicallContract: new ethcall_1.Contract(this.constants.ALIASES.registry_exchange, registry_exchange_json_1.default),
395
350
  };
396
- this.contracts[exports.ALIASES.registry_exchange.toLowerCase()] = {
397
- contract: new ethers_1.Contract(exports.ALIASES.registry_exchange, registry_exchange_json_1.default, this.signer || this.provider),
398
- multicallContract: new ethcall_1.Contract(exports.ALIASES.registry_exchange, registry_exchange_json_1.default),
351
+ this.contracts[this.constants.ALIASES.registry_exchange.toLowerCase()] = {
352
+ contract: new ethers_1.Contract(this.constants.ALIASES.registry_exchange, registry_exchange_json_1.default, this.signer || this.provider),
353
+ multicallContract: new ethcall_1.Contract(this.constants.ALIASES.registry_exchange, registry_exchange_json_1.default),
399
354
  };
400
- this.contracts[exports.ALIASES.gauge_controller] = {
401
- contract: new ethers_1.Contract(exports.ALIASES.gauge_controller, gaugecontroller_json_1.default, this.signer || this.provider),
402
- multicallContract: new ethcall_1.Contract(exports.ALIASES.gauge_controller, gaugecontroller_json_1.default),
355
+ this.contracts[this.constants.ALIASES.gauge_controller] = {
356
+ contract: new ethers_1.Contract(this.constants.ALIASES.gauge_controller, gaugecontroller_json_1.default, this.signer || this.provider),
357
+ multicallContract: new ethcall_1.Contract(this.constants.ALIASES.gauge_controller, gaugecontroller_json_1.default),
403
358
  };
404
- this.contracts[exports.ALIASES.gauge_controller.toLowerCase()] = {
405
- contract: new ethers_1.Contract(exports.ALIASES.gauge_controller, gaugecontroller_json_1.default, this.signer || this.provider),
406
- multicallContract: new ethcall_1.Contract(exports.ALIASES.gauge_controller, gaugecontroller_json_1.default),
359
+ this.contracts[this.constants.ALIASES.gauge_controller.toLowerCase()] = {
360
+ contract: new ethers_1.Contract(this.constants.ALIASES.gauge_controller, gaugecontroller_json_1.default, this.signer || this.provider),
361
+ multicallContract: new ethcall_1.Contract(this.constants.ALIASES.gauge_controller, gaugecontroller_json_1.default),
407
362
  };
408
- this.contracts[exports.ALIASES.router] = {
409
- contract: new ethers_1.Contract(exports.ALIASES.router, router_json_1.default, this.signer || this.provider),
410
- multicallContract: new ethcall_1.Contract(exports.ALIASES.router, router_json_1.default),
363
+ this.contracts[this.constants.ALIASES.router] = {
364
+ contract: new ethers_1.Contract(this.constants.ALIASES.router, router_json_1.default, this.signer || this.provider),
365
+ multicallContract: new ethcall_1.Contract(this.constants.ALIASES.router, router_json_1.default),
411
366
  };
412
- this.contracts[exports.ALIASES.router.toLowerCase()] = {
413
- contract: new ethers_1.Contract(exports.ALIASES.router, router_json_1.default, this.signer || this.provider),
414
- multicallContract: new ethcall_1.Contract(exports.ALIASES.router, router_json_1.default),
367
+ this.contracts[this.constants.ALIASES.router.toLowerCase()] = {
368
+ contract: new ethers_1.Contract(this.constants.ALIASES.router, router_json_1.default, this.signer || this.provider),
369
+ multicallContract: new ethcall_1.Contract(this.constants.ALIASES.router, router_json_1.default),
415
370
  };
416
- this.contracts[exports.ALIASES.deposit_and_stake] = {
417
- contract: new ethers_1.Contract(exports.ALIASES.deposit_and_stake, deposit_and_stake_json_1.default, this.signer || this.provider),
418
- multicallContract: new ethcall_1.Contract(exports.ALIASES.deposit_and_stake, deposit_and_stake_json_1.default),
371
+ this.contracts[this.constants.ALIASES.deposit_and_stake] = {
372
+ contract: new ethers_1.Contract(this.constants.ALIASES.deposit_and_stake, deposit_and_stake_json_1.default, this.signer || this.provider),
373
+ multicallContract: new ethcall_1.Contract(this.constants.ALIASES.deposit_and_stake, deposit_and_stake_json_1.default),
419
374
  };
420
- this.contracts[exports.ALIASES.deposit_and_stake.toLowerCase()] = {
421
- contract: new ethers_1.Contract(exports.ALIASES.deposit_and_stake, deposit_and_stake_json_1.default, this.signer || this.provider),
422
- multicallContract: new ethcall_1.Contract(exports.ALIASES.deposit_and_stake, deposit_and_stake_json_1.default),
375
+ this.contracts[this.constants.ALIASES.deposit_and_stake.toLowerCase()] = {
376
+ contract: new ethers_1.Contract(this.constants.ALIASES.deposit_and_stake, deposit_and_stake_json_1.default, this.signer || this.provider),
377
+ multicallContract: new ethcall_1.Contract(this.constants.ALIASES.deposit_and_stake, deposit_and_stake_json_1.default),
423
378
  };
424
- this.contracts[exports.ALIASES.factory] = {
425
- contract: new ethers_1.Contract(exports.ALIASES.factory, factory_json_1.default, this.signer || this.provider),
426
- multicallContract: new ethcall_1.Contract(exports.ALIASES.factory, factory_json_1.default),
379
+ this.contracts[this.constants.ALIASES.factory] = {
380
+ contract: new ethers_1.Contract(this.constants.ALIASES.factory, factory_json_1.default, this.signer || this.provider),
381
+ multicallContract: new ethcall_1.Contract(this.constants.ALIASES.factory, factory_json_1.default),
427
382
  };
428
- this.contracts[exports.ALIASES.factory.toLowerCase()] = {
429
- contract: new ethers_1.Contract(exports.ALIASES.factory, factory_json_1.default, this.signer || this.provider),
430
- multicallContract: new ethcall_1.Contract(exports.ALIASES.factory, factory_json_1.default),
383
+ this.contracts[this.constants.ALIASES.factory.toLowerCase()] = {
384
+ contract: new ethers_1.Contract(this.constants.ALIASES.factory, factory_json_1.default, this.signer || this.provider),
385
+ multicallContract: new ethcall_1.Contract(this.constants.ALIASES.factory, factory_json_1.default),
431
386
  };
432
- this.contracts[exports.ALIASES.crypto_factory] = {
433
- contract: new ethers_1.Contract(exports.ALIASES.crypto_factory, factory_crypto_json_1.default, this.signer || this.provider),
434
- multicallContract: new ethcall_1.Contract(exports.ALIASES.crypto_factory, factory_crypto_json_1.default),
387
+ this.contracts[this.constants.ALIASES.crypto_factory] = {
388
+ contract: new ethers_1.Contract(this.constants.ALIASES.crypto_factory, factory_crypto_json_1.default, this.signer || this.provider),
389
+ multicallContract: new ethcall_1.Contract(this.constants.ALIASES.crypto_factory, factory_crypto_json_1.default),
435
390
  };
436
- this.contracts[exports.ALIASES.crypto_factory.toLowerCase()] = {
437
- contract: new ethers_1.Contract(exports.ALIASES.crypto_factory, factory_crypto_json_1.default, this.signer || this.provider),
438
- multicallContract: new ethcall_1.Contract(exports.ALIASES.crypto_factory, factory_crypto_json_1.default),
439
- };
440
- this.constants = {
441
- ALIASES: exports.ALIASES,
442
- POOLS_DATA: exports.POOLS_DATA,
443
- DECIMALS_LOWER_CASE: exports.DECIMALS_LOWER_CASE,
444
- LP_TOKENS: exports.LP_TOKENS,
445
- GAUGES: exports.GAUGES,
446
- FACTORY_POOLS_DATA: [],
447
- CRYPTO_FACTORY_POOLS_DATA: [],
391
+ this.contracts[this.constants.ALIASES.crypto_factory.toLowerCase()] = {
392
+ contract: new ethers_1.Contract(this.constants.ALIASES.crypto_factory, factory_crypto_json_1.default, this.signer || this.provider),
393
+ multicallContract: new ethcall_1.Contract(this.constants.ALIASES.crypto_factory, factory_crypto_json_1.default),
448
394
  };
449
395
  return [2 /*return*/];
450
396
  }
@@ -454,23 +400,28 @@ var Curve = /** @class */ (function () {
454
400
  Curve.prototype.fetchFactoryPools = function (useApi) {
455
401
  if (useApi === void 0) { useApi = true; }
456
402
  return __awaiter(this, void 0, void 0, function () {
457
- var _a, _b;
458
- return __generator(this, function (_c) {
459
- switch (_c.label) {
403
+ var _a, _b, _c, _d;
404
+ return __generator(this, function (_e) {
405
+ switch (_e.label) {
460
406
  case 0:
461
407
  if (!useApi) return [3 /*break*/, 2];
462
408
  _a = this.constants;
409
+ _b = utils_1.lowerCasePoolDataAddresses;
463
410
  return [4 /*yield*/, factory_api_1.getFactoryPoolsDataFromApi.call(this, false)];
464
411
  case 1:
465
- _a.FACTORY_POOLS_DATA = _c.sent();
412
+ _a.FACTORY_POOLS_DATA = _b.apply(void 0, [_e.sent()]);
466
413
  return [3 /*break*/, 4];
467
414
  case 2:
468
- _b = this.constants;
415
+ _c = this.constants;
416
+ _d = utils_1.lowerCasePoolDataAddresses;
469
417
  return [4 /*yield*/, factory_1.getFactoryPoolData.call(this)];
470
418
  case 3:
471
- _b.FACTORY_POOLS_DATA = _c.sent();
472
- _c.label = 4;
473
- case 4: return [2 /*return*/];
419
+ _c.FACTORY_POOLS_DATA = _d.apply(void 0, [_e.sent()]);
420
+ _e.label = 4;
421
+ case 4:
422
+ this.constants.DECIMALS = __assign(__assign({}, this.constants.DECIMALS), (0, utils_1.extractDecimals)(this.constants.FACTORY_POOLS_DATA));
423
+ this.constants.GAUGES = __assign(__assign({}, this.constants.GAUGES), (0, utils_1.extractGauges)(this.constants.FACTORY_POOLS_DATA));
424
+ return [2 /*return*/];
474
425
  }
475
426
  });
476
427
  });
@@ -478,25 +429,30 @@ var Curve = /** @class */ (function () {
478
429
  Curve.prototype.fetchCryptoFactoryPools = function (useApi) {
479
430
  if (useApi === void 0) { useApi = true; }
480
431
  return __awaiter(this, void 0, void 0, function () {
481
- var _a, _b;
482
- return __generator(this, function (_c) {
483
- switch (_c.label) {
432
+ var _a, _b, _c, _d;
433
+ return __generator(this, function (_e) {
434
+ switch (_e.label) {
484
435
  case 0:
485
436
  if (this.chainId !== 1 && this.chainId !== 1337)
486
437
  return [2 /*return*/];
487
438
  if (!useApi) return [3 /*break*/, 2];
488
439
  _a = this.constants;
440
+ _b = utils_1.lowerCasePoolDataAddresses;
489
441
  return [4 /*yield*/, factory_api_1.getFactoryPoolsDataFromApi.call(this, true)];
490
442
  case 1:
491
- _a.CRYPTO_FACTORY_POOLS_DATA = _c.sent();
443
+ _a.CRYPTO_FACTORY_POOLS_DATA = _b.apply(void 0, [_e.sent()]);
492
444
  return [3 /*break*/, 4];
493
445
  case 2:
494
- _b = this.constants;
446
+ _c = this.constants;
447
+ _d = utils_1.lowerCasePoolDataAddresses;
495
448
  return [4 /*yield*/, factory_crypto_1.getCryptoFactoryPoolData.call(this)];
496
449
  case 3:
497
- _b.CRYPTO_FACTORY_POOLS_DATA = _c.sent();
498
- _c.label = 4;
499
- case 4: return [2 /*return*/];
450
+ _c.CRYPTO_FACTORY_POOLS_DATA = _d.apply(void 0, [_e.sent()]);
451
+ _e.label = 4;
452
+ case 4:
453
+ this.constants.DECIMALS = __assign(__assign({}, this.constants.DECIMALS), (0, utils_1.extractDecimals)(this.constants.CRYPTO_FACTORY_POOLS_DATA));
454
+ this.constants.GAUGES = __assign(__assign({}, this.constants.GAUGES), (0, utils_1.extractGauges)(this.constants.CRYPTO_FACTORY_POOLS_DATA));
455
+ return [2 /*return*/];
500
456
  }
501
457
  });
502
458
  });
@@ -1,4 +1,5 @@
1
- import { IExtendedPoolDataFromApi, IReward, DictInterface } from "./interfaces";
1
+ import { IExtendedPoolDataFromApi, ISubgraphPoolData, IReward, IDict } from "./interfaces";
2
2
  import memoize from "memoizee";
3
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 _getMainPoolsGaugeRewards: (() => Promise<DictInterface<IReward[]>>) & memoize.Memoized<() => Promise<DictInterface<IReward[]>>>;
4
+ export declare const _getSubgraphData: ((network: "ethereum" | "polygon") => Promise<ISubgraphPoolData[]>) & memoize.Memoized<(network: "ethereum" | "polygon") => Promise<ISubgraphPoolData[]>>;
5
+ export declare const _getMainPoolsGaugeRewards: (() => Promise<IDict<IReward[]>>) & memoize.Memoized<() => Promise<IDict<IReward[]>>>;