Commit 48125a25 authored by obscuren's avatar obscuren

Added missing requires on SSTORE SLOAD

parent 7849b7e9
......@@ -23,6 +23,7 @@ var (
GasSha = big.NewInt(20)
GasSLoad = big.NewInt(20)
GasSStore = big.NewInt(100)
GasSStoreRefund = big.NewInt(100)
GasBalance = big.NewInt(20)
GasCreate = big.NewInt(100)
GasCall = big.NewInt(20)
......
......@@ -169,9 +169,13 @@ func (self *DebugVm) RunClosure(closure *Closure) (ret []byte, err error) {
gas.Set(ethutil.Big0)
case SLOAD:
require(1)
gas.Set(GasSLoad)
// Memory resize & Gas
case SSTORE:
require(2)
var mult *big.Int
y, x := stack.Peekn()
val := closure.GetStorage(x)
......@@ -179,7 +183,7 @@ func (self *DebugVm) RunClosure(closure *Closure) (ret []byte, err error) {
// 0 => non 0
mult = ethutil.Big3
} else if val.BigInt().Cmp(ethutil.Big0) != 0 && len(y.Bytes()) == 0 {
state.Refund(closure.caller.Address(), big.NewInt(100), closure.Price)
state.Refund(closure.caller.Address(), GasSStoreRefund, closure.Price)
mult = ethutil.Big0
} else {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment