Skip to main content

IDiamondLoupe

IDiamondLoupe

Facet

struct Facet {
address facetAddress;
bytes4[] functionSelectors;
}

facets

function facets() external view returns (struct IDiamondLoupe.Facet[] facets_)

Gets all facet addresses and their four byte function selectors.

Return Values

NameTypeDescription
facets_struct IDiamondLoupe.Facet[]Facet

facetFunctionSelectors

function facetFunctionSelectors(address _facet) external view returns (bytes4[] facetFunctionSelectors_)

Gets all the function selectors supported by a specific facet.

Parameters

NameTypeDescription
_facetaddressThe facet address.

Return Values

NameTypeDescription
facetFunctionSelectors_bytes4[]

facetAddresses

function facetAddresses() external view returns (address[] facetAddresses_)

Get all the facet addresses used by a diamond.

Return Values

NameTypeDescription
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

NameTypeDescription
_functionSelectorbytes4The function selector.

Return Values

NameTypeDescription
facetAddress_addressThe facet address.

facetResolveGlobalAddress

function facetResolveGlobalAddress(bytes20 _facetId, 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
_facetIdbytes20The facetId to resolve with.
_functionSelectorbytes4The function selector.

Return Values

NameTypeDescription
facetAddress_addressThe facet address.

facetResolveGlobalAddress

function facetResolveGlobalAddress(bytes20[] _facetIds, 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
_facetIdsbytes20[]The facetIds to resolve with.
_functionSelectorbytes4The function selector.

Return Values

NameTypeDescription
facetAddress_addressThe facet address.

facetIdsFromAddresses

function facetIdsFromAddresses(address[] _facets) external view returns (bytes20[])

supportsInterface

function supportsInterface(bytes4 _interfaceId) external view returns (bool)