|
@@ -52,13 +52,8 @@ library ECDSA {
|
|
|
// with 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141 - s1 and flip v from 27 to 28 or
|
|
|
// vice versa. If your library also generates signatures with 0/1 for v instead 27/28, add 27 to v to accept
|
|
|
// these malleable signatures as well.
|
|
|
- if (uint256(s) > 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0) {
|
|
|
- revert("ECDSA: invalid signature 's' value");
|
|
|
- }
|
|
|
-
|
|
|
- if (v != 27 && v != 28) {
|
|
|
- revert("ECDSA: invalid signature 'v' value");
|
|
|
- }
|
|
|
+ require(uint256(s) <= 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0, "ECDSA: invalid signature 's' value");
|
|
|
+ require(v == 27 || v == 28, "ECDSA: invalid signature 'v' value");
|
|
|
|
|
|
// If the signature is valid (and not malleable), return the signer address
|
|
|
address signer = ecrecover(hash, v, r, s);
|