A help desk can forward the original report rather than writing a new one.
SEE IT FOR YOURSELF
Follow a revert and decode its error dataStep 1 / 4
This fictional call requests a transfer of one hundred raw units while the relevant balance is forty.
This fictional call requests a transfer of one hundred raw units while the relevant balance is forty.The contract rejects this request. State changes in the reverted call are rolled back, while work already consumed can still cost gas.A common Error(string) begins with selector 08c379a0. This example then encodes the message Not enough tokens.A decoder can recognize the supplied error shape. Identifying the true cause and source still needs the call context, code and state.
Animated local teaching model. No wallet, RPC or live blockchain data. Some labels and hashes are abbreviated for readability.
Follow the nested call
If A calls B and B fails, A receives a failure outcome under low-level call handling. Higher-level calls may propagate the failure unless it is caught.
Distinguish forwarding from replacement
A can propagate the same revert bytes, wrap them in another error or handle the failure and continue. The outer result depends on the caller’s actual code.
Do not assume the outer contract authored the message
When bytes are forwarded unchanged, the message visible at the top can originate deeper in the call chain. The final payload does not carry an authenticated call history.
Inspect every relevant boundary
A useful trace identifies which frame first failed and how each caller responded. Decoding the final bytes alone cannot show all those propagation decisions.