CoreInternals
Inherits:StorageRead, Events, Error
State Variables
_ADMIN_SLOT
Storage slot with the admin of the contract. This is the keccak-256 hash of "eip1967.proxy.admin" subtracted by 1, and is validated in the constructor.
bytes32 internal constant _ADMIN_SLOT = 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103;
_DUMMY_IMPLEMENTATION_SLOT
Storage slot with the address of the current dummy-implementation. This is the keccak-256 hash of "eip1967.proxy.implementation" subtracted by 1, and is validated in the constructor.
bytes32 internal constant _DUMMY_IMPLEMENTATION_SLOT =
0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;
_SIG_SLOT_BASE
use EIP1967 proxy slot (see _DUMMY_IMPLEMENTATION_SLOT) except for first 4 bytes,
bytes32 internal constant _SIG_SLOT_BASE = 0x000000003ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;
Functions
_getSlotImplSigsSlot
Returns the storage slot which stores the sigs array set for the implementation.
function _getSlotImplSigsSlot(address implementation_) internal pure returns (bytes32);
_getSlotSigsImplSlot
Returns the storage slot which stores the implementation address for the function sig.
function _getSlotSigsImplSlot(bytes4 sig_) internal pure returns (bytes32 result_);
_getAddressSlot
Returns an address data_
located at slot_
.
function _getAddressSlot(bytes32 slot_) internal view returns (address data_);
_setAddressSlot
Sets an address data_
located at slot_
.
function _setAddressSlot(bytes32 slot_, address data_) internal;
_getSigsSlot
Returns an SigsSlot
with member value
located at slot
.
function _getSigsSlot(bytes32 slot_) internal pure returns (SigsSlot storage _r);
_setImplementationSigs
Sets new implementation and adds mapping from implementation to sigs and sig to implementation.
function _setImplementationSigs(address implementation_, bytes4[] memory sigs_) internal;
_removeImplementationSigs
Removes implementation and the mappings corresponding to it.
function _removeImplementationSigs(address implementation_) internal;
_getImplementationSigs
Returns bytes4 sigs from implementation address. If implemenatation is not registered then returns empty array.
function _getImplementationSigs(address implementation_) internal view returns (bytes4[] memory);
_getSigImplementation
Returns implementation address from bytes4 sig. If sig is not registered then returns address(0).
function _getSigImplementation(bytes4 sig_) internal view returns (address implementation_);
_getAdmin
Returns the current admin.
function _getAdmin() internal view returns (address);
_getDummyImplementation
Returns the current dummy-implementation.
function _getDummyImplementation() internal view returns (address);
_setAdmin
Stores a new address in the EIP1967 admin slot.
function _setAdmin(address newAdmin_) internal;
_setDummyImplementation
Stores a new address in the EIP1967 implementation slot.
function _setDummyImplementation(address newDummyImplementation_) internal;
Structs
SigsSlot
struct SigsSlot {
bytes4[] value;
}