Skip to content

feat: tron Ledger Transaction Data disabled error handling - #772

Merged
gomesalexandre merged 2 commits into
masterfrom
fix_thor_tron_ledger
Dec 18, 2025
Merged

feat: tron Ledger Transaction Data disabled error handling#772
gomesalexandre merged 2 commits into
masterfrom
fix_thor_tron_ledger

Conversation

@gomesalexandre

@gomesalexandre gomesalexandre commented Dec 17, 2025

Copy link
Copy Markdown
Contributor

Description

Does the thing similar to blind signing for other chains.

When Ledger users attempt to sign TRON transactions with memos (required for Thorchain/Mayachain swaps), the Ledger TRON app requires the "Transactions Data" setting to be enabled. This PR implements smart validation that checks the Ledger device configuration and only blocks when truly incompatible, following the same ChainAdapterError pattern used for blind signing errors.

Issue (if applicable)

N/A

Risk

High Risk PRs Require 2 approvals

What protocols, transaction types, wallets or contract interactions might be affected by this PR?

  • Wallets: Ledger hardware wallets with TRON support
  • Protocols: Thorchain, Mayachain (any swapper that uses memos on TRON)
  • Transaction Types: TRON transactions with raw_data.data field (memos)
  • Risk Level: Low - only affects error handling, doesn't modify transaction building logic

Testing

  • Ensure without Transaction data enabled, you see a toast error prompting you to enable it
  • THOR TRON Txs are happy with Tx data enabled
  • Ensure you do not get Sun.io TRON quotes with Ledger (payload is too big for the device, unfixable)

Engineering

  • ^

Operations

  • 🏁 My feature is behind a flag and doesn't require operations testing (yet)

  • ^

Screenshots (if applicable)

https://jam.dev/c/4182b062-be21-4945-82fd-0ed58d00190f

Summary by CodeRabbit

  • Bug Fixes

    • TRON signing now checks for transaction memos and prompts a clear error if the device's "Transactions Data" setting is disabled, preventing unintended signing failures.
  • Chores

    • Bumped package and release versions across libraries to 1.62.31 to align the monorepo.

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

@gomesalexandre
gomesalexandre requested a review from a team as a code owner December 17, 2025 10:15
@coderabbitai

coderabbitai Bot commented Dec 17, 2025

Copy link
Copy Markdown
📝 Walkthrough

Walkthrough

Adds a protobuf-based memo detection helper and memo-aware validation to TRON signing: when a memo is present, the Ledger app configuration is fetched and signing is blocked if Transactions Data (allowData) is disabled; other changes are version bumps across package.json files.

Changes

Cohort / File(s) Summary
TRON memo detection & signing validation
packages/hdwallet-ledger/src/tron.ts
Adds transactionHasMemo(rawDataHex) to detect protobuf field 10 (0x52) in raw transaction hex; updates tronSignTx to check for memos, fetch app configuration via getAppConfiguration, propagate config errors, and throw a LedgerTronAllowDataDisabled-style error if allowData is false before proceeding to sign.
Version bumps (many packages)
examples/sandbox/package.json, integration/package.json, lerna.json, packages/*/package.json (multiple: hdwallet-core, hdwallet-ledger, hdwallet-keepkey*, hdwallet-keplr, hdwallet-ledger-webhid, hdwallet-ledger-webusb, hdwallet-metamask-multichain, hdwallet-native, hdwallet-native-vault, hdwallet-phantom, hdwallet-portis, hdwallet-trezor*, hdwallet-vultisig, hdwallet-walletconnect*, ...)
Bump release version from 1.62.301.62.31 and update intra-repository dependency pins to 1.62.31 across many package.json files; no functional code changes.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • Focus areas requiring attention:
    • packages/hdwallet-ledger/src/tron.ts — verify protobuf field detection logic (0x52 for field 10), edge cases for rawDataHex parsing, and correct propagation/typing of getAppConfiguration errors.
    • Ensure the Ledger-specific error type/message matches existing consumers.
    • Quick pass over package.json bumps to confirm no unintended dependency changes.

Possibly related PRs

Suggested reviewers

  • NeOMakinG

Poem

🐰 I found a memo tucked in TRON's bright stream,
I sniffed the bytes and checked the app's beam.
If data's locked, I pause and politely plea—
Enable Transactions Data, then hop with me! ✨

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 33.33% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The pull request title 'feat: tron Ledger Transaction Data disabled error handling' accurately describes the main change: adding error handling for TRON Ledger transactions when Transaction Data is disabled. It clearly captures the primary enhancement, matching the code modification in tron.ts.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix_thor_tron_ledger

📜 Recent review details

Configuration used: Organization 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.

📥 Commits

Reviewing files that changed from the base of the PR and between a260964 and 48da89b.

📒 Files selected for processing (27)
  • examples/sandbox/package.json (2 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-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 (3)
  • packages/hdwallet-core/package.json
  • lerna.json
  • packages/hdwallet-walletconnectV2/package.json
🧰 Additional context used
🧠 Learnings (8)
📓 Common learnings
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.
📚 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-portis/package.json
  • packages/hdwallet-trezor-connect/package.json
  • packages/hdwallet-vultisig/package.json
  • packages/hdwallet-phantom/package.json
  • packages/hdwallet-keepkey-nodehid/package.json
  • packages/hdwallet-keepkey-chromeusb/package.json
  • packages/hdwallet-keplr/package.json
  • packages/hdwallet-coinbase/package.json
  • packages/hdwallet-ledger/package.json
  • packages/hdwallet-native/package.json
  • packages/hdwallet-ledger-webusb/package.json
  • packages/hdwallet-keepkey-tcp/package.json
  • packages/hdwallet-walletconnect/package.json
  • integration/package.json
  • packages/hdwallet-native-vault/package.json
  • packages/hdwallet-keepkey-nodewebusb/package.json
  • packages/hdwallet-keepkey-webusb/package.json
  • packages/hdwallet-gridplus/package.json
  • packages/hdwallet-trezor/package.json
  • packages/hdwallet-keepkey-electron/package.json
  • examples/sandbox/package.json
  • packages/hdwallet-keepkey/package.json
  • packages/hdwallet-metamask-multichain/package.json
  • packages/hdwallet-ledger-webhid/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-portis/package.json
  • packages/hdwallet-trezor-connect/package.json
  • packages/hdwallet-vultisig/package.json
  • packages/hdwallet-phantom/package.json
  • packages/hdwallet-keepkey-nodehid/package.json
  • packages/hdwallet-keepkey-chromeusb/package.json
  • packages/hdwallet-keplr/package.json
  • packages/hdwallet-coinbase/package.json
  • packages/hdwallet-ledger/package.json
  • packages/hdwallet-native/package.json
  • packages/hdwallet-ledger-webusb/package.json
  • packages/hdwallet-keepkey-tcp/package.json
  • packages/hdwallet-walletconnect/package.json
  • integration/package.json
  • packages/hdwallet-native-vault/package.json
  • packages/hdwallet-keepkey-nodewebusb/package.json
  • packages/hdwallet-keepkey-webusb/package.json
  • packages/hdwallet-gridplus/package.json
  • packages/hdwallet-trezor/package.json
  • packages/hdwallet-keepkey-electron/package.json
  • examples/sandbox/package.json
  • packages/hdwallet-keepkey/package.json
  • packages/hdwallet-metamask-multichain/package.json
  • packages/hdwallet-ledger-webhid/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-portis/package.json
  • packages/hdwallet-trezor-connect/package.json
  • packages/hdwallet-vultisig/package.json
  • packages/hdwallet-phantom/package.json
  • packages/hdwallet-keepkey-nodehid/package.json
  • packages/hdwallet-keepkey-chromeusb/package.json
  • packages/hdwallet-keplr/package.json
  • packages/hdwallet-coinbase/package.json
  • packages/hdwallet-ledger/package.json
  • packages/hdwallet-native/package.json
  • packages/hdwallet-ledger-webusb/package.json
  • packages/hdwallet-keepkey-tcp/package.json
  • packages/hdwallet-walletconnect/package.json
  • integration/package.json
  • packages/hdwallet-native-vault/package.json
  • packages/hdwallet-keepkey-nodewebusb/package.json
  • packages/hdwallet-keepkey-webusb/package.json
  • packages/hdwallet-gridplus/package.json
  • packages/hdwallet-trezor/package.json
  • packages/hdwallet-keepkey-electron/package.json
  • examples/sandbox/package.json
  • packages/hdwallet-keepkey/package.json
  • packages/hdwallet-metamask-multichain/package.json
  • packages/hdwallet-ledger-webhid/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-portis/package.json
  • packages/hdwallet-trezor-connect/package.json
  • packages/hdwallet-vultisig/package.json
  • packages/hdwallet-phantom/package.json
  • packages/hdwallet-keepkey-nodehid/package.json
  • packages/hdwallet-keepkey-chromeusb/package.json
  • packages/hdwallet-keplr/package.json
  • packages/hdwallet-coinbase/package.json
  • packages/hdwallet-ledger/package.json
  • packages/hdwallet-native/package.json
  • packages/hdwallet-ledger-webusb/package.json
  • packages/hdwallet-keepkey-tcp/package.json
  • packages/hdwallet-walletconnect/package.json
  • integration/package.json
  • packages/hdwallet-native-vault/package.json
  • packages/hdwallet-keepkey-nodewebusb/package.json
  • packages/hdwallet-keepkey-webusb/package.json
  • packages/hdwallet-gridplus/package.json
  • packages/hdwallet-trezor/package.json
  • packages/hdwallet-keepkey-electron/package.json
  • examples/sandbox/package.json
  • packages/hdwallet-keepkey/package.json
  • packages/hdwallet-metamask-multichain/package.json
  • packages/hdwallet-ledger-webhid/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-portis/package.json
  • packages/hdwallet-trezor-connect/package.json
  • packages/hdwallet-vultisig/package.json
  • packages/hdwallet-phantom/package.json
  • packages/hdwallet-keepkey-nodehid/package.json
  • packages/hdwallet-keepkey-chromeusb/package.json
  • packages/hdwallet-keplr/package.json
  • packages/hdwallet-coinbase/package.json
  • packages/hdwallet-ledger/package.json
  • packages/hdwallet-native/package.json
  • packages/hdwallet-ledger-webusb/package.json
  • packages/hdwallet-keepkey-tcp/package.json
  • packages/hdwallet-walletconnect/package.json
  • integration/package.json
  • packages/hdwallet-native-vault/package.json
  • packages/hdwallet-keepkey-nodewebusb/package.json
  • packages/hdwallet-keepkey-webusb/package.json
  • packages/hdwallet-gridplus/package.json
  • packages/hdwallet-trezor/package.json
  • packages/hdwallet-keepkey-electron/package.json
  • examples/sandbox/package.json
  • packages/hdwallet-keepkey/package.json
  • packages/hdwallet-metamask-multichain/package.json
  • packages/hdwallet-ledger-webhid/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.json
  • packages/hdwallet-trezor-connect/package.json
  • packages/hdwallet-vultisig/package.json
  • packages/hdwallet-keepkey-nodehid/package.json
  • packages/hdwallet-keepkey-chromeusb/package.json
  • packages/hdwallet-keplr/package.json
  • packages/hdwallet-coinbase/package.json
  • packages/hdwallet-ledger/package.json
  • packages/hdwallet-native/package.json
  • packages/hdwallet-ledger-webusb/package.json
  • packages/hdwallet-keepkey-tcp/package.json
  • integration/package.json
  • packages/hdwallet-native-vault/package.json
  • packages/hdwallet-keepkey-nodewebusb/package.json
  • packages/hdwallet-keepkey-webusb/package.json
  • packages/hdwallet-gridplus/package.json
  • packages/hdwallet-trezor/package.json
  • examples/sandbox/package.json
  • packages/hdwallet-keepkey/package.json
  • packages/hdwallet-metamask-multichain/package.json
  • packages/hdwallet-ledger-webhid/package.json
📚 Learning: 2025-12-12T11:20:00.907Z
Learnt from: gomesalexandre
Repo: shapeshift/hdwallet PR: 769
File: packages/hdwallet-walletconnectV2/src/walletconnectV2.ts:150-152
Timestamp: 2025-12-12T11:20:00.907Z
Learning: In the shapeshift/hdwallet monorepo, the `ethSupportsNetwork()` method in wallet implementations is a legacy/relic method that is no longer used. Chain support is determined by the `_supports*` flags (e.g., `_supportsMonad`, `_supportsPlasma`, `_supportsHyperEvm`) on the wallet classes, not by the `ethSupportsNetwork()` method.

Applied to files:

  • packages/hdwallet-coinbase/package.json
  • packages/hdwallet-trezor/package.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 (24)
packages/hdwallet-walletconnect/package.json (1)

3-3: LGTM! Version bump is consistent.

The package version and @shapeshiftoss/hdwallet-core dependency are both correctly bumped to 1.62.31, following the coordinated release pattern for this monorepo.

Also applies to: 18-18

packages/hdwallet-coinbase/package.json (1)

3-3: LGTM: Version bump aligned with monorepo release.

The package version and core dependency are consistently bumped to 1.62.31, which aligns with the monorepo's synchronization for this release.

Also applies to: 18-18

packages/hdwallet-gridplus/package.json (1)

3-3: LGTM! Version bump aligns with coordinated monorepo release.

The version bumps are consistent and correctly update both the package version and the hdwallet-core dependency to 1.62.31.

Also applies to: 23-23

packages/hdwallet-phantom/package.json (1)

3-3: LGTM! Version bump properly aligned.

The package version and core dependency are both correctly updated to 1.62.31.

Also applies to: 18-18

packages/hdwallet-portis/package.json (1)

3-3: LGTM! Version bump properly aligned.

The package version and core dependency are both correctly updated to 1.62.31.

Also applies to: 19-19

packages/hdwallet-vultisig/package.json (1)

3-3: LGTM! Version bump properly aligned.

The package version and core dependency are both correctly updated to 1.62.31.

Also applies to: 20-20

packages/hdwallet-metamask-multichain/package.json (1)

3-3: LGTM! Version bump properly aligned.

The package version and core dependency are both correctly updated to 1.62.31.

Also applies to: 20-20

examples/sandbox/package.json (1)

3-3: LGTM! Comprehensive version alignment.

The sandbox package and all 18 hdwallet dependencies are correctly synchronized to version 1.62.31.

Also applies to: 15-32

packages/hdwallet-keepkey/package.json (1)

3-3: LGTM! Version bump properly aligned.

The package version and core dependency are both correctly updated to 1.62.31.

Also applies to: 24-24

packages/hdwallet-keplr/package.json (1)

3-3: LGTM! Version bump properly aligned.

The package version and core dependency are both correctly updated to 1.62.31.

Also applies to: 20-20

packages/hdwallet-keepkey-tcp/package.json (1)

3-3: LGTM! Version bump properly aligned.

The package version and both dependencies (hdwallet-core and hdwallet-keepkey) are correctly updated to 1.62.31.

Also applies to: 17-18

packages/hdwallet-keepkey-nodewebusb/package.json (1)

3-3: LGTM! Version bump is consistent across package and dependencies.

The version bump to 1.62.31 aligns correctly with the updated dependency versions for hdwallet-core and hdwallet-keepkey.

Also applies to: 17-18

packages/hdwallet-keepkey-electron/package.json (1)

3-3: LGTM! Version bump is consistent.

The version bump to 1.62.31 correctly aligns with the updated hdwallet-keepkey dependency.

Also applies to: 17-17

packages/hdwallet-trezor-connect/package.json (1)

3-3: LGTM! Version bump is consistent.

The version bump to 1.62.31 correctly aligns with the updated hdwallet-core and hdwallet-trezor dependencies.

Also applies to: 17-18

packages/hdwallet-native/package.json (1)

3-3: LGTM! Version bump is consistent.

The version bump to 1.62.31 correctly aligns with the updated hdwallet-core dependency.

Also applies to: 20-20

packages/hdwallet-trezor/package.json (1)

3-3: LGTM! Version bump is consistent.

The version bump to 1.62.31 correctly aligns with the updated hdwallet-core dependency.

Also applies to: 20-20

packages/hdwallet-ledger/package.json (1)

3-3: LGTM! Version bump is consistent.

The version bump to 1.62.31 correctly aligns with the updated hdwallet-core dependency. This package is central to the TRON Ledger error handling feature introduced in this PR.

Also applies to: 31-31

packages/hdwallet-native-vault/package.json (1)

3-3: LGTM! Version bump is consistent.

The version bump to 1.62.31 correctly aligns with the updated hdwallet-native dependency.

Also applies to: 18-18

packages/hdwallet-keepkey-nodehid/package.json (1)

3-3: LGTM! Version bump is consistent.

The version bump to 1.62.31 correctly aligns with the updated hdwallet-keepkey dependency.

Also applies to: 17-17

integration/package.json (1)

3-24: LGTM! Version bump and dependency updates are consistent.

The package version and all internal @shapeshiftoss dependencies have been synchronized to 1.62.31, following the monorepo release workflow.

packages/hdwallet-keepkey-webusb/package.json (1)

3-3: LGTM! Version bump aligns with dependency updates.

Package version and internal dependencies synchronized to 1.62.31.

Also applies to: 17-18

packages/hdwallet-ledger-webhid/package.json (1)

3-3: LGTM! Version bump and internal dependencies synchronized.

Package version and @shapeshiftoss dependencies updated to 1.62.31.

Also applies to: 21-22

packages/hdwallet-ledger-webusb/package.json (1)

3-3: LGTM! Version bump consistent with internal dependency updates.

Package version and @shapeshiftoss dependencies aligned at 1.62.31.

Also applies to: 23-24

packages/hdwallet-keepkey-chromeusb/package.json (1)

3-3: LGTM! Version bump and dependencies synchronized.

Package version and internal dependencies updated to 1.62.31.

Also applies to: 17-18


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.

Thorchain and Mayachain swaps require memos for routing, which are stored
in the TRON transaction's raw_data.data field. The Ledger TRON app has a
user-configurable 'allowData' setting that controls whether transactions
with this field can be signed.

This fix:
- Detects if a TRON transaction contains a memo by checking for protobuf
  field 10 (0x52 byte marker)
- Queries the Ledger device's TRON app configuration before signing
- Validates that 'allowData' is enabled if memo is present
- Throws clear, actionable error if disabled with instructions to enable
- Logs configuration details for debugging

This prevents the cryptic 0x6a8b error and gives users clear instructions
to enable the setting in their Ledger TRON app.

Error message format:
  'TRON transactions with memos require the "Allow data" setting to be
   enabled in your Ledger TRON app. To enable: Open the TRON app on your
   Ledger device → Go to Settings → Enable "Allow data" → Try again.'

Fixes: Thorchain/Mayachain TRON swaps failing on Ledger devices
Allows: Users with allowData=true to swap normally
Blocks: Only when truly incompatible (allowData=false + memo present)

@coderabbitai coderabbitai 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.

Actionable comments posted: 1

🧹 Nitpick comments (2)
packages/hdwallet-ledger/src/tron.ts (2)

15-35: Consider the trade-offs of the byte-search approach for memo detection.

The naive search for 0x52 could match this byte in other contexts (addresses, string data, length prefixes) causing false positives. However, this approach minimizes false negatives, which would result in the cryptic 0x6a8b error that this PR aims to prevent.

The current implementation is acceptable given the trade-off, but could be improved in the future by:

  • Validating that 0x52 appears at a valid protobuf field boundary
  • Checking that the field has non-zero length content

50-52: Consider using a custom error class instead of property assignment for consistency.

The pattern (error as any).name = "LedgerTronAllowDataDisabled" works but deviates from the codebase's established approach. The core package defines HDWalletError with custom error subclasses that set the name in the constructor. A similar pattern would be more consistent:

class LedgerTronAllowDataDisabled extends Error {
  constructor(message: string) {
    super(message);
    this.name = "LedgerTronAllowDataDisabled";
  }
}

This aligns with the error handling patterns used elsewhere in the codebase and provides better type safety.

📜 Review details

Configuration used: Organization 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.

📥 Commits

Reviewing files that changed from the base of the PR and between 25e93f9 and 6e4ca9b.

📒 Files selected for processing (28)
  • examples/sandbox/package.json (2 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-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-ledger/src/tron.ts (1 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)
🧰 Additional context used
🧠 Learnings (13)
📓 Common learnings
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.
Learnt from: gomesalexandre
Repo: shapeshift/hdwallet PR: 737
File: packages/hdwallet-trezor/src/ethereum.ts:122-138
Timestamp: 2025-11-20T11:04:44.808Z
Learning: In packages/hdwallet-trezor/src/ethereum.ts, the ethSignTypedData function correctly returns the signature from res.payload.signature without adding a "0x" prefix. This works correctly in practice and has been tested, despite appearing inconsistent with ethSignMessage which does add the prefix. The Trezor Connect ethereumSignTypedData response already provides the signature in the correct format for consumption.
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.
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.
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.
📚 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-portis/package.json
  • packages/hdwallet-coinbase/package.json
  • packages/hdwallet-trezor-connect/package.json
  • packages/hdwallet-keplr/package.json
  • packages/hdwallet-vultisig/package.json
  • packages/hdwallet-core/package.json
  • packages/hdwallet-walletconnect/package.json
  • packages/hdwallet-gridplus/package.json
  • packages/hdwallet-keepkey-webusb/package.json
  • packages/hdwallet-metamask-multichain/package.json
  • packages/hdwallet-keepkey/package.json
  • packages/hdwallet-walletconnectV2/package.json
  • packages/hdwallet-keepkey-nodehid/package.json
  • packages/hdwallet-native/package.json
  • packages/hdwallet-trezor/package.json
  • packages/hdwallet-phantom/package.json
  • packages/hdwallet-ledger-webhid/package.json
  • packages/hdwallet-keepkey-tcp/package.json
  • packages/hdwallet-keepkey-chromeusb/package.json
  • lerna.json
  • integration/package.json
  • packages/hdwallet-ledger/package.json
  • packages/hdwallet-native-vault/package.json
  • packages/hdwallet-keepkey-nodewebusb/package.json
  • packages/hdwallet-ledger-webusb/package.json
  • packages/hdwallet-keepkey-electron/package.json
  • examples/sandbox/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-portis/package.json
  • packages/hdwallet-coinbase/package.json
  • packages/hdwallet-trezor-connect/package.json
  • packages/hdwallet-keplr/package.json
  • packages/hdwallet-vultisig/package.json
  • packages/hdwallet-core/package.json
  • packages/hdwallet-walletconnect/package.json
  • packages/hdwallet-gridplus/package.json
  • packages/hdwallet-keepkey-webusb/package.json
  • packages/hdwallet-metamask-multichain/package.json
  • packages/hdwallet-keepkey/package.json
  • packages/hdwallet-walletconnectV2/package.json
  • packages/hdwallet-keepkey-nodehid/package.json
  • packages/hdwallet-native/package.json
  • packages/hdwallet-trezor/package.json
  • packages/hdwallet-phantom/package.json
  • packages/hdwallet-ledger-webhid/package.json
  • packages/hdwallet-keepkey-tcp/package.json
  • packages/hdwallet-keepkey-chromeusb/package.json
  • lerna.json
  • integration/package.json
  • packages/hdwallet-ledger/package.json
  • packages/hdwallet-native-vault/package.json
  • packages/hdwallet-keepkey-nodewebusb/package.json
  • packages/hdwallet-ledger-webusb/package.json
  • packages/hdwallet-keepkey-electron/package.json
  • examples/sandbox/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-portis/package.json
  • packages/hdwallet-coinbase/package.json
  • packages/hdwallet-trezor-connect/package.json
  • packages/hdwallet-keplr/package.json
  • packages/hdwallet-vultisig/package.json
  • packages/hdwallet-core/package.json
  • packages/hdwallet-walletconnect/package.json
  • packages/hdwallet-gridplus/package.json
  • packages/hdwallet-keepkey-webusb/package.json
  • packages/hdwallet-metamask-multichain/package.json
  • packages/hdwallet-keepkey/package.json
  • packages/hdwallet-walletconnectV2/package.json
  • packages/hdwallet-keepkey-nodehid/package.json
  • packages/hdwallet-native/package.json
  • packages/hdwallet-trezor/package.json
  • packages/hdwallet-phantom/package.json
  • packages/hdwallet-ledger-webhid/package.json
  • packages/hdwallet-keepkey-tcp/package.json
  • packages/hdwallet-keepkey-chromeusb/package.json
  • lerna.json
  • integration/package.json
  • packages/hdwallet-ledger/package.json
  • packages/hdwallet-native-vault/package.json
  • packages/hdwallet-keepkey-nodewebusb/package.json
  • packages/hdwallet-ledger-webusb/package.json
  • packages/hdwallet-keepkey-electron/package.json
  • examples/sandbox/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-portis/package.json
  • packages/hdwallet-coinbase/package.json
  • packages/hdwallet-trezor-connect/package.json
  • packages/hdwallet-keplr/package.json
  • packages/hdwallet-vultisig/package.json
  • packages/hdwallet-core/package.json
  • packages/hdwallet-walletconnect/package.json
  • packages/hdwallet-gridplus/package.json
  • packages/hdwallet-keepkey-webusb/package.json
  • packages/hdwallet-metamask-multichain/package.json
  • packages/hdwallet-keepkey/package.json
  • packages/hdwallet-walletconnectV2/package.json
  • packages/hdwallet-keepkey-nodehid/package.json
  • packages/hdwallet-native/package.json
  • packages/hdwallet-trezor/package.json
  • packages/hdwallet-phantom/package.json
  • packages/hdwallet-ledger-webhid/package.json
  • packages/hdwallet-keepkey-tcp/package.json
  • packages/hdwallet-keepkey-chromeusb/package.json
  • integration/package.json
  • packages/hdwallet-ledger/package.json
  • packages/hdwallet-native-vault/package.json
  • packages/hdwallet-keepkey-nodewebusb/package.json
  • packages/hdwallet-ledger-webusb/package.json
  • packages/hdwallet-keepkey-electron/package.json
  • examples/sandbox/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-portis/package.json
  • packages/hdwallet-coinbase/package.json
  • packages/hdwallet-trezor-connect/package.json
  • packages/hdwallet-keplr/package.json
  • packages/hdwallet-ledger/src/tron.ts
  • packages/hdwallet-vultisig/package.json
  • packages/hdwallet-core/package.json
  • packages/hdwallet-walletconnect/package.json
  • packages/hdwallet-gridplus/package.json
  • packages/hdwallet-keepkey-webusb/package.json
  • packages/hdwallet-metamask-multichain/package.json
  • packages/hdwallet-keepkey/package.json
  • packages/hdwallet-walletconnectV2/package.json
  • packages/hdwallet-keepkey-nodehid/package.json
  • packages/hdwallet-native/package.json
  • packages/hdwallet-trezor/package.json
  • packages/hdwallet-phantom/package.json
  • packages/hdwallet-ledger-webhid/package.json
  • packages/hdwallet-keepkey-tcp/package.json
  • packages/hdwallet-keepkey-chromeusb/package.json
  • integration/package.json
  • packages/hdwallet-ledger/package.json
  • packages/hdwallet-native-vault/package.json
  • packages/hdwallet-keepkey-nodewebusb/package.json
  • packages/hdwallet-ledger-webusb/package.json
  • packages/hdwallet-keepkey-electron/package.json
  • examples/sandbox/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.json
  • packages/hdwallet-coinbase/package.json
  • packages/hdwallet-trezor-connect/package.json
  • packages/hdwallet-keplr/package.json
  • packages/hdwallet-vultisig/package.json
  • packages/hdwallet-walletconnect/package.json
  • packages/hdwallet-gridplus/package.json
  • packages/hdwallet-keepkey-webusb/package.json
  • packages/hdwallet-metamask-multichain/package.json
  • packages/hdwallet-keepkey/package.json
  • packages/hdwallet-walletconnectV2/package.json
  • packages/hdwallet-keepkey-nodehid/package.json
  • packages/hdwallet-native/package.json
  • packages/hdwallet-trezor/package.json
  • packages/hdwallet-phantom/package.json
  • packages/hdwallet-ledger-webhid/package.json
  • packages/hdwallet-keepkey-tcp/package.json
  • packages/hdwallet-keepkey-chromeusb/package.json
  • integration/package.json
  • packages/hdwallet-ledger/package.json
  • packages/hdwallet-native-vault/package.json
  • packages/hdwallet-keepkey-nodewebusb/package.json
  • packages/hdwallet-ledger-webusb/package.json
  • packages/hdwallet-keepkey-electron/package.json
  • examples/sandbox/package.json
📚 Learning: 2025-11-20T11:04:44.808Z
Learnt from: gomesalexandre
Repo: shapeshift/hdwallet PR: 737
File: packages/hdwallet-trezor/src/ethereum.ts:122-138
Timestamp: 2025-11-20T11:04:44.808Z
Learning: In packages/hdwallet-trezor/src/ethereum.ts, the ethSignTypedData function correctly returns the signature from res.payload.signature without adding a "0x" prefix. This works correctly in practice and has been tested, despite appearing inconsistent with ethSignMessage which does add the prefix. The Trezor Connect ethereumSignTypedData response already provides the signature in the correct format for consumption.

Applied to files:

  • packages/hdwallet-ledger/src/tron.ts
📚 Learning: 2025-12-12T11:19:53.179Z
Learnt from: gomesalexandre
Repo: shapeshift/hdwallet PR: 769
File: packages/hdwallet-ledger/src/ledger.ts:403-405
Timestamp: 2025-12-12T11:19:53.179Z
Learning: In packages/hdwallet-ledger/src/ethereum.ts, the ethSupportsNetwork function is a legacy/unused function that only returns true for chainId === 1. The Ledger ETH module does not call ethSupportsNetwork to validate chain support during signing operations - it accepts any chainId passed in the ETHSignTx message directly, so chain support flags can be enabled without needing to update ethSupportsNetwork.

Applied to files:

  • packages/hdwallet-ledger/src/tron.ts
  • packages/hdwallet-gridplus/package.json
📚 Learning: 2025-12-12T11:19:53.263Z
Learnt from: gomesalexandre
Repo: shapeshift/hdwallet PR: 769
File: packages/hdwallet-walletconnectV2/src/walletconnectV2.ts:150-152
Timestamp: 2025-12-12T11:19:53.263Z
Learning: In the shapeshift/hdwallet monorepo, remove reliance on ethSupportsNetwork() across wallet implementations. This legacy method is no longer used to determine chain support. Instead, rely on the wallet class flags like _supportsMonad, _supportsPlasma, _supportsHyperEvm. Review all wallet implementations for ethSupportsNetwork() usage and migrate checks to the corresponding _supports* flags, updating tests and any affected logic accordingly.

Applied to files:

  • packages/hdwallet-ledger/src/tron.ts
📚 Learning: 2025-10-15T23:22:26.842Z
Learnt from: gomesalexandre
Repo: shapeshift/hdwallet PR: 731
File: packages/hdwallet-gridplus/src/thormaya.ts:99-105
Timestamp: 2025-10-15T23:22:26.842Z
Learning: In packages/hdwallet-gridplus/src/thormaya.ts, the GridPlus SDK (gridplus-sdk) automatically pads the r and s signature components to 32 bytes, so explicit padding in the code may be redundant but is not required. The thorchainSignTx implementation works without explicit padding because the SDK handles it.

Applied to files:

  • packages/hdwallet-gridplus/package.json
📚 Learning: 2025-12-12T11:20:00.907Z
Learnt from: gomesalexandre
Repo: shapeshift/hdwallet PR: 769
File: packages/hdwallet-walletconnectV2/src/walletconnectV2.ts:150-152
Timestamp: 2025-12-12T11:20:00.907Z
Learning: In the shapeshift/hdwallet monorepo, the `ethSupportsNetwork()` method in wallet implementations is a legacy/relic method that is no longer used. Chain support is determined by the `_supports*` flags (e.g., `_supportsMonad`, `_supportsPlasma`, `_supportsHyperEvm`) on the wallet classes, not by the `ethSupportsNetwork()` method.

Applied to files:

  • packages/hdwallet-metamask-multichain/package.json
  • packages/hdwallet-trezor/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
🧬 Code graph analysis (1)
packages/hdwallet-ledger/src/tron.ts (3)
packages/hdwallet-ledger/src/ledger.ts (1)
  • tronSignTx (669-672)
packages/hdwallet-core/src/tron.ts (2)
  • TronSignTx (10-14)
  • TronSignedTx (16-19)
packages/hdwallet-ledger/src/utils.ts (1)
  • handleError (8-58)
⏰ 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 (27)
lerna.json (1)

3-3: LGTM! Version bump and formatting improvement.

The version update to the prerelease tag and the multi-line formatting of ignoreChanges are appropriate for this feature branch.

Also applies to: 11-16

packages/hdwallet-keepkey/package.json (1)

3-3: LGTM! Standard version and dependency updates.

The version bump and caret-ranged dependency align with the monorepo's release workflow.

Also applies to: 24-24

packages/hdwallet-portis/package.json (1)

3-3: LGTM! Standard version and dependency updates.

Consistent with the monorepo-wide version bump pattern.

Also applies to: 19-19

packages/hdwallet-core/package.json (1)

3-3: LGTM! Core package version bump.

The version update aligns with the monorepo release workflow.

packages/hdwallet-coinbase/package.json (1)

3-3: LGTM! Version bump and dependency range update.

The addition of the caret range for hdwallet-core is consistent with the monorepo's dependency management pattern.

Also applies to: 18-18

packages/hdwallet-trezor-connect/package.json (1)

3-3: LGTM! Version and dependency updates.

The version bump and caret-ranged dependencies are consistent with the monorepo pattern.

Also applies to: 17-18

packages/hdwallet-keepkey-nodewebusb/package.json (1)

3-3: LGTM! Version and dependency updates.

The version bump and dependency range updates complete the consistent pattern across the monorepo.

Also applies to: 17-18

packages/hdwallet-keepkey-electron/package.json (1)

3-3: Version bump looks good.

The version and dependency updates are consistent with the prerelease tag for the TRON Ledger transaction data handling feature.

Also applies to: 17-17

packages/hdwallet-trezor/package.json (1)

3-3: Version bump looks good.

The version and dependency updates are consistent with the prerelease tag for the TRON Ledger transaction data handling feature.

Also applies to: 20-20

packages/hdwallet-ledger/package.json (1)

3-3: Version bump looks good.

The version and dependency updates are consistent with the prerelease tag for the TRON Ledger transaction data handling feature.

Also applies to: 31-31

packages/hdwallet-native/package.json (1)

3-3: Version bump looks good.

The version and dependency updates are consistent with the prerelease tag for the TRON Ledger transaction data handling feature.

Also applies to: 20-20

packages/hdwallet-keepkey-nodehid/package.json (1)

3-3: Version bump looks good.

The version and dependency updates are consistent with the prerelease tag for the TRON Ledger transaction data handling feature.

Also applies to: 17-17

packages/hdwallet-walletconnect/package.json (1)

3-3: Version bump looks good.

The version and dependency updates are consistent with the prerelease tag for the TRON Ledger transaction data handling feature.

Also applies to: 18-18

packages/hdwallet-phantom/package.json (1)

3-3: Version bump looks good.

The version and dependency updates are consistent with the prerelease tag for the TRON Ledger transaction data handling feature.

Also applies to: 18-18

packages/hdwallet-metamask-multichain/package.json (1)

3-3: Version bump looks good.

The version and dependency updates are consistent with the prerelease tag for the TRON Ledger transaction data handling feature.

Also applies to: 20-20

packages/hdwallet-gridplus/package.json (1)

3-3: Version bump looks good.

The version and dependency updates are consistent with the PR's monorepo-wide uplift to 1.62.31-thor-tron-ledger.5.

Also applies to: 23-23

packages/hdwallet-ledger-webhid/package.json (1)

3-3: Version bump looks good.

The version and dependency updates are consistent with the PR's monorepo-wide uplift to 1.62.31-thor-tron-ledger.5.

Also applies to: 21-22

packages/hdwallet-vultisig/package.json (1)

3-3: Version bump looks good.

The version and dependency updates are consistent with the PR's monorepo-wide uplift to 1.62.31-thor-tron-ledger.5.

Also applies to: 20-20

packages/hdwallet-native-vault/package.json (1)

3-3: Version bump looks good.

The version and dependency updates are consistent with the PR's monorepo-wide uplift to 1.62.31-thor-tron-ledger.5.

Also applies to: 18-18

packages/hdwallet-ledger-webusb/package.json (1)

3-3: Version bump looks good.

The version and dependency updates are consistent with the PR's monorepo-wide uplift to 1.62.31-thor-tron-ledger.5.

Also applies to: 23-24

packages/hdwallet-walletconnectV2/package.json (1)

3-3: Version bump looks good.

The version and dependency updates are consistent with the PR's monorepo-wide uplift to 1.62.31-thor-tron-ledger.5.

Also applies to: 18-18

packages/hdwallet-keplr/package.json (1)

3-3: Version bump looks good.

The version and dependency updates are consistent with the PR's monorepo-wide uplift to 1.62.31-thor-tron-ledger.5.

Also applies to: 20-20

packages/hdwallet-keepkey-chromeusb/package.json (1)

3-3: Version bump looks good.

The version and dependency updates are consistent with the PR's monorepo-wide uplift to 1.62.31-thor-tron-ledger.5.

Also applies to: 17-18

packages/hdwallet-keepkey-tcp/package.json (1)

3-3: LGTM! Standard version bump to prerelease.

The version and dependency updates are consistent with the monorepo's coordinated release workflow.

Also applies to: 17-18

packages/hdwallet-keepkey-webusb/package.json (1)

3-3: LGTM! Consistent version update.

The version and dependency changes align with the coordinated prerelease across the monorepo.

Also applies to: 17-18

integration/package.json (1)

3-3: LGTM! Integration package dependencies updated.

All hdwallet dependencies are consistently updated to the prerelease version, ensuring the integration tests use the correct package versions.

Also applies to: 15-24

examples/sandbox/package.json (1)

3-3: LGTM! Sandbox dependencies comprehensively updated.

All 18 hdwallet dependencies are consistently updated to the prerelease version, ensuring the sandbox example reflects the latest changes across all wallet implementations.

Also applies to: 15-32

Comment thread packages/hdwallet-ledger/src/tron.ts
@gomesalexandre
gomesalexandre marked this pull request as draft December 17, 2025 10:25
Comment thread packages/hdwallet-ledger/src/tron.ts
@gomesalexandre
gomesalexandre marked this pull request as ready for review December 17, 2025 10:39
NeOMakinG
NeOMakinG previously approved these changes Dec 18, 2025

@NeOMakinG NeOMakinG left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@gomesalexandre
gomesalexandre merged commit a462b56 into master Dec 18, 2025
3 checks passed
@gomesalexandre
gomesalexandre deleted the fix_thor_tron_ledger branch December 18, 2025 12:12
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.

2 participants