Skip to content

Conversation

@ricomateo
Copy link
Contributor

Closes #106

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
ricomateo added 4 commits July 2, 2024 17:07
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
@ricomateo ricomateo marked this pull request as ready for review July 2, 2024 20:59
@ricomateo ricomateo requested a review from a team as a code owner July 2, 2024 20:59
Copy link
Collaborator

@MegaRedHand MegaRedHand left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@MegaRedHand MegaRedHand merged commit b3a16bf into main Jul 3, 2024
@MegaRedHand MegaRedHand deleted the compute-receipts-root branch July 3, 2024 13:40
unbalancedparentheses added a commit that referenced this pull request Jul 3, 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 #issue_number
fmoletta added a commit that referenced this pull request Jul 11, 2024
**Motivation**

Obtain world state from account info stored in db

**Description**

* Implement storage root computation
* Implement word state

<!-- Link to issues: Resolves #111, Resolves #222 -->

Closes #44
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
xqft pushed a commit that referenced this pull request Nov 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 #issue_number

---------

Co-authored-by: Ivan Litteri <[email protected]>
Co-authored-by: avilagaston9 <[email protected]>
Co-authored-by: Gianbelinche <[email protected]>
Co-authored-by: ilitteri <[email protected]>
xqft pushed a commit that referenced this pull request Nov 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 #issue_number

---------

Co-authored-by: Javier Rodríguez Chatruc <[email protected]>
Co-authored-by: Javier Chatruc <[email protected]>
github-merge-queue bot pushed a commit that referenced this pull request Nov 13, 2025
)

**Motivation**

<!-- Why does this pull request exist? What are its goals? -->
We use docker to generate reproducible guest program elfs. This slows
down a lot the compilation time (about 15 minutes in a Mac).

**Description**

<!-- A clear and concise general description of the changes this PR
introduces -->
Don't use docker by default but only when releasing binaries. The docker
build is triggered by setting the `PROVER_REPRODUCIBLE_BUILD` env var.

<!-- Link to issues: Resolves #111, Resolves #222 -->

---------

Co-authored-by: Copilot <[email protected]>
Co-authored-by: ilitteri <[email protected]>
github-merge-queue bot pushed a commit that referenced this pull request Nov 13, 2025
…5326)

**Motivation**

[This](#5135 (comment))
change made the integration tests took longer, having to amp the amount
of retries.
<!-- Why does this pull request exist? What are its goals? -->

**Description**
Reverts this change and adds an
[issue](#5325) for solving
it.
<!-- 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 14, 2025
**Motivation**

Add rpc and engine instrumentation and panels to our dashboards

<!-- Why does this pull request exist? What are its goals? -->

**Description**

This PR adds a couple of changes to profiling.rs and our dashboard:

- Add a simple way to time async funcrions without relying on
`#instrument` (which would be more complex for every rpc)
- Add namespace as a field to the instrumentation spans
- Set a namespace for the old ones (`block_execution`)
- Make the breakdown panels work with the new changes
- Add new RPC and Engine panels

<!-- A clear and concise general description of the changes this PR
introduces -->

<img width="2551" height="780" alt="image"
src="https://github.com/user-attachments/assets/3b9feead-fc21-4115-b91b-118157477f18"
/>

<!-- Link to issues: Resolves #111, Resolves #222 -->

---------

Co-authored-by: Copilot <[email protected]>
github-merge-queue bot pushed a commit that referenced this pull request Nov 14, 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: ilitteri <[email protected]>
Co-authored-by: Javier Chatruc <[email protected]>
lakshya-sky pushed a commit to lakshya-sky/ethrex that referenced this pull request Nov 17, 2025
…ambdaclass#5326)

**Motivation**

[This](lambdaclass#5135 (comment))
change made the integration tests took longer, having to amp the amount
of retries.
<!-- Why does this pull request exist? What are its goals? -->

**Description**
Reverts this change and adds an
[issue](lambdaclass#5325) for solving
it.
<!-- A clear and concise general description of the changes this PR
introduces -->

<!-- Link to issues: Resolves lambdaclass#111, Resolves lambdaclass#222 -->
lakshya-sky pushed a commit to lakshya-sky/ethrex that referenced this pull request Nov 17, 2025
**Motivation**

Add rpc and engine instrumentation and panels to our dashboards

<!-- Why does this pull request exist? What are its goals? -->

**Description**

This PR adds a couple of changes to profiling.rs and our dashboard:

- Add a simple way to time async funcrions without relying on
`#instrument` (which would be more complex for every rpc)
- Add namespace as a field to the instrumentation spans
- Set a namespace for the old ones (`block_execution`)
- Make the breakdown panels work with the new changes
- Add new RPC and Engine panels

<!-- A clear and concise general description of the changes this PR
introduces -->

<img width="2551" height="780" alt="image"
src="https://github.com/user-attachments/assets/3b9feead-fc21-4115-b91b-118157477f18"
/>

<!-- Link to issues: Resolves lambdaclass#111, Resolves lambdaclass#222 -->

---------

Co-authored-by: Copilot <[email protected]>
lakshya-sky pushed a commit to lakshya-sky/ethrex that referenced this pull request Nov 17, 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 lambdaclass#111, Resolves lambdaclass#222 -->

Closes #issue_number

---------

Co-authored-by: ilitteri <[email protected]>
Co-authored-by: Javier Chatruc <[email protected]>
github-merge-queue bot pushed a commit that referenced this pull request Nov 18, 2025
**Motivation**

jsonwebtoken crate doesn't validate `iat` claims even if we explicitly
ask it, hence we needed tests.

**Description**

Added unit tests to correctly reject invalid `iat` claims. 

<!-- Link to issues: Resolves #111, Resolves #222 -->

Closes #5074

---------

Signed-off-by: lakshya-sky <[email protected]>
Co-authored-by: lakshya-sky <[email protected]>
github-merge-queue bot pushed a commit that referenced this pull request Nov 18, 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: Copilot <[email protected]>
github-merge-queue bot pushed a commit that referenced this pull request Nov 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 -->

Closes #issue_number
github-merge-queue bot pushed a commit that referenced this pull request Nov 19, 2025
**Motivation**
The flag `--disable-deposit-contract-sync` no longer exists on the
latest lighthouse version (v8.0.0)
<!-- Why does this pull request exist? What are its goals? -->

**Description**
* Remove `--disable-deposit-contract-sync` flag from `start-lighthouse`
target on `tooling/sync/Makefile`
<!-- A clear and concise general description of the changes this PR
introduces -->

<!-- Link to issues: Resolves #111, Resolves #222 -->

Closes #issue_number
github-merge-queue bot pushed a commit that referenced this pull request Nov 20, 2025
**Motivation**

<!-- Why does this pull request exist? What are its goals? -->
There was a race condition where dev's block producer starts before the
RPC. In this scenario, the block producer tries to make some requests to
the Engine API, failing three times in a row and thus ending.

**Description**

<!-- A clear and concise general description of the changes this PR
introduces -->
Add a small delay between retries so Engine RPC has time to get up

<!-- Link to issues: Resolves #111, Resolves #222 -->

Co-authored-by: Ivan Litteri <[email protected]>
github-merge-queue bot pushed a commit that referenced this pull request Nov 25, 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 -->
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**

<!-- 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
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]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Compute receipts root

3 participants