[Bug]: change in behavior of personal_sign
on Ledger, in v10.31.0 #19568
Description
Describe the bug
as of v10.31.0, but not for versions strictly before it, there was a change in the output of personal_sign
, which takes place only on Ledger devices.
prior to the upgrade, the final v
byte of the signature was either 0x00
or 0x01
. now, it is either 0x1b
or 0x1c
.
this appears to bring the behavior on Ledger in line with for regular EOAs, which are either 0x1b
or 0x1c
both before and after v10.31.0.
can someone please explain this? thank you very much.
Steps to reproduce
go to https://etherscan.io/verifiedSignatures#. click "Sign Message". follow the steps to log in using MetaMask. enter an arbitrary string for your message.
observe the last byte (i.e., last two hexits) of the raw signature output. if you're signing using a Ledger, it will be either 0x00
or 0x01
pre-upgrade, and either 0x1b
or 0x1c
post. for a non-ledger account, it'll be either 0x1b
or 0x1c
both pre-and post.
Error messages or log output
No response
Version
v10.31.0
Build type
None
Browser
Chrome
Operating system
MacOS
Hardware wallet
Ledger
Additional context
No response