Skip to content

[FEATURE] Formalize support for custom account contracts in EmbeddedWallet #23917

Description

@jasonxh

Problem Statement

Currently, EmbeddedWallet only supports 3 builtin account types out of the box. We are maintaining a subclass of it to support our custom account account contract, because we want to take advantage of kernelless simulation. However, due to the lack of formal support, our implementation is extremely hacky and fragile, and is often broken with every minor update to the base class.

Proposed Solution

Promote custom account contracts as a first class citizen in EmbeddedWallet. Formally define the interfaces necessary for a custom account contract to gain support, which may include but not limited to:

  • Persistence interface in WalletDB
  • Stub interface for bypassing authwits during simulation
    • TypeScript account class
    • Noir account contract

Example Use Case

No response

Alternative Solutions

No response

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    T-feature-requestType: Adding a brand new feature (not to be confused with improving an existing feature).from-communityThis originated from the community :)

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions