fix accountsForDeletion iterator, GST +2
This commit is contained in:
parent
1883472104
commit
ec918602bc
|
@ -2066,8 +2066,8 @@ OK: 1/284 Fail: 0/284 Skip: 283/284
|
||||||
+ createNameRegistratorZeroMemExpansion.json OK
|
+ createNameRegistratorZeroMemExpansion.json OK
|
||||||
+ createWithInvalidOpcode.json OK
|
+ createWithInvalidOpcode.json OK
|
||||||
+ currentAccountBalance.json OK
|
+ currentAccountBalance.json OK
|
||||||
doubleSelfdestructTest.json Skip
|
+ doubleSelfdestructTest.json OK
|
||||||
doubleSelfdestructTest2.json Skip
|
+ doubleSelfdestructTest2.json OK
|
||||||
+ extcodecopy.json OK
|
+ extcodecopy.json OK
|
||||||
+ return0.json OK
|
+ return0.json OK
|
||||||
+ return1.json OK
|
+ return1.json OK
|
||||||
|
@ -2083,7 +2083,7 @@ OK: 1/284 Fail: 0/284 Skip: 283/284
|
||||||
+ suicideSendEtherToMe.json OK
|
+ suicideSendEtherToMe.json OK
|
||||||
+ testRandomTest.json OK
|
+ testRandomTest.json OK
|
||||||
```
|
```
|
||||||
OK: 63/67 Fail: 0/67 Skip: 4/67
|
OK: 65/67 Fail: 0/67 Skip: 2/67
|
||||||
## stTransactionTest
|
## stTransactionTest
|
||||||
```diff
|
```diff
|
||||||
+ ContractStoreClearsOOG.json OK
|
+ ContractStoreClearsOOG.json OK
|
||||||
|
@ -2520,4 +2520,4 @@ OK: 5/133 Fail: 0/133 Skip: 128/133
|
||||||
OK: 0/130 Fail: 0/130 Skip: 130/130
|
OK: 0/130 Fail: 0/130 Skip: 130/130
|
||||||
|
|
||||||
---TOTAL---
|
---TOTAL---
|
||||||
OK: 1510/2334 Fail: 0/2334 Skip: 824/2334
|
OK: 1512/2334 Fail: 0/2334 Skip: 822/2334
|
||||||
|
|
|
@ -237,8 +237,6 @@ proc addChildComputation*(computation: BaseComputation, child: BaseComputation)
|
||||||
computation.returnData = @[]
|
computation.returnData = @[]
|
||||||
else:
|
else:
|
||||||
computation.returnData = child.output
|
computation.returnData = child.output
|
||||||
for k, v in child.accountsToDelete:
|
|
||||||
computation.accountsToDelete[k] = v
|
|
||||||
computation.logEntries.add child.logEntries
|
computation.logEntries.add child.logEntries
|
||||||
|
|
||||||
if not child.shouldBurnGas:
|
if not child.shouldBurnGas:
|
||||||
|
@ -258,9 +256,16 @@ proc addLogEntry*(c: BaseComputation, log: Log) {.inline.} =
|
||||||
# many methods are basically TODO, but they still return valid values
|
# many methods are basically TODO, but they still return valid values
|
||||||
# in order to test some existing code
|
# in order to test some existing code
|
||||||
iterator accountsForDeletion*(c: BaseComputation): EthAddress =
|
iterator accountsForDeletion*(c: BaseComputation): EthAddress =
|
||||||
if not c.isError:
|
var stack = @[c]
|
||||||
for account in c.accountsToDelete.keys:
|
var deletedAccounts = initSet[EthAddress]()
|
||||||
yield account
|
while stack.len > 0:
|
||||||
|
let comp = stack.pop()
|
||||||
|
if comp.isError: continue
|
||||||
|
for account in comp.accountsToDelete.keys:
|
||||||
|
if account notin deletedAccounts:
|
||||||
|
deletedAccounts.incl account
|
||||||
|
yield account
|
||||||
|
stack.add comp.children
|
||||||
|
|
||||||
proc getGasRefund*(c: BaseComputation): GasInt =
|
proc getGasRefund*(c: BaseComputation): GasInt =
|
||||||
if c.isError:
|
if c.isError:
|
||||||
|
|
|
@ -16,42 +16,6 @@ func allowedFailingGeneralStateTest*(folder, name: string): bool =
|
||||||
"randomStatetest14.json", # SHA3 offset
|
"randomStatetest14.json", # SHA3 offset
|
||||||
"randomStatetest85.json", # CALL* memoffset
|
"randomStatetest85.json", # CALL* memoffset
|
||||||
|
|
||||||
# Tangerine failed GST
|
|
||||||
"doubleSelfdestructTest.json",
|
|
||||||
"doubleSelfdestructTest2.json",
|
|
||||||
|
|
||||||
# Spurious Dragon failed GST
|
|
||||||
#"CallContractToCreateContractOOG.json",
|
|
||||||
#"failed_tx_xcf416c53.json",
|
|
||||||
#"TransactionSendingToZero.json"
|
|
||||||
#"OutOfGasContractCreation.json",
|
|
||||||
#"OutOfGasPrefundedContractCreation.json",
|
|
||||||
#"RevertOpcodeInInit.json",
|
|
||||||
#"RevertOpcodeWithBigOutputInInit.json",
|
|
||||||
#"createNameRegistratorPerTxsNotEnoughGasAfter.json",
|
|
||||||
#"createNameRegistratorPerTxsNotEnoughGasAt.json",
|
|
||||||
#"createNameRegistratorPerTxsNotEnoughGasBefore.json",
|
|
||||||
#"ZeroValue_CALLCODE_ToEmpty.json",
|
|
||||||
#"ZeroValue_CALLCODE_ToOneStorageKey.json",
|
|
||||||
#"NonZeroValue_CALLCODE_ToEmpty.json",
|
|
||||||
#"NonZeroValue_CALLCODE_ToOneStorageKey.json",
|
|
||||||
#"suicideCoinbase.json",
|
|
||||||
#"EmptyTransaction2.json",
|
|
||||||
#"SuicidesMixingCoinbase.json",
|
|
||||||
#"UserTransactionZeroCost.json",
|
|
||||||
#"UserTransactionZeroCostWithData.json",
|
|
||||||
#"NotEnoughCashContractCreation.json",
|
|
||||||
#"201503110226PYTHON_DUP6.json",
|
|
||||||
#"CreateTransactionReverted.json",
|
|
||||||
#"EmptyTransaction.json",
|
|
||||||
#"OverflowGasRequire.json",
|
|
||||||
#"RefundOverflow.json",
|
|
||||||
#"RefundOverflow2.json",
|
|
||||||
#"TransactionNonceCheck.json",
|
|
||||||
#"TransactionNonceCheck2.json",
|
|
||||||
#"TransactionToItselfNotEnoughFounds.json",
|
|
||||||
#"UserTransactionGasLimitIsTooLowWhenZeroCost.json",
|
|
||||||
|
|
||||||
# Homestead recursives
|
# Homestead recursives
|
||||||
#["ContractCreationSpam.json",
|
#["ContractCreationSpam.json",
|
||||||
"Call1024OOG.json",
|
"Call1024OOG.json",
|
||||||
|
|
Loading…
Reference in New Issue