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

Integrate Account Abstraction Implementation as in EIP-2938 #35

Open
4 tasks
rlan35 opened this issue Apr 23, 2021 · 4 comments
Open
4 tasks

Integrate Account Abstraction Implementation as in EIP-2938 #35

rlan35 opened this issue Apr 23, 2021 · 4 comments
Projects

Comments

@rlan35
Copy link

rlan35 commented Apr 23, 2021

Description

Integrate the Account Abstraction feature as proposed in EIP-2938 into Harmony's core protocol logic using the reference implementation in https://github.com/quilt/go-ethereum. Note this won't be a simple merging since Harmony's EVM implementation has minor difference from the ethereum's implementation.

Context

Harmony is a fully Ethereum-compatible blockchain which shares the core EVM logic and account model. Some of the limitation of Ethereum account model is also present in Harmony. EIP-2938 is proposed to improve the flexibility of the account model in Ethereum to allow a contract to be the top-level account that pays fees and starts transaction execution. This will enable many applications such as:

  • Smart contract wallets that use signature verification other than ECDSA (eg. Schnorr, BLS, post-quantum…)
  • Smart contract wallets that include features such as multisig verification or social recovery, reducing the highly prevalent risk of funds being lost or stolen
  • Privacy-preserving systems like tornado.cash
  • Attempts to improve gas efficiency of DeFi protocols by preventing transactions that don’t satisfy high-level conditions (eg. existence of a matching order) from being included on chain
  • Users being able to pay for transaction fees in a token other than ETH (eg. by converting that token into the ETH needed for fees inside the transaction in real-time)

Acceptance Criteria

  • Fully implement the EIP-2938 proposal into Harmony core, including new opcode and txn type, account abstraction logic, txPool validation logic update etc.
  • Passes all the test cases in https://github.com/quilt/tests/tree/account-abstraction.
  • The implementation needs to be backward compatible and all existing Harmony test cases need to pass.
  • optional, implement a demo application to demonstrate the account abstraction feature.

Reference

  • Paradigm Research: How does Optimism's Rollup really work? Account Abstraction
  • @lightclients: Ethereum wallets may be getting a significant upgrade soon. With the proposed change, EOAs will immediately be able to send batch txs, expiring txs, unordered txs, and more.
  • Near's Implicit Accounts: Similar to Bitcoin/Ethereum accounts. They allow you to reserve an account ID before it's created by generating a ED25519 key-pair locally. This key-pair has a public key that maps to 64 character hex representation which becomes the account ID.

Reward

$25,000 equivalent in ONE tokens.

@gitcoinbot
Copy link

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


This issue now has a funding of 255530.0393 ONE (25023.55 USD @ $0.1/ONE) attached to it.

@gitcoinbot
Copy link

gitcoinbot commented Apr 30, 2021

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


Work has been started.

These users each claimed they can complete the work by 3 days, 6 hours from now.
Please review their action plans below:

1) ttmofficiall has started work.

Harmonize
2) osadovy has started work.

  • thoroughly move aa implementation changes to harmony codebase
  • run AA test suite and fix issues, if any

Learn more on the Gitcoin Issue Details page.

@gitcoinbot
Copy link

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


Work for 255530.0393 ONE (33771.36 USD @ $0.13/ONE) has been submitted by:


@gitcoinbot
Copy link

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


The funding of 255530.0393 ONE (29489.44 USD @ $0.11/ONE) attached to this issue has been cancelled by the bounty submitter

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Main
Open
Development

No branches or pull requests

2 participants