diff --git a/eth-contracts/contracts/InitializableV2.sol b/eth-contracts/contracts/InitializableV2.sol index a6186012397..a047ba91b0f 100644 --- a/eth-contracts/contracts/InitializableV2.sol +++ b/eth-contracts/contracts/InitializableV2.sol @@ -13,16 +13,27 @@ contract InitializableV2 is Initializable { bool private isInitialized; string private constant ERROR_NOT_INITIALIZED = "InitializableV2: Not initialized"; - string private constant ERROR_ALREADY_INITIALIZED = "InitializableV2: Already initialized"; + /** + * @notice wrapper function around parent contract Initializable's `initializable` modifier + * initializable modifier ensures this function can only be called once by each deployed child contract + * sets isInitialized flag to true to which is used by _requireIsInitialized() + */ function initialize() public initializer { isInitialized = true; } + /** + * @notice Reverts transaction if isInitialized is false. Used by child contracts to ensure + * contract is initialized before functions can be called. + */ function _requireIsInitialized() internal view { require(isInitialized == true, ERROR_NOT_INITIALIZED); } + /** + * @notice Exposes isInitialized bool var to child contracts with read-only access + */ function _isInitialized() internal view returns (bool) { return isInitialized; }