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

PBHSignatureAggregator #512

Draft
wants to merge 2 commits into
base: develop
Choose a base branch
from

Conversation

karankurbur
Copy link

@karankurbur karankurbur commented Dec 10, 2024

  • change interface to remove view modifier from validateSignatures and validateUserOpSignature. This is required since we may have state change inside PBHValidator
  • create PBHSignatureAggregator that inherit the BLSSignatureAggregator class
  • add new function to return encoded BLS signature + proofs array
  • modify the validateSignatures and validateUserOpSignature to remove the proof before verifying the BLS signature through the BLSSignatureAggregator
  • verify the proof through PBHVerifier

TODO:

  • Check E2E if modifying the interface reverts from EntryPoint
  • Unit tests to validate encoding/decoding logic
  • Refactor BLSSignatureAggregator to use created internal functions

@karankurbur karankurbur marked this pull request as draft December 10, 2024 22:04
@drortirosh
Copy link
Contributor

Thank you for your submission,

  1. We are in a process of moving samples out of the core project.
  2. Still, we try to keep the samples project minimal, and I'm not sure we'll add more technical samples. a ZK-based account can be in a separate project.
  3. Indeed, we do think of removing the "view" from validateSignatures, as it is too restrictive. This is the only aggregator method that is called by the EntryPoint on-chain.
  4. I don't see the reason of making aggregateSignatures (or validateUserOpSignature) non-view, as these methods are never called on-chain, only off-chain by the bundler. making them Mutable might even give the false illusion that they can modify the state..
  5. A full sample should include also a sample account that uses the new scheme - the account must return the aggregator in its validate function.

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.

2 participants