This proposal introduces a method to make cross-rollup transactions contingent on the shared Layer 1 (L1) history of communicating Layer 2 (L2) rollups.
Specifically, a contingency DAG is created across rollups for cross rollup transactions that is utilized to enforce a number of safety invariants.
Future to past communication is not allowed.
Communicating across L1 histories is not allowed.
A reorg of the originating chain from which a contingency link is created must also mean a reorg of the contingent chain.
A message originating from a source chain prior to reorg must not be replayable on the dependent destination chain after both chains reorg.
L2s are recommended to both track and align their L1 origins to enable faster cross L2 communication.
See the PR below for more information.
An alternative link is provided to the markdown file w/ working image links as well.