Diamond

[github] [etherscan] [louper]

Main protocol contract that follows ERC-2535 diamond proxy pattern.

Diamond facets

Set of contracts that are part of the Diamond. Facet contracts must always be called via the Diamond proxy contract.

AccessControlFacet

Responsible for managing protocol roles.

[github] [etherscan]

DiamondCutFacet

Allows editing Diamond contract facets and methods.

[github] [etherscan]

DiamondLoupeFacet

Allows to inspect available methods in the Diamond. Really useful for 3rd party services that are able to work with ERC-2535 proxies like https://louper.dev. Notice that https://etherscan.io doesn't support working with Diamond proxies yet.

[github] [etherscan]

ManagerFacet

Sets core protocol parameters.

[github] [etherscan]

OwnershipFacet

Sets protocol owner.

[github] [etherscan]