* Transaction Malleability:
If you allow for both values 0/1 and 27/28, you allow two different
signatures both resulting in a same valid recovery. (r,s,0/1) and
(r,s,27/28) would both be valid, recover the same public key and sign
the same data. Furthermore, given (r,s,0/1), (r,s,27/28) can be
constructed by anyone.
* Transaction Malleability:
EIP-2 still allows signature malleabality for ecrecover(), remove this
possibility and force the signature to be unique.
* Added a reference to appendix F to the yellow paper and improved
comment.
* better test description for testing the version 0, which returns
a zero address
* Check that the conversion from 0/1 to 27/28 only happens if its 0/1
* improved formatting
* Refactor ECDSA code a bit.
* Refactor ECDSA tests a bit.
* Add changelog entry.
* Add high-s check test.
* Refactor Counter to support increment and decrement.
* Move Counter out of drafts.
* Refactor ERC721 to use Counter.
* Rollback Counter returning the current value in increment and decrement.
* Update test/drafts/Counter.test.js
Co-Authored-By: nventuro <nicolas.venturo@gmail.com>
* Improve Counter documentation.
* Move Counter.test to utils.
* Move back Counter to drafts.
* signed safe math
* fix lint errors
* refactor overflow checks and add descriptions
* remove incorrect description
* add test for reversed arguments in multiplication test
* fix power operator
* improve multiplication test descriptions
* Update SafeMath.test.js
* add feature to changelog