Skip to content

Latest commit

 

History

History
384 lines (316 loc) · 38.6 KB

File metadata and controls

384 lines (316 loc) · 38.6 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

v3.10.0-rc.6 - 2026-03-27

Configuration

  • Add --execution.stylus-target.allow-fallback flag: if true, fall back to an alternative compiler when compilation of a Stylus program fails (default: true). [PR]

Added

  • Add /liveness and /readiness HTTP health check endpoints to the transaction-filterer service. Readiness reports 503 until the sequencer client is connected. [PR]
  • Prevent MEL node startup if have non-MEL entries in consensus database. [PR]
  • Add tip collection ArbOS state field and precompile to allow the chain owner to enable or disable collecting transaction tips. [PR]
  • ArbOS 60: ArbOwner.setWasmActivationGas / ArbWasm.activationGas — chain owners can set a constant gas charge burned before each Stylus contract activation (default 0). [PR]

Changed

  • Disable cranelift fallback for non-onchain execution modes. [PR]
  • Add recovery to all stopWaiter threads. [PR]
  • Stylus: reject activation of wasm programs using the multi-value extension (functions with multiple return values, or block/loop/if with parameters) starting from ArbOS version 60. [PR]
  • Upgrade to wasmer v7.1.0. [PR]
  • Added consensus v60-rc.1 to Dockerfile. [PR]

Fixed

  • Fix nil-dereference and log format in cmd/nitro/nitro.go when machine locator creation fails; return early instead of falling through to dereference nil locator. [PR]
  • Part 3 of integrating MEL into master. [PR]
  • Re-enable download of previous consensus machine versions (v50, v51, v51.1, v60-alpha.1) in Docker build. [PR]
  • Harden blocks reexecutor with panic recovery for concurrent trie access races. [PR]
  • Do not access state in CollectTips for ArbOS < 60. [PR]

Internal

  • Introduce ValidationInput intermediate data structure with optional rkyv serialization in the validation crate. [PR]
  • Minor refactor in JIT, prover and validator crates. [PR]
  • Moved float-related utilities from arbmath to a new package floatmath. [PR]
  • Add TrackChild/StartAndTrackChild to StopWaiter for automatic LIFO child lifecycle management. [PR]

v3.10.0-rc.5 - 2026-03-27

Added

  • Group rollback for cascading redeem filtering using deferred statedb clone. [PR]

Changed

  • Update Go to 1.25.8 in Dockerfile. [PR]
  • Preflight the worst-case fragment read gas during multi-fragment Stylus activation, then charge the actual EXTCODECOPY-style cost after the fragment code is read. [PR]
  • Enable http communication between block validator and validation server. [PR]
  • Split ResourceKindStorageAccess into ResourceKindStorageAccessRead and ResourceKindStorageAccessWrite for finer-grained multi-dimensional gas metering. [PR]
  • Upgrade to wasmer7. [PR]

Fixed

  • Part 2 of integrating MEL into master. [PR]
  • Once timeout attempts are exhausted, treat it as any other, possibly fatal failure. [PR]
  • Use proper comparison for attempts. [PR]
  • Fix bold StopWaiter usage: start child structs on their own StopWaiters instead of the parent's. Fix StopAndWait ordering. [PR]
  • Fix multi-gas refunds in retryables (ArbOS60). [PR]
  • Fix StopWaiter lifecycle ordering: stop children before parent in StopAndWait, and pass managed context to children in Start. [PR]
  • Fix MEL feature flag bugs: nil message dereference in delayed sequencer, incorrect waitingForFinalizedBlock domain, and missing BatchPoster+MEL config validation. [PR]
  • Fix ValidationSpawnerRetryWrapper lifecycle: reuse one wrapper per module root instead of creating and leaking one per validation. [PR]
  • Fix BroadcastClients launching coordination goroutine on child Router's StopWaiter instead of its own. [PR]
  • Fix ValidationServer and ExecutionSpawner missing StopAndWait for their children. [PR]
  • Handle too-short AnyTrust certificate data as empty batches instead of crashing. [PR]

Internal

  • ArbGasInfo.GetMultiGasPricingConstraints now returns resources in deterministic order. [PR]
  • Move exponent validation in ArbOwner.SetMultiGasPricingConstraints outside the per-constraint loop. [PR]
  • Add JWT authentication support to the Rust validation server. [PR]
  • Move express lane service and tracker from execution/gethexec to the timeboost package. [PR]
  • Block sequencing until address filter rules are loaded. [PR]

v3.10.0-rc.4 - 2026-03-27

Configuration

  • Adds --execution.sequencer.transaction-filtering.disable-delayed-sequencing-filter to enable/disable filtering when sequencing delayed messages. [PR]
  • Added --node.block-validator.validation-spawning-allowed-timeouts (default 3): maximum number of timeout errors allowed per validation before treating it as fatal. Timeout errors have their own counter, separate from --node.block-validator.validation-spawning-allowed-attempts. [PR]

Added

  • Peform DNS lookups with IPv4 before IPv6. [PR]
  • messageSequencingMode messageRunModes. To be used when filtering transactions in the geth layer. [PR]
  • Fix Message Extraction function to handle cases when number of batch posting reports are not equal to the number of batches. [PR]

Changed

  • Make PruneExecutionDB only depend on executionDB by removing consensusDB dependency. [PR]

Removed

  • Remove aborted snap sync code. [PR]

Fixed

  • Part 1 of improving the MEL runner with latest, tested implementation. [PR]
  • Use defer to release createBlocksMutex in sequencerWrapper to prevent deadlock on panic. [PR]
  • Fix opening classic-msg database. [PR]
  • Fix system test triggered panic in updateFilterMapsHeads. [PR]
  • Fix address filter S3 syncer failing to parse hash list JSON when salt or hash values use 0x/0X hex prefix. Go's encoding/hex.DecodeString does not handle the prefix, so it is now stripped before decoding. [PR]
  • Fix debug_executionWitness endpoint. [PR]
  • Improve block validator error message to suggest enabling staker in watchtower mode when wasmModuleRoot is not set from chain. [PR]
  • If batchFetcher returns error use existing LegacyBatchGasCost value. [PR]
  • Fix rlp: expected List error when fetching transaction receipts for blocks with Arbitrum legacy receipt encoding. [PR]
  • Block validator no longer crashes on timeout errors during validation. Timeout errors are retried separately from other validation failures, up to a configurable limit. [PR]

Internal

  • Make Validator request match clients request format. [PR]
  • Cache precompiled wasm modules for repeated JIT validation. [PR]
  • S3Syncer's context moved out from new to Initialize. [PR]
  • Bytes32's Debug and Display is prefixed with 0x. [PR]
  • Allow validator's JitMachine to find jit path. [PR]
  • Migrate Rust validation server to JSON RPC to match Go client communication. [PR]
  • Move wavmio logic from JIT crate to caller-env (to be reused soon by SP1 validator). [PR]
  • Make ValidationInput.max_user_wasm_size field non-mandatory. [PR]

v3.10.0-rc.3 - 2026-02-23

Added

  • New dangerous parameters --node.bold.dangerous.assume-valid and --node.bold.dangerous.assume-valid-hash to have validator assume all messages up to given message have already been validated. [PR]
  • Filtered retryable submission redirect: when an ArbitrumSubmitRetryableTx is in the onchain filter, redirect beneficiary/feeRefundAddr and skip auto-redeem. [PR]
  • Add consensus v51.1 to dockerfile. [PR]

Fixed

  • Fix expose-multigas feature when using a live tracer. [PR]
  • Gracefully handle missing sequencerClient in TransactionFilterer. [PR]
  • Fix filtered ArbitrumDepositTx (L1-to-L2 ETH deposits) permanently stalling the delayed sequencer. [PR]
  • Version-gate FilteredTransactionsState so it is not opened on pre-v60 blocks. [PR]

Internal

  • Introduce MachineLocator for Validator. [PR]
  • Fix machine locator tests. [PR]
  • Add support for consensus v60-alpha.1. [PR]

v3.10.0-rc.2 - 2026-02-23

Configuration

  • The new --node.batch-poster.compression-levels flag allows operators to specify different compression strategies based. [PR]
    • backlog: The minimum backlog size (in number of batches) at which this configuration applies. First entry must be zero. [PR]
    • level: The initial compression level applied to messages when they are added to a batch once the backlog reaches or exceeds the configured threshold. [PR]
    • recompression-level: The recompression level to use for already compressed batches when the backlog meets or exceeds the threshold. [PR]
    • Example configuration:. [PR]
  • Validation rules:. [PR]
    • The backlog values must be in strictly ascending order. [PR]
    • Both level and recompression-level must be weakly descending (non-increasing) across entries. [PR]
    • recompression-level must be greater than or equal to level within each entry (recompression should be at least as good as initial compression). [PR]
    • All levels must be in valid range: 0-11. [PR]
    • Add --execution.address-filter.enable flag to enable/disable address filtering. [PR]
    • Add --execution.address-filter.poll-interval flag to set the polling interval for the s3 syncer, e.g. 5m. [PR]
    • Add --execution.address-filter.cache-size flag to set the LRU cache size for address lookups (default: 10000). [PR]
    • Add --execution.address-filter.s3.* group of flags to configure S3 access:. [PR]
      • Add --execution.address-filter.s3.bucket flag to specify the S3 bucket name for the hashed address list. [PR]
      • Add --execution.address-filter.s3.region flag to specify the AWS region. [PR]
      • Add --execution.address-filter.s3.object-key flag to specify the S3 object key for the hashed address list. [PR]
      • Add --execution.address-filter.s3.access-key flag to specify the AWS access key. [PR]
      • Add --execution.address-filter.s3.secret-key flag to specify the AWS secret key. [PR]
      • Add --execution.address-filter.s3.chunk-size-mb flag to set S3 multipart download part size in MB (default: 32). [PR]
      • Add --execution.address-filter.s3.concurrency flag to set S3 multipart download concurrency (default: 10). [PR]
      • Add --execution.address-filter.s3.max-retries flag to set maximum retries for S3 part body download (default: 5). [PR]
  • Init config must not have empty set to true when genesis-json-file is provided. [PR]
  • Add execution.sequencer.event-filter.path to configure sequencer-side event-based transaction filtering via a JSON rules file. [PR]
  • Extend genesis.json with serializedConfig and arbOSInit.initialL1BaseFee fields. [PR]
  • Remove initial-l1-base-fee CLI flag from genesis-generator. [PR]
  • Added --execution.address-filter.s3.endpoint for S3-compatible services (MinIO, localstack). [PR]
  • Add --node.data-availability.rest-aggregator.connection-wait how long to wait for initial anytrust DA connection until it errors (re-attempts every 1 second) (to be deprecated, use da.anytrust* instead). [PR]
  • Add --node.da.anytrust.rest-aggregator.connection-wait how long to wait for initial anytrust DA connection until it errors (re-attempts every 1 second). [PR]
  • Add --anytrust.rest-aggregator.connection-wait how long to wait for initial anytrust DA connection until it errors (re-attempts every 1 second). [PR]
  • Add address-filter.address-checker-worker-count to configure the number of address checker workers. [PR]
  • Add address-filter.address-checker-queue-size to configure the address checker queue capacity. [PR]

Added

  • cc_brotli optional feature which when enabled compiles brotli automatically using Rust build scripts. [PR]
  • transaction-filterer command, responsible to receive a transaction that should be filtered, and adding that transaction to the ArbFilteredTransactionsManager precompile. [PR]
  • Increase Stylus smart contract size limit via merge-on-activate. [PR]
  • New --node.batch-poster.compression-levels configuration flag that accepts a JSON array of compression configurations based on batch backlog thresholds. [PR]
  • Support for defining compression level, recompression level, and backlog threshold combinations. [PR]
  • Validation rules to ensure compression levels don't increase with higher backlog thresholds. [PR]
  • Add address filter service for compliance chains (addressfilter package). This feature enables sequencers to block transactions involving filtered addresses by polling a hashed address list from S3. Key capabilities include:. [PR]
    • S3-based hashed list synchronization with ETag change detection for efficient polling. [PR]
    • Lock-free HashStore using atomic pointer swaps for zero-blocking reads during updates. [PR]
    • Configurable LRU cache for high-performance address lookups (default: 10k entries). [PR]
    • Privacy-preserving design: addresses are never stored or transmitted in plaintext (SHA256 with salt). [PR]
    • Forward-compatible hash list JSON format with hashing_scheme metadata field. [PR]
    • Configurable S3 download settings (part size, concurrency, retries). [PR]
  • Added a new hook to replay.wasm to enable an action just before the first IO (wavmio) instruction. It is expected that every wasm execution environment will provide a module hooks with a method beforeFirstIO. JIT and Arbitrator provers have noop implementations. [PR]
  • Introduce event filter module for filtering transaction logs based on event selectors and topic-encoded addresses. [PR]
  • Execute onchain-filtered delayed transactions as no-ops: nonce is incremented, all gas is consumed, and a failed receipt is produced. The sender pays for the failed transaction as a penalty. [PR]
  • Added a test for batch resizing without fallback (TestBatchResizingWithoutFallback_MessageTooLarge) that validates ErrMessageTooLarge triggers batch rebuild while staying on the same DA provider. [PR]
  • Redis Pub/Sub–based executionSpawner implementation, including GetProof support, Redis-first interface selection, and the ability to run without any RPC dependency. [PR]
  • Multi-gas constraints to L2-pricing simulator. [PR]
  • L2 message accumulation in MEL and added MessageReader struct to extract recorded messages from preimages map. [PR]
  • Hashed address filter implementation for address filter interfaces with shared LRU caching. [PR]
  • sequencer metrics considering tx size: arb/sequencer/block/txsize and arb/sequencer/transactions/txsize histograms. [PR]
  • sequencer queue metrics: arb/sequencer/queue/length, arb/sequencer/queue/histogram, arb/sequencer/waitfortx. [PR]
  • sequencer block counter metrics: arb/sequencer/block/gaslimited, arb/sequencer/block/datalimited, arb/sequencer/block/txexhausted. [PR]
  • Add filteredFundsRecipient ArbOS state field and precompile for use on chains with transaction filternig. [PR]
  • arb_getL1Confirmations and arb_findBatchContainingBlock RPC APIs in Consensus side. [PR]
  • Sequencer calls transaction-filterer command if delayed transaction was filtered. [PR]
  • Config option genesis-json-file-directory which specifies the directory where genesis json files are located. [PR]
  • Adding/removing ChainOwner and NativeTokenOwner emits corresponding events. [PR]

Changed

  • Replace static batch poster compression configuration with dynamic, backlog-based compression level system. [PR]
  • Generate forward_stub.wasm at compile time using a build.rs script. Enables using prover as a cargo dependency. [PR]
  • improve forwarding transaction log in case of error. [PR]
  • Renamed arbkeccak wasm module to arbcrypto. [PR]
  • For wasm compilation target, EC recovery is now expected to be provided by the external arbcrypto module. For JIT and arbitrator provers we inject Rust-based implementation. [PR]
  • genesis-generator will now read chain config and init message data directly from genesis.json. [PR]
  • update ProgramPrepare to accept wasm and wasm_size. [PR]
  • remove unecessary statedb, addressForLogging, codePtr, codeSize, time, program, runCtxPtr params from ProgramPrepare. [PR]
  • Refactor openInitializeChainDb for Execution/Consensus split. [PR]
  • Create new config and init package to expose and organize init and config nitro functionality. [PR]
  • Nitro initialization uses the serialized chain config from genesis (instead of the deprecated Config field). [PR]

Deprecated

  • Deprecate --node.batch-poster.compression-level flag in favor of --node.batch-poster.compression-levels. [PR]

Fixed

  • Fixes bold next batch index and message count computation to cap based on relative comparisons. [PR]
  • Fix typed nil ExecutionSequencer in CreateConsensusNode causing crash in RPC client mode. [PR]
  • Fix address filter bypass for aliased addressed, unsigned delayed messages (L1-to-L2). [PR]
  • Fix calculation in the expected surplus in the sequencer metrics. [PR]

Internal

  • Implement capacity endpoint for Rust Validator. [PR]
  • Changed the max stylus contract fragments from uint16 to uint8 in ArbOwner and ArbOwnerPublic precompiles to not waste storage space. [PR]
  • Add continuous mode to JIT validator. [PR]
  • Introduce JitMachine (equivalent to Go counterpart JitMachine). [PR]
  • Introduce graceful shutdown through signals. [PR]
  • Move the server side of the validation communication protocol from jit to validation crate. [PR]
  • Add client side implementation. Add tests. [PR]
  • Merge wasm-libraries workspace with the main one. [PR]
  • Add support for multiple module roots for Validator. [PR]
  • Fix Validator continuous mode to run jit binary from inside tokio runtime. [PR]
  • Add BurnMultiGas to Burner interface. [PR]
  • Fix checking machine status in the Rust validation. [PR]
  • Run the continuous mode unit test in CI. [PR]
  • Add benchmarks comparing l2-pricing models. [PR]

v3.10.0-rc.1 - 2026-01-22

Configuration

  • cmd/daserver -> cmd/anytrustserver
  • cmd/datool -> cmd/anytrusttool
  • --node.data-availability.* -> --node.da.anytrust.*
  • --node.batch-poster.das-retention-period -> --node.batch-poster.anytrust-retention-period
  • --node.data-availability.rpc-aggregator.das-rpc-client.* -> --node.data-availability.rpc-aggregator.rpc-client.*
  • --node.batch-poster.max-size -> --node.batch-poster.max-calldata-batch-size
  • --node.da-provider.* -> --node.da.external-provider.*
  • anytrusttool --das-retention-period -> --anytrust-retention-period
  • anytrusttool --das-rpc-client.* -> --rpc-client.*
  • daprovider --anytrust.parent-chain.node-url -> --parent-chain-node-url
  • daprovider --anytrust.parent-chain.connection-attempts -> --parent-chain-connection-attempts
  • daprovider --anytrust.parent-chain.sequencer-inbox-address -> --parent-chain-sequencer-inbox-address
  • daserver --anytrust.parent-chain.node-url -> --parent-chain-node-url
  • daserver --anytrust.parent-chain.connection-attempts -> --parent-chain-connection-attempts
  • daserver --anytrust.parent-chain.sequencer-inbox-address -> --parent-chain-sequencer-inbox-address

Added

  • Enable Execution and Consensus to connect to the other via json-rpc [PR]
  • Merge go-ethereum v1.16.7: [PR]
  • Add log for genesis assertion validation: [PR]
  • Precompiles for multi dimensional multi constraint pricer: [PR]
  • Add return error in case of missing code for SetProgramCached: [PR]
  • Guard zero batch count in inbox search and avoid validator underflow: [PR]
  • Custom DA Complete Fraud Proof Support: [PR]
  • Make uncompressed batch size limit configurable: [PR]
  • Add new option to allow BlocksReExecutor to commit state to disk: [PR]
  • Implement Execution/Consensus interface over RPC: [PR]
  • Add comment about blob decoding failure: [PR]
  • Add metric when validator stops validating because of low memory: [PR]
  • Add address-based transaction filtering for sequencer. [PR]
  • Add support for Geth state size tracking with a flag --execution.caching.state-size-tracking. [PR]
  • Added a note to the --node.feed.output.signed flag that this will use batch poster's wallet for signing. [PR]
  • Add GetMultiGasBaseFee precompile to retrieve fees per resource kind. [PR]
  • Add execution.caching.trie-cap-batch-size option that sets batch size in bytes used in the TrieDB Cap operation (0 = use geth default). [PR]
  • Add execution.caching.trie-commit-batch-size option that sets batch size in bytes used in the TrieDB Commit operation (0 = use geth default). [PR]
  • Add database batch size checks to prevent panic on pebble batch overflow. [PR]
  • new wasm import programPrepare. [PR]
  • new wasm import programRequiresPrepare. [PR]
  • Enable running JIT validation with native input mode. [PR]
  • Enabled consensus node to communicate with ExecutionRecorder over RPC. [PR]
  • Implement recording of txs for MEL validation. [PR]
  • Added a new endpoint to arb namespace called arb_getMinRequiredNitroVersion that returns minimum required version of the nitro node software. [PR]
  • Add new precompile ArbFilteredTransactionsManager to manage filtered transactions. [PR]
  • Add transaction filterers to ArbOwner to limit access to ArbFilteredTransactionsManager. [PR]
  • Limit ArbOwners' ability to create transaction filterers with TransactionFilteringFromTime. [PR]

Changed

  • Arbos storage for multi dimensional constraints: [PR]
  • Arbitrator workspace enhancements: [PR]
  • Only sign important fields in feed: [PR]
  • Post report-only batch after MaxEmptyBatchDelay: [PR]
  • Remove bold/util/StopWaiter use util/StopWaiter instead: [PR]
  • Enhance state management in StopWaiterSafe: [PR]
  • Log critical error when fails to flush batch in setHead: [PR]
  • Broadcaster refactor: [PR]
  • Use stateless keccak where possible: [PR]
  • Optimize ConcatByteSlices to avoid repeated reallocations: [PR]
  • Centralize validator worker throttling in BlockValidator #NIT-3339: [PR]
  • Do not require BatchMetadata for reading DelayedInbox: [PR]
  • redis pubsub: add retries limit and option to disable retries: [PR]
  • Extract saturating arithmetics: [PR]
  • Add MaxTxSize check to ValidateExpressLaneTx(): [PR]
  • Adjust pricing formula with weight normalisation by max weight: [PR]
  • Make bids receiver buffer size configurable: [PR]
  • Improve utility for ensuring batch posting and processing: [PR]
  • Issue refunds based on multi-dimensinal base fee: [PR]
  • Rename bold packages: [PR]
  • Add isActiveSequencer to ExpressLaneTracker log messages: [PR]
  • Remove ExecutionRecorder.MarkValid and rely on ExecutionClient.SetFinalityData: [PR]
  • Unify keccaking: [PR]
  • Rename database variable names: [PR]
  • [config] Multiple DA provider infrastructure: [PR]
  • [config] Rename DAS to AnyTrust: [PR]
  • For wasm compilation target, keccak256 hashing is now expected to be provided by an external module. For JIT and arbitrator provers we inject Rust-based implementation. [PR]
  • Renamed execution subpackages and RPC structs, removing redundancy in names and making them more idiomatic. [PR]
  • Reorganize and refactor JIT validator CLI configuration. [PR]
  • Update contracts-legacy submodule pin to v2-main branch. [PR]
  • Rename database variable names [PR]
  • Move whole Rust codebase from arbitrator/ to crates/ directory. Move workspace files to the root. [PR]
  • Align the execution.ExecutionRecorder interface API with the other execution interfaces. Makes it more suitable for RPC calling. [PR]
  • Fix fifo lock flakey tests and implementation for bold. [PR]
  • Merged ethereum/go-ethereum v1.16.8. [PR]
  • Treat finality msg count as an intermittent issue. Only if it doesn't resolve itself within a short period of time, it will be logged as error. [PR]
  • Changed state-history default to zero for path archive. [PR]
  • Make the --cranelift flag turned on by default for JIT validator. [PR]
  • Remove manual gas math from ArbRetryableTx.Redeem by using static L2 pricing backlog update cost. [PR]

Removed

  • remove gas dimension tracers, system tests, and mock contracts. Multigas is now in the stf. [PR]
  • Remove bold/util/backend.go: [PR]

Fixed

  • Clarify Redis DAS signing key config: [PR]
  • Enhance data poster internal state handling: [PR]
  • Align ArbOwner precompile docs: [PR]
  • Update GenesisBlockNum to first nitro block in chain info: [PR]
  • Do not set init.empty to true when init.genesis-json-file is set: [PR]
  • Show correct value in redis database number error: [PR]
  • Fix timer leak in redislock refresh goroutine: [PR]
  • Use RWLock in StopWaiter: [PR]
  • Fix RecentWasms cache bug by using pointers in methods: [PR]
  • Fix maintenance ticker leak: [PR]
  • Prevent unintended mutation of latestHeader.Number [PR]
  • Fix invalid DA cert branch in inbox: [PR]
  • Solve reexecutor panic if header unavailable: [PR]
  • Prevent unintended mutation of latestHeader.Number in ParentChainIsUsingEIP7623: [PR]
  • Disable chunked-store in datool dumpkeyset [PR]
  • Add sequencer message length check in for the daprovider.Reader implementations. [PR]
  • Fix nil pointer panic in auctioneer_submitBid RPC method when receiving malformed bid data. [PR]
  • Fixed ValidateCertificate proof generation to panic on preimageType overflow (> 255) instead of silently using a fallback value, aligning with the Solidity one-step prover which reverts for this case. [PR]
  • Update implementation of receipts and txs fetching in mel-replay. [PR]
  • Added testing for recording and fetching of logs and txs needed for MEL validation. [PR]
  • Fixed batch poster on L3s not waiting for transaction receipt before posting next batch, causing duplicate batch attempts and spurious error logs. [PR]

Internal

  • [MEL] - Implement delayed message accumulation in native mode: [PR]
  • [MEL] - Update melextraction package to use logs instead of receipts and implement logs and headers fetcher: [PR]
  • [MEL] - Implement preimage recorder for DelayedMessageDatabase interface: [PR]
  • [MEL] - Implement recording of preimages related to sequencer batches (DA providers): [PR]
  • Add new boolean option to BlocksReExecutor called CommitStateToDisk that will allow BlocksReExecutor.Blocks range to not only re-executes blocks but it will also commit their state to triedb on disk. [PR]