Skip to content

Deprecate x402 v1 support (facilitator + SDK + docs) #160

@jolestar

Description

@jolestar

背景

当前项目同时支持 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。

分阶段方案(本周完成)

  1. 入口收紧(行为变更)

    • Facilitator:x402Version !== 2 直接拒绝请求并给出迁移提示。
    • SDK:对 v1 版本直接报错或跳过扩展注册。
    • 仍保留 network alias 解析。
  2. 移除 v1 依赖路径

    • 清理 x402 patch 版本引用与 pnpm override/alias。
    • 移除 v1 相关 dispatcher/分支逻辑。
  3. API/数据结构收口

    • x402Version 默认值收紧为 2(或必填)。
    • 文档与示例统一为 v2。
  4. 测试与回归

    • 增加 v1 请求失败测试(facilitator + SDK)。
    • 验证 v2 端到端流程不受影响。
  5. 发布与公告

    • 更新 README/CHANGELOG/迁移说明。
    • 以 breaking change 发布(major 版本)。

子任务(Sub-issues)

验收标准

  • Facilitator 对 x402Version=1 请求返回明确错误。
  • 所有示例与文档均为 v2 规范。
  • 无 v1 依赖(patch x402 相关引用清理完毕)。
  • v1 失败测试 + v2 回归测试通过。

备注

  • 本次废弃不移除 alias 兼容(network name 仍可解析为 CAIP-2)。
  • 如需保留 v1 最终版本,建议打 tag 归档。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions