Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #1342. Introduces a new
Account
class for managing a user account:This class is constructed out of an RPC server, an encryption private key, and an instance of a new
AccountContract
interface. This interface is all a dev needs to implement on ts to build their own flavor of account abstraction:Along with these changes, the old
AccountImplementation
was renamed toEntrypoint
, since its only concern was formattingFunctionCall
s to be sent through an account's entrypoint. I'm still not in love with this new name, so suggestions are welcome.For the user's convenience, we are also exposing methods that build
Account
instances out of the well known kinds, such as:Example usage from the user's perspective:
Pending tasks, which can be done on a subsequent PR:
Account
,AccountContract
,Entrypoint
, these are all still somewhat confusing.SchnorrMultiKeyAccount
andSchnorrSingleKeyAccount
contracts.