@paraswap/dex-lib 2.12.13 → 2.13.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 (40) hide show
  1. package/build/dex/simple-exchange.js +1 -1
  2. package/build/dex/simple-exchange.js.map +1 -1
  3. package/build/dex/woo-fi-v2/constants.d.ts +5 -1
  4. package/build/dex/woo-fi-v2/constants.js +8 -2
  5. package/build/dex/woo-fi-v2/constants.js.map +1 -1
  6. package/build/dex/woo-fi-v2/woo-fi-v2.js +12 -1
  7. package/build/dex/woo-fi-v2/woo-fi-v2.js.map +1 -1
  8. package/package.json +1 -1
  9. package/src/dex/simple-exchange.ts +1 -1
  10. package/src/dex/woo-fi-v2/constants.ts +8 -2
  11. package/src/dex/woo-fi-v2/woo-fi-v2.ts +13 -1
  12. package/build/dex/aave-v3/tokens/arbitrum.json +0 -50
  13. package/build/dex/aave-v3/tokens/avalanche.json +0 -74
  14. package/build/dex/aave-v3/tokens/fantom.json +0 -62
  15. package/build/dex/aave-v3/tokens/optimism.json +0 -50
  16. package/build/dex/aave-v3/tokens/polygon.json +0 -116
  17. package/build/dex/hashflow/rate-fetcher.d.ts +0 -14
  18. package/build/dex/hashflow/rate-fetcher.js +0 -37
  19. package/build/dex/hashflow/rate-fetcher.js.map +0 -1
  20. package/build/dex/hashflow/validators.d.ts +0 -3
  21. package/build/dex/hashflow/validators.js +0 -12
  22. package/build/dex/hashflow/validators.js.map +0 -1
  23. package/build/dex/test-dex/config.d.ts +0 -4
  24. package/build/dex/test-dex/config.js +0 -15
  25. package/build/dex/test-dex/config.js.map +0 -1
  26. package/build/dex/test-dex/test-dex-pool.d.ts +0 -39
  27. package/build/dex/test-dex/test-dex-pool.js +0 -63
  28. package/build/dex/test-dex/test-dex-pool.js.map +0 -1
  29. package/build/dex/test-dex/test-dex.d.ts +0 -37
  30. package/build/dex/test-dex/test-dex.js +0 -126
  31. package/build/dex/test-dex/test-dex.js.map +0 -1
  32. package/build/dex/test-dex/types.d.ts +0 -6
  33. package/build/dex/test-dex/types.js +0 -3
  34. package/build/dex/test-dex/types.js.map +0 -1
  35. package/build/dex/woo-fi-v2/woo-fi-math.d.ts +0 -16
  36. package/build/dex/woo-fi-v2/woo-fi-math.js +0 -137
  37. package/build/dex/woo-fi-v2/woo-fi-math.js.map +0 -1
  38. package/build/lib/validators.d.ts +0 -7
  39. package/build/lib/validators.js +0 -27
  40. package/build/lib/validators.js.map +0 -1
@@ -72,7 +72,7 @@ class SimpleExchange {
72
72
  };
73
73
  }
74
74
  getDeadline() {
75
- return Math.floor(new Date().getTime() / 1000) + 60 * 60;
75
+ return Math.floor(new Date().getTime() / 1000) + 6 * 60 * 60;
76
76
  }
77
77
  }
78
78
  exports.SimpleExchange = SimpleExchange;
@@ -1 +1 @@
1
- {"version":3,"file":"simple-exchange.js","sourceRoot":"","sources":["../../src/dex/simple-exchange.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"simple-exchange.js","sourceRoot":"","sources":["../../src/dex/simple-exchange.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,9 @@
1
1
  import { PoolState } from './types';
2
- export declare const WOO_FI_V2_GAS_COST: number;
2
+ export declare const WOO_FI_V2_GAS_COST: {
3
+ sellQuote: number;
4
+ sellBase: number;
5
+ baseToBase: number;
6
+ };
3
7
  export declare const USD_PRECISION = 2;
4
8
  export declare const MIN_CONVERSION_RATE = 1;
5
9
  export declare const NULL_STATE: PoolState;
@@ -1,8 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NULL_STATE = exports.MIN_CONVERSION_RATE = exports.USD_PRECISION = exports.WOO_FI_V2_GAS_COST = void 0;
4
- // TODO: UPDATE GAS COST!
5
- exports.WOO_FI_V2_GAS_COST = 150 * 1000;
4
+ exports.WOO_FI_V2_GAS_COST = {
5
+ // https://dashboard.tenderly.co/paraswap/paraswap/fork/f5a6da2f-fec7-4d00-ac2c-b9c50f5c9554/simulation/25f3b378-632f-4beb-ba37-e21dd3722b5c/gas-usage
6
+ sellQuote: 145000,
7
+ // https://dashboard.tenderly.co/paraswap/paraswap/fork/92f13a98-465d-409e-867d-e255e9f86cf1/simulation/09d5d06a-dd90-40fe-8ae6-a65097e804d4/gas-usage
8
+ sellBase: 159000,
9
+ // https://dashboard.tenderly.co/paraswap/paraswap/fork/d5964ad1-f64f-42b7-8fac-976ad216f05f/simulation/49df18de-8046-463e-a904-5c9f621406d4/gas-usage
10
+ baseToBase: 204000,
11
+ };
6
12
  exports.USD_PRECISION = 2;
7
13
  exports.MIN_CONVERSION_RATE = 1;
8
14
  exports.NULL_STATE = {
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/dex/woo-fi-v2/constants.ts"],"names":[],"mappings":";;;AAEA,yBAAyB;AACZ,QAAA,kBAAkB,GAAG,GAAG,GAAG,IAAI,CAAC;AAEhC,QAAA,aAAa,GAAG,CAAC,CAAC;AAElB,QAAA,mBAAmB,GAAG,CAAC,CAAC;AAExB,QAAA,UAAU,GAAc;IACnC,UAAU,EAAE,EAAE;IACd,WAAW,EAAE,EAAE;IACf,QAAQ,EAAE,EAAE;IACZ,eAAe,EAAE,EAAE;IACnB,QAAQ,EAAE,KAAK;CAChB,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/dex/woo-fi-v2/constants.ts"],"names":[],"mappings":";;;AAEa,QAAA,kBAAkB,GAAG;IAChC,sJAAsJ;IACtJ,SAAS,EAAE,MAAO;IAClB,sJAAsJ;IACtJ,QAAQ,EAAE,MAAO;IACjB,sJAAsJ;IACtJ,UAAU,EAAE,MAAO;CACpB,CAAC;AAEW,QAAA,aAAa,GAAG,CAAC,CAAC;AAElB,QAAA,mBAAmB,GAAG,CAAC,CAAC;AAExB,QAAA,UAAU,GAAc;IACnC,UAAU,EAAE,EAAE;IACd,WAAW,EAAE,EAAE;IACf,QAAQ,EAAE,EAAE;IACZ,eAAe,EAAE,EAAE;IACnB,QAAQ,EAAE,KAAK;CAChB,CAAC"}
@@ -146,6 +146,17 @@ class WooFiV2 extends simple_exchange_1.SimpleExchange {
146
146
  if (!_prices)
147
147
  return null;
148
148
  const unit = _prices[0];
149
+ let gasCost = constants_2.WOO_FI_V2_GAS_COST.baseToBase;
150
+ if (_srcAddress === this.config.quoteToken.address) {
151
+ gasCost = constants_2.WOO_FI_V2_GAS_COST.sellQuote;
152
+ }
153
+ else if (_destAddress === this.config.quoteToken.address) {
154
+ gasCost = constants_2.WOO_FI_V2_GAS_COST.sellBase;
155
+ }
156
+ else {
157
+ this.logger.error(`Can not estimate gas cost in getPricesVolume. Check the logic: ` +
158
+ `${_srcAddress}, ${_destAddress}, ${this.config.quoteToken.address}`);
159
+ }
149
160
  return [
150
161
  {
151
162
  unit,
@@ -153,7 +164,7 @@ class WooFiV2 extends simple_exchange_1.SimpleExchange {
153
164
  data: {},
154
165
  poolIdentifier: expectedIdentifier,
155
166
  exchange: this.dexKey,
156
- gasCost: constants_2.WOO_FI_V2_GAS_COST,
167
+ gasCost,
157
168
  poolAddresses: [this.config.wooPPV2Address],
158
169
  },
159
170
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"woo-fi-v2.js","sourceRoot":"","sources":["../../../src/dex/woo-fi-v2/woo-fi-v2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"woo-fi-v2.js","sourceRoot":"","sources":["../../../src/dex/woo-fi-v2/woo-fi-v2.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paraswap/dex-lib",
3
- "version": "2.12.13",
3
+ "version": "2.13.0",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "repository": "https://github.com/paraswap/paraswap-dex-lib",
@@ -124,6 +124,6 @@ export class SimpleExchange {
124
124
  }
125
125
 
126
126
  getDeadline() {
127
- return Math.floor(new Date().getTime() / 1000) + 60 * 60;
127
+ return Math.floor(new Date().getTime() / 1000) + 6 * 60 * 60;
128
128
  }
129
129
  }
@@ -1,7 +1,13 @@
1
1
  import { PoolState } from './types';
2
2
 
3
- // TODO: UPDATE GAS COST!
4
- export const WOO_FI_V2_GAS_COST = 150 * 1000;
3
+ export const WOO_FI_V2_GAS_COST = {
4
+ // https://dashboard.tenderly.co/paraswap/paraswap/fork/f5a6da2f-fec7-4d00-ac2c-b9c50f5c9554/simulation/25f3b378-632f-4beb-ba37-e21dd3722b5c/gas-usage
5
+ sellQuote: 145_000,
6
+ // https://dashboard.tenderly.co/paraswap/paraswap/fork/92f13a98-465d-409e-867d-e255e9f86cf1/simulation/09d5d06a-dd90-40fe-8ae6-a65097e804d4/gas-usage
7
+ sellBase: 159_000,
8
+ // https://dashboard.tenderly.co/paraswap/paraswap/fork/d5964ad1-f64f-42b7-8fac-976ad216f05f/simulation/49df18de-8046-463e-a904-5c9f621406d4/gas-usage
9
+ baseToBase: 204_000,
10
+ };
5
11
 
6
12
  export const USD_PRECISION = 2;
7
13
 
@@ -219,6 +219,18 @@ export class WooFiV2 extends SimpleExchange implements IDex<WooFiV2Data> {
219
219
 
220
220
  const unit = _prices[0];
221
221
 
222
+ let gasCost = WOO_FI_V2_GAS_COST.baseToBase;
223
+ if (_srcAddress === this.config.quoteToken.address) {
224
+ gasCost = WOO_FI_V2_GAS_COST.sellQuote;
225
+ } else if (_destAddress === this.config.quoteToken.address) {
226
+ gasCost = WOO_FI_V2_GAS_COST.sellBase;
227
+ } else {
228
+ this.logger.error(
229
+ `Can not estimate gas cost in getPricesVolume. Check the logic: ` +
230
+ `${_srcAddress}, ${_destAddress}, ${this.config.quoteToken.address}`,
231
+ );
232
+ }
233
+
222
234
  return [
223
235
  {
224
236
  unit,
@@ -226,7 +238,7 @@ export class WooFiV2 extends SimpleExchange implements IDex<WooFiV2Data> {
226
238
  data: {},
227
239
  poolIdentifier: expectedIdentifier,
228
240
  exchange: this.dexKey,
229
- gasCost: WOO_FI_V2_GAS_COST,
241
+ gasCost,
230
242
  poolAddresses: [this.config.wooPPV2Address],
231
243
  },
232
244
  ];
@@ -1,50 +0,0 @@
1
- [
2
- {
3
- "aSymbol": "aArbDAI",
4
- "aAddress": "0x82E64f49Ed5EC1bC6e43DAD4FC8Af9bb3A2312EE",
5
- "address": "0xda10009cbd5d07dd0cecc66161fc93d7c9000da1",
6
- "decimals": 18
7
- },
8
- {
9
- "aSymbol": "aArbEURS",
10
- "aAddress": "0x6d80113e533a2C0fe82EaBD35f1875DcEA89Ea97",
11
- "address": "0xd22a58f79e9481d1a88e00c343885a588b34b68b",
12
- "decimals": 2
13
- },
14
- {
15
- "aSymbol": "aArbUSDC",
16
- "aAddress": "0x625E7708f30cA75bfd92586e17077590C60eb4cD",
17
- "address": "0xff970a61a04b1ca14834a43f5de4533ebddb5cc8",
18
- "decimals": 6
19
- },
20
- {
21
- "aSymbol": "aArbUSDT",
22
- "aAddress": "0x6ab707aca953edaefbc4fd23ba73294241490620",
23
- "address": "0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9",
24
- "decimals": 6
25
- },
26
- {
27
- "aSymbol": "aArbAAVE",
28
- "aAddress": "0xf329e36C7bF6E5E86ce2150875a84Ce77f477375",
29
- "address": "0xba5ddd1f9d7f570dc94a51479a000e3bce967196",
30
- "decimals": 18
31
- },
32
- {
33
- "aSymbol": "aArbLINK",
34
- "aAddress": "0x191c10Aa4AF7C30e871E70C95dB0E4eb77237530",
35
- "address": "0xf97f4df75117a78c1a5a0dbb814af92458539fb4",
36
- "decimals": 18
37
- },
38
- {
39
- "aSymbol": "aArbWBTC",
40
- "aAddress": "0x078f358208685046a11C85e8ad32895DED33A249",
41
- "address": "0x2f2a2543b76a4166549f7aab2e75bef0aefc5b0f",
42
- "decimals": 8
43
- },
44
- {
45
- "aSymbol": "aArbWETH",
46
- "aAddress": "0xe50fA9b3c56FfB159cB0FCA61F5c9D750e8128c8",
47
- "address": "0x82af49447d8a07e3bd95bd0d56f35241523fbab1",
48
- "decimals": 18
49
- }
50
- ]
@@ -1,74 +0,0 @@
1
- [
2
- {
3
- "aSymbol": "aAvaDAI",
4
- "aAddress": "0x82e64f49ed5ec1bc6e43dad4fc8af9bb3a2312ee",
5
- "address": "0xd586e7f844cea2f87f50152665bcbc2c279d8d70",
6
- "decimals": 18
7
- },
8
- {
9
- "aSymbol": "aAvaFRAX",
10
- "aAddress": "0xc45A479877e1e9Dfe9FcD4056c699575a1045dAA",
11
- "address": "0xD24C2Ad096400B6FBcd2ad8B24E7acBc21A1da64",
12
- "decimals": 18
13
- },
14
- {
15
- "aSymbol": "aAvaMAI",
16
- "aAddress": "0x8Eb270e296023E9D92081fdF967dDd7878724424",
17
- "address": "0x5c49b268c9841AFF1Cc3B0a418ff5c3442eE3F3b",
18
- "decimals": 18
19
- },
20
- {
21
- "aSymbol": "aAvaUSDC",
22
- "aAddress": "0x625e7708f30ca75bfd92586e17077590c60eb4cd",
23
- "address": "0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e",
24
- "decimals": 6
25
- },
26
- {
27
- "aSymbol": "aAvaUSDT",
28
- "aAddress": "0x6ab707aca953edaefbc4fd23ba73294241490620",
29
- "address": "0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7",
30
- "decimals": 6
31
- },
32
- {
33
- "aSymbol": "aAvaAAVE",
34
- "aAddress": "0xf329e36c7bf6e5e86ce2150875a84ce77f477375",
35
- "address": "0x63a72806098bd3d9520cc43356dd78afe5d386d9",
36
- "decimals": 18
37
- },
38
- {
39
- "aSymbol": "aAvaBTC.b",
40
- "aAddress": "0x8ffDf2DE812095b1D19CB146E4c004587C0A0692",
41
- "address": "0x152b9d0FdC40C096757F570A51E494bd4b943E50",
42
- "decimals": 8
43
- },
44
- {
45
- "aSymbol": "aAvaLINK",
46
- "aAddress": "0x191c10aa4af7c30e871e70c95db0e4eb77237530",
47
- "address": "0x5947bb275c521040051d82396192181b413227a3",
48
- "decimals": 18
49
- },
50
- {
51
- "aSymbol": "aAvaSAVAX",
52
- "aAddress": "0x513c7E3a9c69cA3e22550eF58AC1C0088e918FFf",
53
- "address": "0x2b2C81e08f1Af8835a78Bb2A90AE924ACE0eA4bE",
54
- "decimals": 18
55
- },
56
- {
57
- "aSymbol": "aAvaWAVAX",
58
- "aAddress": "0x6d80113e533a2C0fe82EaBD35f1875DcEA89Ea97",
59
- "address": "0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7",
60
- "decimals": 18
61
- },
62
- {
63
- "aSymbol": "aAvaWBTC",
64
- "aAddress": "0x078f358208685046a11c85e8ad32895ded33a249",
65
- "address": "0x50b7545627a5162f82a992c33b87adc75187b218",
66
- "decimals": 8
67
- },
68
- {
69
- "aSymbol": "aAvaWETH",
70
- "aAddress": "0xe50fa9b3c56ffb159cb0fca61f5c9d750e8128c8",
71
- "address": "0x49d5c2bdffac6ce2bfdb6640f4f80f226bc10bab",
72
- "decimals": 18
73
- }
74
- ]
@@ -1,62 +0,0 @@
1
- [
2
- {
3
- "aSymbol": "aFanAAVE",
4
- "aAddress": "0xf329e36c7bf6e5e86ce2150875a84ce77f477375",
5
- "address": "0x6a07a792ab2965c72a5b8088d3a069a7ac3a993b",
6
- "decimals": 18
7
- },
8
- {
9
- "aSymbol": "aFanDAI",
10
- "aAddress": "0x82e64f49ed5ec1bc6e43dad4fc8af9bb3a2312ee",
11
- "address": "0x8d11ec38a3eb5e956b052f67da8bdc9bef8abf3e",
12
- "decimals": 18
13
- },
14
- {
15
- "aSymbol": "aFanUSDT",
16
- "aAddress": "0x6ab707aca953edaefbc4fd23ba73294241490620",
17
- "address": "0x049d68029688eabf473097a2fc38ef61633a3c7a",
18
- "decimals": 6
19
- },
20
- {
21
- "aSymbol": "aFanLINK",
22
- "aAddress": "0x191c10aa4af7c30e871e70c95db0e4eb77237530",
23
- "address": "0xb3654dc3d10ea7645f8319668e8f54d2574fbdc8",
24
- "decimals": 18
25
- },
26
- {
27
- "aSymbol": "aFanWFTM",
28
- "aAddress": "0x6d80113e533a2c0fe82eabd35f1875dcea89ea97",
29
- "address": "0x21be370d5312f44cb42ce377bc9b8a0cef1a4c83",
30
- "decimals": 18
31
- },
32
- {
33
- "aSymbol": "aFanUSDC",
34
- "aAddress": "0x625e7708f30ca75bfd92586e17077590c60eb4cd",
35
- "address": "0x04068da6c83afcfa0e13ba15a6696662335d5b75",
36
- "decimals": 6
37
- },
38
- {
39
- "aSymbol": "aFanWBTC",
40
- "aAddress": "0x078f358208685046a11c85e8ad32895ded33a249",
41
- "address": "0x321162cd933e2be498cd2267a90534a804051b11",
42
- "decimals": 8
43
- },
44
- {
45
- "aSymbol": "aFanWETH",
46
- "aAddress": "0xe50fa9b3c56ffb159cb0fca61f5c9d750e8128c8",
47
- "address": "0x74b23882a30290451a17c44f4f05243b6b58c76d",
48
- "decimals": 18
49
- },
50
- {
51
- "aSymbol": "aFanCRV",
52
- "aAddress": "0x513c7e3a9c69ca3e22550ef58ac1c0088e918fff",
53
- "address": "0x1e4f97b9f9f913c46f1632781732927b9019c68b",
54
- "decimals": 18
55
- },
56
- {
57
- "aSymbol": "aFanSUSHI",
58
- "aAddress": "0xc45a479877e1e9dfe9fcd4056c699575a1045daa",
59
- "address": "0xae75a438b2e0cb8bb01ec1e1e376de11d44477cc",
60
- "decimals": 18
61
- }
62
- ]
@@ -1,50 +0,0 @@
1
- [
2
- {
3
- "aSymbol": "aOptDAI",
4
- "aAddress": "0x82E64f49Ed5EC1bC6e43DAD4FC8Af9bb3A2312EE",
5
- "address": "0xda10009cbd5d07dd0cecc66161fc93d7c9000da1",
6
- "decimals": 18
7
- },
8
- {
9
- "aSymbol": "aOptSUSD",
10
- "aAddress": "0x6d80113e533a2C0fe82EaBD35f1875DcEA89Ea97",
11
- "address": "0x8c6f28f2f1a3c87f0f938b96d27520d9751ec8d9",
12
- "decimals": 18
13
- },
14
- {
15
- "aSymbol": "aOptUSDC",
16
- "aAddress": "0x625E7708f30cA75bfd92586e17077590C60eb4cD",
17
- "address": "0x7f5c764cbc14f9669b88837ca1490cca17c31607",
18
- "decimals": 6
19
- },
20
- {
21
- "aSymbol": "aOptUSDT",
22
- "aAddress": "0x6ab707aca953edaefbc4fd23ba73294241490620",
23
- "address": "0x94b008aa00579c1307b0ef2c499ad98a8ce58e58",
24
- "decimals": 6
25
- },
26
- {
27
- "aSymbol": "aOptAAVE",
28
- "aAddress": "0xf329e36C7bF6E5E86ce2150875a84Ce77f477375",
29
- "address": "0x76fb31fb4af56892a25e32cfc43de717950c9278",
30
- "decimals": 18
31
- },
32
- {
33
- "aSymbol": "aOptLINK",
34
- "aAddress": "0x191c10Aa4AF7C30e871E70C95dB0E4eb77237530",
35
- "address": "0x350a791Bfc2C21F9Ed5d10980Dad2e2638ffa7f6",
36
- "decimals": 18
37
- },
38
- {
39
- "aSymbol": "aOptWBTC",
40
- "aAddress": "0x078f358208685046a11C85e8ad32895DED33A249",
41
- "address": "0x68f180fcce6836688e9084f035309e29bf0a2095",
42
- "decimals": 8
43
- },
44
- {
45
- "aSymbol": "aOptWETH",
46
- "aAddress": "0xe50fA9b3c56FfB159cB0FCA61F5c9D750e8128c8",
47
- "address": "0x4200000000000000000000000000000000000006",
48
- "decimals": 18
49
- }
50
- ]
@@ -1,116 +0,0 @@
1
- [
2
- {
3
- "aSymbol": "aPolAGEUR",
4
- "aAddress": "0x8437d7c167dfb82ed4cb79cd44b7a32a1dd95c77",
5
- "address": "0xe0b52e49357fd4daf2c15e02058dce6bc0057db4",
6
- "decimals": 18
7
- },
8
- {
9
- "aSymbol": "aPolDAI",
10
- "aAddress": "0x82e64f49ed5ec1bc6e43dad4fc8af9bb3a2312ee",
11
- "address": "0x8f3cf7ad23cd3cadbd9735aff958023239c6a063",
12
- "decimals": 18
13
- },
14
- {
15
- "aSymbol": "aPolEURS",
16
- "aAddress": "0x38d693ce1df5aadf7bc62595a37d667ad57922e5",
17
- "address": "0xe111178a87a3bff0c8d18decba5798827539ae99",
18
- "decimals": 2
19
- },
20
- {
21
- "aSymbol": "aPolJEUR",
22
- "aAddress": "0x6533afac2e7bccb20dca161449a13a32d391fb00",
23
- "address": "0x4e3decbb3645551b8a19f0ea1678079fcb33fb4c",
24
- "decimals": 18
25
- },
26
- {
27
- "aSymbol": "aPolMIMATIC",
28
- "aAddress": "0xeBe517846d0F36eCEd99C735cbF6131e1fEB775D",
29
- "address": "0xa3Fa99A148fA48D14Ed51d610c367C61876997F1",
30
- "decimals": 18
31
- },
32
- {
33
- "aSymbol": "aPolUSDC",
34
- "aAddress": "0x625e7708f30ca75bfd92586e17077590c60eb4cd",
35
- "address": "0x2791bca1f2de4661ed88a30c99a7a9449aa84174",
36
- "decimals": 6
37
- },
38
- {
39
- "aSymbol": "aPolUSDT",
40
- "aAddress": "0x6ab707aca953edaefbc4fd23ba73294241490620",
41
- "address": "0xc2132d05d31c914a87c6611c10748aeb04b58e8f",
42
- "decimals": 6
43
- },
44
- {
45
- "aSymbol": "aPolAAVE",
46
- "aAddress": "0xf329e36c7bf6e5e86ce2150875a84ce77f477375",
47
- "address": "0xd6df932a45c0f255f85145f286ea0b292b21c90b",
48
- "decimals": 18
49
- },
50
- {
51
- "aSymbol": "aPolBAL",
52
- "aAddress": "0x8ffdf2de812095b1d19cb146e4c004587c0a0692",
53
- "address": "0x9a71012b13ca4d3d0cdc72a177df3ef03b0e76a3",
54
- "decimals": 18
55
- },
56
- {
57
- "aSymbol": "aPolCRV",
58
- "aAddress": "0x513c7e3a9c69ca3e22550ef58ac1c0088e918fff",
59
- "address": "0x172370d5cd63279efa6d502dab29171933a610af",
60
- "decimals": 18
61
- },
62
- {
63
- "aSymbol": "aPolDPI",
64
- "aAddress": "0x724dc807b04555b71ed48a6896b6f41593b8c637",
65
- "address": "0x85955046df4668e1dd369d2de9f3aeb98dd2a369",
66
- "decimals": 18
67
- },
68
- {
69
- "aSymbol": "aPolGHST",
70
- "aAddress": "0x8eb270e296023e9d92081fdf967ddd7878724424",
71
- "address": "0x385eeac5cb85a38a9a07a70c73e0a3271cfb54a7",
72
- "decimals": 18
73
- },
74
- {
75
- "aSymbol": "aPolLINK",
76
- "aAddress": "0x191c10aa4af7c30e871e70c95db0e4eb77237530",
77
- "address": "0x53e0bca35ec356bd5dddfebbd1fc0fd03fabad39",
78
- "decimals": 18
79
- },
80
- {
81
- "aSymbol": "aPolMATICX",
82
- "aAddress": "0x80cA0d8C38d2e2BcbaB66aA1648Bd1C7160500FE",
83
- "address": "0xfa68FB4628DFF1028CFEc22b4162FCcd0d45efb6",
84
- "decimals": 18
85
- },
86
- {
87
- "aSymbol": "aPolSTMATIC",
88
- "aAddress": "0xEA1132120ddcDDA2F119e99Fa7A27a0d036F7Ac9",
89
- "address": "0x3A58a54C066FdC0f2D55FC9C89F0415C92eBf3C4",
90
- "decimals": 18
91
- },
92
- {
93
- "aSymbol": "aPolSUSHI",
94
- "aAddress": "0xc45a479877e1e9dfe9fcd4056c699575a1045daa",
95
- "address": "0x0b3f868e0be5597d5db7feb59e1cadbb0fdda50a",
96
- "decimals": 18
97
- },
98
- {
99
- "aSymbol": "aPolWBTC",
100
- "aAddress": "0x078f358208685046a11c85e8ad32895ded33a249",
101
- "address": "0x1bfd67037b42cf73acf2047067bd4f2c47d9bfd6",
102
- "decimals": 8
103
- },
104
- {
105
- "aSymbol": "aPolWETH",
106
- "aAddress": "0xe50fa9b3c56ffb159cb0fca61f5c9d750e8128c8",
107
- "address": "0x7ceb23fd6bc0add59e62ac25578270cff1b9f619",
108
- "decimals": 18
109
- },
110
- {
111
- "aSymbol": "aPolWMATIC",
112
- "aAddress": "0x6d80113e533a2c0fe82eabd35f1875dcea89ea97",
113
- "address": "0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270",
114
- "decimals": 18
115
- }
116
- ]
@@ -1,14 +0,0 @@
1
- import { IDexHelper } from '../../dex-helper';
2
- import { Logger } from '../../types';
3
- import { HashflowRateFetcherConfig } from './types';
4
- export declare class RateFetcher {
5
- private dexHelper;
6
- private dexKey;
7
- private logger;
8
- private rateFetcher;
9
- constructor(dexHelper: IDexHelper, dexKey: string, logger: Logger, config: HashflowRateFetcherConfig);
10
- start(): void;
11
- stop(): void;
12
- private handleRatesResponse;
13
- checkHealth(): boolean;
14
- }
@@ -1,37 +0,0 @@
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.RateFetcher = void 0;
7
- const fetcher_1 = __importDefault(require("../../lib/fetcher/fetcher"));
8
- const validators_1 = require("../../lib/validators");
9
- const validators_2 = require("./validators");
10
- class RateFetcher {
11
- constructor(dexHelper, dexKey, logger, config) {
12
- this.dexHelper = dexHelper;
13
- this.dexKey = dexKey;
14
- this.logger = logger;
15
- this.rateFetcher = new fetcher_1.default(dexHelper.httpRequest, {
16
- info: {
17
- requestOptions: config.rateConfig.reqParams,
18
- caster: (data) => {
19
- return (0, validators_1.validateAndCast)(data, validators_2.pricesResponse);
20
- },
21
- },
22
- handler: this.handleRatesResponse.bind(this),
23
- }, config.rateConfig.intervalMs, logger);
24
- }
25
- start() {
26
- this.rateFetcher.startPolling();
27
- }
28
- stop() {
29
- this.rateFetcher.stopPolling();
30
- }
31
- handleRatesResponse(resp) { }
32
- checkHealth() {
33
- return this.rateFetcher.lastFetchSucceeded;
34
- }
35
- }
36
- exports.RateFetcher = RateFetcher;
37
- //# sourceMappingURL=rate-fetcher.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rate-fetcher.js","sourceRoot":"","sources":["../../../src/dex/hashflow/rate-fetcher.ts"],"names":[],"mappings":";;;;;;AACA,wEAAgD;AAChD,qDAAuD;AAIvD,6CAA8C;AAE9C,MAAa,WAAW;IAGtB,YACU,SAAqB,EACrB,MAAc,EACd,MAAc,EACtB,MAAiC;QAHzB,cAAS,GAAT,SAAS,CAAY;QACrB,WAAM,GAAN,MAAM,CAAQ;QACd,WAAM,GAAN,MAAM,CAAQ;QAGtB,IAAI,CAAC,WAAW,GAAG,IAAI,iBAAO,CAC5B,SAAS,CAAC,WAAW,EACrB;YACE,IAAI,EAAE;gBACJ,cAAc,EAAE,MAAM,CAAC,UAAU,CAAC,SAAS;gBAC3C,MAAM,EAAE,CAAC,IAAa,EAAE,EAAE;oBACxB,OAAO,IAAA,4BAAe,EAAwB,IAAI,EAAE,2BAAc,CAAC,CAAC;gBACtE,CAAC;aACF;YACD,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;SAC7C,EACD,MAAM,CAAC,UAAU,CAAC,UAAU,EAC5B,MAAM,CACP,CAAC;IACJ,CAAC;IAED,KAAK;QACH,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;IAClC,CAAC;IAED,IAAI;QACF,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;IACjC,CAAC;IAEO,mBAAmB,CAAC,IAA2B,IAAG,CAAC;IAE3D,WAAW;QACT,OAAO,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC;IAC7C,CAAC;CACF;AAtCD,kCAsCC"}
@@ -1,3 +0,0 @@
1
- import joi from 'joi';
2
- export declare const priceValidator: joi.ObjectSchema<any>;
3
- export declare const pricesResponse: joi.ObjectSchema<any>;
@@ -1,12 +0,0 @@
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.pricesResponse = exports.priceValidator = void 0;
7
- const joi_1 = __importDefault(require("joi"));
8
- exports.priceValidator = joi_1.default.object({});
9
- exports.pricesResponse = joi_1.default.object({
10
- prices: joi_1.default.object().pattern(joi_1.default.string().min(1), exports.priceValidator),
11
- });
12
- //# sourceMappingURL=validators.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/dex/hashflow/validators.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAsB;AAET,QAAA,cAAc,GAAG,aAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAEhC,QAAA,cAAc,GAAG,aAAG,CAAC,MAAM,CAAC;IACvC,MAAM,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,aAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,sBAAc,CAAC;CAClE,CAAC,CAAC"}
@@ -1,4 +0,0 @@
1
- import { DexParams } from './types';
2
- import { DexConfigMap, AdapterMappings } from '../../types';
3
- export declare const TestDexConfig: DexConfigMap<DexParams>;
4
- export declare const Adapters: Record<number, AdapterMappings>;
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Adapters = exports.TestDexConfig = void 0;
4
- const constants_1 = require("../../constants");
5
- exports.TestDexConfig = {
6
- TestDex: {
7
- // TODO: complete me!
8
- },
9
- };
10
- exports.Adapters = {
11
- // TODO: add adapters for each chain
12
- // This is an example to copy
13
- [constants_1.Network.MAINNET]: { [constants_1.SwapSide.SELL]: [{ name: '', index: 0 }] },
14
- };
15
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/test-dex/config.ts"],"names":[],"mappings":";;;AAEA,+CAAoD;AAEvC,QAAA,aAAa,GAA4B;IACpD,OAAO,EAAE;IACP,qBAAqB;KACtB;CACF,CAAC;AAEW,QAAA,QAAQ,GAAoC;IACvD,oCAAoC;IACpC,6BAA6B;IAC7B,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,oBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE;CACjE,CAAC"}
@@ -1,39 +0,0 @@
1
- import { Interface } from '@ethersproject/abi';
2
- import { DeepReadonly } from 'ts-essentials';
3
- import { Log, Logger } from '../../types';
4
- import { StatefulEventSubscriber } from '../../stateful-event-subscriber';
5
- import { IDexHelper } from '../../dex-helper/idex-helper';
6
- import { PoolState } from './types';
7
- export declare class TestDexEventPool extends StatefulEventSubscriber<PoolState> {
8
- protected parentName: string;
9
- protected network: number;
10
- protected dexHelper: IDexHelper;
11
- protected testDexIface: Interface;
12
- handlers: {
13
- [event: string]: (event: any, state: DeepReadonly<PoolState>, log: Readonly<Log>) => DeepReadonly<PoolState> | null;
14
- };
15
- logDecoder: (log: Log) => any;
16
- addressesSubscribed: string[];
17
- constructor(parentName: string, network: number, dexHelper: IDexHelper, logger: Logger, testDexIface?: Interface);
18
- /**
19
- * The function is called every time any of the subscribed
20
- * addresses release log. The function accepts the current
21
- * state, updates the state according to the log, and returns
22
- * the updated state.
23
- * @param state - Current state of event subscriber
24
- * @param log - Log released by one of the subscribed addresses
25
- * @returns Updates state of the event subscriber after the log
26
- */
27
- protected processLog(state: DeepReadonly<PoolState>, log: Readonly<Log>): DeepReadonly<PoolState> | null;
28
- /**
29
- * The function generates state using on-chain calls. This
30
- * function is called to regenerate state if the event based
31
- * system fails to fetch events and the local state is no
32
- * more correct.
33
- * @param blockNumber - Blocknumber for which the state should
34
- * should be generated
35
- * @returns state of the event subscriber at blocknumber
36
- */
37
- generateState(blockNumber: number): Promise<DeepReadonly<PoolState>>;
38
- handleMyEvent(event: any, state: DeepReadonly<PoolState>, log: Readonly<Log>): DeepReadonly<PoolState> | null;
39
- }
@@ -1,63 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TestDexEventPool = void 0;
4
- const abi_1 = require("@ethersproject/abi");
5
- const utils_1 = require("../../utils");
6
- const stateful_event_subscriber_1 = require("../../stateful-event-subscriber");
7
- class TestDexEventPool extends stateful_event_subscriber_1.StatefulEventSubscriber {
8
- constructor(parentName, network, dexHelper, logger, testDexIface = new abi_1.Interface('' /* TODO: Import and put here TestDex ABI */)) {
9
- super(parentName, logger);
10
- this.parentName = parentName;
11
- this.network = network;
12
- this.dexHelper = dexHelper;
13
- this.testDexIface = testDexIface;
14
- this.handlers = {};
15
- // TODO: make logDecoder decode logs that
16
- this.logDecoder = (log) => this.testDexIface.parseLog(log);
17
- this.addressesSubscribed = [
18
- /* subscribed addresses */
19
- ];
20
- // Add handlers
21
- this.handlers['myEvent'] = this.handleMyEvent.bind(this);
22
- }
23
- /**
24
- * The function is called every time any of the subscribed
25
- * addresses release log. The function accepts the current
26
- * state, updates the state according to the log, and returns
27
- * the updated state.
28
- * @param state - Current state of event subscriber
29
- * @param log - Log released by one of the subscribed addresses
30
- * @returns Updates state of the event subscriber after the log
31
- */
32
- processLog(state, log) {
33
- try {
34
- const event = this.logDecoder(log);
35
- if (event.name in this.handlers) {
36
- return this.handlers[event.name](event, state, log);
37
- }
38
- }
39
- catch (e) {
40
- (0, utils_1.catchParseLogError)(e, this.logger);
41
- }
42
- return null;
43
- }
44
- /**
45
- * The function generates state using on-chain calls. This
46
- * function is called to regenerate state if the event based
47
- * system fails to fetch events and the local state is no
48
- * more correct.
49
- * @param blockNumber - Blocknumber for which the state should
50
- * should be generated
51
- * @returns state of the event subscriber at blocknumber
52
- */
53
- async generateState(blockNumber) {
54
- // TODO: complete me!
55
- return {};
56
- }
57
- // Its just a dummy example
58
- handleMyEvent(event, state, log) {
59
- return null;
60
- }
61
- }
62
- exports.TestDexEventPool = TestDexEventPool;
63
- //# sourceMappingURL=test-dex-pool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-dex-pool.js","sourceRoot":"","sources":["../../../src/dex/test-dex/test-dex-pool.ts"],"names":[],"mappings":";;;AAAA,4CAA+C;AAG/C,uCAAiD;AACjD,+EAA0E;AAI1E,MAAa,gBAAiB,SAAQ,mDAAkC;IAWtE,YACY,UAAkB,EAClB,OAAe,EACf,SAAqB,EAC/B,MAAc,EACJ,eAAe,IAAI,eAAS,CACpC,EAAE,CAAC,2CAA2C,CAC/C;QAED,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QARhB,eAAU,GAAV,UAAU,CAAQ;QAClB,YAAO,GAAP,OAAO,CAAQ;QACf,cAAS,GAAT,SAAS,CAAY;QAErB,iBAAY,GAAZ,YAAY,CAErB;QAjBH,aAAQ,GAIJ,EAAE,CAAC;QAiBL,yCAAyC;QACzC,IAAI,CAAC,UAAU,GAAG,CAAC,GAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAChE,IAAI,CAAC,mBAAmB,GAAG;QACzB,0BAA0B;SAC3B,CAAC;QAEF,eAAe;QACf,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;;;OAQG;IACO,UAAU,CAClB,KAA8B,EAC9B,GAAkB;QAElB,IAAI;YACF,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;aACrD;SACF;QAAC,OAAO,CAAC,EAAE;YACV,IAAA,0BAAkB,EAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;SACpC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,aAAa,CAAC,WAAmB;QACrC,qBAAqB;QACrB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,2BAA2B;IAC3B,aAAa,CACX,KAAU,EACV,KAA8B,EAC9B,GAAkB;QAElB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA/ED,4CA+EC"}
@@ -1,37 +0,0 @@
1
- import { AsyncOrSync } from 'ts-essentials';
2
- import { Token, Address, ExchangePrices, PoolPrices, AdapterExchangeParam, SimpleExchangeParam, PoolLiquidity, Logger } from '../../types';
3
- import { SwapSide, Network } from '../../constants';
4
- import { IDex } from '../../dex/idex';
5
- import { IDexHelper } from '../../dex-helper/idex-helper';
6
- import { TestDexData } from './types';
7
- import { SimpleExchange } from '../simple-exchange';
8
- import { TestDexEventPool } from './test-dex-pool';
9
- export declare class TestDex extends SimpleExchange implements IDex<TestDexData> {
10
- readonly network: Network;
11
- readonly dexKey: string;
12
- readonly dexHelper: IDexHelper;
13
- protected adapters: import("../../types").AdapterMappings;
14
- protected eventPools: TestDexEventPool;
15
- readonly hasConstantPriceLargeAmounts = false;
16
- readonly needWrapNative = true;
17
- readonly isFeeOnTransferSupported = false;
18
- static dexKeysWithNetwork: {
19
- key: string;
20
- networks: Network[];
21
- }[];
22
- logger: Logger;
23
- constructor(network: Network, dexKey: string, dexHelper: IDexHelper, adapters?: import("../../types").AdapterMappings);
24
- initializePricing(blockNumber: number): Promise<void>;
25
- getAdapters(side: SwapSide): {
26
- name: string;
27
- index: number;
28
- }[] | null;
29
- getPoolIdentifiers(srcToken: Token, destToken: Token, side: SwapSide, blockNumber: number): Promise<string[]>;
30
- getPricesVolume(srcToken: Token, destToken: Token, amounts: bigint[], side: SwapSide, blockNumber: number, limitPools?: string[]): Promise<null | ExchangePrices<TestDexData>>;
31
- getCalldataGasCost(poolPrices: PoolPrices<TestDexData>): number | number[];
32
- getAdapterParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: TestDexData, side: SwapSide): AdapterExchangeParam;
33
- getSimpleParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: TestDexData, side: SwapSide): Promise<SimpleExchangeParam>;
34
- updatePoolState(): Promise<void>;
35
- getTopPoolsForToken(tokenAddress: Address, limit: number): Promise<PoolLiquidity[]>;
36
- releaseResources(): AsyncOrSync<void>;
37
- }
@@ -1,126 +0,0 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.TestDex = void 0;
27
- const CALLDATA_GAS_COST = __importStar(require("../../calldata-gas-cost"));
28
- const utils_1 = require("../../utils");
29
- const simple_exchange_1 = require("../simple-exchange");
30
- const config_1 = require("./config");
31
- const test_dex_pool_1 = require("./test-dex-pool");
32
- class TestDex extends simple_exchange_1.SimpleExchange {
33
- constructor(network, dexKey, dexHelper, adapters = config_1.Adapters[network] || {}) {
34
- super(dexHelper, dexKey);
35
- this.network = network;
36
- this.dexKey = dexKey;
37
- this.dexHelper = dexHelper;
38
- this.adapters = adapters;
39
- this.hasConstantPriceLargeAmounts = false;
40
- // TODO: set true here if protocols works only with wrapped asset
41
- this.needWrapNative = true;
42
- this.isFeeOnTransferSupported = false;
43
- this.logger = dexHelper.getLogger(dexKey);
44
- this.eventPools = new test_dex_pool_1.TestDexEventPool(dexKey, network, dexHelper, this.logger);
45
- }
46
- // Initialize pricing is called once in the start of
47
- // pricing service. It is intended to setup the integration
48
- // for pricing requests. It is optional for a DEX to
49
- // implement this function
50
- async initializePricing(blockNumber) {
51
- // TODO: complete me!
52
- }
53
- // Returns the list of contract adapters (name and index)
54
- // for a buy/sell. Return null if there are no adapters.
55
- getAdapters(side) {
56
- return this.adapters[side] ? this.adapters[side] : null;
57
- }
58
- // Returns list of pool identifiers that can be used
59
- // for a given swap. poolIdentifiers must be unique
60
- // across DEXes. It is recommended to use
61
- // ${dexKey}_${poolAddress} as a poolIdentifier
62
- async getPoolIdentifiers(srcToken, destToken, side, blockNumber) {
63
- // TODO: complete me!
64
- return [];
65
- }
66
- // Returns pool prices for amounts.
67
- // If limitPools is defined only pools in limitPools
68
- // should be used. If limitPools is undefined then
69
- // any pools can be used.
70
- async getPricesVolume(srcToken, destToken, amounts, side, blockNumber, limitPools) {
71
- // TODO: complete me!
72
- return null;
73
- }
74
- // Returns estimated gas cost of calldata for this DEX in multiSwap
75
- getCalldataGasCost(poolPrices) {
76
- // TODO: update if there is any payload in getAdapterParam
77
- return CALLDATA_GAS_COST.DEX_NO_PAYLOAD;
78
- }
79
- // Encode params required by the exchange adapter
80
- // Used for multiSwap, buy & megaSwap
81
- // Hint: abiCoder.encodeParameter() could be useful
82
- getAdapterParam(srcToken, destToken, srcAmount, destAmount, data, side) {
83
- // TODO: complete me!
84
- const { exchange } = data;
85
- // Encode here the payload for adapter
86
- const payload = '';
87
- return {
88
- targetExchange: exchange,
89
- payload,
90
- networkFee: '0',
91
- };
92
- }
93
- // Encode call data used by simpleSwap like routers
94
- // Used for simpleSwap & simpleBuy
95
- // Hint: this.buildSimpleParamWithoutWETHConversion
96
- // could be useful
97
- async getSimpleParam(srcToken, destToken, srcAmount, destAmount, data, side) {
98
- // TODO: complete me!
99
- const { exchange } = data;
100
- // Encode here the transaction arguments
101
- const swapData = '';
102
- return this.buildSimpleParamWithoutWETHConversion(srcToken, srcAmount, destToken, destAmount, swapData, exchange);
103
- }
104
- // This is called once before getTopPoolsForToken is
105
- // called for multiple tokens. This can be helpful to
106
- // update common state required for calculating
107
- // getTopPoolsForToken. It is optional for a DEX
108
- // to implement this
109
- async updatePoolState() {
110
- // TODO: complete me!
111
- }
112
- // Returns list of top pools based on liquidity. Max
113
- // limit number pools should be returned.
114
- async getTopPoolsForToken(tokenAddress, limit) {
115
- //TODO: complete me!
116
- return [];
117
- }
118
- // This is optional function in case if your implementation has acquired any resources
119
- // you need to release for graceful shutdown. For example, it may be any interval timer
120
- releaseResources() {
121
- // TODO: complete me!
122
- }
123
- }
124
- exports.TestDex = TestDex;
125
- TestDex.dexKeysWithNetwork = (0, utils_1.getDexKeysWithNetwork)(config_1.TestDexConfig);
126
- //# sourceMappingURL=test-dex.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-dex.js","sourceRoot":"","sources":["../../../src/dex/test-dex/test-dex.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import { Address } from '../../types';
2
- export declare type PoolState = {};
3
- export declare type TestDexData = {
4
- exchange: Address;
5
- };
6
- export declare type DexParams = {};
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dex/test-dex/types.ts"],"names":[],"mappings":""}
@@ -1,16 +0,0 @@
1
- import { PoolState, TokenState } from './types';
2
- import { Address, Logger } from '../../types';
3
- export declare class WooFiV2Math {
4
- private readonly logger;
5
- private readonly _quoteToken;
6
- state: PoolState;
7
- constructor(logger: Logger, _quoteToken: Address);
8
- query(fromToken: Address, toToken: Address, fromAmounts: bigint[]): bigint[] | null;
9
- _querySellBase(baseToken: Address, baseAmounts: bigint[]): bigint[] | null;
10
- _querySellQuote(baseToken: Address, quoteAmounts: bigint[]): bigint[] | null;
11
- _queryBaseToBase(baseToken1: Address, baseToken2: Address, base1Amounts: bigint[]): bigint[] | null;
12
- protected _takeFeeAndCheckReserve(amounts: bigint[], feeRate: bigint): bigint[];
13
- protected _takeFee(amounts: bigint[], feeRate: bigint): bigint[];
14
- protected _calcQuoteAmountSellBase(baseToken: Address, baseAmounts: bigint[], state: TokenState): bigint[];
15
- protected _calcBaseAmountSellQuote(baseToken: string, quoteAmounts: bigint[], state: TokenState): bigint[];
16
- }
@@ -1,137 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WooFiV2Math = void 0;
4
- const bigint_constants_1 = require("../../bigint-constants");
5
- const constants_1 = require("./constants");
6
- function handleMathError(e, logger) {
7
- if (e instanceof Error && e.message.startsWith('WooGuardian:')) {
8
- logger.warn('WooFi Guardian check Error:', e);
9
- return;
10
- }
11
- logger.error('Unexpected error in WooFi math:', e);
12
- }
13
- function max(a, b) {
14
- return a > b ? a : b;
15
- }
16
- class WooFiV2Math {
17
- constructor(logger, _quoteToken) {
18
- this.logger = logger;
19
- this._quoteToken = _quoteToken;
20
- this.state = constants_1.NULL_STATE;
21
- }
22
- query(fromToken, toToken, fromAmounts) {
23
- try {
24
- if (fromToken === this._quoteToken) {
25
- return this._querySellQuote(toToken, fromAmounts);
26
- }
27
- else if (toToken === this._quoteToken) {
28
- return this._querySellBase(fromToken, fromAmounts);
29
- }
30
- else {
31
- return this._queryBaseToBase(fromToken, toToken, fromAmounts);
32
- }
33
- }
34
- catch (e) {
35
- handleMathError(e, this.logger);
36
- return null;
37
- }
38
- }
39
- _querySellBase(baseToken, baseAmounts) {
40
- try {
41
- const _state = this.state.tokenStates[baseToken];
42
- let quoteAmounts = this._calcQuoteAmountSellBase(baseToken, baseAmounts, _state);
43
- quoteAmounts = quoteAmounts.map(amount => {
44
- return amount <= this.state.tokenInfos[this._quoteToken].reserve
45
- ? amount
46
- : 0n;
47
- });
48
- const feeRate = this.state.tokenInfos[baseToken].feeRate;
49
- return this._takeFee(quoteAmounts, feeRate);
50
- }
51
- catch (e) {
52
- handleMathError(e, this.logger);
53
- return null;
54
- }
55
- }
56
- _querySellQuote(baseToken, quoteAmounts) {
57
- try {
58
- const feeRate = this.state.tokenInfos[baseToken].feeRate;
59
- quoteAmounts = this._takeFee(quoteAmounts, feeRate);
60
- const _state = this.state.tokenStates[baseToken];
61
- let toAmounts = this._calcBaseAmountSellQuote(baseToken, quoteAmounts, _state);
62
- const baseReserve = this.state.tokenInfos[baseToken].reserve;
63
- return toAmounts.map(amount => {
64
- return amount >= baseReserve ? amount : 0n;
65
- });
66
- }
67
- catch (e) {
68
- handleMathError(e, this.logger);
69
- return null;
70
- }
71
- }
72
- _queryBaseToBase(baseToken1, baseToken2, base1Amounts) {
73
- try {
74
- let state1 = this.state.tokenStates[baseToken1];
75
- let state2 = this.state.tokenStates[baseToken1];
76
- const feeRate1 = this.state.tokenInfos[baseToken1].feeRate;
77
- const feeRate2 = this.state.tokenInfos[baseToken2].feeRate;
78
- const spread = max(state1.spread, state2.spread) / 2n;
79
- const feeRate = max(feeRate1, feeRate2);
80
- state1.spread = spread;
81
- state2.spread = spread;
82
- let quoteAmounts = this._calcQuoteAmountSellBase(baseToken1, base1Amounts, state1);
83
- quoteAmounts = this._takeFeeAndCheckReserve(quoteAmounts, feeRate);
84
- let toAmounts = this._calcBaseAmountSellQuote(baseToken2, quoteAmounts, state2);
85
- return toAmounts.map(toAmount => {
86
- return toAmount <= this.state.tokenInfos[baseToken2].reserve
87
- ? toAmount
88
- : 0n;
89
- });
90
- }
91
- catch (e) {
92
- handleMathError(e, this.logger);
93
- return null;
94
- }
95
- }
96
- _takeFeeAndCheckReserve(amounts, feeRate) {
97
- return amounts.map(amount => {
98
- if (amount === 0n)
99
- return 0n;
100
- const lpFee = (amount * feeRate) / bigint_constants_1.BI_POWS[5];
101
- const reserve = this.state.tokenInfos[this._quoteToken].reserve;
102
- return lpFee > reserve ? 0n : amount - lpFee;
103
- });
104
- }
105
- _takeFee(amounts, feeRate) {
106
- return amounts.map(amount => {
107
- const lpFee = (amount * feeRate) / bigint_constants_1.BI_POWS[5];
108
- return amount === 0n ? 0n : amount - lpFee;
109
- });
110
- }
111
- _calcQuoteAmountSellBase(baseToken, baseAmounts, state) {
112
- let { priceDec, quoteDec, baseDec } = this.state.decimals[baseToken];
113
- return baseAmounts.map(baseAmount => {
114
- if (baseAmount === 0n)
115
- return 0n;
116
- const coef = bigint_constants_1.BI_POWS[18] -
117
- (state.coeff * baseAmount * state.price) / baseDec / priceDec -
118
- state.spread;
119
- return ((((baseAmount * quoteDec * state.price) / priceDec) * coef) /
120
- bigint_constants_1.BI_POWS[18] /
121
- baseDec);
122
- });
123
- }
124
- _calcBaseAmountSellQuote(baseToken, quoteAmounts, state) {
125
- let { priceDec, quoteDec, baseDec } = this.state.decimals[baseToken];
126
- return quoteAmounts.map(quoteAmount => {
127
- if (quoteAmount === 0n)
128
- return 0n;
129
- const coef = bigint_constants_1.BI_POWS[18] - (quoteAmount * state.coeff) / quoteDec - state.spread;
130
- return ((((quoteAmount * baseDec * priceDec) / state.price) * coef) /
131
- bigint_constants_1.BI_POWS[18] /
132
- quoteDec);
133
- });
134
- }
135
- }
136
- exports.WooFiV2Math = WooFiV2Math;
137
- //# sourceMappingURL=woo-fi-math.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"woo-fi-math.js","sourceRoot":"","sources":["../../../src/dex/woo-fi-v2/woo-fi-math.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- import joi from 'joi';
2
- export declare class ValidationError extends Error {
3
- readonly rawMessage: string;
4
- readonly key?: string;
5
- constructor(message: string, key?: string);
6
- }
7
- export declare const validateAndCast: <T>(value: unknown, schema: joi.Schema, name?: string | undefined) => T;
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateAndCast = exports.ValidationError = void 0;
4
- class ValidationError extends Error {
5
- constructor(message, key) {
6
- super(key !== undefined ? `'${key}': ${message}` : message);
7
- this.rawMessage = message;
8
- this.key = key;
9
- }
10
- }
11
- exports.ValidationError = ValidationError;
12
- const validateAndCast = (value, schema, name) => {
13
- const { error, value: parsed } = schema.validate(value);
14
- if (error !== undefined) {
15
- let message;
16
- if (name) {
17
- message = `"${name}" ${error.message.slice(error.message.indexOf('must'))}`;
18
- }
19
- else {
20
- message = error.message;
21
- }
22
- throw new ValidationError(message);
23
- }
24
- return parsed;
25
- };
26
- exports.validateAndCast = validateAndCast;
27
- //# sourceMappingURL=validators.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/lib/validators.ts"],"names":[],"mappings":";;;AAEA,MAAa,eAAgB,SAAQ,KAAK;IAKxC,YAAY,OAAe,EAAE,GAAY;QACvC,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,MAAM,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC5D,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;QAC1B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;CACF;AAVD,0CAUC;AAEM,MAAM,eAAe,GAAG,CAC7B,KAAc,EACd,MAAkB,EAClB,IAAa,EACV,EAAE;IACL,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExD,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,IAAI,OAAO,CAAC;QACZ,IAAI,IAAI,EAAE;YACR,OAAO,GAAG,IAAI,IAAI,KAAK,KAAK,CAAC,OAAO,CAAC,KAAK,CACxC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAC9B,EAAE,CAAC;SACL;aAAM;YACL,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;SACzB;QACD,MAAM,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;KACpC;IACD,OAAO,MAAW,CAAC;AACrB,CAAC,CAAC;AAnBW,QAAA,eAAe,mBAmB1B"}