Separate Wallet API for POLA #5468
Replies: 6 comments
-
Tagging @dtribble, @katelynsills. |
Beta Was this translation helpful? Give feedback.
-
To bring up to date and epicized |
Beta Was this translation helpful? Give feedback.
-
@michaelfig is this still relevant to life as we know it, given that #1074 is done? If so, please refine the title to be more clear about how / why we should redesign the API. |
Beta Was this translation helpful? Give feedback.
-
This is in progress, with PRs such as #4338 . I will close this issue when we're done with that process. |
Beta Was this translation helpful? Give feedback.
-
I'd still like a more clear title / description. As it is, any change to the API might constitute a redesign sufficient to close the ticket. The description says that the design evolved somewhat organically, but it doesn't say any particular ways that the design is insufficient. |
Beta Was this translation helpful? Give feedback.
-
That was the intent of this ticket: to have any redesign. We are settling on one that supports the on-chain wallet. |
Beta Was this translation helpful? Give feedback.
-
What is the Problem Being Solved?
The
home.wallet
API surface has evolved organically, and now we are at a place where we need to take steps to carefully (but still compatibly) redesign the API, since it currently serves multiple clients: the REPL, deploy scripts, wallet frontend, dapp UIs, and maybe eventually dapp API servers.Description of the Design
In #2032 we move most of the existing Wallet API off of
home.wallet
and into sub-APIs, categorizing the facets that are relied upon as:iframe/WebSocket
pathdapp-svelte-wallet
(over CapTP)The goal of this phase is to separate these concerns so that they can evolve separately while maintaining compatibility with existing WalletUser and WalletDataBridge clients. WalletAdmin is created to mark the portions of the API that we are not yet publically committing to, as it is driven by the needs of
dapp-svelte-wallet
and exposing portions of it on WalletUser will need to be designed carefully.The goal is to enable the independent evolution of (please expand this list/attach issues as desired):
Security Considerations
There should be no impact of the above refactoring upon security. It is noted, however, that most deployment scripts should not be given full access to REPL objects such as
home.wallet
, rather they should request only the powers they require.Test Plan
Each of our official dapps should be deployed and tested against the wallet to ensure compatibility with the new factoring.
Beta Was this translation helpful? Give feedback.
All reactions