[Ethereum] Invalid transaction v,r,s values with geth when reading from of signed MEW RLP transaction

go-ethereumraw-transactionrlptransactions

I generated a signed transaction with myEtherWallet:

0xf86b80847735940082520894ef5bbb9bba2e1ca69ef81b23a8727d889f3ef0a1880de0b6b3a7640000802ba06fef16c44726a102e6d55a651740636ef8aec6df3ebf009e7b0c1f29e4ac114aa057e7fbc69760b522a78bb568cfc37a58bfdcf6ea86cb8f9b550263f58074b9cc

I can convert it to a geth transaction object via:

Geth.newTransactionFromRLP(hex)

And successfully read fields like value or to – but when trying to access the from field I get an exception "Invalid transaction v,r,s values"
Is there anything I am doing wrong here – or should I report this as a bug?
Also interesting when doing transaction.encodeJSON() it also does not include the from field.
But it does not seem to be a general problem – when encoding/decoding with geth like this:

Geth.newTransactionFromRLP(transactionWithSignature.encodeRLP())

I can access the from field.

Update: Hint from Péter Szilágyi (@karalabe) on gitter:
Hmmm, one bet is that the mobile library might be using homestead signatures
and mew returning proper eip155

Best Answer

I ended up opening an issue for this and it is confirmed to be the problem @karalabe guessed it is: https://github.com/ethereum/go-ethereum/issues/14599

Will be fixed soon

Related Topic