Initializable

Git Source

Inherits: IInitializable

This contract is expected to be the first and default implementation of a Proxy, so that any Proxy can have a constant constructor (and thus proxied implementation), despite remaining completely transparency, which is very helpful to allow consistency in address determinism regardless the final intended proxied implementation address. Thus, no Proxy should be left in a state of proxying this contract.

State Variables

_IMPLEMENTATION_SLOT

Storage slot with the address of the current implementation. keccak256('eip1967.proxy.implementation') - 1.

uint256 private constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;

Functions

initialize

Initializes the contract with respect to the implementation.

function initialize(address implementation_, bytes calldata initializeCallData_) external;

Parameters

NameTypeDescription
implementation_addressThe address of the implementation.
initializeCallData_bytesThe data to initialize the proxy with, with respect to the implementation.