• Thomas Bocek's avatar
    accounts/abi: Negative numbers not properly converted in ABI encoding · 89c6c5bb
    Thomas Bocek authored
    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?
    89c6c5bb
Name
Last commit
Last update
.github Loading commit data...
Godeps Loading commit data...
_data Loading commit data...
accounts Loading commit data...
build Loading commit data...
cmd Loading commit data...
common Loading commit data...
compression/rle Loading commit data...
console Loading commit data...
containers Loading commit data...
core Loading commit data...
crypto Loading commit data...
errs Loading commit data...
eth Loading commit data...
ethdb Loading commit data...
event Loading commit data...
generators Loading commit data...
internal Loading commit data...
light Loading commit data...
logger Loading commit data...
metrics Loading commit data...
miner Loading commit data...
node Loading commit data...
p2p Loading commit data...
params Loading commit data...
pow Loading commit data...
release Loading commit data...
rlp Loading commit data...
rpc Loading commit data...
tests Loading commit data...
trie Loading commit data...
whisper Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gitmodules Loading commit data...
.mailmap Loading commit data...
.travis.yml Loading commit data...
AUTHORS Loading commit data...
COPYING Loading commit data...
COPYING.LESSER Loading commit data...
Makefile Loading commit data...
README.md Loading commit data...
VERSION Loading commit data...