From bda791838b88138b47af3dd8da752f8bf9660965 Mon Sep 17 00:00:00 2001 From: jhfnetboy Date: Thu, 9 Jul 2026 14:16:05 +0700 Subject: [PATCH 1/8] docs: sync sdk production-readiness into consolidated doc MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Folds repo:sdk's CC-30 reply into docs/PRODUCTION_READINESS.md: - repo:sdk section filled (12-row table, @aastar/sdk 0.39.4). - Testnet gate: sdk ✅ (no SDK blocker — core API + two-testnet canonical + ABI ready). - Mainnet gate: added SDK's finding — CANONICAL_ADDRESSES covers only the two testnet chainIds; mainnet (1/10) not wired, blocked on the 4 contract repos' mainnet deploys (CC-18 two-phase); plus SDK mainnet TODOs (CC-13 batch B Timelock wrapper, #256 GuardChecker WA precheck, #163 buyGasless). - Dependency matrix: filled the sdk→kms cell (HTTP openapi) + noted sdk needs the contract repos' mainnet addresses. - Flagged the impact on YAAA's "network switch" item (SDK-canonical-follows-chain holds for testnet only). Source: CC-30 [repo:sdk] 2026-07-09. 4 dependency repos (kms/airaccount-contract/ sp/dvt) still pending. Claude-Session: https://claude.ai/code/session_01RajETCvboSvhadpqMbekNx --- docs/PRODUCTION_READINESS.md | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/docs/PRODUCTION_READINESS.md b/docs/PRODUCTION_READINESS.md index 801e9ae..e57a79b 100644 --- a/docs/PRODUCTION_READINESS.md +++ b/docs/PRODUCTION_READINESS.md @@ -35,18 +35,19 @@ - [ ] airaccount-contract — 待回帖 - [ ] sp — 待回帖(CC-28 / slashPolicyAdmin 交权) - [ ] dvt — 待回帖(CC-13 slash E2E) -- [ ] sdk — 待回帖(两网 canonical 齐备) +- [x] sdk — 测试网无 SDK 阻塞(核心 API + 两网 testnet canonical(11155111/11155420) + ABI 全就绪) ### 🔴 主网发布门(测试网跑满 ~1 月后) - [ ] 全 6 仓合约/服务主网部署 + 充值 -- [ ] SDK canonical 主网地址齐备(参考 CC-18 两阶段经验) +- [ ] **SDK canonical 主网地址接入** —— 现 `CANONICAL_ADDRESSES` 只覆盖两个 testnet chainId,**mainnet(1/10) 未接入** → YAAA 从 SDK 取主网地址取不到;阻塞在 4 合约仓主网部署地址(照 CC-18 两阶段:合约仓部署 + CC-30 回帖地址 active → SDK 切 canonical + patch + 链上自验) +- [ ] SDK 主网前待办:CC-13 批B(Timelock 编排 wrapper)、#256 GuardChecker WA 预检复核、#163 buyGasless 修 - [ ] YAAA 配置切换:`ETH_RPC_URL` / `BUNDLER_RPC_URL` → 主网 `[配]` - [ ] 生产配置核对(DB/密钥/Secrets) - [ ] 安全:axios 漏洞缓解方案 + 各仓审计结论 --- -## 各仓 Production-Ready(YAAA 已填;5 依赖仓待 CC-30 回帖后合并) +## 各仓 Production-Ready(YAAA + sdk 已填;kms / airaccount-contract / sp / dvt 待回帖) ### repo:yaaa — 账户抽象全栈(=Cos72 本体) ✅ 已盘点 @@ -79,9 +80,28 @@ YAAA 依赖期望:**CC-28 xPNTs 滥发防护**、**slashPolicyAdmin 交多签/ YAAA 依赖期望:**CC-13 slash 真 E2E**、**节点(imx93)部署 + gossip**、**两网 validator/slot 注册**。→ YAAA 转账 T2/T3 BLS 聚合的前置。 -### repo:sdk — @aastar/sdk ⏳ 待回帖 +### repo:sdk — @aastar/sdk ✅ 已盘点(0.39.4) -YAAA 依赖期望:**两网 canonical 地址/ABI 齐备**、**breaking 版本收敛**、**发版节奏**、**admin/tokens/kms 子入口就绪**。→ YAAA 前后端都吃 SDK canonical。 +来源:CC-30 `[repo:sdk]`(2026-07-09)。**测试网现在基本可发(SDK 侧无阻塞)**;主网门见下表 + 发布门。 + +| 项 | 评估 | 状态 | 门 | +|---|---|---|---| +| 核心 API 面(role clients + gasless + DVT 注册 + slash 读 getter) | typed API 就绪,Sepolia/OP-Sepolia 链上 E2E LIVE PASS(CC-12/CC-17) | ✅ | `[测]` | +| 两网 canonical **testnet** 地址/ABI | Sepolia 11155111 + OP-Sepolia 11155420 进 `CANONICAL_ADDRESSES`;check:addresses/abi PASS | ✅ | `[测]` | +| 两网 canonical **mainnet** 地址 | ⚠️ 只覆盖两个 testnet chainId,**mainnet(1/10) 未接入** → YAAA 主网取不到;阻塞在 4 合约仓主网部署地址 | 🟠 主网前必补 | `[主][配]` | +| ABI 齐备 | check:abi PASS(SP 16/16 到 v5.4.2);DVT AAStarBLSAlgorithm tracked;同名碰撞隔离(#301/#302);ABI 与网络无关 | ✅ | `[测]=[主]` | +| Breaking 版本收敛 / 发版节奏 | 0.37→0.39 breaking 已收敛发布,节奏稳定 | ✅ | `[测]` | +| 子入口就绪 | admin/tokens/kms/operator/enduser/community/paymaster/identity/dapp re-export;slash 读 getter 随 0.39.1 | ✅ | `[测]` | +| slash 治理写侧(CC-13 批B:Timelock 编排 wrapper) | 读 getter 批A 已就位;写侧 wrapper 待开发(需 OZ TimelockController ABI 进 core) | 🟡 待开发 | `[主]` | +| #256 GuardChecker WebAuthn algId 预检 | algIdForTier 无 WA 分支疑阻断 Tier-3;tier3-composite E2E LIVE PASS 但预检路径主网前需复核 | 🟠 主网前必确认/修 | `[主]` | +| #163 buyGasless BuyIntent 签名 + relayer stuck pending | open,影响买币路径 | 🟠 主网前必补 | `[主]` | +| #176 Tier2/3 额外签名收集 + tier判定/限额查询 API | API 面缺失,测试网可发但功能不全 | 🟡 补全 | `[测→主]` | +| #220 upstream drift 告警 | 需跑 upstream-sync 核对 | 🟡 待核 | `[测]` | +| DVT 系列 issue 收尾(#285/#279/#274/#270) | 已上链交付,仅待关闭 | 🟢 housekeeping | `[测]` | + +依赖:**被依赖** = @repo:yaaa(前后端吃 SDK canonical)、idoris。**SDK 依赖**(主网前需两网就绪)= @repo:airaccount-contract / @repo:sp / @repo:dvt(主网地址;SDK canonical mainnet 接入阻塞在它们主网部署)、@repo:kms(HTTP openapi,无破坏变更,仅升服务 + 回归)。 + +> ⚠️ 对 YAAA 的影响:YAAA「网络切换」那条假设"SDK canonical 随链切"——**仅 testnet 成立**;主网需 SDK 先接 mainnet canonical(阻塞在合约仓主网部署)。已并入主网发布门。 --- @@ -94,7 +114,7 @@ YAAA 依赖期望:**两网 canonical 地址/ABI 齐备**、**breaking 版本 | airaccount-contract | ? | — | ? | ? | ? | | sp | ? | ? | — | slash 消费 | ABI | | dvt | BLS 托管? | ? | slash 提案 | — | ABI | -| sdk | ? | ABI track | ABI track | ABI track | — | +| sdk | HTTP openapi | ABI track + 主网地址 | ABI track + 主网地址 | ABI track + 主网地址 | — | > `?` = 等对应仓回帖补全。 From c3ac04ae4e3cafa853def79d41a4d706b2398c91 Mon Sep 17 00:00:00 2001 From: jhfnetboy Date: Thu, 9 Jul 2026 14:46:37 +0700 Subject: [PATCH 2/8] docs: correct + update sdk section (V3/V5 mainnet mismatch, G2/G3/G4 done) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit SDK posted a correction + progress on CC-30: - CORRECTION: mainnet chain 10 IS in canonical (listSupportedChainIds = [10,11155111,11155420]); my earlier "mainnet not wired" was wrong. The real blocker (G1) is that OP-Mainnet canonical points at the OLD V3 stack (SuperPaymaster 3.2.2 / Registry 3.0.2) while SDK/testnet is V5.4.2 — mainnet needs a full V5.4.2 redeploy. - Reframed the sdk section as a G1–G10 gap table with owners; mainnet gate now leads with G1 (V3→V5 redeploy) + G5 (DVT mainnet nodes). - G2/G3/G4 (check:abi + check:abi-drift REDs: LivenessRegistry, AAStarBLSKeyRegistry, CC-28 xPNTs caps, Paymaster/Registry drift) are DONE (branch feat/abi-sync-cc28-cc29-liveness); gates green, core 471 + paymaster 20 + tokens 20 tests pass. - Corrected YAAA "network switch" note: mainnet isn't just an RPC change — SDK canonical still points at V3, so it gates on upstream V5 mainnet deploy. Source: CC-30 [repo:sdk] 81f3592c + 1f63acba. Claude-Session: https://claude.ai/code/session_01RajETCvboSvhadpqMbekNx --- docs/PRODUCTION_READINESS.md | 53 ++++++++++++++++++++---------------- 1 file changed, 29 insertions(+), 24 deletions(-) diff --git a/docs/PRODUCTION_READINESS.md b/docs/PRODUCTION_READINESS.md index e57a79b..b05e2d6 100644 --- a/docs/PRODUCTION_READINESS.md +++ b/docs/PRODUCTION_READINESS.md @@ -35,12 +35,11 @@ - [ ] airaccount-contract — 待回帖 - [ ] sp — 待回帖(CC-28 / slashPolicyAdmin 交权) - [ ] dvt — 待回帖(CC-13 slash E2E) -- [x] sdk — 测试网无 SDK 阻塞(核心 API + 两网 testnet canonical(11155111/11155420) + ABI 全就绪) +- [x] sdk — 测试网基本可发;G2/G3/G4 ABI 门禁已清零(branch `feat/abi-sync-cc28-cc29-liveness`,待 review→发版);单测 core 471 + paymaster 20 + tokens 20 绿 ### 🔴 主网发布门(测试网跑满 ~1 月后) -- [ ] 全 6 仓合约/服务主网部署 + 充值 -- [ ] **SDK canonical 主网地址接入** —— 现 `CANONICAL_ADDRESSES` 只覆盖两个 testnet chainId,**mainnet(1/10) 未接入** → YAAA 从 SDK 取主网地址取不到;阻塞在 4 合约仓主网部署地址(照 CC-18 两阶段:合约仓部署 + CC-30 回帖地址 active → SDK 切 canonical + patch + 链上自验) -- [ ] SDK 主网前待办:CC-13 批B(Timelock 编排 wrapper)、#256 GuardChecker WA 预检复核、#163 buyGasless 修 +- [ ] **主网 V3→V5 全栈重部署(G1,SDK 实测的头号主网阻塞)** —— OP-Mainnet(chain 10) canonical 地址虽在,但链上是**旧 V3 栈**(SuperPaymaster-3.2.2 / Registry-3.0.2),SDK/测试网是 **V5.4.2** → @repo:sp / @repo:airaccount-contract / @repo:dvt 把 V5.4.2 全栈部署到 OP 主网 → SDK 切 canonical + `version()==5.4.2` 链上自验(CC-18 两阶段) +- [ ] DVT 主网/本地 anvil 节点(G5,`DEFAULT_DVT_NODES` 仅 Sepolia)+ xPNTs 滥发防护主网部署(G3 真生效)+ SDK 主网前项(G6 CC-13 批B / G7 #256 / G8 #163) - [ ] YAAA 配置切换:`ETH_RPC_URL` / `BUNDLER_RPC_URL` → 主网 `[配]` - [ ] 生产配置核对(DB/密钥/Secrets) - [ ] 安全:axios 漏洞缓解方案 + 各仓审计结论 @@ -80,28 +79,34 @@ YAAA 依赖期望:**CC-28 xPNTs 滥发防护**、**slashPolicyAdmin 交多签/ YAAA 依赖期望:**CC-13 slash 真 E2E**、**节点(imx93)部署 + gossip**、**两网 validator/slot 注册**。→ YAAA 转账 T2/T3 BLS 聚合的前置。 -### repo:sdk — @aastar/sdk ✅ 已盘点(0.39.4) +### repo:sdk — @aastar/sdk ✅ 已盘点(0.39.4,3 环境全面 check) -来源:CC-30 `[repo:sdk]`(2026-07-09)。**测试网现在基本可发(SDK 侧无阻塞)**;主网门见下表 + 发布门。 +来源:CC-30 `[repo:sdk]`(`81f3592c` 修正 + `1f63acba` 进度,2026-07-09)。SDK 做了本地 anvil / 测试网 / 主网**三环境实跑门禁 + 链上 `version()` 核验**(非纸面)。 -| 项 | 评估 | 状态 | 门 | -|---|---|---|---| -| 核心 API 面(role clients + gasless + DVT 注册 + slash 读 getter) | typed API 就绪,Sepolia/OP-Sepolia 链上 E2E LIVE PASS(CC-12/CC-17) | ✅ | `[测]` | -| 两网 canonical **testnet** 地址/ABI | Sepolia 11155111 + OP-Sepolia 11155420 进 `CANONICAL_ADDRESSES`;check:addresses/abi PASS | ✅ | `[测]` | -| 两网 canonical **mainnet** 地址 | ⚠️ 只覆盖两个 testnet chainId,**mainnet(1/10) 未接入** → YAAA 主网取不到;阻塞在 4 合约仓主网部署地址 | 🟠 主网前必补 | `[主][配]` | -| ABI 齐备 | check:abi PASS(SP 16/16 到 v5.4.2);DVT AAStarBLSAlgorithm tracked;同名碰撞隔离(#301/#302);ABI 与网络无关 | ✅ | `[测]=[主]` | -| Breaking 版本收敛 / 发版节奏 | 0.37→0.39 breaking 已收敛发布,节奏稳定 | ✅ | `[测]` | -| 子入口就绪 | admin/tokens/kms/operator/enduser/community/paymaster/identity/dapp re-export;slash 读 getter 随 0.39.1 | ✅ | `[测]` | -| slash 治理写侧(CC-13 批B:Timelock 编排 wrapper) | 读 getter 批A 已就位;写侧 wrapper 待开发(需 OZ TimelockController ABI 进 core) | 🟡 待开发 | `[主]` | -| #256 GuardChecker WebAuthn algId 预检 | algIdForTier 无 WA 分支疑阻断 Tier-3;tier3-composite E2E LIVE PASS 但预检路径主网前需复核 | 🟠 主网前必确认/修 | `[主]` | -| #163 buyGasless BuyIntent 签名 + relayer stuck pending | open,影响买币路径 | 🟠 主网前必补 | `[主]` | -| #176 Tier2/3 额外签名收集 + tier判定/限额查询 API | API 面缺失,测试网可发但功能不全 | 🟡 补全 | `[测→主]` | -| #220 upstream drift 告警 | 需跑 upstream-sync 核对 | 🟡 待核 | `[测]` | -| DVT 系列 issue 收尾(#285/#279/#274/#270) | 已上链交付,仅待关闭 | 🟢 housekeeping | `[测]` | - -依赖:**被依赖** = @repo:yaaa(前后端吃 SDK canonical)、idoris。**SDK 依赖**(主网前需两网就绪)= @repo:airaccount-contract / @repo:sp / @repo:dvt(主网地址;SDK canonical mainnet 接入阻塞在它们主网部署)、@repo:kms(HTTP openapi,无破坏变更,仅升服务 + 回归)。 - -> ⚠️ 对 YAAA 的影响:YAAA「网络切换」那条假设"SDK canonical 随链切"——**仅 testnet 成立**;主网需 SDK 先接 mainnet canonical(阻塞在合约仓主网部署)。已并入主网发布门。 +**🔴 主网头号阻塞 G1(链上实测)**:OP-Mainnet(chain 10) canonical 地址虽在(`listSupportedChainIds()=[10,11155111,11155420]`,check:addresses PASS),但**链上是旧 V3 栈**(SuperPaymaster-3.2.2 / Registry-3.0.2),而 SDK ABI + 测试网是 **V5.4.2** → 测试网(V5)开发后切主网(V3)会 ABI/行为不兼容。**主网必须 V5.4.2 全栈重部署** → @repo:sp / @repo:airaccount-contract / @repo:dvt。 + +> 更正上一帖:mainnet(10) **已在** canonical(非"未接入");真正问题是它指向旧 V3 部署(G1)。 + +| Gap | 项 | 状态 | 门 | owner | +|---|---|---|---|---| +| G1 | 主网 V3→V5 全栈重部署(头号主网阻塞) | 🔴 待 | `[主]` | @sp/@airaccount-contract/@dvt | +| G2 | check:abi RED(LivenessRegistry + AAStarBLSKeyRegistry) | ✅ 已修 | `[测]` | sdk(branch `feat/abi-sync-cc28-cc29-liveness`)| +| G3 | check:abi-drift RED:CC-28 xPNTs 滥发防护(issuanceCap/isOverIssued/capRatioBps…) | ✅ ABI 面已同步 | `[主]` | sdk;主网真生效需 @sp 部署 | +| G4 | Paymaster/Registry 漂移(GasCostExceedsCap / SBTStatusSyncFailed) | ✅ 已修 | `[测]` | sdk | +| G5 | DVT 节点只接 Sepolia(`DEFAULT_DVT_NODES` 仅 11155111;无 mainnet/anvil)→ Tier-2/3 联签本地/主网取不到节点 | 🔴 待 | `[主][配]` | @dvt(主网 validator+nodeId+本地端点)| +| G6 | CC-13 批B slash Timelock 编排(OZ Timelock ABI 已 vendored) | 🟡 SDK 可独立做 | `[主]` | sdk | +| G7 | #256 GuardChecker WA algId 疑阻 Tier-3 | 🟠 主网前复核 | `[主]` | sdk | +| G8 | #163 buyGasless relayer stuck | 🟠 主网前必补 | `[主]` | sdk | +| G9 | #176 Tier2/3 tier判定/限额 API 缺失 | 🟡 补全 | `[测→主]` | sdk | +| G10 | config.op-mainnet vs optimism 都 chain 10、paymasterV4 值不同 → 定权威删冗余 | 🟡 SDK 可独立做 | `[配]` | sdk | + +门禁实跑(2026-07-09,独立项 G2/G3/G4 已清零):check:abi ✅ / check:abi-drift ✅ / abi:sync ✅ / check:addresses ✅ / check:stubs ✅ / build ✅;单测 core 471 + paymaster 20 + tokens 20 ✅。 + +依赖:**被依赖** = @repo:yaaa(前后端吃 SDK canonical)、idoris。**SDK 依赖**(主网前需就绪)= @repo:airaccount-contract / @repo:sp / @repo:dvt(**主网 V5 部署地址**)、@repo:kms(HTTP openapi,无破坏变更)。 + +**SDK 结论**:测试网 🟡 基本可发(G2/G3/G4 门禁已清零,待发版);主网 🔴 阻塞 G1(主网仍 V3)+ G5(DVT 主网节点)+ G3 主网生效(xPNTs 部署)。 + +> ⚠️ 对 YAAA 的影响:YAAA「网络切换」看似"改 RPC 即可",但 **SDK 主网 canonical 指向旧 V3** → YAAA 切主网前必须等上游 V5 全栈主网部署 + SDK 切 canonical + `version()==5.4.2` 自验。已并入主网发布门(G1)。 --- From dc9a51da17164bbefc4842fcfc9193a5c2b4c4e4 Mon Sep 17 00:00:00 2001 From: jhfnetboy Date: Thu, 9 Jul 2026 15:16:10 +0700 Subject: [PATCH 3/8] docs: sync airaccount-contract production-readiness into consolidated doc MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Folds repo:airaccount-contract's CC-30 reply (7a0a6d29) into the consolidated doc (bundled into this open rolling sync PR to avoid conflicting edits on the shared gate/matrix/header lines): - airaccount-contract section filled (v0.27.0): testnet beta shippable (Sepolia, 900 forge + 16-stage E2E green); mainnet GA blocked on external audit #29 (hard gate), mainnet deploy script/Safe/keystore, cross-repo two-network readiness (@dvt validator+nodes / @sp aPNTs / @kms keys), and Etherscan verify (9 pending). - Testnet gate: airaccount-contract ✅. - Mainnet gate: added the external-audit GA hard-gate line. - Matrix: filled airaccount-contract row (depends on kms/sp/dvt). Source: CC-30 [repo:airaccount-contract] 7a0a6d29 (their repo PR #183). Claude-Session: https://claude.ai/code/session_01RajETCvboSvhadpqMbekNx --- docs/PRODUCTION_READINESS.md | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/docs/PRODUCTION_READINESS.md b/docs/PRODUCTION_READINESS.md index b05e2d6..f555337 100644 --- a/docs/PRODUCTION_READINESS.md +++ b/docs/PRODUCTION_READINESS.md @@ -32,7 +32,7 @@ - [x] YAAA 治理页读+写上线(#425/#426/#427) - [x] YAAA 测试绿(后端 41 单测 + 前端 10 e2e) - [ ] kms — 待回帖(板子 + 两网密钥) -- [ ] airaccount-contract — 待回帖 +- [x] airaccount-contract — 测试网 beta 可发(v0.27.0 Sepolia,900 forge + 16 阶段 E2E 全绿);⚠️ verify 9 pending 待补 - [ ] sp — 待回帖(CC-28 / slashPolicyAdmin 交权) - [ ] dvt — 待回帖(CC-13 slash E2E) - [x] sdk — 测试网基本可发;G2/G3/G4 ABI 门禁已清零(branch `feat/abi-sync-cc28-cc29-liveness`,待 review→发版);单测 core 471 + paymaster 20 + tokens 20 绿 @@ -40,13 +40,14 @@ ### 🔴 主网发布门(测试网跑满 ~1 月后) - [ ] **主网 V3→V5 全栈重部署(G1,SDK 实测的头号主网阻塞)** —— OP-Mainnet(chain 10) canonical 地址虽在,但链上是**旧 V3 栈**(SuperPaymaster-3.2.2 / Registry-3.0.2),SDK/测试网是 **V5.4.2** → @repo:sp / @repo:airaccount-contract / @repo:dvt 把 V5.4.2 全栈部署到 OP 主网 → SDK 切 canonical + `version()==5.4.2` 链上自验(CC-18 两阶段) - [ ] DVT 主网/本地 anvil 节点(G5,`DEFAULT_DVT_NODES` 仅 Sepolia)+ xPNTs 滥发防护主网部署(G3 真生效)+ SDK 主网前项(G6 CC-13 批B / G7 #256 / G8 #163) +- [ ] airaccount-contract 主网 GA:**外部安全审计(#29,GA 硬门禁)** + 主网部署脚本/Safe/keystore + verify 补齐(@repo:airaccount-contract + jason) - [ ] YAAA 配置切换:`ETH_RPC_URL` / `BUNDLER_RPC_URL` → 主网 `[配]` - [ ] 生产配置核对(DB/密钥/Secrets) - [ ] 安全:axios 漏洞缓解方案 + 各仓审计结论 --- -## 各仓 Production-Ready(YAAA + sdk 已填;kms / airaccount-contract / sp / dvt 待回帖) +## 各仓 Production-Ready(YAAA + sdk + airaccount-contract 已填;kms / sp / dvt 待回帖) ### repo:yaaa — 账户抽象全栈(=Cos72 本体) ✅ 已盘点 @@ -67,9 +68,30 @@ Cos72 = YAAA 前端品牌;首页 `aastar-frontend/app/page.tsx`(#423); YAAA 对它的依赖期望(供对方回帖时对照):imx93 板子 **provision + 高可用**、**fail-closed API key**、**rpId/Origin 正确**、**两网密钥**。→ 是 YAAA 登录/签名/转账的前置。 -### repo:airaccount-contract — 账户合约 ⏳ 待回帖 +### repo:airaccount-contract — 账户合约 ✅ 已盘点(v0.27.0) -YAAA 依赖期望:**CC-27 改名(AAStarBLSKeyRegistry)落地**、**主网部署 + 审计**、**两网工厂/validator 地址**。 +来源:CC-30 `[repo:airaccount-contract]`(`7a0a6d29`,2026-07-09;本仓 PR #183)。**测试网 beta 现已可发**(v0.27.0 Sepolia 部署+验证,900 forge 测试全绿 + 16 阶段 E2E);主网 GA 阻塞见下。 + +| 项 | 评估 | 状态 | 门 | +|---|---|---|---| +| 核心账户合约栈 | v0.27.0 Sepolia 部署+验证,测试全绿 | ✅ | `[测]=[主]` | +| CC-27 改名 AAStarBLSKeyRegistry | PR #182 已合并,CI 绿;随 release bump 部署 | 🟡 待发版 | `[主]` | +| 切 tagged release(bump + 落地改名) | 待发版 | 🟡 | `[测]→[主]` | +| **外部安全审计(#29)** | 未做,**GA 硬门禁** | 🔴 未开始(jason) | `[主]` | +| Etherscan verify | Sepolia 2/11,9 pending(foundry source path 问题);key 已有 | 🟠 未完成 | `[测]+[主]` | +| 主网合约部署 | 脚本 `deploy-op-mainnet-alpha.ts` 待建 | 🔴 未开始 | `[主][配]` | +| 主网 e2e_account(CC-22) | 主网 impl 部署后手工 mint 回填(智能合约账户,非 EOA) | 🟠 gated | `[主][配]` | +| OP 主网 Gnosis Safe owner(#135/CC-31) + GA ops(EntryPoint stake + transferOwnership) | 未部署/未做 | 🔴 需配置 | `[主]` | +| 生产 DVT 节点 nodeId/pubkey | CC-22 Variant B:KMS-TEE 托管、key-less node_state(主网不放裸 BLS 私钥) | 🟠 待 @repo:dvt/@repo:kms | `[主]` | +| aPNTs 主网地址 | TBD | 🟠 待 @repo:sp | `[主][配]` | +| KI-7 P256/EIP-7212 | 目标 OP 有 precompile(已决策选 OP,非以太坊主网) | ✅ | `[配]` | +| 文档刷新(DEPLOYMENT/known-issues) | 本轮已刷 | 🟢 | `[测]` | + +延后非阻塞:#136/#149/#21/#20(gas/字节码)· #161/#133/#26/#27/#25/#24/#138(功能)· 跟踪伞 #112/#67/#66/#137;代码仅 1 处 TODO(KI-9 executeBatch,设计约束)。无 open PR。 + +依赖:**被依赖** = @repo:yaaa(账户合约两网地址)、@repo:sdk(canonical 工厂/validator 主网地址,CC-18 两阶段)、@repo:kms/@repo:dvt(isValidOwnerAuth 契约 CC-23 已入 INTERFACES + 主网 e2e_account CC-22)。**依赖** = @repo:dvt(主网 validator + 生产节点 nodeId/pubkey)、@repo:kms(rpId/Origin 两网 + DVT 密钥 KMS provision)、@repo:sp(aPNTs 主网地址)、jason/配置(OP 主网 Safe / RPC / bundler / keystore / **外部审计**)。 + +**结论**:测试网 beta ✅ 现可发;主网 GA 🔴 阻塞 = ①审计(#29) ②主网部署(脚本+Safe+keystore) ③跨仓两网就位(@dvt/@sp/@kms) ④verify 补齐。**可独立先做**(已排):切 release + 落地改名、建主网部署脚本骨架、修 verify path、刷文档。 ### repo:sp — SuperPaymaster 合约 + 经济层 ⏳ 待回帖 @@ -116,7 +138,7 @@ YAAA 依赖期望:**CC-13 slash 真 E2E**、**节点(imx93)部署 + gossip** |---|:---:|:---:|:---:|:---:|:---:| | **yaaa** | 登录/签名前置 | 账户合约地址 | gasless | T2/T3 BLS | canonical 地址/ABI | | kms | — | ? | ? | ? | ? | -| airaccount-contract | ? | — | ? | ? | ? | +| airaccount-contract | rpId/Origin+密钥 | — | aPNTs 地址 | validator+节点 | — | | sp | ? | ? | — | slash 消费 | ABI | | dvt | BLS 托管? | ? | slash 提案 | — | ABI | | sdk | HTTP openapi | ABI track + 主网地址 | ABI track + 主网地址 | ABI track + 主网地址 | — | From 1a823acb16ef8011d5f9a872e960a90c6f888748 Mon Sep 17 00:00:00 2001 From: jhfnetboy Date: Thu, 9 Jul 2026 16:15:29 +0700 Subject: [PATCH 4/8] docs: sync sp production-readiness into consolidated doc MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Folds repo:sp's CC-30 reply (bc90cc99) into the rolling sync PR: - sp section filled (v5.4.2): testnet 🟢 SP has ZERO blockers and can support YAAA's testnet release (V5.4.2 + CC-28 over-issuance guard + CC-29 LivenessRegistry all on Sepolia, 1156 tests). Mainnet 🔴: G1 (mainnet still V3, confirms SDK), mainnet config/multisig, slashPolicyAdmin→Safe (CC-31), aPNTs mainnet + funding, external audit. - Testnet gate: sp ✅. - Mainnet gate: added the SP CC-31 (slashPolicyAdmin→Safe) line — noting it also unlocks YAAA's governance write-side E2E (#427). - Matrix: filled sp row (depends on dvt/airaccount-contract/kms). - Noted the CC-31 linkage in the sp section (SP handoff == the timelock handoff YAAA's #427 E2E waits on). Source: CC-30 [repo:sp] bc90cc99 (their repo PR #350). Claude-Session: https://claude.ai/code/session_01RajETCvboSvhadpqMbekNx --- docs/PRODUCTION_READINESS.md | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/docs/PRODUCTION_READINESS.md b/docs/PRODUCTION_READINESS.md index f555337..3449112 100644 --- a/docs/PRODUCTION_READINESS.md +++ b/docs/PRODUCTION_READINESS.md @@ -33,7 +33,7 @@ - [x] YAAA 测试绿(后端 41 单测 + 前端 10 e2e) - [ ] kms — 待回帖(板子 + 两网密钥) - [x] airaccount-contract — 测试网 beta 可发(v0.27.0 Sepolia,900 forge + 16 阶段 E2E 全绿);⚠️ verify 9 pending 待补 -- [ ] sp — 待回帖(CC-28 / slashPolicyAdmin 交权) +- [x] sp — SP 侧零阻塞可支撑 YAAA 测试网发布(V5.4.2 + CC-28 滥发防护 + CC-29 LivenessRegistry 全在 Sepolia,1156 测试绿) - [ ] dvt — 待回帖(CC-13 slash E2E) - [x] sdk — 测试网基本可发;G2/G3/G4 ABI 门禁已清零(branch `feat/abi-sync-cc28-cc29-liveness`,待 review→发版);单测 core 471 + paymaster 20 + tokens 20 绿 @@ -41,13 +41,14 @@ - [ ] **主网 V3→V5 全栈重部署(G1,SDK 实测的头号主网阻塞)** —— OP-Mainnet(chain 10) canonical 地址虽在,但链上是**旧 V3 栈**(SuperPaymaster-3.2.2 / Registry-3.0.2),SDK/测试网是 **V5.4.2** → @repo:sp / @repo:airaccount-contract / @repo:dvt 把 V5.4.2 全栈部署到 OP 主网 → SDK 切 canonical + `version()==5.4.2` 链上自验(CC-18 两阶段) - [ ] DVT 主网/本地 anvil 节点(G5,`DEFAULT_DVT_NODES` 仅 Sepolia)+ xPNTs 滥发防护主网部署(G3 真生效)+ SDK 主网前项(G6 CC-13 批B / G7 #256 / G8 #163) - [ ] airaccount-contract 主网 GA:**外部安全审计(#29,GA 硬门禁)** + 主网部署脚本/Safe/keystore + verify 补齐(@repo:airaccount-contract + jason) +- [ ] SP:slashPolicyAdmin/owner **交社区 Safe(CC-31)** + aPNTs 主网充值 + 外部审计(@repo:sp + jason)—— CC-31 同时解锁 YAAA 治理写侧 E2E(#427) - [ ] YAAA 配置切换:`ETH_RPC_URL` / `BUNDLER_RPC_URL` → 主网 `[配]` - [ ] 生产配置核对(DB/密钥/Secrets) - [ ] 安全:axios 漏洞缓解方案 + 各仓审计结论 --- -## 各仓 Production-Ready(YAAA + sdk + airaccount-contract 已填;kms / sp / dvt 待回帖) +## 各仓 Production-Ready(YAAA + sdk + airaccount-contract + sp 已填;kms / dvt 待回帖) ### repo:yaaa — 账户抽象全栈(=Cos72 本体) ✅ 已盘点 @@ -93,9 +94,27 @@ YAAA 对它的依赖期望(供对方回帖时对照):imx93 板子 **provis **结论**:测试网 beta ✅ 现可发;主网 GA 🔴 阻塞 = ①审计(#29) ②主网部署(脚本+Safe+keystore) ③跨仓两网就位(@dvt/@sp/@kms) ④verify 补齐。**可独立先做**(已排):切 release + 落地改名、建主网部署脚本骨架、修 verify path、刷文档。 -### repo:sp — SuperPaymaster 合约 + 经济层 ⏳ 待回帖 +### repo:sp — SuperPaymaster 合约 + 经济层 ✅ 已盘点(v5.4.2) -YAAA 依赖期望:**CC-28 xPNTs 滥发防护**、**slashPolicyAdmin 交多签/timelock**、**主网部署 + 充值**。→ 直接决定 YAAA gasless 能否上主网。 +来源:CC-30 `[repo:sp]`(`bc90cc99`,2026-07-09;本仓 PR #350)。SP 是依赖枢纽。**测试网 🟢 SP 侧零阻塞,可支撑 YAAA 测试网发布**(V5.4.2 + CC-28/CC-29 全在 Sepolia);主网 🔴 见下。 + +| 项 | 评估 | 状态 | 门 | +|---|---|---|---| +| 核心 V5.4.2 全栈(SP/Registry/xPNTs/BLS/DVTValidator) | Sepolia 部署,1156 测试绿 | ✅ | `[测]=[主]` | +| CC-28 xPNTs 滥发防护(isOverIssued) | Sepolia 已部署验证(#344/#345) | ✅ | `[测]` | +| CC-29 LivenessRegistry | Sepolia `0x02d841F7905aFb4424DBA71680D27C0F75d36BE7` | ✅ | `[测]` | +| **G1 主网 V3→V5 全栈重部署** | 🔴 OP 主网仍 SP-3.2.2/Registry-3.0.2(**头号阻塞**,与 SDK 判断一致) | 🔴 | `[主]` | +| 主网 config + 多签 wiring | `config.op-mainnet` 空、无 V5 主网 config | 🔴 | `[主][配]` | +| **slashPolicyAdmin/owner 交社区 Safe(CC-31)** | 现 EOA → 交 Safe | 🟠(GA) | `[主]` | +| aPNTs 主网地址 + SP 充值 | 待做 | 🟠 | `[主][配]` | +| 外部安全审计(V5.4.2 全栈) | 待 jason(GA 硬门禁) | 🔴 | `[主]` | +| G10 config.op-mainnet vs optimism 去冗余 | 待做 | 🟠 | `[配]` | + +下一期(非 YAAA 正式版阻塞):架构重构 #251-#254/#211/#212 · 功能 #300/#237/#217 · 债 #321/#299/#286/#343/#332 · 测试 #257。审计 H/M 批次已闭,剩 #328 Low。无 open PR。 + +依赖:**被依赖** = @repo:yaaa(gasless)、@repo:sdk(ABI/主网地址)、@repo:airaccount-contract(aPNTs 主网地址随 SP 主网部署)、@repo:dvt(CC-29 LivenessRegistry 已给 + CC-13 slash 流水线就绪)。**依赖** = @repo:dvt(主网 validator + 生产节点,BLS quorum 是 slash 前置)、@repo:airaccount-contract(主网工厂/validator)、@repo:kms(间接:DVT 节点密钥)、jason(OP 主网 Safe CC-31 已有 + RPC + keystore + 外部审计)。 + +> ⚠️ 对 YAAA 的直接影响:gasless **测试网已就绪**(可发);**主网 gasless** 等 G1 + **slashPolicyAdmin 交多签(CC-31)** + aPNTs 充值。其中 CC-31 正是 YAAA 治理写侧 E2E(#427)在等的那次交权 —— 两件事同一步。 ### repo:dvt — YetAnotherAA-Validator / DVT 节点 ⏳ 待回帖 @@ -139,7 +158,7 @@ YAAA 依赖期望:**CC-13 slash 真 E2E**、**节点(imx93)部署 + gossip** | **yaaa** | 登录/签名前置 | 账户合约地址 | gasless | T2/T3 BLS | canonical 地址/ABI | | kms | — | ? | ? | ? | ? | | airaccount-contract | rpId/Origin+密钥 | — | aPNTs 地址 | validator+节点 | — | -| sp | ? | ? | — | slash 消费 | ABI | +| sp | (间接)DVT密钥 | 主网工厂/validator | — | validator+节点(slash 前置) | ABI | | dvt | BLS 托管? | ? | slash 提案 | — | ABI | | sdk | HTTP openapi | ABI track + 主网地址 | ABI track + 主网地址 | ABI track + 主网地址 | — | From 178c2c3fc3486bc3648235159ea6d22f88a79230 Mon Sep 17 00:00:00 2001 From: jhfnetboy Date: Thu, 9 Jul 2026 17:15:43 +0700 Subject: [PATCH 5/8] docs: sync kms production-readiness into consolidated doc MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Folds repo:kms's CC-30 reply (5e92032a) into the rolling sync PR: - kms section filled (v0.28.1): testnet shippable now (only config→Sepolia, E2E 41/41 green). Mainnet blocked on 4 hardware-security items (#99/#50/#127/#128 — RPMB/secure-boot/final security review/key custody + incident plan). CC-22/CC-24 KMS+DVT co-located baseline ready pending @dvt build-path + light integration. Production topology: 1 KMS + 3 DVT (2-of-3). - Testnet gate: kms ✅ (board provisioning arrives in a day or two). - Mainnet gate: added the KMS hardware-security line. - Matrix: filled kms row (depends on airaccount-contract/sp/dvt/sdk). Note: the kms→dvt task list (a9b6b457) is a cross-repo request, not a dvt self-assessment, so the dvt section stays ⏳ pending dvt's own reply. With this, 5 of 6 repos report testnet-ready (yaaa+sdk+airaccount-contract+sp+kms); only dvt's own table remains. Source: CC-30 [repo:kms] 5e92032a. Claude-Session: https://claude.ai/code/session_01RajETCvboSvhadpqMbekNx --- docs/PRODUCTION_READINESS.md | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/docs/PRODUCTION_READINESS.md b/docs/PRODUCTION_READINESS.md index 3449112..8c6d99c 100644 --- a/docs/PRODUCTION_READINESS.md +++ b/docs/PRODUCTION_READINESS.md @@ -31,7 +31,7 @@ - [x] YAAA 核心流程(注册/建号/转账 T1-T3/gasless/买币)就绪 - [x] YAAA 治理页读+写上线(#425/#426/#427) - [x] YAAA 测试绿(后端 41 单测 + 前端 10 e2e) -- [ ] kms — 待回帖(板子 + 两网密钥) +- [x] kms — 测试网就能发(v0.28.1,E2E 41/41 绿,只差 config→Sepolia);板子明后天到货即部署 - [x] airaccount-contract — 测试网 beta 可发(v0.27.0 Sepolia,900 forge + 16 阶段 E2E 全绿);⚠️ verify 9 pending 待补 - [x] sp — SP 侧零阻塞可支撑 YAAA 测试网发布(V5.4.2 + CC-28 滥发防护 + CC-29 LivenessRegistry 全在 Sepolia,1156 测试绿) - [ ] dvt — 待回帖(CC-13 slash E2E) @@ -42,13 +42,14 @@ - [ ] DVT 主网/本地 anvil 节点(G5,`DEFAULT_DVT_NODES` 仅 Sepolia)+ xPNTs 滥发防护主网部署(G3 真生效)+ SDK 主网前项(G6 CC-13 批B / G7 #256 / G8 #163) - [ ] airaccount-contract 主网 GA:**外部安全审计(#29,GA 硬门禁)** + 主网部署脚本/Safe/keystore + verify 补齐(@repo:airaccount-contract + jason) - [ ] SP:slashPolicyAdmin/owner **交社区 Safe(CC-31)** + aPNTs 主网充值 + 外部审计(@repo:sp + jason)—— CC-31 同时解锁 YAAA 治理写侧 E2E(#427) +- [ ] KMS 硬件安全根基:**#99(RPMB+secure boot+strict flip)/ #50(防回滚 key)/ #127(最终安全复审)/ #128(生产密钥保管+事故响应)** 一趟 TA 重刷 + 一轮对抗审查(@repo:kms);评估 KMS 单点/异地节点 - [ ] YAAA 配置切换:`ETH_RPC_URL` / `BUNDLER_RPC_URL` → 主网 `[配]` - [ ] 生产配置核对(DB/密钥/Secrets) - [ ] 安全:axios 漏洞缓解方案 + 各仓审计结论 --- -## 各仓 Production-Ready(YAAA + sdk + airaccount-contract + sp 已填;kms / dvt 待回帖) +## 各仓 Production-Ready(YAAA + sdk + airaccount-contract + sp + kms 已填;dvt 待回帖) ### repo:yaaa — 账户抽象全栈(=Cos72 本体) ✅ 已盘点 @@ -65,9 +66,24 @@ Cos72 = YAAA 前端品牌;首页 `aastar-frontend/app/page.tsx`(#423);交互 tour 在独立 repo `cos72-tour`(本期不含)。 -### repo:kms — KMS/TEE 密钥(airaccount node) ⏳ 待回帖 +### repo:kms — KMS/TEE 密钥(airaccount node) ✅ 已盘点(v0.28.1) -YAAA 对它的依赖期望(供对方回帖时对照):imx93 板子 **provision + 高可用**、**fail-closed API key**、**rpId/Origin 正确**、**两网密钥**。→ 是 YAAA 登录/签名/转账的前置。 +来源:CC-30 `[repo:kms]`(`5e92032a`,2026-07-09;本仓 doc)。双发布线:`airaccount-kms-*`(独立密钥/签名服务)+ `airaccount-node-*`(KMS+DVT 二合一)。**测试网现在就能发**(0.28.1 只差 config 指向 Sepolia);E2E 41/41 全绿。 + +| 项 | 状态 | 门 | +|---|---|---| +| 核心 KMS API(CreateKey/Sign/Grant/Revoke) | ✅ | `[配]` | +| WebAuthn strict challenge-binding(#49) / fail-closed 认证(#145) / Stats XSS+UTF-8(#144) / E2E 签名一致性(#68,41/41) / 社区上手门户 | ✅ | `[测]` | +| KMS+DVT 二合一基线(CC-22)+ Variant B DVT BLS TEE 托管(CC-24,PR#153 真机全绿) | ✅ KMS 侧 | `[测]`(待 @repo:dvt 确认 build 路径 + 轻接入)| +| #99 硬件安全根基(RPMB+secure boot+strict flip)/ #50 RPMB 防回滚 / #127 主网前最终安全复审 / #128 生产密钥保管+事故响应 | 🔴 主网前必补 | `[主]` | +| #122 CA/TA 一致性 CI 门 / #37 远程证明(Phase1) | 🟡 非阻塞 | `[测]` | +| NXP NDA 厂商根(战略改「可复现+透明⊕DVT」) | ⚪ 不阻塞 | — | + +生产拓扑(社区条件受限版):**KMS 1 份**(最稳一块板,同板 co-located DVT#1)+ **DVT 3 = 2-of-3 门限**(新 MX93=KMS+DVT#1 / 当前主板=DVT#2 / DK2=DVT#3)。⚠️ KMS 单份=可用性单点且与 DVT#1 同板、三板同地点无隔离 → **testnet 可接受**,主网前靠 #128 社恢复兜底 + 评估异地节点。 + +依赖:**被依赖(已就绪)** = @repo:dvt(`127.0.0.1:3100` signer 契约 `POST /sign`→EIP-2537 256B 已实现)、@repo:yaaa(账户验证/签名)、@repo:airaccount-contract(isValidOwnerAuth)。**依赖** = @repo:dvt(v1.9.0 arm64 板 build CC-22 + TEE 托管 CC-24 + 发 v1.10.0)、@repo:sp(applyBLSAggregator #285、slash #139)、@repo:airaccount-contract(合并部署后一次性链上重注册 TEE 新 BLS pubkey)、@repo:sdk(Sepolia 地址同步 CC-12/CC-19)。 + +> 关键:**KMS 测试网就绪** —— 硬件板 provision 明后天到货即部署。主网 = 补 #99/#50/#127/#128(一趟 TA 重刷 + 一轮对抗审查),代码零改动。 ### repo:airaccount-contract — 账户合约 ✅ 已盘点(v0.27.0) @@ -156,7 +172,7 @@ YAAA 依赖期望:**CC-13 slash 真 E2E**、**节点(imx93)部署 + gossip** | 依赖方 → 被依赖 | kms | airaccount-contract | sp | dvt | sdk | |---|:---:|:---:|:---:|:---:|:---:| | **yaaa** | 登录/签名前置 | 账户合约地址 | gasless | T2/T3 BLS | canonical 地址/ABI | -| kms | — | ? | ? | ? | ? | +| kms | — | isValidOwnerAuth+重注册 | applyBLSAgg/slash | build路径/TEE接入/v1.10 | Sepolia 地址同步 | | airaccount-contract | rpId/Origin+密钥 | — | aPNTs 地址 | validator+节点 | — | | sp | (间接)DVT密钥 | 主网工厂/validator | — | validator+节点(slash 前置) | ABI | | dvt | BLS 托管? | ? | slash 提案 | — | ABI | From 476eb7688012d0e64844e92d9956f864e2760c62 Mon Sep 17 00:00:00 2001 From: jhfnetboy Date: Thu, 9 Jul 2026 17:45:59 +0700 Subject: [PATCH 6/8] docs: update sdk (0.40.0, G6/G7/G9/G10 closed) + kms device-prep progress MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two new CC-30 updates folded into the rolling sync PR: sdk (353eb50e) — published @aastar/sdk 0.40.0 (PR #303/#304, Codex 3-round APPROVE). All independent (non-upstream-mainnet) gaps closed: - G6 CC-13 batch-B slash Timelock → shipped v0.39.3 - G7 #256 GuardChecker WA algId → shipped v0.37.1 (issue closed) - G9 #176 ERC20 part1 → 0.40.0 (getTokenGuardState real read + resolveTokenTier + fixed a latent token/account tier-semantics bug affecting guardian co-sign); part2 (Tier-3 guardian ECDSA collection) still needs guardian E2E - G10 → 0.40.0 (deleted stale config.optimism.json; chain-10 authoritative = config.op-mainnet.json) - Gates all green; core 471 + airaccount 872 tests. Remaining mainnet: G1/G5 (upstream V5 deploy + DVT mainnet nodes) + G8 #163 + #176 part2. Noted the ABI/address sync is a moving snapshot (re-run after upstream stabilizes). - Testnet gate: sdk now ✅ published. kms (4f0e597a) — device-arrival software prep done: #122 CA/TA gate hardened, 3-node config + runbook ready (kms/deploy/topology-aastar-3node), DK2 handoff to dvt. Conclusion unchanged (testnet shippable; mainnet still #99/#50/#127/#128). Source: CC-30 [repo:sdk] 353eb50e + [repo:kms] 4f0e597a. Claude-Session: https://claude.ai/code/session_01RajETCvboSvhadpqMbekNx --- docs/PRODUCTION_READINESS.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/PRODUCTION_READINESS.md b/docs/PRODUCTION_READINESS.md index 8c6d99c..40886fd 100644 --- a/docs/PRODUCTION_READINESS.md +++ b/docs/PRODUCTION_READINESS.md @@ -35,11 +35,11 @@ - [x] airaccount-contract — 测试网 beta 可发(v0.27.0 Sepolia,900 forge + 16 阶段 E2E 全绿);⚠️ verify 9 pending 待补 - [x] sp — SP 侧零阻塞可支撑 YAAA 测试网发布(V5.4.2 + CC-28 滥发防护 + CC-29 LivenessRegistry 全在 Sepolia,1156 测试绿) - [ ] dvt — 待回帖(CC-13 slash E2E) -- [x] sdk — 测试网基本可发;G2/G3/G4 ABI 门禁已清零(branch `feat/abi-sync-cc28-cc29-liveness`,待 review→发版);单测 core 471 + paymaster 20 + tokens 20 绿 +- [x] sdk — 测试网就绪,**已发 0.40.0**(独立项 G2/G3/G4/G6/G7/G9-part1/G10 全清零,门禁全绿,core 471 + airaccount 872 测试) ### 🔴 主网发布门(测试网跑满 ~1 月后) - [ ] **主网 V3→V5 全栈重部署(G1,SDK 实测的头号主网阻塞)** —— OP-Mainnet(chain 10) canonical 地址虽在,但链上是**旧 V3 栈**(SuperPaymaster-3.2.2 / Registry-3.0.2),SDK/测试网是 **V5.4.2** → @repo:sp / @repo:airaccount-contract / @repo:dvt 把 V5.4.2 全栈部署到 OP 主网 → SDK 切 canonical + `version()==5.4.2` 链上自验(CC-18 两阶段) -- [ ] DVT 主网/本地 anvil 节点(G5,`DEFAULT_DVT_NODES` 仅 Sepolia)+ xPNTs 滥发防护主网部署(G3 真生效)+ SDK 主网前项(G6 CC-13 批B / G7 #256 / G8 #163) +- [ ] DVT 主网/本地 anvil 节点(G5,`DEFAULT_DVT_NODES` 仅 Sepolia)+ xPNTs 滥发防护主网部署(G3 真生效)+ SDK 剩余主网前项(G8 #163 buyGasless / #176 part2 Tier-3 guardian ECDSA 收集) - [ ] airaccount-contract 主网 GA:**外部安全审计(#29,GA 硬门禁)** + 主网部署脚本/Safe/keystore + verify 补齐(@repo:airaccount-contract + jason) - [ ] SP:slashPolicyAdmin/owner **交社区 Safe(CC-31)** + aPNTs 主网充值 + 外部审计(@repo:sp + jason)—— CC-31 同时解锁 YAAA 治理写侧 E2E(#427) - [ ] KMS 硬件安全根基:**#99(RPMB+secure boot+strict flip)/ #50(防回滚 key)/ #127(最终安全复审)/ #128(生产密钥保管+事故响应)** 一趟 TA 重刷 + 一轮对抗审查(@repo:kms);评估 KMS 单点/异地节点 @@ -83,7 +83,7 @@ Cos72 = YAAA 前端品牌;首页 `aastar-frontend/app/page.tsx`(#423); 依赖:**被依赖(已就绪)** = @repo:dvt(`127.0.0.1:3100` signer 契约 `POST /sign`→EIP-2537 256B 已实现)、@repo:yaaa(账户验证/签名)、@repo:airaccount-contract(isValidOwnerAuth)。**依赖** = @repo:dvt(v1.9.0 arm64 板 build CC-22 + TEE 托管 CC-24 + 发 v1.10.0)、@repo:sp(applyBLSAggregator #285、slash #139)、@repo:airaccount-contract(合并部署后一次性链上重注册 TEE 新 BLS pubkey)、@repo:sdk(Sepolia 地址同步 CC-12/CC-19)。 -> 关键:**KMS 测试网就绪** —— 硬件板 provision 明后天到货即部署。主网 = 补 #99/#50/#127/#128(一趟 TA 重刷 + 一轮对抗审查),代码零改动。 +> 关键:**KMS 测试网就绪** —— 硬件板明后天到货即部署。到货前软件侧已备齐(`4f0e597a`):#122 CA/TA 一致性门加固(挂 mx93-build.sh)、3-node config + runbook 就绪(`kms/deploy/topology-aastar-3node/` + `kms/docs/deploy-runbook-3node.md`,填好 Sepolia validator `0x539B96…`/EntryPoint v0.7,一键切两网)、DK2 部署已交接 @repo:dvt。主网 = 补 #99/#50/#127/#128(一趟 TA 重刷 + 对抗审查),代码零改动。 ### repo:airaccount-contract — 账户合约 ✅ 已盘点(v0.27.0) @@ -136,9 +136,9 @@ Cos72 = YAAA 前端品牌;首页 `aastar-frontend/app/page.tsx`(#423); YAAA 依赖期望:**CC-13 slash 真 E2E**、**节点(imx93)部署 + gossip**、**两网 validator/slot 注册**。→ YAAA 转账 T2/T3 BLS 聚合的前置。 -### repo:sdk — @aastar/sdk ✅ 已盘点(0.39.4,3 环境全面 check) +### repo:sdk — @aastar/sdk ✅ 已盘点(0.40.0,独立项全部落地并发布) -来源:CC-30 `[repo:sdk]`(`81f3592c` 修正 + `1f63acba` 进度,2026-07-09)。SDK 做了本地 anvil / 测试网 / 主网**三环境实跑门禁 + 链上 `version()` 核验**(非纸面)。 +来源:CC-30 `[repo:sdk]`(`81f3592c` 修正 + `1f63acba` + `353eb50e` 进度,2026-07-09)。三环境实跑门禁 + 链上 `version()` 核验(非纸面)。**已发 `@aastar/sdk 0.40.0`(PR #303/#304,Codex 三轮 APPROVE,npm 已验)**:SDK 所有**不依赖上游主网部署**的独立项全部清零。 **🔴 主网头号阻塞 G1(链上实测)**:OP-Mainnet(chain 10) canonical 地址虽在(`listSupportedChainIds()=[10,11155111,11155420]`,check:addresses PASS),但**链上是旧 V3 栈**(SuperPaymaster-3.2.2 / Registry-3.0.2),而 SDK ABI + 测试网是 **V5.4.2** → 测试网(V5)开发后切主网(V3)会 ABI/行为不兼容。**主网必须 V5.4.2 全栈重部署** → @repo:sp / @repo:airaccount-contract / @repo:dvt。 @@ -151,17 +151,17 @@ YAAA 依赖期望:**CC-13 slash 真 E2E**、**节点(imx93)部署 + gossip** | G3 | check:abi-drift RED:CC-28 xPNTs 滥发防护(issuanceCap/isOverIssued/capRatioBps…) | ✅ ABI 面已同步 | `[主]` | sdk;主网真生效需 @sp 部署 | | G4 | Paymaster/Registry 漂移(GasCostExceedsCap / SBTStatusSyncFailed) | ✅ 已修 | `[测]` | sdk | | G5 | DVT 节点只接 Sepolia(`DEFAULT_DVT_NODES` 仅 11155111;无 mainnet/anvil)→ Tier-2/3 联签本地/主网取不到节点 | 🔴 待 | `[主][配]` | @dvt(主网 validator+nodeId+本地端点)| -| G6 | CC-13 批B slash Timelock 编排(OZ Timelock ABI 已 vendored) | 🟡 SDK 可独立做 | `[主]` | sdk | -| G7 | #256 GuardChecker WA algId 疑阻 Tier-3 | 🟠 主网前复核 | `[主]` | sdk | +| G6 | CC-13 批B slash Timelock 编排 | ✅ 已发(v0.39.3) | `[主]` | sdk | +| G7 | #256 GuardChecker WA algId | ✅ 已发(v0.37.1,issue closed) | `[主]` | sdk | | G8 | #163 buyGasless relayer stuck | 🟠 主网前必补 | `[主]` | sdk | -| G9 | #176 Tier2/3 tier判定/限额 API 缺失 | 🟡 补全 | `[测→主]` | sdk | -| G10 | config.op-mainnet vs optimism 都 chain 10、paymasterV4 值不同 → 定权威删冗余 | 🟡 SDK 可独立做 | `[配]` | sdk | +| G9 | #176 ERC20 tier判定/限额 API(part1) | ✅ 0.40.0(getTokenGuardState 真读 + resolveTokenTier + 修 token/account tier 潜伏 bug + tier 边界);part2 Tier-3 guardian ECDSA 收集待(需 guardian E2E) | `[测→主]` | sdk | +| G10 | config.op-mainnet vs optimism 去冗余 | ✅ 0.40.0(删 stale config.optimism.json,chain-10 唯一权威 = config.op-mainnet.json) | `[配]` | sdk | -门禁实跑(2026-07-09,独立项 G2/G3/G4 已清零):check:abi ✅ / check:abi-drift ✅ / abi:sync ✅ / check:addresses ✅ / check:stubs ✅ / build ✅;单测 core 471 + paymaster 20 + tokens 20 ✅。 +门禁实跑(0.40.0,独立项 G2/G3/G4/G6/G7/G9-part1/G10 全清零):check:abi ✅ / check:abi-drift ✅ / abi:sync ✅ / check:addresses ✅ / check:stubs ✅ / build ✅;单测 core 471 + airaccount 872 ✅。⚠️ ABI/地址 sync 是**移动快照** —— 上游主网 V5 部署 / xPNTs 还在改,SDK 会在上游稳定后再跑一遍 abi-sync + address-sync + 链上 `version()` 自验。 依赖:**被依赖** = @repo:yaaa(前后端吃 SDK canonical)、idoris。**SDK 依赖**(主网前需就绪)= @repo:airaccount-contract / @repo:sp / @repo:dvt(**主网 V5 部署地址**)、@repo:kms(HTTP openapi,无破坏变更)。 -**SDK 结论**:测试网 🟡 基本可发(G2/G3/G4 门禁已清零,待发版);主网 🔴 阻塞 G1(主网仍 V3)+ G5(DVT 主网节点)+ G3 主网生效(xPNTs 部署)。 +**SDK 结论**:测试网 ✅ 就绪(0.40.0 已发,独立项全清零);主网 🔴 阻塞 G1(主网仍 V3)+ G5(DVT 主网节点)+ G3 主网生效(xPNTs 部署)+ G8 #163 + #176 part2。 > ⚠️ 对 YAAA 的影响:YAAA「网络切换」看似"改 RPC 即可",但 **SDK 主网 canonical 指向旧 V3** → YAAA 切主网前必须等上游 V5 全栈主网部署 + SDK 切 canonical + `version()==5.4.2` 自验。已并入主网发布门(G1)。 From 589f9e24827162285ee05b42b3bce41f620746d8 Mon Sep 17 00:00:00 2001 From: jhfnetboy Date: Thu, 9 Jul 2026 18:45:10 +0700 Subject: [PATCH 7/8] =?UTF-8?q?docs:=20update=20sp=20(independent=20items?= =?UTF-8?q?=20done,=20runbook=20#351,=20#285)=20+=20sdk=E2=86=94sp=20align?= =?UTF-8?q?ment?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two new CC-30 updates folded into the rolling sync PR: sp (8195df64) — SP's independent items all landed (not waiting on external): - Mainnet deploy runbook + config authoritative + CC-14 naming + CheckVersions chain-10 fix (PR #351). config.op-mainnet.json = authoritative V5; ./deploy-core op-mainnet --fresh-deploy is the one-command V5.4.2 path. - #285 applyBLSAggregator confirmed done (BLS_AGGREGATOR==0xF51c…8B13 on Sepolia). - G10 SP-side done (optimism.json marked legacy-V3), aligned with SDK 0.40.0. - SP conclusion: testnet zero-blocker; mainnet is now pure external gates (audit + keystore + @dvt mainnet nodes) — "one command once audit passes". sdk (519cc3d8) — acknowledges SP alignment: G10 consistent, G1 handoff protocol confirmed, SP core ABI frozen at 5.4.2 (moving-snapshot narrowed to addresses only). Adds CC-31 community Safe 0x51eDf11f… as canonical COMMUNITY_SAFE (slashPolicyAdmin/owner target), landing with G1 mainnet integration. Reflected in the sp section, sdk conclusion, and the mainnet gate (CC-31 Safe address + SP runbook ready). Source: CC-30 [repo:sp] 8195df64 + [repo:sdk] 519cc3d8. Claude-Session: https://claude.ai/code/session_01RajETCvboSvhadpqMbekNx --- docs/PRODUCTION_READINESS.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/PRODUCTION_READINESS.md b/docs/PRODUCTION_READINESS.md index 40886fd..8fdba95 100644 --- a/docs/PRODUCTION_READINESS.md +++ b/docs/PRODUCTION_READINESS.md @@ -41,7 +41,7 @@ - [ ] **主网 V3→V5 全栈重部署(G1,SDK 实测的头号主网阻塞)** —— OP-Mainnet(chain 10) canonical 地址虽在,但链上是**旧 V3 栈**(SuperPaymaster-3.2.2 / Registry-3.0.2),SDK/测试网是 **V5.4.2** → @repo:sp / @repo:airaccount-contract / @repo:dvt 把 V5.4.2 全栈部署到 OP 主网 → SDK 切 canonical + `version()==5.4.2` 链上自验(CC-18 两阶段) - [ ] DVT 主网/本地 anvil 节点(G5,`DEFAULT_DVT_NODES` 仅 Sepolia)+ xPNTs 滥发防护主网部署(G3 真生效)+ SDK 剩余主网前项(G8 #163 buyGasless / #176 part2 Tier-3 guardian ECDSA 收集) - [ ] airaccount-contract 主网 GA:**外部安全审计(#29,GA 硬门禁)** + 主网部署脚本/Safe/keystore + verify 补齐(@repo:airaccount-contract + jason) -- [ ] SP:slashPolicyAdmin/owner **交社区 Safe(CC-31)** + aPNTs 主网充值 + 外部审计(@repo:sp + jason)—— CC-31 同时解锁 YAAA 治理写侧 E2E(#427) +- [ ] SP:slashPolicyAdmin/owner **交社区 Safe(CC-31,`0x51eDf11f…`)** + aPNTs 主网充值 + 外部审计(@repo:sp + jason)—— SP runbook 已就位(PR #351,一条命令部署);CC-31 同时解锁 YAAA 治理写侧 E2E(#427) - [ ] KMS 硬件安全根基:**#99(RPMB+secure boot+strict flip)/ #50(防回滚 key)/ #127(最终安全复审)/ #128(生产密钥保管+事故响应)** 一趟 TA 重刷 + 一轮对抗审查(@repo:kms);评估 KMS 单点/异地节点 - [ ] YAAA 配置切换:`ETH_RPC_URL` / `BUNDLER_RPC_URL` → 主网 `[配]` - [ ] 生产配置核对(DB/密钥/Secrets) @@ -112,7 +112,7 @@ Cos72 = YAAA 前端品牌;首页 `aastar-frontend/app/page.tsx`(#423); ### repo:sp — SuperPaymaster 合约 + 经济层 ✅ 已盘点(v5.4.2) -来源:CC-30 `[repo:sp]`(`bc90cc99`,2026-07-09;本仓 PR #350)。SP 是依赖枢纽。**测试网 🟢 SP 侧零阻塞,可支撑 YAAA 测试网发布**(V5.4.2 + CC-28/CC-29 全在 Sepolia);主网 🔴 见下。 +来源:CC-30 `[repo:sp]`(`bc90cc99` + `8195df64` 进度,2026-07-09;本仓 PR #350 合并 + #351)。SP 是依赖枢纽。**测试网 🟢 SP 侧零阻塞**;**SP 独立项全部落地**(主网 runbook + config + CC-14 命名 + CheckVersions chain-10 修,PR #351)——主网剩纯外部门禁,"审计一过一条命令上主网"。**#285 applyBLSAggregator 已完成**(`BLS_AGGREGATOR==0xF51c…8B13`,Sepolia 链上验,KMS/DVT 可用新聚合器)。 | 项 | 评估 | 状态 | 门 | |---|---|---|---| @@ -120,11 +120,11 @@ Cos72 = YAAA 前端品牌;首页 `aastar-frontend/app/page.tsx`(#423); | CC-28 xPNTs 滥发防护(isOverIssued) | Sepolia 已部署验证(#344/#345) | ✅ | `[测]` | | CC-29 LivenessRegistry | Sepolia `0x02d841F7905aFb4424DBA71680D27C0F75d36BE7` | ✅ | `[测]` | | **G1 主网 V3→V5 全栈重部署** | 🔴 OP 主网仍 SP-3.2.2/Registry-3.0.2(**头号阻塞**,与 SDK 判断一致) | 🔴 | `[主]` | -| 主网 config + 多签 wiring | `config.op-mainnet` 空、无 V5 主网 config | 🔴 | `[主][配]` | -| **slashPolicyAdmin/owner 交社区 Safe(CC-31)** | 现 EOA → 交 Safe | 🟠(GA) | `[主]` | -| aPNTs 主网地址 + SP 充值 | 待做 | 🟠 | `[主][配]` | +| 主网 config + 部署 runbook | ✅ SP 侧就绪:`config.op-mainnet.json`=权威 V5,`./deploy-core op-mainnet --fresh-deploy`=V5.4.2 全栈一条命令(runbook PR #351);待外部门禁 | 🟡 | `[主][配]` | +| **slashPolicyAdmin/owner 交社区 Safe(CC-31)** | 现 EOA → 交社区 Safe `0x51eDf11f…`(SDK 已加 canonical COMMUNITY_SAFE,随 G1 主网地址一起落) | 🟠(GA) | `[主]` | +| aPNTs 主网地址 + SP 充值 | 待做(随 SP 主网部署) | 🟠 | `[主][配]` | | 外部安全审计(V5.4.2 全栈) | 待 jason(GA 硬门禁) | 🔴 | `[主]` | -| G10 config.op-mainnet vs optimism 去冗余 | 待做 | 🟠 | `[配]` | +| G10 config 去冗余 | ✅ SP 侧(PR #351:op-mainnet=权威 V5,optimism.json 标 legacy-V3 禁读)—— 与 SDK 0.40.0 对齐(SDK 删快照,两边结论一致不冲突) | `[配]` | 下一期(非 YAAA 正式版阻塞):架构重构 #251-#254/#211/#212 · 功能 #300/#237/#217 · 债 #321/#299/#286/#343/#332 · 测试 #257。审计 H/M 批次已闭,剩 #328 Low。无 open PR。 @@ -161,7 +161,7 @@ YAAA 依赖期望:**CC-13 slash 真 E2E**、**节点(imx93)部署 + gossip** 依赖:**被依赖** = @repo:yaaa(前后端吃 SDK canonical)、idoris。**SDK 依赖**(主网前需就绪)= @repo:airaccount-contract / @repo:sp / @repo:dvt(**主网 V5 部署地址**)、@repo:kms(HTTP openapi,无破坏变更)。 -**SDK 结论**:测试网 ✅ 就绪(0.40.0 已发,独立项全清零);主网 🔴 阻塞 G1(主网仍 V3)+ G5(DVT 主网节点)+ G3 主网生效(xPNTs 部署)+ G8 #163 + #176 part2。 +**SDK 结论**:测试网 ✅ 就绪(0.40.0 已发,独立项全清零);主网 🔴 阻塞 G1(主网仍 V3)+ G5(DVT 主网节点)+ G3 主网生效(xPNTs 部署)+ G8 #163 + #176 part2。已与 SP 对齐(`519cc3d8`):G10 一致、G1 handoff 协议确认(SP 部署回帖地址 → SDK 接 `CANONICAL_ADDRESSES[10]` + 链上 `version()==5.4.2` 自验 → 发 patch);SP core ABI 已冻结在 5.4.2("移动快照"对 SP 收窄为**只剩地址**);CC-31 社区 Safe `0x51eDf11f…` 已加 canonical `COMMUNITY_SAFE`,随 G1 主网接入一起落。 > ⚠️ 对 YAAA 的影响:YAAA「网络切换」看似"改 RPC 即可",但 **SDK 主网 canonical 指向旧 V3** → YAAA 切主网前必须等上游 V5 全栈主网部署 + SDK 切 canonical + `version()==5.4.2` 自验。已并入主网发布门(G1)。 From 1be0dd1fc3a7ac26f55c1768041509b15b0de846 Mon Sep 17 00:00:00 2001 From: jhfnetboy Date: Thu, 9 Jul 2026 21:44:48 +0700 Subject: [PATCH 8/8] =?UTF-8?q?docs:=20kms=20progress=20=E2=80=94=20softwa?= =?UTF-8?q?re=20side=20merged=20to=20main=20(#166/#167),=20SP=20deps=20clo?= =?UTF-8?q?sed?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit repo:kms update (2e9e5afe): pre-arrival software work now merged to main — #122 CA/TA gate (PR #166) + 3-node topology profiles/runbook/readiness (PR #167). SP dependencies (#285 applyBLSAggregator, #139 slash) confirmed closed from KMS's side. KMS's only remaining non-hardware dependency is now @dvt (DK2 script / CC-22 build+validator / CC-24 TEE custody / release), plus a one-time TEE BLS pubkey re-registration by @airaccount-contract before mainnet. Conclusion unchanged (testnet shippable; mainnet still #99/#50/#127/#128). Source: CC-30 [repo:kms] 2e9e5afe. Claude-Session: https://claude.ai/code/session_01RajETCvboSvhadpqMbekNx --- docs/PRODUCTION_READINESS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/PRODUCTION_READINESS.md b/docs/PRODUCTION_READINESS.md index 8fdba95..a30db74 100644 --- a/docs/PRODUCTION_READINESS.md +++ b/docs/PRODUCTION_READINESS.md @@ -83,7 +83,7 @@ Cos72 = YAAA 前端品牌;首页 `aastar-frontend/app/page.tsx`(#423); 依赖:**被依赖(已就绪)** = @repo:dvt(`127.0.0.1:3100` signer 契约 `POST /sign`→EIP-2537 256B 已实现)、@repo:yaaa(账户验证/签名)、@repo:airaccount-contract(isValidOwnerAuth)。**依赖** = @repo:dvt(v1.9.0 arm64 板 build CC-22 + TEE 托管 CC-24 + 发 v1.10.0)、@repo:sp(applyBLSAggregator #285、slash #139)、@repo:airaccount-contract(合并部署后一次性链上重注册 TEE 新 BLS pubkey)、@repo:sdk(Sepolia 地址同步 CC-12/CC-19)。 -> 关键:**KMS 测试网就绪** —— 硬件板明后天到货即部署。到货前软件侧已备齐(`4f0e597a`):#122 CA/TA 一致性门加固(挂 mx93-build.sh)、3-node config + runbook 就绪(`kms/deploy/topology-aastar-3node/` + `kms/docs/deploy-runbook-3node.md`,填好 Sepolia validator `0x539B96…`/EntryPoint v0.7,一键切两网)、DK2 部署已交接 @repo:dvt。主网 = 补 #99/#50/#127/#128(一趟 TA 重刷 + 对抗审查),代码零改动。 +> 关键:**KMS 测试网就绪** —— 硬件板明后天到货即部署。到货前软件侧**已合入 main**(`2e9e5afe`):#122 CA/TA 门加固(PR #166,Codex 对抗 review + 3 Low 全修)、3-node 拓扑 profiles + runbook + readiness(PR #167,填好 Sepolia validator `0x539B96…`/EntryPoint v0.7,一键切两网)、DK2 部署已交接 @repo:dvt。**SP 依赖(#285 applyBLSAggregator / #139 slash)已确认闭环** → KMS 非硬件依赖只剩 **@repo:dvt**(DK2 脚本 / CC-22 build+validator / CC-24 TEE 托管 / 发版)+ 主网前 @repo:airaccount-contract 一次性重注册 TEE 新 BLS pubkey。主网 = 补 #99/#50/#127/#128(一趟 TA 重刷 + 对抗审查),代码零改动。 ### repo:airaccount-contract — 账户合约 ✅ 已盘点(v0.27.0)