aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorYoichi Hirai <i@yoichihirai.com>2018-04-19 23:02:02 +0800
committerYoichi Hirai <i@yoichihirai.com>2018-04-20 23:17:02 +0800
commit2b3abe0b3d157998ad71d960b3b6d16fea8444c6 (patch)
treef5b9f84df68e76cdde112696004bbfccc55d91d1 /src
parentbeda39b48b5d1860f57f748c841ea52a774879cb (diff)
downloaddexon-tests-2b3abe0b3d157998ad71d960b3b6d16fea8444c6.tar
dexon-tests-2b3abe0b3d157998ad71d960b3b6d16fea8444c6.tar.gz
dexon-tests-2b3abe0b3d157998ad71d960b3b6d16fea8444c6.tar.bz2
dexon-tests-2b3abe0b3d157998ad71d960b3b6d16fea8444c6.tar.lz
dexon-tests-2b3abe0b3d157998ad71d960b3b6d16fea8444c6.tar.xz
dexon-tests-2b3abe0b3d157998ad71d960b3b6d16fea8444c6.tar.zst
dexon-tests-2b3abe0b3d157998ad71d960b3b6d16fea8444c6.zip
Add a test where the same account performs selfdestruct twice
This is the second case of https://github.com/ethereum/tests/issues/431 . The filler file contains a more detailed comment.
Diffstat (limited to 'src')
-rw-r--r--src/GeneralStateTestsFiller/stSystemOperationsTest/doubleSelfdestructTest2Filler.yml67
1 files changed, 67 insertions, 0 deletions
diff --git a/src/GeneralStateTestsFiller/stSystemOperationsTest/doubleSelfdestructTest2Filler.yml b/src/GeneralStateTestsFiller/stSystemOperationsTest/doubleSelfdestructTest2Filler.yml
new file mode 100644
index 000000000..38cb3d96a
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stSystemOperationsTest/doubleSelfdestructTest2Filler.yml
@@ -0,0 +1,67 @@
+doubleSelfdestructTest2:
+ _info:
+ comment: |
+ The second test case requested here https://github.com/ethereum/tests/issues/431#issue-306081539 .
+ Invoked Solidity 0.4.21 with solc --bin-runtime --optimize
+ contract DoubleSelfdestructTest2 {
+ address constant B = 0x3;
+ function remoteSelfdestruct() external {
+ selfdestruct(this);
+ }
+ function() external payable {
+ this.remoteSelfdestruct();
+ selfdestruct(B);
+ }
+ }
+ The version of Solidity emits code that always enter OOG for Homestead and Frontier. So no new accounts
+ are created for Homestead and Frontier. EIP158 changes the behavior of zero-amount transfer so that no new accounts are created.
+ This leaves EIP150 as a special case.
+ env:
+ currentCoinbase: 2adc25665018aa1fe0e6bc666dac8fc2697ff9ba
+ currentDifficulty: '0x20000'
+ currentGasLimit: '10000000000'
+ currentNumber: '1'
+ currentTimestamp: '1000'
+ previousHash: 5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6
+ expect:
+ - indexes:
+ data: !!int -1
+ gas: !!int -1
+ value: !!int -1
+ network:
+ - '<EIP150'
+ - '>EIP150'
+ result:
+ '0000000000000000000000000000000000000003':
+ shouldnotexist: '1'
+ - indexes:
+ data: !!int -1
+ gas: !!int -1
+ value: !!int -1
+ network:
+ - 'EIP150'
+ result:
+ '0000000000000000000000000000000000000003':
+ balance: '0'
+ pre:
+ 095e7baea6a6c7c4c2dfeb977efac326af552d87:
+ balance: '1000000000000000000'
+ code: '0x606060405260043610603e5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416632c3f2bf3811460b4575b3073ffffffffffffffffffffffffffffffffffffffff16632c3f2bf36040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401600060405180830381600087803b151560a057600080fd5b5af1151560ac57600080fd5b506003915050ff5b341560be57600080fd5b60c460c6565b005b3073ffffffffffffffffffffffffffffffffffffffff16ff00a165627a7a7230582004c215a78ad0add6ec7f9e2488a74efe60734d3dfe25da652ef8ac9dae892c4a0029'
+ nonce: '0'
+ storage: {}
+ a94f5374fce5edbc8e2a8697c15331677e6ebf0b:
+ balance: '1000000000000000000'
+ code: ''
+ nonce: '0'
+ storage: {}
+ transaction:
+ data:
+ - ''
+ gasLimit:
+ - '1000000000'
+ gasPrice: '0'
+ nonce: '0'
+ secretKey: 45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8
+ to: 095e7baea6a6c7c4c2dfeb977efac326af552d87
+ value:
+ - '100000'