VersionedInitializable
Author: Aave, inspired by the OpenZeppelin Initializable contract
Helper contract to implement initializer functions. To use it, replace the constructor with a function that has the initializer
modifier.
WARNING: Unlike constructors, initializer functions must be manually invoked. This applies both to deploying an Initializable contract, as well as extending an Initializable contract via inheritance. WARNING: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or ensure that all initializers are idempotent, because this is not dealt with automatically as with constructors.
State Variables
INITIALIZABLE_STORAGE
bytes32 private constant INITIALIZABLE_STORAGE = 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00;
__gap
uint256[50] private ______gap;
Functions
initializer
Modifier to use in the initializer function of a contract.
modifier initializer();
onlyInitializing
Modifier to use when a function is restricted to the initialization phase.
modifier onlyInitializing();
getRevision
Returns the revision number of the contract
Needs to be defined in the inherited class as a constant.
function getRevision() public pure virtual returns (uint256);
Returns
<none>
uint256
The revision number
isConstructor
Returns true if and only if the function is running in the constructor
function isConstructor() private view returns (bool);
Returns
<none>
bool
True if the function is running in the constructor
_getInitializableStorage
function _getInitializableStorage() private pure returns (VersionedInitializableStorage storage $);
_getLastInitializedRevision
function _getLastInitializedRevision() internal view returns (uint256);
_getInitializing
function _getInitializing() internal view returns (bool);
Structs
VersionedInitializableStorage
Indicates that the contract has been initialized.
struct VersionedInitializableStorage {
uint256 lastInitializedRevision;
bool initializing;
}
Last updated