-
Notifications
You must be signed in to change notification settings - Fork 144
feat: compute receipts root #111
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
MegaRedHand
pushed a commit
that referenced
this pull request
Jul 2, 2024
**Motivation** Replace evm code in eftests with an implementation that uses ethrex types **Description** * Implement `execute_tx` using revm * Move `evm` crate into `core` crate * Move `Transaction` into its own module * Implement multiple getters for `Transaction` fields * Implement address recovery from signed transactions * Implement conversions between ef tests types and ethrex types * Add one more ef test <!-- Link to issues: Resolves #111, Resolves #222 --> Closes #21
the value must be rlp(receipt) instead of tx_type || rlp(receipt) (if tx_type != 0)
the previous way in which the receipts trie values were computed was the right way
MegaRedHand
reviewed
Jul 2, 2024
MegaRedHand
approved these changes
Jul 3, 2024
Collaborator
MegaRedHand
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
unbalancedparentheses
added a commit
that referenced
this pull request
Jul 3, 2024
fmoletta
added a commit
that referenced
this pull request
Jul 11, 2024
MegaRedHand
pushed a commit
that referenced
this pull request
Jul 11, 2024
**Motivation** Add support for EIP2930 transaction **Description** Implements EIP2930Transaction + required methods & traits <!-- A clear and concise general description of the changes this PR introduces --> <!-- Link to issues: Resolves #111, Resolves #222 --> Closes None, but will enable #135 to also close #24
fmoletta
added a commit
that referenced
this pull request
Jul 12, 2024
This PR is based on #138 (as they modify the same code), please merge it first **Motivation** Add support for EIP4844 transactions <!-- Why does this pull request exist? What are its goals? --> **Description** Add `EIP4844` transactions + needed trait and methods and integrate it into existing transaction-related code <!-- A clear and concise general description of the changes this PR introduces --> <!-- Link to issues: Resolves #111, Resolves #222 --> Closes #26 (evm already performs validations before executing so adding the transaction itself will sufice)
MegaRedHand
pushed a commit
that referenced
this pull request
Jul 12, 2024
**Motivation** Add error handling to `execute_tx` and remove unwrap <!-- Why does this pull request exist? What are its goals? --> **Description** Add `EvmError` Map revm's `EVMError` to `EvmError` Add error handling to `execute_tx` <!-- A clear and concise general description of the changes this PR introduces --> <!-- Link to issues: Resolves #111, Resolves #222 --> Closes None
MegaRedHand
added a commit
that referenced
this pull request
Jul 12, 2024
**Motivation** <!-- Why does this pull request exist? What are its goals? --> **Description** <!-- A clear and concise general description of the changes this PR introduces --> <!-- Link to issues: Resolves #111, Resolves #222 --> Closes #125 --------- Co-authored-by: Tomás Grüner <[email protected]>
fmoletta
added a commit
that referenced
this pull request
Jul 16, 2024
**Motivation** Being able to store and fetch blocks from the db via `Store` api **Description** * Replace `Transaction::encode` with `Transaction::encode_with_type` logic (Reasoning: We cannot decode the transactions without knowing their type with the current behaviour, making it impossible to implement `RLPDecode` for `Transaction`) * Implement `RLPDecode` for `Transaction` (Using the logic that was previoulsy used in `EncodedTransaction::decode` (payload module)) * Implement `RLPDecode` for `Withdrawal`, `BlockHeader` and `BlockBody` * Add the folloewng methods to `Store` and `StoreEngine`: `add_block_header`, `add_block_body`, `get_block_header`, `get_block_body`, and implement them for `InMemory` and `Libmdbx` engine types <!-- A clear and concise general description of the changes this PR introduces --> <!-- Link to issues: Resolves #111, Resolves #222 --> Closes None, but is needed for #145
fmoletta
added a commit
that referenced
this pull request
Jul 16, 2024
**Motivation** Being able to serialize blocks matching the output required by the rpc spec <!-- Why does this pull request exist? What are its goals? --> **Description** *Add struct `BlockSerializable` which can be serialized to match the specifications of the rpc. It can contain either the full transactions or just their hashes. *Implement serialization for `BlockSerializable`, `BlockHeader`, `BlockBody`, `Withdrawal` and `Transaction`. Other changes: *Replace `Bloom` with `ethereum_types::Bloom` *Rename some fields in `Eip1559Transaction` to match other transaction types' fields <!-- A clear and concise general description of the changes this PR introduces --> <!-- Link to issues: Resolves #111, Resolves #222 --> Closes None, but is needed in order to implement #31
LeanSerra
pushed a commit
that referenced
this pull request
Nov 26, 2025
**Motivation** <!-- Why does this pull request exist? What are its goals? --> If CI fails, docker images may not be updated **Description** Add instructions on how to do it manually <!-- A clear and concise general description of the changes this PR introduces --> <!-- Link to issues: Resolves #111, Resolves #222 -->
github-merge-queue bot
pushed a commit
that referenced
this pull request
Nov 27, 2025
**Motivation** <!-- Why does this pull request exist? What are its goals? --> **Description** <!-- A clear and concise general description of the changes this PR introduces --> <!-- Link to issues: Resolves #111, Resolves #222 --> Closes #issue_number Co-authored-by: Ivan Litteri <[email protected]>
github-merge-queue bot
pushed a commit
that referenced
this pull request
Dec 1, 2025
This reverts commit c7ec3b3. **Motivation** Multiple tests for Paris fork started failing on hive eest consume-engine and consume-rlp suites as of merging this PR. Noticed by `Hive Daily Report` workflow <!-- Why does this pull request exist? What are its goals? --> **Description** <!-- A clear and concise general description of the changes this PR introduces --> <!-- Link to issues: Resolves #111, Resolves #222 -->
github-merge-queue bot
pushed a commit
that referenced
this pull request
Dec 1, 2025
**Motivation** <!-- Why does this pull request exist? What are its goals? --> Migrations of SQL schema are tricky. If new tables were added, it has to be migrated manually. **Description** <!-- A clear and concise general description of the changes this PR introduces --> Make SQL schema setup sentences idempotent so they can be executed on every start up. <!-- Link to issues: Resolves #111, Resolves #222 -->
github-merge-queue bot
pushed a commit
that referenced
this pull request
Dec 2, 2025
**Motivation** <!-- Why does this pull request exist? What are its goals? --> We want to offer ARM Docker images for both L1 and L2. **Description** <!-- A clear and concise general description of the changes this PR introduces --> Add support for ARM images and update CI release workflows to build so. <!-- Link to issues: Resolves #111, Resolves #222 --> Closes #3667
github-merge-queue bot
pushed a commit
that referenced
this pull request
Dec 2, 2025
**Motivation** Addressing #5344 by using the existing `block_hash_cache` to store block hashes looked up during `BLOCKHASH` opcode execution to speed up subsequent lookups <!-- Why does this pull request exist? What are its goals? --> **Description** * Add interior mutability to block_hash_cache (HashMap -> Arc<Mutex<BTreeMap>>) * Insert block hashes obtained during lookup to block_hash_cache (BLOCKHASH opcode) * Use oldest cached block successor to shortcut ancestor lookup (BLOCKHASH opcode) <!-- A clear and concise general description of the changes this PR introduces --> Benchmark Results: x33,6 improvement on BlockHash EEST gas benchmark: 1080.92 Mgas/s vs 32.18 Gas/s on main (7b4a0ba) <!-- Link to issues: Resolves #111, Resolves #222 --> Closes #5344 --------- Co-authored-by: Edgar <[email protected]>
github-merge-queue bot
pushed a commit
that referenced
this pull request
Dec 2, 2025
**Motivation** * This would also allow us to filter out peers on wrong network or fork. **Description** * uses similar flow as lookup * store node records for future purposes such as filtering nodes on forkid and rlpx connections(#5423) <!-- Link to issues: Resolves #111, Resolves #222 --> Towards #5423 --------- Co-authored-by: lakshya-sky <[email protected]>
github-merge-queue bot
pushed a commit
that referenced
this pull request
Dec 2, 2025
**Motivation** Geth uses forkId for making connection as outlined in below posts and failing to provide one could mean that newer Geth clients would reject connections. https://ethereum-magicians.org/t/all-core-devs-testing-acdt-46-july-28-2025/24889/6 and ethereum/go-ethereum#31944. **Description** <!-- A clear and concise general description of the changes this PR introduces --> <!-- Link to issues: Resolves #111, Resolves #222 --> Closes #5066 --------- Co-authored-by: lakshya-sky <[email protected]> Co-authored-by: Tomás Grüner <[email protected]>
github-merge-queue bot
pushed a commit
that referenced
this pull request
Dec 3, 2025
**Motivation** The l2 ci runs on any change in the fixture directory, we want it to run on certain paths. <!-- Why does this pull request exist? What are its goals? --> **Description** Specify which paths under fixtures the l2 ci should run on. <!-- A clear and concise general description of the changes this PR introduces --> <!-- Link to issues: Resolves #111, Resolves #222 -->
github-merge-queue bot
pushed a commit
that referenced
this pull request
Dec 4, 2025
**Motivation** We want to be able to send funds and call contracts from one L2 to another without having to pass through the L1 **Description** This PR adds the necessary changes to send funds and call contracts between 2 L2s. You can find details under `shared_bridge_steps.md` and `shared_bridge.md`. <!-- A clear and concise general description of the changes this PR introduces --> <!-- Link to issues: Resolves #111, Resolves #222 --> --------- Co-authored-by: Gianbelinche <[email protected]> Co-authored-by: ilitteri <[email protected]> Co-authored-by: Ivan Litteri <[email protected]> Co-authored-by: Tomás Paradelo <[email protected]>
xqft
pushed a commit
that referenced
this pull request
Dec 4, 2025
**Motivation** We want to be able to send funds and call contracts from one L2 to another without having to pass through the L1 **Description** This PR adds the necessary changes to send funds and call contracts between 2 L2s. You can find details under `shared_bridge_steps.md` and `shared_bridge.md`. <!-- A clear and concise general description of the changes this PR introduces --> <!-- Link to issues: Resolves #111, Resolves #222 --> --------- Co-authored-by: Gianbelinche <[email protected]> Co-authored-by: ilitteri <[email protected]> Co-authored-by: Ivan Litteri <[email protected]> Co-authored-by: Tomás Paradelo <[email protected]>
github-merge-queue bot
pushed a commit
that referenced
this pull request
Dec 4, 2025
…5322) **Motivation** Periodically checking and informing the user if there is a newer version of ethrex available <!-- Why does this pull request exist? What are its goals? --> **Description** * Periodically query the latest relese of ethrex on GitHub and check against current running version, inform the user via log if there is a newer version available. <!-- A clear and concise general description of the changes this PR introduces --> <!-- Link to issues: Resolves #111, Resolves #222 --> --------- Co-authored-by: Tomás Grüner <[email protected]>
github-merge-queue bot
pushed a commit
that referenced
this pull request
Dec 10, 2025
) **Motivation** <!-- Why does this pull request exist? What are its goals? --> We don't need to specify the `platform` for the docker image anymore, as we now build it for both `amd64` and `arm64`. Also, `amd64` images are not working anymore on arm machines due to AVX. **Description** <!-- A clear and concise general description of the changes this PR introduces --> Remove the platform specified in the root's docker compose so it auto-detects which to use. <!-- Link to issues: Resolves #111, Resolves #222 -->
github-merge-queue bot
pushed a commit
that referenced
this pull request
Dec 11, 2025
**Motivation** <!-- Why does this pull request exist? What are its goals? --> **Description** <!-- A clear and concise general description of the changes this PR introduces --> <!-- Link to issues: Resolves #111, Resolves #222 --> Closes #5488 --------- Co-authored-by: lakshya-sky <[email protected]> Co-authored-by: ElFantasma <[email protected]>
ElFantasma
added a commit
that referenced
this pull request
Dec 12, 2025
**Motivation** <!-- Why does this pull request exist? What are its goals? --> **Description** <!-- A clear and concise general description of the changes this PR introduces --> <!-- Link to issues: Resolves #111, Resolves #222 --> **Checklist** - [ ] Updated `STORE_SCHEMA_VERSION` (crates/storage/lib.rs) if the PR includes breaking changes to the `Store` requiring a re-sync. Closes #5574 and #5575. Co-authored-by: Esteban Dimitroff Hodi <[email protected]>
ilitteri
pushed a commit
that referenced
this pull request
Dec 16, 2025
**Motivation** <!-- Why does this pull request exist? What are its goals? --> - These are improvements of things I've noticed by looking at the docs **Description** <!-- A clear and concise general description of the changes this PR introduces --> <!-- Link to issues: Resolves #111, Resolves #222 --> This is a follow up of #5523
azteca1998
added a commit
that referenced
this pull request
Dec 16, 2025
**Motivation** <!-- Why does this pull request exist? What are its goals? --> **Description** <!-- A clear and concise general description of the changes this PR introduces --> <!-- Link to issues: Resolves #111, Resolves #222 --> **Checklist** - [ ] Updated `STORE_SCHEMA_VERSION` (crates/storage/lib.rs) if the PR includes breaking changes to the `Store` requiring a re-sync.
github-merge-queue bot
pushed a commit
that referenced
this pull request
Dec 16, 2025
**Motivation** We want to add the performance improvement done in L1 with the block pipelining also for the L2. <!-- Why does this pull request exist? What are its goals? --> **Description** Adds the `add_l2_block_pipeline` function to the blockchain and uses it for regenerating the blockchain from checkpoints. <!-- A clear and concise general description of the changes this PR introduces --> <!-- Link to issues: Resolves #111, Resolves #222 --> --------- Co-authored-by: Ivan Litteri <[email protected]> Co-authored-by: ilitteri <[email protected]>
ElFantasma
pushed a commit
that referenced
this pull request
Dec 16, 2025
**Motivation** <!-- Why does this pull request exist? What are its goals? --> **Description** <!-- A clear and concise general description of the changes this PR introduces --> <!-- Link to issues: Resolves #111, Resolves #222 --> **Checklist** - [ ] Updated `STORE_SCHEMA_VERSION` (crates/storage/lib.rs) if the PR includes breaking changes to the `Store` requiring a re-sync. Closes #5570 Closes #5571
github-merge-queue bot
pushed a commit
that referenced
this pull request
Dec 17, 2025
**Motivation** <!-- Why does this pull request exist? What are its goals? --> Solidity started publishing ARM binaries since version `0.8.31`. **Description** <!-- A clear and concise general description of the changes this PR introduces --> Update contracts and workflows to use that version and simplify installation processes. <!-- Link to issues: Resolves #111, Resolves #222 -->
github-merge-queue bot
pushed a commit
that referenced
this pull request
Dec 19, 2025
**Motivation** Adding logs to grafana as part of the local monitoring stack **Description** This PR add loki and promtail to our current metics docker compose. To maintain compatibility with how we are currently running we made a couple of decisions: - Continue logging on stdout by default - Add a new `--log.dir` cli param which enables logging files (alongside the stdout) - Use `./logs` by default in the repo as the folder from which take logs (and make them configurable by an env variable) - Add a new Logs row (collapsed by default) to our dashboard. - Add documentation and update the dashboard docs <img width="2248" height="1030" alt="image" src="https://github.com/user-attachments/assets/19c6849f-9aea-4329-a5f8-3b2b171c731a" /> **Next Steps** There are a couple of things to improve: - This set up is working for local execution but not for centralized ones, we mnight need some changes to how loki and promtail interacts for that - The docker-compose now continue to works as default (`STDOUT`) we might want to move to add logs and show them on dashboards by default in the future. That might also require to launch the metric related services. <!-- Link to issues: Resolves #111, Resolves #222 --> Closes #3265
ElFantasma
pushed a commit
that referenced
this pull request
Dec 19, 2025
**Motivation** <!-- Why does this pull request exist? What are its goals? --> **Description** <!-- A clear and concise general description of the changes this PR introduces --> <!-- Link to issues: Resolves #111, Resolves #222 --> --------- Co-authored-by: Pablo Deymonnaz <[email protected]> Co-authored-by: Tomás Grüner <[email protected]>
github-merge-queue bot
pushed a commit
that referenced
this pull request
Dec 22, 2025
**Motivation**
Expose ethrex version as a metric to avoid depending on
ethereum-metrics-exporter for it.
**Description**
This PR adds `ethrex_info` as a new metric that expose version, build
related information, and network.
```
# HELP ethrex_info Node information including version and build details
# TYPE ethrex_info gauge
ethrex_info{branch="expose-ethrex-version",commit="5e88113",network="hoodi",rust_version="1.90.0",target="aarch64-apple-darwin",version="7.0.0"} 1
```
This allowed us to stop relying on `ethereum-metrics-exporter` on our L1
dashboard (except for the fork one which we'll need a different approach
and a follow-up PR), the dashboard and docs are updated.
<img width="2548" height="300" alt="image"
src="https://github.com/user-attachments/assets/2348c46f-0a65-44e5-bb38-6d5de59fe803"
/>
There is also a small change in how we treat gather metric error for the
first metrics configured to be consistent with what we are doing today.
<!-- Link to issues: Resolves #111, Resolves #222 -->
Resolves #5549
JereSalo
added a commit
that referenced
this pull request
Dec 22, 2025
github-merge-queue bot
pushed a commit
that referenced
this pull request
Dec 23, 2025
…ble (#5724) **Motivation** <!-- Why does this pull request exist? What are its goals? --> Upgradeable contracts cannot have initial values in variable declaration. Instead, they need to be initialized in an initializer. **Description** <!-- A clear and concise general description of the changes this PR introduces --> Remove initial value from `SHARED_BRIDGE_ROUTER`. <!-- Link to issues: Resolves #111, Resolves #222 -->
github-merge-queue bot
pushed a commit
that referenced
this pull request
Dec 26, 2025
**Motivation** <!-- Why does this pull request exist? What are its goals? --> L1 tests are compiling L2 packages. We noticed it in [this CI run](https://github.com/lambdaclass/ethrex/actions/runs/20462543412/job/58798420057) **Description** <!-- A clear and concise general description of the changes this PR introduces --> Exclude `ethrex-prover` and `guest_program` packages from L1 CI tests. Changed `ethrex-l2` with `ethrex-l2*` to also exclude other L2 packages <!-- Link to issues: Resolves #111, Resolves #222 -->
github-merge-queue bot
pushed a commit
that referenced
this pull request
Dec 30, 2025
**Motivation** #5535 introduced a version of ecadd that uses substrate-bn, because both ZisK and SP1 patch this crate to use zkVM accelerators for the operation. After merging, we found an Ethereum Mainnet block failing to execute with a gas mismatch error, which does not happen one commit before merging that PR. This PR reverts the usage of substrate-bn for SP1 only. **Description** <!-- A clear and concise general description of the changes this PR introduces --> <!-- Link to issues: Resolves #111, Resolves #222 --> **Checklist** - [ ] Updated `STORE_SCHEMA_VERSION` (crates/storage/lib.rs) if the PR includes breaking changes to the `Store` requiring a re-sync. Closes #issue_number
github-merge-queue bot
pushed a commit
that referenced
this pull request
Jan 5, 2026
**Motivation** Removes needless allocations due to the current api requiring a ref to a Vec **Description** <!-- A clear and concise general description of the changes this PR introduces --> <!-- Link to issues: Resolves #111, Resolves #222 --> **Checklist** - [ ] Updated `STORE_SCHEMA_VERSION` (crates/storage/lib.rs) if the PR includes breaking changes to the `Store` requiring a re-sync. Closes #issue_number --------- Co-authored-by: Pablo Deymonnaz <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #106