Updatable, unobtrusive Solidity authorization pattern
|
10 months ago | |
---|---|---|
lib | 10 months ago | |
src | 1 year ago | |
.gitignore | 5 years ago | |
.gitmodules | 5 years ago | |
Dappfile | 5 years ago | |
LICENSE | 4 years ago | |
Makefile | 5 years ago | |
README.md | 4 years ago | |
default.nix | 4 years ago |
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:
owner
;authority
.function myProtectedFunction() auth {}
setOwner(address owner_)
Set a new owner
(requires auth)
setAuthority(DSAuthority authority_)
Set a new authority
(requires auth)