Aave <> Starknet Phase I. Project update 1 (25/03/2022)
Hello, Aave (and Starknet) community members! As you know, an Aave governance proposal was passed on the last 26th of February, serving as final approval for the first phase for the integration between Aave’s and Starknet’s ecosystems.
The initial details regarding the proposal at the beginning of this thread.
Since then, the team participating has been working on the project continuously and I will try to summarise in the following section what exactly was happening.
What was being done?
Prior to starting the project, a rough timeline was presented as the following:
Currently, we finished the 3rd week of the project, as it factually started on the 1st of March, and the timeline still holds.
During these first 3 weeks, we have been mainly allocating time to the Definition phase, mainly brainstorming and architecture around the idea of what we need to allow users on Starknet to deposit on Aave on Ethereum in a seamless and cost-efficient way.
To achieve that, we needed to dig a bit deeper into the concept of staticATokens, the equivalent of Ethereum aTokens, but increasing in value and not in balance. These are a starting point for almost any cross-chain liquidity development that requires the minimization of “active” communication between chains, as by its nature, a holder of those tokens (both on Ethereum or after bridging somewhere else) will be passively accumulating yield from Aave on Ethereum.
From that base, we confirmed certain aspects and took some decisions:
-
The Starknet ecosystem is growing at an exaggerated rhythm (that is good), with tons of projects continuously developing cool solutions for any type of need. We will be naturally using some of them, and specifically, we have decided to leverage:
-
Fossil by Oiler Network. Infrastructure layer for cross-chain communication based on storage proofs. We will be using it for the majority of our cross-chain accounting needs regarding the staticATokens, more precisely the accruing of stkAAVE liquidity mining rewards on Aave v2 Ethereum. We appreciate that the team behind Fossil has been really helpful in giving us access to their beta product.
Given the particularities of the Starknet computation system, some challenges are appearing due to our needs in terms of storage proofs, but at the moment, they seem fully solvable. And improvements/optimizations unveil almost every day on Starknet, which helps with experimental ideas like this.
-
Starkgate by the Starkware team. Also cross-chain infrastructure layer, this time for cross-chain generic messaging from Ethereum contracts to Starknet’s. The main use case is the bridging of assets, but we have extended it to be generic.
-
-
As more or less we expected from our pre-project analysis, the most complex part is the bridging of liquidity mining reward from Aave v2 Ethereum. During these past weeks, we evaluated different options, with mainly 2 final candidates: to include somehow the value of the stkAAVE rewards on the value of the staticATokens bridged to Starknet, or to keep the rewards accruing on L2 for staticAToken holders, but separated, as a different “token”.
We finally decided to go with option 2, keeping the rewards separated, which can be summarised as:
- A user bridges 100 staticADAI to Starknet.
- By holding that 100 staticADAI on Starknet, he passively accrues the yield of Aave v2 Ethereum.
- In parallel, while he/she holds the staticADAI on L2, is accruing another token on Starknet, temporarily named rewAAVE, which is 1:1 equivalent to AAVE of Ethereum L1.
- The infrastructure needed on this model will be pretty minimal because no AAVE needs to actually be bridged to Starknet, as the conversion rewAAVE to AAVE will happen whenever somebody wants to bridge back the rewards to Ethereum. If we assume that in the future the utilities of AAVE will be present in multiple networks too (being able to vote on Starknet, stake on the Safety Module, etc), it is highly possible that people will not really bridge too much back and forth AAVE.
Apart from brainstorming and defining the details of the project, both Solidity, and Cairo of almost all the part has been progressing, theoretically being a bit anticipated on the planning, especially on the Cairo side.
Given the parallel progress happening on the Cairo language and standard libraries development, we expect to have a pretty seamless implementation process in regards to tooling on the Starknet side.
Audits
We did also some work contacting auditors of the ecosystem and we already reserved with 3 external security firms, considering the Ethereum and Cairo sides.
What’s next?
During the next weeks, the effort will be focused on the implementation side of things, both Ethereum and Cairo, targeting having an initial mature end-to-end implementation in around 3 weeks’ time.
By the way, everybody can follow the progress on Github account dedicated to this joint project here