# Packages
No description provided by the author
# Functions
AttributesMatchBlock checks if the L2 attributes pre-inputs match the output nil if it is a match.
BatchReader provides a function that iteratively consumes batches from the reader.
BlockToBatch transforms a block into a batch object that can easily be RLP encoded.
CheckBatch checks if the given batch can be applied on top of the given l2SafeHead, given the contextual L1 blocks the batch was included in.
ConfirmPayload ends an execution payload building process in the provided Engine, and persists the payload as the canonical head.
DataFromEVMTransactions filters all of the transactions and returns the calldata from transactions that are sent to the batch inbox address from the batch sender address.
No description provided by the author
ForceCloseTxData generates the transaction data for a transaction which will force close a channel.
L1InfoDeposit creates a L1 Info deposit transaction based on the L1 block, and the L2 block-height difference with the start of the epoch.
L1InfoDepositBytes returns a serialized L1-info attributes transaction.
L1InfoDepositTxData is the inverse of L1InfoDeposit, to see where the L2 chain is derived from.
L2BlockToBlockRef extracts the essential L2BlockRef information from an L2 block ref source, falling back to genesis information if necessary.
MarshalDepositLogEvent returns an EVM log entry that encodes a TransactionDeposited event from the deposit contract.
No description provided by the author
NewBatchQueue creates a BatchQueue, which should be Reset(origin) before use.
No description provided by the author
NewChannelBank creates a ChannelBank, which should be Reset(origin) before use.
NewChannelInReader creates a ChannelInReader, which should be Reset(origin) before use.
No description provided by the author
NewCriticalError returns a critical error.
NewDataSource creates a new calldata source.
No description provided by the author
NewDerivationPipeline creates a derivation pipeline, which should be reset before use.
NewEngineQueue creates a new EngineQueue, which should be Reset(origin) before use.
NewError returns a custom Error.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
NewResetError returns a pipeline reset error.
NewTemporaryError returns a temporary error.
ParseFrames parse the on chain serialization of frame(s) in an L1 transaction.
PayloadToBlockRef extracts the essential L2BlockRef information from an execution payload, falling back to genesis information if necessary.
No description provided by the author
ProcessSystemConfigUpdateLogEvent decodes an EVM log entry emitted by the system config contract and applies it as a system config change.
StartPayload starts an execution payload building process in the provided Engine, with the given attributes.
UnmarshalDepositLogEvent decodes an EVM log entry emitted by the deposit contract into typed deposit data.
UpdateSystemConfigWithL1Receipts filters all L1 receipts to find config updates and applies the config updates to the given sysCfg.
UserDeposits transforms the L2 block-height and L1 receipts into the transaction inputs for a full L2 block.
# Constants
BatchAccept indicates that the batch is valid and should be processed.
BatchDrop indicates that the batch is invalid, and will always be in the future, unless we reorg.
BatchFuture indicates that the batch may be valid, but cannot be processed yet and should be checked again later.
BatchUndecided indicates we are lacking L1 information until we can proceed batch filtering.
No description provided by the author
BlockInsertOK indicates that the payload was successfully executed and appended to the canonical chain.
BlockInsertPayloadErr indicates that the payload was invalid and cannot become canonical.
BlockInsertPrestateErr indicates that the pre-state to insert the payload could not be prepared, e.g.
BlockInsertTemporaryErr indicates that the insertion failed but may succeed at a later time without changes to the payload.
ChannelIDLength defines the length of the channel IDs.
No description provided by the author
FrameV0OverHeadSize is the absolute minimum size of a frame.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
LevelCritical is a critical error.
LevelReset is a pipeline reset error.
LevelTemporary is a temporary error for example due to an RPC or connection issue, and can be safely ignored and retried by the caller.
MaxChannelBankSize is the amount of memory space, in number of bytes, till the bank is pruned by removing channels, starting with the oldest channel.
Frames cannot be larger than 1 MB.
MaxRLPBytesPerChannel is the maximum amount of bytes that will be read from a channel.
No description provided by the author
No description provided by the author
# Variables
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
DuplicateErr is returned when a newly read frame is already known.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Sentinel errors, use these to get the severity of errors by calling errors.Is(err, ErrTemporary) for example.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
NotEnoughData implies that the function currently does not have enough data to progress but if it is retried enough times, it will eventually return a real value or io.EOF.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Structs
No description provided by the author
No description provided by the author
BatchQueue contains a set of batches for every L1 block.
No description provided by the author
No description provided by the author
A Channel is a set of batches that are split into at least one, but possibly multiple frames.
ChannelBank buffers channel frames, and emits full channel data.
ChannelInReader reads a batch from the channel This does decompression and limits the max RLP size This is a pure function from the channel, but each channel (or channel fragment) must be tagged with an L1 inclusion block to be passed to the batch queue.
No description provided by the author
DataSource is a fault tolerant approach to fetching data.
DataSourceFactory readers raw transactions from a given block & then filters for batch submitter transactions.
DerivationPipeline is updated with new L1 data, and the Step() function can be iterated on to keep the L2 Engine in sync.
EngineQueue queues up payload attributes to consolidate or process with the provided Engine.
Error is a wrapper for error, description and a severity level.
FetchingAttributesBuilder fetches inputs for the building of L2 payload attributes on the fly.
No description provided by the author
No description provided by the author
No description provided by the author
L1BlockInfo presents the information stored in a L1Block.setL1BlockValues call.
No description provided by the author
No description provided by the author
No description provided by the author
PayloadsQueue buffers payloads by block number.
No description provided by the author
# Interfaces
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
EngineControl enables other components to build blocks with the Engine, while keeping the forkchoice state and payload-id management internal to avoid state inconsistencies between different users of the EngineControl.
No description provided by the author
EngineState provides a read-only interface of the forkchoice state properties of the L2 Engine.
No description provided by the author
No description provided by the author
No description provided by the author
L1ReceiptsFetcher fetches L1 header info and receipts for the payload attributes derivation (the info tx and deposits).
No description provided by the author
L2BlockRefSource is a source for the generation of a L2BlockRef.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
ResettableEngineControl wraps EngineControl with reset-functionality, which handles reorgs like the derivation pipeline: by determining the last valid block references to continue from.
No description provided by the author
No description provided by the author
# Type aliases
No description provided by the author
No description provided by the author
ChannelID is an opaque identifier for a channel.
Level is the severity level of the error.