Skip to content

feat: remove Porto wallet support (Ithaca sunset)#800

Merged
chybisov merged 1 commit into
mainfrom
feature/emb-458-remove-porto
Jun 23, 2026
Merged

feat: remove Porto wallet support (Ithaca sunset)#800
chybisov merged 1 commit into
mainfrom
feature/emb-458-remove-porto

Conversation

@chybisov

Copy link
Copy Markdown
Member

Which Linear task is linked to this PR?

EMB-458

Why was it implemented this way?

Ithaca is sunsetting Porto — users must move funds out by 2026-07-24, after which the connector stops being useful. Rather than ship a wallet option that's about to break, this removes Porto entirely:

  • Deleted the createPortoConnector connector.
  • Removed the public porto? option from EthereumProviderConfig and createDefaultWagmiConfig, plus its wiring in EthereumBaseProvider / EthereumProviderValues.
  • Removed the Porto wallet icon (xyz.ithaca.porto) and its GetStarted tag in @lifi/wallet-management.
  • Dropped the playground usage + porto devDependency and the knip.json ignore entry.

porto is also an optional peer of @wagmi/connectors, so it remains in the lockfile transitively, but nothing imports it now that the connector is gone.

Release: shipped as a minor changeset for @lifi/widget-provider-ethereum (4.0.0 → 4.1.0) + a patch for @lifi/wallet-management. Removing the porto field is technically a breaking type change, but is released as minor per team decision. The flagship @lifi/widget does not depend on @lifi/widget-provider-ethereum, so it is unaffected.

Visual showcase (Screenshots or Videos)

Porto no longer appears in the playground wallet list. No UI changes beyond the removed entry.

Checklist before requesting a review

  • I have performed a self-review and testing of my code.
  • This pull request is focused and addresses a single problem.
  • If this PR modifies the Widget API or adds new features that require documentation, I have updated the documentation in the public-docs repository.

Porto (Ithaca's crypto-account platform) is being sunset; the connector
will stop working after 2026-07-24. Remove the Porto wagmi connector, its
public `porto` config option on EthereumProviderConfig /
createDefaultWagmiConfig, all provider wiring, the wallet icon + tag, and
the playground usage/dependency.

Released as a minor bump of @lifi/widget-provider-ethereum (4.0.0 -> 4.1.0)
plus a patch for @lifi/wallet-management.

Ref: EMB-458
@changeset-bot

changeset-bot Bot commented Jun 22, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: b011a8f

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 19 packages
Name Type
@lifi/widget-provider-ethereum Minor
@lifi/wallet-management Patch
connectkit Patch
dynamic Patch
nft-checkout Patch
privy-ethers-example Patch
privy Patch
rainbowkit Patch
reown Patch
vite-iframe Patch
vite-project Patch
@lifi/widget Patch
deposit-flow Patch
nextjs Patch
nextjs15 Patch
svelte Patch
tanstack-router-example Patch
vue Patch
zustand-widget-config Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions

Copy link
Copy Markdown
Contributor

✅ E2E Dev Smoke — passing

Check Result
Dev server start (pnpm dev) ✅ started
Smoke tests ✅ passed

4 passed · 0 failed · 0 skipped · 13s

View run

@github-actions

Copy link
Copy Markdown
Contributor

E2E Examples — all passed

All examples passed in the latest run.

@github-actions

Copy link
Copy Markdown
Contributor

E2E Playground results

passed  158 passed

Details

stats  158 tests across 10 suites
duration  1 minute, 57 seconds
commit  b011a8f

📥 Download full HTML report (open the run → Artifacts → playwright-report)

@chybisov chybisov added the Agent Review Request triggers QA Agent Zeus label Jun 22, 2026
@github-actions github-actions Bot added QA AI Reviewing and removed Agent Review Request triggers QA Agent Zeus labels Jun 22, 2026
@lifi-qa-agent

lifi-qa-agent Bot commented Jun 22, 2026

Copy link
Copy Markdown

🔍 QA Review — EMB-458

🔗 Linear Ticket · Pull Request #800

🧠 What this ticket does

Removes all Porto wallet support from the widget monorepo following Ithaca's announcement that they are sunsetting Porto on 2026-07-24. Rather than shipping a wallet option that is about to break, this PR proactively deletes the createPortoConnector, removes the porto? config option from the public API (EthereumProviderConfig and createDefaultWagmiConfig), strips the wallet icon and GetStarted tag from @lifi/wallet-management, and drops the playground usage and porto devDependency. A minor changeset ships the @lifi/widget-provider-ethereum API break (as intentionally classified by the team) alongside a patch for @lifi/wallet-management. Companion PRs cover the Jumper config and the lifinance/types icon asset.

Verdict: Pass — purely subtractive, all Porto entry points correctly removed across the monorepo scope, CI green (158 Playwright tests + smoke + examples), changeset correctly filed. One advisory: the companion lifinance/types PR #538 was closed without merging; a new PR should be opened before the ticket is marked Done.


📋 Ticket Summary

Remove Porto wallet support (Ithaca sunset)
Ithaca is sunsetting Porto by 2026-07-24. This PR removes the Porto wagmi connector, its public config option, wallet icon, wallet tag, playground usage, and dependency from lifinance/widget. Companion PRs handle the Jumper porto: true flag and the porto.svg icon in lifinance/types.

Acceptance Criteria:

  1. Porto no longer selectable in the widget playground or Jumper, no console errors — ✅ Met
    • Evidence: porto: true removed from packages/widget-playground/src/defaultWidgetConfig.ts; all EthereumProviderValues.tsx injection logic deleted; Jumper companion PR #2968 open and removes porto: true.
  2. pnpm check:types, pnpm build, pnpm knip:check pass in the widget — ✅ Met
    • Evidence: CI passing (E2E Dev Smoke ✅, E2E Examples ✅, E2E Playground 158/158 ✅); porto removed from knip.json ignoreDependencies; PortoParameters import removed from all affected files; no residual Porto type references.
  3. Minor changeset added; @lifi/widget-provider-ethereum → 4.1.0 — ✅ Met
    • Evidence: .changeset/remove-porto.md marks @lifi/widget-provider-ethereum: minor and @lifi/wallet-management: patch. Changeset bot confirmed 19 packages in next version bump.
  4. PRs opened in lifinance/widget, jumperexchange/jumper-exchange, lifinance/types and linked to this ticket — ⚠️ Partial

🏷️ PR Naming — ✅ Pass

feat: remove Porto wallet support (Ithaca sunset)
Follows type: Description convention. feat is an acceptable choice per team decision (minor API removal shipped as minor).

🔎 Ticket Discoverability — ✅ Pass

EMB-458 found in: PR description body ([EMB-458](https://linear.app/lifi-linear/issue/EMB-458/...)), branch name (feature/emb-458-remove-porto).


✅ Ticket Coverage — High

All widget-side Porto surfaces identified in the ticket description were addressed: connector file, provider wiring (EthereumBaseProvider, EthereumProviderValues, createDefaultWagmiConfig), public type interface (EthereumProviderConfig, DefaultWagmiConfigProps), wallet-management icon and tag, playground config and devDependency, knip ignore entry, and changeset. Barrel index (packages/widget-provider-ethereum/src/index.ts) confirmed clean — createPortoConnector no longer exported.


⚠️ Issues Found (1 — advisory)

# Severity Type Issue
1 🟢 Low Completeness lifinance/types PR #538 closed without merge — porto.svg still live

🟢 [Low] lifinance/types PR #538 closed without merging — porto.svg orphaned

PR #538 (chore: remove Porto wallet icon) against lifinance/types was closed on 2026-06-22 without being merged. The file src/assets/icons/wallets/porto.svg is still present and publicly hosted at lifinance.github.io/types/src/assets/icons/wallets/porto.svg. The widget's icons.ts no longer references this URL, so there is no user-visible regression from this PR alone. However:

  • The ticket's exit criteria explicitly requires this deletion.
  • A future connector could accidentally re-reference the URL.
  • The ticket cannot be marked Done with this step outstanding.

Suggestion: Re-open PR #538 or open a new PR against lifinance/types to delete src/assets/icons/wallets/porto.svg, link it to EMB-458, and ensure it is merged before closing the ticket.


🧪 Test Coverage

Layer Score Files reviewed
Unit (Vitest) Good No unit tests needed — purely subtractive change; no new logic introduced; no existing Porto-specific tests existed to update
E2e (Playwright) Good E2E Playground: 158/158 passed; E2E Dev Smoke: 4/4 passed; E2E Examples: all passed

Gaps: None. The removal is validated by the green E2E suite. The knip:check CI gate guards against accidental re-introduction of the porto package. No positive unit tests for Porto existed before this PR (Porto was an opt-in connector, not tested at unit level), so there are no test files to clean up.

ℹ️ e2e/ folder present — Playwright coverage will apply once the suite is active.


🔗 Downstream Impact

Blocks: None (no blocking relations on EMB-458).

Companion PRs — must merge to complete the ticket:

Repo PR Status Required before closing EMB-458?
jumperexchange/jumper-exchange #2968 Open ✅ Yes — removes porto: true from Jumper
lifinance/types #538 ❌ Closed without merge ✅ Yes — new PR needed to delete porto.svg

QA Agent — 2026-06-22

@lifi-qa-agent lifi-qa-agent Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

QA Pass — Porto removal is complete and correct across all widget-side surfaces. One advisory: re-open lifinance/types PR #538 before closing EMB-458.

@chybisov chybisov requested a review from effie-ms June 22, 2026 13:16
@chybisov chybisov merged commit 52cbaa2 into main Jun 23, 2026
37 checks passed
@chybisov chybisov deleted the feature/emb-458-remove-porto branch June 23, 2026 10:00
@github-actions github-actions Bot mentioned this pull request Jun 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants