hashgraph / hedera-mirror-node

Hedera Mirror Node archives data from consensus nodes and serves it via an API
Apache License 2.0
128 stars 108 forks source link

Some transactions with signature v values set to 1 cause the go ethereum client to fail when trying to unmarshal them. #8597

Closed ebadiere closed 3 months ago

ebadiere commented 3 months ago

Description

The following transactions on mainnet cannot be unmarshalled using the go ethereum client: 0x65486c84522a4f581aeaf5d2b17dc7993c76c916e78158f375d0c89d625e4979 0x814b3b545d381b61564733c76cd281f9a1903874319c6594bc6828adba42a08b 0x1c9a630ae53193c4f982e48a28247cb561f7e7ff2bd99cbbbaa270aab23c0bf4

The following transaction on testnet cannot be unmarshalled using the go ethereum client: 0xaacb25c6bd26870204b566b138a37b33a17d4e44d7dcd9c05678a3f46352f7a0

Setting the signature v values to 37 or 38 allows them to be unmarshalled in the go-client. These are type 0 (Legacy) transactions.

Steps to reproduce

Relay issue 2500 has a reproducer.

Additional context

No response

Hedera network

mainnet

Version

v0.106.1

Operating system

Linux

steven-sheehy commented 3 months ago

There's not enough info here to investigate. v, r, s signatures are set by the client and are just a pass through for mirror node. v is only set for legacy ethereum transactions. If they're in an incompatible format for relay that would've came directly from the client that way. Please provide more info on how you think mirror node did something wrong.