Factory 与 Lens

了解 Pool v24 factory、不可变代理、router 和版本绑定的 lens。

本页描述 Pool v24 集成面,即当前已提交的协议基线。较旧的 v22 和 v23 factory 与 lens 不是 v24 的回退方案。v24 lens 会按 v24 factory 和 cohort 校验每个池,任何不匹配都会回退。

v24 集成面

  • PvpAMMFactoryV24 创建并注册价格市场池。
  • 每个池都是绑定单一实现的 ImmutablePoolProxyV24,代理不可升级。
  • RouterKernelV24 为 factory 注册的池执行受保护操作。
  • PoolReadLensV24、LiquidityReadLensV24 和 PvpV24QuoteLens 提供有界读取和与执行对齐的报价。

当前 v24 池报告池版本 24、修订 0;兼容组件必须匹配预期 schema 和身份。每个部署属于一个 cohort,每个池都记录自己的创建身份:链、schema、cohort、market key、实现和 factory。

Market key 与建池

池以 marketKey 注册,它是链 ID、schema set、market ID 哈希和抵押品的哈希。factory 在每条创建路径上推导并校验该键,getPool(marketKey) 解析已注册的池。

创建有两条路径:

  • 治理建池(createGovernanceMarket,仅 owner):治理提供预言机、风险配置、费用配置和池配置。
  • 保证金建池(createMarketWithBond):创建者锁定配置的 bond,获得按治理批准预设构建的池。

两条路径都会按抵押品政策校验预言机,通过带 cohort salt 的 CREATE2 预测池地址,并要求预测地址和注册槽为空。保证金创建者不获得任何池角色。bond 在锁定期结束后可以提取,存在期间治理可以罚没;罚不会移除池。

治理可以将市场标记为已验证。该标记只是策展元数据:不授予池角色,也不改变费用资格。

factory 不是市场目录。发现市场请使用当前部署清单、产品配置、索引器或 factory 事件。使用 factory 确认已知 market key 对应的池。

通过 router 的受保护执行

池接受来自绑定 RouterKernelV24 的路由操作。操作携带预期摘要、期限和操作相关的边界,例如价格、支付、协议费、债务、Safety Reserve 使用和未覆盖债务。报价不保留状态,执行时状态为最终依据。参见订单与执行。

版本绑定的 lens

Lens Set 中的组件分工如下:

  • PoolReadLensV24 返回池状态和资金费视图,PositionReadLensV24 提供仓位分页与延期权益视图。
  • LiquidityReadLensV24 返回 lot 分页、单 lot 权益视图和 LP 汇总。
  • PvpV24QuoteLens 镜像支持的写操作,包括开仓、平仓、添加和移除流动性、手续费与 Funding 领取、清算和恢复操作。

解码前,每个 lens 都会校验池由绑定的 factory 创建、属于对应 cohort、报告预期版本和修订,并通过 getPool(marketKey) 解析回同一地址。任何一项失败都会回退,不存在回退到 v22 或 v23 lens 解码的路径。

报价结果携带快照 envelope,其中包含报价使用的记账、托管和配置摘要。请将这些摘要带入写操作:不匹配时整体回退,而不是基于过期假设继续执行。

市场策略读取

每个池还直接在池地址上暴露 poolMarketPolicyV24()。它基于单次读取快照返回一个 PoolMarketPolicyViewV24:

  • funding:与 poolFundingProjectionV24() 返回的相同的已存储及计划中的资金费投影。
  • fundingConfig 与 modelRates:当前生效的 FundingRateConfigV24,以及当前模型给出的多空年化费率指示。
  • eligibleLpFundingValue:该快照下承担资金费的 LP 价值。
  • effectiveMaxLeverageWad、newRiskEnabled、riskProfileHash、overlayHash:交易者有效杠杆上限(风险配置与 overlay 上限中的较小值)及其背后的风险身份。
  • readAt、oracleObservedAt、oracleValidUntil、oracleStatus:读取时间及快照使用的预言机状态。

modelRates 仅为指示值。它以零经过时间计算,不代表任何已计提资金费,也不能证明资金费正在收取。请查看 funding.stored 中的时钟状态和合格权重,以区分暂停或不可计费的市场与真实零费率。Lens Set 不包装该视图,请直接在池上调用。

部署可用性

已提交源码中的合约支持不代表存在可用的线上部署。本基线中,v24 合约记录为已在公共测试网(Base Sepolia)部署、通过验证并提升为当前生效的 release 指针,但未进行生产网络切换。请从当前部署清单或产品配置获取 factory、router、池和 lens 地址,并在集成前确认 lens set 身份。

为什么需要 factory 和 lens

  • factory 确定性地创建池并解析已知的 market key。
  • 不可变代理在创建时固定每个池的实现身份。
  • 版本绑定的 lens 为应用提供有界读取和与执行对齐的报价,无需复制协议数学。
  • 摘要绑定的执行让报价和操作基于同一份规范化状态。

本页目录