fix extCodeHash

This commit is contained in:
andri lim 2019-05-08 17:33:25 +07:00 committed by zah
parent f08eedbce3
commit e51725d13b
3 changed files with 11 additions and 13 deletions

View File

@ -555,7 +555,7 @@ OK: 7/7 Fail: 0/7 Skip: 0/7
OK: 1/1 Fail: 0/1 Skip: 0/1 OK: 1/1 Fail: 0/1 Skip: 0/1
## stExtCodeHash ## stExtCodeHash
```diff ```diff
codeCopyZero.json Skip + codeCopyZero.json OK
+ dynamicAccountOverwriteEmpty.json OK + dynamicAccountOverwriteEmpty.json OK
+ extCodeCopyBounds.json OK + extCodeCopyBounds.json OK
+ extCodeHashAccountWithoutCode.json OK + extCodeHashAccountWithoutCode.json OK
@ -572,19 +572,19 @@ OK: 1/1 Fail: 0/1 Skip: 0/1
+ extCodeHashDeletedAccount2.json OK + extCodeHashDeletedAccount2.json OK
+ extCodeHashDeletedAccount3.json OK + extCodeHashDeletedAccount3.json OK
+ extCodeHashDeletedAccount4.json OK + extCodeHashDeletedAccount4.json OK
extCodeHashDynamicArgument.json Skip + extCodeHashDynamicArgument.json OK
+ extCodeHashInInitCode.json OK + extCodeHashInInitCode.json OK
+ extCodeHashMaxCodeSize.json OK + extCodeHashMaxCodeSize.json OK
+ extCodeHashNewAccount.json OK + extCodeHashNewAccount.json OK
extCodeHashNonExistingAccount.json Skip + extCodeHashNonExistingAccount.json OK
extCodeHashPrecompiles.json Skip + extCodeHashPrecompiles.json OK
+ extCodeHashSTATICCALL.json OK + extCodeHashSTATICCALL.json OK
+ extCodeHashSelf.json OK + extCodeHashSelf.json OK
+ extCodeHashSelfInInit.json OK + extCodeHashSelfInInit.json OK
extCodeHashSubcallOOG.json Skip + extCodeHashSubcallOOG.json OK
+ extCodeHashSubcallSuicide.json OK + extCodeHashSubcallSuicide.json OK
``` ```
OK: 23/28 Fail: 0/28 Skip: 5/28 OK: 28/28 Fail: 0/28 Skip: 0/28
## stHomesteadSpecific ## stHomesteadSpecific
```diff ```diff
+ contractCreationOOGdontLeaveEmptyContract.json OK + contractCreationOOGdontLeaveEmptyContract.json OK
@ -2645,4 +2645,4 @@ OK: 133/133 Fail: 0/133 Skip: 0/133
OK: 130/130 Fail: 0/130 Skip: 0/130 OK: 130/130 Fail: 0/130 Skip: 0/130
---TOTAL--- ---TOTAL---
OK: 2333/2447 Fail: 0/2447 Skip: 114/2447 OK: 2338/2447 Fail: 0/2447 Skip: 109/2447

View File

@ -920,6 +920,10 @@ op sarOp, inline = true:
op extCodeHash, inline = true: op extCodeHash, inline = true:
let address = computation.stack.popAddress() let address = computation.stack.popAddress()
if not computation.vmState.readOnlyStateDB.accountExists(address):
push: 0
return
if computation.vmState.readOnlyStateDB.isEmptyAccount(address): if computation.vmState.readOnlyStateDB.isEmptyAccount(address):
push: 0 push: 0
else: else:

View File

@ -21,13 +21,7 @@ func allowedFailingGeneralStateTest*(folder, name: string): bool =
"create2InitCodes.json", "create2InitCodes.json",
"create2noCash.json", "create2noCash.json",
"extCodeHashSubcallOOG.json",
"extCodeHashNonExistingAccount.json",
"extCodeHashPrecompiles.json",
"extCodeHashDynamicArgument.json",
"badOpcodes.json", "badOpcodes.json",
"codeCopyZero.json",
# all these tests below actually pass # all these tests below actually pass
# but they are very slow # but they are very slow