doc.go 789 Bytes
Newer Older
1 2 3 4 5
// Package derive provides the data transformation functions that take L1 data
// and turn it into L2 blocks and results. Certain L2 data is also able to
// turned back into L1 data.
//
// The flow is data is as follows
6 7 8
// receipts, batches -> eth.PayloadAttributes, by parsing the L1 data and deriving L2 inputs
// l2.PayloadAttributes -> l2.ExecutionPayload, by running the EVM (using an Execution Engine)
// L2 block -> Corresponding L1 block info, by parsing the first deposited transaction
9 10
//
// The Payload Attributes derivation stage is a pure function.
11
// The Execution Payload derivation stage relies on the L2 execution engine to perform the state update.
12 13
// The inversion step is a pure function.
//
14
// The steps should be kept separate to enable easier testing.
15
package derive