价格预言机
协议如何将LP位置状态转换为与信用相关的抵押品价值。
概述
Avana 通过重建头寸并评估其中的资产来定价 LP 抵押品。对于可替代的 LP,协议通过外部资产价格和资金池余额重建来推导其价值。对于集中流动性,它通过流动性、范围、当前刻度、代币敞口和已累积费用来分解头寸。 结果会折现以估算在市场风险假设下可回收的抵押品价值。因此,借款能力反映了头寸的基础资产以及在清算过程中可以回收这些资产的条件。 位置价值与可回收价值之间的区别很重要,因为预言机为贷款决策提供输入。ERC-20LP 代币、位置 NFT 和多资产池共享一个接口,但每种格式在其价值到达 Borrow Spoke 之前都有自己的重建、验证和操作检查。
LP collateral value depends on:
- 基础资产的价格
- 池子储备或库存分配
- Fee accrual
- 对于集中流动性,当前刻度相对于仓位范围
- 无论仓位是在区间内还是大部分偏向一边
预言机接口: IOracle
`IOracle` 为 Borrow Spoke 提供了一个跨 LP 种格式的通用估值接口。它的返回值区分了本金、应计费用和保留缓冲,因此调用者可以分别对每个组件进行核算:
function getValue(uint256 tokenId, address asset)
external view returns (
uint256 fullValue,
uint256 feeValue,
uint256 reserveValue
);该接口背后的适配器处理DEX特定的重建和验证。Borrow Spoke接收相同的返回字段,用于ERC-20LP代币、位置NFT和多资产池,而每个实现都会应用其抵押类型所需的检查。
多层架构
LP 估值是一个分阶段的过程,而不是单一的现货价格读取。预言机路径经过以下步骤:
从外部可靠的预言机定价基础资产
外部信息源为基础代币提供参考价格。这将资产价格输入与流动池的即时交易价格分离开来,后者可能会受到短期交易或操纵的影响。
保守地导出LP的值
该预言机使用储备、流动性、范围和已累积费用重建可替代 LP 余额或分解集中流动性头寸。这些输入决定了该头寸所代表的资产。
针对临时损失和清算滑点的折扣
重建的价值会因市场压力条件、清算滑点以及持仓的退出路径而折价。由此得到的价值估计的是清算可能回收的金额。
通过LP家庭和泳池深度限制曝露
风险敞口控制使用LP系列、池类型和可用流动性深度来限制市场能够支持的借贷量。
将可回收价值应用于借款和清算
借贷能力和清算检查使用通过配置的退出路径可回收的估计价值。
DEX 特定处理
每个DEX都会显示不同的头寸和资金池数据。预言机从这些数据重建基础资产,并将得到的估值与其参考价格和风险控制进行核对。
| DEX / LP 类型 | 预言机来源 | 说明 |
|---|---|---|
| Curve 稳定/稳定 ERC-20 LP秒 | 外部稳定币行情 + 池状态检查 + TWAP 验证 | 外部价格锚定资产,而池余额和费用累计决定折扣后的抵押品价值。 |
| Uniswap V2 ERC-20 LP秒 | Chainlink + 储备重建 + TWAP 验证 | 标准LP代币的价值来源于重建的基础余额,并使用TWAP作为防操纵的交叉验证。 |
| Uniswap V3 NFT LP秒 | Chainlink + 持仓分解 + tick/TWAP 检查 | NFT按流动性、活跃范围和当前价格分解,然后按可回收清算价值进行折算。 |
| Balancer 多资产 LPs | Chainlink + 加权库存重建 | 多代币池使用外部价格和加权池库存来估算保守的抵押价值。 |
| SushiSwap / Aerodrome | Chainlink + 储备重建 + TWAP 验证 | 来自池的观察验证了重建价值,并有助于抵御低流动性市场中的同一交易滥用。 |
| PancakeSwap | Chainlink + 基于区块的 TWAP 验证 | 外部价格仍然是锚点,而基于区块的观察验证了头寸状态并解除假设。 |
按 DEX 的 TWAP 计算
时间加权平均价格(TWAPs)提供了与外部资产价格和头寸重建一起的验证数据。比较这些输入有助于识别短暂的价格扭曲或不一致的资金池状态。TWAP数据是对估值过程的补充,而不是单独提供抵押品价值。
Uniswap V2 & 寿司交换
On-chain cumulative price data over a 1-hour window is used to cross-check the reconstructed reserve picture and reduce sensitivity to flash swaps or other short-lived pool distortions.
Uniswap V3
对于集中流动性头寸,检查使用刻度范围、流动性分布和累积费用来验证每个NFT所表示的代币暴露。
Balancer
加权代币观察结果与资金池权重结合,以在预言机分配保守的抵押价值之前验证多资产库存分割。
Curve
稳定币观察主要用于检测过时的数据源、储备漂移和短期异常,而外部价格仍然是主要的锚点。
乔氏商贸 & Aerodrome
在30到60分钟的窗口内进行的累计价格观察有助于验证低流动性池的状态,并在抵押品检查期间抵御同一交易的操纵。
安全与防操纵
- 偏离阈值
当池衍生的验证数据偏离外部参考价格太远时,新贷款或清算可以暂停
maxDifference. - maxPoolPriceDifference
这能使池子隐含状态与基础代币价格保持一致,并限制瞬时池操纵或同一交易中的预言机滥用。
- 未平仓上限
敞口受到LP家庭、资金池深度和抵押品复杂性的限制,因此流动性较低的市场会获得更严格的借贷上限。
- 可回收折减
在授予任何借款能力之前,预言机会对理论LP价值进行折扣,考虑到临时损失、解仓滑点以及压力清算的假设。
- 预言机哨兵
Oracle Sentinel 监控馈送健康状况和验证输入,并且当数据过时、被破坏或与位置状态检查不一致时,可以触发备用行为。
可配置预言机参数
池特定的预言机设置是通过每个代币进行配置的 setTokenConfig下表列出了用于验证代币价格来源和相关池的参数:
| 参数 | 说明 |
|---|---|
| 代币 | 抵押代币地址 |
| AggregatorV3Interface | 用于基础代币的 Chainlink 价格馈送 |
| maxFeedAge | Chainlink 数据源的最大可接受年龄 |
| 流动性池 | 特定的DEX资金池(Uniswap V3,Balancer,Curve,等) |
| twapSeconds | 用于TWAP计算的窗口 |
| 模式 | Oracle 操作模式(标准/备用) |
| maxDifference | DEX与验证价格之间的最大允许偏差 |
在实践中,预言机的行为来源于外部资产定价、LP重建逻辑、可回收价值处理,以及通过配置的每个代币设置的组合setTokenConfig.
