Short description
Add a connect/disconnect wallet widget to GoodWidget. The protocol supports connecting external wallets to the root verified GoodDollar wallet, letting them act on its behalf — we need a widget supporting connect/disconnect of these accounts.
Today this only exists as a stand-alone CodeSandbox demo (hosted separately and embedded in the docs). This issue is to build a version ready to integrate directly into the wallet.
Which repos and packages to work with
User flows, states and behaviours
- No wallet connected: only show a "Connect a wallet" prompt.
- Connecting: handled via the primary verified identity flow; show a loading state while the connection is pending.
- Connected (primary verified identity): unblocks a connect/disconnect address input field, where the user can paste an external address to link.
- Pasting an address triggers a loading state for that address while its connection status is checked per chain against the primary verified address.
- Each chain field then shows a "Connect" or "Disconnect" button, respective to that chain's current connection status.
- Error states: surfaced via toast notification or an error block at the top of the widget.
- Connect/disconnect transaction failure → red error block.
- Connected to an unsupported network → orange warning block.
Design reference
Constraints
None noted.
Create the plan (keep this section in the issue body)
Create the plan
Based on the above description create an execution plan in a new sub-issue and preserve the original issue content unchanged.
Do not execute the plan until given instructions to do so.
Sub-issue requirements:
- Title format:
[DRAFT][PLAN] <what issue is being planned>
- Type:
Task
- Description must start with:
<sub-issue title>
- Link the sub-issue back to this parent issue.
Instructions when creating the plan:
- Map relevant files that are too be used as reference from all repos mentioned
- import existing @GoodDollar packages
- Map new components that should be created. Assess when a new component should be created in the new savings widget package or made part of the reusable packages/ui
Plan specification required sections:
- Required states, flows, and behaviors
- Execution plan
- acceptance criteria
- human-reviewer checklist
Short description
Add a connect/disconnect wallet widget to GoodWidget. The protocol supports connecting external wallets to the root verified GoodDollar wallet, letting them act on its behalf — we need a widget supporting connect/disconnect of these accounts.
Today this only exists as a stand-alone CodeSandbox demo (hosted separately and embedded in the docs). This issue is to build a version ready to integrate directly into the wallet.
Which repos and packages to work with
GoodDollar/GoodWidgetcitizen-sdkIdentitySDK(GoodDollar/GoodSDKs) — see the wallet section of the README: https://github.com/GoodDollar/GoodSDKs/blob/main/packages/citizen-sdk/README.mdUser flows, states and behaviours
Design reference
Constraints
None noted.
Create the plan (keep this section in the issue body)
Create the plan
Based on the above description create an execution plan in a new sub-issue and preserve the original issue content unchanged.
Do not execute the plan until given instructions to do so.
Sub-issue requirements:
[DRAFT][PLAN] <what issue is being planned>Task<sub-issue title>Instructions when creating the plan:
Plan specification required sections: