Short description of the new GoodWidget
We want to build a new widget to support Superfluid streaming.
The functionalities to support this widget come from the @gooddollar/streaming-sdk.
It should support the following features
- Creating and updating existing streams (setStream)
- Active and historical stream overview
- GDA pool memberships (including claiming incoming streams)
- Sup token (and reserve) balance (this is only available on the base chain)
Which repos and packages the AI should work with
- using
@gooddollar/streaming-sdk, reference is from the external repository GoodSDKs
- external repository GoodSDKs can also be used to see a simple implementation demo of the sdk( external path: apps/demo-streaming-app). Only functionally, not UI wise.
- external GoodWalletV2 repository
UI implementation reference
Use the external GoodDollar/GoodWalletV2 repository swap components (src/sections/Swap) as a design system reference.
Also use from the external GoodDollar/GoodWalletV2 repository the activity history (src/sections/Home/components/ActivityHistory) for design reference when it comes to displaying active streams/stream history.
We use GoodWalletV2 as styling reference when it comes to: spacing,colors,fonts,effects.
locally in GoodWidget we use the goodWalletV2Preset to represent this.
Structurally, we can use the superfluid dashboard as design reference:
Active stream(s) overview:

Creating/updating a stream:

User flows, states and behaviours
- supports a connected wallet (both custodial and injected)
- Creating and updating existing streams (setStream)
- Active and historical stream overview
- GDA pool memberships (including claiming incoming streams)
- Sup token (and reserve) balance (this is only available on the base chain)
It should be a single widget supporting different features. We have WidgetTabs.tsx in the ui package for creating sectioned screens for a widget.
Create the plan
Based on the above description, create an execution plan in a new sub-issue and preserve the original issue content.
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:
[DRAFT] <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 of the new GoodWidget
We want to build a new widget to support Superfluid streaming.
The functionalities to support this widget come from the
@gooddollar/streaming-sdk.It should support the following features
Which repos and packages the AI should work with
@gooddollar/streaming-sdk, reference is from the external repository GoodSDKsUI implementation reference
Use the external GoodDollar/GoodWalletV2 repository swap components (src/sections/Swap) as a design system reference.
Also use from the external GoodDollar/GoodWalletV2 repository the activity history (src/sections/Home/components/ActivityHistory) for design reference when it comes to displaying active streams/stream history.
We use GoodWalletV2 as styling reference when it comes to: spacing,colors,fonts,effects.
locally in GoodWidget we use the goodWalletV2Preset to represent this.
Structurally, we can use the superfluid dashboard as design reference:

Active stream(s) overview:
Creating/updating a stream:

User flows, states and behaviours
It should be a single widget supporting different features. We have
WidgetTabs.tsxin the ui package for creating sectioned screens for a widget.Create the plan
Based on the above description, create an execution plan in a new sub-issue and preserve the original issue content.
Do not execute the plan until given instructions to do so.
Sub-issue requirements:
[DRAFT][PLAN] <what issue is being planned>Task[DRAFT] <sub-issue title>Instructions when creating the plan:
Plan specification required sections: