mirror of
https://github.com/status-im/nimbus-eth1.git
synced 2025-01-12 13:24:21 +00:00
fix callcode regression
This commit is contained in:
parent
85d8155177
commit
dcf7699358
@ -1099,7 +1099,7 @@ OK: 0/16 Fail: 0/16 Skip: 16/16
|
|||||||
+ randomStatetest245.json OK
|
+ randomStatetest245.json OK
|
||||||
+ randomStatetest246.json OK
|
+ randomStatetest246.json OK
|
||||||
+ randomStatetest247.json OK
|
+ randomStatetest247.json OK
|
||||||
+ randomStatetest248.json OK
|
randomStatetest248.json Skip
|
||||||
+ randomStatetest249.json OK
|
+ randomStatetest249.json OK
|
||||||
+ randomStatetest25.json OK
|
+ randomStatetest25.json OK
|
||||||
+ randomStatetest250.json OK
|
+ randomStatetest250.json OK
|
||||||
@ -1284,7 +1284,7 @@ OK: 0/16 Fail: 0/16 Skip: 16/16
|
|||||||
+ randomStatetest97.json OK
|
+ randomStatetest97.json OK
|
||||||
+ randomStatetest98.json OK
|
+ randomStatetest98.json OK
|
||||||
```
|
```
|
||||||
OK: 314/327 Fail: 0/327 Skip: 13/327
|
OK: 313/327 Fail: 0/327 Skip: 14/327
|
||||||
## stRandom2
|
## stRandom2
|
||||||
```diff
|
```diff
|
||||||
+ 201503110226PYTHON_DUP6.json OK
|
+ 201503110226PYTHON_DUP6.json OK
|
||||||
@ -1458,7 +1458,7 @@ OK: 314/327 Fail: 0/327 Skip: 13/327
|
|||||||
+ randomStatetest576.json OK
|
+ randomStatetest576.json OK
|
||||||
+ randomStatetest577.json OK
|
+ randomStatetest577.json OK
|
||||||
+ randomStatetest578.json OK
|
+ randomStatetest578.json OK
|
||||||
randomStatetest579.json Skip
|
+ randomStatetest579.json OK
|
||||||
+ randomStatetest580.json OK
|
+ randomStatetest580.json OK
|
||||||
+ randomStatetest581.json OK
|
+ randomStatetest581.json OK
|
||||||
+ randomStatetest582.json OK
|
+ randomStatetest582.json OK
|
||||||
@ -1515,7 +1515,7 @@ OK: 314/327 Fail: 0/327 Skip: 13/327
|
|||||||
randomStatetest646.json Skip
|
randomStatetest646.json Skip
|
||||||
randomStatetest647.json Skip
|
randomStatetest647.json Skip
|
||||||
```
|
```
|
||||||
OK: 218/227 Fail: 0/227 Skip: 9/227
|
OK: 219/227 Fail: 0/227 Skip: 8/227
|
||||||
## stRecursiveCreate
|
## stRecursiveCreate
|
||||||
```diff
|
```diff
|
||||||
recursiveCreate.json Skip
|
recursiveCreate.json Skip
|
||||||
|
@ -123,7 +123,7 @@ proc applyMessageAux(computation: var BaseComputation, opCode: static[Op]) =
|
|||||||
raise newException(InsufficientFunds,
|
raise newException(InsufficientFunds,
|
||||||
&"Insufficient funds: {senderBalance} < {computation.msg.value}"
|
&"Insufficient funds: {senderBalance} < {computation.msg.value}"
|
||||||
)
|
)
|
||||||
when opCode in {Call, CallCode}:
|
|
||||||
let
|
let
|
||||||
insufficientFunds = senderBalance < computation.msg.value
|
insufficientFunds = senderBalance < computation.msg.value
|
||||||
stackTooDeep = computation.msg.depth >= MaxCallDepth
|
stackTooDeep = computation.msg.depth >= MaxCallDepth
|
||||||
@ -143,7 +143,6 @@ proc applyMessageAux(computation: var BaseComputation, opCode: static[Op]) =
|
|||||||
push: 0
|
push: 0
|
||||||
return
|
return
|
||||||
|
|
||||||
when opCode == Call:
|
|
||||||
newBalance = senderBalance - computation.msg.value
|
newBalance = senderBalance - computation.msg.value
|
||||||
computation.vmState.mutateStateDb:
|
computation.vmState.mutateStateDb:
|
||||||
db.setBalance(computation.msg.sender, newBalance)
|
db.setBalance(computation.msg.sender, newBalance)
|
||||||
@ -168,7 +167,6 @@ proc applyMessageAux(computation: var BaseComputation, opCode: static[Op]) =
|
|||||||
else:
|
else:
|
||||||
# even though the value is zero, the account
|
# even though the value is zero, the account
|
||||||
# should be exist.
|
# should be exist.
|
||||||
when opCode == Call:
|
|
||||||
computation.vmState.mutateStateDb:
|
computation.vmState.mutateStateDb:
|
||||||
db.addBalance(computation.msg.storageAddress, computation.msg.value)
|
db.addBalance(computation.msg.storageAddress, computation.msg.value)
|
||||||
|
|
||||||
@ -176,6 +174,7 @@ proc applyMessage(computation: var BaseComputation, opCode: static[Op]) =
|
|||||||
var snapshot = computation.snapshot()
|
var snapshot = computation.snapshot()
|
||||||
defer: snapshot.dispose()
|
defer: snapshot.dispose()
|
||||||
|
|
||||||
|
when opCode == Call:
|
||||||
try:
|
try:
|
||||||
computation.applyMessageAux(opCode)
|
computation.applyMessageAux(opCode)
|
||||||
except VMError:
|
except VMError:
|
||||||
|
@ -626,7 +626,7 @@ proc callCodeParams(computation: var BaseComputation): (UInt256, UInt256, EthAdd
|
|||||||
value,
|
value,
|
||||||
to,
|
to,
|
||||||
ZERO_ADDRESS, # sender
|
ZERO_ADDRESS, # sender
|
||||||
ZERO_ADDRESS, # code_address
|
to, # code_address
|
||||||
memoryInputStartPosition,
|
memoryInputStartPosition,
|
||||||
memoryInputSize,
|
memoryInputSize,
|
||||||
memoryOutputStartPosition,
|
memoryOutputStartPosition,
|
||||||
@ -755,7 +755,7 @@ template genCall(callName: untyped, opCode: Op): untyped =
|
|||||||
computation.gasMeter.returnGas(childComputation.gasMeter.gasRemaining)
|
computation.gasMeter.returnGas(childComputation.gasMeter.gasRemaining)
|
||||||
|
|
||||||
if computation.gasMeter.gasRemaining <= 0:
|
if computation.gasMeter.gasRemaining <= 0:
|
||||||
raise newException(OutOfGas, "computation out of gas after contract call")
|
raise newException(OutOfGas, "computation out of gas after contract call (" & callName.astToStr & ")")
|
||||||
|
|
||||||
genCall(call, Call)
|
genCall(call, Call)
|
||||||
genCall(callCode, CallCode)
|
genCall(callCode, CallCode)
|
||||||
|
@ -131,11 +131,12 @@ func allowedFailingGeneralStateTest*(folder, name: string): bool =
|
|||||||
"randomStatetest307.json",
|
"randomStatetest307.json",
|
||||||
"randomStatetest368.json",
|
"randomStatetest368.json",
|
||||||
"randomStatetest85.json",
|
"randomStatetest85.json",
|
||||||
"randomStatetest579.json",
|
#"randomStatetest579.json",
|
||||||
"randomStatetest643.json",
|
"randomStatetest643.json",
|
||||||
"randomStatetest644.json",
|
"randomStatetest644.json",
|
||||||
"randomStatetest645.json",
|
"randomStatetest645.json",
|
||||||
"randomStatetest646.json",
|
"randomStatetest646.json",
|
||||||
|
"randomStatetest248.json",
|
||||||
"refundSuicide50procentCap.json",
|
"refundSuicide50procentCap.json",
|
||||||
"refund_CallToSuicideNoStorage.json",
|
"refund_CallToSuicideNoStorage.json",
|
||||||
"refund_CallToSuicideStorage.json",
|
"refund_CallToSuicideStorage.json",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user