Skip to content

PermissionLib ​

Library · src/common/permission/PermissionLib.sol

Explained in: The permission system

Author: Aragon X - 2021-2023

A library containing objects for permission processing.

security-contact: sirt@aragon.org

Constants ​

Public, so each is also readable through a generated getter.

NO_CONDITION ​

solidity
address public constant NO_CONDITION = address(0);

A constant expressing that no condition is applied to a permission.

Enums ​

Operation ​

solidity
enum Operation {
    Grant,
    Revoke,
    GrantWithCondition
}
OptionValue
Grant0
Revoke1
GrantWithCondition2

Structs ​

MultiTargetPermission ​

solidity
struct MultiTargetPermission {
    PermissionLib.Operation operation;
    address where;
    address who;
    address condition;
    bytes32 permissionId;
}
FieldTypeDescription
operationPermissionLib.Operation
whereaddress
whoaddress
conditionaddress
permissionIdbytes32

SingleTargetPermission ​

solidity
struct SingleTargetPermission {
    PermissionLib.Operation operation;
    address who;
    bytes32 permissionId;
}
FieldTypeDescription
operationPermissionLib.Operation
whoaddress
permissionIdbytes32