diff options
author | obscuren <geffobscura@gmail.com> | 2014-12-02 18:52:56 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2014-12-02 18:52:56 +0800 |
commit | 64f35ba8d1f31d6821a0a1bf946c71396a996f30 (patch) | |
tree | 375a081536c7c0b329a3b0c2e812ff05f81dd64c /vm/address.go | |
parent | 616066a598933df7ef126186eb9c647094f665ca (diff) | |
parent | 99481a245adc2c4814ab6b38d94d63114f7bbb15 (diff) | |
download | go-tangerine-64f35ba8d1f31d6821a0a1bf946c71396a996f30.tar go-tangerine-64f35ba8d1f31d6821a0a1bf946c71396a996f30.tar.gz go-tangerine-64f35ba8d1f31d6821a0a1bf946c71396a996f30.tar.bz2 go-tangerine-64f35ba8d1f31d6821a0a1bf946c71396a996f30.tar.lz go-tangerine-64f35ba8d1f31d6821a0a1bf946c71396a996f30.tar.xz go-tangerine-64f35ba8d1f31d6821a0a1bf946c71396a996f30.tar.zst go-tangerine-64f35ba8d1f31d6821a0a1bf946c71396a996f30.zip |
merge errors fixed
Diffstat (limited to 'vm/address.go')
-rw-r--r-- | vm/address.go | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/vm/address.go b/vm/address.go index 235143b34..06bd35f6b 100644 --- a/vm/address.go +++ b/vm/address.go @@ -31,12 +31,16 @@ func sha256Func(in []byte) []byte { } func ripemd160Func(in []byte) []byte { - return ethutil.RightPadBytes(crypto.Ripemd160(in), 32) + return ethutil.LeftPadBytes(crypto.Ripemd160(in), 32) } func ecrecoverFunc(in []byte) []byte { // In case of an invalid sig. Defaults to return nil defer func() { recover() }() - return crypto.Ecrecover(in) + hash := in[:32] + v := ethutil.BigD(in[32:64]).Bytes()[0] - 27 + sig := append(in[64:], v) + + return ethutil.LeftPadBytes(crypto.Sha3(crypto.Ecrecover(append(hash, sig...))[1:])[12:], 32) } |