Tx Doctor / EVM 回滚错误库 / 未知的 custom error selector
EVM 错误:未知的 custom error selector
revert 数据以一个 4 字节 selector 开头,不属于 ERC-20 或 Panic 标准。custom error 由各合约自行定义,这个 selector 只在那个合约的 ABI 里才有意义。
为什么会这样
- 合约用了 Solidity custom error(比字符串便宜),但没在你手上的 ABI 里公开。
- 代理合约转发了来自你没在看的实现合约的 revert。
- 这个 selector 属于内部用到的库错误(OpenZeppelin、Solmate)。
怎么解决
- 在浏览器上该合约已校验的 ABI,或 openchain.xyz/signatures 里查这个 selector。
- 用带 trace 的工具(Tenderly、Etherscan debugger)模拟交易,看哪个子调用回滚了。
- 问协议团队——custom error 的名字在他们仓库里都有文档。
钱包或区块浏览器里显示的样子
custom error 0x8c379a0… (selector not in the public signature database)
现在就遇到这个问题?粘贴交易哈希,工具会自动找到所在链并解码真正失败的原因。
诊断我的交易