@paraswap/dex-lib 2.15.5 → 2.15.6

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 (50) hide show
  1. package/.idea/aws.xml +17 -0
  2. package/.idea/codeStyles/Project.xml +19 -0
  3. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  4. package/.idea/inspectionProfiles/Project_Default.xml +6 -0
  5. package/.idea/misc.xml +6 -0
  6. package/.idea/modules.xml +8 -0
  7. package/.idea/paraswap-dex-lib.iml +9 -0
  8. package/.idea/runConfigurations.xml +10 -0
  9. package/.idea/vcs.xml +6 -0
  10. package/build/dex/aave-v3/tokens/arbitrum.json +50 -0
  11. package/build/dex/aave-v3/tokens/avalanche.json +74 -0
  12. package/build/dex/aave-v3/tokens/fantom.json +62 -0
  13. package/build/dex/aave-v3/tokens/optimism.json +50 -0
  14. package/build/dex/aave-v3/tokens/polygon.json +116 -0
  15. package/build/dex/curve-v1/curve-v1.js +6 -3
  16. package/build/dex/curve-v1/curve-v1.js.map +1 -1
  17. package/build/dex/curve-v1/pools/3pool.d.ts +2 -0
  18. package/build/dex/curve-v1/pools/3pool.js +21 -1
  19. package/build/dex/curve-v1/pools/3pool.js.map +1 -1
  20. package/build/dex/curve-v1/pools/curve-pool.js.map +1 -1
  21. package/build/dex/curve-v1/pools/sUSDpool.js +1 -1
  22. package/build/dex/curve-v1/pools/sUSDpool.js.map +1 -1
  23. package/package.json +1 -1
  24. package/src/dex/curve-v1/curve-v1.ts +8 -3
  25. package/src/dex/curve-v1/pools/3pool.ts +40 -2
  26. package/src/dex/curve-v1/pools/curve-pool.ts +1 -1
  27. package/src/dex/curve-v1/pools/sUSDpool.ts +1 -1
  28. package/build/abi/maverick/pool.json +0 -913
  29. package/build/abi/maverick/router.json +0 -703
  30. package/build/dex/maverick/config.d.ts +0 -4
  31. package/build/dex/maverick/config.js +0 -20
  32. package/build/dex/maverick/config.js.map +0 -1
  33. package/build/dex/maverick/maverick-math/maverick-pool-math.d.ts +0 -67
  34. package/build/dex/maverick/maverick-math/maverick-pool-math.js +0 -406
  35. package/build/dex/maverick/maverick-math/maverick-pool-math.js.map +0 -1
  36. package/build/dex/maverick/maverick-math/maverick-sol-math.d.ts +0 -17
  37. package/build/dex/maverick/maverick-math/maverick-sol-math.js +0 -139
  38. package/build/dex/maverick/maverick-math/maverick-sol-math.js.map +0 -1
  39. package/build/dex/maverick/maverick-pool.d.ts +0 -41
  40. package/build/dex/maverick/maverick-pool.js +0 -130
  41. package/build/dex/maverick/maverick-pool.js.map +0 -1
  42. package/build/dex/maverick/maverick.d.ts +0 -42
  43. package/build/dex/maverick/maverick.js +0 -174
  44. package/build/dex/maverick/maverick.js.map +0 -1
  45. package/build/dex/maverick/subgraph-queries.d.ts +0 -4
  46. package/build/dex/maverick/subgraph-queries.js +0 -114
  47. package/build/dex/maverick/subgraph-queries.js.map +0 -1
  48. package/build/dex/maverick/types.d.ts +0 -46
  49. package/build/dex/maverick/types.js +0 -3
  50. package/build/dex/maverick/types.js.map +0 -1
