Update PoR Executor V3 Robot
Update PoR Executor V3 Robot
Author
BGD Labs (@bgdlabs)
Creator
0xf71fc92e2949ccF6A5Fd369a0b402ba80Bc61E02
Simple Summary
Proposal to re-enable Aave Proof of Reserve on Avalanche, after temporarily halting the system during the Aave v3.1 upgrade.
Motivation
With the release of Aave V3.1, it is no longer necessary to set the asset’s LTV to zero before freezing during the execution of an emergency action on a Proof of Reserve alert, as the protocol does both actions in batch.
Moreover, setting LTV to zero that way would break the “rollback” mechanism (pendingLtv) of LTV back to normal value on unfreeze.
Specification
The proposal is separated into two payloads because multiple blocks must pass between canceling the existing Aave Robot automation and withdrawing funds from it. The order of execution is guaranteed by the fact that it is impossible to withdraw funds before the robot is canceled.
The two payloads do the following:
-
Cancels the existing Aave Robot automation for PoR, by calling
cancel()
on the Aave Robot operator contract. -
Activates the new PoR system by:
2.1. Granting Aave v3 Avalanche RISK_ADMIN role to the new PoR executor contract, by calling
addRiskAdmin()
on the ACLManager contract.2.2. Withdrawing LINK funds from the existing Robot PoR by calling
withdrawLink()
on the Robot operator contract.2.3. Registering a new PoR Robot, by calling
register()
on the Robot operator contract.2.4. Refilling the new PoR Robot with 15 LINK from the Aave Collector.
The new contracts involved are the following:
Contract | Address |
---|---|
Proof Of Reserve Executor V3.1 | 0xB94e515615c244Ab25f7A6e592e3Cb7EE31E99F4 |
Proof Of Reserve Robot | 0x7aE2930B50CFEbc99FE6DB16CE5B9C7D8d09332C |
References
- Implementation: AaveV3Avalanche - Cancel existing robot, AaveV3Avalanche - Register new robot
- Tests: AaveV3Avalanche - Cancel, AaveV3Avalanche - Register
- New Proof of Reserve Executor
- Discussion
Copyright
Copyright and related rights waived via CC0.