Skip to content

feat(ethexe/ethereum): bump alloy to 1.8.3, add custom Eip1559Estimator for AlloyProvider#5259

Merged
grishasobol merged 4 commits intomasterfrom
av/ethexe-ethereum-bump-gas-estimate
Mar 27, 2026
Merged

feat(ethexe/ethereum): bump alloy to 1.8.3, add custom Eip1559Estimator for AlloyProvider#5259
grishasobol merged 4 commits intomasterfrom
av/ethexe-ethereum-bump-gas-estimate

Conversation

@StackOverflowExcept1on
Copy link
Copy Markdown
Member

@StackOverflowExcept1on StackOverflowExcept1on added A0-pleasereview PR is ready to be reviewed by the team D8-ethexe ethexe-related PR labels Mar 27, 2026
@semanticdiff-com
Copy link
Copy Markdown

semanticdiff-com bot commented Mar 27, 2026

Review changes with  SemanticDiff

Changed Files
File Status
  ethexe/ethereum/src/deploy.rs  78% smaller
  ethexe/node-loader/src/fuzz/mod.rs  76% smaller
  ethexe/node-loader/src/main.rs  65% smaller
  ethexe/service/src/tests/mod.rs  33% smaller
  ethexe/service/src/tests/utils/env.rs  14% smaller
  .ethexe.example.local.toml Unsupported file format
  .ethexe.example.toml Unsupported file format
  Cargo.lock Unsupported file format
  Cargo.toml Unsupported file format
  Makefile Unsupported file format
  ethexe/cli/src/commands/tx.rs Unsupported file format
  ethexe/cli/src/params/ethereum.rs  0% smaller
  ethexe/ethereum/src/lib.rs Unsupported file format
  ethexe/observer/src/lib.rs  0% smaller
  ethexe/service/src/lib.rs Unsupported file format
  utils/gear-workspace-hack/Cargo.toml Unsupported file format

@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request primarily focuses on upgrading the project's dependency on the alloy Ethereum library to its 1.8.3 version, incorporating a custom gas estimation strategy for EIP-1559 transactions. This update aims to leverage the latest features and improvements from the alloy ecosystem, particularly those related to gas estimation, ensuring more accurate and efficient transaction processing within the Ethereum execution environment.

Highlights

  • Alloy Dependency Update: The core alloy library and its associated crates (alloy-consensus, alloy-contract, alloy-eips, alloy-json-rpc, alloy-network, alloy-network-primitives, alloy-node-bindings, alloy-provider, alloy-pubsub, alloy-rpc-client, alloy-rpc-types, alloy-rpc-types-anvil, alloy-rpc-types-any, alloy-rpc-types-beacon, alloy-rpc-types-engine, alloy-rpc-types-eth, alloy-serde, alloy-signer, alloy-signer-local, alloy-transport, alloy-transport-http, alloy-transport-ws, alloy-tx-macros) have been updated from version 1.7.3 to 1.8.3.
  • Alloy Source Branch Change: The custom git source for alloy and its sub-crates has been switched from the fix-blob-gas-filler branch to the better-gas-estimation branch, indicating a focus on improved gas estimation.
  • Custom EIP-1559 Gas Estimator: A custom Eip1559Estimator has been integrated into the AlloyProvider configuration, utilizing a scaled version of the default EIP-1559 estimation logic (scaled by 15%).
  • Dependency Version Bumps: Several other dependencies have received version updates, including reqwest (to 0.13.2 and 0.12.28), darling (to 0.23.0), tokio-tungstenite (to 0.28.0), and tungstenite (to 0.28.0).
  • New Dependencies Added: New packages such as tracing, aws-lc-rs, aws-lc-sys, fs_extra, and rustls-platform-verifier have been introduced to the project's dependency tree.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

.with_gas_estimation()
.with_eip1559_estimator(Eip1559Estimator::new(
|base_fee_per_gas: u128, rewards: &[Vec<u128>]| {
utils::eip1559_default_estimator(base_fee_per_gas, rewards).scaled_by_pct(15)
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I'll add config

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request updates the alloy library to version 1.8 and switches the patched branch to better-gas-estimation across the workspace. It also introduces a custom EIP-1559 gas estimator in the Ethereum provider that applies a 15% safety margin to default estimates. The review feedback identifies an outdated TODO comment in Cargo.toml and suggests extracting the hardcoded gas scaling factor into a named constant for improved maintainability.

@StackOverflowExcept1on
Copy link
Copy Markdown
Member Author

/gemini review

This PR should fix validator commits on Ethereum Mainnet. We want to use medium gas +15% for validators commits and x3 blob fee when client uploads code.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces configurable EIP-1559 fee increase percentages and blob gas multipliers across the ethexe service and CLI. It updates the alloy dependency to version 1.8.3 (branch better-gas-estimation) and implements a custom EIP-1559 estimator in the provider creation logic. Additionally, the basics test has been re-enabled. Feedback is provided regarding the hardcoded gas parameters in the tx command, which should instead utilize the newly introduced configuration options for consistency.

@grishasobol grishasobol merged commit 6397489 into master Mar 27, 2026
33 of 34 checks passed
@grishasobol grishasobol deleted the av/ethexe-ethereum-bump-gas-estimate branch March 27, 2026 20:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A0-pleasereview PR is ready to be reviewed by the team D8-ethexe ethexe-related PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants