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

Community Call #4 #23

Closed
jaypaik opened this issue Dec 29, 2023 · 1 comment
Closed

Community Call #4 #23

jaypaik opened this issue Dec 29, 2023 · 1 comment

Comments

@jaypaik
Copy link
Contributor

jaypaik commented Dec 29, 2023

Request a calendar invite

Previous call recap

Meeting Info

Agenda

  1. Recap of ecosystem developments
  2. 6900 tools for builders
  3. Improvements to the standard
  4. Open discussion

To add or request a topic that you'd like to discuss, please comment in response to this Issue below!

@jwindawi
Copy link
Contributor

jwindawi commented Jan 12, 2024

Thanks to everyone who joined for Community Call 4!

A recap of the call:

  1. A discussion of ecosystem developments, including:

    1. @drortirosh and @yoavw from EF discussed v0.7 of the ERC-4337 EntryPoint contract and its potential implications for ERC-6900 after the contract gets through its audit (see the working changelog for v0.7 here). Specifically relevant to 6900:
      1. Separated offchain UserOperation and packed UserOperation onchain struct.
        To save calldata when calling without a paymaster, and to accommodate the new gas limits added to the onchain struct, the update decouples onchain representation of a UserOperation from the offchain one, similar to the initial eth_sendTransaction rpc request and the eventual encoded transaction that’s put onchain.
        This also aligns the structure of ERC-4337 and the future native EIP-7560
      2. Added a new optional account contract api method executeUserOp().
        This addition allows the account to get the full user operation on execution, instead of the original execution, where the account is called directly with the user operation calldata, without having access to the UserOperation metadata during execution phase. Useful in ERC-6900 execution to share context past validation.
    2. New standard and content:
      1. ERC-7582: Modular Accounts with Delegated Validation (not yet merged)
      2. Aarc blog post: Why is Web3 Wallet Onboarding still broken?
  2. Tools for building on ERC-6900

    1. v0.6.0 of the 6900 reference implementation is now live, with updates to make the standard easier to work with (full changelog is here).
      1. The reference implementation is now under the contract size limit and deployable.
      2. v0.6.0 adds two new libraries:
        1. AssociatedLinkedListSetLib: provides a set data structure that is enumerable and held in address-associated storage (per the ERC-4337 spec). For example, can enumerate a set of session keys in a session key plugin.
        2. PluginStorageLib: library for allocating and accessing ERC-4337 address-associated storage within plugins.
    2. Semantic versioning is introduced to the ERC, as noted by the reference implementation release version (currently 0.6.0).
    3. New draft developer doc: How to write an ERC-6900 plugin
  3. ERC-6900 research and development

    1. @jaypaik gave an overview of the Issues section of the ERC-6900 repo, which breaks down the complexity of the standard into more tightly defined and categorized open research questions.
    2. @sm-stack from Decipher joined the call to present the team’s contributions to ERC-6900, which include joining the discussion of Issue [Improvement] Replace plugin operation #13 around incorporating a replacePlugin method to manage plugin dependencies during install/uninstall; Decipher suggested semantic versioning as part of this discussion.
    3. @fangting-alchemy walked through the team’s ongoing research (Issue [Improvement] Hook Simplification Proposal #25) into methods to enhance security by moving hooks into a secondary status below validation and execution functions

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

No branches or pull requests

2 participants