1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
{
"static_CheckOpcodes" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x020000",
"currentGasLimit" : "10000000",
"currentNumber" : "1",
"currentTimestamp" : "1000",
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
},
"expect" : [
{
"indexes" : {
"data" : -1,
"gas" : 1,
"value" : -1
},
"network" : ["Byzantium"],
"result" : {
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"nonce" : "1"
},
"1000000000000000000000000000000000000000" : {
"storage" : {
"0x01" : "0x01"
}
}
}
}
],
"pre" :
{
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "1000000000000",
"code" : "",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000000" : {
"balance" : "0",
"nonce" : "0",
"code" : "check ORIGIN, CALLER, ADDRESS, CALLVALUE inside staticcall",
"code" : "{ [[1]] (STATICCALL 100000 (CALLDATALOAD 0) 0 0 0 0) }",
"storage": {
}
},
"1000000000000000000000000000000000000001" : {
"balance" : "0",
"nonce" : "0",
"code" : "{ (if (= 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x1000000000000000000000000000000000000000 (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x1000000000000000000000000000000000000001 (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) }",
"storage": {
}
},
"1000000000000000000000000000000000000002" : {
"balance" : "0",
"nonce" : "0",
"code" : "check ORIGIN, CALLER, ADDRESS, CALLVALUE inside staticcall",
"code" : "{ (STATICCALL 100000 0x1000000000000000000000000000000000000003 0 0 0 0) }",
"storage": {
}
},
"1000000000000000000000000000000000000003" : {
"balance" : "0",
"nonce" : "0",
"code" : "{ (if (= 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x1000000000000000000000000000000000000002 (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x1000000000000000000000000000000000000001 (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) }",
"storage": {
}
}
},
"transaction" : {
"data" : [
"0 - staticcall -> check",
"1 - staticcall -> staticcall -> check"
],
"data" : [
"0x0000000000000000000000001000000000000000000000000000000000000001",
"0x0000000000000000000000001000000000000000000000000000000000000002"
],
"gasLimit" : [
"50000", "335000"
],
"gasPrice" : "1",
"nonce" : "0",
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
"to" : "1000000000000000000000000000000000000000",
"value" : [
"0", "100"
]
}
}
}
|