You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, the deployment of a new market of the Aave Protocol has some disadvantages, mainly:
High deployment cost.
Burdensome deployment, even by using multiple automations contained on the repository.
In addition, the update of the logic of one component at the same time across all markets is not possible, which creates big friction on versioning of implementations under proxies.
The root cause of these problems is/was the design decision of trying to optimize reading of data via usage of constants/immutables on the smart contracts, leading to non-reusable implementations of components across different markets, even if the logic is exacty the same. Even if this decision is understandable for the initial Aave market -which has the highest usage and needs to be optimal/cheap on execution-, with multiple members of the community working on deploying new markets, we have noticed that in some cases it could be important to have a "light" version of the Aave Protocol with the following requirements:
To create a new market, it should be only needed to deploy:
A new LendingPoolAddressesProvider.
From the LendingPoolAddressesProvider, the proxies for all the proxied components, but reusing implementations of those components from previous markets.
From the proxy contract of the LendingPoolConfigurator, deploy proxies for all aTokens and debtTokens, reusing implementations of other aTokens/debtTokens from previous markets.
Mainly, the changes needed for this new deployment flow would consists on moving to storage variables certain constants/immutables on all the contracts affected, in order to remove market or token specific dependencies.
Additional requirements of the implementation:
Create hardhat tasks for the new deployment flow.
Adapt dev tests where needed.
Include a comparision of gas cost on execution of the protocol actions between this new model and the current one.
The text was updated successfully, but these errors were encountered:
Currently, the deployment of a new market of the Aave Protocol has some disadvantages, mainly:
In addition, the update of the logic of one component at the same time across all markets is not possible, which creates big friction on versioning of implementations under proxies.
The root cause of these problems is/was the design decision of trying to optimize reading of data via usage of constants/immutables on the smart contracts, leading to non-reusable implementations of components across different markets, even if the logic is exacty the same. Even if this decision is understandable for the initial Aave market -which has the highest usage and needs to be optimal/cheap on execution-, with multiple members of the community working on deploying new markets, we have noticed that in some cases it could be important to have a "light" version of the Aave Protocol with the following requirements:
Mainly, the changes needed for this new deployment flow would consists on moving to storage variables certain constants/immutables on all the contracts affected, in order to remove market or token specific dependencies.
Additional requirements of the implementation:
The text was updated successfully, but these errors were encountered: