interface Upgradeable {


  /// @notice  Sets a flag in the contract that reverts all calls to it
  function setDeprecated(bool value) external;

}
/// @notice  Inherited by any contract that is upgradeable.
///
/// @dev     We currently have this method as a safety measure in case we are
///          still referencing an old contract somewhere in the system. We call
///          call this which turns on a flag that forces all calls to revert.
///
///          I now think it may be overkill and a waste to have this on every contract
///          public function, it should only be on the public-facing open functions
///          that the users are interacting with - in case our web-app is pointing
///          to the wrong PortfolioManager still. Internally, it shouldn't it be needed
///          assuming we didn't forget to set the references...my only reason to remove
///          it from most of the contracts is it costs a ton of extra gas - leaving it
///          for now since ToB said it's a good safety measure.
function setDeprecated(bool value) external;

/// @notice  Sets a flag in the contract that reverts all calls to it