Ownership

Contract modules for simple authorization and access control mechanisms.

For more complex needs see xref:access.adoc.

Contracts

Ownable

Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions.

This module is used through inheritance. It will make available the modifier onlyOwner, which can be applied to your functions to restrict their use to the owner.

Modifiers

onlyOwner()

Throws if called by any account other than the owner.

constructor()

Initializes the contract setting the deployer as the initial owner.

owner() → address

Returns the address of the current owner.

isOwner() → bool

Returns true if the caller is the current owner.

renounceOwnership()

Leaves the contract without owner. It will not be possible to call onlyOwner functions anymore. Can only be called by the current owner.

Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.

transferOwnership(address newOwner)

Transfers ownership of the contract to a new account (newOwner). Can only be called by the current owner.

_transferOwnership(address newOwner)

Transfers ownership of the contract to a new account (newOwner).

OwnershipTransferred(address previousOwner, address newOwner)

Secondary

A Secondary contract can only be used by its primary account (the one that created it).

Modifiers

onlyPrimary()

Reverts if called from any account other than the primary.

constructor()

Sets the primary account to the one that is creating the Secondary contract.

primary() → address

transferPrimary(address recipient)

Transfers contract to a new primary.

PrimaryTransferred(address recipient)

Emitted when the primary contract changes.