Skip to content

Conversation

@kaladinlight
Copy link
Contributor

@kaladinlight kaladinlight commented Nov 21, 2025

👋

Summary by CodeRabbit

Release Notes

  • Removed Features

    • Removed Portis wallet pairing option from supported integrations.
    • Removed WalletConnect (legacy) wallet pairing option.
    • Removed KeepKey Chrome USB device support.
  • Chores

    • Cleaned up internal code and imports across packages.

✏️ Tip: You can customize this high-level summary in your review settings.

@kaladinlight kaladinlight requested a review from a team as a code owner November 21, 2025 22:17
@coderabbitai
Copy link

coderabbitai bot commented Nov 21, 2025

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters (1)
  • yarn.lock is excluded by !**/yarn.lock, !**/*.lock

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

📝 Walkthrough

Walkthrough

This pull request removes three wallet integrations (Portis, WalletConnect legacy, and KeepKey Chrome USB) from the codebase. It also simplifies import paths, removes associated test files and guards, eliminates Portis-specific comments, and updates project references in tsconfig configuration.

Changes

Cohort / File(s) Summary
Portis Wallet Integration Removal
examples/sandbox/index.html, examples/sandbox/index.ts
Removed Portis UI buttons and initialization logic from sandbox example. Removed Portis imports, PortisAdapter usage, and hardened path coin selection logic that depended on Portis wallet detection.
Portis Package Removal
packages/hdwallet-portis/*
Deleted entire Portis HDWallet package including adapter, Bitcoin/Ethereum support modules, core wallet implementation, package manifest, and TypeScript configuration. Removed PortisHDWallet class and related type guards.
Portis Integration Test Removal
integration/src/portis.test.ts, integration/src/wallets/portis.ts
Removed Portis test suite file and wallet integration test module, eliminating Portis-specific test scaffolding and self-test implementations.
Portis Test Guard Cleanup
integration/src/bitcoin/bitcoin.ts, integration/src/bitcoin/testnet.ts, integration/src/ethereum/ethereum.ts, integration/src/integration.ts
Removed Portis-specific early-return guards and exclusion checks from integration tests, removing portis import and conditional test skipping for Portis wallets.
WalletConnect Legacy Integration Removal
examples/sandbox/index.ts
Removed WalletConnect button and integration from sandbox example, including WalletConnectAdapter usage and related initialization logic.
WalletConnect Legacy Package Removal
packages/hdwallet-walletconnect/*
Deleted entire WalletConnect (v1) HDWallet package including adapter, Ethereum support module, core wallet implementation, package manifest, and TypeScript configuration. Removed WalletConnectHDWallet class and related type definitions.
WalletConnect Legacy Integration Test Removal
integration/src/wallets/walletconnect.ts
Removed WalletConnect test suite file and wallet integration test module, eliminating test scaffolding and self-test implementations.
KeepKey Chrome USB Integration Removal
packages/hdwallet-keepkey-chromeusb/src/adapter.ts, packages/hdwallet-keepkey-chromeusb/src/transport.ts, packages/hdwallet-keepkey-chromeusb/src/utils.ts
Removed Chrome USB transport layer, adapter implementation, and utility functions (VENDOR_ID, WEBUSB_PRODUCT_ID, makePromise, ChromeUSB type). Eliminated device discovery and USB communication logic.
KeepKey Chrome USB Package Cleanup
packages/hdwallet-keepkey-chromeusb/package.json, packages/hdwallet-keepkey-chromeusb/src/index.ts, packages/hdwallet-keepkey-chromeusb/tsconfig.json, packages/hdwallet-keepkey-chromeusb/.npmignore
Removed package manifest, TypeScript configuration, and barrel exports (adapter, transport, utils re-exports). Cleared npmignore file.
Comment Removals from NextAccountPath Functions
packages/hdwallet-metamask-multichain/src/bitcoin.ts, packages/hdwallet-metamask-multichain/src/bitcoincash.ts, packages/hdwallet-metamask-multichain/src/cosmos.ts, packages/hdwallet-metamask-multichain/src/dogecoin.ts, packages/hdwallet-metamask-multichain/src/litecoin.ts, packages/hdwallet-metamask-multichain/src/thorchain.ts
Removed inline comments from NextAccountPath functions (no behavior change).
Portis Origin Comments Removal
packages/hdwallet-native/src/arkeo.ts, packages/hdwallet-native/src/binance.ts, packages/hdwallet-native/src/cosmos.ts, packages/hdwallet-native/src/ethereum.ts, packages/hdwallet-native/src/kava.ts, packages/hdwallet-native/src/osmosis.ts, packages/hdwallet-native/src/secret.ts, packages/hdwallet-native/src/terra.ts, packages/hdwallet-native/src/thorchain.ts
Removed inline comments from NextAccountPath functions.
Portis-Copied File Attribution Removal
packages/hdwallet-native/src/crypto/classes/cipherString.ts, packages/hdwallet-native/src/crypto/classes/encryptedObject.ts, packages/hdwallet-native/src/crypto/classes/encryptionType.ts, packages/hdwallet-native/src/crypto/classes/symmetricCryptoKey.ts
Removed top-of-file comments indicating files were copied from Portis (no code changes).
WalletConnect Import Path Consolidation
examples/sandbox/index.ts, packages/hdwallet-walletconnectv2/src/adapter.ts
Updated EthereumProviderOptions import to use consolidated path @walletconnect/ethereum-provider instead of subpath @walletconnect/ethereum-provider/dist/types/EthereumProvider.
Project References Update
tsconfig.json
Removed project references for hdwallet-keepkey-chromeusb, hdwallet-portis, hdwallet-trezor-connect, hdwallet-walletconnect, and hdwallet-walletconnectV2 (then re-added walletconnectv2 in lowercase).

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

  • High-impact removals: Three complete wallet integration packages deleted (Portis, WalletConnect legacy, KeepKey Chrome USB) with extensive internal logic (adapters, signing implementations, state management)
  • Test suite modifications: Multiple test files removed and numerous test guards simplified across Bitcoin, Ethereum, and integration test suites
  • Public API surface changes: Significant removal of exported classes, types, functions, and imports across multiple packages
  • Import path consolidation: While simple, this requires verification across examples and wallet packages
  • Configuration updates: Project reference changes in tsconfig require verification of downstream dependencies

Areas requiring extra attention:

  • Verification that removal of Portis wallet detection logic in examples/sandbox/index.ts (coin selection in hardened path) doesn't break other functionality
  • Confirmation that test guard removals align with intended wallet support scope
  • Review of EthereumProviderOptions import path change to ensure no breaking changes in walletconnectv2
  • Validation that removed project references in tsconfig don't cause unintended compilation issues
  • Verification that the simplified test conditions in integration tests are correct and don't skip necessary coverage

Suggested reviewers

  • gomesalexandre
  • NeOMakinG

Poem

🐰 Three wallets bid farewell to the code,
Portis, WalletConnect took a different road,
Chrome USB KeepKey removed with care,
Comments cleaned up here and there,
Consolidation done—simpler paths to share! 🥕✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'chore: remove dead wallets' clearly and concisely summarizes the main objective of the changeset—removing Portis, WalletConnect (legacy), and KeepKey Chrome USB integrations—with no misleading or vague language.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@gomesalexandre gomesalexandre self-requested a review November 25, 2025 16:35
{ "path": "./packages/hdwallet-native" },
{ "path": "./packages/hdwallet-portis" },
{ "path": "./packages/hdwallet-trezor" },
{ "path": "./packages/hdwallet-trezor-connect" },
Copy link
Contributor

Choose a reason for hiding this comment

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

Is this removal on purpose (indeed seems unused) and do we want to remove the whole package?

Copy link
Contributor

Choose a reason for hiding this comment

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

Hm actually, definitely used in web: https://github.com/search?q=repo%3Ashapeshift%2Fweb%20hdwallet-trezor-connect&type=code

I don't think we want to break Trezor functionality right before toggling it on 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants