Skip to content

Commit a28523f

Browse files
committed
Add separate Backwards Compatiblity section
1 parent 1be5a30 commit a28523f

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

spec/eofv0_verkle.md

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,11 @@ An alternative to the existing method of executing
77

88
## Goal
99

10-
1. Provide the result of the jumpdest analysis of a deployed code as the EOF section.
10+
Provide the result of the jumpdest analysis of a deployed code as the EOF section.
1111
During code execution the jumpdest analysis is already available
1212
and the answer to the question "is this jump target valid?" can be looked up
1313
in the section. This allows using 32-byte Verkle Tree code chunks
1414
(instead of 31-byte of code + 1 byte of metadata).
15-
2. EOF-packaged code execution if fully compatible with the legacy code execution.
1615

1716
## Specification Draft
1817

@@ -30,6 +29,17 @@ in the section. This allows using 32-byte Verkle Tree code chunks
3029
and also for every contract creation later
3130
(i.e. becomes the part of the consensus forever).
3231

32+
## Backwards Compatibility
33+
34+
EOF-packaged code execution if fully compatible with the legacy code execution.
35+
This is achieved by prepending the legacy code with EOF header and the section containing
36+
jumpdest metadata. The contents of the code section is identical to the lagacy code.
37+
Moreover, the wrapping process is bidirectional: wrapping can be created from the legacy code
38+
and legacy code extracted from the wrapping without any information loss.
39+
Implementations may consider keeping the legacy code in the database without modifications
40+
and only construct the EOF wrapping when loading the code from the database.
41+
42+
3343
## Rationale
3444

3545
### Jumpdests encoding

0 commit comments

Comments
 (0)