feat: tron Ledger Transaction Data disabled error handling - #772
Conversation
📝 WalkthroughWalkthroughAdds 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
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes
Possibly related PRs
Suggested reviewers
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: Organization UI Review profile: CHILL Plan: Pro Disabled knowledge base sources:
📒 Files selected for processing (27)
✅ Files skipped from review due to trivial changes (3)
🧰 Additional context used🧠 Learnings (8)📓 Common learnings📚 Learning: 2025-08-07T15:27:03.179ZApplied to files:
📚 Learning: 2025-08-07T15:23:54.858ZApplied to files:
📚 Learning: 2025-08-07T15:24:19.530ZApplied to files:
📚 Learning: 2025-12-09T13:48:55.139ZApplied to files:
📚 Learning: 2025-08-07T15:47:29.207ZApplied to files:
📚 Learning: 2025-08-07T15:47:26.835ZApplied to files:
📚 Learning: 2025-12-12T11:20:00.907ZApplied to files:
⏰ 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)
🔇 Additional comments (24)
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 |
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)
6e4ca9b to
a260964
Compare
There was a problem hiding this comment.
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
0x52could 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 cryptic0x6a8berror 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
0x52appears 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 definesHDWalletErrorwith 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.
📒 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.jsonpackages/hdwallet-coinbase/package.jsonpackages/hdwallet-trezor-connect/package.jsonpackages/hdwallet-keplr/package.jsonpackages/hdwallet-vultisig/package.jsonpackages/hdwallet-core/package.jsonpackages/hdwallet-walletconnect/package.jsonpackages/hdwallet-gridplus/package.jsonpackages/hdwallet-keepkey-webusb/package.jsonpackages/hdwallet-metamask-multichain/package.jsonpackages/hdwallet-keepkey/package.jsonpackages/hdwallet-walletconnectV2/package.jsonpackages/hdwallet-keepkey-nodehid/package.jsonpackages/hdwallet-native/package.jsonpackages/hdwallet-trezor/package.jsonpackages/hdwallet-phantom/package.jsonpackages/hdwallet-ledger-webhid/package.jsonpackages/hdwallet-keepkey-tcp/package.jsonpackages/hdwallet-keepkey-chromeusb/package.jsonlerna.jsonintegration/package.jsonpackages/hdwallet-ledger/package.jsonpackages/hdwallet-native-vault/package.jsonpackages/hdwallet-keepkey-nodewebusb/package.jsonpackages/hdwallet-ledger-webusb/package.jsonpackages/hdwallet-keepkey-electron/package.jsonexamples/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.jsonpackages/hdwallet-coinbase/package.jsonpackages/hdwallet-trezor-connect/package.jsonpackages/hdwallet-keplr/package.jsonpackages/hdwallet-vultisig/package.jsonpackages/hdwallet-core/package.jsonpackages/hdwallet-walletconnect/package.jsonpackages/hdwallet-gridplus/package.jsonpackages/hdwallet-keepkey-webusb/package.jsonpackages/hdwallet-metamask-multichain/package.jsonpackages/hdwallet-keepkey/package.jsonpackages/hdwallet-walletconnectV2/package.jsonpackages/hdwallet-keepkey-nodehid/package.jsonpackages/hdwallet-native/package.jsonpackages/hdwallet-trezor/package.jsonpackages/hdwallet-phantom/package.jsonpackages/hdwallet-ledger-webhid/package.jsonpackages/hdwallet-keepkey-tcp/package.jsonpackages/hdwallet-keepkey-chromeusb/package.jsonlerna.jsonintegration/package.jsonpackages/hdwallet-ledger/package.jsonpackages/hdwallet-native-vault/package.jsonpackages/hdwallet-keepkey-nodewebusb/package.jsonpackages/hdwallet-ledger-webusb/package.jsonpackages/hdwallet-keepkey-electron/package.jsonexamples/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.jsonpackages/hdwallet-coinbase/package.jsonpackages/hdwallet-trezor-connect/package.jsonpackages/hdwallet-keplr/package.jsonpackages/hdwallet-vultisig/package.jsonpackages/hdwallet-core/package.jsonpackages/hdwallet-walletconnect/package.jsonpackages/hdwallet-gridplus/package.jsonpackages/hdwallet-keepkey-webusb/package.jsonpackages/hdwallet-metamask-multichain/package.jsonpackages/hdwallet-keepkey/package.jsonpackages/hdwallet-walletconnectV2/package.jsonpackages/hdwallet-keepkey-nodehid/package.jsonpackages/hdwallet-native/package.jsonpackages/hdwallet-trezor/package.jsonpackages/hdwallet-phantom/package.jsonpackages/hdwallet-ledger-webhid/package.jsonpackages/hdwallet-keepkey-tcp/package.jsonpackages/hdwallet-keepkey-chromeusb/package.jsonlerna.jsonintegration/package.jsonpackages/hdwallet-ledger/package.jsonpackages/hdwallet-native-vault/package.jsonpackages/hdwallet-keepkey-nodewebusb/package.jsonpackages/hdwallet-ledger-webusb/package.jsonpackages/hdwallet-keepkey-electron/package.jsonexamples/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.jsonpackages/hdwallet-coinbase/package.jsonpackages/hdwallet-trezor-connect/package.jsonpackages/hdwallet-keplr/package.jsonpackages/hdwallet-vultisig/package.jsonpackages/hdwallet-core/package.jsonpackages/hdwallet-walletconnect/package.jsonpackages/hdwallet-gridplus/package.jsonpackages/hdwallet-keepkey-webusb/package.jsonpackages/hdwallet-metamask-multichain/package.jsonpackages/hdwallet-keepkey/package.jsonpackages/hdwallet-walletconnectV2/package.jsonpackages/hdwallet-keepkey-nodehid/package.jsonpackages/hdwallet-native/package.jsonpackages/hdwallet-trezor/package.jsonpackages/hdwallet-phantom/package.jsonpackages/hdwallet-ledger-webhid/package.jsonpackages/hdwallet-keepkey-tcp/package.jsonpackages/hdwallet-keepkey-chromeusb/package.jsonintegration/package.jsonpackages/hdwallet-ledger/package.jsonpackages/hdwallet-native-vault/package.jsonpackages/hdwallet-keepkey-nodewebusb/package.jsonpackages/hdwallet-ledger-webusb/package.jsonpackages/hdwallet-keepkey-electron/package.jsonexamples/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.jsonpackages/hdwallet-coinbase/package.jsonpackages/hdwallet-trezor-connect/package.jsonpackages/hdwallet-keplr/package.jsonpackages/hdwallet-ledger/src/tron.tspackages/hdwallet-vultisig/package.jsonpackages/hdwallet-core/package.jsonpackages/hdwallet-walletconnect/package.jsonpackages/hdwallet-gridplus/package.jsonpackages/hdwallet-keepkey-webusb/package.jsonpackages/hdwallet-metamask-multichain/package.jsonpackages/hdwallet-keepkey/package.jsonpackages/hdwallet-walletconnectV2/package.jsonpackages/hdwallet-keepkey-nodehid/package.jsonpackages/hdwallet-native/package.jsonpackages/hdwallet-trezor/package.jsonpackages/hdwallet-phantom/package.jsonpackages/hdwallet-ledger-webhid/package.jsonpackages/hdwallet-keepkey-tcp/package.jsonpackages/hdwallet-keepkey-chromeusb/package.jsonintegration/package.jsonpackages/hdwallet-ledger/package.jsonpackages/hdwallet-native-vault/package.jsonpackages/hdwallet-keepkey-nodewebusb/package.jsonpackages/hdwallet-ledger-webusb/package.jsonpackages/hdwallet-keepkey-electron/package.jsonexamples/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.jsonpackages/hdwallet-coinbase/package.jsonpackages/hdwallet-trezor-connect/package.jsonpackages/hdwallet-keplr/package.jsonpackages/hdwallet-vultisig/package.jsonpackages/hdwallet-walletconnect/package.jsonpackages/hdwallet-gridplus/package.jsonpackages/hdwallet-keepkey-webusb/package.jsonpackages/hdwallet-metamask-multichain/package.jsonpackages/hdwallet-keepkey/package.jsonpackages/hdwallet-walletconnectV2/package.jsonpackages/hdwallet-keepkey-nodehid/package.jsonpackages/hdwallet-native/package.jsonpackages/hdwallet-trezor/package.jsonpackages/hdwallet-phantom/package.jsonpackages/hdwallet-ledger-webhid/package.jsonpackages/hdwallet-keepkey-tcp/package.jsonpackages/hdwallet-keepkey-chromeusb/package.jsonintegration/package.jsonpackages/hdwallet-ledger/package.jsonpackages/hdwallet-native-vault/package.jsonpackages/hdwallet-keepkey-nodewebusb/package.jsonpackages/hdwallet-ledger-webusb/package.jsonpackages/hdwallet-keepkey-electron/package.jsonexamples/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.tspackages/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.jsonpackages/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
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
raw_data.datafield (memos)Testing
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
Chores
✏️ Tip: You can customize this high-level summary in your review settings.