价格预言机
协议如何将LP位置状态转换为与信用相关的抵押品价值。
概述
Avana 通过重建头寸并评估其中的资产来定价 LP 抵押品。对于可替代的 LP,协议通过外部资产价格和资金池余额重建来推导其价值。对于集中流动性,它通过流动性、范围、当前刻度、代币敞口和已累积费用来分解头寸。
结果会折算为可回收的抵押价值。借款能力是基于在市场风险假设下该头寸实际能够支撑的额度,而不是基于乐观的净资产值。
市价与可回收价值的区分,使预言机服务于借贷而非仅做分析。ERC-20 LP、NFT LP 与多资产池能共用同一高层接口,是因为价值到达 Spoke 前,每一类都经过各自的校验与抗操纵检查。
LP collateral value depends on:
- 基础资产的价格
- 池子储备或库存分配
- Fee accrual
- 对于集中流动性,当前刻度相对于仓位范围
- 无论仓位是在区间内还是大部分偏向一边
预言机接口: IOracle
即便各 DEX 的 LP 形态差异很大,Borrow Spoke 仍需要统一的合约接口。`IOracle` 提供该共通形状,并将本金价值、应计费用与预留缓冲分开,使后续风险逻辑不必猜测自己在看仓位的哪一部分:
function getValue(uint256 tokenId, address asset)
external view returns (
uint256 fullValue,
uint256 feeValue,
uint256 reserveValue
);该接口对 Spoke 隐藏 DEX 专属底层细节。同一调用方可用统一返回结构处理 ERC-20 LP、NFT LP 与多资产池,同时在后台保留保守的、按抵押品族的差异化处理。
多层架构
LP 估值是一个分阶段的过程,而不是单一的现货价格读取。预言机路径经过以下步骤:
从外部可靠的预言机定价基础资产
从有韧性的外部数据源开始获取底层资产的信息,这样抵押品就不会继承原始流动池现货状态的全部噪声或可操控性。
保守地导出LP的值
用 Spoke 可推断的确定性路径,从储备、流动性、区间与费用重建可互换 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 计算
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 LP 的分解代币暴露,而不是将 NFT 视为一个黑箱。
Balancer
加权代币观察结果与资金池权重结合,以在预言机分配保守的抵押价值之前验证多资产库存分割。
Curve
稳定币观察主要用于检测过时的数据源、储备漂移和短期异常,而外部价格仍然是主要的锚点。
乔氏商贸 & Aerodrome
在30到60分钟的窗口内进行的累计价格观察有助于验证低流动性池的状态,并在抵押品检查期间抵御同一交易的操纵。
安全与防操纵
- 偏离阈值
当池衍生的验证数据偏离外部参考价格太远时,新贷款或清算可以暂停
maxDifference. - maxPoolPriceDifference
这能使池子隐含状态与基础代币价格保持一致,并限制瞬时池操纵或同一交易中的预言机滥用。
- 未平仓上限
敞口受到LP家庭、资金池深度和抵押品复杂性的限制,因此流动性较低的市场会获得更严格的借贷上限。
- 可回收折减
在授予任何借款能力之前,预言机会对理论LP价值进行折扣,考虑到临时损失、解仓滑点以及压力清算的假设。
- Oracle Sentinel
Oracle Sentinel 监控馈送健康状况和验证输入,并且当数据过时、被破坏或与位置状态检查不一致时,可以触发备用行为。
可配置预言机参数
池特定的预言机设置是通过每个代币进行配置的 setTokenConfig下表显示了用于定义如何检查代币及其相关流动池的参数:
| 参数 | 说明 |
|---|---|
| 代币 | 抵押代币地址 |
| AggregatorV3Interface | 用于基础代币的 Chainlink 价格馈送 |
| maxFeedAge | Chainlink 数据源的最大可接受年龄 |
| 流动性池 | 特定的DEX资金池(Uniswap V3,Balancer,Curve,等) |
| twapSeconds | 用于TWAP计算的窗口 |
| 模式 | Oracle 操作模式(标准/备用) |
| maxDifference | DEX与验证价格之间的最大允许偏差 |
在实践中,预言机的行为来源于外部资产定价、LP重建逻辑、可回收价值处理,以及通过配置的每个代币设置的组合setTokenConfig.
