@curvefi/api 1.25.2 → 2.2.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 (219) hide show
  1. package/README.md +797 -590
  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 +3 -24
  130. package/lib/constants/aliases.js +18 -5
  131. package/lib/constants/coins/avalanche.d.ts +7 -0
  132. package/lib/constants/coins/avalanche.js +32 -0
  133. package/lib/constants/{coins-ethereum.d.ts → coins/ethereum.d.ts} +0 -9
  134. package/lib/constants/{coins-ethereum.js → coins/ethereum.js} +12 -23
  135. package/lib/constants/{coins-polygon.d.ts → coins/polygon.d.ts} +0 -12
  136. package/lib/constants/{coins-polygon.js → coins/polygon.js} +8 -20
  137. package/lib/constants/pools/avalanche.d.ts +4 -0
  138. package/lib/constants/pools/avalanche.js +113 -0
  139. package/lib/constants/pools/ethereum.d.ts +2 -0
  140. package/lib/constants/{abis/abis-ethereum.js → pools/ethereum.js} +517 -1012
  141. package/lib/constants/pools/index.d.ts +4 -0
  142. package/lib/constants/pools/index.js +9 -0
  143. package/lib/constants/pools/polygon.d.ts +4 -0
  144. package/lib/constants/{abis/abis-polygon.js → pools/polygon.js} +52 -80
  145. package/lib/constants/utils.d.ts +5 -0
  146. package/lib/constants/utils.js +69 -0
  147. package/lib/curve.d.ts +13 -31
  148. package/lib/curve.js +204 -232
  149. package/lib/external-api.d.ts +4 -3
  150. package/lib/external-api.js +18 -1
  151. package/lib/factory/common.d.ts +2 -0
  152. package/lib/factory/common.js +45 -0
  153. package/lib/factory/constants.d.ts +16 -16
  154. package/lib/factory/constants.js +79 -77
  155. package/lib/factory/factory-api.d.ts +2 -2
  156. package/lib/factory/factory-api.js +51 -85
  157. package/lib/factory/factory-crypto.d.ts +2 -2
  158. package/lib/factory/factory-crypto.js +30 -35
  159. package/lib/factory/factory.d.ts +2 -2
  160. package/lib/factory/factory.js +60 -205
  161. package/lib/index.d.ts +37 -53
  162. package/lib/index.js +28 -35
  163. package/lib/interfaces.d.ts +51 -83
  164. package/lib/pools/PoolTemplate.d.ts +212 -0
  165. package/lib/pools/PoolTemplate.js +2371 -0
  166. package/lib/pools/index.d.ts +3 -0
  167. package/lib/pools/index.js +7 -0
  168. package/lib/pools/mixins/common.d.ts +3 -0
  169. package/lib/pools/mixins/common.js +77 -0
  170. package/lib/pools/mixins/depositBalancedAmountsMixins.d.ts +5 -0
  171. package/lib/pools/mixins/depositBalancedAmountsMixins.js +145 -0
  172. package/lib/pools/mixins/depositBonusMixins.d.ts +5 -0
  173. package/lib/pools/mixins/depositBonusMixins.js +164 -0
  174. package/lib/pools/mixins/depositMixins.d.ts +5 -0
  175. package/lib/pools/mixins/depositMixins.js +373 -0
  176. package/lib/pools/mixins/depositWrappedMixins.d.ts +3 -0
  177. package/lib/pools/mixins/depositWrappedMixins.js +243 -0
  178. package/lib/pools/mixins/poolBalancesMixin.d.ts +4 -0
  179. package/lib/pools/mixins/poolBalancesMixin.js +129 -0
  180. package/lib/pools/mixins/swapMixins.d.ts +4 -0
  181. package/lib/pools/mixins/swapMixins.js +313 -0
  182. package/lib/pools/mixins/swapWrappedMixins.d.ts +4 -0
  183. package/lib/pools/mixins/swapWrappedMixins.js +297 -0
  184. package/lib/pools/mixins/withdrawExpectedMixins.d.ts +6 -0
  185. package/lib/pools/mixins/withdrawExpectedMixins.js +164 -0
  186. package/lib/pools/mixins/withdrawImbalanceMixins.d.ts +5 -0
  187. package/lib/pools/mixins/withdrawImbalanceMixins.js +348 -0
  188. package/lib/pools/mixins/withdrawImbalanceWrappedMixins.d.ts +3 -0
  189. package/lib/pools/mixins/withdrawImbalanceWrappedMixins.js +207 -0
  190. package/lib/pools/mixins/withdrawMixins.d.ts +5 -0
  191. package/lib/pools/mixins/withdrawMixins.js +347 -0
  192. package/lib/pools/mixins/withdrawOneCoinExpectedMixins.d.ts +5 -0
  193. package/lib/pools/mixins/withdrawOneCoinExpectedMixins.js +104 -0
  194. package/lib/pools/mixins/withdrawOneCoinMixins.d.ts +5 -0
  195. package/lib/pools/mixins/withdrawOneCoinMixins.js +347 -0
  196. package/lib/pools/mixins/withdrawOneCoinWrappedExpectedMixins.d.ts +3 -0
  197. package/lib/pools/mixins/withdrawOneCoinWrappedExpectedMixins.js +72 -0
  198. package/lib/pools/mixins/withdrawOneCoinWrappedMixins.d.ts +3 -0
  199. package/lib/pools/mixins/withdrawOneCoinWrappedMixins.js +205 -0
  200. package/lib/pools/mixins/withdrawWrappedMixins.d.ts +3 -0
  201. package/lib/pools/mixins/withdrawWrappedMixins.js +206 -0
  202. package/lib/pools/poolConstructor.d.ts +2 -0
  203. package/lib/pools/poolConstructor.js +228 -0
  204. package/lib/pools/utils.d.ts +4 -0
  205. package/lib/pools/utils.js +85 -0
  206. package/lib/router.d.ts +13 -0
  207. package/lib/router.js +651 -0
  208. package/lib/utils.d.ts +12 -16
  209. package/lib/utils.js +59 -138
  210. package/package.json +1 -1
  211. package/lib/constants/abis/abis-ethereum.d.ts +0 -4
  212. package/lib/constants/abis/abis-polygon.d.ts +0 -4
  213. package/lib/constants/abis/json/aRewards.json +0 -1
  214. package/lib/constants/abis/json/compound/migration.json +0 -57
  215. package/lib/constants/abis/json/compound/oldSwap.json +0 -688
  216. package/lib/constants/abis/json/ren/adapter.json +0 -1
  217. package/lib/constants/abis/json/sbtc/adapter.json +0 -1
  218. package/lib/pools.d.ts +0 -267
  219. package/lib/pools.js +0 -4752
package/lib/curve.js CHANGED
@@ -59,41 +59,62 @@ 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 = exports.NETWORK_CONSTANTS = void 0;
63
63
  var ethers_1 = require("ethers");
64
64
  var ethcall_1 = require("ethcall");
65
65
  var factory_1 = require("./factory/factory");
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");
84
+ var avalanche_1 = require("./constants/coins/avalanche");
85
85
  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": "",
86
+ var utils_1 = require("./constants/utils");
87
+ exports.NETWORK_CONSTANTS = {
88
+ 1: {
89
+ NAME: 'ethereum',
90
+ ALIASES: aliases_1.ALIASES_ETHEREUM,
91
+ POOLS_DATA: pools_1.POOLS_DATA_ETHEREUM,
92
+ COINS: ethereum_1.COINS_ETHEREUM,
93
+ cTokens: ethereum_1.cTokensEthereum,
94
+ yTokens: ethereum_1.yTokensEthereum,
95
+ ycTokens: ethereum_1.ycTokensEthereum,
96
+ aTokens: ethereum_1.aTokensEthereum,
97
+ },
98
+ 137: {
99
+ NAME: 'polygon',
100
+ ALIASES: aliases_1.ALIASES_POLYGON,
101
+ POOLS_DATA: pools_1.POOLS_DATA_POLYGON,
102
+ COINS: polygon_1.COINS_POLYGON,
103
+ cTokens: polygon_1.cTokensPolygon,
104
+ yTokens: polygon_1.yTokensPolygon,
105
+ ycTokens: polygon_1.ycTokensPolygon,
106
+ aTokens: polygon_1.aTokensPolygon,
107
+ },
108
+ 43114: {
109
+ NAME: 'avalanche',
110
+ ALIASES: aliases_1.ALIASES_AVALANCHE,
111
+ POOLS_DATA: pools_1.POOLS_DATA_AVALANCHE,
112
+ COINS: avalanche_1.COINS_AVALANCHE,
113
+ cTokens: avalanche_1.cTokensAvalanche,
114
+ yTokens: avalanche_1.yTokensAvalanche,
115
+ ycTokens: avalanche_1.ycTokensAvalanche,
116
+ aTokens: avalanche_1.aTokensAvalanche,
117
+ },
97
118
  };
98
119
  var Curve = /** @class */ (function () {
99
120
  function Curve() {
@@ -109,17 +130,47 @@ var Curve = /** @class */ (function () {
109
130
  this.feeData = {};
110
131
  this.constantOptions = { gasLimit: 12000000 };
111
132
  this.options = {};
112
- this.constants = {};
133
+ this.constants = {
134
+ NETWORK_NAME: 'ethereum',
135
+ ALIASES: {},
136
+ POOLS_DATA: {},
137
+ FACTORY_POOLS_DATA: {},
138
+ CRYPTO_FACTORY_POOLS_DATA: {},
139
+ COINS: {},
140
+ DECIMALS: {},
141
+ GAUGES: [],
142
+ };
113
143
  }
114
144
  Curve.prototype.init = function (providerType, providerSettings, options // gasPrice in Gwei
115
145
  ) {
116
146
  if (options === void 0) { options = {}; }
117
147
  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) {
148
+ 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;
149
+ return __generator(this, function (_p) {
150
+ switch (_p.label) {
121
151
  case 0:
152
+ // @ts-ignore
153
+ this.provider = null;
154
+ // @ts-ignore
155
+ this.signer = null;
156
+ this.signerAddress = '';
157
+ this.chainId = 0;
158
+ // @ts-ignore
159
+ this.multicallProvider = null;
122
160
  this.contracts = {};
161
+ this.feeData = {};
162
+ this.constantOptions = { gasLimit: 12000000 };
163
+ this.options = {};
164
+ this.constants = {
165
+ NETWORK_NAME: 'ethereum',
166
+ ALIASES: {},
167
+ POOLS_DATA: {},
168
+ FACTORY_POOLS_DATA: {},
169
+ CRYPTO_FACTORY_POOLS_DATA: {},
170
+ COINS: {},
171
+ DECIMALS: {},
172
+ GAUGES: [],
173
+ };
123
174
  // JsonRpc provider
124
175
  if (providerType.toLowerCase() === 'JsonRpc'.toLowerCase()) {
125
176
  providerSettings = providerSettings;
@@ -161,173 +212,101 @@ var Curve = /** @class */ (function () {
161
212
  if (_a) return [3 /*break*/, 2];
162
213
  return [4 /*yield*/, this.provider._networkPromise];
163
214
  case 1:
164
- _a = (_o.sent());
165
- _o.label = 2;
215
+ _a = (_p.sent());
216
+ _p.label = 2;
166
217
  case 2:
167
218
  network = _a;
168
219
  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(); });
220
+ this.chainId = network.chainId === 1337 ? 1 : network.chainId;
221
+ this.constants.NETWORK_NAME = exports.NETWORK_CONSTANTS[this.chainId].NAME;
222
+ this.constants.ALIASES = exports.NETWORK_CONSTANTS[this.chainId].ALIASES;
223
+ this.constants.POOLS_DATA = exports.NETWORK_CONSTANTS[this.chainId].POOLS_DATA;
224
+ this.constants.COINS = exports.NETWORK_CONSTANTS[this.chainId].COINS;
225
+ this.constants.DECIMALS = (0, utils_1.extractDecimals)(this.constants.POOLS_DATA);
226
+ this.constants.GAUGES = (0, utils_1.extractGauges)(this.constants.POOLS_DATA);
227
+ _b = [
228
+ exports.NETWORK_CONSTANTS[this.chainId].cTokens,
229
+ exports.NETWORK_CONSTANTS[this.chainId].yTokens,
230
+ exports.NETWORK_CONSTANTS[this.chainId].ycTokens,
231
+ exports.NETWORK_CONSTANTS[this.chainId].aTokens,
232
+ ], cTokens = _b[0], yTokens = _b[1], ycTokens = _b[2], aTokens = _b[3];
217
233
  customAbiTokens = __spreadArray(__spreadArray(__spreadArray(__spreadArray([], cTokens, true), yTokens, true), ycTokens, true), aTokens, true);
218
234
  this.multicallProvider = new ethcall_1.Provider();
219
235
  return [4 /*yield*/, this.multicallProvider.init(this.provider)];
220
236
  case 3:
221
- _o.sent();
237
+ _p.sent();
222
238
  if (!this.signer) return [3 /*break*/, 5];
223
- _b = this;
239
+ _c = this;
224
240
  return [4 /*yield*/, this.signer.getAddress()];
225
241
  case 4:
226
- _b.signerAddress = _o.sent();
242
+ _c.signerAddress = _p.sent();
227
243
  return [3 /*break*/, 6];
228
244
  case 5:
229
245
  this.signerAddress = '';
230
- _o.label = 6;
246
+ _p.label = 6;
231
247
  case 6:
232
248
  this.feeData = { gasPrice: options.gasPrice, maxFeePerGas: options.maxFeePerGas, maxPriorityFeePerGas: options.maxPriorityFeePerGas };
233
249
  return [4 /*yield*/, this.updateFeeData()];
234
250
  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];
251
+ _p.sent();
252
+ for (_i = 0, _d = Object.values(this.constants.POOLS_DATA); _i < _d.length; _i++) {
253
+ pool = _d[_i];
239
254
  this.contracts[pool.swap_address] = {
240
255
  contract: new ethers_1.Contract(pool.swap_address, pool.swap_abi, this.signer || this.provider),
241
256
  multicallContract: new ethcall_1.Contract(pool.swap_address, pool.swap_abi),
242
257
  };
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
258
  if (pool.token_address !== pool.swap_address) {
248
259
  this.contracts[pool.token_address] = {
249
260
  contract: new ethers_1.Contract(pool.token_address, ERC20_json_1.default, this.signer || this.provider),
250
261
  multicallContract: new ethcall_1.Contract(pool.token_address, ERC20_json_1.default),
251
262
  };
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
263
  }
257
264
  this.contracts[pool.gauge_address] = {
258
265
  contract: new ethers_1.Contract(pool.gauge_address, pool.gauge_abi, this.signer || this.provider),
259
266
  multicallContract: new ethcall_1.Contract(pool.gauge_address, pool.gauge_abi),
260
267
  };
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) {
268
+ if (pool.deposit_address && !this.contracts[pool.deposit_address]) {
266
269
  this.contracts[pool.deposit_address] = {
267
270
  contract: new ethers_1.Contract(pool.deposit_address, pool.deposit_abi, this.signer || this.provider),
268
271
  multicallContract: new ethcall_1.Contract(pool.deposit_address, pool.deposit_abi),
269
272
  };
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
273
  }
275
- for (_d = 0, _e = pool.underlying_coin_addresses; _d < _e.length; _d++) {
276
- coinAddr = _e[_d];
274
+ for (_e = 0, _f = pool.underlying_coin_addresses; _e < _f.length; _e++) {
275
+ coinAddr = _f[_e];
277
276
  this.contracts[coinAddr] = {
278
277
  contract: new ethers_1.Contract(coinAddr, ERC20_json_1.default, this.signer || this.provider),
279
278
  multicallContract: new ethcall_1.Contract(coinAddr, ERC20_json_1.default),
280
279
  };
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
280
  }
286
- for (_f = 0, _g = pool.coin_addresses; _f < _g.length; _f++) {
287
- coinAddr = _g[_f];
281
+ for (_g = 0, _h = pool.wrapped_coin_addresses; _g < _h.length; _g++) {
282
+ coinAddr = _h[_g];
288
283
  if (customAbiTokens.includes(coinAddr))
289
284
  continue;
290
285
  this.contracts[coinAddr] = {
291
286
  contract: new ethers_1.Contract(coinAddr, ERC20_json_1.default, this.signer || this.provider),
292
287
  multicallContract: new ethcall_1.Contract(coinAddr, ERC20_json_1.default),
293
288
  };
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
289
  }
299
290
  // TODO add all coins
300
- for (_h = 0, _j = pool.coin_addresses; _h < _j.length; _h++) {
301
- coinAddr = _j[_h];
291
+ for (_j = 0, _k = pool.wrapped_coin_addresses; _j < _k.length; _j++) {
292
+ coinAddr = _k[_j];
302
293
  if (cTokens.includes(coinAddr)) {
303
294
  this.contracts[coinAddr] = {
304
295
  contract: new ethers_1.Contract(coinAddr, cERC20_json_1.default, this.signer || this.provider),
305
296
  multicallContract: new ethcall_1.Contract(coinAddr, cERC20_json_1.default),
306
297
  };
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
298
  }
312
299
  if (aTokens.includes(coinAddr)) {
313
300
  this.contracts[coinAddr] = {
314
301
  contract: new ethers_1.Contract(coinAddr, ERC20_json_1.default, this.signer || this.provider),
315
302
  multicallContract: new ethcall_1.Contract(coinAddr, ERC20_json_1.default),
316
303
  };
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
304
  }
322
305
  if (yTokens.includes(coinAddr) || ycTokens.includes(coinAddr)) {
323
306
  this.contracts[coinAddr] = {
324
307
  contract: new ethers_1.Contract(coinAddr, yERC20_json_1.default, this.signer || this.provider),
325
308
  multicallContract: new ethcall_1.Contract(coinAddr, yERC20_json_1.default),
326
309
  };
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
310
  }
332
311
  }
333
312
  if (pool.reward_contract) {
@@ -335,116 +314,99 @@ var Curve = /** @class */ (function () {
335
314
  contract: new ethers_1.Contract(pool.reward_contract, streamer_json_1.default, this.signer || this.provider),
336
315
  multicallContract: new ethcall_1.Contract(pool.reward_contract, streamer_json_1.default),
337
316
  };
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
317
  }
343
- for (_k = 0, _l = pool.reward_tokens || []; _k < _l.length; _k++) {
344
- rewardTokenAddr = _l[_k];
318
+ for (_l = 0, _m = pool.reward_tokens || []; _l < _m.length; _l++) {
319
+ rewardTokenAddr = _m[_l];
345
320
  this.contracts[rewardTokenAddr] = {
346
321
  contract: new ethers_1.Contract(rewardTokenAddr, ERC20_json_1.default, this.signer || this.provider),
347
322
  multicallContract: new ethcall_1.Contract(rewardTokenAddr, ERC20_json_1.default),
348
323
  };
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
324
  }
354
325
  }
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),
326
+ this.contracts[this.constants.ALIASES.crv] = {
327
+ contract: new ethers_1.Contract(this.constants.ALIASES.crv, ERC20_json_1.default, this.signer || this.provider),
328
+ multicallContract: new ethcall_1.Contract(this.constants.ALIASES.crv, ERC20_json_1.default),
358
329
  };
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),
330
+ this.contracts[this.constants.ALIASES.crv.toLowerCase()] = {
331
+ contract: new ethers_1.Contract(this.constants.ALIASES.crv, ERC20_json_1.default, this.signer || this.provider),
332
+ multicallContract: new ethcall_1.Contract(this.constants.ALIASES.crv, ERC20_json_1.default),
362
333
  };
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),
334
+ this.contracts[this.constants.ALIASES.minter] = {
335
+ contract: new ethers_1.Contract(this.constants.ALIASES.minter, minter_json_1.default, this.signer || this.provider),
336
+ multicallContract: new ethcall_1.Contract(this.constants.ALIASES.minter, minter_json_1.default),
366
337
  };
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),
338
+ this.contracts[this.constants.ALIASES.minter.toLowerCase()] = {
339
+ contract: new ethers_1.Contract(this.constants.ALIASES.minter, minter_json_1.default, this.signer || this.provider),
340
+ multicallContract: new ethcall_1.Contract(this.constants.ALIASES.minter, minter_json_1.default),
370
341
  };
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),
342
+ this.contracts[this.constants.ALIASES.voting_escrow] = {
343
+ contract: new ethers_1.Contract(this.constants.ALIASES.voting_escrow, votingescrow_json_1.default, this.signer || this.provider),
344
+ multicallContract: new ethcall_1.Contract(this.constants.ALIASES.voting_escrow, votingescrow_json_1.default),
374
345
  };
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),
346
+ this.contracts[this.constants.ALIASES.voting_escrow.toLowerCase()] = {
347
+ contract: new ethers_1.Contract(this.constants.ALIASES.voting_escrow, votingescrow_json_1.default, this.signer || this.provider),
348
+ multicallContract: new ethcall_1.Contract(this.constants.ALIASES.voting_escrow, votingescrow_json_1.default),
378
349
  };
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),
350
+ this.contracts[this.constants.ALIASES.address_provider] = {
351
+ contract: new ethers_1.Contract(this.constants.ALIASES.address_provider, address_provider_json_1.default, this.signer || this.provider),
352
+ multicallContract: new ethcall_1.Contract(this.constants.ALIASES.address_provider, address_provider_json_1.default),
382
353
  };
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),
354
+ this.contracts[this.constants.ALIASES.address_provider.toLowerCase()] = {
355
+ contract: new ethers_1.Contract(this.constants.ALIASES.address_provider, address_provider_json_1.default, this.signer || this.provider),
356
+ multicallContract: new ethcall_1.Contract(this.constants.ALIASES.address_provider, address_provider_json_1.default),
386
357
  };
387
- addressProviderContract = this.contracts[exports.ALIASES.address_provider].contract;
388
- _m = exports.ALIASES;
358
+ addressProviderContract = this.contracts[this.constants.ALIASES.address_provider].contract;
359
+ _o = this.constants.ALIASES;
389
360
  return [4 /*yield*/, addressProviderContract.get_address(2, this.constantOptions)];
390
361
  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),
362
+ _o.registry_exchange = _p.sent();
363
+ this.contracts[this.constants.ALIASES.registry_exchange] = {
364
+ contract: new ethers_1.Contract(this.constants.ALIASES.registry_exchange, registry_exchange_json_1.default, this.signer || this.provider),
365
+ multicallContract: new ethcall_1.Contract(this.constants.ALIASES.registry_exchange, registry_exchange_json_1.default),
395
366
  };
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),
367
+ this.contracts[this.constants.ALIASES.registry_exchange.toLowerCase()] = {
368
+ contract: new ethers_1.Contract(this.constants.ALIASES.registry_exchange, registry_exchange_json_1.default, this.signer || this.provider),
369
+ multicallContract: new ethcall_1.Contract(this.constants.ALIASES.registry_exchange, registry_exchange_json_1.default),
399
370
  };
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),
371
+ this.contracts[this.constants.ALIASES.gauge_controller] = {
372
+ contract: new ethers_1.Contract(this.constants.ALIASES.gauge_controller, gaugecontroller_json_1.default, this.signer || this.provider),
373
+ multicallContract: new ethcall_1.Contract(this.constants.ALIASES.gauge_controller, gaugecontroller_json_1.default),
403
374
  };
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),
375
+ this.contracts[this.constants.ALIASES.gauge_controller.toLowerCase()] = {
376
+ contract: new ethers_1.Contract(this.constants.ALIASES.gauge_controller, gaugecontroller_json_1.default, this.signer || this.provider),
377
+ multicallContract: new ethcall_1.Contract(this.constants.ALIASES.gauge_controller, gaugecontroller_json_1.default),
407
378
  };
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),
379
+ this.contracts[this.constants.ALIASES.router] = {
380
+ contract: new ethers_1.Contract(this.constants.ALIASES.router, router_json_1.default, this.signer || this.provider),
381
+ multicallContract: new ethcall_1.Contract(this.constants.ALIASES.router, router_json_1.default),
411
382
  };
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),
383
+ this.contracts[this.constants.ALIASES.router.toLowerCase()] = {
384
+ contract: new ethers_1.Contract(this.constants.ALIASES.router, router_json_1.default, this.signer || this.provider),
385
+ multicallContract: new ethcall_1.Contract(this.constants.ALIASES.router, router_json_1.default),
415
386
  };
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),
387
+ this.contracts[this.constants.ALIASES.deposit_and_stake] = {
388
+ contract: new ethers_1.Contract(this.constants.ALIASES.deposit_and_stake, deposit_and_stake_json_1.default, this.signer || this.provider),
389
+ multicallContract: new ethcall_1.Contract(this.constants.ALIASES.deposit_and_stake, deposit_and_stake_json_1.default),
419
390
  };
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),
391
+ this.contracts[this.constants.ALIASES.deposit_and_stake.toLowerCase()] = {
392
+ contract: new ethers_1.Contract(this.constants.ALIASES.deposit_and_stake, deposit_and_stake_json_1.default, this.signer || this.provider),
393
+ multicallContract: new ethcall_1.Contract(this.constants.ALIASES.deposit_and_stake, deposit_and_stake_json_1.default),
423
394
  };
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),
395
+ this.contracts[this.constants.ALIASES.factory] = {
396
+ contract: new ethers_1.Contract(this.constants.ALIASES.factory, factory_json_1.default, this.signer || this.provider),
397
+ multicallContract: new ethcall_1.Contract(this.constants.ALIASES.factory, factory_json_1.default),
427
398
  };
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),
399
+ this.contracts[this.constants.ALIASES.factory.toLowerCase()] = {
400
+ contract: new ethers_1.Contract(this.constants.ALIASES.factory, factory_json_1.default, this.signer || this.provider),
401
+ multicallContract: new ethcall_1.Contract(this.constants.ALIASES.factory, factory_json_1.default),
431
402
  };
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),
403
+ this.contracts[this.constants.ALIASES.crypto_factory] = {
404
+ contract: new ethers_1.Contract(this.constants.ALIASES.crypto_factory, factory_crypto_json_1.default, this.signer || this.provider),
405
+ multicallContract: new ethcall_1.Contract(this.constants.ALIASES.crypto_factory, factory_crypto_json_1.default),
435
406
  };
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: [],
407
+ this.contracts[this.constants.ALIASES.crypto_factory.toLowerCase()] = {
408
+ contract: new ethers_1.Contract(this.constants.ALIASES.crypto_factory, factory_crypto_json_1.default, this.signer || this.provider),
409
+ multicallContract: new ethcall_1.Contract(this.constants.ALIASES.crypto_factory, factory_crypto_json_1.default),
448
410
  };
449
411
  return [2 /*return*/];
450
412
  }
@@ -454,23 +416,28 @@ var Curve = /** @class */ (function () {
454
416
  Curve.prototype.fetchFactoryPools = function (useApi) {
455
417
  if (useApi === void 0) { useApi = true; }
456
418
  return __awaiter(this, void 0, void 0, function () {
457
- var _a, _b;
458
- return __generator(this, function (_c) {
459
- switch (_c.label) {
419
+ var _a, _b, _c, _d;
420
+ return __generator(this, function (_e) {
421
+ switch (_e.label) {
460
422
  case 0:
461
423
  if (!useApi) return [3 /*break*/, 2];
462
424
  _a = this.constants;
425
+ _b = utils_1.lowerCasePoolDataAddresses;
463
426
  return [4 /*yield*/, factory_api_1.getFactoryPoolsDataFromApi.call(this, false)];
464
427
  case 1:
465
- _a.FACTORY_POOLS_DATA = _c.sent();
428
+ _a.FACTORY_POOLS_DATA = _b.apply(void 0, [_e.sent()]);
466
429
  return [3 /*break*/, 4];
467
430
  case 2:
468
- _b = this.constants;
431
+ _c = this.constants;
432
+ _d = utils_1.lowerCasePoolDataAddresses;
469
433
  return [4 /*yield*/, factory_1.getFactoryPoolData.call(this)];
470
434
  case 3:
471
- _b.FACTORY_POOLS_DATA = _c.sent();
472
- _c.label = 4;
473
- case 4: return [2 /*return*/];
435
+ _c.FACTORY_POOLS_DATA = _d.apply(void 0, [_e.sent()]);
436
+ _e.label = 4;
437
+ case 4:
438
+ this.constants.DECIMALS = __assign(__assign({}, this.constants.DECIMALS), (0, utils_1.extractDecimals)(this.constants.FACTORY_POOLS_DATA));
439
+ this.constants.GAUGES = __spreadArray(__spreadArray([], this.constants.GAUGES, true), (0, utils_1.extractGauges)(this.constants.FACTORY_POOLS_DATA), true);
440
+ return [2 /*return*/];
474
441
  }
475
442
  });
476
443
  });
@@ -478,25 +445,30 @@ var Curve = /** @class */ (function () {
478
445
  Curve.prototype.fetchCryptoFactoryPools = function (useApi) {
479
446
  if (useApi === void 0) { useApi = true; }
480
447
  return __awaiter(this, void 0, void 0, function () {
481
- var _a, _b;
482
- return __generator(this, function (_c) {
483
- switch (_c.label) {
448
+ var _a, _b, _c, _d;
449
+ return __generator(this, function (_e) {
450
+ switch (_e.label) {
484
451
  case 0:
485
452
  if (this.chainId !== 1 && this.chainId !== 1337)
486
453
  return [2 /*return*/];
487
454
  if (!useApi) return [3 /*break*/, 2];
488
455
  _a = this.constants;
456
+ _b = utils_1.lowerCasePoolDataAddresses;
489
457
  return [4 /*yield*/, factory_api_1.getFactoryPoolsDataFromApi.call(this, true)];
490
458
  case 1:
491
- _a.CRYPTO_FACTORY_POOLS_DATA = _c.sent();
459
+ _a.CRYPTO_FACTORY_POOLS_DATA = _b.apply(void 0, [_e.sent()]);
492
460
  return [3 /*break*/, 4];
493
461
  case 2:
494
- _b = this.constants;
462
+ _c = this.constants;
463
+ _d = utils_1.lowerCasePoolDataAddresses;
495
464
  return [4 /*yield*/, factory_crypto_1.getCryptoFactoryPoolData.call(this)];
496
465
  case 3:
497
- _b.CRYPTO_FACTORY_POOLS_DATA = _c.sent();
498
- _c.label = 4;
499
- case 4: return [2 /*return*/];
466
+ _c.CRYPTO_FACTORY_POOLS_DATA = _d.apply(void 0, [_e.sent()]);
467
+ _e.label = 4;
468
+ case 4:
469
+ this.constants.DECIMALS = __assign(__assign({}, this.constants.DECIMALS), (0, utils_1.extractDecimals)(this.constants.CRYPTO_FACTORY_POOLS_DATA));
470
+ this.constants.GAUGES = __spreadArray(__spreadArray([], this.constants.GAUGES, true), (0, utils_1.extractGauges)(this.constants.CRYPTO_FACTORY_POOLS_DATA), true);
471
+ return [2 /*return*/];
500
472
  }
501
473
  });
502
474
  });