Added state tests

This commit is contained in:
obscuren
2014-12-02 00:03:53 +01:00
parent a052357872
commit 2df8ad6307
4 changed files with 86 additions and 7 deletions

View File

@ -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 crypto.Sha3(crypto.Ecrecover(append(hash, sig...))[1:])
}

View File

@ -69,6 +69,7 @@ func (self *Execution) exec(code, caddr []byte, caller ClosureRef) (ret []byte,
if self.Gas.Cmp(p.Gas) >= 0 {
ret = p.Call(self.input)
self.vm.Printf("NATIVE_FUNC(%x) => %x", naddr, ret)
self.vm.Endl()
}
} else {
// Create a new callable closure