Skip to content

Commit 3f2bcb3

Browse files
committed
Merge remote-tracking branch 'refs/remotes/origin/taint-domain' into taint-domain
2 parents 9b8673c + b10ed48 commit 3f2bcb3

File tree

115 files changed

+6993
-129
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

115 files changed

+6993
-129
lines changed

evm-testcases/taint/example/example.sol renamed to evm-testcases/taint/testTimestampDependency/example/example.sol

File renamed without changes.
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
{
2+
"warnings" : [ ],
3+
"files" : [ "report.json", "untyped_program.evm-testcases_taint_testTimestampDependency_example_example.sol().json" ],
4+
"info" : {
5+
"cfgs" : "1",
6+
"duration" : "729ms",
7+
"end" : "2025-01-30T16:26:20.840+01:00",
8+
"expressions" : "2",
9+
"files" : "1",
10+
"globals" : "0",
11+
"members" : "1",
12+
"programs" : "1",
13+
"start" : "2025-01-30T16:26:20.111+01:00",
14+
"statements" : "4",
15+
"units" : "0",
16+
"version" : "0.1",
17+
"warnings" : "0"
18+
},
19+
"configuration" : {
20+
"analysisGraphs" : "NONE",
21+
"descendingPhaseType" : "NONE",
22+
"dumpForcesUnwinding" : "false",
23+
"fixpointWorkingSet" : "DuplicateFreeFIFOWorkingSet",
24+
"glbThreshold" : "5",
25+
"hotspots" : "unset",
26+
"jsonOutput" : "true",
27+
"openCallPolicy" : "WorstCasePolicy",
28+
"optimize" : "false",
29+
"recursionWideningThreshold" : "5",
30+
"semanticChecks" : "",
31+
"serializeInputs" : "false",
32+
"serializeResults" : "true",
33+
"syntacticChecks" : "",
34+
"useWideningPoints" : "false",
35+
"wideningThreshold" : "5",
36+
"workdir" : "evm-outputs/taint/testTimestampDependency/example"
37+
}
38+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
{
2+
"name": "untyped program::evm-testcases/taint/testTimestampDependency/example/example.sol()",
3+
"description": null,
4+
"nodes": [
5+
{
6+
"id": 0,
7+
"subNodes": [
8+
1
9+
],
10+
"text": "PUSH1 0x10"
11+
},
12+
{
13+
"id": 1,
14+
"text": "0x10"
15+
},
16+
{
17+
"id": 2,
18+
"subNodes": [
19+
3
20+
],
21+
"text": "PUSH1 0x10"
22+
},
23+
{
24+
"id": 3,
25+
"text": "0x10"
26+
},
27+
{
28+
"id": 4,
29+
"text": "ORIGIN"
30+
},
31+
{
32+
"id": 5,
33+
"text": "ret"
34+
}
35+
],
36+
"edges": [
37+
{
38+
"sourceId": 0,
39+
"destId": 2,
40+
"kind": "SequentialEdge"
41+
},
42+
{
43+
"sourceId": 2,
44+
"destId": 4,
45+
"kind": "SequentialEdge"
46+
},
47+
{
48+
"sourceId": 4,
49+
"destId": 5,
50+
"kind": "SequentialEdge"
51+
}
52+
],
53+
"descriptions": [
54+
{
55+
"nodeId": 0,
56+
"description": {
57+
"expressions": [
58+
"push \"0x10\""
59+
],
60+
"state": {
61+
"heap": "monolith",
62+
"type": "#TOP#",
63+
"value": "[_|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, C]"
64+
}
65+
}
66+
},
67+
{
68+
"nodeId": 1,
69+
"description": {
70+
"expressions": [
71+
"\"0x10\""
72+
],
73+
"state": "#TOP#"
74+
}
75+
},
76+
{
77+
"nodeId": 2,
78+
"description": {
79+
"expressions": [
80+
"push \"0x10\""
81+
],
82+
"state": {
83+
"heap": "monolith",
84+
"type": "#TOP#",
85+
"value": "[_|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, C, C]"
86+
}
87+
}
88+
},
89+
{
90+
"nodeId": 3,
91+
"description": {
92+
"expressions": [
93+
"\"0x10\""
94+
],
95+
"state": {
96+
"heap": "monolith",
97+
"type": "#TOP#",
98+
"value": "[_|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, C]"
99+
}
100+
}
101+
},
102+
{
103+
"nodeId": 4,
104+
"description": {
105+
"expressions": [
106+
"origin 1"
107+
],
108+
"state": {
109+
"heap": "monolith",
110+
"type": "#TOP#",
111+
"value": "[_|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, C, C, C]"
112+
}
113+
}
114+
},
115+
{
116+
"nodeId": 5,
117+
"description": {
118+
"expressions": [
119+
"skip"
120+
],
121+
"state": "#TOP#"
122+
}
123+
}
124+
]
125+
}

evm-testcases/taint/example02/example02.sol renamed to evm-testcases/taint/testTimestampDependency/example02/example02.sol

File renamed without changes.
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
{
2+
"warnings" : [ ],
3+
"files" : [ "report.json", "untyped_program.evm-testcases_taint_testTimestampDependency_example02_example02.sol().json" ],
4+
"info" : {
5+
"cfgs" : "1",
6+
"duration" : "659ms",
7+
"end" : "2025-01-30T16:28:17.292+01:00",
8+
"expressions" : "2",
9+
"files" : "1",
10+
"globals" : "0",
11+
"members" : "1",
12+
"programs" : "1",
13+
"start" : "2025-01-30T16:28:16.633+01:00",
14+
"statements" : "6",
15+
"units" : "0",
16+
"version" : "0.1",
17+
"warnings" : "0"
18+
},
19+
"configuration" : {
20+
"analysisGraphs" : "NONE",
21+
"descendingPhaseType" : "NONE",
22+
"dumpForcesUnwinding" : "false",
23+
"fixpointWorkingSet" : "DuplicateFreeFIFOWorkingSet",
24+
"glbThreshold" : "5",
25+
"hotspots" : "unset",
26+
"jsonOutput" : "true",
27+
"openCallPolicy" : "WorstCasePolicy",
28+
"optimize" : "false",
29+
"recursionWideningThreshold" : "5",
30+
"semanticChecks" : "",
31+
"serializeInputs" : "false",
32+
"serializeResults" : "true",
33+
"syntacticChecks" : "",
34+
"useWideningPoints" : "false",
35+
"wideningThreshold" : "5",
36+
"workdir" : "evm-outputs/taint/testTimestampDependency/example02"
37+
}
38+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,169 @@
1+
{
2+
"name": "untyped program::evm-testcases/taint/testTimestampDependency/example02/example02.sol()",
3+
"description": null,
4+
"nodes": [
5+
{
6+
"id": 0,
7+
"subNodes": [
8+
1
9+
],
10+
"text": "PUSH1 0x10"
11+
},
12+
{
13+
"id": 1,
14+
"text": "0x10"
15+
},
16+
{
17+
"id": 2,
18+
"subNodes": [
19+
3
20+
],
21+
"text": "PUSH1 0x10"
22+
},
23+
{
24+
"id": 3,
25+
"text": "0x10"
26+
},
27+
{
28+
"id": 4,
29+
"text": "AND"
30+
},
31+
{
32+
"id": 5,
33+
"text": "ORIGIN"
34+
},
35+
{
36+
"id": 6,
37+
"text": "ADD"
38+
},
39+
{
40+
"id": 7,
41+
"text": "ret"
42+
}
43+
],
44+
"edges": [
45+
{
46+
"sourceId": 0,
47+
"destId": 2,
48+
"kind": "SequentialEdge"
49+
},
50+
{
51+
"sourceId": 2,
52+
"destId": 4,
53+
"kind": "SequentialEdge"
54+
},
55+
{
56+
"sourceId": 4,
57+
"destId": 5,
58+
"kind": "SequentialEdge"
59+
},
60+
{
61+
"sourceId": 5,
62+
"destId": 6,
63+
"kind": "SequentialEdge"
64+
},
65+
{
66+
"sourceId": 6,
67+
"destId": 7,
68+
"kind": "SequentialEdge"
69+
}
70+
],
71+
"descriptions": [
72+
{
73+
"nodeId": 0,
74+
"description": {
75+
"expressions": [
76+
"push \"0x10\""
77+
],
78+
"state": {
79+
"heap": "monolith",
80+
"type": "#TOP#",
81+
"value": "[_|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, C]"
82+
}
83+
}
84+
},
85+
{
86+
"nodeId": 1,
87+
"description": {
88+
"expressions": [
89+
"\"0x10\""
90+
],
91+
"state": "#TOP#"
92+
}
93+
},
94+
{
95+
"nodeId": 2,
96+
"description": {
97+
"expressions": [
98+
"push \"0x10\""
99+
],
100+
"state": {
101+
"heap": "monolith",
102+
"type": "#TOP#",
103+
"value": "[_|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, C, C]"
104+
}
105+
}
106+
},
107+
{
108+
"nodeId": 3,
109+
"description": {
110+
"expressions": [
111+
"\"0x10\""
112+
],
113+
"state": {
114+
"heap": "monolith",
115+
"type": "#TOP#",
116+
"value": "[_|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, C]"
117+
}
118+
}
119+
},
120+
{
121+
"nodeId": 4,
122+
"description": {
123+
"expressions": [
124+
"and 1"
125+
],
126+
"state": {
127+
"heap": "monolith",
128+
"type": "#TOP#",
129+
"value": "[_|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, C]"
130+
}
131+
}
132+
},
133+
{
134+
"nodeId": 5,
135+
"description": {
136+
"expressions": [
137+
"origin 1"
138+
],
139+
"state": {
140+
"heap": "monolith",
141+
"type": "#TOP#",
142+
"value": "[_|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, C, C]"
143+
}
144+
}
145+
},
146+
{
147+
"nodeId": 6,
148+
"description": {
149+
"expressions": [
150+
"add 1"
151+
],
152+
"state": {
153+
"heap": "monolith",
154+
"type": "#TOP#",
155+
"value": "[_|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, _|_, C]"
156+
}
157+
}
158+
},
159+
{
160+
"nodeId": 7,
161+
"description": {
162+
"expressions": [
163+
"skip"
164+
],
165+
"state": "#TOP#"
166+
}
167+
}
168+
]
169+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
PUSH1 0x20
2+
PUSH1 0x10
3+
ADD
4+
EXTCODESIZE
5+
PUSH1 0x10
6+
OR
7+
ORIGIN
8+
ADD
9+
TIMESTAMP
10+
EXTCODESIZE

0 commit comments

Comments
 (0)