-
Notifications
You must be signed in to change notification settings - Fork 14
Expand file tree
/
Copy pathslither.db.json
More file actions
1 lines (1 loc) · 60.4 KB
/
slither.db.json
File metadata and controls
1 lines (1 loc) · 60.4 KB
1
[{"elements": [{"type": "function", "name": "_calculateRebalanceAmounts", "source_mapping": {"start": 4294, "length": 2347, "filename_relative": "contracts/v3/ReservePolicy.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/ReservePolicy.sol", "filename_short": "contracts/v3/ReservePolicy.sol", "is_dependency": false, "lines": [111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166], "starting_column": 3, "ending_column": 4}, "type_specific_fields": {"parent": {"type": "contract", "name": "ReservePolicy", "source_mapping": {"start": 335, "length": 6700, "filename_relative": "contracts/v3/ReservePolicy.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/ReservePolicy.sol", "filename_short": "contracts/v3/ReservePolicy.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184], "starting_column": 1, "ending_column": 2}}, "signature": "_calculateRebalanceAmounts(LiquidityTypes.Context)"}}, {"type": "node", "name": "token0ToRemove18 = ((oraclePriceNumerator - poolPriceNumerator) * LiquidityTypes.BASIS_POINTS_DENOMINATOR) / contractionDenominator", "source_mapping": {"start": 6130, "length": 135, "filename_relative": "contracts/v3/ReservePolicy.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/ReservePolicy.sol", "filename_short": "contracts/v3/ReservePolicy.sol", "is_dependency": false, "lines": [155, 156], "starting_column": 7, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "function", "name": "_calculateRebalanceAmounts", "source_mapping": {"start": 4294, "length": 2347, "filename_relative": "contracts/v3/ReservePolicy.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/ReservePolicy.sol", "filename_short": "contracts/v3/ReservePolicy.sol", "is_dependency": false, "lines": [111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166], "starting_column": 3, "ending_column": 4}, "type_specific_fields": {"parent": {"type": "contract", "name": "ReservePolicy", "source_mapping": {"start": 335, "length": 6700, "filename_relative": "contracts/v3/ReservePolicy.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/ReservePolicy.sol", "filename_short": "contracts/v3/ReservePolicy.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184], "starting_column": 1, "ending_column": 2}}, "signature": "_calculateRebalanceAmounts(LiquidityTypes.Context)"}}}}, {"type": "node", "name": "token1ToAdd18 = (token0ToRemove18 * ctx.prices.oracleNum * (LiquidityTypes.BASIS_POINTS_DENOMINATOR - ctx.incentiveBps)) / (ctx.prices.oracleDen * LiquidityTypes.BASIS_POINTS_DENOMINATOR)", "source_mapping": {"start": 6273, "length": 187, "filename_relative": "contracts/v3/ReservePolicy.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/ReservePolicy.sol", "filename_short": "contracts/v3/ReservePolicy.sol", "is_dependency": false, "lines": [157, 158, 159], "starting_column": 7, "ending_column": 113}, "type_specific_fields": {"parent": {"type": "function", "name": "_calculateRebalanceAmounts", "source_mapping": {"start": 4294, "length": 2347, "filename_relative": "contracts/v3/ReservePolicy.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/ReservePolicy.sol", "filename_short": "contracts/v3/ReservePolicy.sol", "is_dependency": false, "lines": [111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166], "starting_column": 3, "ending_column": 4}, "type_specific_fields": {"parent": {"type": "contract", "name": "ReservePolicy", "source_mapping": {"start": 335, "length": 6700, "filename_relative": "contracts/v3/ReservePolicy.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/ReservePolicy.sol", "filename_short": "contracts/v3/ReservePolicy.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184], "starting_column": 1, "ending_column": 2}}, "signature": "_calculateRebalanceAmounts(LiquidityTypes.Context)"}}}}], "description": "ReservePolicy._calculateRebalanceAmounts(LiquidityTypes.Context) (contracts/v3/ReservePolicy.sol#111-166) performs a multiplication on the result of a division:\n\t- token0ToRemove18 = ((oraclePriceNumerator - poolPriceNumerator) * LiquidityTypes.BASIS_POINTS_DENOMINATOR) / contractionDenominator (contracts/v3/ReservePolicy.sol#155-156)\n\t- token1ToAdd18 = (token0ToRemove18 * ctx.prices.oracleNum * (LiquidityTypes.BASIS_POINTS_DENOMINATOR - ctx.incentiveBps)) / (ctx.prices.oracleDen * LiquidityTypes.BASIS_POINTS_DENOMINATOR) (contracts/v3/ReservePolicy.sol#157-159)\n", "markdown": "[ReservePolicy._calculateRebalanceAmounts(LiquidityTypes.Context)](contracts/v3/ReservePolicy.sol#L111-L166) performs a multiplication on the result of a division:\n\t- [token0ToRemove18 = ((oraclePriceNumerator - poolPriceNumerator) * LiquidityTypes.BASIS_POINTS_DENOMINATOR) / contractionDenominator](contracts/v3/ReservePolicy.sol#L155-L156)\n\t- [token1ToAdd18 = (token0ToRemove18 * ctx.prices.oracleNum * (LiquidityTypes.BASIS_POINTS_DENOMINATOR - ctx.incentiveBps)) / (ctx.prices.oracleDen * LiquidityTypes.BASIS_POINTS_DENOMINATOR)](contracts/v3/ReservePolicy.sol#L157-L159)\n", "first_markdown_element": "contracts/v3/ReservePolicy.sol#L111-L166", "id": "a42bfc738211fd7ec952cc1f80d78ce2d62389e41fb4d274ccb0e852d61e8750", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_calculateRebalanceAmounts", "source_mapping": {"start": 4294, "length": 2347, "filename_relative": "contracts/v3/ReservePolicy.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/ReservePolicy.sol", "filename_short": "contracts/v3/ReservePolicy.sol", "is_dependency": false, "lines": [111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166], "starting_column": 3, "ending_column": 4}, "type_specific_fields": {"parent": {"type": "contract", "name": "ReservePolicy", "source_mapping": {"start": 335, "length": 6700, "filename_relative": "contracts/v3/ReservePolicy.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/ReservePolicy.sol", "filename_short": "contracts/v3/ReservePolicy.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184], "starting_column": 1, "ending_column": 2}}, "signature": "_calculateRebalanceAmounts(LiquidityTypes.Context)"}}, {"type": "node", "name": "token1ToRemove18 = ((poolPriceNumerator - oraclePriceNumerator) * LiquidityTypes.BASIS_POINTS_DENOMINATOR) / denominator", "source_mapping": {"start": 5280, "length": 124, "filename_relative": "contracts/v3/ReservePolicy.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/ReservePolicy.sol", "filename_short": "contracts/v3/ReservePolicy.sol", "is_dependency": false, "lines": [135, 136], "starting_column": 7, "ending_column": 20}, "type_specific_fields": {"parent": {"type": "function", "name": "_calculateRebalanceAmounts", "source_mapping": {"start": 4294, "length": 2347, "filename_relative": "contracts/v3/ReservePolicy.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/ReservePolicy.sol", "filename_short": "contracts/v3/ReservePolicy.sol", "is_dependency": false, "lines": [111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166], "starting_column": 3, "ending_column": 4}, "type_specific_fields": {"parent": {"type": "contract", "name": "ReservePolicy", "source_mapping": {"start": 335, "length": 6700, "filename_relative": "contracts/v3/ReservePolicy.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/ReservePolicy.sol", "filename_short": "contracts/v3/ReservePolicy.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184], "starting_column": 1, "ending_column": 2}}, "signature": "_calculateRebalanceAmounts(LiquidityTypes.Context)"}}}}, {"type": "node", "name": "token0ToAdd18 = (token1ToRemove18 * ctx.prices.oracleDen) / ctx.prices.oracleNum", "source_mapping": {"start": 5412, "length": 88, "filename_relative": "contracts/v3/ReservePolicy.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/ReservePolicy.sol", "filename_short": "contracts/v3/ReservePolicy.sol", "is_dependency": false, "lines": [137], "starting_column": 7, "ending_column": 95}, "type_specific_fields": {"parent": {"type": "function", "name": "_calculateRebalanceAmounts", "source_mapping": {"start": 4294, "length": 2347, "filename_relative": "contracts/v3/ReservePolicy.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/ReservePolicy.sol", "filename_short": "contracts/v3/ReservePolicy.sol", "is_dependency": false, "lines": [111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166], "starting_column": 3, "ending_column": 4}, "type_specific_fields": {"parent": {"type": "contract", "name": "ReservePolicy", "source_mapping": {"start": 335, "length": 6700, "filename_relative": "contracts/v3/ReservePolicy.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/ReservePolicy.sol", "filename_short": "contracts/v3/ReservePolicy.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184], "starting_column": 1, "ending_column": 2}}, "signature": "_calculateRebalanceAmounts(LiquidityTypes.Context)"}}}}], "description": "ReservePolicy._calculateRebalanceAmounts(LiquidityTypes.Context) (contracts/v3/ReservePolicy.sol#111-166) performs a multiplication on the result of a division:\n\t- token1ToRemove18 = ((poolPriceNumerator - oraclePriceNumerator) * LiquidityTypes.BASIS_POINTS_DENOMINATOR) / denominator (contracts/v3/ReservePolicy.sol#135-136)\n\t- token0ToAdd18 = (token1ToRemove18 * ctx.prices.oracleDen) / ctx.prices.oracleNum (contracts/v3/ReservePolicy.sol#137)\n", "markdown": "[ReservePolicy._calculateRebalanceAmounts(LiquidityTypes.Context)](contracts/v3/ReservePolicy.sol#L111-L166) performs a multiplication on the result of a division:\n\t- [token1ToRemove18 = ((poolPriceNumerator - oraclePriceNumerator) * LiquidityTypes.BASIS_POINTS_DENOMINATOR) / denominator](contracts/v3/ReservePolicy.sol#L135-L136)\n\t- [token0ToAdd18 = (token1ToRemove18 * ctx.prices.oracleDen) / ctx.prices.oracleNum](contracts/v3/ReservePolicy.sol#L137)\n", "first_markdown_element": "contracts/v3/ReservePolicy.sol#L111-L166", "id": "2f673df90384c35367d7434b24c09f300d3d223900c6771d51f8b2d7d7e253a5", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "rebalance", "source_mapping": {"start": 6240, "length": 1349, "filename_relative": "contracts/v3/LiquidityController.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/LiquidityController.sol", "filename_short": "contracts/v3/LiquidityController.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174], "starting_column": 3, "ending_column": 4}, "type_specific_fields": {"parent": {"type": "contract", "name": "LiquidityController", "source_mapping": {"start": 1354, "length": 10458, "filename_relative": "contracts/v3/LiquidityController.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/LiquidityController.sol", "filename_short": "contracts/v3/LiquidityController.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293], "starting_column": 1, "ending_column": 2}}, "signature": "rebalance(address)"}}, {"type": "node", "name": "ok = strategy.execute(action)", "source_mapping": {"start": 7099, "length": 34, "filename_relative": "contracts/v3/LiquidityController.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/LiquidityController.sol", "filename_short": "contracts/v3/LiquidityController.sol", "is_dependency": false, "lines": [160], "starting_column": 7, "ending_column": 41}, "type_specific_fields": {"parent": {"type": "function", "name": "rebalance", "source_mapping": {"start": 6240, "length": 1349, "filename_relative": "contracts/v3/LiquidityController.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/LiquidityController.sol", "filename_short": "contracts/v3/LiquidityController.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174], "starting_column": 3, "ending_column": 4}, "type_specific_fields": {"parent": {"type": "contract", "name": "LiquidityController", "source_mapping": {"start": 1354, "length": 10458, "filename_relative": "contracts/v3/LiquidityController.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/LiquidityController.sol", "filename_short": "contracts/v3/LiquidityController.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293], "starting_column": 1, "ending_column": 2}}, "signature": "rebalance(address)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "poolConfigs[pool].lastRebalance = uint128(block.timestamp)", "source_mapping": {"start": 7408, "length": 58, "filename_relative": "contracts/v3/LiquidityController.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/LiquidityController.sol", "filename_short": "contracts/v3/LiquidityController.sol", "is_dependency": false, "lines": [171], "starting_column": 5, "ending_column": 63}, "type_specific_fields": {"parent": {"type": "function", "name": "rebalance", "source_mapping": {"start": 6240, "length": 1349, "filename_relative": "contracts/v3/LiquidityController.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/LiquidityController.sol", "filename_short": "contracts/v3/LiquidityController.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174], "starting_column": 3, "ending_column": 4}, "type_specific_fields": {"parent": {"type": "contract", "name": "LiquidityController", "source_mapping": {"start": 1354, "length": 10458, "filename_relative": "contracts/v3/LiquidityController.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/LiquidityController.sol", "filename_short": "contracts/v3/LiquidityController.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293], "starting_column": 1, "ending_column": 2}}, "signature": "rebalance(address)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "poolConfigs"}}], "description": "Reentrancy in LiquidityController.rebalance(address) (contracts/v3/LiquidityController.sol#139-174):\n\tExternal calls:\n\t- ok = strategy.execute(action) (contracts/v3/LiquidityController.sol#160)\n\tState variables written after the call(s):\n\t- poolConfigs[pool].lastRebalance = uint128(block.timestamp) (contracts/v3/LiquidityController.sol#171)\n\tLiquidityController.poolConfigs (contracts/v3/LiquidityController.sol#32) can be used in cross function reentrancies:\n\t- LiquidityController.addPool(address,address,address,uint64,uint32) (contracts/v3/LiquidityController.sol#55-85)\n\t- LiquidityController.poolConfigs (contracts/v3/LiquidityController.sol#32)\n\t- LiquidityController.removePool(address) (contracts/v3/LiquidityController.sol#88-93)\n\t- LiquidityController.setRebalanceCooldown(address,uint64) (contracts/v3/LiquidityController.sol#96-100)\n\t- LiquidityController.setRebalanceIncentive(address,uint32) (contracts/v3/LiquidityController.sol#103-109)\n", "markdown": "Reentrancy in [LiquidityController.rebalance(address)](contracts/v3/LiquidityController.sol#L139-L174):\n\tExternal calls:\n\t- [ok = strategy.execute(action)](contracts/v3/LiquidityController.sol#L160)\n\tState variables written after the call(s):\n\t- [poolConfigs[pool].lastRebalance = uint128(block.timestamp)](contracts/v3/LiquidityController.sol#L171)\n\t[LiquidityController.poolConfigs](contracts/v3/LiquidityController.sol#L32) can be used in cross function reentrancies:\n\t- [LiquidityController.addPool(address,address,address,uint64,uint32)](contracts/v3/LiquidityController.sol#L55-L85)\n\t- [LiquidityController.poolConfigs](contracts/v3/LiquidityController.sol#L32)\n\t- [LiquidityController.removePool(address)](contracts/v3/LiquidityController.sol#L88-L93)\n\t- [LiquidityController.setRebalanceCooldown(address,uint64)](contracts/v3/LiquidityController.sol#L96-L100)\n\t- [LiquidityController.setRebalanceIncentive(address,uint32)](contracts/v3/LiquidityController.sol#L103-L109)\n", "first_markdown_element": "contracts/v3/LiquidityController.sol#L139-L174", "id": "2987cccf6ec72e5e23a07fd9972f5660091270480394a0d245321b291e58734c", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "rebalance", "source_mapping": {"start": 6240, "length": 1349, "filename_relative": "contracts/v3/LiquidityController.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/LiquidityController.sol", "filename_short": "contracts/v3/LiquidityController.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174], "starting_column": 3, "ending_column": 4}, "type_specific_fields": {"parent": {"type": "contract", "name": "LiquidityController", "source_mapping": {"start": 1354, "length": 10458, "filename_relative": "contracts/v3/LiquidityController.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/LiquidityController.sol", "filename_short": "contracts/v3/LiquidityController.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293], "starting_column": 1, "ending_column": 2}}, "signature": "rebalance(address)"}}, {"type": "node", "name": "(None,None,None,None,diffAfter,None) = IFPMM(pool).getPrices()", "source_mapping": {"start": 7472, "length": 55, "filename_relative": "contracts/v3/LiquidityController.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/LiquidityController.sol", "filename_short": "contracts/v3/LiquidityController.sol", "is_dependency": false, "lines": [172], "starting_column": 5, "ending_column": 60}, "type_specific_fields": {"parent": {"type": "function", "name": "rebalance", "source_mapping": {"start": 6240, "length": 1349, "filename_relative": "contracts/v3/LiquidityController.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/LiquidityController.sol", "filename_short": "contracts/v3/LiquidityController.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174], "starting_column": 3, "ending_column": 4}, "type_specific_fields": {"parent": {"type": "contract", "name": "LiquidityController", "source_mapping": {"start": 1354, "length": 10458, "filename_relative": "contracts/v3/LiquidityController.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/LiquidityController.sol", "filename_short": "contracts/v3/LiquidityController.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293], "starting_column": 1, "ending_column": 2}}, "signature": "rebalance(address)"}}}}], "description": "LiquidityController.rebalance(address) (contracts/v3/LiquidityController.sol#139-174) ignores return value by (None,None,None,None,diffAfter,None) = IFPMM(pool).getPrices() (contracts/v3/LiquidityController.sol#172)\n", "markdown": "[LiquidityController.rebalance(address)](contracts/v3/LiquidityController.sol#L139-L174) ignores return value by [(None,None,None,None,diffAfter,None) = IFPMM(pool).getPrices()](contracts/v3/LiquidityController.sol#L172)\n", "first_markdown_element": "contracts/v3/LiquidityController.sol#L139-L174", "id": "dd6cde84b46286a917b91d8dd98917d4d03e7c3faeb5a951dbaa95293907fc40", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_buildFullContext", "source_mapping": {"start": 8936, "length": 1256, "filename_relative": "contracts/v3/LiquidityController.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/LiquidityController.sol", "filename_short": "contracts/v3/LiquidityController.sol", "is_dependency": false, "lines": [212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253], "starting_column": 3, "ending_column": 4}, "type_specific_fields": {"parent": {"type": "contract", "name": "LiquidityController", "source_mapping": {"start": 1354, "length": 10458, "filename_relative": "contracts/v3/LiquidityController.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/LiquidityController.sol", "filename_short": "contracts/v3/LiquidityController.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293], "starting_column": 1, "ending_column": 2}}, "signature": "_buildFullContext(address,ILiquidityController.PoolConfig)"}}, {"type": "node", "name": "(dec0,dec1,None,None,t0,t1) = fpmm.metadata()", "source_mapping": {"start": 9145, "length": 74, "filename_relative": "contracts/v3/LiquidityController.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/LiquidityController.sol", "filename_short": "contracts/v3/LiquidityController.sol", "is_dependency": false, "lines": [218], "starting_column": 7, "ending_column": 81}, "type_specific_fields": {"parent": {"type": "function", "name": "_buildFullContext", "source_mapping": {"start": 8936, "length": 1256, "filename_relative": "contracts/v3/LiquidityController.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/LiquidityController.sol", "filename_short": "contracts/v3/LiquidityController.sol", "is_dependency": false, "lines": [212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253], "starting_column": 3, "ending_column": 4}, "type_specific_fields": {"parent": {"type": "contract", "name": "LiquidityController", "source_mapping": {"start": 1354, "length": 10458, "filename_relative": "contracts/v3/LiquidityController.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/LiquidityController.sol", "filename_short": "contracts/v3/LiquidityController.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293], "starting_column": 1, "ending_column": 2}}, "signature": "_buildFullContext(address,ILiquidityController.PoolConfig)"}}}}], "description": "LiquidityController._buildFullContext(address,ILiquidityController.PoolConfig) (contracts/v3/LiquidityController.sol#212-253) ignores return value by (dec0,dec1,None,None,t0,t1) = fpmm.metadata() (contracts/v3/LiquidityController.sol#218)\n", "markdown": "[LiquidityController._buildFullContext(address,ILiquidityController.PoolConfig)](contracts/v3/LiquidityController.sol#L212-L253) ignores return value by [(dec0,dec1,None,None,t0,t1) = fpmm.metadata()](contracts/v3/LiquidityController.sol#L218)\n", "first_markdown_element": "contracts/v3/LiquidityController.sol#L212-L253", "id": "7c3613c1a06f232897aadc50eb7c7273d0831cfe6eff394f6a7c3bbb5f8708e5", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "rebalance", "source_mapping": {"start": 6240, "length": 1349, "filename_relative": "contracts/v3/LiquidityController.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/LiquidityController.sol", "filename_short": "contracts/v3/LiquidityController.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174], "starting_column": 3, "ending_column": 4}, "type_specific_fields": {"parent": {"type": "contract", "name": "LiquidityController", "source_mapping": {"start": 1354, "length": 10458, "filename_relative": "contracts/v3/LiquidityController.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/LiquidityController.sol", "filename_short": "contracts/v3/LiquidityController.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293], "starting_column": 1, "ending_column": 2}}, "signature": "rebalance(address)"}}, {"type": "node", "name": "(shouldAct,action) = policies[i].determineAction(ctx)", "source_mapping": {"start": 6821, "length": 76, "filename_relative": "contracts/v3/LiquidityController.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/LiquidityController.sol", "filename_short": "contracts/v3/LiquidityController.sol", "is_dependency": false, "lines": [154], "starting_column": 7, "ending_column": 83}, "type_specific_fields": {"parent": {"type": "function", "name": "rebalance", "source_mapping": {"start": 6240, "length": 1349, "filename_relative": "contracts/v3/LiquidityController.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/LiquidityController.sol", "filename_short": "contracts/v3/LiquidityController.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174], "starting_column": 3, "ending_column": 4}, "type_specific_fields": {"parent": {"type": "contract", "name": "LiquidityController", "source_mapping": {"start": 1354, "length": 10458, "filename_relative": "contracts/v3/LiquidityController.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/LiquidityController.sol", "filename_short": "contracts/v3/LiquidityController.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293], "starting_column": 1, "ending_column": 2}}, "signature": "rebalance(address)"}}}}], "description": "LiquidityController.rebalance(address) (contracts/v3/LiquidityController.sol#139-174) has external calls inside a loop: (shouldAct,action) = policies[i].determineAction(ctx) (contracts/v3/LiquidityController.sol#154)\n", "markdown": "[LiquidityController.rebalance(address)](contracts/v3/LiquidityController.sol#L139-L174) has external calls inside a loop: [(shouldAct,action) = policies[i].determineAction(ctx)](contracts/v3/LiquidityController.sol#L154)\n", "first_markdown_element": "contracts/v3/LiquidityController.sol#L139-L174", "id": "102caa8427a125107138a27fe4886e29b54ad8aa7689642c982537b187c2eed0", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "rebalance", "source_mapping": {"start": 6240, "length": 1349, "filename_relative": "contracts/v3/LiquidityController.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/LiquidityController.sol", "filename_short": "contracts/v3/LiquidityController.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174], "starting_column": 3, "ending_column": 4}, "type_specific_fields": {"parent": {"type": "contract", "name": "LiquidityController", "source_mapping": {"start": 1354, "length": 10458, "filename_relative": "contracts/v3/LiquidityController.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/LiquidityController.sol", "filename_short": "contracts/v3/LiquidityController.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293], "starting_column": 1, "ending_column": 2}}, "signature": "rebalance(address)"}}, {"type": "node", "name": "ok = strategy.execute(action)", "source_mapping": {"start": 7099, "length": 34, "filename_relative": "contracts/v3/LiquidityController.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/LiquidityController.sol", "filename_short": "contracts/v3/LiquidityController.sol", "is_dependency": false, "lines": [160], "starting_column": 7, "ending_column": 41}, "type_specific_fields": {"parent": {"type": "function", "name": "rebalance", "source_mapping": {"start": 6240, "length": 1349, "filename_relative": "contracts/v3/LiquidityController.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/LiquidityController.sol", "filename_short": "contracts/v3/LiquidityController.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174], "starting_column": 3, "ending_column": 4}, "type_specific_fields": {"parent": {"type": "contract", "name": "LiquidityController", "source_mapping": {"start": 1354, "length": 10458, "filename_relative": "contracts/v3/LiquidityController.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/LiquidityController.sol", "filename_short": "contracts/v3/LiquidityController.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293], "starting_column": 1, "ending_column": 2}}, "signature": "rebalance(address)"}}}}], "description": "LiquidityController.rebalance(address) (contracts/v3/LiquidityController.sol#139-174) has external calls inside a loop: ok = strategy.execute(action) (contracts/v3/LiquidityController.sol#160)\n", "markdown": "[LiquidityController.rebalance(address)](contracts/v3/LiquidityController.sol#L139-L174) has external calls inside a loop: [ok = strategy.execute(action)](contracts/v3/LiquidityController.sol#L160)\n", "first_markdown_element": "contracts/v3/LiquidityController.sol#L139-L174", "id": "827d0ec5e374064b7e1c9dcecd6fa73b472f90af95305ca40213d5a1c675ff91", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "execute", "source_mapping": {"start": 3887, "length": 853, "filename_relative": "contracts/v3/ReserveLiquidityStrategy.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/ReserveLiquidityStrategy.sol", "filename_short": "contracts/v3/ReserveLiquidityStrategy.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125], "starting_column": 3, "ending_column": 4}, "type_specific_fields": {"parent": {"type": "contract", "name": "ReserveLiquidityStrategy", "source_mapping": {"start": 827, "length": 8648, "filename_relative": "contracts/v3/ReserveLiquidityStrategy.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/ReserveLiquidityStrategy.sol", "filename_short": "contracts/v3/ReserveLiquidityStrategy.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "execute(LiquidityTypes.Action)"}}, {"type": "node", "name": "IFPMM(action.pool).rebalance(action.amount0Out,action.amount1Out,hookData)", "source_mapping": {"start": 4478, "length": 76, "filename_relative": "contracts/v3/ReserveLiquidityStrategy.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/ReserveLiquidityStrategy.sol", "filename_short": "contracts/v3/ReserveLiquidityStrategy.sol", "is_dependency": false, "lines": [114], "starting_column": 5, "ending_column": 81}, "type_specific_fields": {"parent": {"type": "function", "name": "execute", "source_mapping": {"start": 3887, "length": 853, "filename_relative": "contracts/v3/ReserveLiquidityStrategy.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/ReserveLiquidityStrategy.sol", "filename_short": "contracts/v3/ReserveLiquidityStrategy.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125], "starting_column": 3, "ending_column": 4}, "type_specific_fields": {"parent": {"type": "contract", "name": "ReserveLiquidityStrategy", "source_mapping": {"start": 827, "length": 8648, "filename_relative": "contracts/v3/ReserveLiquidityStrategy.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/ReserveLiquidityStrategy.sol", "filename_short": "contracts/v3/ReserveLiquidityStrategy.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "execute(LiquidityTypes.Action)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "LiquidityMoved(action.pool,action.dir,action.inputAmount,action.amount0Out + action.amount1Out,incentiveAmount)", "source_mapping": {"start": 4561, "length": 156, "filename_relative": "contracts/v3/ReserveLiquidityStrategy.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/ReserveLiquidityStrategy.sol", "filename_short": "contracts/v3/ReserveLiquidityStrategy.sol", "is_dependency": false, "lines": [116, 117, 118, 119, 120, 121, 122], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "function", "name": "execute", "source_mapping": {"start": 3887, "length": 853, "filename_relative": "contracts/v3/ReserveLiquidityStrategy.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/ReserveLiquidityStrategy.sol", "filename_short": "contracts/v3/ReserveLiquidityStrategy.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125], "starting_column": 3, "ending_column": 4}, "type_specific_fields": {"parent": {"type": "contract", "name": "ReserveLiquidityStrategy", "source_mapping": {"start": 827, "length": 8648, "filename_relative": "contracts/v3/ReserveLiquidityStrategy.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/v3/ReserveLiquidityStrategy.sol", "filename_short": "contracts/v3/ReserveLiquidityStrategy.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "execute(LiquidityTypes.Action)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in ReserveLiquidityStrategy.execute(LiquidityTypes.Action) (contracts/v3/ReserveLiquidityStrategy.sol#103-125):\n\tExternal calls:\n\t- IFPMM(action.pool).rebalance(action.amount0Out,action.amount1Out,hookData) (contracts/v3/ReserveLiquidityStrategy.sol#114)\n\tEvent emitted after the call(s):\n\t- LiquidityMoved(action.pool,action.dir,action.inputAmount,action.amount0Out + action.amount1Out,incentiveAmount) (contracts/v3/ReserveLiquidityStrategy.sol#116-122)\n", "markdown": "Reentrancy in [ReserveLiquidityStrategy.execute(LiquidityTypes.Action)](contracts/v3/ReserveLiquidityStrategy.sol#L103-L125):\n\tExternal calls:\n\t- [IFPMM(action.pool).rebalance(action.amount0Out,action.amount1Out,hookData)](contracts/v3/ReserveLiquidityStrategy.sol#L114)\n\tEvent emitted after the call(s):\n\t- [LiquidityMoved(action.pool,action.dir,action.inputAmount,action.amount0Out + action.amount1Out,incentiveAmount)](contracts/v3/ReserveLiquidityStrategy.sol#L116-L122)\n", "first_markdown_element": "contracts/v3/ReserveLiquidityStrategy.sol#L103-L125", "id": "3d3e4a718175b01d29f2438dede347505eb5bdb2893e59fc02a58398b9a5d0da", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "__deprecated_registry_storage_slot__", "source_mapping": {"start": 2112, "length": 52, "filename_relative": "contracts/tokens/patched/ERC20Upgradeable.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/tokens/patched/ERC20Upgradeable.sol", "filename_short": "contracts/tokens/patched/ERC20Upgradeable.sol", "is_dependency": false, "lines": [45], "starting_column": 3, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC20Upgradeable", "source_mapping": {"start": 1970, "length": 11694, "filename_relative": "contracts/tokens/patched/ERC20Upgradeable.sol", "filename_absolute": "/home/bayo/dev/source/mento/mento-core/contracts/tokens/patched/ERC20Upgradeable.sol", "filename_short": "contracts/tokens/patched/ERC20Upgradeable.sol", "is_dependency": false, "lines": [43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394], "starting_column": 1, "ending_column": 2}}}}], "description": "ERC20Upgradeable.__deprecated_registry_storage_slot__ (contracts/tokens/patched/ERC20Upgradeable.sol#45) should be constant \n", "markdown": "[ERC20Upgradeable.__deprecated_registry_storage_slot__](contracts/tokens/patched/ERC20Upgradeable.sol#L45) should be constant \n", "first_markdown_element": "contracts/tokens/patched/ERC20Upgradeable.sol#L45", "id": "add6be92c25bbac3f3c786bd8de918e59a4dcba152389d2030812d8091a9e062", "check": "constable-states", "impact": "Optimization", "confidence": "High"}]