Skip to content

Commit

Permalink
Update README
Browse files Browse the repository at this point in the history
  • Loading branch information
hugo-dc committed Apr 18, 2023
1 parent 3018aa6 commit 7980f7e
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 7 deletions.
4 changes: 2 additions & 2 deletions EOFTests/EIP4200/validInvalid.json
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
{
"validInvalid" : {
"_info" : {
"comment" : "Test various examples to see if they are valid or invalid.\nImplements\n# >@f1\n EOF1V4200_0001 (Valid) EOF code containing RJUMP (Positive, Negative)\n EOF1V4200_0002 (Valid) EOF code containing RJUMP (Zero)\n EOF1V4200_0003 (Valid) EOF code containing RJUMPI (Positive)\n EOF1V4200_0004 (Valid) EOF code containing RJUMPI (Negative)\n EOF1V4200_0005 (Valid) EOF code containing RJUMPI (Zero)\n EOF1V4200_0006 (Valid) EOF with RJUMPV table size 1 (Positive)\n EOF1V4200_0007 (Valid) EOF with RJUMPV table size 1 (Negative)\n EOF1V4200_0008 (Valid) EOF with RJUMPV table size 1 (Zero)\n EOF1V4200_0009 (Valid) EOF with RJUMPV table size 3\n EOF1V4200_0010 (Valid) EOF with RJUMPV table size 255 (Target 0)\n EOF1V4200_0011 (Valid) EOF with RJUMPV table size 255 (Target 100)\n EOF1V4200_0012 (Valid) EOF with RJUMPV table size 255 (Target 254)\n EOF1V4200_0013 (Valid) EOF with RJUMPV table size 255 (Target 256)\n EOF1I4200_0001 (Invalid) EOF code containing truncated RJUMP\n EOF1I4200_0002 (Invalid) EOF code containing truncated RJUMP\n EOF1I4200_0003 (Invalid) EOF code containing RJUMP with target outside code bounds (Jumping into header)\n EOF1I4200_0004 (Invalid) EOF code containing RJUMP with target outside code bounds (Jumping before code begin)\n EOF1I4200_0005 (Invalid) EOF code containing RJUMP with target outside code bounds (Jumping into data section)\n EOF1I4200_0006 (Invalid) EOF code containing RJUMP with target outside code bounds (Jumping after code end)\n EOF1I4200_0007 (Invalid) EOF code containing RJUMP with target outside code bounds (Jumping to code end)\n EOF1I4200_0008 (Invalid) EOF code containing RJUMP with target self RJUMP immediate\n EOF1I4200_0009 (Invalid) EOF code containing RJUMP with target other RJUMP immediate\n EOF1I4200_0010 (Invalid) EOF code containing RJUMP with target RJUMPI immediate\n EOF1I4200_0011 (Invalid) EOF code containing RJUMP with target PUSH immediate\n EOF1I4200_0012 (Invalid) EOF code containing RJUMP with target RJUMPV immediate\n EOF1I4200_0013 (Invalid) EOF code containing RJUMP with target CALLF immediate\n EOF1I4200_0014 (Invalid) EOF code containing truncated RJUMPI\n EOF1I4200_0015 (Invalid) EOF code containing truncated RJUMPI\n EOF1I4200_0016 (Invalid) EOF code containing RJUMPI with target outside code bounds (Jumping into header)\n EOF1I4200_0017 (Invalid) EOF code containing RJUMPI with target outside code bounds (Jumping to before code begin)\n EOF1I4200_0018 (Invalid) EOF code containing RJUMPI with target outside code bounds (Jumping into data section)\n EOF1I4200_0019 (Invalid) EOF code containing RJUMPI with target outside code bounds (Jumping to after code end)\n EOF1I4200_0020 (Invalid) EOF code containing RJUMPI with target outside code bounds (Jumping to code end)\n EOF1I4200_0021 (Invalid) EOF code containing RJUMPI with target same RJUMPI immediate\n EOF1I4200_0022 (Invalid) EOF code containing RJUMPI with target other RJUMPI immediate\n EOF1I4200_0023 (Invalid) EOF code containing RJUMPI with target RJUMP immediate\n EOF1I4200_0024 (Invalid) EOF code containing RJUMPI with target PUSH immediate\n EOF1I4200_0025 (Invalid) EOF code containing RJUMPI with target RJUMPV immediate\n EOF1I4200_0026 (Invalid) EOF code containing RJUMPI with target CALLF immediate\n EOF1I4200_0027 (Invalid) EOF code containing RJUMPV with count 0 and zero immediates\n EOF1I4200_0028 (Invalid) EOF code containing RJUMPV with count 0 and one immediates\n EOF1I4200_0029 (Invalid) EOF code containing truncated RJUMPV\n EOF1I4200_0030 (Invalid) EOF code containing truncated RJUMPV\n EOF1I4200_0031 (Invalid) EOF code containing truncated RJUMPV\n EOF1I4200_0032 (Invalid) EOF code containing RJUMPV with target outside code bounds (Jumping into header)\n EOF1I4200_0033 (Invalid) EOF code containing RJUMPV with target outside code bounds (Jumping to before code begin)\n EOF1I4200_0034 (Invalid) EOF code containing RJUMPV with target outside code bounds (Jumping into data section)\n EOF1I4200_0035 (Invalid) EOF code containing RJUMPV with target outside code bounds (Jumping to after code end)\n EOF1I4200_0036 (Invalid) EOF code containing RJUMPV with target outside code bounds (Jumping to code end)\n EOF1I4200_0037 (Invalid) EOF code containing RJUMPV with target same RJUMPV immediate\n EOF1I4200_0038 (Invalid) EOF code containing RJUMPV with target RJUMP immediate\n EOF1I4200_0039 (Invalid) EOF code containing RJUMPV with target RJUMPI immediate\n EOF1I4200_0040 (Invalid) EOF code containing RJUMPV with target PUSH immediate\n EOF1I4200_0041 (Invalid) EOF code containing RJUMPV with target other RJUMPV immediate\n EOF1I4200_0042 (Invalid) EOF code containing RJUMPV with target CALLF immediate\n # <@f1\n",
"comment" : "Test various examples to see if they are valid or invalid.\nImplements\n EOF1V4200_0001 (Valid) EOF code containing RJUMP (Positive, Negative)\n EOF1V4200_0002 (Valid) EOF code containing RJUMP (Zero)\n EOF1V4200_0003 (Valid) EOF code containing RJUMPI (Positive)\n EOF1V4200_0004 (Valid) EOF code containing RJUMPI (Negative)\n EOF1V4200_0005 (Valid) EOF code containing RJUMPI (Zero)\n EOF1V4200_0006 (Valid) EOF with RJUMPV table size 1 (Positive)\n EOF1V4200_0007 (Valid) EOF with RJUMPV table size 1 (Negative)\n EOF1V4200_0008 (Valid) EOF with RJUMPV table size 1 (Zero)\n EOF1V4200_0009 (Valid) EOF with RJUMPV table size 3\n EOF1V4200_0010 (Valid) EOF with RJUMPV table size 255 (Target 0)\n EOF1V4200_0011 (Valid) EOF with RJUMPV table size 255 (Target 100)\n EOF1V4200_0012 (Valid) EOF with RJUMPV table size 255 (Target 254)\n EOF1V4200_0013 (Valid) EOF with RJUMPV table size 255 (Target 256)\n EOF1I4200_0001 (Invalid) EOF code containing truncated RJUMP\n EOF1I4200_0002 (Invalid) EOF code containing truncated RJUMP\n EOF1I4200_0003 (Invalid) EOF code containing RJUMP with target outside code bounds (Jumping into header)\n EOF1I4200_0004 (Invalid) EOF code containing RJUMP with target outside code bounds (Jumping before code begin)\n EOF1I4200_0005 (Invalid) EOF code containing RJUMP with target outside code bounds (Jumping into data section)\n EOF1I4200_0006 (Invalid) EOF code containing RJUMP with target outside code bounds (Jumping after code end)\n EOF1I4200_0007 (Invalid) EOF code containing RJUMP with target outside code bounds (Jumping to code end)\n EOF1I4200_0008 (Invalid) EOF code containing RJUMP with target self RJUMP immediate\n EOF1I4200_0009 (Invalid) EOF code containing RJUMP with target other RJUMP immediate\n EOF1I4200_0010 (Invalid) EOF code containing RJUMP with target RJUMPI immediate\n EOF1I4200_0011 (Invalid) EOF code containing RJUMP with target PUSH immediate\n EOF1I4200_0012 (Invalid) EOF code containing RJUMP with target RJUMPV immediate\n EOF1I4200_0013 (Invalid) EOF code containing RJUMP with target CALLF immediate\n EOF1I4200_0014 (Invalid) EOF code containing truncated RJUMPI\n EOF1I4200_0015 (Invalid) EOF code containing truncated RJUMPI\n EOF1I4200_0016 (Invalid) EOF code containing RJUMPI with target outside code bounds (Jumping into header)\n EOF1I4200_0017 (Invalid) EOF code containing RJUMPI with target outside code bounds (Jumping to before code begin)\n EOF1I4200_0018 (Invalid) EOF code containing RJUMPI with target outside code bounds (Jumping into data section)\n EOF1I4200_0019 (Invalid) EOF code containing RJUMPI with target outside code bounds (Jumping to after code end)\n EOF1I4200_0020 (Invalid) EOF code containing RJUMPI with target outside code bounds (Jumping to code end)\n EOF1I4200_0021 (Invalid) EOF code containing RJUMPI with target same RJUMPI immediate\n EOF1I4200_0022 (Invalid) EOF code containing RJUMPI with target other RJUMPI immediate\n EOF1I4200_0023 (Invalid) EOF code containing RJUMPI with target RJUMP immediate\n EOF1I4200_0024 (Invalid) EOF code containing RJUMPI with target PUSH immediate\n EOF1I4200_0025 (Invalid) EOF code containing RJUMPI with target RJUMPV immediate\n EOF1I4200_0026 (Invalid) EOF code containing RJUMPI with target CALLF immediate\n EOF1I4200_0027 (Invalid) EOF code containing RJUMPV with count 0 and zero immediates\n EOF1I4200_0028 (Invalid) EOF code containing RJUMPV with count 0 and one immediates\n EOF1I4200_0029 (Invalid) EOF code containing truncated RJUMPV\n EOF1I4200_0030 (Invalid) EOF code containing truncated RJUMPV\n EOF1I4200_0031 (Invalid) EOF code containing truncated RJUMPV\n EOF1I4200_0032 (Invalid) EOF code containing RJUMPV with target outside code bounds (Jumping into header)\n EOF1I4200_0033 (Invalid) EOF code containing RJUMPV with target outside code bounds (Jumping to before code begin)\n EOF1I4200_0034 (Invalid) EOF code containing RJUMPV with target outside code bounds (Jumping into data section)\n EOF1I4200_0035 (Invalid) EOF code containing RJUMPV with target outside code bounds (Jumping to after code end)\n EOF1I4200_0036 (Invalid) EOF code containing RJUMPV with target outside code bounds (Jumping to code end)\n EOF1I4200_0037 (Invalid) EOF code containing RJUMPV with target same RJUMPV immediate\n EOF1I4200_0038 (Invalid) EOF code containing RJUMPV with target RJUMP immediate\n EOF1I4200_0039 (Invalid) EOF code containing RJUMPV with target RJUMPI immediate\n EOF1I4200_0040 (Invalid) EOF code containing RJUMPV with target PUSH immediate\n EOF1I4200_0041 (Invalid) EOF code containing RJUMPV with target other RJUMPV immediate\n EOF1I4200_0042 (Invalid) EOF code containing RJUMPV with target CALLF immediate\n",
"filling-rpc-server" : "evmone-t8n 0.10.0-dev",
"filling-tool-version" : "retesteth-0.3.1-shanghai+commit.e3504804.Linux.g++",
"generatedTestHash" : "db9811be39b2647352dadf51ac6a30091ebdde4345e4e2464b20acdf1b16adcb",
"lllcversion" : "Version: 0.5.14-develop.2022.4.6+commit.401d5358.Linux.g++",
"solidity" : "Version: 0.8.18-develop.2023.1.16+commit.469d6d4d.Linux.g++",
"source" : "src/EOFTestsFiller/EIP4200/validInvalidFiller.yml",
"sourceHash" : "23f21c115cc90793d790d5fc54219dec1b62060baa98cadffc346db6fb2a1aa8"
"sourceHash" : "80bd2ab94fc95a2f082a5b5bff98530379aa3ff7bde0364cc591f124f34975a0"
},
"vectors" : {
"validInvalid_0" : {
Expand Down
5 changes: 0 additions & 5 deletions src/EOFTestsFiller/EIP4200/validInvalidFiller.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ validInvalid:
comment: |
Test various examples to see if they are valid or invalid.
Implements
# >@f1
EOF1V4200_0001 (Valid) EOF code containing RJUMP (Positive, Negative)
EOF1V4200_0002 (Valid) EOF code containing RJUMP (Zero)
EOF1V4200_0003 (Valid) EOF code containing RJUMPI (Positive)
Expand Down Expand Up @@ -59,13 +58,11 @@ validInvalid:
EOF1I4200_0040 (Invalid) EOF code containing RJUMPV with target PUSH immediate
EOF1I4200_0041 (Invalid) EOF code containing RJUMPV with target other RJUMPV immediate
EOF1I4200_0042 (Invalid) EOF code containing RJUMPV with target CALLF immediate
# <@f1
forks:
- ">=Shanghai"

vectors:
# >@f2
# EOF1V4200_0001 (Valid) EOF code containing RJUMP (Positive, Negative)
# Code: RJUMP(push) save: SSTORE STOP push: PUSH1(1) PUSH1(1) RJUMP(save)
- data: |
Expand Down Expand Up @@ -1218,5 +1215,3 @@ validInvalid:
expectException:
"Shanghai" : "EOF_InvalidCode"
">=Cancun" : "EOF_InvalidJumpDestination"
# <@f2
55 changes: 55 additions & 0 deletions src/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,48 @@
- ID: **EOF1I0023** sections with unreachable code fail
- ID: **EOF1I0024** sections that end with a non-terminator opcode fail
- ID: **EOF1I0025** data stack height of 1024 is invalid
- ID: **EOF1I4200_0001**: EOF code containing truncated RJUMP
- ID: **EOF1I4200_0002**: EOF code containing truncated RJUMP
- ID: **EOF1I4200_0003**: EOF code containing RJUMP with target outside code bounds (Jumping into header)
- ID: **EOF1I4200_0004**: EOF code containing RJUMP with target outside code bounds (Jumping before code begin)
- ID: **EOF1I4200_0005**: EOF code containing RJUMP with target outside code bounds (Jumping into data section)
- ID: **EOF1I4200_0006**: EOF code containing RJUMP with target outside code bounds (Jumping after code end)
- ID: **EOF1I4200_0007**: EOF code containing RJUMP with target outside code bounds (Jumping to code end)
- ID: **EOF1I4200_0008**: EOF code containing RJUMP with target self RJUMP immediate
- ID: **EOF1I4200_0009**: EOF code containing RJUMP with target other RJUMP immediate
- ID: **EOF1I4200_0010**: EOF code containing RJUMP with target RJUMPI immediate
- ID: **EOF1I4200_0011**: EOF code containing RJUMP with target PUSH immediate
- ID: **EOF1I4200_0012**: EOF code containing RJUMP with target RJUMPV immediate
- ID: **EOF1I4200_0013**: EOF code containing RJUMP with target CALLF immediate
- ID: **EOF1I4200_0014**: EOF code containing truncated RJUMPI
- ID: **EOF1I4200_0015**: EOF code containing truncated RJUMPI
- ID: **EOF1I4200_0016**: EOF code containing RJUMPI with target outside code bounds (Jumping into header)
- ID: **EOF1I4200_0017**: EOF code containing RJUMPI with target outside code bounds (Jumping to before code begin)
- ID: **EOF1I4200_0018**: EOF code containing RJUMPI with target outside code bounds (Jumping into data section)
- ID: **EOF1I4200_0019**: EOF code containing RJUMPI with target outside code bounds (Jumping to after code end)
- ID: **EOF1I4200_0020**: EOF code containing RJUMPI with target outside code bounds (Jumping to code end)
- ID: **EOF1I4200_0021**: EOF code containing RJUMPI with target same RJUMPI immediate
- ID: **EOF1I4200_0022**: EOF code containing RJUMPI with target other RJUMPI immediate
- ID: **EOF1I4200_0023**: EOF code containing RJUMPI with target RJUMP immediate
- ID: **EOF1I4200_0024**: EOF code containing RJUMPI with target PUSH immediate
- ID: **EOF1I4200_0025**: EOF code containing RJUMPI with target RJUMPV immediate
- ID: **EOF1I4200_0026**: EOF code containing RJUMPI with target CALLF immediate
- ID: **EOF1I4200_0027**: EOF code containing RJUMPV with count 0 and zero immediates
- ID: **EOF1I4200_0028**: EOF code containing RJUMPV with count 0 and one immediates
- ID: **EOF1I4200_0029**: EOF code containing truncated RJUMPV
- ID: **EOF1I4200_0030**: EOF code containing truncated RJUMPV
- ID: **EOF1I4200_0031**: EOF code containing truncated RJUMPV
- ID: **EOF1I4200_0032**: EOF code containing RJUMPV with target outside code bounds (Jumping into header)
- ID: **EOF1I4200_0033**: EOF code containing RJUMPV with target outside code bounds (Jumping to before code begin)
- ID: **EOF1I4200_0034**: EOF code containing RJUMPV with target outside code bounds (Jumping into data section)
- ID: **EOF1I4200_0035**: EOF code containing RJUMPV with target outside code bounds (Jumping to after code end)
- ID: **EOF1I4200_0036**: EOF code containing RJUMPV with target outside code bounds (Jumping to code end)
- ID: **EOF1I4200_0037**: EOF code containing RJUMPV with target same RJUMPV immediate
- ID: **EOF1I4200_0038**: EOF code containing RJUMPV with target RJUMP immediate
- ID: **EOF1I4200_0039**: EOF code containing RJUMPV with target RJUMPI immediate
- ID: **EOF1I4200_0040**: EOF code containing RJUMPV with target PUSH immediate
- ID: **EOF1I4200_0041**: EOF code containing RJUMPV with target other RJUMPV immediate
- ID: **EOF1I4200_0042**: EOF code containing RJUMPV with target CALLF immediate
- ID: **EOF1I5450_0001** Stack height mismatch for different paths (a)
- ID: **EOF1I5450_0002** Stack height mismatch for different paths (b)
- ID: **EOF1I5450_0003** Calls returning different number of outputs
Expand Down Expand Up @@ -188,6 +230,19 @@
- ID: **EOF1V0013** jump tables work
- ID: **EOF1V0014** sections that end with a legit terminating opcode are OK
- ID: **EOF1V0015** data stack height of 1023 is valid
- ID: **EOF1V4200_0001**: EOF code containing RJUMP (Positive, Negative)
- ID: **EOF1V4200_0002**: EOF code containing RJUMP (Zero)
- ID: **EOF1V4200_0003**: EOF code containing RJUMPI (Positive)
- ID: **EOF1V4200_0004**: EOF code containing RJUMPI (Negative)
- ID: **EOF1V4200_0005**: EOF code containing RJUMPI (Zero)
- ID: **EOF1V4200_0006**: EOF with RJUMPV table size 1 (Positive)
- ID: **EOF1V4200_0007**: EOF with RJUMPV table size 1 (Negative)
- ID: **EOF1V4200_0008**: EOF with RJUMPV table size 1 (Zero)
- ID: **EOF1V4200_0009**: EOF with RJUMPV table size 3
- ID: **EOF1V4200_0010**: EOF with RJUMPV table size 255 (Target 0)
- ID: **EOF1V4200_0011**: EOF with RJUMPV table size 255 (Target 100)
- ID: **EOF1V4200_0012**: EOF with RJUMPV table size 255 (Target 254)
- ID: **EOF1V4200_0013**: EOF with RJUMPV table size 255 (Target 256)
- ID: **EOF1V5450_0001** Code with branches having the same stack height
- ID: **EOF1V5450_0002** Jump table
- ID: **EOF1V5450_0003** Infinite loop
Expand Down

0 comments on commit 7980f7e

Please sign in to comment.