gobitfly/eth2-beaconchain-explorer

Error display the internal transaction

yxsec opened this issue · 1 comments

Describe the bug
Although some internal transactions were failed, it also show the successful in the token transfer and internal transactions.

To Reproduce
Trace attack code.

// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.25;

contract TraceAttack {
    uint256 public testNumber = 42;

    function attackSim() external payable {
        (bool success, ) = address(this).call(abi.encodeWithSignature("innerAttackSim()"));
        require(success == false, "innerAttack should revert");
    }

    function innerAttackSim(address test) external {
        // Because we revert, this trasfer be as if it never happened
        payable(test).transfer(address(this).balance);
        
        // Because we revert, testNumber will be unchanged
        testNumber = 0xbad;

        // Revert
        require(false, "Nope");
    }
}

Expected behavior
The revert internal transfer will not display, and the internal transaction will display the error.

Screenshots
If applicable, add screenshots to help explain your problem.
https://beaconcha.in/tx/f7d385f000250c073dfef9a36327c5d30a4c77a0c50588ce3eded29f6829a4cd#overview
image

image It not display error as it the normal transfer.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Phone (please complete the following information):

  • OS: [e.g. iOS 14.5]
  • App Version [e.g. 22]

Additional context
Add any other context about the problem here.