Notional Exponent审计报告

迁移pool池的功能,把迁移数设置为了不可变量

Convex 的某个奖励池被废弃(例如旧的 pid 失效),并为同一个LP token分配了新的 pid 时,升级管理员可以执行“迁移”操作,将流动性从旧 pid 提取,再存入新的 pid

但是,策略合约中记录的 pid 是不可变(immutable)的。这意味着策略合约本身仍会引用旧的 pid 和旧的奖励池(即旧的 yieldToken),即使底层资产已经迁移到了新的奖励池。结果是:策略的内部状态与 Convex 实际奖励池状态不一致,功能失效。

迁移资金时,没有注意还有其他的资金在另外一个地方

这个要根据分析迁移时的资金转移来看,必须得深入每一个调用链的关系.分析资金的走向

AbstractRewardManager::migrateRewardPool 函数允许管理员将当前奖励池迁移至一个新的奖励池。

在迁移过程中,合约会尝试先领取旧奖励池的奖励,然后再将资产转入新奖励池。但在调用链深入分析后发现,这个流程 忽略了 Convex 中“奖励暂存合约(stash)”中的奖励领取机制,导致部分奖励在迁移中丢失。

错误的计算,通过一种资产计算另一种资产

计算逻辑:

PT → 可换 SY(看得见)

SY ≠ Yield Token(预言机误认为是)

所以:PT价格 = SY数量 × YieldToken价格 → ❌ 高估

→ 抵押被高估 → 超额借款 → 爆仓风险上升

没有在支持的链上实现特定的功能

该项目在以太坊主网上实现了撤回资金的功能,但是并没有在侧链上实现,导致功能的受损