Types
IDiamondStorage
Based on EIP-2535: Diamonds (https://eips.ethereum.org/EIPS/eip-2535) Follows diamond-3 implementation (https://github.com/mudgen/diamond-3-hardhat/) Contains the types used in the diamond management contracts.
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
struct DiamondStorage {
mapping(bytes4 => struct IDiamondStorage.FacetAddressAndPosition) selectorToFacetAndPosition;
mapping(address => struct IDiamondStorage.FacetFunctionSelectors) facetFunctionSelectors;
address[] facetAddresses;
address[47] __gap;
}
struct FacetAddressAndPosition {
address facetAddress;
uint96 functionSelectorPosition;
}
struct FacetFunctionSelectors {
bytes4[] functionSelectors;
uint256 facetAddressPosition;
}
enum FacetCutAction {
ADD,
REPLACE,
REMOVE,
NOP
}
struct FacetCut {
address facetAddress;
enum IDiamondStorage.FacetCutAction action;
bytes4[] functionSelectors;
}
