In this track: Execution traces and low-level calls
advanced · 4 MIN READ
Trace proxy fallback execution
A fallback can forward input and return the delegated outcome.
LET’S PICTURE IT
A front desk forwards an unfamiliar request to the designated service manual.
SEE IT FOR YOURSELF
A valid counter call, step by stepStep 1 / 4
This example begins with count zero and a request to call increment(). No real contract is deployed.
This example begins with count zero and a request to call increment(). No real contract is deployed.Execution follows the code’s input and permission rules. A website button is not the access-control mechanism.The function reads zero, calculates zero plus one, and writes one to persistent storage.The accepted state contains count one. Later reads can inspect it. Events are emitted only if the code implements them.
Animated local teaching model. No wallet, RPC or live blockchain data. Some labels and hashes are abbreviated for readability.
Start with selector dispatch
A proxy may handle its own administrative selectors and forward other calls through fallback logic. Exact dispatch behavior depends on the proxy implementation.
Copy the intended input
Forwarding code supplies calldata bytes to the delegated call. A trace should verify the complete range and preserve the argument framing expected by the implementation.
Propagate outcome deliberately
A typical forwarding path copies returned bytes and returns or reverts according to delegated success. Error handling is part of the proxy’s observable behavior.
Inspect authority and layout
Correct byte forwarding does not establish a safe upgrade path. The implementation target, initialization and shared storage layout all remain important.
Follow the execution
Proxy fallback
→ copy calldata
→ delegate to configured implementation
→ inspect success
→ return or revert with selected result bytes
A local conceptual trace with explicit assumptions; this is not a trace of a live transaction.
QUICK CHECK · NO PRESSURE
Can fallback forwarding preserve a delegated revert payload?
The proxy can copy and revert with the returned bytes.