Releases: okx/xlayer-reth
xlayer-reth v0.0.6
⚠️ Hard Fork Upgrade — Required
This release contains a hard fork that introduces gasless transaction support on X Layer. All xlayer-reth node operators must upgrade to this version to stay on the canonical chain.
ℹ️ Info
The current codebase is in sync with upstream Reth via okx/reth@9871524 (okx/reth@9871524).
What's new
- Gasless transactions for X Layer — whitelisted transactions can be submitted with gasPrice = 0 and are processed without consuming the sender's balance for gas. Includes:
- txpool acceptance of zero-priced transactions when the gasless mempool is enabled
- flashblocks builder fee checks and ordering integration
- on-chain whitelist contract gating (GaslessContract) wired through OpEvmConfig
- state-transition handling for zero-priced inclusion
- full unit and e2e coverage (including debug_traceTransaction)
- Gated behind the allow_gasless rollup arg (auto-enabled when an xlayer_gasless_contract is configured for the chain).
Upgrade notes
- Only xlayer-reth (execution layer) needs to be upgraded; op-node does not require an upgrade for this release.
- The corresponding op-geth release is v0.0.5.1+gasless (#) — both clients implement the same gasless hard fork and are consensus-compatible.
🤝 The corresponding X Layer op-node release is op-node/v0.1.5 (https://github.com/okx/optimism/releases/tag/v0.1.5).
xlayer-reth v0.0.5.1
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(legacy-rpc): eth_getLogs by blockHash returns empty array for local blocks with no matching events (https://github.com/okx/xlayer-reth/pull/263)
Full Changelog: v0.0.5...v0.0.5.1
xlayer-reth v0.0.5
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 https://github.com/okx/xlayer-reth/pull/88
- chore(flashblocks): update op-rbuilder tag, use v0.2.1 by @sieniven in https://github.com/okx/xlayer-reth/pull/89
- chore: refactor e2e for flashblocks RPC by @limyeechern in https://github.com/okx/xlayer-reth/pull/90
- fix(rpc): remove incorrect block_number subtraction in pre_exec logs by @googgoog in https://github.com/okx/xlayer-reth/pull/93
- fix(flashblocks): flashblock subscriptions bug fixes on receipt's gas used and header's block size population by @sieniven in https://github.com/okx/xlayer-reth/pull/91
- fix(rpc): add trace_address for delegatecall and fix address format c… by @googgoog in https://github.com/okx/xlayer-reth/pull/104
- fix: resolve audit issues related to flashblocks subscription by @sieniven in https://github.com/okx/xlayer-reth/pull/113
- fix: forward req to legacy on err during handle_block_param_methods by @Vui-Chee in https://github.com/okx/xlayer-reth/pull/110
- fix(tools): check start block <= end block by @dloghin in https://github.com/okx/xlayer-reth/pull/116
- perf(builder): Use XLayerPayloadServiceBuilder to simplify main() codes, merge to main by @JimmyShi22 in https://github.com/okx/xlayer-reth/pull/112
- refactor(rpc): remove transaction_pre_exec API by @googgoog in https://github.com/okx/xlayer-reth/pull/120
- feat(legacy): get_logs to fallback to legacy on empty res by @Vui-Chee in https://github.com/okx/xlayer-reth/pull/118
- fix(legacy): avoid possible panic on malformed block params by @Vui-Chee in https://github.com/okx/xlayer-reth/pull/111
- feat(legacy): support legacy routing for batch requests by @Vui-Chee in https://github.com/okx/xlayer-reth/pull/117
- remove exported output file on error by @dloghin in https://github.com/okx/xlayer-reth/pull/119
- fix(rpc): improve parameter validation in get_logs and service methods by @zjg555543 in https://github.com/okx/xlayer-reth/pull/121
- fix tools readme by @LeoGuo621 in https://github.com/okx/xlayer-reth/pull/123
- feat(legacy): remove eth_transactionPreExec by @Vui-Chee in https://github.com/okx/xlayer-reth/pull/124
- perf(rpc): Replace magic error code number to INTERNAL_ERROR_CODE by @JimmyShi22 in https://github.com/okx/xlayer-reth/pull/125
- fix(flashblock): Add trace logs for txhash cache hits for flashblocks subscriptions by @sieniven in https://github.com/okx/xlayer-reth/pull/126
- chore(flashblocks): Fix subscribed addresses comments by @sieniven in https://github.com/okx/xlayer-reth/pull/127
- chore: cherry-pick payload builder refactor PR by @sieniven in https://github.com/okx/xlayer-reth/pull/131
- Upgrade to latest upstream version by @Vui-Chee in https://github.com/okx/xlayer-reth/pull/102
- Revert "Upgrade to latest upstream version" by @louisliu2048 in https://github.com/okx/xlayer-reth/pull/139
- merge dev (upstream v1.10.2) by @Vui-Chee in https://github.com/okx/xlayer-reth/pull/140
- feat: enable debug node by @Vui-Chee in https://github.com/okx/xlayer-reth/pull/141
- chore: Upgrade op-rbuilder and xlayer-trace-monitor to latest version by @sieniven in https://github.com/okx/xlayer-reth/pull/142
- chore: upgrade builder to v0.3.3 by @sieniven in https://github.com/okx/xlayer-reth/pull/144
- fix: remove vulnerable time by @Vui-Chee in https://github.com/okx/xlayer-reth/pull/146
- fix: bytes overflow crate by @Vui-Chee in https://github.com/okx/xlayer-reth/pull/147
- refactor: mass pruning of unused crates. by @Vui-Chee in https://github.com/okx/xlayer-reth/pull/148
- feat: Migrate okx/op-rbuilder into xlayer-reth by @sieniven in https://github.com/okx/xlayer-reth/pull/149
- fix: macros compile err due to feat not active by @Vui-Chee in https://github.com/okx/xlayer-reth/pull/150
- refactor(builder): remove unnecessary clones in flashblocks payload builder by @sieniven in https://github.com/okx/xlayer-reth/pull/152
- chore: Lean xlayer-builder, remove flashtestation and standard builder by @sieniven in https://github.com/okx/xlayer-reth/pull/154
- fix: resolve clippy warnings by @Vui-Chee in https://github.com/okx/xlayer-reth/pull/158
- build: speed up docker builds by @Vui-Chee in https://github.com/okx/xlayer-reth/pull/157
- chore: Refactor builder crate, remove unused code by @sieniven in https://github.com/okx/xlayer-reth/pull/155
- chore(builder): further clean up builder crate by @sieniven in https://github.com/okx/xlayer-reth/pull/161
- fix: update testcontainers to v0.27.0 to remediate CVE-2025-62518 by @Vui-Chee in https://github.com/okx/xlayer-reth/pull/164
- fix: p2p test hang due to hang on port by @Vui-Chee in https://github.com/okx/xlayer-reth/pull/165
- chore(builder): remove unused custom-engine-api feature flag in tests by @sieniven in https://github.com/okx/xlayer-reth/pull/168
- feat(flashblocks): Add flashblocks sequence persistence logic on RPC and sequence replay flashblock builder by @sieniven in https://github.com/okx/xlayer-reth/pull/162
- Feat(tools): Add a tool to generate a custom genesis file based on a template and existing chain data by @dloghin in https://github.com/okx/xlayer-reth/pull/159
- fix(builder): Resolve bugs on upstream flashblocks timing scheduler by @sieniven in https://github.com/okx/xlayer-reth/pull/169
- Fix(fmt): fix rust fmt in bin/tools/gen_genesis.rs by @dloghin in https://github.com/okx/xlayer-reth/pull/170
- rpc: remove unnecessary trait bounds and dependencies from XlayerRpcExtApiServer impl by @Vui-Chee in https://github.com/okx/xlayer-reth/pull/171
- chore(builder): flatten flashblocks builder, remove unnecessary trait interfaces by @sieniven in https://github.com/okx/xlayer-reth/pull/172
- Feat(chainspec): adding xlayer-devnet chainspec by @dloghin in https://github.com/okx/xlayer-reth/pull/167
New Contributors
- @googgoog made their first contribution in https://github.com/okx/xlayer-reth/pull/93
- @louisliu2048 made their first contribution in https://github.com/okx/xlayer-reth/pull/139
Full Changelog: v0.0.4.2...v0.0.5
xlayer-reth v0.0.4
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
✨ New Features
- Flashblocks Subscription Support: Added
eth_subscribesupport for flashblocks with configurable address filtering (#62, #76) - Subscription Enable Flag: Added configuration flag to enable/disable flashblocks subscription (#84)
- Version Crate: Introduced a new version crate for compile-time version management (#74, #79, #81)
🔧 Improvements
- Updated to reth latest version (#65)
- Updated to builder release tag v0.2.0 and removed rollup boost dependency (#68)
- Refactored innerTx initialization using reth
tablesmacro (#69) - Added justfile aliases for improved developer experience (#61)
- Changed debug log level to trace for reduced log verbosity (#63)
- Widened check scope for better validation (#73)
- Purged unused dependencies (#60)
- Removed unused bridge intercept args (#59)
🐛 Bug Fixes
- Fixed flashblocks config flag parsing (#85)
- Fixed flashblocks RPC service logging level on init (#82)
- Fixed version crate formatting, clippy warnings, and removed std::env usage (#81)
- Fixed chainspec crate compilation (#72)
- Fixed commit id default value in Docker image (#56, #57)
🧪 Testing
- Added flashblocks benchmark tests (#75, #78)
- Added
eth_subscribee2e tests (#64)
🏗️ Infrastructure
- Removed CI workflow (#58)
- Updated Docker configuration (#56, #57)
⚠️ Breaking Changes
- Reverted innerTx flashblock support (#77)
Full Changelog: https://github.com/okx/op/xlayer-reth/compare/v0.0.1...v0.0.4
xlayer-reth v0.0.1
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
- feat(build): Use just as command runner by @JimmyShi22 in https://github.com/okx/xlayer-reth/pull/1
- feat(Startup): Add configure and builder logic by @JimmyShi22 in https://github.com/okx/xlayer-reth/pull/2
- chore: migrate e2e tests directory into xlayer-reth repo by @sieniven in https://github.com/okx/xlayer-reth/pull/4
- feat: capture inner tx by @Vui-Chee in https://github.com/okx/xlayer-reth/pull/3
- feat(guide): comprehensive guide to build on top of reth by @Vui-Chee in https://github.com/okx/xlayer-reth/pull/7
- feat(chore): use upstream/dev as middleground branch by @Vui-Chee in https://github.com/okx/xlayer-reth/pull/12
- chore: Add rust formatter on pre-commit hook by @sieniven in https://github.com/okx/xlayer-reth/pull/13
- chore: Shift xlayer cmd to justfile by @sieniven in https://github.com/okx/xlayer-reth/pull/14
- feat: add local reth development mode by @zjg555543 in https://github.com/okx/xlayer-reth/pull/16
- feat(rpc): Support eth_minGasPrice by @JimmyShi22 in https://github.com/okx/xlayer-reth/pull/15
- feat(builder): Support built-in XLayer spec by @JimmyShi22 in https://github.com/okx/xlayer-reth/pull/10
- feat(rpc): migrate eth_transactionPreExec by @JimmyShi22 in https://github.com/okx/xlayer-reth/pull/19
- feat: add apollo by @limyeechern in https://github.com/okx/xlayer-reth/pull/20
- feat(chore): just check all green by @Vui-Chee in https://github.com/okx/xlayer-reth/pull/21
- feat: justfile command to sync local config file by @Vui-Chee in https://github.com/okx/xlayer-reth/pull/22
- feature: import and export blockchain data by @dloghin in https://github.com/okx/xlayer-reth/pull/18
- Chore/build tag by @dloghin in https://github.com/okx/xlayer-reth/pull/23
- feat(chore): address clippy again by @Vui-Chee in https://github.com/okx/xlayer-reth/pull/25
- refactor(tools): move import and export to bin/tools, update tests and readme by @dloghin in https://github.com/okx/xlayer-reth/pull/28
- feat(rpc): legacy rpc routing based on cutoff block by @Vui-Chee in https://github.com/okx/xlayer-reth/pull/17
- feat: Add Jovian hardfork support for XLayer mainnet and testnet by @zjg555543 in https://github.com/okx/xlayer-reth/pull/26
- feat: sub command init must with genesis file in xlayer-mainnet or xlayer-testnet by @cuiweixie in https://github.com/okx/xlayer-reth/pull/29
- perf(innerTx): Use canonical_state_stream to get new block event by @JimmyShi22 in https://github.com/okx/xlayer-reth/pull/30
- feat(refactor): enable toolkit to build by @Vui-Chee in https://github.com/okx/xlayer-reth/pull/31
- refactor: relocate node as binary crate by @Vui-Chee in https://github.com/okx/xlayer-reth/pull/32
- chore: Update cargo deps, use latest reth latest upstream dev version by @sieniven in https://github.com/okx/xlayer-reth/pull/35
- feat: support profiling by @Vui-Chee in https://github.com/okx/xlayer-reth/pull/36
- feat: Support flashblock builder into xlayer-reth node by @sieniven in https://github.com/okx/xlayer-reth/pull/37
- chore: Add flashblocks e2e tests by @sieniven in https://github.com/okx/xlayer-reth/pull/6
- perf(README): Update readme by @JimmyShi22 in https://github.com/okx/xlayer-reth/pull/40
- feat: legacy routing for
debug_traceTransactionby @Vui-Chee in https://github.com/okx/xlayer-reth/pull/41 - feat(chore): fb upstream updates by @Vui-Chee in https://github.com/okx/xlayer-reth/pull/42
- chore: update op-rbuilder version by @sieniven in https://github.com/okx/xlayer-reth/pull/45
- chore(tests): update e2e and flashblocks tests by @dloghin in https://github.com/okx/xlayer-reth/pull/44
- feat: legacy get logs with blockhash by @Vui-Chee in https://github.com/okx/xlayer-reth/pull/46
- fix: build failed by @cuiweixie in https://github.com/okx/xlayer-reth/pull/47
- feat: add inner tx for flashblocks by @limyeechern in https://github.com/okx/xlayer-reth/pull/43
- chore(flashblocks): update builder and reth versions, switch builder dep target to main branch by @sieniven in https://github.com/okx/xlayer-reth/pull/49
- fix: remove flashblocks_enabled test by @limyeechern in https://github.com/okx/xlayer-reth/pull/50
- chore: update readme and refactor tests by @brendontan03 in https://github.com/okx/xlayer-reth/pull/51
- chore: remove apollo due to rust-crypto vulnerability by @limyeechern in https://github.com/okx/xlayer-reth/pull/53
- feat: add support for websocket flashblocks publisher on FB RPC nodes by @limyeechern in https://github.com/okx/xlayer-reth/pull/48
- fix(fb): omit extraneous ref by @Vui-Chee in https://github.com/okx/xlayer-reth/pull/54
- fix just cmds for setting up local reth dependency by @Vui-Chee in https://github.com/okx/xlayer-reth/pull/52
- perf(cargo): Fixed upstream/dev to a specific commit by @JimmyShi22 in https://github.com/okx/xlayer-reth/pull/55
New Contributors
- @JimmyShi22 made their first contribution in https://github.com/okx/xlayer-reth/pull/1
- @sieniven made their first contribution in https://github.com/okx/xlayer-reth/pull/4
- @Vui-Chee made their first contribution in https://github.com/okx/xlayer-reth/pull/3
- @dloghin made their first contribution in https://github.com/okx/xlayer-reth/pull/18
- @cuiweixie made their first contribution in https://github.com/okx/xlayer-reth/pull/29
Full Changelog: https://github.com/okx/xlayer-reth/commits/v0.0.1