Skip to content

[WIDGET] Create version compatible with wagmi v2 #236

@MidnightLightning

Description

@MidnightLightning

Overview

What?
The wagmi library has released version 2 of their library which has several breaking changes. For projects that wish to take advantage of the new features of that major version would be good to have a Superfluid Widget version that supports that version of the library.

How?
Create a new version of the Widget NPM package (0.4.9?) that sets the peer dependency to be less than 2.0.0 for wagmi (to clearly indicate it does not work with later versions.

Create a new major version of the Widget NPM package (v2.0.0, to keep the widget numbering the same as wagmi's versioning?), set the peer dependency to be at least wagmi v2.0.0, and update the Widget logic to properly pull the logic it needs.

Attempting to use the 0.4.8 version of the Superfluid Widget with wagmi >2.0.0 gives an error of

./node_modules/@superfluid-finance/widget/dist/WidgetCore.js:9:0
Module not found: Package path ./connectors/injected is not exported from package /app/node_modules/wagmi (see exports field in /app/node_modules/wagmi/package.json)

(the "injected" connector is no longer at that code location), so it cannot just be used as-is.

Why?
That version was released January 2024, and has had several months to stabilize and have security issues fixed.

Deadline:
??

UI/UX Design:
wagmi is a business-logic library; no need for changes to the UI for this library update.

Acceptance criteria

  • ...
  • Satisfies entire acceptance criteria
  • Consider communication & visibility
  • Code review is approved by at least 2 reviewers
  • Tested by Elvijs/QA & discovered bugs resolved
  • Documentation updated
  • Assignee/opened by merges PR
  • Automated E2E tests for happy path
  • Code is merged
  • Observability of critical user path
  • Steps to access code change as a user

Links/Resources

Readiness criteria

  • Descriptive title
  • What?
  • Why?
  • How?
  • Acceptance criteria complying with Definition of Done
  • Estimate/Story points
  • Deadline: If not a part of an epic
  • Priority: Reflected as order on the board, walking the board from the top and right
  • Assignee
  • Labels
  • Link to epic: If belonging to an epic
  • A task is always a separate ticket/issue
  • UI/UX Design (optional)
  • Blockers/Prerequisites (optional): Use Zenhub blocked by/blocking feature

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions