{% hint style="warning" %}
You are referring to the Legacy
version of KyberSwap docs.
For the most updated information, please refer to:
Classic
Elastic
Limit Order
Aggregator
{% endhint %}
Source: PermissionGroups.sol
The PermissionGroups contract's maintains function modifiers that makes sure permission conditions are met before executing any proceeding body of code.
INDEX
<AUTOGENERATED_TABLE_OF_CONTENTS>
REFERENCE
Events
AdminClaimed
Event for logging of the change of admin address.
event AdminClaimed(address newAdmin, address previousAdmin) | Parameter | Type | Description | | --------------- |:-------:|:------------------------------:| | newAdmin
| address | address of the new admin | | previousAdmin
| address | address of the previous admin |\
AlerterAdded
Event for logging the addition of an address with alerter role.
event AlerterAdded(address newAlerter, bool isAdd) | Parameter | Type | Description | | ------------ |:-------:|:--------------------------------------------------------------------------:| | newAlerter
| address | address of the new alerter | | isAdd
| bool | if true
, new alerter was added, otherwise false
if alerter was removed |\
OperatorAdded
Event for logging the addition of an address with operator role.
event OperatorAdded(address newOperator, bool isAdd) | Parameter | Type | Description | | ------------- |:-------:|:----------------------------------------------------------------------------:| | newOperator
| address | address of the new operator | | isAdd
| bool | if true
, new operator was added, otherwise false
if operator was removed |
<br />
### `TransferAdminPending`
Event for logging for the transfer of the current admin address to the new address .
___
event __TransferAdminPending__(address pendingAdmin)
| Parameter | Type | Description |
| -------------- |:--------:|:----------------------------:|
| `pendingAdmin` | address | address of the pending admin |
<br />
### Modifiers
### `onlyAdmin`
Modifier that ensures only an address with admin role can execute a function.
modifier __onlyAdmin__()
___
invokable functions: [addToken](api_abi-conversionrates.md#addtoken), [setValidRateDurationInBlocks](api_abi-conversionrates.md#setvalidratedurationinblocks), [enableTokenTrade](api_abi-conversionrates.md#enabletokentrade), [setReserveAddress](api_abi-conversionrates.md#setreserveaddress), [setReserveData](api_abi-feeburner.md#setreservedata), [setWalletFees](api_abi-feeburner.md#setwalletfees), [setTaxInBps](api_abi-feeburner.md#settaxinbps), [setTaxWallet](api_abi-feeburner.md#settaxwallet), [setKNCRate](api_abi-feeburner.md#setkncrate), [addReserve](api_abi-kybernetwork.md#addreserve), [listPairForReserve](api_abi-kybernetwork.md#listpairforreserve), [setEnable](api_abi-kybernetwork.md#setenable), [enableTrade](api_abi-kyberreserve.md#enabletrade), [approveWithdrawAddress](api_abi-kyberreserve.md#approvewithdrawaddress), [setReasonableDiff](api_abi-sanityrates.md#setreasonablediff), [setTokenControlInfo](api_abi-volumeimbalancerecorder.md#settokencontrolinfo), [withdrawToken](api_abi-withdrawable.md#withdrawtoken), [withdrawEther](api_abi-withdrawable.md#withdrawether), [addAlerter](api_abi-permissiongroups.md#addalerter), [addOperator](api_abi-permissiongroups.md#addoperator), [removeAlerter](api_abi-permissiongroups.md#removealerter), [removeOperator](api_abi-permissiongroups.md#removeoperator), [transferAdmin](api_abi-permissiongroups.md#transferadmin), [transferAdminQuickly](api_abi-permissiongroups.md#transferadminquickly)
<br />
### `onlyAlerter`
Modifier that ensures only an address with alerter role can execute a function.
modifier __onlyAlerter__()
___
invokable functions: [disableTokenTrade](api_abi-conversionrates.md#disabletokentrade), [disableTrade](api_abi-kyberreserve.md#disabletrade)
<br />
### `onlyOperator`
Modifier that ensures only an address with operator role can execute a function.
modifier __onlyOperator__()
___
invokable functions: [setCompactData](api_abi-conversionrates.md#setcompactdata), [setBaseRate](api_abi-conversionrates.md#setbaserate), [setQtyStepFunction](api_abi-conversionrates.md#setqtystepfunction), [setImbalanceStepFunction](api_abi-conversionrates.md#setimbalancestepfunction), [setQuantityFactor](api_abi-expectedrate.md#setquantityfactor), [setMinSlippageFactor](api_abi-expectedrate.md#setminslippagefactor), [setInfo](api_abi-kybernetwork.md#setinfo), [withdraw](api_abi-kyberreserve.md#withdraw), [setSanityRates](api_abi-sanityrates.md#setsanityrates), [setUserCategory](api_abi-whitelist.md#setusercategory), [setCategoryCap](api_abi-whitelist.md#setcategorycap), [setSgdToEthRate](api_abi-whitelist.md#setsgdtoethrate)
<br />
### Functions
### `PermissionGroups`
Contract constructor. Note that constructor methods are called exactly once during contract instantiation and cannot be called again.
___
function __PermissionGroups__() public
<br />
### `addAlerter`
Adds a new address to the list of alerters
___
function __addAlerter__(address newAlerter) public
| Parameter | Type | Description |
| -------------|:-------:|:--------------------------:|
| `newAlerter` | address | address of the new alerter |
Modifiers: [onlyAdmin](api_abi-permissiongroups.md#onlyadmin)
<br />
### `addOperator`
Adds a new address to the list of operators
___
function __addOperator__(address newOperator) public
| Parameter | Type | Description |
| --------------|:-------:|:---------------------------:|
| `newOperator` | address | address of the new operator |
Modifiers: [onlyAdmin](api_abi-permissiongroups.md#onlyadmin)
<br />
### `claimAdmin`
Allows the pendingAdmin address to finalize the change admin process
___
function __claimAdmin__() public
<br />
### `getAlerters`
Gets the list of alerters
___
function __getAlerters__() public
**Returns:**\
List of alerters
<br />
### `getOperators`
Gets the list of operators
___
function __getOperators__() public
**Returns:**\
List of operators
<br />
### `removeAlerter`
Removes an address from the list of alerters
___
function __removeAlerter__(address newOperator) public
| Parameter | Type | Description |
| ----------|:-------:|:----------------------:|
| `alerter` | address | address of the alerter |
Modifiers: [onlyAdmin](api_abi-permissiongroups.md#onlyadmin)
<br />
### `removeOperator`
Removes an address from the list of operators
___
function __removeOperator__(address newOperator) public
| Parameter | Type | Description |
| -----------|:-------:|:-----------------------:|
| `operator` | address | address of the operator |
Modifiers: [onlyAdmin](api_abi-permissiongroups.md#onlyadmin)
<br />
### `transferAdmin`
Allows the current admin to set the new admin address
___
function __transferAdmin__(address newAdmin) public
| Parameter | Type | Description |
| -----------|:-------:|:------------------------------------:|
| `newAdmin` | address | the address to transfer ownership to |
Modifiers: [onlyAdmin](api_abi-permissiongroups.md#onlyadmin)
<br />
### `transferAdminQuickly`
Allows the current admin to set the new admin address in one tx
___
function __transferAdminQuickly__(address newAdmin) public
| Parameter | Type | Description |
| -----------|:-------:|:------------------------------------:|
| `newAdmin` | address | the address to transfer ownership to |
Modifiers: [onlyAdmin](api_abi-permissiongroups.md#onlyadmin)
<br />