Permission Manager module for core permissioning functionality (GeneralPermissionManager.sol)
View Source: contracts/modules/PermissionManager/GeneralPermissionManager.sol
↗ Extends: GeneralPermissionManagerStorage, IPermissionManager, Module
GeneralPermissionManager
Events
Functions
constructor
Arguments
Name | Type | Description |
_securityToken | address | |
_polyToken | address |
getInitFunction
⤾ overrides IModule.getInitFunction
Init function i.e generalise function to maintain the structure of the module contract
Returns
bytes4
Arguments
Name | Type | Description |
checkPermission
⤾ overrides IPermissionManager.checkPermission
Used to check the permission on delegate corresponds to module contract address
Returns
bool
Arguments
Name | Type | Description |
_delegate | address | Ethereum address of the delegate |
_module | address | Ethereum contract address of the module |
_perm | bytes32 | Permission flag |
addDelegate
⤾ overrides IPermissionManager.addDelegate
Used to add a delegate
Arguments
Name | Type | Description |
_delegate | address | Ethereum address of the delegate |
_details | bytes32 | Details about the delegate i.e |
deleteDelegate
⤾ overrides IPermissionManager.deleteDelegate
Used to delete a delegate
Arguments
Name | Type | Description |
_delegate | address | Ethereum address of the delegate |
checkDelegate
⤾ overrides IPermissionManager.checkDelegate
Used to check if an address is a delegate or not
Returns
bool
Arguments
Name | Type | Description |
_potentialDelegate | address | the address of potential delegate |
changePermission
⤾ overrides IPermissionManager.changePermission
Used to provide/change the permission to the delegate corresponds to the module contract
Returns
bool
Arguments
Name | Type | Description |
_delegate | address | Ethereum address of the delegate |
_module | address | Ethereum contract address of the module |
_perm | bytes32 | Permission flag |
_valid | bool | Bool flag use to switch on/off the permission |
changePermissionMulti
⤾ overrides IPermissionManager.changePermissionMulti
Used to change one or more permissions for a single delegate at once
Returns
nothing
Arguments
Name | Type | Description |
_delegate | address | Ethereum address of the delegate |
_modules | address[] | Multiple module matching the multiperms, needs to be same length |
_perms | bytes32[] | Multiple permission flag needs to be changed |
_valids | bool[] | Bool array consist the flag to switch on/off the permission |
getAllDelegatesWithPerm
⤾ overrides IPermissionManager.getAllDelegatesWithPerm
Used to return all delegates with a given permission and module
Returns
address[]
Arguments
Name | Type | Description |
_module | address | Ethereum contract address of the module |
_perm | bytes32 | Permission flag |
getAllModulesAndPermsFromTypes
⤾ overrides IPermissionManager.getAllModulesAndPermsFromTypes
Used to return all permission of a single or multiple module
Returns
address[] the address array of Modules this delegate has permission
Arguments
Name | Type | Description |
_delegate | address | Ethereum address of the delegate |
_types | uint8[] | uint8[] of types |
_changePermission
Used to provide/change the permission to the delegate corresponds to the module contract
Returns
bool
Arguments
Name | Type | Description |
_delegate | address | Ethereum address of the delegate |
_module | address | Ethereum contract address of the module |
_perm | bytes32 | Permission flag |
_valid | bool | Bool flag use to switch on/off the permission |
getAllDelegates
⤾ overrides IPermissionManager.getAllDelegates
Used to get all delegates
Returns
address[]
Arguments
Name | Type | Description |
getPermissions
⤾ overrides IModule.getPermissions
Returns the Permission flag related the this
contract
Returns
Array of permission flags
Arguments
Name | Type | Description |
Last updated