[
  {
    "elements": [
      {
        "type": "contract",
        "name": "DepositFeed",
        "source_mapping": {
          "start": 86,
          "length": 1929,
          "filename_used": "contracts/L1/DepositFeed.sol",
          "filename_relative": "contracts/L1/DepositFeed.sol",
          "filename_absolute": "contracts/L1/DepositFeed.sol",
          "filename_short": "contracts/L1/DepositFeed.sol",
          "is_dependency": false,
          "lines": [
            7, 8, 9, 10, 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
          ],
          "starting_column": 1,
          "ending_column": 2
        }
      },
      {
        "type": "function",
        "name": "receive",
        "source_mapping": {
          "start": 826,
          "length": 110,
          "filename_used": "contracts/L1/DepositFeed.sol",
          "filename_relative": "contracts/L1/DepositFeed.sol",
          "filename_absolute": "contracts/L1/DepositFeed.sol",
          "filename_short": "contracts/L1/DepositFeed.sol",
          "is_dependency": false,
          "lines": [33, 34, 35],
          "starting_column": 5,
          "ending_column": 6
        },
        "type_specific_fields": {
          "parent": {
            "type": "contract",
            "name": "DepositFeed",
            "source_mapping": {
              "start": 86,
              "length": 1929,
              "filename_used": "contracts/L1/DepositFeed.sol",
              "filename_relative": "contracts/L1/DepositFeed.sol",
              "filename_absolute": "contracts/L1/DepositFeed.sol",
              "filename_short": "contracts/L1/DepositFeed.sol",
              "is_dependency": false,
              "lines": [
                7, 8, 9, 10, 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
              ],
              "starting_column": 1,
              "ending_column": 2
            }
          },
          "signature": "receive()"
        }
      },
      {
        "type": "function",
        "name": "depositTransaction",
        "source_mapping": {
          "start": 1367,
          "length": 646,
          "filename_used": "contracts/L1/DepositFeed.sol",
          "filename_relative": "contracts/L1/DepositFeed.sol",
          "filename_absolute": "contracts/L1/DepositFeed.sol",
          "filename_short": "contracts/L1/DepositFeed.sol",
          "is_dependency": false,
          "lines": [
            46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
            63, 64, 65, 66
          ],
          "starting_column": 5,
          "ending_column": 6
        },
        "type_specific_fields": {
          "parent": {
            "type": "contract",
            "name": "DepositFeed",
            "source_mapping": {
              "start": 86,
              "length": 1929,
              "filename_used": "contracts/L1/DepositFeed.sol",
              "filename_relative": "contracts/L1/DepositFeed.sol",
              "filename_absolute": "contracts/L1/DepositFeed.sol",
              "filename_short": "contracts/L1/DepositFeed.sol",
              "is_dependency": false,
              "lines": [
                7, 8, 9, 10, 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
              ],
              "starting_column": 1,
              "ending_column": 2
            }
          },
          "signature": "depositTransaction(address,uint256,uint256,bool,bytes)"
        }
      }
    ],
    "description": "Contract locking ether found:\n\tContract DepositFeed (contracts/L1/DepositFeed.sol#7-67) has payable functions:\n\t - DepositFeed.receive() (contracts/L1/DepositFeed.sol#33-35)\n\t - DepositFeed.depositTransaction(address,uint256,uint256,bool,bytes) (contracts/L1/DepositFeed.sol#46-66)\n\tBut does not have a function to withdraw the ether\n",
    "markdown": "Contract locking ether found:\n\tContract [DepositFeed](contracts/L1/DepositFeed.sol#L7-L67) has payable functions:\n\t - [DepositFeed.receive()](contracts/L1/DepositFeed.sol#L33-L35)\n\t - [DepositFeed.depositTransaction(address,uint256,uint256,bool,bytes)](contracts/L1/DepositFeed.sol#L46-L66)\n\tBut does not have a function to withdraw the ether\n",
    "first_markdown_element": "contracts/L1/DepositFeed.sol#L7-L67",
    "id": "288a726f2c33db8578a9b3b43eaabd069d963e2dbe1fb2ae508c861783d169f5",
    "check": "locked-ether",
    "impact": "Medium",
    "confidence": "High"
  },
  {
    "elements": [
      {
        "type": "contract",
        "name": "DepositFeed",
        "source_mapping": {
          "start": 86,
          "length": 1666,
          "filename_used": "./contracts/L1/DepositFeed.sol",
          "filename_relative": "contracts/L1/DepositFeed.sol",
          "filename_absolute": "./contracts/contracts/L1/DepositFeed.sol",
          "filename_short": "contracts/L1/DepositFeed.sol",
          "is_dependency": false,
          "lines": [
            7, 8, 9, 10, 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
          ],
          "starting_column": 1,
          "ending_column": 2
        }
      },
      {
        "type": "function",
        "name": "depositTransaction",
        "source_mapping": {
          "start": 1102,
          "length": 648,
          "filename_used": "./contracts/contracts/L1/DepositFeed.sol",
          "filename_relative": "contracts/L1/DepositFeed.sol",
          "filename_absolute": "./contracts/contracts/L1/DepositFeed.sol",
          "filename_short": "contracts/L1/DepositFeed.sol",
          "is_dependency": false,
          "lines": [
            38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
            55, 56, 57, 58
          ],
          "starting_column": 5,
          "ending_column": 6
        },
        "type_specific_fields": {
          "parent": {
            "type": "contract",
            "name": "DepositFeed",
            "source_mapping": {
              "start": 86,
              "length": 1666,
              "filename_used": "./contracts/contracts/L1/DepositFeed.sol",
              "filename_relative": "contracts/L1/DepositFeed.sol",
              "filename_absolute": "./contracts/contracts/L1/DepositFeed.sol",
              "filename_short": "contracts/L1/DepositFeed.sol",
              "is_dependency": false,
              "lines": [
                7, 8, 9, 10, 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
              ],
              "starting_column": 1,
              "ending_column": 2
            }
          },
          "signature": "depositTransaction(address,uint256,uint256,bool,bytes)"
        }
      }
    ],
    "description": "Contract locking ether found:\n\tContract DepositFeed (contracts/L1/DepositFeed.sol#7-59) has payable functions:\n\t - DepositFeed.depositTransaction(address,uint256,uint256,bool,bytes) (contracts/L1/DepositFeed.sol#38-58)\n\tBut does not have a function to withdraw the ether\n",
    "markdown": "Contract locking ether found:\n\tContract [DepositFeed](contracts/L1/DepositFeed.sol#L7-L59) has payable functions:\n\t - [DepositFeed.depositTransaction(address,uint256,uint256,bool,bytes)](contracts/L1/DepositFeed.sol#L38-L58)\n\tBut does not have a function to withdraw the ether\n",
    "first_markdown_element": "contracts/L1/DepositFeed.sol#L7-L59",
    "id": "be013b000d4c176d4d893619bdca725d93e4761e4b2e22fa77a64144e53abb26",
    "check": "locked-ether",
    "impact": "Medium",
    "confidence": "High"
  },
  {
    "elements": [
      {
        "type": "function",
        "name": "proposeL2Output",
        "source_mapping": {
          "start": 1769,
          "length": 422,
          "filename_used": "./contracts/L1/MockL2OutputOracle.sol",
          "filename_relative": "contracts/L1/MockL2OutputOracle.sol",
          "filename_absolute": "./contracts/L1/MockL2OutputOracle.sol",
          "filename_short": "contracts/L1/MockL2OutputOracle.sol",
          "is_dependency": false,
          "lines": [45, 46, 47, 48, 49, 50, 51],
          "starting_column": 5,
          "ending_column": 6
        },
        "type_specific_fields": {
          "parent": {
            "type": "contract",
            "name": "MockL2OutputOracle",
            "source_mapping": {
              "start": 95,
              "length": 2773,
              "filename_used": "./contracts/L1/MockL2OutputOracle.sol",
              "filename_relative": "contracts/L1/MockL2OutputOracle.sol",
              "filename_absolute": "./contracts/L1/MockL2OutputOracle.sol",
              "filename_short": "contracts/L1/MockL2OutputOracle.sol",
              "is_dependency": false,
              "lines": [
                7, 8, 9, 10, 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
              ],
              "starting_column": 1,
              "ending_column": 2
            }
          },
          "signature": "proposeL2Output(bytes32,uint256)"
        }
      },
      {
        "type": "node",
        "name": "require(bool,string)(_timestamp == nextTimestamp(),Timestamp not equal to next expected timestamp)",
        "source_mapping": {
          "start": 2010,
          "length": 88,
          "filename_used": "./contracts/L1/MockL2OutputOracle.sol",
          "filename_relative": "contracts/L1/MockL2OutputOracle.sol",
          "filename_absolute": "./contracts/L1/MockL2OutputOracle.sol",
          "filename_short": "contracts/L1/MockL2OutputOracle.sol",
          "is_dependency": false,
          "lines": [48],
          "starting_column": 9,
          "ending_column": 97
        },
        "type_specific_fields": {
          "parent": {
            "type": "function",
            "name": "proposeL2Output",
            "source_mapping": {
              "start": 1769,
              "length": 422,
              "filename_used": "./contracts/L1/MockL2OutputOracle.sol",
              "filename_relative": "contracts/L1/MockL2OutputOracle.sol",
              "filename_absolute": "./contracts/L1/MockL2OutputOracle.sol",
              "filename_short": "contracts/L1/MockL2OutputOracle.sol",
              "is_dependency": false,
              "lines": [45, 46, 47, 48, 49, 50, 51],
              "starting_column": 5,
              "ending_column": 6
            },
            "type_specific_fields": {
              "parent": {
                "type": "contract",
                "name": "MockL2OutputOracle",
                "source_mapping": {
                  "start": 95,
                  "length": 2773,
                  "filename_used": "./contracts/L1/MockL2OutputOracle.sol",
                  "filename_relative": "contracts/L1/MockL2OutputOracle.sol",
                  "filename_absolute": "./contracts/L1/MockL2OutputOracle.sol",
                  "filename_short": "contracts/L1/MockL2OutputOracle.sol",
                  "is_dependency": false,
                  "lines": [
                    7, 8, 9, 10, 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
                  ],
                  "starting_column": 1,
                  "ending_column": 2
                }
              },
              "signature": "proposeL2Output(bytes32,uint256)"
            }
          }
        }
      }
    ],
    "description": "MockL2OutputOracle.proposeL2Output(bytes32,uint256) (contracts/L1/MockL2OutputOracle.sol#45-51) uses a dangerous strict equality:\n\t- require(bool,string)(_timestamp == nextTimestamp(),Timestamp not equal to next expected timestamp) (contracts/L1/MockL2OutputOracle.sol#48)\n",
    "markdown": "[MockL2OutputOracle.proposeL2Output(bytes32,uint256)](contracts/L1/MockL2OutputOracle.sol#L45-L51) uses a dangerous strict equality:\n\t- [require(bool,string)(_timestamp == nextTimestamp(),Timestamp not equal to next expected timestamp)](contracts/L1/MockL2OutputOracle.sol#L48)\n",
    "first_markdown_element": "contracts/L1/MockL2OutputOracle.sol#L45-L51",
    "id": "74ee9955ede80e105221045625f8b4f963a0ca8422674891166ad65bdcdba57a",
    "check": "incorrect-equality",
    "impact": "Medium",
    "confidence": "High"
  },
  {
    "elements": [
      {
        "type": "function",
        "name": "slitherConstructorConstantVariables",
        "source_mapping": {
          "start": 86,
          "length": 1666,
          "filename_used": "./contracts/L1/DepositFeed.sol",
          "filename_relative": "contracts/L1/DepositFeed.sol",
          "filename_absolute": "./contracts/L1/DepositFeed.sol",
          "filename_short": "contracts/L1/DepositFeed.sol",
          "is_dependency": false,
          "lines": [
            7, 8, 9, 10, 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
          ],
          "starting_column": 1,
          "ending_column": 2
        },
        "type_specific_fields": {
          "parent": {
            "type": "contract",
            "name": "DepositFeed",
            "source_mapping": {
              "start": 86,
              "length": 1666,
              "filename_used": "./contracts/L1/DepositFeed.sol",
              "filename_relative": "contracts/L1/DepositFeed.sol",
              "filename_absolute": "./contracts/L1/DepositFeed.sol",
              "filename_short": "contracts/L1/DepositFeed.sol",
              "is_dependency": false,
              "lines": [
                7, 8, 9, 10, 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
              ],
              "starting_column": 1,
              "ending_column": 2
            }
          },
          "signature": "slitherConstructorConstantVariables()"
        }
      },
      {
        "type": "node",
        "name": "OFFSET = uint160(0x1111000000000000000000000000000000001111)",
        "source_mapping": {
          "start": 284,
          "length": 85,
          "filename_used": "./contracts/L1/DepositFeed.sol",
          "filename_relative": "contracts/L1/DepositFeed.sol",
          "filename_absolute": "./contracts/L1/DepositFeed.sol",
          "filename_short": "contracts/L1/DepositFeed.sol",
          "is_dependency": false,
          "lines": [14],
          "starting_column": 5,
          "ending_column": 90
        },
        "type_specific_fields": {
          "parent": {
            "type": "function",
            "name": "slitherConstructorConstantVariables",
            "source_mapping": {
              "start": 86,
              "length": 1666,
              "filename_used": "./contracts/L1/DepositFeed.sol",
              "filename_relative": "contracts/L1/DepositFeed.sol",
              "filename_absolute": "./contracts/L1/DepositFeed.sol",
              "filename_short": "contracts/L1/DepositFeed.sol",
              "is_dependency": false,
              "lines": [
                7, 8, 9, 10, 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
              ],
              "starting_column": 1,
              "ending_column": 2
            },
            "type_specific_fields": {
              "parent": {
                "type": "contract",
                "name": "DepositFeed",
                "source_mapping": {
                  "start": 86,
                  "length": 1666,
                  "filename_used": "./contracts/L1/DepositFeed.sol",
                  "filename_relative": "contracts/L1/DepositFeed.sol",
                  "filename_absolute": "./contracts/L1/DepositFeed.sol",
                  "filename_short": "contracts/L1/DepositFeed.sol",
                  "is_dependency": false,
                  "lines": [
                    7, 8, 9, 10, 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
                  ],
                  "starting_column": 1,
                  "ending_column": 2
                }
              },
              "signature": "slitherConstructorConstantVariables()"
            }
          }
        }
      }
    ],
    "description": "DepositFeed.slitherConstructorConstantVariables() (contracts/L1/DepositFeed.sol#7-59) uses literals with too many digits:\n\t- OFFSET = uint160(0x1111000000000000000000000000000000001111) (contracts/L1/DepositFeed.sol#14)\n",
    "markdown": "[DepositFeed.slitherConstructorConstantVariables()](contracts/L1/DepositFeed.sol#L7-L59) uses literals with too many digits:\n\t- [OFFSET = uint160(0x1111000000000000000000000000000000001111)](contracts/L1/DepositFeed.sol#L14)\n",
    "first_markdown_element": "contracts/L1/DepositFeed.sol#L7-L59",
    "id": "14adc89c437b961183112ca2328ae0e07b627d12995c5555d2c2fca5d4dbe1aa",
    "check": "too-many-digits",
    "impact": "Informational",
    "confidence": "Medium"
  }
]
