Authorization Management of Parameters
Different kinds of admin role control parameters such as smart contract upgrades, fee structures, and governance mechanisms, influencing the decentralized finance ecosystem's overall governance and operational aspects.
Access Control List Manager is the main registry of system roles and permissions.
ACLManager allows a Role Admin to manage roles. Role Admin is itself a role that is managed by the DEFAULT_ADMIN_ROLE
.
DEFAULT_ADMIN_ROLE
is held by the ACLAdmin, which is initialised in PoolAddressesProvider
.
PoolAddressesProvider
, is owned by HopeLend Governance.
Roles
Below we outline the powers/responsibilities of the roles and the specific methods that are only accessible to the holders of these roles.
Role | Responsibilities / Powers | Methods Accessible |
FLASH_BORROWER | Flash loan premium is waived for the holders of this role. ⛔️ Does not include flashLoanSimple | flashLoan |
ASSET_LISTING_ADMIN | Can update
|
|
RISK_ADMIN | Can update
|
|
ACL_ADMIN | Manage the role admins in the ACLManager |
|
EMERGENCY_ADMIN | Can pause/unpause the pool or individual reserve |
|
POOL_ADMIN | Can
|
|
View Methods
isPoolAdmin
function isPoolAdmin(address admin)
Returns true
if the address has POOL_ADMIN
role.
isEmergencyAdmin
function isEmergencyAdmin(address admin)
Returns true
if the address has EMERGENCY_ADMIN
role.
isRiskAdmin
function isRiskAdmin(address admin)
Returns true
if the address has RISK_ADMIN
role.
isFlashBorrower
function isFlashBorrower(address borrower)
Returns true
if the address has a FLASH_BORROWER
role.
isAssetListingAdmin
function isAssetListingAdmin(address admin)
Returns true
if the address has ASSET_LISTING_ADMIN
role.
Write Methods
setRoleAdmin
setRoleAdmin(bytes32 role, bytes32 adminRole)
Setup admin to manage Roles.
This method can only be called by address with DEFAULT_ADMIN_ROLE
.
Call Params
Name | Type | Description |
role | bytes32 | keccak256 hash of one of the following:
|
adminRole | bytes32 | adminRole responsible for role. 0x00 is reserved for |
addPoolAdmin
addPoolAdmin(address admin)
Add address to the list of members in POOL_ADMIN
role. Holders of this role can update token implementations, drop, (un)pause and (de)activate reserves, update premiums and do everything the ASSET_LISTING_ADMIN
and RISK_ADMIN
can do.
Can be called only by Role Admin, specified by HopeLend Governance, responsible for managing POOL_ADMIN
role.
Call Params
Name | Type | Description |
admin | address | address which will be granted |
removePoolAdmin
removePoolAdmin(address admin)
Remove given address from the list of members in POOL_ADMIN
role.
Can be called only by Role Admin, specified by HopeLend Governance, responsible for managing POOL_ADMIN
role.
Call Params
Name | Type | Description |
admin | address | address for which |
addEmergencyAdmin
addEmergencyAdmin(address admin)
Add address to the list of members in EMERGENCY_ADMIN
role. Holders of this role can pause and unpause the pool or an individual reserve.
Can be called only by Role Admin, specified by HopeLend Governance, responsible for managingEMERGENCY_ADMIN
role.
Call Params
Name | Type | Description |
admin | address | address which will be granted |
removeEmergencyAdmin
function removeEmergencyAdmin(address admin)
Remove given address from the list of members in EMERGENCY_ADMIN
role.
Can be called only by Role Admin, specified by HopeLend Governance, responsible for managing EMERGENCY_ADMIN
role.
Call Params
Name | Type | Description |
admin | address | address for which |
addRiskAdmin
function addRiskAdmin(address admin)
Add address to the list of members in RISK_ADMIN
role. Holders of this role can update the grace period of Oracle Sentinels, reserve params, unbacked mint cap, liquidation fee and eMode categories.
Call Params
Name | Type | Description |
admin | address | address which will be granted |
removeRiskAdmin
Remove given address from the list of members in RISK_ADMIN
role.
Call Params
Name | Type | Description |
admin | address | address for which |
addFlashBorrower
function addFlashBorrower(address borrower)
Add address to the list of members in FLASH_BORROWER
role. Holders of this role do not pay premium for flash loan (Does not apply to flashLonaSimple
.
removeFlashBorrower
function removeFlashBorrower(address borrower)
Remove given address from the list of members in FLASH_BORROWER
role.
Call Params
Name | Type | Description |
admin | address | address for which |
addAssetListingAdmin
function addAssetListingAdmin(address admin)
Add address to the list of member in ASSET_LISTING_ADMIN
role. Holder of this role can update oracles & add new asset to the HopeLend market.
Call Params
Name | Type | Description |
admin | address | address which will be granted |
removeAssetListingAdmin
function removeAssetListingAdmin(address admin)
Remove address from the list of members in ASSET_LISTING_ADMIN
role.
Call Params
Name | Type | Description |
admin | address | address for which |
Last updated