This proposal defines a contract interface for exposing inside the L2 execution environment information about the L1 block that the L2 most recently included bridge inputs from- the so-called “L1 origin”.
This view is useful to any contract on the L2 that needs to verify arbitrary L1 state, storage, transaction, or receipt data inside the L2. It can be used for verification in cross-L2 communication such as RIP-7755, for enforcing L2 consistency checks such as RIP-7789,
and for verifying reads from the L1 such as RIP-7728 and ERC-3668.
This proposal includes an interface for exposing L1 origin info and invariants rules on the meaning of that L1 origin but does not prescribe a specific underlying implementation. The goal is to be able to support a common interface across rollups with differences in implementations.
Link to the latest PR: