源文档勘误
本书由项目的文档汇编而成。其中有几份所反映的仍是已经改变的现实状况。本页指出是哪几份,以便修复它们——也让任何人都不会以为本书与它们相矛盾是一个错误。
撰写本书时已更正
| 来源 | 错误之处 |
|---|---|
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 完全取代,随后又因通道变更而失去意义。本书没有任何一页引用了它。