Skip to content

Commit f5b8f3d

Browse files
committed
Removed OOG check. Revert should always happen.
1 parent 0e93b98 commit f5b8f3d

File tree

3 files changed

+11
-6
lines changed

3 files changed

+11
-6
lines changed

core/block_manager.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,6 @@ done:
129129
statelogger.Infoln(err)
130130
erroneous = append(erroneous, tx)
131131
err = nil
132-
continue
133132
}
134133
}
135134

@@ -215,6 +214,7 @@ func (sm *BlockManager) ProcessWithParent(block, parent *types.Block) (td *big.I
215214

216215
receiptSha := types.DeriveSha(receipts)
217216
if bytes.Compare(receiptSha, block.ReceiptSha) != 0 {
217+
chainlogger.Debugln(receipts)
218218
err = fmt.Errorf("validating receipt root. received=%x got=%x", block.ReceiptSha, receiptSha)
219219
return
220220
}

core/execution.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,7 @@ func (self *Execution) exec(code, contextAddr []byte, caller vm.ClosureRef) (ret
5656

5757
snapshot := env.State().Copy()
5858
defer func() {
59-
if vm.IsOOGErr(err) {
60-
env.State().Set(snapshot)
61-
}
59+
env.State().Set(snapshot)
6260
chainlogger.Debugf("post state %x\n", env.State().Root())
6361
}()
6462

core/state_transition.go

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -189,12 +189,19 @@ func (self *StateTransition) TransitionState() (ret []byte, err error) {
189189
self.rec = MakeContract(msg, self.state)
190190

191191
ret, err, ref = vmenv.Create(sender, self.rec.Address(), self.msg.Data(), self.gas, self.gasPrice, self.value)
192-
ref.SetCode(ret)
192+
if err == nil {
193+
dataGas := big.NewInt(int64(len(ret)))
194+
dataGas.Mul(dataGas, vm.GasCreateByte)
195+
if err = self.UseGas(dataGas); err == nil {
196+
ref.SetCode(ret)
197+
}
198+
}
193199
} else {
194200
ret, err = vmenv.Call(self.From(), self.To().Address(), self.msg.Data(), self.gas, self.gasPrice, self.value)
195201
}
202+
196203
if err != nil {
197-
statelogger.Debugln(err)
204+
self.UseGas(self.gas)
198205
}
199206

200207
return

0 commit comments

Comments
 (0)