Skip to main content

Owner Data Facet

@perfect-abstractions/compose/access/Owner/Data/OwnerDataFacet.sol

Read-only Owner data access for diamonds

Key Features
  • Exposes the contract owner via external owner().
  • Shares OwnerStorage at erc8042:erc173.owner with OwnerDataMod and other Ownership facets.
  • Read-Only facet

Storage

State Variables

PropertyTypeDescription
STORAGE_POSITIONbytes32Owner storage position within the diamond (Value: keccak256("erc173.owner"))

OwnerStorage

Definition
/** storage-location: erc8042:erc173.owner */
struct OwnerStorage {
address owner;
}

Functions

owner

Returns the address of the diamond owner

function owner() external view returns (address);

Returns:

PropertyTypeDescription
-addressThe current owner, or address(0) if unset or renounced.

Best Practices

  • Transfer ownership with a facet that uses OwnerDataMod (for example OwnerTransferFacet) so owner() always reflects the real owner.
  • Avoid defining a second facet that writes to a different owner slot; keep all -owner state at erc173.owner
  • Use setContractOwner() in OwnerDataMod to initialize the owner when constructing your diamond.
Last updated:

Newsletter

Get notified about releases, feature announcements, and technical deep-dives on building smart contracts with Compose.

No spam. Unsubscribe anytime.