@paraswap/dex-lib 2.14.3 → 2.14.4

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 (59) hide show
  1. package/build/dex/aave-v3/tokens/arbitrum.json +20 -20
  2. package/build/dex/aave-v3/tokens/avalanche.json +44 -20
  3. package/build/dex/aave-v3/tokens/fantom.json +30 -30
  4. package/build/dex/aave-v3/tokens/optimism.json +18 -18
  5. package/build/dex/aave-v3/tokens/polygon.json +60 -42
  6. package/build/dex/hashflow/rate-fetcher.d.ts +14 -0
  7. package/build/dex/hashflow/rate-fetcher.js +37 -0
  8. package/build/dex/hashflow/rate-fetcher.js.map +1 -0
  9. package/build/dex/hashflow/validators.d.ts +3 -0
  10. package/build/dex/hashflow/validators.js +12 -0
  11. package/build/dex/hashflow/validators.js.map +1 -0
  12. package/build/dex/maverick-v1/constants.d.ts +1 -0
  13. package/build/dex/maverick-v1/constants.js +5 -0
  14. package/build/dex/maverick-v1/constants.js.map +1 -0
  15. package/build/dex/maverick-v1/maverick-math/maverick-pool-math.d.ts +1 -1
  16. package/build/dex/maverick-v1/maverick-math/maverick-pool-math.js +11 -1
  17. package/build/dex/maverick-v1/maverick-math/maverick-pool-math.js.map +1 -1
  18. package/build/dex/maverick-v1/maverick-v1-pool.js +25 -16
  19. package/build/dex/maverick-v1/maverick-v1-pool.js.map +1 -1
  20. package/build/dex/maverick-v1/maverick-v1.js +54 -43
  21. package/build/dex/maverick-v1/maverick-v1.js.map +1 -1
  22. package/build/dex/{test-aave-v3 → test-dex}/config.d.ts +1 -1
  23. package/build/dex/{test-aave-v3 → test-dex}/config.js +3 -3
  24. package/build/dex/test-dex/config.js.map +1 -0
  25. package/build/dex/{test-aave-v3/test-aave-v3-pool.d.ts → test-dex/test-dex-pool.d.ts} +3 -3
  26. package/build/dex/{test-aave-v3/test-aave-v3-pool.js → test-dex/test-dex-pool.js} +7 -7
  27. package/build/dex/test-dex/test-dex-pool.js.map +1 -0
  28. package/build/dex/{test-aave-v3/test-aave-v3.d.ts → test-dex/test-dex.d.ts} +8 -8
  29. package/build/dex/{test-aave-v3/test-aave-v3.js → test-dex/test-dex.js} +7 -7
  30. package/build/dex/test-dex/test-dex.js.map +1 -0
  31. package/build/dex/{test-aave-v3 → test-dex}/types.d.ts +1 -1
  32. package/build/dex/{test-aave-v3 → test-dex}/types.js.map +1 -1
  33. package/build/dex/woo-fi-v2/woo-fi-math.d.ts +16 -0
  34. package/build/dex/woo-fi-v2/woo-fi-math.js +137 -0
  35. package/build/dex/woo-fi-v2/woo-fi-math.js.map +1 -0
  36. package/build/lib/fetcher/fetcher.js +2 -7
  37. package/build/lib/fetcher/fetcher.js.map +1 -1
  38. package/build/lib/validators.d.ts +7 -0
  39. package/build/lib/validators.js +27 -0
  40. package/build/lib/validators.js.map +1 -0
  41. package/package.json +1 -1
  42. package/src/dex/maverick-v1/constants.ts +1 -0
  43. package/src/dex/maverick-v1/maverick-math/maverick-pool-math.ts +11 -0
  44. package/src/dex/maverick-v1/maverick-v1-pool.ts +37 -22
  45. package/src/dex/maverick-v1/maverick-v1.ts +76 -57
  46. package/src/lib/fetcher/fetcher.ts +6 -11
  47. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  48. package/.idea/misc.xml +0 -6
  49. package/.idea/modules.xml +0 -8
  50. package/.idea/vcs.xml +0 -6
  51. package/.vscode/launch.json +0 -21
  52. package/build/dex/aave-v3/tokens/mainnet.json +0 -44
  53. package/build/dex/balancer-v2/VirtualBoostedPool.d.ts +0 -79
  54. package/build/dex/balancer-v2/VirtualBoostedPool.js +0 -382
  55. package/build/dex/balancer-v2/VirtualBoostedPool.js.map +0 -1
  56. package/build/dex/test-aave-v3/config.js.map +0 -1
  57. package/build/dex/test-aave-v3/test-aave-v3-pool.js.map +0 -1
  58. package/build/dex/test-aave-v3/test-aave-v3.js.map +0 -1
  59. /package/build/dex/{test-aave-v3 → test-dex}/types.js +0 -0
@@ -6,10 +6,10 @@
6
6
  "decimals": 18
7
7
  },
8
8
  {
9
- "aSymbol": "aArbLINK",
10
- "aAddress": "0x191c10Aa4AF7C30e871E70C95dB0E4eb77237530",
11
- "address": "0xf97f4df75117a78c1a5a0dbb814af92458539fb4",
12
- "decimals": 18
9
+ "aSymbol": "aArbEURS",
10
+ "aAddress": "0x6d80113e533a2C0fe82EaBD35f1875DcEA89Ea97",
11
+ "address": "0xd22a58f79e9481d1a88e00c343885a588b34b68b",
12
+ "decimals": 2
13
13
  },
14
14
  {
15
15
  "aSymbol": "aArbUSDC",
@@ -17,18 +17,6 @@
17
17
  "address": "0xff970a61a04b1ca14834a43f5de4533ebddb5cc8",
18
18
  "decimals": 6
19
19
  },
20
- {
21
- "aSymbol": "aArbWBTC",
22
- "aAddress": "0x078f358208685046a11C85e8ad32895DED33A249",
23
- "address": "0x2f2a2543b76a4166549f7aab2e75bef0aefc5b0f",
24
- "decimals": 8
25
- },
26
- {
27
- "aSymbol": "aArbWETH",
28
- "aAddress": "0xe50fA9b3c56FfB159cB0FCA61F5c9D750e8128c8",
29
- "address": "0x82af49447d8a07e3bd95bd0d56f35241523fbab1",
30
- "decimals": 18
31
- },
32
20
  {
33
21
  "aSymbol": "aArbUSDT",
34
22
  "aAddress": "0x6ab707aca953edaefbc4fd23ba73294241490620",
@@ -42,9 +30,21 @@
42
30
  "decimals": 18
43
31
  },
44
32
  {
45
- "aSymbol": "aArbEURS",
46
- "aAddress": "0x6d80113e533a2C0fe82EaBD35f1875DcEA89Ea97",
47
- "address": "0xd22a58f79e9481d1a88e00c343885a588b34b68b",
48
- "decimals": 2
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
49
  }
50
50
  ]
@@ -1,50 +1,74 @@
1
1
  [
2
2
  {
3
- "aSymbol": "aWETH",
4
- "aAddress": "0xe50fa9b3c56ffb159cb0fca61f5c9d750e8128c8",
5
- "address": "0x49d5c2bdffac6ce2bfdb6640f4f80f226bc10bab",
6
- "decimals": 18
7
- },
8
- {
9
- "aSymbol": "aDAI",
3
+ "aSymbol": "aAvaDAI",
10
4
  "aAddress": "0x82e64f49ed5ec1bc6e43dad4fc8af9bb3a2312ee",
11
5
  "address": "0xd586e7f844cea2f87f50152665bcbc2c279d8d70",
12
6
  "decimals": 18
13
7
  },
14
8
  {
15
- "aSymbol": "aLINK",
16
- "aAddress": "0x191c10aa4af7c30e871e70c95db0e4eb77237530",
17
- "address": "0x5947bb275c521040051d82396192181b413227a3",
9
+ "aSymbol": "aAvaFRAX",
10
+ "aAddress": "0xc45A479877e1e9Dfe9FcD4056c699575a1045dAA",
11
+ "address": "0xD24C2Ad096400B6FBcd2ad8B24E7acBc21A1da64",
18
12
  "decimals": 18
19
13
  },
20
14
  {
21
- "aSymbol": "aUSDT",
22
- "aAddress": "0x6ab707aca953edaefbc4fd23ba73294241490620",
23
- "address": "0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7",
24
- "decimals": 6
15
+ "aSymbol": "aAvaMAI",
16
+ "aAddress": "0x8Eb270e296023E9D92081fdF967dDd7878724424",
17
+ "address": "0x5c49b268c9841AFF1Cc3B0a418ff5c3442eE3F3b",
18
+ "decimals": 18
25
19
  },
26
20
  {
27
- "aSymbol": "aUSDC",
21
+ "aSymbol": "aAvaUSDC",
28
22
  "aAddress": "0x625e7708f30ca75bfd92586e17077590c60eb4cd",
29
23
  "address": "0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e",
30
24
  "decimals": 6
31
25
  },
32
26
  {
33
- "aSymbol": "aAAVE",
27
+ "aSymbol": "aAvaUSDT",
28
+ "aAddress": "0x6ab707aca953edaefbc4fd23ba73294241490620",
29
+ "address": "0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7",
30
+ "decimals": 6
31
+ },
32
+ {
33
+ "aSymbol": "aAvaAAVE",
34
34
  "aAddress": "0xf329e36c7bf6e5e86ce2150875a84ce77f477375",
35
35
  "address": "0x63a72806098bd3d9520cc43356dd78afe5d386d9",
36
36
  "decimals": 18
37
37
  },
38
38
  {
39
- "aSymbol": "aWBTC",
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",
40
64
  "aAddress": "0x078f358208685046a11c85e8ad32895ded33a249",
41
65
  "address": "0x50b7545627a5162f82a992c33b87adc75187b218",
42
66
  "decimals": 8
43
67
  },
44
68
  {
45
- "aSymbol": "aWAVAX",
46
- "aAddress": "0x6d80113e533a2c0fe82eabd35f1875dcea89ea97",
47
- "address": "0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7",
69
+ "aSymbol": "aAvaWETH",
70
+ "aAddress": "0xe50fa9b3c56ffb159cb0fca61f5c9d750e8128c8",
71
+ "address": "0x49d5c2bdffac6ce2bfdb6640f4f80f226bc10bab",
48
72
  "decimals": 18
49
73
  }
50
74
  ]
