-
Notifications
You must be signed in to change notification settings - Fork 112
docs: consolidated tech docs #1297
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
yan-man
wants to merge
21
commits into
main
Choose a base branch
from
docs/tech-docs
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
21 commits
Select commit
Hold shift + click to select a range
fecf38f
docs: Add Glossary doc (#1240)
CanonicalJP 9ea9cc3
Merge remote-tracking branch 'origin/main' into docs/tech-docs
CheyenneAtapour 0a839f6
docs: Add LiquidationEngine tech doc (#1239)
CanonicalJP 0dd9e8f
docs: Add SiloedBorrowing tech doc (#1238)
CanonicalJP 9876414
docs: Add ReinvestmentModule tech doc (#1231)
CanonicalJP 24a2c3a
docs: Add TokenizationSpoke tech doc (#1224)
CanonicalJP 786b25b
fix: Corrected StyleGuide missmatches
CanonicalJP 7268fb0
fix: Explicitly mentioned that it is possible for repayment of >0 deb…
CanonicalJP 68203e5
docs: Add IsolationMode tech doc (#1237)
CanonicalJP a5f84d6
docs: Add DynamicConfiguration tech doc (#1233)
CanonicalJP 4fc5a51
docs: Add PositionManager tech doc (#1225)
CanonicalJP 58d94a4
docs: Update overview.md (#1285)
CanonicalJP 9594f92
Apply suggestion
yan-man a6a1c1b
Addressed PR's comments
CanonicalJP c7aca29
fix: Corrected style guide missings
CanonicalJP bca1658
fix: Addressed PR comments
CanonicalJP 34a8a18
docs: Add new docs reference in README (#1286)
CanonicalJP 987f619
feat: add e-mode aave v4 configuration doc
defispartan 8865a43
fix: posm doc function name
defispartan e79e473
fix: updated emode style and added it to the README index
CanonicalJP 32d214d
fix: corrected typo
CanonicalJP File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or 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 hidden or 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,59 @@ | ||
| # Glossary | ||
|
|
||
| Canonical terminology for Aave V4. Terms appear in alphabetical order. | ||
|
|
||
| --- | ||
|
|
||
| **Base Drawn Rate:** Per-asset interest rate set at the Hub level, applied to all drawn debt for that asset. Determined by the Hub's interest rate strategy, based on current utilization. The symbol $R_{sbase,i}$ refers to the base drawn rate for asset $i$. | ||
|
|
||
| **Collateral Factor:** Maximum percentage of collateral value that can be borrowed against a collateral asset. | ||
|
|
||
| **Collateral Risk:** Additional risk parameter per asset, managed by the Governor. Introduces a charge on borrowers above the base drawn rate. | ||
|
|
||
| **Deficit:** Protocol accounting state in which a borrower has outstanding debt but no remaining collateral after a liquidation. Deficits are tracked per asset at the Hub level and reported per Spoke (the Spoke where the shortfall arose). Authorized active Spokes can eliminate a deficit on behalf of a specific other Spoke's reported deficit for that asset by deploying their supplied shares. | ||
|
|
||
| **Draw Cap:** Maximum amount a Spoke can draw from a Hub. | ||
|
|
||
| **Drawn Debt:** Base debt of a position, accruing interest at the base drawn rate. | ||
|
|
||
| **Dynamic Risk Configuration:** Combination of Risk Configuration parameters that allows different users to be subscribed to different configurations. | ||
|
|
||
| **Governor:** Entity authorized to manage Spokes and Hubs, set risk parameters, configure caps, and execute emergency controls. In the Aave V4 deployment, this is the Aave DAO. | ||
|
|
||
| **Health Factor (HF):** Ratio of a user's weighted collateral value (adjusted by Collateral Factor) to total outstanding debt value. When HF drops below `HEALTH_FACTOR_LIQUIDATION_THRESHOLD`, the position becomes eligible for liquidation. | ||
|
|
||
| **Hub:** Central store where all liquidity is held, accessed by attached Spokes. No collateralization is enforced on the Hub. | ||
|
|
||
| **Isolation Mode:** Configuration pattern that deploys a dedicated Spoke and Hub pair for a new or experimental asset with contained risk. This asset is the only allowed collateral asset. Borrowable assets are restricted by the `borrowable` flag on each Reserve; maximum borrow exposure is controlled per asset through `SpokeData.drawCap` at the Hub. Users can retain positions in other Spokes simultaneously using the same wallet. | ||
|
|
||
| **Liquidation Bonus:** Collateral surplus awarded to a liquidator above the base currency value of the debt repaid. In Aave V4, the bonus follows a Dutch-auction formula that interpolates linearly between a governance-set minimum at `HEALTH_FACTOR_LIQUIDATION_THRESHOLD` and the per-collateral `maxLiquidationBonus` at `healthFactorForMaxBonus`. The net bonus after the protocol fee equals the effective collateral surplus received by the liquidator. | ||
|
|
||
| **Liquidation Fee:** Protocol fee applied to the effective bonus portion of collateral seized during a liquidation. A fraction of the bonus collateral is transferred to the Hub fee receiver as shares via `Hub.payFeeShares`. Expressed in BPS as `liquidationFee` in `DynamicReserveConfig`. | ||
|
|
||
| **Position Manager:** Authorized entity allowed to manage a user position after the user has granted explicit permissions to do so. | ||
|
|
||
| **Premium Debt:** Extra debt of a position, corresponding to the user's collateral risk, determined by `premiumShares`, `premiumOffset`, and `realizedPremium`. | ||
|
|
||
| **Premium Offset:** In asset terms, the effective principal value at the time debt was taken, such that premium debt accrues only on interest earned on `premiumShares`. | ||
|
|
||
| **Premium Shares:** Effective shares on which the base drawn rate is applied to accrue interest. This helps account for the extra interest owed due to a user having riskier collateral. | ||
|
|
||
| **Realized Premium:** In asset terms, the completely non-interest-bearing portion of premium debt accumulated to date. | ||
|
|
||
| **Reinvestment Controller:** Authorized entity allowed to pull idle liquidity from the Hub to generate yield. Responsible for maintaining investment strategies, caps, and accounting for yield distribution to suppliers. | ||
|
|
||
| **Reserve:** Per-asset accounting unit within a Spoke. Each Reserve tracks supply and borrow state for a single asset, references its Hub via `Reserve.hub`, and carries configuration for collateral eligibility, borrowability, interest parameters, and liquidation settings. | ||
|
|
||
| **Risk Premium:** Weighted average of the Collateral Risk values of a user's collateral assets. | ||
|
|
||
| **Siloed Borrowing:** Configuration pattern in which a single asset is designated as the sole borrowable Reserve in a Spoke by setting `borrowable = false` on all other Reserves. Borrow exposure and any resulting risk are confined to the siloed asset's Hub; other Spokes and markets are not affected. | ||
|
|
||
| **Spoke:** Entity that can supply to and draw liquidity from the Hub. | ||
|
|
||
| **Supply Cap:** Maximum amount a Spoke can supply to the Hub. | ||
|
|
||
| **Target Health Factor:** The HF to which a borrower's position is restored after liquidation, set by the Governor at the Spoke level. Liquidators repay only the debt necessary to reach this value, replacing the fixed close-factor used in Aave V3. | ||
|
|
||
| **Tokenization Spoke:** Spoke variant that exposes only the supply side of the protocol via an ERC-4626 interface. Has no borrow surface and no risk premium calculation; positions through the TokenizationSpoke are supply-only. | ||
|
|
||
| **User Borrow Rate:** Effective borrow rate charged to an individual user, composed of the base rate from the asset's `drawnRate` and an additional Risk Premium. |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
confirmation on terminology for "standard spokes"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if we agee that "Standard Spoke" is the the official name for the standard Spoke. I'll update all docs to have both words capitalized on the first letter
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
dont feel too strongly, works for me as long as we're consistent
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I asked cc @EthWarrior his thoughts here too
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
He says Canonical is good, I like it too