@paraswap/dex-lib 3.8.30 → 3.8.32

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 (237) hide show
  1. package/build/abi/AaveV1_lending_pool.json +27 -0
  2. package/build/abi/Aave_GSM.json +751 -0
  3. package/build/abi/aave-gsm/Aave_GSM.json +751 -0
  4. package/build/abi/aave-gsm/IFeeStrategy.json +78 -0
  5. package/build/abi/inception/inception-ineth-pool.json +1062 -0
  6. package/build/abi/inception/inception-ineth.json +609 -0
  7. package/build/abi/inception/inception-ratio-feed.json +93 -0
  8. package/build/abi/inception/inception-vault.json +991 -0
  9. package/build/abi/platypus/asset.json +490 -0
  10. package/build/abi/platypus/avax-pool.json +820 -0
  11. package/build/abi/platypus/oracle.json +119 -0
  12. package/build/abi/platypus/pool.json +677 -0
  13. package/build/abi/smardex/all/smardex-router.json +648 -0
  14. package/build/abi/smardex/layer-1/smardex-factory.json +242 -0
  15. package/build/abi/smardex/layer-1/smardex-pool.json +506 -0
  16. package/build/abi/smardex/layer-2/smardex-factory.json +185 -0
  17. package/build/abi/smardex/layer-2/smardex-pool.json +578 -0
  18. package/build/abi/stkGHO.json +1131 -0
  19. package/build/abi/swaap-v1/pool.json +1346 -0
  20. package/build/abi/usual-bond/usd0pp.abi.json +867 -0
  21. package/build/dex/aave-gsm/aave-gsm-pool.d.ts +28 -0
  22. package/build/dex/aave-gsm/aave-gsm-pool.js +117 -0
  23. package/build/dex/aave-gsm/aave-gsm-pool.js.map +1 -0
  24. package/build/dex/aave-gsm/aave-gsm.d.ts +43 -0
  25. package/build/dex/aave-gsm/aave-gsm.js +306 -0
  26. package/build/dex/aave-gsm/aave-gsm.js.map +1 -0
  27. package/build/dex/aave-gsm/config.d.ts +3 -0
  28. package/build/dex/aave-gsm/config.js +17 -0
  29. package/build/dex/aave-gsm/config.js.map +1 -0
  30. package/build/dex/aave-gsm/types.d.ts +18 -0
  31. package/build/dex/aave-gsm/types.js +3 -0
  32. package/build/dex/aave-gsm/types.js.map +1 -0
  33. package/build/dex/aave-v1/aave-v1.d.ts +34 -0
  34. package/build/dex/aave-v1/aave-v1.js +180 -0
  35. package/build/dex/aave-v1/aave-v1.js.map +1 -0
  36. package/build/dex/aave-v1/config.d.ts +11 -0
  37. package/build/dex/aave-v1/config.js +20 -0
  38. package/build/dex/aave-v1/config.js.map +1 -0
  39. package/build/dex/aave-v1/tokens-mainnet.json +134 -0
  40. package/build/dex/aave-v1/tokens.d.ts +3 -0
  41. package/build/dex/aave-v1/tokens.js +50 -0
  42. package/build/dex/aave-v1/tokens.js.map +1 -0
  43. package/build/dex/aave-v1/types.d.ts +12 -0
  44. package/build/dex/aave-v1/types.js +3 -0
  45. package/build/dex/aave-v1/types.js.map +1 -0
  46. package/build/dex/idle-dao/idle-dao-pool.d.ts +56 -0
  47. package/build/dex/idle-dao/idle-dao-pool.js +176 -0
  48. package/build/dex/idle-dao/idle-dao-pool.js.map +1 -0
  49. package/build/dex/idle-dao/idle-dao-pooling-pool.d.ts +16 -0
  50. package/build/dex/idle-dao/idle-dao-pooling-pool.js +57 -0
  51. package/build/dex/idle-dao/idle-dao-pooling-pool.js.map +1 -0
  52. package/build/dex/idle-dao/scripts.d.ts +9 -0
  53. package/build/dex/idle-dao/scripts.js +552 -0
  54. package/build/dex/idle-dao/scripts.js.map +1 -0
  55. package/build/dex/inception/config.d.ts +5 -0
  56. package/build/dex/inception/config.js +112 -0
  57. package/build/dex/inception/config.js.map +1 -0
  58. package/build/dex/inception/inception-event-pool.d.ts +25 -0
  59. package/build/dex/inception/inception-event-pool.js +57 -0
  60. package/build/dex/inception/inception-event-pool.js.map +1 -0
  61. package/build/dex/inception/inception-native.d.ts +43 -0
  62. package/build/dex/inception/inception-native.js +131 -0
  63. package/build/dex/inception/inception-native.js.map +1 -0
  64. package/build/dex/inception/inception-pool.d.ts +18 -0
  65. package/build/dex/inception/inception-pool.js +32 -0
  66. package/build/dex/inception/inception-pool.js.map +1 -0
  67. package/build/dex/inception/inception-price-feed.d.ts +19 -0
  68. package/build/dex/inception/inception-price-feed.js +51 -0
  69. package/build/dex/inception/inception-price-feed.js.map +1 -0
  70. package/build/dex/inception/inception.d.ts +44 -0
  71. package/build/dex/inception/inception.js +177 -0
  72. package/build/dex/inception/inception.js.map +1 -0
  73. package/build/dex/inception/tokens.d.ts +9 -0
  74. package/build/dex/inception/tokens.js +28 -0
  75. package/build/dex/inception/tokens.js.map +1 -0
  76. package/build/dex/inception/types.d.ts +22 -0
  77. package/build/dex/inception/types.js +3 -0
  78. package/build/dex/inception/types.js.map +1 -0
  79. package/build/dex/inception/utils.d.ts +7 -0
  80. package/build/dex/inception/utils.js +58 -0
  81. package/build/dex/inception/utils.js.map +1 -0
  82. package/build/dex/index.js +4 -0
  83. package/build/dex/index.js.map +1 -1
  84. package/build/dex/platypus/asset.d.ts +14 -0
  85. package/build/dex/platypus/asset.js +97 -0
  86. package/build/dex/platypus/asset.js.map +1 -0
  87. package/build/dex/platypus/config.d.ts +11 -0
  88. package/build/dex/platypus/config.js +69 -0
  89. package/build/dex/platypus/config.js.map +1 -0
  90. package/build/dex/platypus/platypus.d.ts +63 -0
  91. package/build/dex/platypus/platypus.js +473 -0
  92. package/build/dex/platypus/platypus.js.map +1 -0
  93. package/build/dex/platypus/pool-avax.d.ts +8 -0
  94. package/build/dex/platypus/pool-avax.js +54 -0
  95. package/build/dex/platypus/pool-avax.js.map +1 -0
  96. package/build/dex/platypus/pool-base.d.ts +19 -0
  97. package/build/dex/platypus/pool-base.js +86 -0
  98. package/build/dex/platypus/pool-base.js.map +1 -0
  99. package/build/dex/platypus/pool-pure.d.ts +8 -0
  100. package/build/dex/platypus/pool-pure.js +37 -0
  101. package/build/dex/platypus/pool-pure.js.map +1 -0
  102. package/build/dex/platypus/pool-subscriber.d.ts +14 -0
  103. package/build/dex/platypus/pool-subscriber.js +167 -0
  104. package/build/dex/platypus/pool-subscriber.js.map +1 -0
  105. package/build/dex/platypus/pool.d.ts +8 -0
  106. package/build/dex/platypus/pool.js +58 -0
  107. package/build/dex/platypus/pool.js.map +1 -0
  108. package/build/dex/platypus/types.d.ts +92 -0
  109. package/build/dex/platypus/types.js +10 -0
  110. package/build/dex/platypus/types.js.map +1 -0
  111. package/build/dex/quickswap/spiritswap-v3.d.ts +6 -0
  112. package/build/dex/quickswap/spiritswap-v3.js +19 -0
  113. package/build/dex/quickswap/spiritswap-v3.js.map +1 -0
  114. package/build/dex/smardex/config.d.ts +4 -0
  115. package/build/dex/smardex/config.js +64 -0
  116. package/build/dex/smardex/config.js.map +1 -0
  117. package/build/dex/smardex/constants.d.ts +18 -0
  118. package/build/dex/smardex/constants.js +33 -0
  119. package/build/dex/smardex/constants.js.map +1 -0
  120. package/build/dex/smardex/sdk/constants.d.ts +6 -0
  121. package/build/dex/smardex/sdk/constants.js +13 -0
  122. package/build/dex/smardex/sdk/constants.js.map +1 -0
  123. package/build/dex/smardex/sdk/core.d.ts +113 -0
  124. package/build/dex/smardex/sdk/core.js +499 -0
  125. package/build/dex/smardex/sdk/core.js.map +1 -0
  126. package/build/dex/smardex/sdk/errors.d.ts +15 -0
  127. package/build/dex/smardex/sdk/errors.js +22 -0
  128. package/build/dex/smardex/sdk/errors.js.map +1 -0
  129. package/build/dex/smardex/sdk/types.d.ts +62 -0
  130. package/build/dex/smardex/sdk/types.js +3 -0
  131. package/build/dex/smardex/sdk/types.js.map +1 -0
  132. package/build/dex/smardex/sdk/utils.d.ts +44 -0
  133. package/build/dex/smardex/sdk/utils.js +133 -0
  134. package/build/dex/smardex/sdk/utils.js.map +1 -0
  135. package/build/dex/smardex/smardex-event-pool.d.ts +28 -0
  136. package/build/dex/smardex/smardex-event-pool.js +119 -0
  137. package/build/dex/smardex/smardex-event-pool.js.map +1 -0
  138. package/build/dex/smardex/smardex.d.ts +65 -0
  139. package/build/dex/smardex/smardex.js +519 -0
  140. package/build/dex/smardex/smardex.js.map +1 -0
  141. package/build/dex/smardex/types.d.ts +55 -0
  142. package/build/dex/smardex/types.js +3 -0
  143. package/build/dex/smardex/types.js.map +1 -0
  144. package/build/dex/solidly/forks-override/cone.d.ts +22 -0
  145. package/build/dex/solidly/forks-override/cone.js +53 -0
  146. package/build/dex/solidly/forks-override/cone.js.map +1 -0
  147. package/build/dex/solidly/forks-override/solisnek.d.ts +8 -0
  148. package/build/dex/solidly/forks-override/solisnek.js +15 -0
  149. package/build/dex/solidly/forks-override/solisnek.js.map +1 -0
  150. package/build/dex/stkgho/config.d.ts +3 -0
  151. package/build/dex/stkgho/config.js +14 -0
  152. package/build/dex/stkgho/config.js.map +1 -0
  153. package/build/dex/stkgho/stkgho-pool.d.ts +41 -0
  154. package/build/dex/stkgho/stkgho-pool.js +81 -0
  155. package/build/dex/stkgho/stkgho-pool.js.map +1 -0
  156. package/build/dex/stkgho/stkgho.d.ts +41 -0
  157. package/build/dex/stkgho/stkgho.js +163 -0
  158. package/build/dex/stkgho/stkgho.js.map +1 -0
  159. package/build/dex/stkgho/types.d.ts +11 -0
  160. package/build/dex/stkgho/types.js +3 -0
  161. package/build/dex/stkgho/types.js.map +1 -0
  162. package/build/dex/swaap-v1/config.d.ts +17 -0
  163. package/build/dex/swaap-v1/config.js +56 -0
  164. package/build/dex/swaap-v1/config.js.map +1 -0
  165. package/build/dex/swaap-v1/constants.d.ts +6 -0
  166. package/build/dex/swaap-v1/constants.js +17 -0
  167. package/build/dex/swaap-v1/constants.js.map +1 -0
  168. package/build/dex/swaap-v1/libraries/ChainlinkUtils.d.ts +25 -0
  169. package/build/dex/swaap-v1/libraries/ChainlinkUtils.js +62 -0
  170. package/build/dex/swaap-v1/libraries/ChainlinkUtils.js.map +1 -0
  171. package/build/dex/swaap-v1/libraries/Const.d.ts +18 -0
  172. package/build/dex/swaap-v1/libraries/Const.js +26 -0
  173. package/build/dex/swaap-v1/libraries/Const.js.map +1 -0
  174. package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.d.ts +77 -0
  175. package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.js +316 -0
  176. package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.js.map +1 -0
  177. package/build/dex/swaap-v1/libraries/LogExpMath.d.ts +75 -0
  178. package/build/dex/swaap-v1/libraries/LogExpMath.js +418 -0
  179. package/build/dex/swaap-v1/libraries/LogExpMath.js.map +1 -0
  180. package/build/dex/swaap-v1/libraries/MathMMM.d.ts +185 -0
  181. package/build/dex/swaap-v1/libraries/MathMMM.js +453 -0
  182. package/build/dex/swaap-v1/libraries/MathMMM.js.map +1 -0
  183. package/build/dex/swaap-v1/libraries/Num.d.ts +31 -0
  184. package/build/dex/swaap-v1/libraries/Num.js +167 -0
  185. package/build/dex/swaap-v1/libraries/Num.js.map +1 -0
  186. package/build/dex/swaap-v1/libraries/PoolQuotations.d.ts +23 -0
  187. package/build/dex/swaap-v1/libraries/PoolQuotations.js +131 -0
  188. package/build/dex/swaap-v1/libraries/PoolQuotations.js.map +1 -0
  189. package/build/dex/swaap-v1/libraries/Struct.d.ts +56 -0
  190. package/build/dex/swaap-v1/libraries/Struct.js +3 -0
  191. package/build/dex/swaap-v1/libraries/Struct.js.map +1 -0
  192. package/build/dex/swaap-v1/swaap-v1-pool.d.ts +45 -0
  193. package/build/dex/swaap-v1/swaap-v1-pool.js +656 -0
  194. package/build/dex/swaap-v1/swaap-v1-pool.js.map +1 -0
  195. package/build/dex/swaap-v1/swaap-v1.d.ts +62 -0
  196. package/build/dex/swaap-v1/swaap-v1.js +379 -0
  197. package/build/dex/swaap-v1/swaap-v1.js.map +1 -0
  198. package/build/dex/swaap-v1/types.d.ts +106 -0
  199. package/build/dex/swaap-v1/types.js +9 -0
  200. package/build/dex/swaap-v1/types.js.map +1 -0
  201. package/build/dex/usual-bond/config.d.ts +3 -0
  202. package/build/dex/usual-bond/config.js +13 -0
  203. package/build/dex/usual-bond/config.js.map +1 -0
  204. package/build/dex/usual-bond/types.d.ts +7 -0
  205. package/build/dex/usual-bond/types.js +3 -0
  206. package/build/dex/usual-bond/types.js.map +1 -0
  207. package/build/dex/usual-bond/usual-bond.d.ts +35 -0
  208. package/build/dex/usual-bond/usual-bond.js +162 -0
  209. package/build/dex/usual-bond/usual-bond.js.map +1 -0
  210. package/build/dex/zerox/index.d.ts +1 -1
  211. package/build/dex/zerox/index.js.map +1 -1
  212. package/package.json +2 -3
  213. package/src/abi/aave-gsm/Aave_GSM.json +751 -0
  214. package/src/abi/aave-gsm/IFeeStrategy.json +78 -0
  215. package/src/abi/stkGHO.json +1131 -0
  216. package/src/dex/aave-gsm/aave-gsm-e2e.test.ts +109 -0
  217. package/src/dex/aave-gsm/aave-gsm-events.test.ts +79 -0
  218. package/src/dex/aave-gsm/aave-gsm-integration.test.ts +522 -0
  219. package/src/dex/aave-gsm/aave-gsm-pool.ts +178 -0
  220. package/src/dex/aave-gsm/aave-gsm.ts +410 -0
  221. package/src/dex/aave-gsm/config.ts +16 -0
  222. package/src/dex/aave-gsm/types.ts +23 -0
  223. package/src/dex/index.ts +4 -0
  224. package/src/dex/stkgho/config.ts +14 -0
  225. package/src/dex/stkgho/stkgho-e2e.test.ts +77 -0
  226. package/src/dex/stkgho/stkgho-events.test.ts +79 -0
  227. package/src/dex/stkgho/stkgho-integration.test.ts +226 -0
  228. package/src/dex/stkgho/stkgho-pool.ts +111 -0
  229. package/src/dex/stkgho/stkgho.ts +221 -0
  230. package/src/dex/stkgho/types.ts +14 -0
  231. package/tests/constants-e2e.ts +4 -0
  232. package/.idea/codeStyles/Project.xml +0 -59
  233. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  234. package/.idea/inspectionProfiles/Project_Default.xml +0 -6
  235. package/.idea/modules.xml +0 -8
  236. package/.idea/paraswap-dex-lib.iml +0 -12
  237. package/.idea/vcs.xml +0 -6