@@ -1,60 +1,60 @@
1
1
  [
2
2
  {
3
- "aSymbol": "aUSDT",
4
- "aAddress": "0x6ab707aca953edaefbc4fd23ba73294241490620",
5
- "address": "0x049d68029688eabf473097a2fc38ef61633a3c7a",
6
- "decimals": 6
7
- },
8
- {
9
- "aSymbol": "aWBTC",
10
- "aAddress": "0x078f358208685046a11c85e8ad32895ded33a249",
11
- "address": "0x321162cd933e2be498cd2267a90534a804051b11",
12
- "decimals": 8
13
- },
14
- {
15
- "aSymbol": "aWETH",
16
- "aAddress": "0xe50fa9b3c56ffb159cb0fca61f5c9d750e8128c8",
17
- "address": "0x74b23882a30290451a17c44f4f05243b6b58c76d",
18
- "decimals": 18
19
- },
20
- {
21
- "aSymbol": "aAAVE",
3
+ "aSymbol": "aFanAAVE",
22
4
  "aAddress": "0xf329e36c7bf6e5e86ce2150875a84ce77f477375",
23
5
  "address": "0x6a07a792ab2965c72a5b8088d3a069a7ac3a993b",
24
6
  "decimals": 18
25
7
  },
26
8
  {
27
- "aSymbol": "aWFTM",
28
- "aAddress": "0x6d80113e533a2c0fe82eabd35f1875dcea89ea97",
29
- "address": "0x21be370d5312f44cb42ce377bc9b8a0cef1a4c83",
30
- "decimals": 18
31
- },
32
- {
33
- "aSymbol": "aDAI",
9
+ "aSymbol": "aFanDAI",
34
10
  "aAddress": "0x82e64f49ed5ec1bc6e43dad4fc8af9bb3a2312ee",
35
11
  "address": "0x8d11ec38a3eb5e956b052f67da8bdc9bef8abf3e",
36
12
  "decimals": 18
37
13
  },
38
14
  {
39
- "aSymbol": "aLINK",
15
+ "aSymbol": "aFanUSDT",
16
+ "aAddress": "0x6ab707aca953edaefbc4fd23ba73294241490620",
17
+ "address": "0x049d68029688eabf473097a2fc38ef61633a3c7a",
18
+ "decimals": 6
19
+ },
20
+ {
21
+ "aSymbol": "aFanLINK",
40
22
  "aAddress": "0x191c10aa4af7c30e871e70c95db0e4eb77237530",
41
23
  "address": "0xb3654dc3d10ea7645f8319668e8f54d2574fbdc8",
42
24
  "decimals": 18
43
25
  },
44
26
  {
45
- "aSymbol": "aUSDC",
27
+ "aSymbol": "aFanWFTM",
28
+ "aAddress": "0x6d80113e533a2c0fe82eabd35f1875dcea89ea97",
29
+ "address": "0x21be370d5312f44cb42ce377bc9b8a0cef1a4c83",
30
+ "decimals": 18
31
+ },
32
+ {
33
+ "aSymbol": "aFanUSDC",
46
34
  "aAddress": "0x625e7708f30ca75bfd92586e17077590c60eb4cd",
47
35
  "address": "0x04068da6c83afcfa0e13ba15a6696662335d5b75",
48
36
  "decimals": 6
49
37
  },
50
38
  {
51
- "aSymbol": "aCRV",
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
52
  "aAddress": "0x513c7e3a9c69ca3e22550ef58ac1c0088e918fff",
53
53
  "address": "0x1e4f97b9f9f913c46f1632781732927b9019c68b",
54
54
  "decimals": 18
55
55
  },
56
56
  {
57
- "aSymbol": "aSUSHI",
57
+ "aSymbol": "aFanSUSHI",
58
58
  "aAddress": "0xc45a479877e1e9dfe9fcd4056c699575a1045daa",
59
59
  "address": "0xae75a438b2e0cb8bb01ec1e1e376de11d44477cc",
60
60
  "decimals": 18
@@ -1,28 +1,10 @@
1
1
  [
2
- {
3
- "aSymbol": "aOptAAVE",
4
- "aAddress": "0xf329e36C7bF6E5E86ce2150875a84Ce77f477375",
5
- "address": "0x76fb31fb4af56892a25e32cfc43de717950c9278",
6
- "decimals": 18
7
- },
8
2
  {
9
3
  "aSymbol": "aOptDAI",
10
4
  "aAddress": "0x82E64f49Ed5EC1bC6e43DAD4FC8Af9bb3A2312EE",
11
5
  "address": "0xda10009cbd5d07dd0cecc66161fc93d7c9000da1",
12
6
  "decimals": 18
13
7
  },
14
- {
15
- "aSymbol": "aOptUSDT",
16
- "aAddress": "0x6ab707aca953edaefbc4fd23ba73294241490620",
17
- "address": "0x94b008aa00579c1307b0ef2c499ad98a8ce58e58",
18
- "decimals": 6
19
- },
20
- {
21
- "aSymbol": "aOptLINK",
22
- "aAddress": "0x191c10Aa4AF7C30e871E70C95dB0E4eb77237530",
23
- "address": "0x350a791Bfc2C21F9Ed5d10980Dad2e2638ffa7f6",
24
- "decimals": 18
25
- },
26
8
  {
27
9
  "aSymbol": "aOptSUSD",
28
10
  "aAddress": "0x6d80113e533a2C0fe82EaBD35f1875DcEA89Ea97",
@@ -35,6 +17,24 @@
35
17
  "address": "0x7f5c764cbc14f9669b88837ca1490cca17c31607",
36
18
  "decimals": 6
37
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
38
  {
39
39
  "aSymbol": "aOptWBTC",
40
40
  "aAddress": "0x078f358208685046a11C85e8ad32895DED33A249",
@@ -1,98 +1,116 @@
1
1
  [
2
2
  {
3
- "aSymbol": "aAAVE",
4
- "aAddress": "0xf329e36c7bf6e5e86ce2150875a84ce77f477375",
5
- "address": "0xd6df932a45c0f255f85145f286ea0b292b21c90b",
3
+ "aSymbol": "aPolAGEUR",
4
+ "aAddress": "0x8437d7c167dfb82ed4cb79cd44b7a32a1dd95c77",
5
+ "address": "0xe0b52e49357fd4daf2c15e02058dce6bc0057db4",
6
6
  "decimals": 18
7
7
  },
8
8
  {
9
- "aSymbol": "aDAI",
9
+ "aSymbol": "aPolDAI",
10
10
  "aAddress": "0x82e64f49ed5ec1bc6e43dad4fc8af9bb3a2312ee",
11
11
  "address": "0x8f3cf7ad23cd3cadbd9735aff958023239c6a063",
12
12
  "decimals": 18
13
13
  },
14
14
  {
15
- "aSymbol": "aUSDC",
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",
16
34
  "aAddress": "0x625e7708f30ca75bfd92586e17077590c60eb4cd",
17
35
  "address": "0x2791bca1f2de4661ed88a30c99a7a9449aa84174",
18
36
  "decimals": 6
19
37
  },
20
38
  {
21
- "aSymbol": "aUSDT",
39
+ "aSymbol": "aPolUSDT",
22
40
  "aAddress": "0x6ab707aca953edaefbc4fd23ba73294241490620",
23
41
  "address": "0xc2132d05d31c914a87c6611c10748aeb04b58e8f",
24
42
  "decimals": 6
25
43
  },
26
44
  {
27
- "aSymbol": "aWBTC",
28
- "aAddress": "0x078f358208685046a11c85e8ad32895ded33a249",
29
- "address": "0x1bfd67037b42cf73acf2047067bd4f2c47d9bfd6",
30
- "decimals": 8
31
- },
32
- {
33
- "aSymbol": "aWETH",
34
- "aAddress": "0xe50fa9b3c56ffb159cb0fca61f5c9d750e8128c8",
35
- "address": "0x7ceb23fd6bc0add59e62ac25578270cff1b9f619",
45
+ "aSymbol": "aPolAAVE",
46
+ "aAddress": "0xf329e36c7bf6e5e86ce2150875a84ce77f477375",
47
+ "address": "0xd6df932a45c0f255f85145f286ea0b292b21c90b",
36
48
  "decimals": 18
37
49
  },
38
50
  {
39
- "aSymbol": "aWMATIC",
40
- "aAddress": "0x6d80113e533a2c0fe82eabd35f1875dcea89ea97",
41
- "address": "0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270",
51
+ "aSymbol": "aPolBAL",
52
+ "aAddress": "0x8ffdf2de812095b1d19cb146e4c004587c0a0692",
53
+ "address": "0x9a71012b13ca4d3d0cdc72a177df3ef03b0e76a3",
42
54
  "decimals": 18
43
55
  },
44
56
  {
45
- "aSymbol": "aLINK",
46
- "aAddress": "0x191c10aa4af7c30e871e70c95db0e4eb77237530",
47
- "address": "0x53e0bca35ec356bd5dddfebbd1fc0fd03fabad39",
57
+ "aSymbol": "aPolCRV",
58
+ "aAddress": "0x513c7e3a9c69ca3e22550ef58ac1c0088e918fff",
59
+ "address": "0x172370d5cd63279efa6d502dab29171933a610af",
48
60
  "decimals": 18
49
61
  },
50
62
  {
51
- "aSymbol": "aEURS",
52
- "aAddress": "0x38d693ce1df5aadf7bc62595a37d667ad57922e5",
53
- "address": "0xe111178a87a3bff0c8d18decba5798827539ae99",
54
- "decimals": 2
63
+ "aSymbol": "aPolDPI",
64
+ "aAddress": "0x724dc807b04555b71ed48a6896b6f41593b8c637",
65
+ "address": "0x85955046df4668e1dd369d2de9f3aeb98dd2a369",
66
+ "decimals": 18
55
67
  },
56
68
  {
57
- "aSymbol": "aGHST",
69
+ "aSymbol": "aPolGHST",
58
70
  "aAddress": "0x8eb270e296023e9d92081fdf967ddd7878724424",
59
71
  "address": "0x385eeac5cb85a38a9a07a70c73e0a3271cfb54a7",
60
72
  "decimals": 18
61
73
  },
62
74
  {
63
- "aSymbol": "aBAL",
64
- "aAddress": "0x8ffdf2de812095b1d19cb146e4c004587c0a0692",
65
- "address": "0x9a71012b13ca4d3d0cdc72a177df3ef03b0e76a3",
75
+ "aSymbol": "aPolLINK",
76
+ "aAddress": "0x191c10aa4af7c30e871e70c95db0e4eb77237530",
77
+ "address": "0x53e0bca35ec356bd5dddfebbd1fc0fd03fabad39",
66
78
  "decimals": 18
67
79
  },
68
80
  {
69
- "aSymbol": "aCRV",
70
- "aAddress": "0x513c7e3a9c69ca3e22550ef58ac1c0088e918fff",
71
- "address": "0x172370d5cd63279efa6d502dab29171933a610af",
81
+ "aSymbol": "aPolMATICX",
82
+ "aAddress": "0x80cA0d8C38d2e2BcbaB66aA1648Bd1C7160500FE",
83
+ "address": "0xfa68FB4628DFF1028CFEc22b4162FCcd0d45efb6",
72
84
  "decimals": 18
73
85
  },
74
86
  {
75
- "aSymbol": "aDPI",
76
- "aAddress": "0x724dc807b04555b71ed48a6896b6f41593b8c637",
77
- "address": "0x85955046df4668e1dd369d2de9f3aeb98dd2a369",
87
+ "aSymbol": "aPolSTMATIC",
88
+ "aAddress": "0xEA1132120ddcDDA2F119e99Fa7A27a0d036F7Ac9",
89
+ "address": "0x3A58a54C066FdC0f2D55FC9C89F0415C92eBf3C4",
78
90
  "decimals": 18
79
91
  },
80
92
  {
81
- "aSymbol": "aSUSHI",
93
+ "aSymbol": "aPolSUSHI",
82
94
  "aAddress": "0xc45a479877e1e9dfe9fcd4056c699575a1045daa",
83
95
  "address": "0x0b3f868e0be5597d5db7feb59e1cadbb0fdda50a",
84
96
  "decimals": 18
85
97
  },
86
98
  {
87
- "aSymbol": "aJEUR",
88
- "aAddress": "0x6533afac2e7bccb20dca161449a13a32d391fb00",
89
- "address": "0x4e3decbb3645551b8a19f0ea1678079fcb33fb4c",
99
+ "aSymbol": "aPolWBTC",
100
+ "aAddress": "0x078f358208685046a11c85e8ad32895ded33a249",
101
+ "address": "0x1bfd67037b42cf73acf2047067bd4f2c47d9bfd6",
102
+ "decimals": 8
103
+ },
104
+ {
105
+ "aSymbol": "aPolWETH",
106
+ "aAddress": "0xe50fa9b3c56ffb159cb0fca61f5c9d750e8128c8",
107
+ "address": "0x7ceb23fd6bc0add59e62ac25578270cff1b9f619",
90
108
  "decimals": 18
91
109
  },
92
110
  {
93
- "aSymbol": "aAGEUR",
94
- "aAddress": "0x8437d7c167dfb82ed4cb79cd44b7a32a1dd95c77",
95
- "address": "0xe0b52e49357fd4daf2c15e02058dce6bc0057db4",
111
+ "aSymbol": "aPolWMATIC",
112
+ "aAddress": "0x6d80113e533a2c0fe82eabd35f1875dcea89ea97",
113
+ "address": "0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270",
96
114
  "decimals": 18
97
115
  }
98
116
  ]
@@ -0,0 +1,14 @@
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
+ }
@@ -0,0 +1,37 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,3 @@
1
+ import joi from 'joi';
2
+ export declare const priceValidator: joi.ObjectSchema<any>;
3
+ export declare const pricesResponse: joi.ObjectSchema<any>;
@@ -0,0 +1,12 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1 @@
1
+ export declare const MAX_SWAP_ITERATION_CALCULATION = 50;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MAX_SWAP_ITERATION_CALCULATION = void 0;
4
+ exports.MAX_SWAP_ITERATION_CALCULATION = 50;
5
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/dex/maverick-v1/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,8BAA8B,GAAG,EAAE,CAAC"}
@@ -26,7 +26,7 @@ export declare class MaverickPoolMath {
26
26
  pastMaxPrice(self: Delta): void;
27
27
  sqrtEdgePrice(self: Delta): bigint;
28
28
  noSwapReset(self: Delta): void;
29
- swap(state: PoolState, amount: bigint, tokenAIn: boolean, exactOutput: boolean): [bigint, bigint];
29
+ swap(state: PoolState, amount: bigint, tokenAIn: boolean, exactOutput: boolean, isForPricing?: boolean): [bigint, bigint];
30
30
  _nothingToSwap(binReserveA: bigint, binReserveB: bigint, tokenAIn: boolean): boolean;
31
31
  swapTick(delta: Delta): Delta;
32
32
  adjustAB(bin: Bin, delta: Delta, thisBinAmount: bigint, totalAmount: bigint): void;
@@ -5,6 +5,7 @@ const maverick_bin_map_1 = require("./maverick-bin-map");
5
5
  const bigint_constants_1 = require("../../../bigint-constants");
6
6
  const utils_1 = require("../../../utils");
7
7
  const maverick_basic_math_1 = require("./maverick-basic-math");
8
+ const constants_1 = require("../constants");
8
9
  const MAX_TICK = 460540;
9
10
  class MaverickPoolMath {
10
11
  constructor(dexKey, fee, tickSpacing, protocolFeeRatio) {
@@ -46,7 +47,10 @@ class MaverickPoolMath {
46
47
  self.skipCombine = true;
47
48
  self.endSqrtPrice = self.sqrtPrice;
48
49
  }
49
- swap(state, amount, tokenAIn, exactOutput) {
50
+ swap(state, amount, tokenAIn, exactOutput,
51
+ // We must not restrict in current implementation tick calculations in case
52
+ // if swap was called for event calculation
53
+ isForPricing = false) {
50
54
  this.state = state;
51
55
  let delta = {
52
56
  deltaInBinInternal: 0n,
@@ -64,9 +68,15 @@ class MaverickPoolMath {
64
68
  sqrtUpperTickPrice: 0n,
65
69
  sqrtPrice: 0n,
66
70
  };
71
+ let counter = 0;
67
72
  while (delta.excess > 0) {
68
73
  let newDelta = this.swapTick(delta);
69
74
  this.combine(delta, newDelta);
75
+ // We can not do too much iteration. This variable chosen
76
+ // as reasonable threshold
77
+ if (isForPricing && counter++ > constants_1.MAX_SWAP_ITERATION_CALCULATION) {
78
+ return [0n, 0n];
79
+ }
70
80
  }
71
81
  let amountIn = delta.deltaInErc;
72
82
  let amountOut = delta.deltaOutErc;