XLayer Reth is a customized implementation of Reth optimized for the XLayer network, an Optimism-based Layer 2 solution.
This project provides a high-performance, production-ready Ethereum execution client tailored for XLayer's specific requirements. It builds upon the upstream Reth codebase with custom optimizations and features for the XLayer network.
This repository provides the exact same functionality as the Reth-based implementation we currently use and will eventually replace the Reth repository.
What's Changed
- fix(flashblocks): switch subscribed address filter to hashset, add max sub address check by @sieniven in #88
- chore(flashblocks): update op-rbuilder tag, use v0.2.1 by @sieniven in #89
- chore: refactor e2e for flashblocks RPC by @limyeechern in #90
- fix(rpc): remove incorrect block_number subtraction in pre_exec logs by @googgoog in #93
- fix(flashblocks): flashblock subscriptions bug fixes on receipt's gas used and header's block size population by @sieniven in #91
- fix(rpc): add trace_address for delegatecall and fix address format c… by @googgoog in #104
- fix: resolve audit issues related to flashblocks subscription by @sieniven in #113
- fix: forward req to legacy on err during handle_block_param_methods by @Vui-Chee in #110
- fix(tools): check start block <= end block by @dloghin in #116
- perf(builder): Use XLayerPayloadServiceBuilder to simplify main() codes, merge to main by @JimmyShi22 in #112
- refactor(rpc): remove transaction_pre_exec API by @googgoog in #120
- feat(legacy): get_logs to fallback to legacy on empty res by @Vui-Chee in #118
- fix(legacy): avoid possible panic on malformed block params by @Vui-Chee in #111
- feat(legacy): support legacy routing for batch requests by @Vui-Chee in #117
- remove exported output file on error by @dloghin in #119
- fix(rpc): improve parameter validation in get_logs and service methods by @zjg555543 in #121
- fix tools readme by @LeoGuo621 in #123
- feat(legacy): remove eth_transactionPreExec by @Vui-Chee in #124
- perf(rpc): Replace magic error code number to INTERNAL_ERROR_CODE by @JimmyShi22 in #125
- fix(flashblock): Add trace logs for txhash cache hits for flashblocks subscriptions by @sieniven in #126
- chore(flashblocks): Fix subscribed addresses comments by @sieniven in #127
- chore: cherry-pick payload builder refactor PR by @sieniven in #131
- Upgrade to latest upstream version by @Vui-Chee in #102
- Revert "Upgrade to latest upstream version" by @louisliu2048 in #139
- merge dev (upstream v1.10.2) by @Vui-Chee in #140
- feat: enable debug node by @Vui-Chee in #141
- chore: Upgrade op-rbuilder and xlayer-trace-monitor to latest version by @sieniven in #142
- chore: upgrade builder to v0.3.3 by @sieniven in #144
- fix: remove vulnerable time by @Vui-Chee in #146
- fix: bytes overflow crate by @Vui-Chee in #147
- refactor: mass pruning of unused crates. by @Vui-Chee in #148
- feat: Migrate okx/op-rbuilder into xlayer-reth by @sieniven in #149
- fix: macros compile err due to feat not active by @Vui-Chee in #150
- refactor(builder): remove unnecessary clones in flashblocks payload builder by @sieniven in #152
- chore: Lean xlayer-builder, remove flashtestation and standard builder by @sieniven in #154
- fix: resolve clippy warnings by @Vui-Chee in #158
- build: speed up docker builds by @Vui-Chee in #157
- chore: Refactor builder crate, remove unused code by @sieniven in #155
- chore(builder): further clean up builder crate by @sieniven in #161
- fix: update testcontainers to v0.27.0 to remediate CVE-2025-62518 by @Vui-Chee in #164
- fix: p2p test hang due to hang on port by @Vui-Chee in #165
- chore(builder): remove unused custom-engine-api feature flag in tests by @sieniven in #168
- feat(flashblocks): Add flashblocks sequence persistence logic on RPC and sequence replay flashblock builder by @sieniven in #162
- Feat(tools): Add a tool to generate a custom genesis file based on a template and existing chain data by @dloghin in #159
- fix(builder): Resolve bugs on upstream flashblocks timing scheduler by @sieniven in #169
- Fix(fmt): fix rust fmt in bin/tools/gen_genesis.rs by @dloghin in #170
- rpc: remove unnecessary trait bounds and dependencies from XlayerRpcExtApiServer impl by @Vui-Chee in #171
- chore(builder): flatten flashblocks builder, remove unnecessary trait interfaces by @sieniven in #172
- Feat(chainspec): adding xlayer-devnet chainspec by @dloghin in #167
New Contributors
- @googgoog made their first contribution in #93
- @louisliu2048 made their first contribution in #139
Full Changelog: v0.0.4.2...v0.0.5