Skip to content
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

feat: Atlas v1.1 #428

Open
wants to merge 95 commits into
base: main
Choose a base branch
from
Open

feat: Atlas v1.1 #428

wants to merge 95 commits into from

Conversation

BenSparksCode and others added 30 commits September 4, 2024 17:28
Co-authored-by: Ben Sparks <52714090+BenSparksCode@users.noreply.github.com>
@BenSparksCode BenSparksCode marked this pull request as ready for review October 22, 2024 09:04
Copy link
Contributor

@0x1NotMe 0x1NotMe left a comment

Choose a reason for hiding this comment

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

LGTM

I made a small nitpick comment about the transient storage name for surcharge rate

@@ -18,6 +18,8 @@ contract Storage is AtlasEvents, AtlasErrors, AtlasConstants {
address public immutable SIMULATOR;
address public immutable L2_GAS_CALCULATOR;
uint256 public immutable ESCROW_DURATION;
uint256 public immutable ATLAS_SURCHARGE_RATE;
Copy link
Contributor

Choose a reason for hiding this comment

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

are
ATLAS_SURCHARGE_RATE
and
keccak256("ATLAS_SOLVER_SURCHARGE");

The same maybe good to use the same string

Copy link
Contributor Author

@BenSparksCode BenSparksCode Oct 23, 2024

Choose a reason for hiding this comment

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

These are 2 different variables.

  • ATLAS_SURCHARGE_RATE is the percentage of gas cost we take as an Atlas surcharge, stored as an immutable variable.
  • solverSurcharge is a transient variable, used to track the total surcharge (Atlas + Bundler) of the cost of failed solverOp gas costs, during the current metacall, if failure is the solver's fault. This has also been changed in chore: bump to Solidity 0.8.28 for transient keyword #442 to use the latest transient keyword to create the t_solverSurcharge variable instead of how it is done here, where we hash "ATLAS_SOLVER_SURCHARGE" to target a specific transient storage slot.

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.

5 participants