-
Notifications
You must be signed in to change notification settings - Fork 0
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
AA-427: New aggregated signatures ERC #9
Conversation
|
||
## Motivation | ||
|
||
Using validation schemes that allow signature aggregation enables significant optimisations and savings on |
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.
Using validation schemes that allow signature aggregation enables significant optimisations and savings on | |
On rollup networks, the cost of a transaction depends mostly on the calldata size when comitted to L1. Various compression schemes can be applied to UserOperations bundle, but the signature on each UserOp can't be compressed. | |
Instead, We allow a signature aggregator to aggregate all UserOperation signatures, and thus instead of N signatures, only a single signatures per bundle is required. |
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.
Can you confirm this is still the case for rollups using EIP-4844 transactions? Even so, I am not sure "comitted to L1" is the right wording in such cases.
for all `UserOperations` in the array, and revert otherwise. | ||
This method is called on-chain by `handleAggregatedOps()` | ||
|
||
```solidity |
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.
AttregatorStakeInfo is returned by simulation.
(however, I'm not sure simulateHandleOps is part of the "protocol" - the ERC, or we can define it only as "implementation")
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.
I only did very minimal changes to the "Specification" part of the aggregation ERC, and "simulations" with state override were never mentioned in the original ERC-4337. Should we?
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.
I think that "simulation" is not a standard, but implementation issue.
It is a mechanism that is really required only for estimation - which is also not part of the 4337 standard itself.
The reference implementation needs a fix not to use the simulation contract during validation
Co-authored-by: Dror Tirosh <[email protected]>
ERCS/erc-4337-agg.md
Outdated
In addition to the steps described in ERC-4337, during bundling the bundler should: | ||
|
||
* Sort UserOps by aggregator, to create the lists of UserOps-per-aggregator. | ||
* For each aggregator, run the aggregator-specific code to create aggregated signature, and update the UserOps. |
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.
run aggregateSignatures
Closed in favour of ethereum#626 |
The commit 3257119 (as a parent of f2e69ee) contains errors. |
When opening a pull request to submit a new EIP, please use the suggested template: https://github.com/ethereum/EIPs/blob/master/eip-template.md
We have a GitHub bot that automatically merges some PRs. It will merge yours immediately if certain criteria are met: