Skip to main content
Based on EIP-2535: Diamonds (https://eips.ethereum.org/EIPS/eip-2535) Follows diamond-3 implementation (https://github.com/mudgen/diamond-3-hardhat/) Returns useful information about the diamond and its facets.

facets

function facets() external view returns (struct IGNSDiamondLoupe.Facet[] facets_)
Gets all facets and their selectors.

Return Values

NameTypeDescription
facets_IGNSDiamondLoupe.Facet[]Facet

facetFunctionSelectors

function facetFunctionSelectors(address _facet) external view returns (bytes4[] facetFunctionSelectors_)
Gets all the function selectors provided by a facet.

Parameters

NameTypeDescription
_facetaddressThe facet address.

Return Values

NameTypeDescription
facetFunctionSelectors_bytes4[]the function selectors.

facetAddresses

function facetAddresses() external view returns (address[] facetAddresses_)
Get all the facet addresses used by a diamond.

Return Values

NameTypeDescription
facetAddresses_address[]the facet addresses

facetAddress

function facetAddress(bytes4 _functionSelector) external view returns (address facetAddress_)
Gets the facet that supports the given selector. If facet is not found return address(0).

Parameters

NameTypeDescription
_functionSelectorbytes4The function selector.

Return Values

NameTypeDescription
facetAddress_addressThe facet address.