Permission Manager module for core permissioning functionality (GeneralPermissionManager.sol)
View Source: contracts/modules/PermissionManager/GeneralPermissionManager.sol
↗ Extends: GeneralPermissionManagerStorage, IPermissionManager, Module
GeneralPermissionManager
Events
event ChangePermission(address indexed _delegate, address _module, bytes32 _perm, bool _valid);
event AddDelegate(address indexed _delegate, bytes32 _details);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 Belongs to financial firm
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
Was this helpful?