ParaX
Search
K

Access Control

Admin addresses and operations in ParaSpace 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
  • 0xca8678d2d273b1913148402aed2E99b085ea3F02 (TimeLock)
POOL_ADMIN_ROLE
  • 0xca8678d2d273b1913148402aed2E99b085ea3F02 (TimeLock)
RISK_ADMIN_ROLE
  • 0xca8678d2d273b1913148402aed2E99b085ea3F02 (TimeLock)
ASSET_LISTING_ADMIN_ROLE
  • 0xca8678d2d273b1913148402aed2E99b085ea3F02 (TimeLock)
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.