Move EOF to the Osaka Fork (#7719)

* Move EOF to the Osaka Fork

* Ensure Osaka activations are working
* Remove CancunEOF and PragueEOF forks
* Move EOF tools to default to Osaka

Signed-off-by: Danno Ferrin <danno@numisight.com>

* remove eof tests that fail only because of fork

Signed-off-by: Danno Ferrin <danno@numisight.com>

* Restore CancunEOF


* Update unit tests to use "Cancun" as pre-eof fork
* Make PC in trace zeroed to start of code section 0
* Update extcall to consider precompiles warm
* Add stack checking to CALLF operation

Signed-off-by: Danno Ferrin <danno@numisight.com>
---------

Signed-off-by: Danno Ferrin <danno@numisight.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
This commit is contained in:
Danno Ferrin
2024-10-10 17:43:17 -06:00
committed by GitHub
parent e723b622c8
commit efb6906e13
50 changed files with 225 additions and 278 deletions

View File

@@ -257,11 +257,11 @@ public interface GenesisConfigOptions {
OptionalLong getPragueTime();
/**
* Gets Prague EOF time.
* Gets Osaka time.
*
* @return the prague time
* @return the osaka time
*/
OptionalLong getPragueEOFTime();
OptionalLong getOsakaTime();
/**
* Gets future eips time.

View File

@@ -308,8 +308,8 @@ public class JsonGenesisConfigOptions implements GenesisConfigOptions {
}
@Override
public OptionalLong getPragueEOFTime() {
return getOptionalLong("pragueeoftime");
public OptionalLong getOsakaTime() {
return getOptionalLong("osakatime");
}
@Override
@@ -486,7 +486,7 @@ public class JsonGenesisConfigOptions implements GenesisConfigOptions {
getCancunTime().ifPresent(l -> builder.put("cancunTime", l));
getCancunEOFTime().ifPresent(l -> builder.put("cancunEOFTime", l));
getPragueTime().ifPresent(l -> builder.put("pragueTime", l));
getPragueEOFTime().ifPresent(l -> builder.put("pragueEOFTime", l));
getOsakaTime().ifPresent(l -> builder.put("osakaTime", l));
getTerminalBlockNumber().ifPresent(l -> builder.put("terminalBlockNumber", l));
getTerminalBlockHash().ifPresent(h -> builder.put("terminalBlockHash", h.toHexString()));
getFutureEipsTime().ifPresent(l -> builder.put("futureEipsTime", l));
@@ -640,7 +640,7 @@ public class JsonGenesisConfigOptions implements GenesisConfigOptions {
getCancunTime(),
getCancunEOFTime(),
getPragueTime(),
getPragueEOFTime(),
getOsakaTime(),
getFutureEipsTime(),
getExperimentalEipsTime());
// when adding forks add an entry to ${REPO_ROOT}/config/src/test/resources/all_forks.json

View File

@@ -50,7 +50,7 @@ public class StubGenesisConfigOptions implements GenesisConfigOptions, Cloneable
private OptionalLong cancunTime = OptionalLong.empty();
private OptionalLong cancunEOFTime = OptionalLong.empty();
private OptionalLong pragueTime = OptionalLong.empty();
private OptionalLong pragueEOFTime = OptionalLong.empty();
private OptionalLong osakaTime = OptionalLong.empty();
private OptionalLong futureEipsTime = OptionalLong.empty();
private OptionalLong experimentalEipsTime = OptionalLong.empty();
private OptionalLong terminalBlockNumber = OptionalLong.empty();
@@ -252,8 +252,8 @@ public class StubGenesisConfigOptions implements GenesisConfigOptions, Cloneable
}
@Override
public OptionalLong getPragueEOFTime() {
return pragueEOFTime;
public OptionalLong getOsakaTime() {
return osakaTime;
}
@Override
@@ -671,14 +671,13 @@ public class StubGenesisConfigOptions implements GenesisConfigOptions, Cloneable
}
/**
* PragueEOF time.
* Osaka time.
*
* @param timestamp the timestamp
* @return the stub genesis config options
*/
public StubGenesisConfigOptions pragueEOFTime(final long timestamp) {
pragueTime = OptionalLong.of(timestamp);
pragueEOFTime = pragueTime;
public StubGenesisConfigOptions osakaTime(final long timestamp) {
osakaTime = OptionalLong.of(timestamp);
return this;
}

View File

@@ -207,10 +207,9 @@ class GenesisConfigOptionsTest {
}
@Test
void shouldGetPragueEOFTime() {
final GenesisConfigOptions config =
fromConfigOptions(singletonMap("pragueEOFTime", 1670470143));
assertThat(config.getPragueEOFTime()).hasValue(1670470143);
void shouldGetOsakaTime() {
final GenesisConfigOptions config = fromConfigOptions(singletonMap("osakaTime", 1670470143));
assertThat(config.getOsakaTime()).hasValue(1670470143);
}
@Test
@@ -247,7 +246,7 @@ class GenesisConfigOptionsTest {
assertThat(config.getCancunTime()).isEmpty();
assertThat(config.getCancunEOFTime()).isEmpty();
assertThat(config.getPragueTime()).isEmpty();
assertThat(config.getPragueEOFTime()).isEmpty();
assertThat(config.getOsakaTime()).isEmpty();
assertThat(config.getFutureEipsTime()).isEmpty();
assertThat(config.getExperimentalEipsTime()).isEmpty();
}