Git Source
bytes32 constant DIAMOND_STORAGE_POSITION = keccak256("diamond.standard.diamond.storage");
function diamondStorage() internal pure returns (DiamondStorage storage ds);
function setContractOwner(address _newOwner) internal;
function transferContractOwner() internal;
function contractOwner() internal view returns (address contractOwner_);
function pendingOwner() internal view returns (address pendingOwner_);
function enforceIsContractOwner() internal view;
function enforceIsPendingOwner() internal view;
function startTransferOwnership(address newOwner) internal;
function diamondCut(IDiamondCut.FacetCut[] memory _diamondCut, address _init, bytes memory _calldata) internal;
function addFunctions(address _facetAddress, bytes4[] memory _functionSelectors) internal;
function replaceFunctions(address _facetAddress, bytes4[] memory _functionSelectors) internal;
function removeFunctions(address _facetAddress, bytes4[] memory _functionSelectors) internal;
function initializeDiamondCut(address _init, bytes memory _calldata) internal;
function enforceHasContractCode(address _contract, string memory _errorMessage) internal view;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
event OwnershipTransferStarted(address indexed owner, address indexed pendingOwner);
event DiamondCut(IDiamondCut.FacetCut[] _diamondCut, address _init, bytes _calldata);
struct FacetAddressAndSelectorPosition {
address facetAddress;
uint16 selectorPosition;
}
struct DiamondStorage {
mapping(bytes4 => FacetAddressAndSelectorPosition) facetAddressAndSelectorPosition;
bytes4[] selectors;
mapping(bytes4 => bool) supportedInterfaces;
address contractOwner;
address pendingOwner;
}