Conversation
Add HyperEVM support across all wallet implementations. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Will revert before PR. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
📝 WalkthroughWalkthroughAdds a new capability flag Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes
Possibly related PRs
Suggested reviewers
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
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. Comment |
Resolved version conflicts by accepting origin/master versions (1.62.21)
NeOMakinG
left a comment
There was a problem hiding this comment.
- Derivation works
- Swapping to HyperEVM works
- Swapping to ERC20 seems to be working but we have issues with balances
- Sending HYPE works
- Gas estimate seems to be fine so far
Notes:
- ERC20 balances are not updated after a swap, might be fixed by rebasing on develop
- No throttler but no rate limit noticed
- The multicall system doesnt work, need to take what we did with monad
- ERC20 balances doesnt seems to be fetched at start (might be the reason why they arent updated after a swap)
- Couldn't test an ERC20 send as I cant access my balance
Happy to stamp but will require follow ups to fix a few things
@coderabbitai create an issue in shapeshift/web (not here in shapeshift/hdwallet!) mentioning this comment with a permalink and acc:
|
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: Length of output: 46 @gomesalexandre I've created the issue in shapeshift/web: shapeshift/web#11354 The issue includes:
|
00d8310 to
012a265
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (29)
examples/sandbox/package.json(2 hunks)integration/jest.config.js(1 hunks)integration/package.json(2 hunks)lerna.json(1 hunks)packages/hdwallet-coinbase/package.json(2 hunks)packages/hdwallet-core/package.json(1 hunks)packages/hdwallet-gridplus/package.json(2 hunks)packages/hdwallet-gridplus/src/gridplus.ts(1 hunks)packages/hdwallet-keepkey-chromeusb/package.json(2 hunks)packages/hdwallet-keepkey-electron/package.json(2 hunks)packages/hdwallet-keepkey-nodehid/package.json(2 hunks)packages/hdwallet-keepkey-nodewebusb/package.json(2 hunks)packages/hdwallet-keepkey-tcp/package.json(2 hunks)packages/hdwallet-keepkey-webusb/package.json(2 hunks)packages/hdwallet-keepkey/package.json(2 hunks)packages/hdwallet-keplr/package.json(2 hunks)packages/hdwallet-ledger-webhid/package.json(2 hunks)packages/hdwallet-ledger-webusb/package.json(2 hunks)packages/hdwallet-ledger/package.json(2 hunks)packages/hdwallet-metamask-multichain/package.json(2 hunks)packages/hdwallet-native-vault/package.json(2 hunks)packages/hdwallet-native/package.json(2 hunks)packages/hdwallet-phantom/package.json(2 hunks)packages/hdwallet-portis/package.json(2 hunks)packages/hdwallet-trezor-connect/package.json(2 hunks)packages/hdwallet-trezor/package.json(2 hunks)packages/hdwallet-vultisig/package.json(2 hunks)packages/hdwallet-walletconnect/package.json(2 hunks)packages/hdwallet-walletconnectV2/package.json(2 hunks)
✅ Files skipped from review due to trivial changes (6)
- packages/hdwallet-keepkey-webusb/package.json
- packages/hdwallet-trezor/package.json
- packages/hdwallet-keepkey/package.json
- packages/hdwallet-ledger/package.json
- packages/hdwallet-core/package.json
- packages/hdwallet-ledger-webusb/package.json
🚧 Files skipped from review as they are similar to previous changes (1)
- packages/hdwallet-gridplus/src/gridplus.ts
🧰 Additional context used
🧠 Learnings (7)
📚 Learning: 2025-08-07T15:27:03.179Z
Learnt from: gomesalexandre
Repo: shapeshift/hdwallet PR: 726
File: packages/hdwallet-ledger/package.json:36-36
Timestamp: 2025-08-07T15:27:03.179Z
Learning: In the shapeshiftoss/hdwallet monorepo, the ledgerhq/hw-transport dependency in packages/hdwallet-ledger/package.json is pinned to an exact version (without caret) due to type mismatches that occur with newer versions. Other Ledger dependencies can safely use caret ranges.
Applied to files:
packages/hdwallet-keepkey-electron/package.jsonpackages/hdwallet-walletconnectV2/package.jsonpackages/hdwallet-portis/package.jsonintegration/jest.config.jsexamples/sandbox/package.jsonpackages/hdwallet-native-vault/package.jsonpackages/hdwallet-coinbase/package.jsonpackages/hdwallet-keepkey-chromeusb/package.jsonpackages/hdwallet-keplr/package.jsonpackages/hdwallet-ledger-webhid/package.jsonpackages/hdwallet-phantom/package.jsonpackages/hdwallet-gridplus/package.jsonpackages/hdwallet-keepkey-tcp/package.jsonpackages/hdwallet-keepkey-nodewebusb/package.jsonpackages/hdwallet-keepkey-nodehid/package.jsonpackages/hdwallet-walletconnect/package.jsonintegration/package.jsonpackages/hdwallet-native/package.jsonpackages/hdwallet-trezor-connect/package.jsonpackages/hdwallet-metamask-multichain/package.jsonpackages/hdwallet-vultisig/package.json
📚 Learning: 2025-08-07T15:23:54.858Z
Learnt from: gomesalexandre
Repo: shapeshift/hdwallet PR: 726
File: packages/hdwallet-coinbase/package.json:18-18
Timestamp: 2025-08-07T15:23:54.858Z
Learning: In the shapeshiftoss/hdwallet monorepo, package version bumps are done in PRs before publishing. The packages are published after the PR is merged, so dependency versions may reference unpublished versions during the PR review phase. This is expected behavior in their release workflow.
Applied to files:
packages/hdwallet-keepkey-electron/package.jsonpackages/hdwallet-walletconnectV2/package.jsonpackages/hdwallet-portis/package.jsonexamples/sandbox/package.jsonpackages/hdwallet-native-vault/package.jsonpackages/hdwallet-coinbase/package.jsonpackages/hdwallet-keepkey-chromeusb/package.jsonpackages/hdwallet-keplr/package.jsonpackages/hdwallet-ledger-webhid/package.jsonpackages/hdwallet-phantom/package.jsonpackages/hdwallet-gridplus/package.jsonpackages/hdwallet-keepkey-tcp/package.jsonpackages/hdwallet-keepkey-nodewebusb/package.jsonpackages/hdwallet-keepkey-nodehid/package.jsonpackages/hdwallet-walletconnect/package.jsonintegration/package.jsonpackages/hdwallet-native/package.jsonpackages/hdwallet-trezor-connect/package.jsonpackages/hdwallet-metamask-multichain/package.jsonpackages/hdwallet-vultisig/package.json
📚 Learning: 2025-12-09T13:48:55.139Z
Learnt from: gomesalexandre
Repo: shapeshift/hdwallet PR: 764
File: packages/hdwallet-gridplus/package.json:0-0
Timestamp: 2025-12-09T13:48:55.139Z
Learning: In the shapeshiftoss/hdwallet monorepo, the dist/ directory is not version controlled (not tracked in git). Build artifacts are generated during the build/publish workflow, not committed to the repository.
Applied to files:
packages/hdwallet-keepkey-electron/package.jsonpackages/hdwallet-walletconnectV2/package.jsonpackages/hdwallet-portis/package.jsonexamples/sandbox/package.jsonpackages/hdwallet-native-vault/package.jsonpackages/hdwallet-coinbase/package.jsonpackages/hdwallet-keepkey-chromeusb/package.jsonpackages/hdwallet-keplr/package.jsonpackages/hdwallet-ledger-webhid/package.jsonpackages/hdwallet-phantom/package.jsonpackages/hdwallet-gridplus/package.jsonpackages/hdwallet-keepkey-tcp/package.jsonpackages/hdwallet-keepkey-nodewebusb/package.jsonpackages/hdwallet-keepkey-nodehid/package.jsonpackages/hdwallet-walletconnect/package.jsonintegration/package.jsonpackages/hdwallet-native/package.jsonpackages/hdwallet-trezor-connect/package.jsonpackages/hdwallet-metamask-multichain/package.jsonpackages/hdwallet-vultisig/package.json
📚 Learning: 2025-08-07T15:24:19.530Z
Learnt from: gomesalexandre
Repo: shapeshift/hdwallet PR: 726
File: packages/hdwallet-ledger-webusb/package.json:3-3
Timestamp: 2025-08-07T15:24:19.530Z
Learning: In the shapeshiftoss/hdwallet monorepo, the team runs `yarn build` before bumping versions and also before publishing packages. This ensures that dist/ artifacts (including UMD bundles) are properly regenerated after dependency updates.
Applied to files:
packages/hdwallet-keepkey-electron/package.jsonpackages/hdwallet-walletconnectV2/package.jsonpackages/hdwallet-portis/package.jsonexamples/sandbox/package.jsonpackages/hdwallet-native-vault/package.jsonpackages/hdwallet-coinbase/package.jsonpackages/hdwallet-keepkey-chromeusb/package.jsonpackages/hdwallet-keplr/package.jsonpackages/hdwallet-ledger-webhid/package.jsonpackages/hdwallet-phantom/package.jsonpackages/hdwallet-gridplus/package.jsonpackages/hdwallet-keepkey-tcp/package.jsonpackages/hdwallet-keepkey-nodewebusb/package.jsonpackages/hdwallet-keepkey-nodehid/package.jsonpackages/hdwallet-walletconnect/package.jsonintegration/package.jsonpackages/hdwallet-native/package.jsonpackages/hdwallet-trezor-connect/package.jsonpackages/hdwallet-metamask-multichain/package.jsonpackages/hdwallet-vultisig/package.json
📚 Learning: 2025-08-07T15:47:29.207Z
Learnt from: gomesalexandre
Repo: shapeshift/hdwallet PR: 726
File: packages/hdwallet-ledger/src/transport.ts:10-10
Timestamp: 2025-08-07T15:47:29.207Z
Learning: In the shapeshiftoss/hdwallet monorepo, ts-ignore is used instead of ts-expect-error for Ledger transport imports because the code works locally without TypeScript errors but has issues in CI environment. Using ts-expect-error would fail locally since there are no actual errors to suppress.
Applied to files:
packages/hdwallet-keepkey-electron/package.jsonpackages/hdwallet-walletconnectV2/package.jsonpackages/hdwallet-portis/package.jsonintegration/jest.config.jsexamples/sandbox/package.jsonpackages/hdwallet-native-vault/package.jsonpackages/hdwallet-coinbase/package.jsonpackages/hdwallet-keepkey-chromeusb/package.jsonpackages/hdwallet-keplr/package.jsonpackages/hdwallet-ledger-webhid/package.jsonpackages/hdwallet-phantom/package.jsonpackages/hdwallet-gridplus/package.jsonpackages/hdwallet-keepkey-tcp/package.jsonpackages/hdwallet-keepkey-nodewebusb/package.jsonpackages/hdwallet-keepkey-nodehid/package.jsonpackages/hdwallet-walletconnect/package.jsonintegration/package.jsonpackages/hdwallet-native/package.jsonpackages/hdwallet-trezor-connect/package.jsonpackages/hdwallet-metamask-multichain/package.jsonpackages/hdwallet-vultisig/package.json
📚 Learning: 2025-08-07T15:47:26.835Z
Learnt from: gomesalexandre
Repo: shapeshift/hdwallet PR: 726
File: packages/hdwallet-ledger-webusb/src/transport.ts:12-12
Timestamp: 2025-08-07T15:47:26.835Z
Learning: In the shapeshiftoss/hdwallet monorepo, ts-ignore is used instead of ts-expect-error for Ledger transport imports because the CI environment has different type checking behavior than local development. The code works locally without errors, but CI reports type issues, so ts-ignore is necessary to suppress the inconsistent type checking across environments.
Applied to files:
packages/hdwallet-portis/package.jsonintegration/jest.config.jsexamples/sandbox/package.jsonpackages/hdwallet-native-vault/package.jsonpackages/hdwallet-coinbase/package.jsonpackages/hdwallet-keepkey-chromeusb/package.jsonpackages/hdwallet-keplr/package.jsonpackages/hdwallet-ledger-webhid/package.jsonpackages/hdwallet-gridplus/package.jsonpackages/hdwallet-keepkey-tcp/package.jsonpackages/hdwallet-keepkey-nodewebusb/package.jsonpackages/hdwallet-keepkey-nodehid/package.jsonintegration/package.jsonpackages/hdwallet-native/package.jsonpackages/hdwallet-trezor-connect/package.jsonpackages/hdwallet-metamask-multichain/package.json
📚 Learning: 2025-08-07T15:24:34.076Z
Learnt from: gomesalexandre
Repo: shapeshift/hdwallet PR: 726
File: examples/sandbox/package.json:15-31
Timestamp: 2025-08-07T15:24:34.076Z
Learning: Lerna v6+ supports workspace protocol syntax (workspace:*) but does not automatically convert exact versions to workspace protocol during version bumps. It only preserves existing workspace protocol syntax. Teams using Lerna for automated version bumps would need manual conversion to use workspace protocol, which negates automation benefits.
Applied to files:
lerna.json
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: Build and Release
🔇 Additional comments (21)
packages/hdwallet-keepkey-nodewebusb/package.json (1)
3-3: ✓ Version bumps are consistent and follow the monorepo pattern.The package version and dependency versions are all incremented uniformly by one patch level (1.62.27 → 1.62.28), which aligns with the established release workflow in this monorepo. Per the learnings, it is expected for dependency versions to reference versions that may not yet be published during the PR phase.
Ensure that
yarn buildis run before publishing to regenerate build artifacts in the dist/ directory (as per the monorepo's build workflow).Also applies to: 17-18
packages/hdwallet-keplr/package.json (1)
3-3: Version bump is consistent and appropriate.The patch-level version increment (1.62.27 → 1.62.28) and the pinned @shapeshiftoss/hdwallet-core dependency update align with the monorepo's versioning and dependency-management conventions. The changes propagate the core library update necessary for hyperEVM support across the Keplr wallet integration.
Also applies to: 20-20
packages/hdwallet-keepkey-nodehid/package.json (1)
3-3: Version bump is consistent and well-aligned.The patch version bump from 1.62.27 to 1.62.28 is correctly applied to both the package version and the internal dependency. The exact version pinning of the
@shapeshiftoss/hdwallet-keepkeydependency is appropriate for monorepo interdependencies.Based on learnings, ensure that
yarn buildwas executed before committing the version bump to regenerate any build artifacts.Also applies to: 17-17
packages/hdwallet-ledger-webhid/package.json (1)
3-3: Version bump looks good.The patch version increment and coordinated dependency updates across @shapeshiftoss/hdwallet-core and @shapeshiftoss/hdwallet-ledger are consistent with the monorepo's release workflow. Ledgerhq dependencies remain correctly pinned to exact versions per the known type compatibility constraints.
Also applies to: 21-22
packages/hdwallet-phantom/package.json (1)
3-3: Version and dependency update looks good.The patch version bump (1.62.27 → 1.62.28) is appropriate for the HyperEVM feature addition, and the @shapeshiftoss/hdwallet-core dependency is correctly aligned with the package version. This is consistent with the coordinated version bumping across the monorepo.
Based on learnings from prior releases in this monorepo, this version may reference an unpublished dependency version during PR review, which is expected behavior in your release workflow. Ensure
yarn buildis run before publishing to regenerate dist/ artifacts.Also applies to: 18-18
packages/hdwallet-keepkey-electron/package.json (1)
3-3: LGTM! Version bump aligns with release workflow.The version and dependency bumps are consistent with the monorepo's standard release process.
Based on learnings, version bumps are performed in PRs before publishing, which is the expected workflow for this repository.
Also applies to: 17-17
lerna.json (1)
3-3: LGTM! Lerna version synchronized.The monorepo version bump is consistent with package-level changes across the repository.
packages/hdwallet-trezor-connect/package.json (1)
3-3: LGTM! Version and dependency bumps are consistent.The package version and its dependencies are correctly synchronized with the monorepo release.
Also applies to: 17-18
packages/hdwallet-keepkey-tcp/package.json (1)
3-3: LGTM! Version and dependency bumps are consistent.All version references are properly synchronized for the release.
Also applies to: 17-18
packages/hdwallet-native/package.json (1)
3-3: LGTM! Version and dependency bumps are consistent.The native wallet package version is properly aligned with the core dependency.
Also applies to: 20-20
packages/hdwallet-gridplus/package.json (1)
3-3: LGTM! Version and dependency bumps are consistent.The GridPlus wallet package is properly versioned and synchronized with core dependencies.
Also applies to: 23-23
packages/hdwallet-vultisig/package.json (1)
3-3: LGTM! Version and dependency bumps are consistent.The Vultisig wallet package version is properly synchronized with the hdwallet-core dependency update.
Also applies to: 20-20
packages/hdwallet-keepkey-chromeusb/package.json (1)
3-3: Consistent version bump to 1.62.28.The package version and all internal hdwallet dependencies are correctly updated. No issues.
Also applies to: 17-18
packages/hdwallet-walletconnectV2/package.json (1)
3-3: Consistent version bump to 1.62.28.The package version and dependency on @shapeshiftoss/hdwallet-core are correctly updated. No issues.
Also applies to: 18-18
packages/hdwallet-portis/package.json (1)
3-3: Consistent version bump to 1.62.28.The package version and dependency on @shapeshiftoss/hdwallet-core are correctly updated. No issues.
Also applies to: 19-19
packages/hdwallet-native-vault/package.json (1)
3-3: Consistent version bump to 1.62.28.The package version and dependency on @shapeshiftoss/hdwallet-native are correctly updated. No issues.
Also applies to: 18-18
examples/sandbox/package.json (1)
3-3: Comprehensive and consistent version bump to 1.62.28 across all hdwallet dependencies.All 18 internal hdwallet package dependencies are correctly updated from 1.62.27 to 1.62.28. Third-party dependencies remain unchanged. The aggregation of wallet packages in this sandbox is properly coordinated.
Also applies to: 15-32
packages/hdwallet-coinbase/package.json (1)
3-3: Consistent version bump to 1.62.28.The package version and dependency on @shapeshiftoss/hdwallet-core are correctly updated. No issues.
Also applies to: 18-18
packages/hdwallet-metamask-multichain/package.json (1)
3-3: Consistent version bump to 1.62.28.The package version and dependency on @shapeshiftoss/hdwallet-core are correctly updated. No issues.
Also applies to: 20-20
packages/hdwallet-walletconnect/package.json (1)
3-3: Consistent version bump to 1.62.28.The package version and dependency on @shapeshiftoss/hdwallet-core are correctly updated. WalletConnect peer dependencies remain unchanged. No issues.
Also applies to: 18-18
integration/package.json (1)
3-3: Consistent version bump and dependency alignment.The integration package and all internal
@shapeshiftoss/hdwallet-*dependencies are correctly bumped to version 1.62.28. Exact version pinning is appropriate for internal monorepo packages to ensure consistency across the workspace.Also applies to: 15-24
012a265 to
c4ee4c0
Compare
Does what it says on the box - test me with web fren
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.