web3.js icon indicating copy to clipboard operation
web3.js copied to clipboard

Move AccountAbstraction (EIP4337) from plugins into core library

Open mconnelly8 opened this issue 1 year ago • 1 comments

Move AccountAbstraction (EIP4337) from plugins into core library

https://www.npmjs.com/package/@chainsafe/web3-plugin-eip4337

mconnelly8 avatar Aug 19 '24 20:08 mconnelly8

AA v0.6

  • [x] - AA functions
  • [x] - AA current tests
  • [x] - Use another package level provider for Interaction with bundler
  • [x] - AA package config for publishing
  • [ ] - Export from main web3
  • [ ] - param validation and result formatting
  • [x] - Integration in existing Package and API documentation
  • [ ] - Additional util functions
    • get nonce,
    • get InitCode for simple account creation using sample AccountFactory or optional provided ABI,
    • pm_sponsorUserOperation paymaster functions
    • signing
  • Account Abstraction guide / tutorial
    • What is AA, different components of AA(userOp, bundlers, paymasters, entrypoint, contract account), Its usages/scenarios ( different kinds of paymasters, accounts factory, etc )
    • Web3.js AA package functions
    • Infrastructure ( existing providers, vs Local infrastructure using docker compose and stackup )
    • Create sample account in first UserOp using factory contract
    • Sponsored UserOP with Paymaster
    • Send value transfer UserOP
    • Send ERC20 transfer UserOP
    • Write code snippets in stackblitz for above demonstrations
  • Integration and E2E testing
    • use dev net https://github.com/stackup-wallet/erc-4337-devnet in web3.js CI or local Infrastructure
  • Push coverage and integrate Codecov

AA v0.7

  • differences v0.6 and v0.7
  • update AA Useroperation structures and add support of v0.7 functions
  • Add tests ( Unit / Integration )
  • Add v0.7 functions documentation
  • Add v0.7 Guides

jdevcs avatar Oct 08 '24 13:10 jdevcs

closing this issue for scope of "Move AccountAbstraction (EIP4337) from plugins into core library" and remaning items will be tracked under Epic: https://github.com/web3/web3.js/issues/7347

jdevcs avatar Oct 22 '24 08:10 jdevcs