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
.
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
asset oracle sources
fallback oracle
add new assets to the HopeLend market
setAssetSources
setFallbackOracle
initReserves
RISK_ADMIN
Can update
grace period of Oracle Sentinels
reserve params
unbacked mint cap
liquidation protocol fee
existing eMode categories and creating new ones. (not category 0)
add/remove asset in silo mode
setGracePeriod
setReserveBorrowing
configureReserveAsCollateral
setReserveStableRateBorrowing
setReserveFreeze
setBorrowableInIsolation
setReserveFactor
setDebtCeiling
setBorrowCap
setSupplyCap
setLiquidationProtocolFee
setEModeCategory
setAssetEModeCategory
setUnbackedMintCap
setReserveInterestRateStrategyAddress
setSiloedBorrowing
ACL_ADMIN
Manage the role admins in the ACLManager
setRoleAdmin
addPoolAdmin
removePoolAdmin
addEmergencyAdmin
removeEmergencyAdmin
addRiskAdmin
removeRiskAdmin
addFlashBorrower
removeFlashBorrower
addAssetListingAdmin
removeAssetListingAdmin
EMERGENCY_ADMIN
Can pause/unpause the pool or individual reserve
setPoolPause
POOL_ADMIN
Can
update token implementations
drop reserves
pause/unpause reserves
activate/deactivate reserves
update premiums
do all the things available to
RISK_ADMIN
&ASSET_LISTING_ADMIN
all methods available to
RISK_ADMIN
all methods available to
ASSET_LISTING_ADMIN
dropReserve
updateAToken
updateStableDebtToken
updateVariableDebtToken
setReserveActive
updateBridgeProtocolFee
updateFlashloanPremiumTotal
updateFlashloanPremiumToProtocol
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.
Call Params
Name
Type
Description
role
bytes32
keccak256 hash of one of the following:
POOL_ADMIN
EMERGENCY_ADMIN
RISK_ADMIN
FLASH_BORROWER
BRIDGE
ASSET_LISTING_ADMIN
adminRole
bytes32
adminRole responsible for role. 0x00 is reserved for DEFAULT_ADMIN_ROLE
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.
Call Params
Name
Type
Description
admin
address
address which will be granted POOL_ADMIN
role.
removePoolAdmin
removePoolAdmin(address admin)
Remove given address from the list of members in POOL_ADMIN
role.
Call Params
Name
Type
Description
admin
address
address for which POOL_ADMIN
role permissions must be revoked.
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.
Call Params
Name
Type
Description
admin
address
address which will be grantedEMERGENCY_ADMIN
role.
removeEmergencyAdmin
function removeEmergencyAdmin(address admin)
Remove given address from the list of members in EMERGENCY_ADMIN
role.
Call Params
Name
Type
Description
admin
address
address for which EMERGENCY_ADMIN
role permissions must be revoked.
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 RISK_ADMIN
role.
removeRiskAdmin
Remove given address from the list of members in RISK_ADMIN
role.
Call Params
Name
Type
Description
admin
address
address for which RISK_ADMIN
role permissions must be revoked.
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 FLASH_BORROWER
role permissions must be revoked.
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 ASSET_LISTING_ADMIN
role.
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 ASSET_LISTING_ADMIN
role permissions must be revoked.
Last updated