Skip to content

pointers: pass the full transaction hash when requesting a trace - #301

Merged
gnidan merged 1 commit into
mainfrom
pointers-trace-hash
Sep 17, 2026
Merged

gnidan merged 1 commit into
mainfrom
pointers-trace-hash

Conversation

@gnidan

@gnidan gnidan commented Sep 17, 2026

Copy link
Copy Markdown
Member

The dereference integration tests fail intermittently with Error: Unknown transaction 0x…. The hash in that message has 62 hex digits: 31 bytes, not 32.

The test machine asked ganache for the trace with `0x${transactionHash.asUint().toString(16)}`. Going through the integer value drops leading zeros. Ganache generates random accounts, so transaction hashes are random, and any hash that begins with a zero byte arrived at debug_traceTransaction one byte short. With four integration cases per run on two Node versions, that is a few percent of CI runs.

The fix passes transactionHash.toHex(), which keeps every byte. Test helper only; nothing published changes.

The integration test machine rebuilt the hash from its integer value,
which drops leading zeros. Ganache uses random accounts, so hashes are
random, and one that begins with a zero byte reached
debug_traceTransaction as 31 bytes: "Unknown transaction". That is
the intermittent failure in the dereference integration tests. Pass
the hash's own hex encoding instead.
@github-actions

github-actions Bot commented Sep 17, 2026 •

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-09-17 03:39 UTC

@gnidan
gnidan merged commit 9109292 into main Sep 17, 2026
6 checks passed
@gnidan
gnidan deleted the pointers-trace-hash branch September 17, 2026 03:36
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