Fully updatable unobtrusive auth
Provides a flexible and updatable auth pattern which is completely separate
from application logic. By default, the auth
modifier will restrict
function-call access to the including contract owner and the including
contract itself.
In addition, fine-grained function access can be controlled by specifying an
authority
- a contract which implements the DSAuthority
interface to define
custom access permissions.
Dappsys provides a couple of ready-made authority contracts, ds-guard and ds-roles, which can be used as authorities where updatable fine-grained permissioned auth is required.
The auth
modifier provided by DSAuth triggers the internal isAuthorized
function to require that the msg.sender
is authorized ie. the sender is either:
- the contract
owner
; - the contract itself;
- or has been granted permission via a specified
authority
.
function myProtectedFunction() auth {}
Set a new owner
(requires auth)
Set a new authority
(requires auth)