Owner Data Facet
Read-only ERC-173 owner data access for diamonds
Key Features
- Exposes the contract owner via external
owner()(ERC-173). - Shares
OwnerStorageaterc8042:erc173.ownerwithOwnerDataModand other owner facets. - No state-changing functions; initialization and ownership changes use other facets or the module.
Storage
State Variables
| Property | Type | Description |
|---|---|---|
STORAGE_POSITION | bytes32 | Owner storage position within the diamond (Value: keccak256("erc173.owner")) |
OwnerStorage
Functions
owner
Returns the address stored in OwnerStorage.owner.
Returns:
| Property | Type | Description |
|---|---|---|
- | address | The current owner, or address(0) if unset or renounced. |
Best Practices
- Initialize or transfer ownership with a facet that uses
OwnerDataMod(for exampleOwnerTransferFacet) soowner()reflects the real owner before relying on this facet in production. - Register this facet with the diamond using
exportSelectors()soowner()is routed correctly after cuts or upgrades. - Avoid defining a second facet that writes to a different owner slot; keep all owner state at
erc173.owner.
Was this helpful?
Last updated: