浏览器本地 ERC-4337 诊断

先打开 UserOperation,别再被不透明的 bundler 错误牵着走。

粘贴 JSON、JSON-RPC 封装、handleOps calldata 或 revert 数据。Doctor 会拆分打包字段、解释 AA 错误、验证版本边界并生成可复现请求。

  • EntryPoint v0.6 · v0.7 · v0.8 · v0.9
  • 输入 JSON · calldata · revert
  • 哈希 Legacy · packed · EIP-712
  • 网络 不调用 RPC 或钱包
USEROP DOCTOR
ENTRYPOINT v0.9 · CHAIN 1 paymasterSignature: 65B
结构有效 · 外部状态未验证
真正有用的部分

Doctor 把不透明对象变成可检查字段和可复现请求。它会区分本地格式错误与需要 bundler 或链上状态的结论,并且绝不会发送 operation。

检查真实 OPERATION

UserOperation Doctor

将计算哈希视为权威结果前,请确认 EntryPoint 版本、地址和 chain。结构解码可立即开始。

不会提交任何内容
ERC-4337 字段显微镜版本感知 · 浏览器本地 · 只读
01

UserOperation、RPC 封装、calldata 或 revert

等待输入
用于 callData 的可选账户 ABI
02

确定性诊断

尚未分析

分析示例或你的 operation,将本地结构错误与需要外部状态的检查分开。

03

打包结构与导出

解码字段、字节片段和可复现 RPC 请求将显示在这里。
复现 RPC 请求
解析与哈希留在本地不请求链或 bundler绝不要粘贴私钥

从数据块到可复现请求

先调试表示,再调试链

许多集成故障无需再发请求或打开区块浏览器就能隔离。

  1. 01

    粘贴失败产物

    使用 bundler 返回的原始 UserOperation、RPC 封装、handleOps calldata 或嵌套 revert。

  2. 02

    确认版本和域

    选择 EntryPoint 代际,并在信任哈希前核对地址与 Chain ID。

  3. 03

    导出复现材料

    把标准化字段、请求、cURL 命令或 Markdown 报告放入负责该故障的 issue 或测试。

生产环境 ACCOUNT ABSTRACTION

用于 wallet、bundler、paymaster 与 EntryPoint 互相矛盾的边界

Wavect 在真实且文档不完整的系统上交付过 account abstraction 基础设施和 MetaMask 集成。冻结准确表示通常是找出哪一层改变数据的最快方法。

版本感知哈希

v0.6 legacy packing、v0.7 packed hashing 与 v0.8 或 v0.9 EIP-712 域保持明确分离。

可见的 Paymaster 后缀

v0.9 签名长度和 magic bytes 与已签名 paymaster 数据分离显示。

外部状态保持外部

需要代码、nonce、委托、deposit、策略、模拟或账户逻辑的检查都会明确标注。

明确边界

Decoder 不是 bundler 模拟器

  • 工具验证表示和确定性哈希,不执行 validateUserOp、账户 callData、paymaster 策略或 postOp。
  • EIP-7702 哈希依赖委托地址,Doctor 不会虚构该状态。
  • 只有提供签名方案或 ABI,才能解释自定义账户签名与 callData。
  • 官方 EntryPoint 地址只是便捷默认值,请在目标网络核对地址和已部署代码。

关于 UserOperation Doctor

不会。JSON 解析、ABI 解码、packing 和哈希都在本地完成。生成的 RPC 请求只是供你检查和自行执行的文本。
支持 v0.6、v0.7、v0.8 和 v0.9。可推断部分结构,但给出权威哈希前必须由你确认版本。
可以。它会分离 paymaster 地址、verification 与 postOp gas、paymaster 数据和可选 v0.9 签名后缀。
EntryPoint 哈希包含当前委托目标。缺少该状态或完整授权时,本地工具无法在不猜测的前提下给出权威值。

免费 · 开源 · 只读

冻结 UserOperation,拆开字段,让故障拥有可复现形态。

在本地使用 Doctor,再把标准化请求与诊断带到真正失败的那一层。