fix(sdk-coin-*): pass isFirstSigner through transfer() in all EVM TransactionBuilders#9082
Open
mr-neptune wants to merge 1 commit into
Open
fix(sdk-coin-*): pass isFirstSigner through transfer() in all EVM TransactionBuilders#9082mr-neptune wants to merge 1 commit into
mr-neptune wants to merge 1 commit into
Conversation
…onBuilders All non-eth-family EVM coin modules overrode transfer(data?: string) without forwarding isFirstSigner to the TransferBuilder constructor, breaking the Trust HSM first-signer path. from(txHex, true) decoded first-signer ABI with second-signer offsets, producing 0x...00c0 as recipient instead of the real address, causing verifyExistingApproval 401 errors on TETC and tarbeth. Fixes 23 modules: arbeth, opeth, avaxc, celo, rbtc, bera, polygon, zketh, bsc, flr, sgb, apechain, coredao, xdc, mon, soneium, wemix, stt, oas, world, ethlike, evm, and etc. Adds regression tests on sdk-coin-etc for the first-signer round-trip. WCN-560 Co-authored-by: Cursor <cursoragent@cursor.com>
f6218bb to
961e195
Compare
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.
Description
All non-eth-family EVM coin modules overrode transfer(data?: string) without forwarding isFirstSigner to the TransferBuilder constructor, breaking the Trust HSM first-signer path. from(txHex, true) decoded first-signer ABI with second-signer offsets, producing 0x...00c0 as recipient instead of the real address, causing verifyExistingApproval 401 errors on TETC and tarbeth.
Changes
Fixes 23 modules: arbeth, opeth, avaxc, celo, rbtc, bera, polygon, zketh, bsc, flr, sgb, apechain, coredao, xdc, mon, soneium, wemix, stt, oas, world, ethlike, evm, and etc.
Tests
Adds regression tests on sdk-coin-etc for the first-signer round-trip.
TICKET: WCN-560
Past related issue:
https://github.com/BitGo/bitgo-microservices/pull/59310
https://github.com/BitGo/bitgo-microservices/pull/59699
https://github.com/BitGo/bitgo-microservices/pull/59905