@perfect-abstractions/compose/access/Owner/TwoSteps/Transfer/OwnerTwoStepTransferMod.solHelpers for the two step handoff ownership for your diamonds
transferOwnership; the nominated address calls acceptOwnership to finalize (unlike single-step OwnerTransferMod).Helpers modules for composing the library logic into your own facets. See Facets & Modules for more information.
OWNER_STORAGE_POSITIONbytes32keccak256("erc173.owner"))PENDING_OWNER_STORAGE_POSITIONbytes32keccak256("erc173.owner.pending"))Returns a storage pointer to OwnerStorage.
Returns:
sOwnerStorage storageReturns a storage pointer to PendingOwnerStorage.
Returns:
sPendingOwnerStorage storageRequires msg.sender == owner; otherwise reverts OwnerUnauthorizedAccount. Sets pendingOwner to _newOwner and emits OwnershipTransferStarted(owner, _newOwner). Does not change owner until acceptOwnership.
Parameters:
_newOwneraddressacceptOwnership to become owner.Requires msg.sender == pendingOwner; otherwise reverts OwnerUnauthorizedAccount. Assigns owner to the pending address, clears pendingOwner, and emits OwnershipTransferred(previousOwner, newOwner).
transferOwnership and acceptOwnership only through trusted external facet entrypoints; confirm _newOwner before initiating.OwnerStorage / PendingOwnerStorage layout as Owner Two Step Transfer Facet and Owner Two Step Data Moduleowner is shared with OwnerDataMod and single-step owner code at keccak256("erc173.owner").