The Aave Protocol is a non-custodial decentralised liquidity protocol where users can participate as borrowers, suppliers, or liquidators. Liquidity is provided to a market by the suppliers and they can earn interest on the crypto assets which are provided, while borrowers can borrow in an overcollateralized fashion. Also, borrowers can engage in one-block borrow transactions, which do not require over-collateralization.

Need for update

Aave v3 codebase is into 2 different parts, Aave v3 core, and Aave v3 periphery. Aave v3 Protocol work on the core concepts of Aave Protocol which includes aTokens, instant liquidity, stable rate borrowing, credit delegation, etc and more new features in following area.

The majority of Aave smart contracts, ones on the periphery are upgradeable and controlled by the Aave governance, which means that they are designed to be improved over time and according to needs.

This governance proposal has activated the Aave V3.0.1 Ethereum pool, where it has completed all the initial setup and listed WBTC, WETH, wstETH, USDC, DAI, LINK, and AAVE, which is already pre-approved by the community. You can easily find all the Aave Ethereum V3 addresses in the aave-address-book.

The need to update came as While AAVE V3 was deployed to various networks, but it was still running v2 on Ethereum pool. So the community decided to deploy a fresh v3 version instead of upgrading the same v2 pool again .

Changes made in the update

The changes on the upgrade of the periphery are very small if we compare them with the ones on the upcoming core upgrade.

You can find these changes here and they include the following :

  • Soften Solidity versions of the contracts to ^0.8.0, without impacting the live smart contracts. Github link
  • Removing constructor of RewardsDistributor and RewardsController. Github link
  • Adding getter to fetch current index on rewardsController. Github link
  • Fix a bug on the getUserRewards() function, to return correct rewards for users with 0 balance. Github link
  • Removed unnecessary constructor that sets the state on a contract, given the nature of the implementation always under a proxy. Github link
  • Replaced totalSupply with totalScaledSupply on setEmissionPerSecond Github link
  • Fix a bug on the setEmissionPerSecond(), as the total supply of a/v Tokens was not correctly considered.

Conclusion

As said before that the changes are really small, and the community doesn’t think an audit report is required.

An upgrade is key for the protocol’s future as it fixes some minor issues of the periphery contracts and adds view functions that will unlock potential integrations.

References

Related Videos

Disclaimer: The information contained on this web page is for education purposes only. Readers are suggested to conduct their own research, review, analyze and verify the content before relying on them.

To publish press releases, project updates and guest posts with us, please email at contact@etherworld.co.

Subscribe to EtherWorld YouTube channel for ELI5 content.

Support us at Gitcoin

You've something to share with the blockchain community, join us on Discord!

Follow us at Twitter, Facebook, LinkedIn, and Instagram.