Access Control

Admin addresses and operations in Parallel protocol.

Access Roles

The following access roles are defined in the ACLManager contract And many other contracts have the extra OnlyOwner access.

DEFAULT_ADMIN_ROLE

This role is the default admin role for the ACLManager contract And can set the admin role of all roles defined in ACLManager.

POOL_ADMIN_ROLE

This role has most of all privileges.

RISK_ADMIN_ROLE

This role can set all existing reserve parameters, like the supplyCap, the borrowCap, the InterestRateStrategy address, etc.

ASSET_LISTING_ADMIN_ROLE

This role can add new reserves into the lending market and set reserve price oracle.

EMERGENCY_ADMIN_ROLE

This role can pause the reserve or the lending pool and pause the AutoCompoundApe and Timelock agreements.

The following roles are not used currently:

  • FLASH_BORROWER_ROLE

  • BRIDGE_ROLE

Mainnet Admin Address

Role
Address

DEFAULT_ADMIN_ROLE

POOL_ADMIN_ROLE

RISK_ADMIN_ROLE

ASSET_LISTING_ADMIN_ROLE

EMERGENCY_ADMIN_ROLE

  • 0xe965198731CDdB2f06e91DD0CDff74b71e4b3714 (Multisig Wallet)

  • 0x17816E9A858b161c3E37016D139cf618056CaCD4

  • 0x69FAD68De47D5666Ad668C7D682dDb8FD6322949

  • 0xD65Fee206a4ea89eBBcF4694E745C597AB6F8325

  • 0x755C1bd877788739dD002B98B093c4852AbfA6c4

  • 0x3A6c796edffc057d789F7d4ffAd438B1D48f3075

  • 0x2f2d07d60ea7330DD2314f4413CCbB2dC25276EF

  • 0x001e2bcC5c1BfC3131d33Ba074B12c2F1237FB04

Admin Role Operations

The following operations are controlled by the admin role of ACLManager.

DEFAULT_ADMIN_ROLE

Currently, the admin role of all roles is DEFAULT_ADMIN_ROLE. The address with that role has the privilege to add other admin addresses.

Contract
Method
Description

ACLManager

setRoleAdmin

Set the role as admin of a specific role.

POOL_ADMIN_ROLE

Contract
Method
Description

PoolConfigurator

initReserves

Initialize multiple reserves.

dropReserve

Drop a reserve entirely.

updatePToken

Updates the pToken implementation for the reserve.

updateNToken

Update the nToken implementation for the reserve.

updateVariableDebtToken

Update the variable debt token implementation for the asset.

setReserveBorrowing

Configure borrowing on a reserve.

configureReserveAsCollateral

Configure the reserve collateralization parameters.

setReserveActive

Activate or deactivate a reserve.

setReserveFreeze

Freeze or unfreeze a reserve. A frozen reserve doesn't allow any new supply, borrow.

pauseReserve

Pause a reserve. A paused reserve does not allow any interaction (supply, borrow, repay).

unpauseReserve

Unpause a reserve.

setReserveFactor

Update the reserve factor of a reserve.

setSiloedBorrowing

Set siloed borrowing for an asset

setBorrowCap

Update the borrow cap of a reserve.

setSupplyCap

Update the supply cap of a reserve.

setLiquidationProtocolFee

Update the liquidation protocol fee of reserve.

setReserveInterestRateStrategyAddress

Set the interest rate strategy of a reserve.

setReserveTimeLockStrategyAddress

Set the timelock strategy of a reserve.

setReserveAuctionStrategyAddress

Set the auction strategy of a reserve.

unpausePool

Unpause all the protocol reserves.

setAuctionRecoveryHealthFactor

Set the auction recovery health factor.

ParaSpaceOracle

setAssetSources

Sets or replaces price sources of assets.

setFallbackOracle

Sets the fallback oracle.

PoolProxy

rescueTokens

Rescue and transfer tokens locked in this contract.

setClaimApeForCompoundFee

Update the fee percentage for claim ape for compound.

unlimitedApproveTo

Grant token's an unlimited allowance value to the to address

PToken

setIncentivesController

Set a new incentives controller address.

rescueTokens

Rescue and transfer tokens locked in this contract.

DelegationAwarePToken

delegateUnderlyingTo

Delegate voting power of the underlying asset to a delegatee address.

NToken

setBalanceLimit

Set a new balance limit.

rescueERC20

Rescue and transfer ERC20 tokens locked in this contract.

rescueERC721

Rescue and transfer ERC721 tokens locked in this contract.

rescueERC1155

Rescue and transfer ERC1155 tokens locked in this contract.

executeAirdrop

Execute the airdrop action.

NTokenApeStaking

setUnstakeApeIncentive

Update the incentive percentage for unstakePositionAndRepay.

PriceOracleSentinel

setSequencerOracle

Update the address of the sequencer oracle.

setGracePeriod

Update the duration of the grace period.

ERC721OracleWrapper

setOracle

Set the oracle address for this wrapper.

AutoCompoundApe

pause

Pause AutoCompoundApe contract.

unpause

Unpause AutoCompoundApe contract.

rescueERC20

Rescue and transfer ERC20 tokens locked in this contract.

setVotingDelegate

Set vote delegation.

clearVotingDelegate

Clear vote delegation.

rebaseFromApeCoinStaking

Reset stakingBalance from ApeCoinStaking contract.

freezeAgreement

Freeze a specific time-lock agreement.

unfreezeAgreement

Unfreeze a specific time-lock agreement.

freezeAllAgreements

Freeze all time-lock agreements.

unfreezeAllAgreements

Unfreeze all time-lock agreements.

RISK_ADMIN_ROLE

Contract
Method
Description

PoolConfigurator

setReserveBorrowing

Configure borrowing on a reserve.

configureReserveAsCollateral

Configure the reserve collateralization parameters.

setReserveFreeze

Freeze or unfreeze a reserve. A frozen reserve doesn't allow any new supply, borrow.

setReserveFactor

Update the reserve factor of a reserve.

setSiloedBorrowing

Set siloed borrowing for an asset

setBorrowCap

Update the borrow cap of a reserve.

setSupplyCap

Update the supply cap of a reserve.

setLiquidationProtocolFee

Update the liquidation protocol fee of reserve.

setReserveInterestRateStrategyAddress

Set the interest rate strategy of a reserve.

setReserveTimeLockStrategyAddress

Set the timelock strategy of a reserve.

setReserveAuctionStrategyAddress

Set the auction strategy of a reserve.

setAuctionRecoveryHealthFactor

Set the auction recovery health factor.

PriceOracleSentinel

setGracePeriod

Update the duration of the grace period.

ASSET_LISTING_ADMIN_ROLE

Contract
Method
Description

PoolConfigurator

initReserves

Initialize multiple reserves.

ERC721OracleWrapper

setOracle

Set the oracle address for this wrapper.

ParaSpaceOracle

setAssetSources

Sets or replaces price sources of assets.

setFallbackOracle

Sets the fallback oracle.

EMERGENCY_ADMIN_ROLE

Contract
Method
Description

PoolConfigurator

pauseReserve

Pause a reserve. A paused reserve does not allow any interaction (supply, borrow, repay).

pausePool

Pause all the protocol reserves.

AutoCompoundApe

pause

Pause AutoCompoundApe contract.

freezeAgreement

Freeze a specific time-lock agreement.

freezeAllAgreements

Freeze all time-lock agreements.

OnlyOwner Operations

The following operations are controlled by the owner of each contract.

PoolAddressesProviderRegistry

Owner: 0xca8678d2d273b1913148402aed2E99b085ea3F02 (TimeLock)

Method
Description

registerAddressesProvider

Register an addresses provider.

unregisterAddressesProvider

Remove an addresses provider from the list of registered addresses providers.

PoolAddressesProvider

Owner: 0xca8678d2d273b1913148402aed2E99b085ea3F02 (TimeLock)

Method
Description

setMarketId

Associate an id with a specific PoolAddressesProvider.

setAddress

Set an address for an id replacing the address saved in the addresses map.

updatePoolImpl

Update the implementation of the Pool, or creates a proxy.

setPoolConfiguratorImpl

Update the implementation of the PoolConfigurator, or creates a proxy.

setPriceOracle

Update the address of the price oracle.

setACLManager

Update the address of the ACL manager.

setACLAdmin

Updates the address of the ACL admin.

setPriceOracleSentinel

Updates the address of the price oracle sentinel.

setProtocolDataProvider

Updates the address of the ProtocolDataProvider.

setWETH

Update or set WETH address.

setMarketplace

Update the info of the BNPL marketplace.

WETHGateway

Owner: 0xca8678d2d273b1913148402aed2E99b085ea3F02 (TimeLock)

Method
Description

emergencyTokenTransfer

Transfer ERC20 from the utility contract, for ERC20 recovery in case of stuck tokens due to direct transfers to the contract address.

emergencyEtherTransfer

Transfer native Ether from the utility contract, for native Ether recovery in case of stuck tokens due to direct transfers to the contract address.

WPunkGateway

Owner: 0xca8678d2d273b1913148402aed2E99b085ea3F02 (TimeLock)

Method
Description

emergencyERC721TokenTransfer

Transfer ERC721 from the utility contract, for ERC721 recovery in case of stuck tokens due to direct transfers to the contract address.

emergencyPunkTransfer

Transfer native Punk from the utility contract, for native Punk recovery in case of stuck Punk due to selfdestructs or transfer punk to pre-computated contract address before deployment.

Last updated