Interface to be implemented by all permission manager modules (IPermissionManager.sol)

View Source: contracts/modules/PermissionManager/IPermissionManager.sol

↘ Derived Contracts: GeneralPermissionManager

IPermissionManager

Functions

checkPermission

⤿ Overridden Implementation(s): GeneralPermissionManager.checkPermission

Used to check the permission on delegate corresponds to module contract address

function checkPermission(address _delegate, address _module, bytes32 _perm) external view
returns(bool)

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

⤿ Overridden Implementation(s): GeneralPermissionManager.addDelegate

Used to add a delegate

function addDelegate(address _delegate, bytes32 _details) external nonpayable

Arguments

Name

Type

Description

_delegate

address

Ethereum address of the delegate

_details

bytes32

Details about the delegate i.e Belongs to financial firm

deleteDelegate

⤿ Overridden Implementation(s): GeneralPermissionManager.deleteDelegate

Used to delete a delegate

function deleteDelegate(address _delegate) external nonpayable

Arguments

Name

Type

Description

_delegate

address

Ethereum address of the delegate

checkDelegate

⤿ Overridden Implementation(s): GeneralPermissionManager.checkDelegate

Used to check if an address is a delegate or not

function checkDelegate(address _potentialDelegate) external view
returns(bool)

Returns

bool

Arguments

Name

Type

Description

_potentialDelegate

address

the address of potential delegate

changePermission

⤿ Overridden Implementation(s): GeneralPermissionManager.changePermission

Used to provide/change the permission to the delegate corresponds to the module contract

function changePermission(address _delegate, address _module, bytes32 _perm, bool _valid) external nonpayable

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

⤿ Overridden Implementation(s): GeneralPermissionManager.changePermissionMulti

Used to change one or more permissions for a single delegate at once

function changePermissionMulti(address _delegate, address[] _modules, bytes32[] _perms, bool[] _valids) external nonpayable

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

⤿ Overridden Implementation(s): GeneralPermissionManager.getAllDelegatesWithPerm

Used to return all delegates with a given permission and module

function getAllDelegatesWithPerm(address _module, bytes32 _perm) external view
returns(address[])

Returns

address[]

Arguments

Name

Type

Description

_module

address

Ethereum contract address of the module

_perm

bytes32

Permission flag

getAllModulesAndPermsFromTypes

⤿ Overridden Implementation(s): GeneralPermissionManager.getAllModulesAndPermsFromTypes

Used to return all permission of a single or multiple module

function getAllModulesAndPermsFromTypes(address _delegate, uint8[] _types) external view
returns(address[], bytes32[])

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

getPermissions

⤿ Overridden Implementation(s): BlacklistTransferManager.getPermissions,CappedSTO.getPermissions,CountTransferManager.getPermissions,DividendCheckpoint.getPermissions,DummySTO.getPermissions,GeneralPermissionManager.getPermissions,GeneralTransferManager.getPermissions,IModule.getPermissions,KYCTransferManager.getPermissions,LockUpTransferManager.getPermissions,ManualApprovalTransferManager.getPermissions,PercentageTransferManager.getPermissions,PLCRVotingCheckpoint.getPermissions,PreSaleSTO.getPermissions,ScheduledCheckpoint.getPermissions,SignedTransferManager.getPermissions,TrackedRedemption.getPermissions,USDTieredSTO.getPermissions,VestingEscrowWallet.getPermissions,VolumeRestrictionTM.getPermissions,WeightedVoteCheckpoint.getPermissions

Used to get the Permission flag related the this contract

function getPermissions() external view
returns(bytes32[])

Returns

Array of permission flags

Arguments

Name

Type

Description

getAllDelegates

⤿ Overridden Implementation(s): GeneralPermissionManager.getAllDelegates

Used to get all delegates

function getAllDelegates() external view
returns(address[])

Returns

address[]

Arguments

Name

Type

Description