Prologue
The program is bootstrapped with two primary inputs:
l1_head
: the L1 block hash that will be perceived as the tip of the L1 chain, authenticating all prior L1 history.dispute
: the identity of the claim to verify.
Bootstrapping happens through special input requests to the host of the program.
Additionally, there are implied inputs, which are derived from the above primary inputs, but can be overridden for testing purposes:
l2_head
: the L2 block hash that will be perceived as the previously agreed upon tip of the L2 chain, authenticating all prior L2 history.Chain configurations: chain configuration may be baked into the program, or determined from attributes of the identified
dispute
on L1.l1_chain_config
: The chain configuration of the L1 chain (also known asl1_genesis.json
)l2_chain_config
: The chain configuration of the L2 chain (also known asl2_genesis.json
)rollup_config
: The roll-up configuration used by the roll-up node (also known asrollup.json
)
The implied inputs rely on L1 introspection to load attributes of the dispute
through the dispute game interface, in the L1 history up and till the specified l1_head
.
The dispute
may be the claim itself, or a pointer to specific prior claimed data in L1, depending on the dispute game interface.
Implied inputs are loaded in a "prologue" before the actual core state-transition function executes. During testing a simplified prologue that loads the overrides may be used.
Note: only the test-prologues are currently supported, since the dispute game interface is actively changing.
Last updated