package/.idea/aws.xml ADDED
@@ -0,0 +1,17 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="accountSettings">
4
+ <option name="activeProfile" value="profile:default" />
5
+ <option name="activeRegion" value="us-east-1" />
6
+ <option name="recentlyUsedProfiles">
7
+ <list>
8
+ <option value="profile:default" />
9
+ </list>
10
+ </option>
11
+ <option name="recentlyUsedRegions">
12
+ <list>
13
+ <option value="us-east-1" />
14
+ </list>
15
+ </option>
16
+ </component>
17
+ </project>
@@ -0,0 +1,19 @@
1
+ <component name="ProjectCodeStyleConfiguration">
2
+ <code_scheme name="Project" version="173">
3
+ <ScalaCodeStyleSettings>
4
+ <option name="MULTILINE_STRING_CLOSING_QUOTES_ON_NEW_LINE" value="true" />
5
+ </ScalaCodeStyleSettings>
6
+ <TypeScriptCodeStyleSettings version="0">
7
+ <option name="SPACE_WITHIN_ARRAY_INITIALIZER_BRACKETS" value="true" />
8
+ <option name="USE_DOUBLE_QUOTES" value="false" />
9
+ <option name="SPACES_WITHIN_IMPORTS" value="true" />
10
+ </TypeScriptCodeStyleSettings>
11
+ <codeStyleSettings language="TypeScript">
12
+ <indentOptions>
13
+ <option name="INDENT_SIZE" value="2" />
14
+ <option name="CONTINUATION_INDENT_SIZE" value="2" />
15
+ <option name="TAB_SIZE" value="2" />
16
+ </indentOptions>
17
+ </codeStyleSettings>
18
+ </code_scheme>
19
+ </component>
@@ -0,0 +1,5 @@
1
+ <component name="ProjectCodeStyleConfiguration">
2
+ <state>
3
+ <option name="PREFERRED_PROJECT_CODE_STYLE" value="Default" />
4
+ </state>
5
+ </component>
@@ -0,0 +1,6 @@
1
+ <component name="InspectionProjectProfileManager">
2
+ <profile version="1.0">
3
+ <option name="myName" value="Project Default" />
4
+ <inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" />
5
+ </profile>
6
+ </component>
package/.idea/misc.xml ADDED
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectRootManager">
4
+ <output url="file://$PROJECT_DIR$/out" />
5
+ </component>
6
+ </project>
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectModuleManager">
4
+ <modules>
5
+ <module fileurl="file://$PROJECT_DIR$/.idea/paraswap-dex-lib.iml" filepath="$PROJECT_DIR$/.idea/paraswap-dex-lib.iml" />
6
+ </modules>
7
+ </component>
8
+ </project>
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <module type="JAVA_MODULE" version="4">
3
+ <component name="NewModuleRootManager" inherit-compiler-output="true">
4
+ <exclude-output />
5
+ <content url="file://$MODULE_DIR$" />
6
+ <orderEntry type="inheritedJdk" />
7
+ <orderEntry type="sourceFolder" forTests="false" />
8
+ </component>
9
+ </module>
@@ -0,0 +1,10 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="RunConfigurationProducerService">
4
+ <option name="ignoredProducers">
5
+ <set>
6
+ <option value="com.android.tools.idea.compose.preview.runconfiguration.ComposePreviewRunConfigurationProducer" />
7
+ </set>
8
+ </option>
9
+ </component>
10
+ </project>
package/.idea/vcs.xml ADDED
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="VcsDirectoryMappings">
4
+ <mapping directory="" vcs="Git" />
5
+ </component>
6
+ </project>
@@ -0,0 +1,50 @@
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
+ ]
@@ -0,0 +1,74 @@
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
+ ]
@@ -0,0 +1,62 @@
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
+ ]
@@ -0,0 +1,50 @@
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
+ ]
@@ -0,0 +1,116 @@
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
+ ]
@@ -224,7 +224,7 @@ class CurveV1 extends simple_exchange_1.SimpleExchange {
224
224
  return null;
225
225
  }
226
226
  }
227
- // Makes suer all the pools from poolAddress are being tracked. If a pool in not tracked yet
227
+ // Makes sure all the pools from poolAddress are being tracked. If a pool in not tracked yet
228
228
  // fetch the state and setup the pool, if they are being watched but don't have a valid state
229
229
  // add it to the list of unavailable pools. Return the list of unavailable pools.
230
230
  async batchCatchUpPools(poolAddresses, blockNumber) {
@@ -240,7 +240,10 @@ class CurveV1 extends simple_exchange_1.SimpleExchange {
240
240
  let newPool = this.getEventPoolInstance(poolAddress);
241
241
  if (!newPool)
242
242
  throw new Error(`Error_${this.dexKey} requested unsupported event pool with address ${poolAddress}`);
243
- newPool.addressesSubscribed = [poolAddress];
243
+ const addressesSubscribed = newPool.addressesSubscribed.map((address) => address.toLowerCase());
244
+ if (!addressesSubscribed.includes(poolAddress)) {
245
+ newPool.addressesSubscribed.push(poolAddress);
246
+ }
244
247
  await newPool.initialize(blockNumber);
245
248
  poolsToFetch.push(newPool);
246
249
  }
@@ -338,7 +341,7 @@ class CurveV1 extends simple_exchange_1.SimpleExchange {
338
341
  let rates = new Array(amounts.length).fill(bignumber_constants_1.BN_0);
339
342
  let fromIndex = curveIndexes[0];
340
343
  let toIndex = curveIndexes[1];
341
- let isTokenSwap = curveIndexes[2] == 1;
344
+ let isTokenSwap = curveIndexes[2] === 1;
342
345
  let pool = this.getPoolByAddress(exchange);
343
346
  if (!pool) {
344
347
  throw new Error(`Error_${this.dexKey}_getRatesEvent pool is not initialised`);
@@ -1 +1 @@
1
- {"version":3,"file":"curve-v1.js","sourceRoot":"","sources":["../../../src/dex/curve-v1/curve-v1.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"curve-v1.js","sourceRoot":"","sources":["../../../src/dex/curve-v1/curve-v1.ts"],"names":[],"mappings":"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"}
@@ -14,4 +14,6 @@ export declare class ThreePool extends CurvePool {
14
14
  private _calc_withdraw_one_coin;
15
15
  calc_token_amount(amounts: BigNumber[], deposit: boolean, state: Readonly<PoolState>): BigNumber;
16
16
  calc_withdraw_one_coin(token_amount: BigNumber, i: number, state: Readonly<PoolState>): BigNumber;
17
+ _get_dy(i: number, j: number, dx: BigNumber, A: BigNumber, fee: BigNumber, balances: BigNumber[], rates: BigNumber[], usefee?: boolean): BigNumber;
18
+ _get_dy_underlying(i: number, j: number, dx: BigNumber, A: BigNumber, fee: BigNumber, balances: BigNumber[], rates: BigNumber[], usefee?: boolean): BigNumber;
17
19
  }