-
Notifications
You must be signed in to change notification settings - Fork 14
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
base: main
Are you sure you want to change the base?
feat: Atlas v1.1 #428
Conversation
chore: update Atlas license
Co-authored-by: Ben Sparks <52714090+BenSparksCode@users.noreply.github.com>
refactor: split most of Factory out to FactoryLib
chore: bump to Solidity 0.8.28 for `transient` keyword
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
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; |
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.
are
ATLAS_SURCHARGE_RATE
and
keccak256("ATLAS_SOLVER_SURCHARGE");
The same maybe good to use the same string
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.
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 fortransient
keyword #442 to use the latesttransient
keyword to create thet_solverSurcharge
variable instead of how it is done here, where we hash "ATLAS_SOLVER_SURCHARGE" to target a specific transient storage slot.
refactor: contract size cuts
fix: userOp graceful return gas offset
feat: add `bidAmount` to `SolverTxResult` event
feat: add indexed dapp control address in solver tx result event
feat: add surcharge settings to deploy script
feat: base deployment
feat: base sepolia deployment
A big bundle of updates, taking Atlas v1.0 --> Atlas v1.1
Changes:
returnData
to solvers #419userOp.gas
as userOp's gas limit #420Escrow.t.sol
hook input and revert tests #430Additional PRs to cut contract size: