From 9fcba8f90dfb67de2dac46e332fb81bd04d7051d Mon Sep 17 00:00:00 2001 From: andri lim Date: Mon, 25 Feb 2019 21:18:13 +0700 Subject: [PATCH] fix block 512335 problem --- nimbus/vm/computation.nim | 4 +++- nimbus/vm/interpreter/opcodes_impl.nim | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/nimbus/vm/computation.nim b/nimbus/vm/computation.nim index 86efc4a63..909e7592a 100644 --- a/nimbus/vm/computation.nim +++ b/nimbus/vm/computation.nim @@ -113,6 +113,8 @@ proc applyMessageAux(computation: var BaseComputation, opCode: static[Op]) = if computation.msg.depth > STACK_DEPTH_LIMIT: raise newException(StackDepthError, "Stack depth limit reached") + let nilai = computation.vmState.readOnlyStateDb().getBalance(computation.msg.sender) + if computation.msg.value != 0: let senderBalance = computation.vmState.readOnlyStateDb(). @@ -174,7 +176,7 @@ proc applyMessage(computation: var BaseComputation, opCode: static[Op]) = var snapshot = computation.snapshot() defer: snapshot.dispose() - when opCode == Call: + when opCode in {Call, Create}: try: computation.applyMessageAux(opCode) except VMError: diff --git a/nimbus/vm/interpreter/opcodes_impl.nim b/nimbus/vm/interpreter/opcodes_impl.nim index 718842a03..fdacc406c 100644 --- a/nimbus/vm/interpreter/opcodes_impl.nim +++ b/nimbus/vm/interpreter/opcodes_impl.nim @@ -747,8 +747,8 @@ template genCall(callName: untyped, opCode: Op): untyped = childMsg.sender = sender else: childMsg.sender = computation.msg.storageAddress - - if opCode == CallCode: + + when opCode == CallCode: childMsg.storageAddress = computation.msg.storageAddress var childComputation = applyChildComputation(computation, childMsg, opCode)