Skip to content

bgd-labs/protocol-v3.3-upgrade

 
 

Repository files navigation

Aave v3.3 upgrade

This repository contains contracts to upgrade existing instances of Aave protocol from v3.2.0 to v3.3.0.


Dependencies

  • Foundry, how-to install (we recommend also update to the last version with foundryup).
  • ZkSync Foundry, how-to install (we recommend also update to the last version with foundryup-zksync).

Setup

cp .env.example .env # you need to setup functional rpcs
forge install

# optional, to install prettier
yarn install

Tests

Command run test for all networks expect zkSync: forge test

Command to run test for zkSync: FOUNDRY_PROFILE=zksync forge test --zksync

There are two test templates available:


Upgrade payload

The payload for the upgrade does the following:

  • Upgrades the PoolConfigurator implementation.
  • Upgrades the Pool implementation.
  • Connects the new PoolDataProvider to the PoolAddressesProvider.

Misc

Additionally, there are new versions of some periphery-contracts that might be deployed alongside the proposal, namely:

  • WrappedTokenGatewayV3
  • ParaswapAdapters
  • StataTokenFactory

It's important to note that these contracts are:

  • not part of the upgrade payload.
  • they don't need to be upgraded, the old versions are perfectly operational.

Using the newer versions will result in slightly lower gas usage on certain operations.

Diffs

The repository contains code-diffs for all the targeted networks. The diffs were created by diffing the current explorer code against new explorer code. Once the diff is created the script deletes all duplicates, so eventually what is left is the differences between the different instances. As expected:

  • the diff on mainnet reflects the changes from the v3.3.0 branch.
  • the diff on optimism reflects the changes from the v3.3.0 branch but for a L2Pool. In addition, the diff on Pool is slightly different, be cause the Pool instance comments were slightly outdated.
  • the diff on metis is limited again to a changed license.
  • all other instances have no diff at all, or a diff that is limited to the settings, which describes some differences in comparison to the previous deployment process (e.g. usage of bytecodehash, remappings etc)but does not result in different code.

License

Copyright © 2024, BGD Labs.

This repository is BUSL-1.1-licensed.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Solidity 86.7%
  • TypeScript 8.9%
  • Makefile 4.4%