Documentation ¶
Index ¶
- Variables
- type Batch
- type Config
- type DbTxMock
- func (_m *DbTxMock) Begin(ctx context.Context) (pgx.Tx, error)
- func (_m *DbTxMock) BeginFunc(ctx context.Context, f func(pgx.Tx) error) error
- func (_m *DbTxMock) Commit(ctx context.Context) error
- func (_m *DbTxMock) Conn() *pgx.Conn
- func (_m *DbTxMock) CopyFrom(ctx context.Context, tableName pgx.Identifier, columnNames []string, ...) (int64, error)
- func (_m *DbTxMock) Exec(ctx context.Context, sql string, arguments ...interface{}) (pgconn.CommandTag, error)
- func (_m *DbTxMock) LargeObjects() pgx.LargeObjects
- func (_m *DbTxMock) Prepare(ctx context.Context, name string, sql string) (*pgconn.StatementDescription, error)
- func (_m *DbTxMock) Query(ctx context.Context, sql string, args ...interface{}) (pgx.Rows, error)
- func (_m *DbTxMock) QueryFunc(ctx context.Context, sql string, args []interface{}, scans []interface{}, ...) (pgconn.CommandTag, error)
- func (_m *DbTxMock) QueryRow(ctx context.Context, sql string, args ...interface{}) pgx.Row
- func (_m *DbTxMock) Rollback(ctx context.Context) error
- func (_m *DbTxMock) SendBatch(ctx context.Context, b *pgx.Batch) pgx.BatchResults
- type EthermanMock
- func (_m *EthermanMock) BuildSequenceBatchesTxData(sender common.Address, sequences []types.Sequence, l2CoinBase common.Address) (*common.Address, []byte, error)
- func (_m *EthermanMock) EstimateGasSequenceBatches(sender common.Address, sequences []types.Sequence, l2CoinBase common.Address) (*coretypes.Transaction, error)
- func (_m *EthermanMock) GetLatestBatchNumber() (uint64, error)
- func (_m *EthermanMock) GetLatestBlockNumber(ctx context.Context) (uint64, error)
- func (_m *EthermanMock) GetLatestBlockTimestamp(ctx context.Context) (uint64, error)
- func (_m *EthermanMock) GetSendSequenceFee(numBatches uint64) (*big.Int, error)
- func (_m *EthermanMock) TrustedSequencer() (common.Address, error)
- type FinalizerCfg
- type L2Block
- type PoolMock
- func (_m *PoolMock) DeleteFailedTransactionsOlderThan(ctx context.Context, date time.Time) error
- func (_m *PoolMock) DeleteTransactionByHash(ctx context.Context, hash common.Hash) error
- func (_m *PoolMock) DeleteTransactionsByHashes(ctx context.Context, hashes []common.Hash) error
- func (_m *PoolMock) GetDefaultMinGasPriceAllowed() uint64
- func (_m *PoolMock) GetGasPrices(ctx context.Context) (pool.GasPrices, error)
- func (_m *PoolMock) GetL1AndL2GasPrice() (uint64, uint64)
- func (_m *PoolMock) GetNonWIPPendingTxs(ctx context.Context) ([]pool.Transaction, error)
- func (_m *PoolMock) GetTxZkCountersByHash(ctx context.Context, hash common.Hash) (*state.ZKCounters, error)
- func (_m *PoolMock) MarkWIPTxsAsPending(ctx context.Context) error
- func (_m *PoolMock) UpdateTxStatus(ctx context.Context, hash common.Hash, newStatus pool.TxStatus, isWIP bool, ...) error
- func (_m *PoolMock) UpdateTxWIPStatus(ctx context.Context, hash common.Hash, isWIP bool) error
- type Sequencer
- type StateMock
- func (_m *StateMock) AddL2Block(ctx context.Context, batchNumber uint64, l2Block *state.L2Block, ...) error
- func (_m *StateMock) Begin(ctx context.Context) (pgx.Tx, error)
- func (_m *StateMock) BeginStateTransaction(ctx context.Context) (pgx.Tx, error)
- func (_m *StateMock) BuildChangeL2Block(deltaTimestamp uint32, l1InfoTreeIndex uint32) []byte
- func (_m *StateMock) CloseBatch(ctx context.Context, receipt state.ProcessingReceipt, dbTx pgx.Tx) error
- func (_m *StateMock) CloseWIPBatch(ctx context.Context, receipt state.ProcessingReceipt, dbTx pgx.Tx) error
- func (_m *StateMock) CountReorgs(ctx context.Context, dbTx pgx.Tx) (uint64, error)
- func (_m *StateMock) ExecuteBatch(ctx context.Context, batch state.Batch, updateMerkleTree bool, dbTx pgx.Tx) (*executor.ProcessBatchResponse, error)
- func (_m *StateMock) ExecuteBatchV2(ctx context.Context, batch state.Batch, ...) (*executor.ProcessBatchResponseV2, error)
- func (_m *StateMock) FlushMerkleTree(ctx context.Context, newStateRoot common.Hash) error
- func (_m *StateMock) GetBalanceByStateRoot(ctx context.Context, address common.Address, root common.Hash) (*big.Int, error)
- func (_m *StateMock) GetBatchByNumber(ctx context.Context, batchNumber uint64, dbTx pgx.Tx) (*state.Batch, error)
- func (_m *StateMock) GetBlockByNumber(ctx context.Context, blockNumber uint64, dbTx pgx.Tx) (*state.Block, error)
- func (_m *StateMock) GetDSBatches(ctx context.Context, firstBatchNumber uint64, lastBatchNumber uint64, ...) ([]*state.DSBatch, error)
- func (_m *StateMock) GetDSGenesisBlock(ctx context.Context, dbTx pgx.Tx) (*state.DSL2Block, error)
- func (_m *StateMock) GetDSL2Blocks(ctx context.Context, firstBatchNumber uint64, lastBatchNumber uint64, ...) ([]*state.DSL2Block, error)
- func (_m *StateMock) GetDSL2Transactions(ctx context.Context, firstL2Block uint64, lastL2Block uint64, dbTx pgx.Tx) ([]*state.DSL2Transaction, error)
- func (_m *StateMock) GetForcedBatch(ctx context.Context, forcedBatchNumber uint64, dbTx pgx.Tx) (*state.ForcedBatch, error)
- func (_m *StateMock) GetForcedBatchesSince(ctx context.Context, forcedBatchNumber uint64, maxBlockNumber uint64, ...) ([]*state.ForcedBatch, error)
- func (_m *StateMock) GetForkIDByBatchNumber(batchNumber uint64) uint64
- func (_m *StateMock) GetL1InfoTreeDataFromBatchL2Data(ctx context.Context, batchL2Data []byte, dbTx pgx.Tx) (map[uint32]state.L1DataV2, common.Hash, error)
- func (_m *StateMock) GetLastBatch(ctx context.Context, dbTx pgx.Tx) (*state.Batch, error)
- func (_m *StateMock) GetLastBatchNumber(ctx context.Context, dbTx pgx.Tx) (uint64, error)
- func (_m *StateMock) GetLastBlock(ctx context.Context, dbTx pgx.Tx) (*state.Block, error)
- func (_m *StateMock) GetLastClosedBatch(ctx context.Context, dbTx pgx.Tx) (*state.Batch, error)
- func (_m *StateMock) GetLastL2Block(ctx context.Context, dbTx pgx.Tx) (*state.L2Block, error)
- func (_m *StateMock) GetLastL2BlockHeader(ctx context.Context, dbTx pgx.Tx) (*state.L2Header, error)
- func (_m *StateMock) GetLastNBatches(ctx context.Context, numBatches uint, dbTx pgx.Tx) ([]*state.Batch, error)
- func (_m *StateMock) GetLastStateRoot(ctx context.Context, dbTx pgx.Tx) (common.Hash, error)
- func (_m *StateMock) GetLastTrustedForcedBatchNumber(ctx context.Context, dbTx pgx.Tx) (uint64, error)
- func (_m *StateMock) GetLastVirtualBatchNum(ctx context.Context, dbTx pgx.Tx) (uint64, error)
- func (_m *StateMock) GetLatestGer(ctx context.Context, maxBlockNumber uint64) (state.GlobalExitRoot, time.Time, error)
- func (_m *StateMock) GetLatestGlobalExitRoot(ctx context.Context, maxBlockNumber uint64, dbTx pgx.Tx) (state.GlobalExitRoot, time.Time, error)
- func (_m *StateMock) GetLatestL1InfoRoot(ctx context.Context, maxBlockNumber uint64) (state.L1InfoTreeExitRootStorageEntry, error)
- func (_m *StateMock) GetLatestVirtualBatchTimestamp(ctx context.Context, dbTx pgx.Tx) (time.Time, error)
- func (_m *StateMock) GetNonceByStateRoot(ctx context.Context, address common.Address, root common.Hash) (*big.Int, error)
- func (_m *StateMock) GetStorageAt(ctx context.Context, address common.Address, position *big.Int, ...) (*big.Int, error)
- func (_m *StateMock) GetStoredFlushID(ctx context.Context) (uint64, string, error)
- func (_m *StateMock) GetTimeForLatestBatchVirtualization(ctx context.Context, dbTx pgx.Tx) (time.Time, error)
- func (_m *StateMock) GetTransactionsByBatchNumber(ctx context.Context, batchNumber uint64, dbTx pgx.Tx) ([]types.Transaction, []uint8, error)
- func (_m *StateMock) GetTxsOlderThanNL1Blocks(ctx context.Context, nL1Blocks uint64, dbTx pgx.Tx) ([]common.Hash, error)
- func (_m *StateMock) GetWIPBatch(ctx context.Context, batchNumber uint64, dbTx pgx.Tx) (*state.Batch, error)
- func (_m *StateMock) IsBatchClosed(ctx context.Context, batchNum uint64, dbTx pgx.Tx) (bool, error)
- func (_m *StateMock) OpenBatch(ctx context.Context, processingContext state.ProcessingContext, dbTx pgx.Tx) error
- func (_m *StateMock) OpenWIPBatch(ctx context.Context, batch state.Batch, dbTx pgx.Tx) error
- func (_m *StateMock) ProcessBatch(ctx context.Context, request state.ProcessRequest, updateMerkleTree bool) (*state.ProcessBatchResponse, error)
- func (_m *StateMock) ProcessBatchV2(ctx context.Context, request state.ProcessRequest, updateMerkleTree bool) (*state.ProcessBatchResponse, error)
- func (_m *StateMock) StoreL2Block(ctx context.Context, batchNumber uint64, l2Block *state.ProcessBlockResponse, ...) error
- func (_m *StateMock) StoreTransaction(ctx context.Context, batchNumber uint64, ...) (*state.L2Header, error)
- func (_m *StateMock) UpdateWIPBatch(ctx context.Context, receipt state.ProcessingReceipt, dbTx pgx.Tx) error
- type StreamServerCfg
- type TxTracker
- type Worker
- func (w *Worker) AddForcedTx(txHash common.Hash, addr common.Address)
- func (w *Worker) AddPendingTxToStore(txHash common.Hash, addr common.Address)
- func (w *Worker) AddTxTracker(ctx context.Context, tx *TxTracker) (replacedTx *TxTracker, dropReason error)
- func (w *Worker) DeleteForcedTx(txHash common.Hash, addr common.Address)
- func (w *Worker) DeletePendingTxToStore(txHash common.Hash, addr common.Address)
- func (w *Worker) DeleteTx(txHash common.Hash, addr common.Address)
- func (w *Worker) ExpireTransactions(maxTime time.Duration) []*TxTracker
- func (w *Worker) GetBestFittingTx(resources state.BatchResources) (*TxTracker, error)
- func (w *Worker) HandleL2Reorg(txHashes []common.Hash)
- func (w *Worker) MoveTxToNotReady(txHash common.Hash, from common.Address, actualNonce *uint64, ...) []*TxTracker
- func (w *Worker) NewTxTracker(tx types.Transaction, counters state.ZKCounters, ip string) (*TxTracker, error)
- func (w *Worker) UpdateAfterSingleSuccessfulTxExecution(from common.Address, touchedAddresses map[common.Address]*state.InfoReadWrite) []*TxTracker
- func (w *Worker) UpdateTxZKCounters(txHash common.Hash, addr common.Address, counters state.ZKCounters)
- type WorkerMock
- func (_m *WorkerMock) AddForcedTx(txHash common.Hash, addr common.Address)
- func (_m *WorkerMock) AddPendingTxToStore(txHash common.Hash, addr common.Address)
- func (_m *WorkerMock) AddTxTracker(ctx context.Context, txTracker *TxTracker) (*TxTracker, error)
- func (_m *WorkerMock) DeleteForcedTx(txHash common.Hash, addr common.Address)
- func (_m *WorkerMock) DeletePendingTxToStore(txHash common.Hash, addr common.Address)
- func (_m *WorkerMock) DeleteTx(txHash common.Hash, from common.Address)
- func (_m *WorkerMock) GetBestFittingTx(resources state.BatchResources) (*TxTracker, error)
- func (_m *WorkerMock) HandleL2Reorg(txHashes []common.Hash)
- func (_m *WorkerMock) MoveTxToNotReady(txHash common.Hash, from common.Address, actualNonce *uint64, ...) []*TxTracker
- func (_m *WorkerMock) NewTxTracker(tx types.Transaction, counters state.ZKCounters, ip string) (*TxTracker, error)
- func (_m *WorkerMock) UpdateAfterSingleSuccessfulTxExecution(from common.Address, touchedAddresses map[common.Address]*state.InfoReadWrite) []*TxTracker
- func (_m *WorkerMock) UpdateTxZKCounters(txHash common.Hash, from common.Address, ZKCounters state.ZKCounters)
Constants ¶
This section is empty.
Variables ¶
var ( // ErrExpiredTransaction happens when the transaction is expired ErrExpiredTransaction = errors.New("transaction expired") // ErrEffectiveGasPriceReprocess happens when the effective gas price requires reexecution ErrEffectiveGasPriceReprocess = errors.New("effective gas price requires reprocessing the transaction") // ErrDuplicatedNonce is returned when adding a new tx to the worker and there is an existing tx // with the same nonce and higher gasPrice (in this case we keep the existing tx) ErrDuplicatedNonce = errors.New("duplicated nonce") // ErrReplacedTransaction is returned when an existing tx is replaced by a new tx with the same nonce and higher gasPrice ErrReplacedTransaction = errors.New("replaced transaction") // ErrGetBatchByNumber happens when we get an error trying to get a batch by number (GetBatchByNumber) ErrGetBatchByNumber = errors.New("get batch by number error") // ErrDecodeBatchL2Data happens when we get an error trying to decode BatchL2Data (DecodeTxs) ErrDecodeBatchL2Data = errors.New("decoding BatchL2Data error") // ErrProcessBatch happens when we get an error trying to process (executor) a batch ErrProcessBatch = errors.New("processing batch error") // ErrProcessBatchOOC happens when we get an OOC when processing (executor) a batch ErrProcessBatchOOC = errors.New("processing batch OOC") // ErrStateRootNoMatch happens when the SR returned for a full batch processing (sanity check) doesn't match // the SR calculated when filling a batch tx by tx ErrStateRootNoMatch = errors.New("state root no match") // ErrExecutorError happens when we got an executor error when processing a batch ErrExecutorError = errors.New("executor error") // ErrNoFittingTransaction happens when there is not a tx (from the txSortedList) that fits in the remaining batch resources ErrNoFittingTransaction = errors.New("no fit transaction") // ErrTransactionsListEmpty happens when txSortedList is empty ErrTransactionsListEmpty = errors.New("transactions list empty") )
Functions ¶
This section is empty.
Types ¶
type Batch ¶ added in v0.5.0
type Batch struct {
// contains filtered or unexported fields
}
Batch represents a wip or processed batch.
type Config ¶
type Config struct { // BlocksAmountForTxsToBeDeleted is blocks amount after which txs will be deleted from the pool BlocksAmountForTxsToBeDeleted uint64 `mapstructure:"BlocksAmountForTxsToBeDeleted"` // FrequencyToCheckTxsForDelete is frequency with which txs will be checked for deleting FrequencyToCheckTxsForDelete types.Duration `mapstructure:"FrequencyToCheckTxsForDelete"` // TxLifetimeCheckTimeout is the time the sequencer waits to check txs lifetime TxLifetimeCheckTimeout types.Duration `mapstructure:"TxLifetimeCheckTimeout"` // MaxTxLifetime is the time a tx can be in the sequencer/worker memory MaxTxLifetime types.Duration `mapstructure:"MaxTxLifetime"` // PoolRetrievalInteral is the time the sequencer waits to check in there are new txs in the pool PoolRetrievalInterval types.Duration `mapstructure:"PoolRetrievalInterval"` // L2ReorgRetrievalInterval is the time the sequencer waits to check if a state inconsistency has happened L2ReorgRetrievalInterval types.Duration `mapstructure:"L2ReorgRetrievalInterval"` // Finalizer's specific config properties Finalizer FinalizerCfg `mapstructure:"Finalizer"` // StreamServerCfg is the config for the stream server StreamServer StreamServerCfg `mapstructure:"StreamServer"` }
Config represents the configuration of a sequencer
type DbTxMock ¶
DbTxMock is an autogenerated mock type for the Tx type
func NewDbTxMock ¶
NewDbTxMock creates a new instance of DbTxMock. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. The first argument is typically a *testing.T value.
func (*DbTxMock) CopyFrom ¶
func (_m *DbTxMock) CopyFrom(ctx context.Context, tableName pgx.Identifier, columnNames []string, rowSrc pgx.CopyFromSource) (int64, error)
CopyFrom provides a mock function with given fields: ctx, tableName, columnNames, rowSrc
func (*DbTxMock) Exec ¶
func (_m *DbTxMock) Exec(ctx context.Context, sql string, arguments ...interface{}) (pgconn.CommandTag, error)
Exec provides a mock function with given fields: ctx, sql, arguments
func (*DbTxMock) LargeObjects ¶
func (_m *DbTxMock) LargeObjects() pgx.LargeObjects
LargeObjects provides a mock function with given fields:
func (*DbTxMock) Prepare ¶
func (_m *DbTxMock) Prepare(ctx context.Context, name string, sql string) (*pgconn.StatementDescription, error)
Prepare provides a mock function with given fields: ctx, name, sql
func (*DbTxMock) QueryFunc ¶
func (_m *DbTxMock) QueryFunc(ctx context.Context, sql string, args []interface{}, scans []interface{}, f func(pgx.QueryFuncRow) error) (pgconn.CommandTag, error)
QueryFunc provides a mock function with given fields: ctx, sql, args, scans, f
type EthermanMock ¶
EthermanMock is an autogenerated mock type for the etherman type
func NewEthermanMock ¶
func NewEthermanMock(t interface { mock.TestingT Cleanup(func()) }) *EthermanMock
NewEthermanMock creates a new instance of EthermanMock. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. The first argument is typically a *testing.T value.
func (*EthermanMock) BuildSequenceBatchesTxData ¶
func (_m *EthermanMock) BuildSequenceBatchesTxData(sender common.Address, sequences []types.Sequence, l2CoinBase common.Address) (*common.Address, []byte, error)
BuildSequenceBatchesTxData provides a mock function with given fields: sender, sequences, l2CoinBase
func (*EthermanMock) EstimateGasSequenceBatches ¶
func (_m *EthermanMock) EstimateGasSequenceBatches(sender common.Address, sequences []types.Sequence, l2CoinBase common.Address) (*coretypes.Transaction, error)
EstimateGasSequenceBatches provides a mock function with given fields: sender, sequences, l2CoinBase
func (*EthermanMock) GetLatestBatchNumber ¶
func (_m *EthermanMock) GetLatestBatchNumber() (uint64, error)
GetLatestBatchNumber provides a mock function with given fields:
func (*EthermanMock) GetLatestBlockNumber ¶
func (_m *EthermanMock) GetLatestBlockNumber(ctx context.Context) (uint64, error)
GetLatestBlockNumber provides a mock function with given fields: ctx
func (*EthermanMock) GetLatestBlockTimestamp ¶
func (_m *EthermanMock) GetLatestBlockTimestamp(ctx context.Context) (uint64, error)
GetLatestBlockTimestamp provides a mock function with given fields: ctx
func (*EthermanMock) GetSendSequenceFee ¶
func (_m *EthermanMock) GetSendSequenceFee(numBatches uint64) (*big.Int, error)
GetSendSequenceFee provides a mock function with given fields: numBatches
func (*EthermanMock) TrustedSequencer ¶
func (_m *EthermanMock) TrustedSequencer() (common.Address, error)
TrustedSequencer provides a mock function with given fields:
type FinalizerCfg ¶
type FinalizerCfg struct { // ForcedBatchDeadlineTimeout is the time the finalizer waits after receiving closing signal to process Forced Batches ForcedBatchDeadlineTimeout types.Duration `mapstructure:"ForcedBatchDeadlineTimeout"` // SleepDuration is the time the finalizer sleeps between each iteration, if there are no transactions to be processed SleepDuration types.Duration `mapstructure:"SleepDuration"` // ResourcePercentageToCloseBatch is the percentage window of the resource left out for the batch to be closed ResourcePercentageToCloseBatch uint32 `mapstructure:"ResourcePercentageToCloseBatch"` // ForcedBatchesFinalityNumberOfBlocks is number of blocks to consider GER final ForcedBatchesFinalityNumberOfBlocks uint64 `mapstructure:"ForcedBatchesFinalityNumberOfBlocks"` // L1InfoRootFinalityNumberOfBlocks is number of blocks to consider L1InfoRoot final L1InfoRootFinalityNumberOfBlocks uint64 `mapstructure:"L1InfoRootFinalityNumberOfBlocks"` // ClosingSignalsManagerWaitForCheckingL1Timeout is used by the closing signals manager to wait for its operation ClosingSignalsManagerWaitForCheckingForcedBatches types.Duration `mapstructure:"ClosingSignalsManagerWaitForCheckingForcedBatches"` // WaitForCheckingL1InfoRoot is the wait time to check if the L1InfoRoot has been updated WaitForCheckingL1InfoRoot types.Duration `mapstructure:"WaitForCheckingL1InfoRoot"` // TimestampResolution is the resolution of the timestamp used to close a batch TimestampResolution types.Duration `mapstructure:"TimestampResolution"` // L2BlockTime is the resolution of the timestamp used to close a L2 block L2BlockTime types.Duration `mapstructure:"L2BlockTime"` // StopSequencerOnBatchNum specifies the batch number where the Sequencer will stop to process more transactions and generate new batches. The Sequencer will halt after it closes the batch equal to this number StopSequencerOnBatchNum uint64 `mapstructure:"StopSequencerOnBatchNum"` // SequentialReprocessFullBatch indicates if the reprocess of a closed batch (sanity check) must be done in a // sequential way (instead than in parallel) SequentialReprocessFullBatch bool `mapstructure:"SequentialReprocessFullBatch"` }
FinalizerCfg contains the finalizer's configuration properties
type L2Block ¶ added in v0.5.0
type L2Block struct {
// contains filtered or unexported fields
}
L2Block represents a wip or processed L2 block
type PoolMock ¶
PoolMock is an autogenerated mock type for the txPool type
func NewPoolMock ¶
NewPoolMock creates a new instance of PoolMock. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. The first argument is typically a *testing.T value.
func (*PoolMock) DeleteFailedTransactionsOlderThan ¶ added in v0.4.0
DeleteFailedTransactionsOlderThan provides a mock function with given fields: ctx, date
func (*PoolMock) DeleteTransactionByHash ¶
DeleteTransactionByHash provides a mock function with given fields: ctx, hash
func (*PoolMock) DeleteTransactionsByHashes ¶
DeleteTransactionsByHashes provides a mock function with given fields: ctx, hashes
func (*PoolMock) GetDefaultMinGasPriceAllowed ¶ added in v0.0.990
GetDefaultMinGasPriceAllowed provides a mock function with given fields:
func (*PoolMock) GetGasPrices ¶ added in v0.0.990
GetGasPrices provides a mock function with given fields: ctx
func (*PoolMock) GetL1AndL2GasPrice ¶ added in v0.4.0
GetL1AndL2GasPrice provides a mock function with given fields:
func (*PoolMock) GetNonWIPPendingTxs ¶
GetNonWIPPendingTxs provides a mock function with given fields: ctx
func (*PoolMock) GetTxZkCountersByHash ¶
func (_m *PoolMock) GetTxZkCountersByHash(ctx context.Context, hash common.Hash) (*state.ZKCounters, error)
GetTxZkCountersByHash provides a mock function with given fields: ctx, hash
func (*PoolMock) MarkWIPTxsAsPending ¶
MarkWIPTxsAsPending provides a mock function with given fields: ctx
type Sequencer ¶
type Sequencer struct {
// contains filtered or unexported fields
}
Sequencer represents a sequencer
type StateMock ¶
StateMock is an autogenerated mock type for the stateInterface type
func NewStateMock ¶
NewStateMock creates a new instance of StateMock. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. The first argument is typically a *testing.T value.
func (*StateMock) AddL2Block ¶ added in v0.5.0
func (_m *StateMock) AddL2Block(ctx context.Context, batchNumber uint64, l2Block *state.L2Block, receipts []*types.Receipt, txsEGPData []state.StoreTxEGPData, dbTx pgx.Tx) error
AddL2Block provides a mock function with given fields: ctx, batchNumber, l2Block, receipts, txsEGPData, dbTx
func (*StateMock) BeginStateTransaction ¶
BeginStateTransaction provides a mock function with given fields: ctx
func (*StateMock) BuildChangeL2Block ¶ added in v0.5.0
BuildChangeL2Block provides a mock function with given fields: deltaTimestamp, l1InfoTreeIndex
func (*StateMock) CloseBatch ¶
func (_m *StateMock) CloseBatch(ctx context.Context, receipt state.ProcessingReceipt, dbTx pgx.Tx) error
CloseBatch provides a mock function with given fields: ctx, receipt, dbTx
func (*StateMock) CloseWIPBatch ¶ added in v0.5.0
func (_m *StateMock) CloseWIPBatch(ctx context.Context, receipt state.ProcessingReceipt, dbTx pgx.Tx) error
CloseWIPBatch provides a mock function with given fields: ctx, receipt, dbTx
func (*StateMock) CountReorgs ¶
CountReorgs provides a mock function with given fields: ctx, dbTx
func (*StateMock) ExecuteBatch ¶
func (_m *StateMock) ExecuteBatch(ctx context.Context, batch state.Batch, updateMerkleTree bool, dbTx pgx.Tx) (*executor.ProcessBatchResponse, error)
ExecuteBatch provides a mock function with given fields: ctx, batch, updateMerkleTree, dbTx
func (*StateMock) ExecuteBatchV2 ¶ added in v0.5.0
func (_m *StateMock) ExecuteBatchV2(ctx context.Context, batch state.Batch, l1InfoTree state.L1InfoTreeExitRootStorageEntry, timestampLimit time.Time, updateMerkleTree bool, skipVerifyL1InfoRoot uint32, forcedBlockHashL1 *common.Hash, dbTx pgx.Tx) (*executor.ProcessBatchResponseV2, error)
ExecuteBatchV2 provides a mock function with given fields: ctx, batch, l1InfoTree, timestampLimit, updateMerkleTree, skipVerifyL1InfoRoot, forcedBlockHashL1, dbTx
func (*StateMock) FlushMerkleTree ¶
FlushMerkleTree provides a mock function with given fields: ctx, newStateRoot
func (*StateMock) GetBalanceByStateRoot ¶
func (_m *StateMock) GetBalanceByStateRoot(ctx context.Context, address common.Address, root common.Hash) (*big.Int, error)
GetBalanceByStateRoot provides a mock function with given fields: ctx, address, root
func (*StateMock) GetBatchByNumber ¶
func (_m *StateMock) GetBatchByNumber(ctx context.Context, batchNumber uint64, dbTx pgx.Tx) (*state.Batch, error)
GetBatchByNumber provides a mock function with given fields: ctx, batchNumber, dbTx
func (*StateMock) GetBlockByNumber ¶ added in v0.5.0
func (_m *StateMock) GetBlockByNumber(ctx context.Context, blockNumber uint64, dbTx pgx.Tx) (*state.Block, error)
GetBlockByNumber provides a mock function with given fields: ctx, blockNumber, dbTx
func (*StateMock) GetDSBatches ¶ added in v0.4.0
func (_m *StateMock) GetDSBatches(ctx context.Context, firstBatchNumber uint64, lastBatchNumber uint64, readWIPBatch bool, dbTx pgx.Tx) ([]*state.DSBatch, error)
GetDSBatches provides a mock function with given fields: ctx, firstBatchNumber, lastBatchNumber, readWIPBatch, dbTx
func (*StateMock) GetDSGenesisBlock ¶ added in v0.0.990
GetDSGenesisBlock provides a mock function with given fields: ctx, dbTx
func (*StateMock) GetDSL2Blocks ¶ added in v0.0.990
func (_m *StateMock) GetDSL2Blocks(ctx context.Context, firstBatchNumber uint64, lastBatchNumber uint64, dbTx pgx.Tx) ([]*state.DSL2Block, error)
GetDSL2Blocks provides a mock function with given fields: ctx, firstBatchNumber, lastBatchNumber, dbTx
func (*StateMock) GetDSL2Transactions ¶ added in v0.0.990
func (_m *StateMock) GetDSL2Transactions(ctx context.Context, firstL2Block uint64, lastL2Block uint64, dbTx pgx.Tx) ([]*state.DSL2Transaction, error)
GetDSL2Transactions provides a mock function with given fields: ctx, firstL2Block, lastL2Block, dbTx
func (*StateMock) GetForcedBatch ¶
func (_m *StateMock) GetForcedBatch(ctx context.Context, forcedBatchNumber uint64, dbTx pgx.Tx) (*state.ForcedBatch, error)
GetForcedBatch provides a mock function with given fields: ctx, forcedBatchNumber, dbTx
func (*StateMock) GetForcedBatchesSince ¶
func (_m *StateMock) GetForcedBatchesSince(ctx context.Context, forcedBatchNumber uint64, maxBlockNumber uint64, dbTx pgx.Tx) ([]*state.ForcedBatch, error)
GetForcedBatchesSince provides a mock function with given fields: ctx, forcedBatchNumber, maxBlockNumber, dbTx
func (*StateMock) GetForkIDByBatchNumber ¶ added in v0.0.990
GetForkIDByBatchNumber provides a mock function with given fields: batchNumber
func (*StateMock) GetL1InfoTreeDataFromBatchL2Data ¶ added in v0.5.0
func (_m *StateMock) GetL1InfoTreeDataFromBatchL2Data(ctx context.Context, batchL2Data []byte, dbTx pgx.Tx) (map[uint32]state.L1DataV2, common.Hash, error)
GetL1InfoTreeDataFromBatchL2Data provides a mock function with given fields: ctx, batchL2Data, dbTx
func (*StateMock) GetLastBatch ¶
GetLastBatch provides a mock function with given fields: ctx, dbTx
func (*StateMock) GetLastBatchNumber ¶
GetLastBatchNumber provides a mock function with given fields: ctx, dbTx
func (*StateMock) GetLastBlock ¶
GetLastBlock provides a mock function with given fields: ctx, dbTx
func (*StateMock) GetLastClosedBatch ¶
GetLastClosedBatch provides a mock function with given fields: ctx, dbTx
func (*StateMock) GetLastL2Block ¶
GetLastL2Block provides a mock function with given fields: ctx, dbTx
func (*StateMock) GetLastL2BlockHeader ¶
func (_m *StateMock) GetLastL2BlockHeader(ctx context.Context, dbTx pgx.Tx) (*state.L2Header, error)
GetLastL2BlockHeader provides a mock function with given fields: ctx, dbTx
func (*StateMock) GetLastNBatches ¶
func (_m *StateMock) GetLastNBatches(ctx context.Context, numBatches uint, dbTx pgx.Tx) ([]*state.Batch, error)
GetLastNBatches provides a mock function with given fields: ctx, numBatches, dbTx
func (*StateMock) GetLastStateRoot ¶
GetLastStateRoot provides a mock function with given fields: ctx, dbTx
func (*StateMock) GetLastTrustedForcedBatchNumber ¶
func (_m *StateMock) GetLastTrustedForcedBatchNumber(ctx context.Context, dbTx pgx.Tx) (uint64, error)
GetLastTrustedForcedBatchNumber provides a mock function with given fields: ctx, dbTx
func (*StateMock) GetLastVirtualBatchNum ¶
GetLastVirtualBatchNum provides a mock function with given fields: ctx, dbTx
func (*StateMock) GetLatestGer ¶
func (_m *StateMock) GetLatestGer(ctx context.Context, maxBlockNumber uint64) (state.GlobalExitRoot, time.Time, error)
GetLatestGer provides a mock function with given fields: ctx, maxBlockNumber
func (*StateMock) GetLatestGlobalExitRoot ¶
func (_m *StateMock) GetLatestGlobalExitRoot(ctx context.Context, maxBlockNumber uint64, dbTx pgx.Tx) (state.GlobalExitRoot, time.Time, error)
GetLatestGlobalExitRoot provides a mock function with given fields: ctx, maxBlockNumber, dbTx
func (*StateMock) GetLatestL1InfoRoot ¶ added in v0.5.0
func (_m *StateMock) GetLatestL1InfoRoot(ctx context.Context, maxBlockNumber uint64) (state.L1InfoTreeExitRootStorageEntry, error)
GetLatestL1InfoRoot provides a mock function with given fields: ctx, maxBlockNumber
func (*StateMock) GetLatestVirtualBatchTimestamp ¶
func (_m *StateMock) GetLatestVirtualBatchTimestamp(ctx context.Context, dbTx pgx.Tx) (time.Time, error)
GetLatestVirtualBatchTimestamp provides a mock function with given fields: ctx, dbTx
func (*StateMock) GetNonceByStateRoot ¶
func (_m *StateMock) GetNonceByStateRoot(ctx context.Context, address common.Address, root common.Hash) (*big.Int, error)
GetNonceByStateRoot provides a mock function with given fields: ctx, address, root
func (*StateMock) GetStorageAt ¶ added in v0.4.3
func (_m *StateMock) GetStorageAt(ctx context.Context, address common.Address, position *big.Int, root common.Hash) (*big.Int, error)
GetStorageAt provides a mock function with given fields: ctx, address, position, root
func (*StateMock) GetStoredFlushID ¶ added in v0.0.990
GetStoredFlushID provides a mock function with given fields: ctx
func (*StateMock) GetTimeForLatestBatchVirtualization ¶
func (_m *StateMock) GetTimeForLatestBatchVirtualization(ctx context.Context, dbTx pgx.Tx) (time.Time, error)
GetTimeForLatestBatchVirtualization provides a mock function with given fields: ctx, dbTx
func (*StateMock) GetTransactionsByBatchNumber ¶
func (_m *StateMock) GetTransactionsByBatchNumber(ctx context.Context, batchNumber uint64, dbTx pgx.Tx) ([]types.Transaction, []uint8, error)
GetTransactionsByBatchNumber provides a mock function with given fields: ctx, batchNumber, dbTx
func (*StateMock) GetTxsOlderThanNL1Blocks ¶
func (_m *StateMock) GetTxsOlderThanNL1Blocks(ctx context.Context, nL1Blocks uint64, dbTx pgx.Tx) ([]common.Hash, error)
GetTxsOlderThanNL1Blocks provides a mock function with given fields: ctx, nL1Blocks, dbTx
func (*StateMock) GetWIPBatch ¶ added in v0.5.0
func (_m *StateMock) GetWIPBatch(ctx context.Context, batchNumber uint64, dbTx pgx.Tx) (*state.Batch, error)
GetWIPBatch provides a mock function with given fields: ctx, batchNumber, dbTx
func (*StateMock) IsBatchClosed ¶
IsBatchClosed provides a mock function with given fields: ctx, batchNum, dbTx
func (*StateMock) OpenBatch ¶
func (_m *StateMock) OpenBatch(ctx context.Context, processingContext state.ProcessingContext, dbTx pgx.Tx) error
OpenBatch provides a mock function with given fields: ctx, processingContext, dbTx
func (*StateMock) OpenWIPBatch ¶ added in v0.5.0
OpenWIPBatch provides a mock function with given fields: ctx, batch, dbTx
func (*StateMock) ProcessBatch ¶
func (_m *StateMock) ProcessBatch(ctx context.Context, request state.ProcessRequest, updateMerkleTree bool) (*state.ProcessBatchResponse, error)
ProcessBatch provides a mock function with given fields: ctx, request, updateMerkleTree
func (*StateMock) ProcessBatchV2 ¶ added in v0.5.0
func (_m *StateMock) ProcessBatchV2(ctx context.Context, request state.ProcessRequest, updateMerkleTree bool) (*state.ProcessBatchResponse, error)
ProcessBatchV2 provides a mock function with given fields: ctx, request, updateMerkleTree
func (*StateMock) StoreL2Block ¶ added in v0.5.0
func (_m *StateMock) StoreL2Block(ctx context.Context, batchNumber uint64, l2Block *state.ProcessBlockResponse, txsEGPLog []*state.EffectiveGasPriceLog, dbTx pgx.Tx) error
StoreL2Block provides a mock function with given fields: ctx, batchNumber, l2Block, txsEGPLog, dbTx
func (*StateMock) StoreTransaction ¶
func (_m *StateMock) StoreTransaction(ctx context.Context, batchNumber uint64, processedTx *state.ProcessTransactionResponse, coinbase common.Address, timestamp uint64, egpLog *state.EffectiveGasPriceLog, dbTx pgx.Tx) (*state.L2Header, error)
StoreTransaction provides a mock function with given fields: ctx, batchNumber, processedTx, coinbase, timestamp, egpLog, dbTx
func (*StateMock) UpdateWIPBatch ¶ added in v0.5.0
func (_m *StateMock) UpdateWIPBatch(ctx context.Context, receipt state.ProcessingReceipt, dbTx pgx.Tx) error
UpdateWIPBatch provides a mock function with given fields: ctx, receipt, dbTx
type StreamServerCfg ¶ added in v0.0.990
type StreamServerCfg struct { // Port to listen on Port uint16 `mapstructure:"Port"` // Filename of the binary data file Filename string `mapstructure:"Filename"` // Enabled is a flag to enable/disable the data streamer Enabled bool `mapstructure:"Enabled"` // Log is the log configuration Log log.Config `mapstructure:"Log"` }
StreamServerCfg contains the data streamer's configuration properties
type TxTracker ¶
type TxTracker struct { Hash common.Hash HashStr string From common.Address FromStr string Nonce uint64 Gas uint64 // To check if it fits into a batch GasPrice *big.Int Cost *big.Int // Cost = Amount + Benefit BatchResources state.BatchResources // To check if it fits into a batch RawTx []byte ReceivedAt time.Time // To check if it has been in the txSortedList for too long IP string // IP of the tx sender FailedReason *string // FailedReason is the reason why the tx failed, if it failed EffectiveGasPrice *big.Int EGPPercentage byte IsLastExecution bool EGPLog state.EffectiveGasPriceLog L1GasPrice uint64 L2GasPrice uint64 }
TxTracker is a struct that contains all the tx data needed to be managed by the worker
type Worker ¶
type Worker struct {
// contains filtered or unexported fields
}
Worker represents the worker component of the sequencer
func NewWorker ¶
func NewWorker(state stateInterface, constraints state.BatchConstraintsCfg) *Worker
NewWorker creates an init a worker
func (*Worker) AddForcedTx ¶ added in v0.0.990
AddForcedTx adds a forced tx to the addrQueue
func (*Worker) AddPendingTxToStore ¶ added in v0.0.990
AddPendingTxToStore adds a tx to the addrQueue list of pending txs to store in the DB (trusted state)
func (*Worker) AddTxTracker ¶
func (w *Worker) AddTxTracker(ctx context.Context, tx *TxTracker) (replacedTx *TxTracker, dropReason error)
AddTxTracker adds a new Tx to the Worker
func (*Worker) DeleteForcedTx ¶ added in v0.0.990
DeleteForcedTx deletes a forced tx from the addrQueue
func (*Worker) DeletePendingTxToStore ¶ added in v0.0.990
DeletePendingTxToStore delete a tx from the addrQueue list of pending txs to store in the DB (trusted state)
func (*Worker) ExpireTransactions ¶
ExpireTransactions deletes old txs
func (*Worker) GetBestFittingTx ¶
func (w *Worker) GetBestFittingTx(resources state.BatchResources) (*TxTracker, error)
GetBestFittingTx gets the most efficient tx that fits in the available batch resources
func (*Worker) HandleL2Reorg ¶
HandleL2Reorg handles the L2 reorg signal
func (*Worker) MoveTxToNotReady ¶
func (w *Worker) MoveTxToNotReady(txHash common.Hash, from common.Address, actualNonce *uint64, actualBalance *big.Int) []*TxTracker
MoveTxToNotReady move a tx to not ready after it fails to execute
func (*Worker) NewTxTracker ¶
func (w *Worker) NewTxTracker(tx types.Transaction, counters state.ZKCounters, ip string) (*TxTracker, error)
NewTxTracker creates and inits a TxTracker
func (*Worker) UpdateAfterSingleSuccessfulTxExecution ¶
func (w *Worker) UpdateAfterSingleSuccessfulTxExecution(from common.Address, touchedAddresses map[common.Address]*state.InfoReadWrite) []*TxTracker
UpdateAfterSingleSuccessfulTxExecution updates the touched addresses after execute on Executor a successfully tx
func (*Worker) UpdateTxZKCounters ¶ added in v0.0.990
func (w *Worker) UpdateTxZKCounters(txHash common.Hash, addr common.Address, counters state.ZKCounters)
UpdateTxZKCounters updates the ZKCounter of a tx
type WorkerMock ¶
WorkerMock is an autogenerated mock type for the workerInterface type
func NewWorkerMock ¶
func NewWorkerMock(t interface { mock.TestingT Cleanup(func()) }) *WorkerMock
NewWorkerMock creates a new instance of WorkerMock. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. The first argument is typically a *testing.T value.
func (*WorkerMock) AddForcedTx ¶ added in v0.0.990
func (_m *WorkerMock) AddForcedTx(txHash common.Hash, addr common.Address)
AddForcedTx provides a mock function with given fields: txHash, addr
func (*WorkerMock) AddPendingTxToStore ¶ added in v0.0.990
func (_m *WorkerMock) AddPendingTxToStore(txHash common.Hash, addr common.Address)
AddPendingTxToStore provides a mock function with given fields: txHash, addr
func (*WorkerMock) AddTxTracker ¶
AddTxTracker provides a mock function with given fields: ctx, txTracker
func (*WorkerMock) DeleteForcedTx ¶ added in v0.0.990
func (_m *WorkerMock) DeleteForcedTx(txHash common.Hash, addr common.Address)
DeleteForcedTx provides a mock function with given fields: txHash, addr
func (*WorkerMock) DeletePendingTxToStore ¶ added in v0.0.990
func (_m *WorkerMock) DeletePendingTxToStore(txHash common.Hash, addr common.Address)
DeletePendingTxToStore provides a mock function with given fields: txHash, addr
func (*WorkerMock) DeleteTx ¶
func (_m *WorkerMock) DeleteTx(txHash common.Hash, from common.Address)
DeleteTx provides a mock function with given fields: txHash, from
func (*WorkerMock) GetBestFittingTx ¶
func (_m *WorkerMock) GetBestFittingTx(resources state.BatchResources) (*TxTracker, error)
GetBestFittingTx provides a mock function with given fields: resources
func (*WorkerMock) HandleL2Reorg ¶
func (_m *WorkerMock) HandleL2Reorg(txHashes []common.Hash)
HandleL2Reorg provides a mock function with given fields: txHashes
func (*WorkerMock) MoveTxToNotReady ¶
func (_m *WorkerMock) MoveTxToNotReady(txHash common.Hash, from common.Address, actualNonce *uint64, actualBalance *big.Int) []*TxTracker
MoveTxToNotReady provides a mock function with given fields: txHash, from, actualNonce, actualBalance
func (*WorkerMock) NewTxTracker ¶
func (_m *WorkerMock) NewTxTracker(tx types.Transaction, counters state.ZKCounters, ip string) (*TxTracker, error)
NewTxTracker provides a mock function with given fields: tx, counters, ip
func (*WorkerMock) UpdateAfterSingleSuccessfulTxExecution ¶
func (_m *WorkerMock) UpdateAfterSingleSuccessfulTxExecution(from common.Address, touchedAddresses map[common.Address]*state.InfoReadWrite) []*TxTracker
UpdateAfterSingleSuccessfulTxExecution provides a mock function with given fields: from, touchedAddresses
func (*WorkerMock) UpdateTxZKCounters ¶ added in v0.0.990
func (_m *WorkerMock) UpdateTxZKCounters(txHash common.Hash, from common.Address, ZKCounters state.ZKCounters)
UpdateTxZKCounters provides a mock function with given fields: txHash, from, ZKCounters