diff --git a/rskj-core/src/main/java/org/ethereum/config/blockchain/upgrades/NetworkUpgrade.java b/rskj-core/src/main/java/org/ethereum/config/blockchain/upgrades/NetworkUpgrade.java index 299cc3b9803..e47ed0fe7d6 100644 --- a/rskj-core/src/main/java/org/ethereum/config/blockchain/upgrades/NetworkUpgrade.java +++ b/rskj-core/src/main/java/org/ethereum/config/blockchain/upgrades/NetworkUpgrade.java @@ -31,7 +31,8 @@ public enum NetworkUpgrade { HOP400("hop400"), HOP401("hop401"), FINGERROOT500("fingerroot500"), - ARROWHEAD600("arrowhead600"); + ARROWHEAD600("arrowhead600"), + LOVELL700("lovell700"); private String name; diff --git a/rskj-core/src/main/resources/config/devnet.conf b/rskj-core/src/main/resources/config/devnet.conf index d1eda6f0c4c..43725ff44ba 100644 --- a/rskj-core/src/main/resources/config/devnet.conf +++ b/rskj-core/src/main/resources/config/devnet.conf @@ -12,7 +12,8 @@ blockchain.config { hop400 = 0, hop401 = 0, fingerroot500 = 0, - arrowhead600 = 0 + arrowhead600 = 0, + lovell700 = 0 }, consensusRules = { rskip97 = -1 # disable orchid difficulty drop diff --git a/rskj-core/src/main/resources/config/main.conf b/rskj-core/src/main/resources/config/main.conf index d502c49382a..e36939f99a2 100644 --- a/rskj-core/src/main/resources/config/main.conf +++ b/rskj-core/src/main/resources/config/main.conf @@ -12,7 +12,8 @@ blockchain.config { hop400 = 4598500, hop401 = 4976300, fingerroot500 = 5468000, - arrowhead600 = 6223700 + arrowhead600 = 6223700, + lovell700 = -1 } } diff --git a/rskj-core/src/main/resources/config/regtest.conf b/rskj-core/src/main/resources/config/regtest.conf index f5949e94cf4..d0b95b4036c 100644 --- a/rskj-core/src/main/resources/config/regtest.conf +++ b/rskj-core/src/main/resources/config/regtest.conf @@ -11,8 +11,9 @@ blockchain.config { iris300 = 0, hop400 = 0, hop401 = 0, - fingerroot500 = 0 - arrowhead600 = 0 + fingerroot500 = 0, + arrowhead600 = 0, + lovell700 = 0 }, consensusRules = { rskip97 = -1 # disable orchid difficulty drop diff --git a/rskj-core/src/main/resources/config/testnet.conf b/rskj-core/src/main/resources/config/testnet.conf index b07f13706f0..d0da9e12899 100644 --- a/rskj-core/src/main/resources/config/testnet.conf +++ b/rskj-core/src/main/resources/config/testnet.conf @@ -12,7 +12,8 @@ blockchain.config { hop400 = 3103000, hop401 = 3362200, fingerroot500 = 4015800, - arrowhead600 = 4927100 + arrowhead600 = 4927100, + lovell700 = -1 }, consensusRules = { rskip97 = -1, # disable orchid difficulty drop diff --git a/rskj-core/src/main/resources/expected.conf b/rskj-core/src/main/resources/expected.conf index 551586b82fc..fbb975405ac 100644 --- a/rskj-core/src/main/resources/expected.conf +++ b/rskj-core/src/main/resources/expected.conf @@ -16,6 +16,7 @@ blockchain = { hop401 = fingerroot500 = arrowhead600 = + lovell700 = } consensusRules = { areBridgeTxsPaid = diff --git a/rskj-core/src/test/java/org/ethereum/config/blockchain/upgrades/ActivationConfigTest.java b/rskj-core/src/test/java/org/ethereum/config/blockchain/upgrades/ActivationConfigTest.java index 68951cfbf64..c33a2cad95f 100644 --- a/rskj-core/src/test/java/org/ethereum/config/blockchain/upgrades/ActivationConfigTest.java +++ b/rskj-core/src/test/java/org/ethereum/config/blockchain/upgrades/ActivationConfigTest.java @@ -43,6 +43,7 @@ class ActivationConfigTest { " hop401: 0", " fingerroot500: 0", " arrowhead600: 0", + " lovell700: 0", "},", "consensusRules: {", " areBridgeTxsPaid: afterBridgeSync,", diff --git a/rskj-core/src/test/java/org/ethereum/config/blockchain/upgrades/ActivationConfigsForTest.java b/rskj-core/src/test/java/org/ethereum/config/blockchain/upgrades/ActivationConfigsForTest.java index 8318e2ff6d0..9cb7092aeed 100644 --- a/rskj-core/src/test/java/org/ethereum/config/blockchain/upgrades/ActivationConfigsForTest.java +++ b/rskj-core/src/test/java/org/ethereum/config/blockchain/upgrades/ActivationConfigsForTest.java @@ -191,6 +191,11 @@ private static List getArrowhead600Rskips() { return rskips; } + private static List getLovell700Rskips() { + List rskips = new ArrayList<>(); + return rskips; + } + public static ActivationConfig genesis() { return only(); } @@ -333,6 +338,30 @@ public static ActivationConfig arrowhead600(List except) { return enableTheseDisableThose(rskips, except); } + public static ActivationConfig lovell700(List except) { + List rskips = new ArrayList<>(); + rskips.addAll(getPaidBridgeTxsRskip()); + rskips.addAll(getOrchidRskips()); + rskips.addAll(getOrchid060Rskips()); + rskips.addAll(getWasabi100Rskips()); + rskips.addAll(getBahamasRskips()); + rskips.addAll(getTwoToThreeRskips()); + rskips.addAll(getPapyrus200Rskips()); + rskips.addAll(getIris300Rskips()); + rskips.addAll(getHop400Rskips()); + rskips.addAll(getHop401Rskips()); + rskips.addAll(getFingerroot500Rskips()); + rskips.addAll(getArrowhead600Rskips()); + rskips.addAll(getLovell700Rskips()); + + return enableTheseDisableThose(rskips, except); + } + + public static ActivationConfig lovell700() { + return lovell700(Collections.emptyList()); + } + + public static ActivationConfig regtest() { return REGTEST; }