various fixes, GST +6

This commit is contained in:
andri lim 2019-04-24 14:58:16 +07:00
parent 90e3a4320a
commit 7b47cb6b24
No known key found for this signature in database
GPG Key ID: 31702AE10541E6B9
4 changed files with 20 additions and 24 deletions

View File

@ -13,7 +13,7 @@ GeneralStateTests
+ calldataloadNonConst.json OK
+ codecopyNonConst.json OK
+ createNonConst.json OK
delegatecallNonConst.json Skip
+ delegatecallNonConst.json OK
+ divNonConst.json OK
+ eqNonConst.json OK
+ expNonConst.json OK
@ -49,7 +49,7 @@ GeneralStateTests
+ suicideNonConst.json OK
+ xorNonConst.json OK
```
OK: 45/46 Fail: 0/46 Skip: 1/46
OK: 46/46 Fail: 0/46 Skip: 0/46
## stAttackTest
```diff
ContractCreationSpam.json Skip
@ -388,7 +388,7 @@ OK: 3/3 Fail: 0/3 Skip: 0/3
+ CreateCollisionToEmpty.json OK
+ CreateOOGafterInitCode.json OK
+ CreateOOGafterInitCodeReturndata.json OK
CreateOOGafterInitCodeReturndata2.json Skip
+ CreateOOGafterInitCodeReturndata2.json OK
+ CreateOOGafterInitCodeReturndata3.json OK
CreateOOGafterInitCodeReturndataSize.json Skip
+ CreateOOGafterInitCodeRevert.json OK
@ -397,7 +397,7 @@ OK: 3/3 Fail: 0/3 Skip: 0/3
+ TransactionCollisionToEmptyButCode.json OK
+ TransactionCollisionToEmptyButNonce.json OK
```
OK: 28/30 Fail: 0/30 Skip: 2/30
OK: 29/30 Fail: 0/30 Skip: 1/30
## stDelegatecallTestHomestead
```diff
Call1024BalanceTooLow.json Skip
@ -1553,7 +1553,7 @@ OK: 19/19 Fail: 0/19 Skip: 0/19
+ call_then_create_successful_then_returndatasize.json OK
+ create_callprecompile_returndatasize.json OK
modexp_modsize0_returndatasize.json Skip
returndatacopy_0_0_following_successful_create.json Skip
+ returndatacopy_0_0_following_successful_create.json OK
returndatacopy_afterFailing_create.json Skip
+ returndatacopy_after_failing_callcode.json OK
+ returndatacopy_after_failing_delegatecall.json OK
@ -1583,9 +1583,9 @@ OK: 19/19 Fail: 0/19 Skip: 0/19
+ returndatasize_bug.json OK
+ returndatasize_following_successful_create.json OK
+ returndatasize_initial.json OK
returndatasize_initial_zero_read.json Skip
+ returndatasize_initial_zero_read.json OK
```
OK: 26/37 Fail: 0/37 Skip: 11/37
OK: 28/37 Fail: 0/37 Skip: 9/37
## stRevertTest
```diff
LoopCallsDepthThenRevert.json Skip
@ -1842,7 +1842,7 @@ OK: 7/7 Fail: 0/7 Skip: 0/7
+ static_ReturnTest.json OK
+ static_ReturnTest2.json OK
+ static_RevertDepth2.json OK
static_RevertOpcodeCalls.json Skip
+ static_RevertOpcodeCalls.json OK
+ static_ZeroValue_CALL_OOGRevert.json OK
+ static_ZeroValue_SUICIDE_OOGRevert.json OK
+ static_callBasic.json OK
@ -2012,7 +2012,7 @@ OK: 7/7 Fail: 0/7 Skip: 0/7
+ static_refund_CallToSuicideNoStorage.json OK
+ static_refund_CallToSuicideTwice.json OK
```
OK: 270/284 Fail: 0/284 Skip: 14/284
OK: 271/284 Fail: 0/284 Skip: 13/284
## stSystemOperationsTest
```diff
+ ABAcalls0.json OK
@ -2101,7 +2101,7 @@ OK: 57/67 Fail: 0/67 Skip: 10/67
+ InternalCallHittingGasLimitSuccess.json OK
+ InternlCallStoreClearsOOG.json OK
+ InternlCallStoreClearsSucces.json OK
Opcodes_TransactionInit.json Skip
+ Opcodes_TransactionInit.json OK
+ OverflowGasRequire.json OK
+ OverflowGasRequire2.json OK
+ RefundOverflow.json OK
@ -2131,7 +2131,7 @@ OK: 57/67 Fail: 0/67 Skip: 10/67
+ UserTransactionZeroCost.json OK
+ UserTransactionZeroCostWithData.json OK
```
OK: 43/44 Fail: 0/44 Skip: 1/44
OK: 44/44 Fail: 0/44 Skip: 0/44
## stTransitionTest
```diff
+ createNameRegistratorPerTxsAfter.json OK
@ -2520,4 +2520,4 @@ OK: 130/133 Fail: 0/133 Skip: 3/133
OK: 130/130 Fail: 0/130 Skip: 0/130
---TOTAL---
OK: 2164/2334 Fail: 0/2334 Skip: 170/2334
OK: 2170/2334 Fail: 0/2334 Skip: 164/2334

View File

@ -354,10 +354,10 @@ op returnDataCopy, inline = false, memStartPos, copyStartPos, size:
&"for data from index {copyStartPos} to {copyStartPos + size}. Return data is {computation.returnData.len} in \n" &
"length")
computation.memory.extend(memPos, len)
computation.memory.write(memPos):
computation.returnData.toOpenArray(copyPos, copyPos+len)
if len > 0:
computation.memory.extend(memPos, len)
computation.memory.write(memPos):
computation.returnData.toOpenArray(copyPos, copyPos+len)
# ##########################################
# 40s: Block Information
@ -750,6 +750,9 @@ template genCall(callName: untyped, opCode: Op): untyped =
when opCode == CallCode:
childMsg.storageAddress = computation.msg.storageAddress
when opCode == DelegateCall:
childMsg.codeAddress = codeAddress
var childComp = newBaseComputation(
computation.vmState,

View File

@ -309,7 +309,7 @@ proc selectVM(computation: BaseComputation, fork: Fork) {.gcsafe.} =
proc executeOpcodes(computation: BaseComputation) =
try:
let fork = computation.getFork
if `computation`.execPrecompiles(fork):
if computation.execPrecompiles(fork):
computation.nextProc()
return
computation.selectVM(fork)

View File

@ -16,17 +16,11 @@ func allowedFailingGeneralStateTest*(folder, name: string): bool =
"randomStatetest14.json", # SHA3 offset
"randomStatetest85.json", # CALL* memoffset
"returndatacopy_0_0_following_successful_create.json", # CRASH
"CreateOOGafterInitCodeReturndata2.json", # CRASH
"sec80.json",
"txCost-sec73.json",
"Opcodes_TransactionInit.json",
"sha3_deja.json",
"delegatecallNonConst.json",
"returndatacopy_following_revert_in_create.json",
"returndatasize_initial_zero_read.json",
"returndatacopy_after_successful_callcode.json",
"returndatacopy_afterFailing_create.json",
"returndatacopy_after_successful_delegatecall.json",
@ -37,7 +31,6 @@ func allowedFailingGeneralStateTest*(folder, name: string): bool =
"CreateOOGafterInitCodeReturndataSize.json",
"static_RevertOpcodeCalls.json",
"PythonRevertTestTue201814-1430.json",
"RevertInCallCode.json",
"RevertInDelegateCall.json",