Thomas Bocek 39f1d909d1 [release/1.4.7] accounts/abi: Negative numbers not properly converted in ABI encoding
When converting a negative number e.g., -2, the resulting ABI encoding
should look as follows:
fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe.
However, since the check of the type is for an uint instead of an
int, it results in the following ABI encoding:
0101010101010101010101010101010101010101010101010101010101010102. The
Ethereum ABI
(https://github.com/ethereum/wiki/wiki/Ethereum-Contract-ABI) says,
that signed integers are stored in two's complement which should be
of the form ffffff.... and not 01010101..... for e.g. -1. Thus, I
removed the type check in numbers.go as well as the function S256
as I don't think they are correct. Or maybe I'm missing something?

(cherry picked from commit 89c6c5bb85ff24c152218f245fa366e733c951a7)
2016-06-14 17:11:57 +03:00
..
2016-04-12 15:58:07 +02:00
2016-04-12 15:58:07 +02:00
2016-04-12 15:58:07 +02:00