Aave v3 zkSync Activation
Aave v3 zkSync Activation
Author
BGD Labs (@bgdlabs)
Creator
0xf71fc92e2949ccF6A5Fd369a0b402ba80Bc61E02
Simple Summary
This proposal allows the Aave governance to activate the Aave V3 zkSync pool (3.1) by completing all the initial setup and listing USDC, USDT, WETH, wstETH, ZK as suggested by the risk service providers engaged with the DAO on the governance forum.
Please note: Due to the issue on the dependencies of the ZkSync Era compiler, the instance has been re-deployed with the fixed compiler version zksolc 1.5.3
with no changes on the protocol code.
All the Aave zkSync V3 addresses can be found in the aave-address-book.
Motivation
All the governance procedures for the expansion of Aave v3 to zkSync have been finished, said:
- Positive signaling and approval regarding the expansion on the governance forum, temp check snapshot, and final snapshot.
- Positive technical evaluation done by BGD Labs of the zkSync network, as described in the forum in detail.
- Positive risk analysis and assets/parameters recommendation by the risk service providers.
Specification
The proposal will do the following:
- List the following assets on Aave V3 zkSync: USDC, USDT, WETH, wstETH, ZK
- Set the guardian address as the pool admin by executing
ACL_MANAGER.addPoolAdmin()
. This is following the standard procedure of keeping pool admin on the Aave Guardian during the bootstrap period, for security. - Set ACI as liquidity mining admin for the ZK token by calling
EMISSION_MANAGER.setEmissionAdmin()
method.
Note: The risk params suggested by risk service providers have changed post-snapshot, and the updated one's from the forum are being used.
The table below illustrates the initial suggested risk parameters for each asset:
Emode Category Id | LTV | Liquidation Threshold | Liquidation Bonus |
---|---|---|---|
1 (ETH correlated) | 90% | 93% | 1% |
Parameter | USDC | USDT | WETH | wstETH | ZK |
---|---|---|---|---|---|
Supply Cap | * 100,000,000 | * 3,000,000 | * 1,000 | * 300 | * 18,000,000 |
Borrow Cap | * 900,000 | * 2,700,000 | * 900 | * 30 | * 10,000,000 |
Borrowable | ENABLED | ENABLED | ENABLED | ENABLED | ENABLED |
Collateral Enabled | true | true | true | true | true |
LTV | 75 % | 75 % | 75 % | 71 % | 40 % |
LT | 78 % | 78 % | 78 % | 76 % | 45 % |
Liquidation Bonus | 5 % | 5 % | 6 % | 7 % | 10 % |
Liquidation Protocol Fee | 10 % | 10 % | 10 % | 10 % | 20 % |
Reserve Factor | 10 % | 10 % | 15 % | 5 % | 20 % |
Base Variable Borrow Rate | 0 % | 0 % | 0 % | 0 % | 0 % |
Variable Slope 1 | 5.5 % | 5.5 % | 2.7 % | 4.5 % | 9 % |
Variable Slope 2 | 60 % | 60 % | 80 % | 80 % | 300 % |
Uoptimal | 90 % | 90 % | 90 % | 45 % | 45 % |
Oracle | Capped USDC/USD | Capped USDT/USD | ETH/USD | Capped wstETH/ETH/USD | ZK/USD |
Flashloanable | ENABLED | ENABLED | ENABLED | ENABLED | ENABLED |
Isolation Mode | false | false | false | false | true |
Debt Ceiling | USD 0 | USD 0 | USD 0 | USD 0 | USD 800,000 |
Borrowable in Isolation | ENABLED | ENABLED | DISABLED | DISABLED | DISABLED |
Siloed Borrowing | DISABLED | DISABLED | DISABLED | DISABLED | DISABLED |
Stable Borrowing | DISABLED | DISABLED | DISABLED | DISABLED | DISABLED |
Emode Category | N/A | N/A | 1 (ETH correlated) | 1 (ETH correlated) | N/A |
* For extra caution and security, the zkSync instance is being activated with low supply and borrow caps (approximately $10'000 value each asset) to allow for extensive internal testing for a few days. This proposal authorizes the Aave Protocol Guardian to raise the caps to the voted expected levels once the technical providers confirm everything working correctly, on the Aave governance forum
Security procedures
-
The proposal execution is simulated within the tests and the resulting pool configuration is tested for correctness.
-
The deployed pool and other permissions have been programmatically verified, which can be found on the aave-permissions-book
-
In addition, we have also checked the code diffs of the deployed zkSync contracts with the production instance, which can be found here. zkSync uses the Aave v3.1 version, and there are some minor diffs because production instances didn't require this change to be applied
Below are the per contract comparative diffs of the contract modifications relative to Gnosis network:
Following the issue on the dependencies of the ZkSync Era compiler during previous activation, as a matter of extra security procedures we have:
-
Improved the coverage on the tests, adding some more fork test scenarios covering the issue of bitmap corruption and verifying that the zksolc
1.5.3
fixes the issue. The tests can be found here. -
Reduced the supply and borrow caps further, allowing the guardian to slowly increase it over time.
References
- Implementation: AaveV3ZkSync
- Tests: AaveV3ZkSync
- Snapshot
- Discussion
Copyright
Copyright and related rights waived via CC0.