AAVE 核心协议
Overview
LendingPoolAddressesProvider
和 LendingPoolAddressProviderRegistry
都控制协议的可升级性,包括资产列表和协议参数的更改。AAVE 持有者将通过 Aave 协议治理控制二者。
LendingPool
LendingPool
合约是协议的主合约,其公开了所有可以使用 solidity 或 web3 库调用的面向用户的操作。
AddressesProvider
特定市场的协议的地址寄存器。这个合约是不可变的,地址永远不会改变。
LendingPoolAddressesProviderRegistery
一个活跃的 LendingPoolAddressesProvider
合约的寄存器,覆盖所有市场。这个合约是不可变的,地址永远不可变。
ProtocolDataProvider
该合约的目的是帮助集成商和开发人员更轻松的利用 Aave 协议的数据和功能。
aToken
aToken 是一种产生收益的代币,会在deposit
时铸造,withdraw
时销毁。aToken 的价值与对应存入的资产以 1:1 的比例挂钩,能够安全地存储、转移或交易。通过 aToken 储备金收集的所有利息会直接分配给 aToken 持有者,具体表现为其钱包余额的持续增长。
Debt Token
Debt Tokens 是在借款时 mint,还款时 burn 的计息代币,代表代币持有者所欠的债务。debt tokens 有两种类型:
- Stable debt tokens,代表对协议的债务,债务利率稳定
- Variable debt tokens,代表对协议的债务,债务利率浮动
AAVE Token
AAVE token 是一种兼容 ERC-20 的 token,增加了快照功能(用于治理余额跟踪),并集成了 EIP-2612 许可功能,允许无 gas 交易和一次交易批准/转移。
Price Oracle
在整个 Aave 协议中,我们需要可靠、最新且安全的报价。我们的代理价格提供商合于提供了此功能,其工作原理是:
- 首先从 Chainlink 聚合器查看价格
如果加个低于或等于零,我们就会调用我们的 fallback price oracle。
- 未来,Aave 治理机制将管理来源的选择和 fallback price oracle。
WETH Gateway
如果我们需要使用在协议中使用原生 ETH(等 native token),则必须首先将其 wrapped 成 WETH 中。WETH Gateway 是一个辅助合约,在与协议交互时根据需要轻松包装和解包 ETH,因为协议交互中只能使用 ERC20.