Account Abstraction
Figure out how Account Abstraction fits into the SDK architecture.
[WIP]
Account abstraction presently is being experimented on predominately in the typescript space of implementations.
Pay masters have already been seen from Gelato for example and most gasless transaction providers
However there is a larger discussion around account discovery between apps.
Projects like Trampoline make for good examples of how to provide users an initial test bed to experiment with account abstraction rapidly
However, from the UX perspective, the management of all these accounts can be problematic and there are efforts to alleviate this: Greg's discussions & EIPs
Contexts to consider
Beyond the mechanical implementations, the actual language & expectations associated with the experience need to be considered.
Web2 sign in experiences, account type migration strategies, interoperable usability, user education, etc
These are paths that would need to be strongly considered, and critically, demonstrated. Gradual progress from Web2 to increased levels of account ownership and personal user responsibility need to be shown as well as the benefits & risks explained well.
But with most things in Web3 gaming, the relevance needs to be highlighted. Gamer's outside of the metaverse style P2E model games and collectible based games might fail to see the difference between owning an asset traditionally or in a decentralized way if the valuation, interaction and utilization of the assets is still under the centralized control of the game developers.
On top of the general very negative sentiment in traditional view of gamers around including more transactions or 'micro payments' as a part of the game mechanics.
Suggested implementation
Something akin to Trampolines approach to rapid bare bones set up, coupled with good sample/example code.
In addition, a sample game which demonstrates the potential, gradual decentralization UX experience of account management, led by incentives for account recovery, management & convenience.
Implementation Questions
- Would 4337 require us to implement a 3rd party/external entity for key recovery?
- Is submitting a UserOp an additional TX process that needs to be track or is it a normal TX submission through the executor?
- Would we be integrating Account discovery at this stage, and if not, is it possible to future proof the wallet deployments for it?
- Optimally, it would be as simple as setting up wallet deployment however what wallet interface would the user be interacting with, would we have something like Capsule or would it be a sample we generate?
References
WIP Architecture
Closed as the issue is redundant now.