fix(sdk-core): disable assertSignableConsistency call pending chain-ID fix (WCI-1398) - #9600
Merged
Merged
Conversation
Contributor
Marzooqa
force-pushed
the
revert-wci-1398-assert-call
branch
from
August 31, 2026 07:36
836d047 to
c67dbe1
Compare
4 tasks
5 tasks
Contributor
|
@claude Please do a thorough review of this PR. Focus especially on:
Please call out concrete issues clearly and separate them by severity if possible. |
Contributor
|
Claude finished @lokesh-bitgo's task —— View job PR Review: Disable assertSignableConsistency CallReview Tasks:
Review SummaryThis PR removes 8 lines from 🟢 LOW SEVERITY ISSUES1. Code Quality: Unused Import
2. Documentation Gap
🟡 MEDIUM SEVERITY ISSUES3. Test Coverage Alignment
4. Temporary Nature Clarity
🟢 POSITIVE ASPECTS1. Root Cause Analysis is Sound
2. Surgical Fix
3. Affected Scope is Limited
🔍 EDGE CASES & POTENTIAL IMPACTS1. Security Regression Risk
2. Chain Coverage
🔧 IMPLEMENTATION CORRECTNESSThe changes correctly address the stated problem:
✅ RECOMMENDATIONS
Overall Assessment: ✅ APPROVEDThis is a well-reasoned temporary fix that addresses a legitimate issue without introducing significant risks. The surgical nature of the change and thorough root cause analysis support approval. |
lokesh-bitgo
approved these changes
Aug 31, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
assertSignableConsistencycall inecdsaMPCv2.tsthat was causing false-positive tamper errors for BSC, BSC:BUSD, and TXDCsendManywithdrawals (introduced in fix(abstract-eth,sdk-core): enforce signableHex/serializedTxHex consistency for BSC and XDC (WCI-1398) #9526, shipped in beta.2169)Commonobject (usinggetCustomChainCommon(this.getChainId())) so the chain ID is derived from the coin rather than defaulting to mainnetRoot cause
Unsigned EVM transactions have
v=0— no chain ID in the serialized bytes.fromSerializedDatawithout an explicitCommondefaults to mainnet (chain ID 1), while the server computessignableHexwith the correct chain ID (e.g. 97 for BSC testnet). This caused a derivation mismatch and a false-positive tamper error on every signing flow.Test plan
assertSignableConsistencytests call the method directly on the coin, not through this call site)Fixes: WCI-1398