Skip to content

Solidity API

DiamondLoupeFacet

This contract provides functions to inspect the facets of a diamond

Implements EIP-2535 Diamond standard's loupe functions

constructor

solidity
constructor() public

Sets the trusted forwarder to address(0)

Constructor that initializes the ERC2771Context with a trusted forwarder

facets

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

Gets all facets and their selectors

Iterates through all facet addresses and retrieves their function selectors

Return Values

NameTypeDescription
facets_struct IDiamondLoupe.Facet[]An array of Facet structs containing facet addresses and their function selectors

facetFunctionSelectors

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

Gets all the function selectors provided by a facet

Retrieves the function selectors for a given facet address

Parameters

NameTypeDescription
_facetaddressThe facet address

Return Values

NameTypeDescription
facetFunctionSelectors_bytes4[]An array of function selectors supported by the facet

facetAddresses

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

Get all the facet addresses used by a diamond

Retrieves the list of all facet addresses

Return Values

NameTypeDescription
facetAddresses_address[]An array of facet addresses

facetAddress

solidity
function facetAddress(bytes4 _functionSelector) external view returns (address facetAddress_)

Gets the facet that supports the given selector

If facet is not found, returns address(0)

Parameters

NameTypeDescription
_functionSelectorbytes4The function selector

Return Values

NameTypeDescription
facetAddress_addressThe facet address that supports the given selector

_msgSender

solidity
function _msgSender() internal view virtual returns (address sender)

Internal function to get the sender address

_Overrides ERC2771Context's msgSender() for compatibility

Return Values

NameTypeDescription
senderaddressThe address of the message sender

_msgData

solidity
function _msgData() internal view virtual returns (bytes)

Internal function to get the message data

_Overrides ERC2771Context's msgData() for compatibility

Return Values

NameTypeDescription
[0]bytesThe calldata of the message