Skip to main content

概述

x402x-detector 用于自动识别 ERC-20 Token 的“免 Gas 支付能力”,覆盖 EIP-2612 Permit、EIP-3009、Permit2 等标准,并能处理常见代理模式(EIP-1967 / UUPS)。结果会永久缓存以获得毫秒级访问。

核心特性

  • 🔍 全面检测:Permit / EIP-3009 / Permit2
  • 🧭 代理处理:EIP-1967 / UUPS / 自定义 implementation
  • ⚡ 高性能:首次 2-5s,命中缓存 <1ms
  • 🧰 简洁 API:detect / getRecommendedMethod / initialize

安装

快速上手

示例

创建 detect.ts,核心逻辑如下:

检测细节

  • Permit: permit() / DOMAIN_SEPARATOR() / nonces(owner)
  • EIP-3009: transferWithAuthorization()authorizationState()
  • Permit2: allowance(user, token, spender)
代理合约:自动读取实现地址(EIP-1967 存储槽 / UUPS proxiableUUID() 等)

建议用法

  • 启动预热:detector.initialize([USDC, DAI, ...])
  • 选择推荐类型:detector.getRecommendedMethod(token)
  • 非标准代理合约需手动校验实现地址

API 参考(精简)

更多类型与返回结构请参考:
  • 参数说明:/parameters-responses/detector/parameters
  • 返回结构:/parameters-responses/detector/responses

性能与优化

  • 预热常用 Token:服务启动时 initialize([tokens])
  • 并行检测:优先使用 initialize 批量并行
  • 按需检测:首次慢、后续快(命中缓存)
  • 定期刷新:周期性对热门 Token 重新检测

相关资源

  • 源代码:https://github.com/WTFLabs-WTF/x402x/tree/main/typescript/packages/x402x-detector
  • 问题反馈:https://github.com/WTFLabs-WTF/x402x/issues