IGNSDiamondLoupe
Based on EIP-2535: Diamonds (https://eips.ethereum.org/EIPS/eip-2535) Follows diamond-3 implementation (https://github.com/mudgen/diamond-3-hardhat/) One of the diamond standard interfaces, used to inspect the diamond like a magnifying glass.
Facet
These functions are expected to be called frequently by tools.
struct Facet {
address facetAddress;
bytes4[] functionSelectors;
}
facets
function facets() external view returns (struct IGNSDiamondLoupe.Facet[] facets_)
Gets all facet addresses and their four byte function selectors.
Return Values
facetFunctionSelectors
function facetFunctionSelectors(address _facet) external view returns (bytes4[] facetFunctionSelectors_)
Gets all the function selectors supported by a specific facet.
Parameters
_facet
address
The facet address.
Return Values
facetFunctionSelectors_
bytes4[]
facetAddresses
function facetAddresses() external view returns (address[] facetAddresses_)
Get all the facet addresses used by a diamond.
Return Values
facetAddresses_
address[]
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
_functionSelector
bytes4
The function selector.
Return Values
facetAddress_
address
The facet address.
Last updated
Was this helpful?