-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #23 from PowerLoom/feat/aave-use-case
Feat/aave use case
- Loading branch information
Showing
13 changed files
with
304 additions
and
16 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
4 changes: 2 additions & 2 deletions
4
...-with-powerloom/use-cases/building-new-usecase/extending-uniswapv2-dashboard.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
8 changes: 8 additions & 0 deletions
8
.../build-with-powerloom/use-cases/existing-implementations/aavev3-dashboard/_category_.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
{ | ||
"label": "AaveV3 Dashboard", | ||
"position": 1, | ||
"link": { | ||
"type": "generated-index", | ||
"description": "AaveV3 Dashboard Implementation using Powerloom protocol" | ||
} | ||
} |
110 changes: 110 additions & 0 deletions
110
...th-powerloom/use-cases/existing-implementations/aavev3-dashboard/data-points.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,110 @@ | ||
--- | ||
sidebar_position: 1 | ||
--- | ||
|
||
# Datapoints | ||
|
||
![AaveV3 Dashboard Powerloom](/images/aavev3-dashboard-powerloom.png) | ||
|
||
In Aave V3-Pooler, data points are specific, quantifiable elements derived from Aave V3 lending activities. | ||
Each snapshot inherits `Snapshot Base` which looks something like this | ||
```python reference | ||
https://github.com/PowerLoom/snapshotter-computes/blob/6fb98b1bbc22be8b5aba8bdc860004d35786f4df/utils/models/message_models.py#L9-L17 | ||
``` | ||
|
||
The following type of Base Snapshots are generated for the Aave V3 dashboard: | ||
|
||
**1. Asset Metrics Snapshot:** | ||
|
||
The Asset Metrics refer to the total supplied and borrowed amounts, supply and borrow interest rates, and the indices used to compute future rate changes. | ||
The asset snapshot looks something like this: | ||
|
||
```python reference | ||
https://github.com/PowerLoom/snapshotter-computes/blob/aave/utils/models/message_models.py#L26-L42 | ||
``` | ||
* **1a. AaveSupplyData and AaveDebtData** | ||
|
||
The nominal token amount and the token amount in terms of USD at the time of snapshotting: | ||
|
||
```python reference | ||
https://github.com/PowerLoom/snapshotter-computes/blob/aave/utils/models/data_models.py#L65-L72 | ||
``` | ||
* **1b. AssetDetailsData** | ||
|
||
Additional asset details include the maximum loan-to-value ratio, liquidation information, the asset's reserve factor, borrow/supply caps, and available eMode options. | ||
|
||
For further information, please see the Aave V3 Protocol [Documentation](https://docs.aave.com/risk/asset-risk/risk-parameters). | ||
|
||
```python reference | ||
https://github.com/PowerLoom/snapshotter-computes/blob/aave/utils/models/data_models.py#L25-L34 | ||
``` | ||
|
||
* **1c. RateDetailsData** | ||
|
||
Additional rate details describing the interest rate strategy for the asset. | ||
|
||
For further information, please see the Aave V3 Protocol [Documentation](https://docs.aave.com/risk/liquidity-risk/borrow-interest-rate). | ||
|
||
```python reference | ||
https://github.com/PowerLoom/snapshotter-computes/blob/aave/utils/models/data_models.py#L37-L45 | ||
``` | ||
|
||
**2. Volume-by-Action Snapshot** | ||
|
||
The asset's total volume-by-action for the Epoch, and the corresponding events for each action emitted by the blockchain. | ||
The volume-by-action snapshot looks something like this: | ||
|
||
```python reference | ||
https://github.com/PowerLoom/snapshotter-computes/blob/aave/utils/models/message_models.py#L91-L98 | ||
``` | ||
|
||
* **2a. volumeData** | ||
|
||
The total nominal token volume and the volume in terms of USD at the time of snapshotting: | ||
|
||
```python reference | ||
https://github.com/PowerLoom/snapshotter-computes/blob/aave/utils/models/data_models.py#L92-L94 | ||
``` | ||
|
||
* **2b. liquidationData** | ||
|
||
Additional details describing a liquidation action: | ||
|
||
```python reference | ||
https://github.com/PowerLoom/snapshotter-computes/blob/aave/utils/models/data_models.py#L117-L122 | ||
``` | ||
|
||
These base snapshots are used as the data source for higher-order aggregates. These aggregates are then used to generate the data points present in the Aave V3 Dashboard. Refer to [data-composition](/docs/protocol/data-composition) for more details on how data points are composed. | ||
|
||
The following aggregate snapshots are generated by AaveV3-Pooler using base snapshots. | ||
|
||
**1. Top Assets by Marketshare Snapshot:** All assets are organized by the total market share on the protocol. The top assets by marketshare snapshot look something like this: | ||
|
||
```python reference | ||
https://github.com/PowerLoom/snapshotter-computes/blob/aave/utils/models/message_models.py#L55-L69 | ||
``` | ||
|
||
**2. 24 Hour Volume-by-Action Snapshot:** 24-hour volume-by-action for each asset per Epoch. The 24-hour volume-by-action snapshot looks something like this: | ||
|
||
```python reference | ||
https://github.com/PowerLoom/snapshotter-computes/blob/aave/utils/models/message_models.py#L101-L107 | ||
``` | ||
|
||
**3. Top Assets by 24 Hour Volume Snapshot:** All assets are organized by total, 24-hour total volume-by-action. The top assets by volume snapshot looks something like this: | ||
|
||
```python reference | ||
https://github.com/PowerLoom/snapshotter-computes/blob/aave/utils/models/message_models.py#L110-L128 | ||
``` | ||
|
||
**4. 6 Hour Average Rate Snapshot:** Average supply and borrow rates over the previous 6 hours per Epoch. The 6-hour rate snapshot looks something like this: | ||
|
||
```python reference | ||
https://github.com/PowerLoom/snapshotter-computes/blob/aave/utils/models/message_models.py#L82-L88 | ||
``` | ||
|
||
**5. 24 hours Total Market Stats Snapshot:** 24-hour stats for the entire Aave lending market. The 24-hour stats snapshot looks something like this | ||
|
||
```python reference | ||
https://github.com/PowerLoom/snapshotter-computes/blob/aave/utils/models/message_models.py#L72-L79 | ||
``` | ||
|
24 changes: 24 additions & 0 deletions
24
...ild-with-powerloom/use-cases/existing-implementations/aavev3-dashboard/index.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
--- | ||
sidebar_position: 0 | ||
--- | ||
|
||
# Introduction | ||
|
||
## Pooler - AaveV3 Data Market | ||
|
||
Powerloom's AaveV3 dashboard is an [extension](/docs/build-with-powerloom/use-cases/building-new-usecase/extending-uniswapv2-dashboard) of the Pooler framework. Its design is similar to the [UniswapV2](/docs/build-with-powerloom/use-cases/existing-implementations/uniswapv2-dashboard/) dashboard use case. The data network is powered by [Snapshotters](/docs/build-with-powerloom/snapshotter-node/introduction) who capture critical data points from Aave's on-chain Smart Contracts. This data is then processed, aggregated, and displayed on the dashboard to provide users of the Aave protocol with actionable metrics. This implementation is a testament to the composable nature of Pooler and the Powerloom data network's flexibility in capturing a diverse range of data points. | ||
|
||
The Dashboard is hosted at [aave-v3.powerloom.io/](https://aave-v3.powerloom.io/) | ||
|
||
### Data Points and Aggregated Metrics | ||
|
||
Data points are essential elements that serve as the foundational units upon which base snapshots are built. In the Aave protocol, they capture key information about loans, such as the total supplied and borrowed amounts, interest rates, and asset prices at the time of the lending. These base data points are snapshotted and then aggregated by AaveV3-Pooler to provide broader loan market statistics & insights, such as 24-hour lending/borrowing volumes and historical APR rates. Due to their inherent complexity, participants may find lending markets challenging to navigate. Access to actionable metrics is important for users seeking to deploy their capital efficiently and at the appropriate risk levels. | ||
|
||
--- | ||
|
||
### Development and Extension | ||
|
||
The Pooler framework builds upon the modular architecture of a Snapshotter Node and enables extensions and custom use case implementations. A developer can extend the pooler compute files found in [snapshotter-computes](https://github.com/PowerLoom/snapshotter-computes/tree/aave) and config files found in [snapshotter-configs](https://github.com/PowerLoom/snapshotter-configs/tree/aave) to build their own custom use case implementations. | ||
|
||
The documentation has a dedicated section that discusses further implementation and use-case extensions. | ||
Check out our guide on [Setup and Extension](/docs/build-with-powerloom/use-cases/existing-implementations/aavev3-dashboard/setup-and-extension.md). |
Oops, something went wrong.