-
Notifications
You must be signed in to change notification settings - Fork 6
Closed
Description
背景
当前项目同时支持 x402 v1/v2,但 v1 依赖的是 patch 版 x402,且新增网络需要持续维护该 patch 分支。为了降低维护成本与推进统一标准,本次计划废弃 v1 支持,并将 facilitator、SDK、示例、文档统一为 v2(x402Version=2)。
目标
- 全面废弃 v1:任何
x402Version=1的请求都应失败。 - 只以
x402Version判定版本,不再根据 network 格式做隐式判断。 - 保留 network alias 兼容(human-readable → CAIP-2 映射可继续使用)。
- 移除 v1 相关依赖与分支逻辑,统一依赖官方
@x402/*v2 包。
范围
- Facilitator:拒绝 v1 请求;移除 v1 分支处理逻辑。
- SDK(
@x402x/extensions等):不再支持 v1 流程;保留 alias 解析。 - 示例/文档:全部使用 v2(CAIP-2 +
x402Version=2)。 - 测试:新增 v1 失败用例;保留 v2 流程回归。
- 依赖管理:移除 patch x402 依赖/alias/overrides。
分阶段方案(本周完成)
-
入口收紧(行为变更)
- Facilitator:
x402Version !== 2直接拒绝请求并给出迁移提示。 - SDK:对 v1 版本直接报错或跳过扩展注册。
- 仍保留 network alias 解析。
- Facilitator:
-
移除 v1 依赖路径
- 清理
x402patch 版本引用与 pnpm override/alias。 - 移除 v1 相关 dispatcher/分支逻辑。
- 清理
-
API/数据结构收口
x402Version默认值收紧为 2(或必填)。- 文档与示例统一为 v2。
-
测试与回归
- 增加 v1 请求失败测试(facilitator + SDK)。
- 验证 v2 端到端流程不受影响。
-
发布与公告
- 更新 README/CHANGELOG/迁移说明。
- 以 breaking change 发布(major 版本)。
子任务(Sub-issues)
- Deprecate v1 in facilitator: enforce x402Version=2 at entry #163 入口收紧(Facilitator 仅接受 x402Version=2)
- Deprecate v1 in SDK/extensions: v2-only behavior (keep alias) #164 SDK/extensions 收口(v2-only,保留 alias)
- Remove v1 patch dependency: unify on @x402/* v2 #165 依赖清理(移除 patch x402,统一 @x402/*)
- Docs & examples: remove v1 usage, v2-only #166 文档与示例升级(v2-only)
- Tests: add v1 rejection + v2 regression coverage #167 测试补齐(v1 拒绝 + v2 回归)
- Refactor: rename version-dispatcher to RouterSettlementService (v2-only) #187 Refactor: RouterSettlementService 重命名
验收标准
- Facilitator 对
x402Version=1请求返回明确错误。 - 所有示例与文档均为 v2 规范。
- 无 v1 依赖(patch x402 相关引用清理完毕)。
- v1 失败测试 + v2 回归测试通过。
备注
- 本次废弃不移除 alias 兼容(network name 仍可解析为 CAIP-2)。
- 如需保留 v1 最终版本,建议打 tag 归档。
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels