-
Notifications
You must be signed in to change notification settings - Fork 20.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Type 1 and type 2 transactions have yParity
, not v
#27727
Comments
This is such an important bug report. Why wasn't this found earlier? Would love to fix this ASAP.. |
Go ahead then! |
Would love to, but I'm off-code on this issue... |
1 task
16 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
go-ethereum/internal/ethapi/api.go
Line 1375 in 34d5072
Geth currently is returning transactions that have a
v
value even when that doesn't make sense. EIP-2930 and EIP-1559 declare ayParity
property on those transactions which is defined as "The parity (0 for even, 1 for odd) of the y-value of a secp256k1 signature."v
is not defined anywhere in either of those EIPs and what one might put in a variable calledv
is incredibly ambiguous as it could be any of:While I advocate for fixing the source code to use
yParity
instead ofv
for type 1 and 2 transactions internally so the code is more readable and follows the specification closer, what actually matters here is that the JSON-RPC should be including ayParity
in any transaction response with a type 1 or type 2 transaction.For backward compatibility, it seems reasonable to continue to include a
v
value that contains whatever it contains now, with perhaps some plan (or not) to eventually remove it.The text was updated successfully, but these errors were encountered: