为什么不能解码此以太币 tx 输入数据?

Why can't this etherum tx input data be decoded?

如果您转到 this transaction page on etherscan,向下滚动到 输入数据 部分并单击 解码输入数据 按钮-它什么也没给你,我只能假设这意味着 etherscan 无法解码给定该合约的 ABI 的输入数据。

我的问题是,为什么? contract/ABI(或者像这个这样的任何合约)有什么特别之处可以防止交易被解码?

调用的函数签名为0xfaa916d3,其余数据为参数。合同 ABI 没有定义任何可以转换为 0xfaa916d3 签名的函数。这意味着调用了回退函数。

在这种情况下,回退函数充当代理,创建内部交易并将调用委托给目标合约(理论上可以做同样的事情或创建多个其他内部交易等)

但是,Etherscan 目前仅将签名与根交易接收者的 ABI 进行比较,并在“解码输入数据”功能中忽略内部交易接收者的 ABI。

为什么?我的猜测是,只扫描一个级别更容易,而不是实施和解释所有边缘情况的高优先级,例如具有相同签名的多个内部调用。但你需要问他们真正的原因。 :)