EIP 1271: fix implementation example signature validation (#3692)
The industry standard is to encode signatures as `(bytes32 r, bytes32 s, uint8 v)` in 65 bytes, which is evident here: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/d3c5bdf4def690228b08e0ac431437288a50e64a/contracts/utils/cryptography/ECDSA.sol#L32
But also in the implementation code which reads the first 32 bytes as r, then the next as s, and the last byte as v
However, it checks if the signature is 66 bytes long, rather than the 65 which it reads. As such I believe this is an error in the example.
GitHub Diff