ACLManager
It is the registry of all system roles and permissions: who can list assets, manage risk, act as pool admin, bridge, etc.
addAssetListingAdmin(address admin) Grants AssetListingAdmin role.
addBridge(address bridge) Grants Bridge role.
addEmergencyAdmin(address admin) Grants EmergencyAdmin role.
addFlashBorrower(address borrower) Grants FlashBorrower role.
addPoolAdmin(address admin) Grants PoolAdmin role.
addRiskAdmin(address admin) Grants RiskAdmin role.
removeAssetListingAdmin(address admin) Revokes AssetListingAdmin role.
removeBridge(address bridge) Revokes Bridge role.
removeEmergencyAdmin(address admin) Revokes EmergencyAdmin role.
removeFlashBorrower(address borrower) Revokes FlashBorrower role.
removePoolAdmin(address admin) Revokes PoolAdmin role.
removeRiskAdmin(address admin) Revokes RiskAdmin role.
🔹Access Control Functions
getRoleAdmin(bytes32 role) → bytes32 Returns the admin role that manages a specific role.
grantRole(bytes32 role, address account) Grants a role to an account (requires caller to have admin rights for that role).
hasRole(bytes32 role, address account) → bool Checks if an account has a given role.
renounceRole(bytes32 role, address account) Allows an account to renounce its own role.
revokeRole(bytes32 role, address account) Revokes a role from an account (requires admin rights).
setRoleAdmin(bytes32 role, bytes32 adminRole) Sets a new admin role for a given role.
🔹Interface Support
supportsInterface(bytes4 interfaceId) → bool Checks if the contract supports a given ERC165 interface.
[
{
"inputs": [
{
"internalType": "contract IPoolAddressesProvider",
"name": "provider",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{ "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" },
{ "indexed": true, "internalType": "bytes32", "name": "previousAdminRole", "type": "bytes32" },
{ "indexed": true, "internalType": "bytes32", "name": "newAdminRole", "type": "bytes32" }
],
"name": "RoleAdminChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{ "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" },
{ "indexed": true, "internalType": "address", "name": "account", "type": "address" },
{ "indexed": true, "internalType": "address", "name": "sender", "type": "address" }
],
"name": "RoleGranted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{ "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" },
{ "indexed": true, "internalType": "address", "name": "account", "type": "address" },
{ "indexed": true, "internalType": "address", "name": "sender", "type": "address" }
],
"name": "RoleRevoked",
"type": "event"
},
{ "inputs": [], "name": "ADDRESSES_PROVIDER", "outputs": [{ "internalType": "contract IPoolAddressesProvider", "name": "", "type": "address" }], "stateMutability": "view", "type": "function" },
{ "inputs": [], "name": "ASSET_LISTING_ADMIN_ROLE", "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], "stateMutability": "view", "type": "function" },
{ "inputs": [], "name": "BRIDGE_ROLE", "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], "stateMutability": "view", "type": "function" },
{ "inputs": [], "name": "DEFAULT_ADMIN_ROLE", "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], "stateMutability": "view", "type": "function" },
{ "inputs": [], "name": "EMERGENCY_ADMIN_ROLE", "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], "stateMutability": "view", "type": "function" },
{ "inputs": [], "name": "FLASH_BORROWER_ROLE", "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], "stateMutability": "view", "type": "function" },
{ "inputs": [], "name": "POOL_ADMIN_ROLE", "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], "stateMutability": "view", "type": "function" },
{ "inputs": [], "name": "RISK_ADMIN_ROLE", "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], "stateMutability": "view", "type": "function" },
{ "inputs": [{ "internalType": "address", "name": "admin", "type": "address" }], "name": "addAssetListingAdmin", "outputs": [], "stateMutability": "nonpayable", "type": "function" },
{ "inputs": [{ "internalType": "address", "name": "bridge", "type": "address" }], "name": "addBridge", "outputs": [], "stateMutability": "nonpayable", "type": "function" },
{ "inputs": [{ "internalType": "address", "name": "admin", "type": "address" }], "name": "addEmergencyAdmin", "outputs": [], "stateMutability": "nonpayable", "type": "function" },
{ "inputs": [{ "internalType": "address", "name": "borrower", "type": "address" }], "name": "addFlashBorrower", "outputs": [], "stateMutability": "nonpayable", "type": "function" },
{ "inputs": [{ "internalType": "address", "name": "admin", "type": "address" }], "name": "addPoolAdmin", "outputs": [], "stateMutability": "nonpayable", "type": "function" },
{ "inputs": [{ "internalType": "address", "name": "admin", "type": "address" }], "name": "addRiskAdmin", "outputs": [], "stateMutability": "nonpayable", "type": "function" },
{ "inputs": [{ "internalType": "bytes32", "name": "role", "type": "bytes32" }], "name": "getRoleAdmin", "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], "stateMutability": "view", "type": "function" },
{ "inputs": [{ "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" }], "name": "grantRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" },
{ "inputs": [{ "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" }], "name": "hasRole", "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], "stateMutability": "view", "type": "function" },
{ "inputs": [{ "internalType": "address", "name": "admin", "type": "address" }], "name": "isAssetListingAdmin", "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], "stateMutability": "view", "type": "function" },
{ "inputs": [{ "internalType": "address", "name": "bridge", "type": "address" }], "name": "isBridge", "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], "stateMutability": "view", "type": "function" },
{ "inputs": [{ "internalType": "address", "name": "admin", "type": "address" }], "name": "isEmergencyAdmin", "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], "stateMutability": "view", "type": "function" },
{ "inputs": [{ "internalType": "address", "name": "borrower", "type": "address" }], "name": "isFlashBorrower", "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], "stateMutability": "view", "type": "function" },
{ "inputs": [{ "internalType": "address", "name": "admin", "type": "address" }], "name": "isPoolAdmin", "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], "stateMutability": "view", "type": "function" },
{ "inputs": [{ "internalType": "address", "name": "admin", "type": "address" }], "name": "isRiskAdmin", "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], "stateMutability": "view", "type": "function" },
{ "inputs": [{ "internalType": "address", "name": "admin", "type": "address" }], "name": "removeAssetListingAdmin", "outputs": [], "stateMutability": "nonpayable", "type": "function" },
{ "inputs": [{ "internalType": "address", "name": "bridge", "type": "address" }], "name": "removeBridge", "outputs": [], "stateMutability": "nonpayable", "type": "function" },
{ "inputs": [{ "internalType": "address", "name": "admin", "type": "address" }], "name": "removeEmergencyAdmin", "outputs": [], "stateMutability": "nonpayable", "type": "function" },
{ "inputs": [{ "internalType": "address", "name": "borrower", "type": "address" }], "name": "removeFlashBorrower", "outputs": [], "stateMutability": "nonpayable", "type": "function" },
{ "inputs": [{ "internalType": "address", "name": "admin", "type": "address" }], "name": "removePoolAdmin", "outputs": [], "stateMutability": "nonpayable", "type": "function" },
{ "inputs": [{ "internalType": "address", "name": "admin", "type": "address" }], "name": "removeRiskAdmin", "outputs": [], "stateMutability": "nonpayable", "type": "function" },
{ "inputs": [{ "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" }], "name": "renounceRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" },
{ "inputs": [{ "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" }], "name": "revokeRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" },
{ "inputs": [{ "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "bytes32", "name": "adminRole", "type": "bytes32" }], "name": "setRoleAdmin", "outputs": [], "stateMutability": "nonpayable", "type": "function" },
{ "inputs": [{ "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" }], "name": "supportsInterface", "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], "stateMutability": "view", "type": "function" }
]
Last updated
Was this helpful?