Skip to content

fix(sdk-coin-*): pass isFirstSigner through transfer() in all EVM TransactionBuilders#9082

Open
mr-neptune wants to merge 1 commit into
masterfrom
WCN-560-fix-isFirstSigner-transfer-all-evm-coins
Open

fix(sdk-coin-*): pass isFirstSigner through transfer() in all EVM TransactionBuilders#9082
mr-neptune wants to merge 1 commit into
masterfrom
WCN-560-fix-isFirstSigner-transfer-all-evm-coins

Conversation

@mr-neptune

@mr-neptune mr-neptune commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

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

@mr-neptune mr-neptune requested a review from a team as a code owner June 22, 2026 20:34
@linear-code

linear-code Bot commented Jun 22, 2026

Copy link
Copy Markdown

WCN-560

…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>
@mr-neptune mr-neptune force-pushed the WCN-560-fix-isFirstSigner-transfer-all-evm-coins branch from f6218bb to 961e195 Compare June 22, 2026 21:07
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.

1 participant