diff options
author | Gustav Simonsson <gustav.simonsson@gmail.com> | 2015-11-27 22:40:29 +0800 |
---|---|---|
committer | Jeffrey Wilcke <geffobscura@gmail.com> | 2016-02-24 20:46:11 +0800 |
commit | 61404979ed9b4f88b0fe3fc02beb2ef47149cec6 (patch) | |
tree | 751f4223bb96ee28fd95e37189110b05c6cb97df /core/vm/contracts.go | |
parent | 300f1e2abfeaaa2efed96d522e99ffd11729fc08 (diff) | |
download | go-tangerine-61404979ed9b4f88b0fe3fc02beb2ef47149cec6.tar go-tangerine-61404979ed9b4f88b0fe3fc02beb2ef47149cec6.tar.gz go-tangerine-61404979ed9b4f88b0fe3fc02beb2ef47149cec6.tar.bz2 go-tangerine-61404979ed9b4f88b0fe3fc02beb2ef47149cec6.tar.lz go-tangerine-61404979ed9b4f88b0fe3fc02beb2ef47149cec6.tar.xz go-tangerine-61404979ed9b4f88b0fe3fc02beb2ef47149cec6.tar.zst go-tangerine-61404979ed9b4f88b0fe3fc02beb2ef47149cec6.zip |
[release/1.3.4] parmas, crypto, core, core/vm: homestead consensus protocol changes
* change gas cost for contract creating txs
* invalidate signature with s value greater than secp256k1 N / 2
* OOG contract creation if not enough gas to store code
* new difficulty adjustment algorithm
* new DELEGATECALL op code
Conflicts:
core/vm/environment.go
crypto/crypto.go
crypto/secp256k1/secp256.go
eth/api.go
Diffstat (limited to 'core/vm/contracts.go')
-rw-r--r-- | core/vm/contracts.go | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/core/vm/contracts.go b/core/vm/contracts.go index 22cb9eab2..f204432a2 100644 --- a/core/vm/contracts.go +++ b/core/vm/contracts.go @@ -93,7 +93,8 @@ func ecrecoverFunc(in []byte) []byte { vbig := common.Bytes2Big(in[32:64]) v := byte(vbig.Uint64()) - if !crypto.ValidateSignatureValues(v, r, s) { + // tighter sig s values in homestead only apply to tx sigs + if !crypto.ValidateSignatureValues(v, r, s, false) { glog.V(logger.Debug).Infof("EC RECOVER FAIL: v, r or s value invalid") return nil } |