aboutsummaryrefslogtreecommitdiffstats
path: root/core/vm/contracts.go
diff options
context:
space:
mode:
authorGustav Simonsson <gustav.simonsson@gmail.com>2015-11-27 22:40:29 +0800
committerJeffrey Wilcke <geffobscura@gmail.com>2016-02-24 20:46:11 +0800
commit61404979ed9b4f88b0fe3fc02beb2ef47149cec6 (patch)
tree751f4223bb96ee28fd95e37189110b05c6cb97df /core/vm/contracts.go
parent300f1e2abfeaaa2efed96d522e99ffd11729fc08 (diff)
downloadgo-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.go3
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
}