
A contract that keeps running after a failed call has no reliable way today to tell whether the callee reverted on purpose or simply ran out of gas the sender chose. That gap is the root of insufficient gas griefing, and a new draft proposal tries to close it at the EVM level. EIP-8456, opened for discussion on Ethereum Magicians on Monday, adds an instruction called CALLSTATUS, tentatively at opcode 0xA5 for 2 gas. It pushes the completion status of the most recent call or create operation in the current frame as three bits. Bit 0 means a revert, bit 1 means an exceptional halt such as out of gas, and bit 2 means something in a frame below halted. The author points out that the only evidence today is gasleft() arithmetic after the call, and that every repricing fork has broken those thresholds. The proposed two-dimensional gas of EIP-8037 would make that arithmetic even weaker, since its reservoir isn't visible through the GAS opcode. So why the third bit? Most real calls pass through intermediaries like proxies, OpenZeppelin's functionCall wrapper, Multicall3 or ERC-1271 signature checkers. If only the direct callee's ending were reported, a wrapper that catches an out-of-gas halt and reverts with a reason would look like a deliberate revert. The draft keeps a sticky flag that travels up every frame, so a sender who only controls gas can never make a caller read a plain revert. It reports outcomes rather than causes, and a callee can still produce a halt on purpose with INVALID. It only protects code written after it ships, because deployed contracts won't read it. There are no external reviews yet, the opcode number is still open, and a prototype plus tests for 58 listed cases is still pending. Link - https://t.co/KnByUBgWrY
