Skip to content

feat: add streaming-widget package for Superfluid streaming flows on Celo and Base#31

Draft
Copilot wants to merge 3 commits into
mainfrom
copilot/create-streaming-widget
Draft

feat: add streaming-widget package for Superfluid streaming flows on Celo and Base#31
Copilot wants to merge 3 commits into
mainfrom
copilot/create-streaming-widget

Conversation

Copy link
Copy Markdown

Copilot AI commented May 19, 2026

Implements packages/streaming-widget — a new GoodWidget for Superfluid CFA streams, GDA pool memberships, and Super Token balances, backed by @goodsdks/streaming-sdk@1.0.0.

Package structure

Follows the citizen-claim-widget pattern exactly: widgetRuntimeContract.tsadapter.tsStreamingWidget.tsxelement.ts/register.ts + index.ts.

Adapter (useStreamingAdapter)

  • Builds viem PublicClient/WalletClient from the EIP-1193 provider for Celo (42220) and Base (8453)
  • Composes StreamingSDK + GdaSDK instances; auto-refreshes on wallet/chain change
  • Manages independent loading/error/success state slices for streams, pools, balance, and SUP reserve
  • Set-stream form with inline validation → createOrUpdateStream write lifecycle (idle → pending → success/error)
  • Per-pool connect/disconnect write status keyed by pool address

Widget UI (3 tabs via WidgetTabs)

  • Streams — directional filter (All / Incoming / Outgoing), create/update form (recipient + amount + time-unit period selector → computed flow rate preview), stream list cards with direction badge / flow rate / streamed-so-far / timestamp
  • Pools — GDA pool membership list with per-pool connect/disconnect action and inline write-status badge
  • Balances — Super Token balance card; SUP reserve section renders on Base only, shows an explicit disabled explanation on other chains
  • WalletGate handles not-connected and wrong-chain states before any tab content renders

Usage

// React component
<StreamingWidget provider={eip1193Provider} environment="production" />

// Web component
import '@goodwidget/streaming-widget/register'
// <gw-streaming></gw-streaming>

Storybook + Playwright

  • Stories: InjectedWallet, CustodialLocalFixture, NoWallet under Widgets/StreamingWidget
  • 8 Playwright smoke tests covering: connect-wallet prompt, tab bar visibility, loading/error states (RPC blocked), tab navigation, and create-stream form toggle

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • add-skill.vercel.sh
    • Triggering command: /usr/local/bin/node node /home/REDACTED/.npm/_npx/ac0ed6aa23b37c1e/node_modules/.bin/skills add REDACTED -y (dns block)
  • https://api.github.com/repos/GoodDollar/GoodSkills
    • Triggering command: /usr/local/bin/node node /home/REDACTED/.npm/_npx/ac0ed6aa23b37c1e/node_modules/.bin/skills add REDACTED -y (http block)

If you need me to access, download, or install something from one of these locations, you can either:

@github-project-automation github-project-automation Bot moved this to Ready-For-Assignment in GoodBounties May 19, 2026
Copilot AI linked an issue May 19, 2026 that may be closed by this pull request
8 tasks
Copilot AI and others added 2 commits May 19, 2026 10:00
Copilot AI changed the title [WIP] Create a streaming widget feat: add streaming-widget package for Superfluid streaming flows on Celo and Base May 19, 2026
Copilot finished work on behalf of L03TJ3 May 19, 2026 10:06
Copilot AI requested a review from L03TJ3 May 19, 2026 10:06
@L03TJ3 L03TJ3 moved this from Ready-For-Assignment to In Progress in GoodBounties May 19, 2026
@L03TJ3 L03TJ3 linked an issue May 19, 2026 that may be closed by this pull request
@L03TJ3 L03TJ3 moved this from In Progress to Prepare AI Task in GoodBounties May 19, 2026
@L03TJ3 L03TJ3 linked an issue May 19, 2026 that may be closed by this pull request
12 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Prepare AI Task

Development

Successfully merging this pull request may close these issues.

[GoodBounty] Finalize Streaming Widget PR [PLAN] Create a streaming widget [Feature]: Create a streaming widget

2 participants