Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: init4tech/node-components
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: init4tech/node-components
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: legacy
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 15 commits
  • 32 files changed
  • 5 contributors

Commits on Feb 18, 2026

  1. chore: bump reth v1.10.2 to v1.11.0 (#83)

    * fix: update code for signet-types 0.16.0-rc.11 API changes
    
    Adapt to breaking changes in signet-types and signet-extract rc.11:
    - SealedBlock now takes 1 generic param (transaction type only)
    - SealedBlock uses `header`/`transactions` fields (no more `body`)
    - RecoveredBlock is now SealedBlock<Recovered<TransactionSigned>>
    - SealedHeader is now Sealed<Header> (use .inner()/.seal() instead of .header()/.hash())
    - HasTxns::transactions() returns impl ExactSizeIterator instead of &[T]
    - RecoveredBlock.senders() is now a method returning an iterator
    
    Co-Authored-By: Claude Opus 4.6 <[email protected]>
    
    * chore: bump reth v1.10.2 to v1.11.0
    
    Adapt to breaking changes in reth v1.11:
    - ProviderFactory::new takes a Runtime argument
    - TaskSpawner::spawn -> spawn_task, spawn_critical -> spawn_critical_task
    - MINIMUM_PRUNING_DISTANCE -> MINIMUM_UNWIND_SAFE_DISTANCE
    - StorageEntry -> ChangesetEntry in unwind_storage_history_indices
    - Tx.inner field is now private (use .inner() method)
    - ProviderFactory::new_with_database_path returns DatabaseEnv (not Arc)
    - StaticFileSegment::StorageChangeSets new variant
    - check_segment_consistency is now private
    
    Co-Authored-By: Claude Opus 4.6 <[email protected]>
    
    * chore: add CLAUDE.md for code quality conventions
    
    Adds a condensed CLAUDE.md to standardize Claude Code behavior
    across init4 Rust repos per ENG-1762.
    
    Co-Authored-By: Claude Opus 4.6 <[email protected]>
    
    * docs: note main branch is in maintenance mode, develop has current work
    
    Co-Authored-By: Claude Opus 4.6 <[email protected]>
    
    ---------
    
    Co-authored-by: Claude Opus 4.6 <[email protected]>
    prestwich and claude authored Feb 18, 2026
    Configuration menu
    Copy the full SHA
    bfb0104 View commit details
    Browse the repository at this point in the history
  2. chore: add PR template (#76)

    * chore: add PR template
    
    Closes ENG-1818
    
    * chore: simplify PR template
    init4samwise authored Feb 18, 2026
    Configuration menu
    Copy the full SHA
    47ea37e View commit details
    Browse the repository at this point in the history
  3. feat(node): add configurable backfill thresholds (ENG-1919) (#84)

    * feat(node): add configurable backfill thresholds (ENG-1919)
    
    Add BACKFILL_MAX_BLOCKS config option to control memory usage during sync.
    Default is 10,000 blocks per batch (reth's 500K default causes OOM on mainnet).
    
    Changes:
    - Add backfill_max_blocks field to SignetNodeConfig
    - Add accessor with 10K default
    - Configure ExecutionStageThresholds after set_with_head calls
    - Add set_backfill_thresholds helper method
    
    * fix(node): add missing reth-stages-types dep and fix mutability
    
    The `reth_stages_types` crate was used but not declared as a dependency,
    and `set_backfill_thresholds` needed `&mut self` to mutate notifications.
    
    Co-Authored-By: Claude Opus 4.6 <[email protected]>
    
    ---------
    
    Co-authored-by: James <[email protected]>
    Co-authored-by: Claude Opus 4.6 <[email protected]>
    3 people authored Feb 18, 2026
    Configuration menu
    Copy the full SHA
    a5e0386 View commit details
    Browse the repository at this point in the history
  4. chore: bump to rc 8 (#88)

    * chore: bump to rc 8
    
    * patch native-tls temporarily
    Fraser999 authored Feb 18, 2026
    Configuration menu
    Copy the full SHA
    87097bb View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    3b978ed View commit details
    Browse the repository at this point in the history

Commits on Feb 24, 2026

  1. fix(node): Set backfill max job duration to a safe amount of time (#90)

    * fix(node): Set backfill max job duration to a safe amount of time
    
    Our timeout crash is caused by a footgun on Reth's backfill threshold configuration API. Here's how it roughly looks:
    - reth allows the mdbx tx timeout sentinel thread to have a configurable max timeout, hidden behind a flag (--db.read-transaction-timeout). We currently, AFAIK, do not configure this. The default value is 5 minutes. Any transactions that live beyond that are killed.
    - Reth, for the exex backfill, sets the max_duration for its backfill processes to 30 seconds. This does not exceed the default max timeout for the mdbx sentinel thread.
    - The `ExecutionStageThresholds` default for max duration for execution jobs is 10 minutes. This, by far, exceeds the mdbx timeout sentinel thread max duration. On the execution stage for the reth node this is safe as it calls `disable_long_read_transaction_safety()`, which bypasses the timeout. This is not done on backfill, so this default is unsafe. This is therefore a massive footgun for any exex that configures backfill thresholds.
    - We were only tweaking the `max_blocks` config value, and using the unsafe default for max duration, when setting the backfill thresholds. This leads to us avoiding an OOM crash, but then running into an mdbx crash due to the sentinel thread forcibly killing the transaction.
    - Before `set_backfill_thresholds` was added, what caused the OOM was the massive amount of blocks being processed. `max_duration` had a sane default (30s). Once it was introduced, this new bug was added due to the `::default()` usage.
    - The fix, is therefore, to limit the max duration to a reasonably low time. 30s should be fine.
      - Note: 30s is a reasonably margin due to a few reasons:
        - We avoid the hard 5m timeout.
        - The intended default for exex backfill was already 30s.
        - There's a 60s timeout warning already, this avoids it entirely. We've seen this error spuriously over the entirety of the signet node's lifecycle.
    
    * chore: expose backfill max duration config on env var
    
    * chore: version bump
    Evalir authored Feb 24, 2026
    Configuration menu
    Copy the full SHA
    9017fbc View commit details
    Browse the repository at this point in the history

Commits on Mar 2, 2026

  1. docs: Document intentional RPC endpoint block parameter defaults (ENG…

    …-1904) (#91)
    
    * docs: Document intentional RPC endpoint block parameter defaults
    
    - eth_call uses 'latest' for current state inspection
    - eth_estimateGas uses 'pending' for new transaction estimation
    - eth_createAccessList would use 'pending' when implemented
    
    Resolves ENG-1904
    
    * chore: fmt
    
    ---------
    
    Co-authored-by: evalir <[email protected]>
    init4samwise and Evalir authored Mar 2, 2026
    Configuration menu
    Copy the full SHA
    4191add View commit details
    Browse the repository at this point in the history

Commits on Mar 5, 2026

  1. refactor(node): bundle set_with_head and set_backfill_thresholds into…

    … configure_notifications (#92)
    
    The two calls were always paired across 4 call sites in set_exex_head.
    Bundling them into a single helper eliminates the risk of forgetting to
    pair them when adding new code paths.
    
    ENG-1959
    
    Co-authored-by: Claude Opus 4.6 <[email protected]>
    Evalir and claude authored Mar 5, 2026
    Configuration menu
    Copy the full SHA
    ab28e49 View commit details
    Browse the repository at this point in the history

Commits on Mar 13, 2026

  1. fix: create alias oracle once per block instead of per address (#103)

    Move AliasOracleFactory::create() out of the per-address should_alias
    helper and into run_evm, so all addresses in a block share the same
    host state snapshot. Expand the comment in create() with a full
    correctness analysis of why Latest is safe.
    
    Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
    prestwich and claude authored Mar 13, 2026
    Configuration menu
    Copy the full SHA
    7829e19 View commit details
    Browse the repository at this point in the history

Commits on Mar 19, 2026

  1. chore: bump reth v1.11.0 → v1.11.3 (ENG-2030) (#109)

    Update all 20 reth workspace dependencies to v1.11.3 and fix
    breaking changes from signet-extract and signet-test-utils:
    
    - blobber shim: return BlockAndReceipts struct instead of tuple
    - node-tests convert: adapt to new SealedBlock/RecoveredBlock APIs
      and private Chain fields
    - node-tests context: use Chain accessor methods
    
    Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
    prestwich and claude authored Mar 19, 2026
    Configuration menu
    Copy the full SHA
    27ccec2 View commit details
    Browse the repository at this point in the history

Commits on Mar 20, 2026

  1. docs: clarify CLAUDE.md checks are pre-push, not pre-commit (#111)

    Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
    prestwich and claude authored Mar 20, 2026
    Configuration menu
    Copy the full SHA
    62c8a16 View commit details
    Browse the repository at this point in the history

Commits on Mar 23, 2026

  1. docs: polish README for mainnet readiness (#115)

    Add CI and license badges, fix typo, reorder sections to lead with
    "What's new in Signet?", and move semver note to the bottom.
    
    Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
    init4samwise and claude authored Mar 23, 2026
    Configuration menu
    Copy the full SHA
    bfb03e4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b6b8cb9 View commit details
    Browse the repository at this point in the history

Commits on Mar 31, 2026

  1. chore: update branch references for main/legacy rename (ENG-2105) (#125)

    Update CI triggers, CLAUDE.md, CONTRIBUTING.md, and README.md to
    reflect the branch rename: develop → main, main → legacy.
    
    Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
    prestwich and claude authored Mar 31, 2026
    Configuration menu
    Copy the full SHA
    6f24f47 View commit details
    Browse the repository at this point in the history

Commits on Apr 2, 2026

  1. chore: bump legacy workspace to 0.16.0 (#128)

    * chore: bump legacy workspace to 0.16.0, SDK deps to 0.16.0, bin-base to 0.18.0
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
    
    * chore: bump init4-bin-base to 0.19.0
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
    
    * chore: bump ajj 0.3.4 → 0.7.0
    
    ResponsePayload changed from enum (Success/Failure) to newtype
    struct wrapping Result. Update all call sites and adapt
    subscription notification code to use the new permit-based API.
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
    
    * docs: add release workflow to CLAUDE.md
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
    
    * docs: note legacy releases are not marked as latest
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
    
    ---------
    
    Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
    prestwich and claude authored Apr 2, 2026
    Configuration menu
    Copy the full SHA
    b7e4e4e View commit details
    Browse the repository at this point in the history
Loading