源文档勘误

本书由项目的文档汇编而成。其中有几份所反映的仍是已经改变的现实状况。本页指出是哪几份,以便修复它们——也让任何人都不会以为本书与它们相矛盾是一个错误。

撰写本书时已更正

来源 错误之处
doc/ECONOMIE.md §10 概要中仍印着 4 % 的费率结构,而同一文档的 §1 写的是 5 %。一份自称具有最终裁定地位的文档,在它自己的摘要中自相矛盾
doc/ECONOMIE.md §2、§3、§12 描述了联合曲线、毕业,以及“毕业不可逆”这一不变量
doc/BRANDING.md 那句规定须逐字使用的句子将 Ondo Global Markets 称为发行方
doc/DECISIONS.md 已冻结的表格中仍载有 800M curve / 200M LP、毕业门槛和毕业费
doc/CASE_STUDY.md 将 Robinhood Stock Tokens 列为被否决的通道之一,理由是“位于不合适的链上”
projet/README.md Compliance 段落只提到了 Ondo
projet/docs/ACCEPTANCE.md 以旧名称 …takesFourPercent… 引用了三个测试
projet/dapp/ Treasury Ratio 的提示框中包含 BRANDING.md 所禁止的词 redemption。已于 2026-09-26 修复
doc/DIAGRAMS.md 七张图中有四张描述的是曲线和毕业。已于 2026-09-28 围绕双头寸发射重新绘制
doc/ACCEPTANCE.md、doc/USER_FLOWS.md、doc/PRD.md、doc/TESTNET_RUN.md、doc/CONTRACT_SPEC.md、doc/TREASURY_FLOW.md、doc/DEV_HANDOFF.md、doc/FRONTEND.md、doc/ROADMAP.md 描述的是在联合曲线上进行、带有毕业的发射。已于 2026-09-28 重写,即重新设计的发射机制写进代码之时
projet/README.md、projet/docs/RUNBOOK.md、projet/docs/ACCEPTANCE.md 按代码当时的做法描述发射,即使用联合曲线。已于 2026-09-28 重写;SECURITY_REVIEW.md、IMPLEMENTATION_DECISIONS.md 和 projet/contracts/certora/RESULTS.md 属于日志,改为附上一条注明日期的说明
projet/dapp/ /launch 曾显示“You pay: gas only”。自 2026-09-28 起,它显示 0.001 ETH 的创建费,外加可选的发射买入
doc/FRONTEND.md、doc/DEV_HANDOFF.md、doc/DECISIONS.md 规定使用 Next.js 前端,或在冻结的技术栈中写着它,而代码库中的 dapp 是 React + Vite。已于 2026-10-02 由代码而不是文档解决:取代那个 dapp 的应用 cairn-app/ 是一个 Next.js 应用

尚未更正

来源 仍然错误之处
doc/DIAGRAMS.md 架构图中没有跨链桥
doc/ACCEPTANCE.md 文案标准仍要求使用 Ondo 那句话
doc/TESTNET_RUN.md 测试网计划仍依赖 Ondo 的 mock 合约
doc/ACCEPTANCE.md、doc/USER_FLOWS.md、doc/FRONTEND.md、doc/DIAGRAMS.md 仍将空投置于 Robinhood Chain 上,而 2026-09-28 的修订已将其移至以太坊,以封装股票的形式发放
doc/CONTRACT_SPEC.md 跨链合约在其中没有规定
doc/ROBINHOOD_TOKENS.md 一份涵盖 20 种资产的历史调查。截至 2026-09-11,API 列出了 194 种,其中包括 MSFT
projet/docs/IMPLEMENTATION_DECISIONS.md §17 仍将 Ondo 作为主要通道

2026-10-01 修复之前的本书

本书的早期版本陈述了四件事,而 2026-09-29 的安全审计表明,它们在代码中并不成立。自 2026-10-01 的修复以来,它们已经成立。

陈述 审计的发现
每一笔交易都支付 5 %(费用) 第三方流动性头寸与被征税的兑换进行交易,却不支付税,在前十个区块中也不支付防狙击税
一个出故障的团队钱包或回购钱包会让费用暂存起来,而不是让池子瘫痪(Hook 与防狙击) 一个接受了付款、随后调用 PoolManager 的钱包,可以让每一个池子的交易都停止
Keeper 既不选择资产,也不选择价格(国库) 通过跳过股票,Keeper 可以把一个国库的几乎全部资产转入其篮子中的一只股票
一个合约根据代币所记录的持仓计算每一份空投份额(空投) 代币没有记录随时间变化的总量,因此没有任何合约能够计算按比例份额的分母

2026-10-01 安全流水线之前的本书

本书的早期版本陈述了三件事,而 2026-10-01 的安全流水线,即第二轮审计,表明它们并不成立,或并不总是成立。第一件事自其修复以来已经成立,gas 数字也已在其所在的页面上更正。第三件事是代码的一项限制,如今已在相关页面上写明;2026-10-05,所有者决定保持代码现状。

陈述 流水线的发现
只成交部分数额的路径会失败,随后尝试下一个候选路径(Robinhood 通道、决策日志) 仅限于 v3 路径的第一个池。在后面的池中发生的部分成交,会把中间代币留在 Uniswap 的 v3 路由器中,任何人都可以拿走它,而该段却照样成功
一个代币在每个小时中的第一笔兑换多消耗约 23,000 gas(空投) 那是在一笔交易内部测得的。作为一笔单独的交易,这笔兑换要多消耗约 28,000 至 30,000 gas,这是以太坊 Glamsterdam 升级之前的价格;在该升级下,在 Sepolia 上要多消耗 123,216 gas
市场可以通过任何支持 v4 的路由器交易(买入与卖出) 并非每一笔买入都可以。对于在兑换之后才结算买家 ETH 的路由器,税会从 PoolManager 已经持有的 ETH 中扣除,而当税额超过这部分 ETH 时,它的买入就会回滚

2026-10-05 审计循环之前的本书

本书的早期版本陈述了两件事,而 2026-10-05 的审计循环表明,它们在代码中并不成立。自当天的修复以来,两者都已成立。

陈述 审计循环的发现
在正在使用的代币上指定的持仓记录器,付给一个它没有见到变动过的持有者的会更少,也不会多付给任何人(空投、信任模型) 对于在切换之前开始的时间窗口并非如此:这样的时间窗口只从切换时起计量,会多付给在切换之后变动过的人,在测试中支付了应得数额的 15.7 倍。自第三个循环起,新的记录器不会计量任何这样的时间窗口
$STOCKFUN 的发射操作者在铸造与锁定之间的持仓,在 $STOCKFUN 的第一个循环中只占极小的份额(空投) 一个在这期间关闭的时间窗口只计入了发射操作者,并把整个第一个循环都付给了它。自第三个循环起,发射脚本会排除发射操作者,自第四个循环起,它在铸造之前就这样做

2026-10-06 链下审查之前的本书

本书的早期版本按照决定陈述了转换节奏,而 Keeper 的代码并没有遵循它。自 2026-10-06 的修复以来,它已成立。

陈述 第五个审计循环的链下审查的发现
Keeper 每 24 小时转换一次金库的 ETH,就在空投之前,前提是金库达到门槛,并且在一天当中越过门槛不会触发任何操作(Keeper、空投、国库) 一旦金库达到门槛,Keeper 就会在交易时段内的任何一轮进行转换,默认每五分钟一轮。自 2026-10-06 起,它每个时间窗口转换一次,在关闭之后的第一轮进行

2026-09-27 的空投决定

项目在 doc/ 中的源文档以及落地页规格已于 2026-09-27 与空投对齐。在代码中,创建者回购和跨链桥的回程路径已于 2026-09-28 移除,空投合约已于 2026-10-04 写进代码,Keeper 的空投步骤和 dapp 的领取页面已于 2026-10-05 写进代码,这些都尚未部署。股票适配器尚未写进代码。代码库中的应用已不再显示 Treasury Ratio。参见实施状态。

测试数量

源文档中流传着五个互不相容的数字,它们产生于不同的日期。本书一个也不引用,这是有意为之。测试数量只有在与某次注明日期的运行相关联时才有意义,而它唯一能证明的,是那次运行所覆盖的内容。本书给出的那些数字位于测试与验证中,并各自附有其运行日期。

被排除的文档

doc/ondo.md 是一份 markdown 已损坏的草稿,已被 projet/docs/ONDO_BRIEF.md 完全取代,随后又因通道变更而失去意义。本书没有任何一页引用了它。