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?