@@ -0,0 +1,180 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.AaveV1 = void 0;
30
+ const abi_1 = require("@ethersproject/abi");
31
+ const constants_1 = require("../../constants");
32
+ const CALLDATA_GAS_COST = __importStar(require("../../calldata-gas-cost"));
33
+ const utils_1 = require("../../utils");
34
+ const simple_exchange_1 = require("../simple-exchange");
35
+ const config_1 = require("./config");
36
+ const AaveV1_lending_pool_json_1 = __importDefault(require("../../abi/AaveV1_lending_pool.json"));
37
+ const erc20_json_1 = __importDefault(require("../../abi/erc20.json"));
38
+ const tokens_1 = require("./tokens");
39
+ const AaveGasCost = 400 * 1000;
40
+ var AaveV1Functions;
41
+ (function (AaveV1Functions) {
42
+ AaveV1Functions["deposit"] = "deposit";
43
+ AaveV1Functions["redeem"] = "redeem";
44
+ })(AaveV1Functions || (AaveV1Functions = {}));
45
+ const AAVE_LENDING_POOL = '0x398eC7346DcD622eDc5ae82352F02bE94C62d119';
46
+ const AAVE_PROXY = '0x3dfd23a6c5e8bbcfc9581d2e864a68feb6a076d3';
47
+ const REF_CODE = 1;
48
+ class AaveV1 extends simple_exchange_1.SimpleExchange {
49
+ constructor(network, dexKey, dexHelper) {
50
+ super(dexHelper, dexKey);
51
+ this.network = network;
52
+ this.dexHelper = dexHelper;
53
+ this.hasConstantPriceLargeAmounts = true;
54
+ this.isFeeOnTransferSupported = false;
55
+ this.logger = dexHelper.getLogger(dexKey);
56
+ this.aavePool = new abi_1.Interface(AaveV1_lending_pool_json_1.default);
57
+ this.aContract = new abi_1.Interface(erc20_json_1.default);
58
+ }
59
+ async initializePricing(blockNumber) { }
60
+ // Returns the list of contract adapters (name and index)
61
+ // for a buy/sell. Return null if there are no adapters.
62
+ getAdapters(side) {
63
+ return config_1.Adapters[this.network][side];
64
+ }
65
+ // Returns list of pool identifiers that can be used
66
+ // for a given swap. poolIdentifiers must be unique
67
+ // across DEXes. It is recommended to use
68
+ // ${dexKey}_${poolAddress} as a poolIdentifier
69
+ async getPoolIdentifiers(srcToken, destToken, side, blockNumber) {
70
+ const aToken = (0, tokens_1.isAAVEPair)(this.network, srcToken, destToken);
71
+ if (aToken === null) {
72
+ return [];
73
+ }
74
+ return [`${this.dexKey}_${aToken.address}`];
75
+ }
76
+ // Returns pool prices for amounts.
77
+ // If limitPools is defined only pools in limitPools
78
+ // should be used. If limitPools is undefined then
79
+ // any pools can be used.
80
+ async getPricesVolume(srcToken, destToken, amounts, side, blockNumber, limitPools) {
81
+ const aToken = (0, tokens_1.isAAVEPair)(this.network, srcToken, destToken);
82
+ if (!aToken) {
83
+ return null;
84
+ }
85
+ const fromAToken = aToken == srcToken;
86
+ return [
87
+ {
88
+ prices: amounts,
89
+ unit: (0, utils_1.getBigIntPow)((side === constants_1.SwapSide.SELL ? destToken : srcToken).decimals),
90
+ gasCost: AaveGasCost,
91
+ exchange: this.dexKey,
92
+ data: {
93
+ fromAToken,
94
+ isV2: false,
95
+ },
96
+ poolAddresses: [fromAToken ? srcToken.address : destToken.address],
97
+ },
98
+ ];
99
+ }
100
+ // Returns estimated gas cost of calldata for this DEX in multiSwap
101
+ getCalldataGasCost(poolPrices) {
102
+ return (CALLDATA_GAS_COST.DEX_OVERHEAD +
103
+ CALLDATA_GAS_COST.LENGTH_SMALL +
104
+ CALLDATA_GAS_COST.ADDRESS);
105
+ }
106
+ // Encode params required by the exchange adapter
107
+ // Used for multiSwap, buy & megaSwap
108
+ getAdapterParam(srcToken, destToken, srcAmount, destAmount, data, side) {
109
+ const aToken = data.fromAToken ? srcToken : destToken; // Warning
110
+ const payload = this.abiCoder.encodeParameter({
111
+ ParentStruct: {
112
+ aToken: 'address',
113
+ },
114
+ }, { aToken });
115
+ return {
116
+ targetExchange: AAVE_LENDING_POOL,
117
+ payload,
118
+ networkFee: '0',
119
+ };
120
+ }
121
+ // Encode call data used by simpleSwap like routers
122
+ // Used for simpleSwap & simpleBuy
123
+ // Hint: this.buildSimpleParamWithoutWETHConversion
124
+ // could be useful
125
+ async getSimpleParam(srcToken, destToken, srcAmount, destAmount, data, side) {
126
+ const amount = side === constants_1.SwapSide.SELL ? srcAmount : destAmount;
127
+ const [Interface, swapFunction, swapFunctionParams, swapCallee, spender] = (() => {
128
+ if (data.fromAToken) {
129
+ return [this.aContract, AaveV1Functions.redeem, [amount], srcToken];
130
+ }
131
+ return [
132
+ this.aavePool,
133
+ AaveV1Functions.deposit,
134
+ [srcToken, amount, REF_CODE],
135
+ AAVE_LENDING_POOL,
136
+ AAVE_PROXY, // warning
137
+ ];
138
+ })();
139
+ const swapData = Interface.encodeFunctionData(swapFunction, swapFunctionParams);
140
+ return this.buildSimpleParamWithoutWETHConversion(srcToken, amount, destToken, destAmount, swapData, swapCallee, spender);
141
+ }
142
+ // DEAD
143
+ getDexParam(srcToken, destToken, srcAmount, destAmount, recipient, data, side) {
144
+ const amount = side === constants_1.SwapSide.SELL ? srcAmount : destAmount;
145
+ const [Interface, swapFunction, swapFunctionParams, swapCallee] = (() => {
146
+ if (data.fromAToken) {
147
+ return [this.aContract, AaveV1Functions.redeem, [amount], srcToken];
148
+ }
149
+ return [
150
+ this.aavePool,
151
+ AaveV1Functions.deposit,
152
+ [srcToken, amount, REF_CODE],
153
+ AAVE_LENDING_POOL,
154
+ ];
155
+ })();
156
+ const exchangeData = Interface.encodeFunctionData(swapFunction, swapFunctionParams);
157
+ return {
158
+ needWrapNative: this.needWrapNative,
159
+ dexFuncHasRecipient: false,
160
+ exchangeData,
161
+ targetExchange: swapCallee,
162
+ };
163
+ }
164
+ // This is called once before getTopPoolsForToken is
165
+ // called for multiple tokens. This can be helpful to
166
+ // update common state required for calculating
167
+ // getTopPoolsForToken. It is optional for a DEX
168
+ // to implement this
169
+ updatePoolState() {
170
+ return Promise.resolve();
171
+ }
172
+ // Returns list of top pools based on liquidity. Max
173
+ // limit number pools should be returned.
174
+ async getTopPoolsForToken(tokenAddress, limit) {
175
+ return [];
176
+ }
177
+ }
178
+ exports.AaveV1 = AaveV1;
179
+ AaveV1.dexKeysWithNetwork = (0, utils_1.getDexKeysWithNetwork)(config_1.AaveV1Config);
180
+ //# sourceMappingURL=aave-v1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aave-v1.js","sourceRoot":"","sources":["../../../src/dex/aave-v1/aave-v1.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { DexParams } from './types';
2
+ import { DexConfigMap } from '../../types';
3
+ export declare const AaveV1Config: DexConfigMap<DexParams>;
4
+ export declare const Adapters: {
5
+ [chainId: number]: {
6
+ [side: string]: {
7
+ name: string;
8
+ index: number;
9
+ }[];
10
+ };
11
+ };
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Adapters = exports.AaveV1Config = void 0;
4
+ const constants_1 = require("../../constants");
5
+ exports.AaveV1Config = {
6
+ AaveV1: {
7
+ [constants_1.Network.MAINNET]: {},
8
+ },
9
+ };
10
+ exports.Adapters = {
11
+ [constants_1.Network.MAINNET]: {
12
+ [constants_1.SwapSide.SELL]: [
13
+ {
14
+ name: 'Adapter03',
15
+ index: 5,
16
+ },
17
+ ],
18
+ },
19
+ };
20
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/aave-v1/config.ts"],"names":[],"mappings":";;;AAEA,+CAAoD;AAEvC,QAAA,YAAY,GAA4B;IACnD,MAAM,EAAE;QACN,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE,EAAE;KACtB;CACF,CAAC;AAEW,QAAA,QAAQ,GAEjB;IACF,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;QACjB,CAAC,oBAAQ,CAAC,IAAI,CAAC,EAAE;YACf;gBACE,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,CAAC;aACT;SACF;KACF;CACF,CAAC"}
@@ -0,0 +1,134 @@
1
+ [
2
+ {
3
+ "aSymbol": "aETH",
4
+ "aAddress": "0x3a3a65aab0dd2a17e3f1947ba16138cd37d08c04",
5
+ "address": "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
6
+ "decimals": 18
7
+ },
8
+ {
9
+ "aSymbol": "aDAI",
10
+ "aAddress": "0xfc1e690f61efd961294b3e1ce3313fbd8aa4f85d",
11
+ "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
12
+ "decimals": 18
13
+ },
14
+ {
15
+ "aSymbol": "aUSDC",
16
+ "aAddress": "0x9ba00d6856a4edf4665bca2c2309936572473b7e",
17
+ "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
18
+ "decimals": 6
19
+ },
20
+ {
21
+ "aSymbol": "aSUSD",
22
+ "aAddress": "0x625ae63000f46200499120b906716420bd059240",
23
+ "address": "0x57ab1e02fee23774580c119740129eac7081e9d3",
24
+ "decimals": 18
25
+ },
26
+ {
27
+ "aSymbol": "aTUSD",
28
+ "aAddress": "0x4da9b813057d04baef4e5800e36083717b4a0341",
29
+ "address": "0x8dd5fbce2f6a956c3022ba3663759011dd51e73e",
30
+ "decimals": 18
31
+ },
32
+ {
33
+ "aSymbol": "aUSDT",
34
+ "aAddress": "0x71fc860f7d3a592a4a98740e39db31d25db65ae8",
35
+ "address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
36
+ "decimals": 6
37
+ },
38
+ {
39
+ "aSymbol": "aBUSD",
40
+ "aAddress": "0x6ee0f7bb50a54ab5253da0667b0dc2ee526c30a8",
41
+ "address": "0x4fabb145d64652a948d72533023f6e7a623c7c53",
42
+ "decimals": 18
43
+ },
44
+ {
45
+ "aSymbol": "aBAT",
46
+ "aAddress": "0xe1ba0fb44ccb0d11b80f92f4f8ed94ca3ff51d00",
47
+ "address": "0x0d8775f648430679a709e98d2b0cb6250d2887ef",
48
+ "decimals": 18
49
+ },
50
+ {
51
+ "aSymbol": "aENJ",
52
+ "aAddress": "0x712db54daa836b53ef1ecbb9c6ba3b9efb073f40",
53
+ "address": "0xf629cbd94d3791c9250152bd8dfbdf380e2a3b9c",
54
+ "decimals": 18
55
+ },
56
+ {
57
+ "aSymbol": "aKNC",
58
+ "aAddress": "0x9d91be44c06d373a8a226e1f3b146956083803eb",
59
+ "address": "0xdd974d5c2e2928dea5f71b9825b8b646686bd200",
60
+ "decimals": 18
61
+ },
62
+ {
63
+ "aSymbol": "aAAVE",
64
+ "aAddress": "0xba3d9687cf50fe253cd2e1cfeede1d6787344ed5",
65
+ "address": "0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9",
66
+ "decimals": 18
67
+ },
68
+ {
69
+ "aSymbol": "aLINK",
70
+ "aAddress": "0xa64bd6c70cb9051f6a9ba1f163fdc07e0dfb5f84",
71
+ "address": "0x514910771af9ca656af840dff83e8264ecf986ca",
72
+ "decimals": 18
73
+ },
74
+ {
75
+ "aSymbol": "aMANA",
76
+ "aAddress": "0x6fce4a401b6b80ace52baaefe4421bd188e76f6f",
77
+ "address": "0x0f5d2fb29fb7d3cfee444a200298f468908cc942",
78
+ "decimals": 18
79
+ },
80
+ {
81
+ "aSymbol": "aMKR",
82
+ "aAddress": "0x7deb5e830be29f91e298ba5ff1356bb7f8146998",
83
+ "address": "0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2",
84
+ "decimals": 18
85
+ },
86
+ {
87
+ "aSymbol": "aREN",
88
+ "aAddress": "0x69948cc03f478b95283f7dbf1ce764d0fc7ec54c",
89
+ "address": "0x408e41876cccdc0f92210600ef50372656052a38",
90
+ "decimals": 18
91
+ },
92
+ {
93
+ "aSymbol": "aREP",
94
+ "aAddress": "0x71010a9d003445ac60c4e6a7017c1e89a477b438",
95
+ "address": "0xe94327d07fc17907b4db788e5adf2ed424addff6",
96
+ "decimals": 18
97
+ },
98
+ {
99
+ "aSymbol": "aSNX",
100
+ "aAddress": "0x328c4c80bc7aca0834db37e6600a6c49e12da4de",
101
+ "address": "0xc011a73ee8576fb46f5e1c5751ca3b9fe0af2a6f",
102
+ "decimals": 18
103
+ },
104
+ {
105
+ "aSymbol": "aUNI",
106
+ "aAddress": "0xb124541127a0a657f056d9dd06188c4f1b0e5aab",
107
+ "address": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984",
108
+ "decimals": 18
109
+ },
110
+ {
111
+ "aSymbol": "aWBTC",
112
+ "aAddress": "0xfc4b8ed459e00e5400be803a9bb3954234fd50e3",
113
+ "address": "0x2260fac5e5542a773aa44fbcfedf7c193bc2c599",
114
+ "decimals": 8
115
+ },
116
+ {
117
+ "aSymbol": "aYFI",
118
+ "aAddress": "0x12e51e77daaa58aa0e9247db7510ea4b46f9bead",
119
+ "address": "0x0bc529c00c6401aef6d220be8c6ea1667f6ad93e",
120
+ "decimals": 18
121
+ },
122
+ {
123
+ "aSymbol": "aZRX",
124
+ "aAddress": "0x6fb0855c404e09c47c3fbca25f08d4e41f9f062f",
125
+ "address": "0xe41d2489571d322189246dafa5ebde1f4699f498",
126
+ "decimals": 18
127
+ },
128
+ {
129
+ "aSymbol": "aLEND",
130
+ "aAddress": "0x7d2d3688df45ce7c552e19c27e007673da9204b8",
131
+ "address": "0x80fb784b7ed66730e8b1dbd9820afd29931aab03",
132
+ "decimals": 18
133
+ }
134
+ ]
@@ -0,0 +1,3 @@
1
+ import { Token } from '../../types';
2
+ export declare function isAAVEPair(network: number, src: Token, dst: Token): Token | null;
3
+ export declare function aaveV1GetToken(network: number, symbol: string): Token | null;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.aaveV1GetToken = exports.isAAVEPair = void 0;
7
+ const constants_1 = require("../../constants");
8
+ const tokens_mainnet_json_1 = __importDefault(require("./tokens-mainnet.json"));
9
+ const Tokens = {};
10
+ const TokensByAddress = {};
11
+ const tokensByNetwork = {
12
+ [constants_1.Network.MAINNET]: tokens_mainnet_json_1.default,
13
+ };
14
+ for (const [key, tokens] of Object.entries(tokensByNetwork)) {
15
+ const network = +key;
16
+ Tokens[network] = {};
17
+ TokensByAddress[network] = {};
18
+ for (const token of tokens) {
19
+ Tokens[network][token.aSymbol] = token;
20
+ TokensByAddress[network][token.aAddress.toLowerCase()] = token;
21
+ }
22
+ }
23
+ // return null if pair does not exists otherwise return the aToken
24
+ function isAAVEPair(network, src, dst) {
25
+ const srcAddr = src.address.toLowerCase();
26
+ const dstAddr = dst.address.toLowerCase();
27
+ const _src = TokensByAddress[network][srcAddr];
28
+ const _dst = TokensByAddress[network][dstAddr];
29
+ if (_src && _src.address == dstAddr) {
30
+ return src;
31
+ }
32
+ if (_dst && _dst.address == srcAddr) {
33
+ return dst;
34
+ }
35
+ return null;
36
+ }
37
+ exports.isAAVEPair = isAAVEPair;
38
+ function aaveV1GetToken(network, symbol) {
39
+ const aToken = Tokens[network][symbol];
40
+ if (!aToken) {
41
+ return null;
42
+ }
43
+ return {
44
+ address: aToken.aAddress,
45
+ decimals: aToken.decimals,
46
+ symbol: aToken.aSymbol,
47
+ };
48
+ }
49
+ exports.aaveV1GetToken = aaveV1GetToken;
50
+ //# sourceMappingURL=tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../src/dex/aave-v1/tokens.ts"],"names":[],"mappings":";;;;;;AACA,+CAA0C;AAE1C,gFAAkD;AAElD,MAAM,MAAM,GAAwD,EAAE,CAAC;AACvE,MAAM,eAAe,GACnB,EAAE,CAAC;AAEL,MAAM,eAAe,GAA+B;IAClD,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE,6BAAa;CACjC,CAAC;AAEF,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;IAC3D,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC;IACrB,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IACrB,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAC9B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;QAC1B,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;QACvC,eAAe,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC;KAChE;CACF;AAED,kEAAkE;AAClE,SAAgB,UAAU,CACxB,OAAe,EACf,GAAU,EACV,GAAU;IAEV,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IAE1C,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;IAE/C,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE;QACnC,OAAO,GAAG,CAAC;KACZ;IAED,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE;QACnC,OAAO,GAAG,CAAC;KACZ;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AApBD,gCAoBC;AAED,SAAgB,cAAc,CAAC,OAAe,EAAE,MAAc;IAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,IAAI,CAAC;KACb;IAED,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,QAAQ;QACxB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM,EAAE,MAAM,CAAC,OAAO;KACvB,CAAC;AACJ,CAAC;AAXD,wCAWC"}
@@ -0,0 +1,12 @@
1
+ export declare type AaveV1Data = {
2
+ fromAToken: boolean;
3
+ isV2: boolean;
4
+ };
5
+ export declare type DexParams = {};
6
+ export declare type AaveV1RedeemParams = [
7
+ _reserve: string,
8
+ _amount: string,
9
+ _referralCode: number
10
+ ];
11
+ export declare type AaveV1DepositParams = [token: string];
12
+ export declare type AaveV1Param = AaveV1RedeemParams | AaveV1DepositParams;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dex/aave-v1/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,56 @@
1
+ import BigNumber from 'bignumber.js';
2
+ import { Contract } from 'web3-eth-contract';
3
+ import { Interface } from '@ethersproject/abi';
4
+ import { DeepReadonly } from 'ts-essentials';
5
+ import { Log, Logger } from '../../types';
6
+ import { StatefulEventSubscriber } from '../../stateful-event-subscriber';
7
+ import { IDexHelper } from '../../dex-helper/idex-helper';
8
+ import { PoolState, IdleToken } from './types';
9
+ import { IdleDao } from './idle-dao';
10
+ declare type BlocksTransfers = Record<number, {
11
+ underlyingAmount: BigNumber;
12
+ idleAmount: BigNumber;
13
+ processed: boolean;
14
+ }>;
15
+ export declare class IdleDaoEventPool extends StatefulEventSubscriber<PoolState> {
16
+ readonly parentName: string;
17
+ protected network: number;
18
+ protected dexHelper: IDexHelper;
19
+ protected logger: Logger;
20
+ protected idleToken: IdleToken;
21
+ protected IdleDao: IdleDao;
22
+ handlers: {
23
+ [event: string]: (event: any, state: DeepReadonly<PoolState>, log: Readonly<Log>) => Promise<DeepReadonly<PoolState> | null>;
24
+ };
25
+ logDecoder: (log: Log) => any;
26
+ cdoContract: Contract;
27
+ poolInterface: Interface;
28
+ addressesSubscribed: string[];
29
+ blocksTransfers: BlocksTransfers;
30
+ constructor(parentName: string, network: number, dexHelper: IDexHelper, logger: Logger, idleToken: IdleToken, IdleDao: IdleDao);
31
+ /**
32
+ * The function is called every time any of the subscribed
33
+ * addresses release log. The function accepts the current
34
+ * state, updates the state according to the log, and returns
35
+ * the updated state.
36
+ * @param state - Current state of event subscriber
37
+ * @param log - Log released by one of the subscribed addresses
38
+ * @returns Updates state of the event subscriber after the log
39
+ */
40
+ protected processLog(state: DeepReadonly<PoolState>, log: Readonly<Log>): Promise<DeepReadonly<PoolState> | null>;
41
+ /**
42
+ * The function generates state using on-chain calls. This
43
+ * function is called to regenerate state if the event based
44
+ * system fails to fetch events and the local state is no
45
+ * more correct.
46
+ * @param blockNumber - Blocknumber for which the state should
47
+ * should be generated
48
+ * @returns state of the event subscriber at blocknumber
49
+ */
50
+ generateState(blockNumber: number): Promise<DeepReadonly<PoolState>>;
51
+ setBlockState(blockNumber: number, state: PoolState): void;
52
+ handleCoinTransfer(event: any, state: PoolState, log: Log): Promise<DeepReadonly<PoolState> | null>;
53
+ processBlockTransfer(blockNumber: number, state: PoolState): PoolState;
54
+ handleCoinTransfer_old(event: any, state: PoolState, log: Log): Promise<DeepReadonly<PoolState> | null>;
55
+ }
56
+ export {};