Skip to content

Commit f71e515

Browse files
[ETCM-1015] Init empty ForkBlockNumbers
DRY
1 parent cc59ac8 commit f71e515

File tree

8 files changed

+38
-122
lines changed

8 files changed

+38
-122
lines changed

src/it/scala/io/iohk/ethereum/txExecTest/ForksTest.scala

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -22,29 +22,12 @@ class ForksTest extends AnyFlatSpec with Matchers {
2222

2323
trait TestSetup extends ScenarioSetup {
2424
override lazy val blockchainConfig: BlockchainConfig = BlockchainConfig(
25-
forkBlockNumbers = ForkBlockNumbers(
25+
forkBlockNumbers = ForkBlockNumbers.Empty.copy(
2626
frontierBlockNumber = 0,
2727
homesteadBlockNumber = 3,
2828
eip150BlockNumber = 5,
2929
eip160BlockNumber = 7,
3030
eip155BlockNumber = 0,
31-
eip106BlockNumber = Long.MaxValue,
32-
eip161BlockNumber = Long.MaxValue,
33-
difficultyBombPauseBlockNumber = Long.MaxValue,
34-
difficultyBombContinueBlockNumber = Long.MaxValue,
35-
difficultyBombRemovalBlockNumber = Long.MaxValue,
36-
byzantiumBlockNumber = Long.MaxValue,
37-
constantinopleBlockNumber = Long.MaxValue,
38-
istanbulBlockNumber = Long.MaxValue,
39-
atlantisBlockNumber = Long.MaxValue,
40-
aghartaBlockNumber = Long.MaxValue,
41-
phoenixBlockNumber = Long.MaxValue,
42-
petersburgBlockNumber = Long.MaxValue,
43-
ecip1098BlockNumber = Long.MaxValue,
44-
ecip1097BlockNumber = Long.MaxValue,
45-
ecip1099BlockNumber = Long.MaxValue,
46-
ecip1049BlockNumber = None,
47-
ecip1103BlockNumber = Long.MaxValue,
4831
),
4932
chainId = 0x3d.toByte,
5033
monetaryPolicyConfig = MonetaryPolicyConfig(5000000, 0.2, 5000000000000000000L, 3000000000000000000L),

src/main/scala/io/iohk/ethereum/jsonrpc/TestService.scala

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -217,29 +217,19 @@ class TestService(
217217

218218
// For block number which are not specified by retesteth, we try to align the number to another fork
219219
currentConfig.copy(
220-
forkBlockNumbers = ForkBlockNumbers(
221-
frontierBlockNumber = 0,
220+
forkBlockNumbers = ForkBlockNumbers.Empty.copy(
222221
homesteadBlockNumber = blockchainParams.homesteadForkBlock.getOrElse(neverOccurringBlock),
223-
eip106BlockNumber = neverOccurringBlock,
224222
eip150BlockNumber = blockchainParams.EIP150ForkBlock.getOrElse(neverOccurringBlock),
225223
eip155BlockNumber = byzantiumBlockNumber,
226224
eip160BlockNumber = byzantiumBlockNumber,
227225
eip161BlockNumber = byzantiumBlockNumber,
228-
difficultyBombPauseBlockNumber = neverOccurringBlock,
229-
difficultyBombContinueBlockNumber = neverOccurringBlock,
230-
difficultyBombRemovalBlockNumber = neverOccurringBlock,
231226
byzantiumBlockNumber = byzantiumBlockNumber,
232-
ecip1049BlockNumber = None,
233-
ecip1097BlockNumber = neverOccurringBlock,
234-
ecip1098BlockNumber = neverOccurringBlock,
235227
constantinopleBlockNumber = blockchainParams.constantinopleForkBlock.getOrElse(neverOccurringBlock),
236228
petersburgBlockNumber = istanbulForkBlockNumber,
237229
aghartaBlockNumber = istanbulForkBlockNumber,
238230
istanbulBlockNumber = istanbulForkBlockNumber,
239231
atlantisBlockNumber = istanbulForkBlockNumber,
240232
phoenixBlockNumber = istanbulForkBlockNumber,
241-
ecip1099BlockNumber = neverOccurringBlock,
242-
ecip1103BlockNumber = neverOccurringBlock
243233
),
244234
accountStartNonce = UInt256(blockchainParams.accountStartNonce),
245235
networkId = 1,

src/main/scala/io/iohk/ethereum/utils/BlockchainConfig.scala

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ case class BlockchainConfig(
3838
copy(forkBlockNumbers = update(forkBlockNumbers))
3939
}
4040

41-
case class ForkBlockNumbers(
41+
case class ForkBlockNumbers (
4242
frontierBlockNumber: BigInt,
4343
homesteadBlockNumber: BigInt,
4444
eip106BlockNumber: BigInt,
@@ -73,6 +73,33 @@ case class ForkBlockNumbers(
7373
}
7474
}
7575

76+
object ForkBlockNumbers {
77+
val Empty: ForkBlockNumbers = ForkBlockNumbers(
78+
frontierBlockNumber = 0,
79+
homesteadBlockNumber = Long.MaxValue,
80+
difficultyBombPauseBlockNumber = Long.MaxValue,
81+
difficultyBombContinueBlockNumber = Long.MaxValue,
82+
difficultyBombRemovalBlockNumber = Long.MaxValue,
83+
eip106BlockNumber = Long.MaxValue,
84+
eip150BlockNumber = Long.MaxValue,
85+
eip160BlockNumber = Long.MaxValue,
86+
eip155BlockNumber = Long.MaxValue,
87+
eip161BlockNumber = Long.MaxValue,
88+
byzantiumBlockNumber = Long.MaxValue,
89+
constantinopleBlockNumber = Long.MaxValue,
90+
istanbulBlockNumber = Long.MaxValue,
91+
atlantisBlockNumber = Long.MaxValue,
92+
aghartaBlockNumber = Long.MaxValue,
93+
phoenixBlockNumber = Long.MaxValue,
94+
petersburgBlockNumber = Long.MaxValue,
95+
ecip1098BlockNumber = Long.MaxValue,
96+
ecip1097BlockNumber = Long.MaxValue,
97+
ecip1099BlockNumber = Long.MaxValue,
98+
ecip1049BlockNumber = None,
99+
ecip1103BlockNumber = Long.MaxValue
100+
)
101+
}
102+
76103
object BlockchainConfig {
77104

78105
// scalastyle:off method.length

src/test/scala/io/iohk/ethereum/consensus/blocks/BlockGeneratorSpec.scala

Lines changed: 3 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -224,29 +224,12 @@ class BlockGeneratorSpec extends AnyFlatSpec with Matchers with ScalaCheckProper
224224
gasTieBreaker = false,
225225
ethCompatibleStorage = true,
226226
treasuryAddress = Address(0),
227-
forkBlockNumbers = ForkBlockNumbers(
227+
forkBlockNumbers = ForkBlockNumbers.Empty.copy(
228228
frontierBlockNumber = 0,
229229
homesteadBlockNumber = 1150000,
230230
difficultyBombPauseBlockNumber = 3000000,
231231
difficultyBombContinueBlockNumber = 5000000,
232232
difficultyBombRemovalBlockNumber = 5900000,
233-
eip155BlockNumber = Long.MaxValue,
234-
eip106BlockNumber = Long.MaxValue,
235-
byzantiumBlockNumber = Long.MaxValue,
236-
constantinopleBlockNumber = Long.MaxValue,
237-
istanbulBlockNumber = Long.MaxValue,
238-
eip160BlockNumber = Long.MaxValue,
239-
eip150BlockNumber = Long.MaxValue,
240-
eip161BlockNumber = Long.MaxValue,
241-
atlantisBlockNumber = Long.MaxValue,
242-
aghartaBlockNumber = Long.MaxValue,
243-
phoenixBlockNumber = Long.MaxValue,
244-
petersburgBlockNumber = Long.MaxValue,
245-
ecip1098BlockNumber = Long.MaxValue,
246-
ecip1097BlockNumber = Long.MaxValue,
247-
ecip1099BlockNumber = Long.MaxValue,
248-
ecip1049BlockNumber = None,
249-
ecip1103BlockNumber = Long.MaxValue
250233
)
251234
)
252235

@@ -294,29 +277,13 @@ class BlockGeneratorSpec extends AnyFlatSpec with Matchers with ScalaCheckProper
294277

295278
it should "generate correct block with (without empty accounts) after EIP-161" in new TestSetup {
296279
override lazy val blockchainConfig = BlockchainConfig(
297-
forkBlockNumbers = ForkBlockNumbers(
280+
forkBlockNumbers = ForkBlockNumbers.Empty.copy(
298281
frontierBlockNumber = 0,
299282
homesteadBlockNumber = 1150000,
300-
eip155BlockNumber = Long.MaxValue,
301-
eip106BlockNumber = Long.MaxValue,
302283
difficultyBombPauseBlockNumber = 3000000,
303284
difficultyBombContinueBlockNumber = 5000000,
304285
difficultyBombRemovalBlockNumber = 5900000,
305-
byzantiumBlockNumber = Long.MaxValue,
306-
constantinopleBlockNumber = Long.MaxValue,
307-
istanbulBlockNumber = Long.MaxValue,
308-
eip160BlockNumber = Long.MaxValue,
309-
eip150BlockNumber = Long.MaxValue,
310286
eip161BlockNumber = 0,
311-
atlantisBlockNumber = Long.MaxValue,
312-
aghartaBlockNumber = Long.MaxValue,
313-
phoenixBlockNumber = Long.MaxValue,
314-
petersburgBlockNumber = Long.MaxValue,
315-
ecip1098BlockNumber = Long.MaxValue,
316-
ecip1097BlockNumber = Long.MaxValue,
317-
ecip1099BlockNumber = Long.MaxValue,
318-
ecip1049BlockNumber = None,
319-
ecip1103BlockNumber = Long.MaxValue
320287
),
321288
chainId = 0x3d.toByte,
322289
networkId = 1,
@@ -678,29 +645,12 @@ class BlockGeneratorSpec extends AnyFlatSpec with Matchers with ScalaCheckProper
678645
SignedTransactionWithSender(signedTransaction, Address(keyPair))
679646

680647
val baseBlockchainConfig: BlockchainConfig = BlockchainConfig(
681-
forkBlockNumbers = ForkBlockNumbers(
682-
frontierBlockNumber = 0,
648+
forkBlockNumbers = ForkBlockNumbers.Empty.copy(
683649
homesteadBlockNumber = 1150000,
684650
eip155BlockNumber = 0,
685-
eip106BlockNumber = Long.MaxValue,
686-
byzantiumBlockNumber = Long.MaxValue,
687651
difficultyBombPauseBlockNumber = 3000000,
688652
difficultyBombContinueBlockNumber = 5000000,
689653
difficultyBombRemovalBlockNumber = 5900000,
690-
constantinopleBlockNumber = Long.MaxValue,
691-
istanbulBlockNumber = Long.MaxValue,
692-
eip160BlockNumber = Long.MaxValue,
693-
eip150BlockNumber = Long.MaxValue,
694-
eip161BlockNumber = Long.MaxValue,
695-
atlantisBlockNumber = Long.MaxValue,
696-
aghartaBlockNumber = Long.MaxValue,
697-
phoenixBlockNumber = Long.MaxValue,
698-
petersburgBlockNumber = Long.MaxValue,
699-
ecip1098BlockNumber = Long.MaxValue,
700-
ecip1097BlockNumber = Long.MaxValue,
701-
ecip1099BlockNumber = Long.MaxValue,
702-
ecip1049BlockNumber = None,
703-
ecip1103BlockNumber = Long.MaxValue
704654
),
705655
chainId = 0x3d.toByte,
706656
networkId = 1,

src/test/scala/io/iohk/ethereum/consensus/pow/validators/EthashBlockHeaderValidatorSpec.scala

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -384,7 +384,7 @@ class EthashBlockHeaderValidatorSpec
384384
def createBlockchainConfig(supportsDaoFork: Boolean = false): BlockchainConfig = {
385385
import Fixtures.Blocks._
386386
BlockchainConfig(
387-
forkBlockNumbers = ForkBlockNumbers(
387+
forkBlockNumbers = ForkBlockNumbers.Empty.copy(
388388
frontierBlockNumber = 0,
389389
homesteadBlockNumber = 1150000,
390390
difficultyBombPauseBlockNumber = 3000000,
@@ -393,20 +393,7 @@ class EthashBlockHeaderValidatorSpec
393393
byzantiumBlockNumber = 4370000,
394394
constantinopleBlockNumber = 7280000,
395395
istanbulBlockNumber = 9069000,
396-
eip155BlockNumber = Long.MaxValue,
397-
eip160BlockNumber = Long.MaxValue,
398-
eip161BlockNumber = Long.MaxValue,
399-
eip150BlockNumber = Long.MaxValue,
400396
eip106BlockNumber = 0,
401-
atlantisBlockNumber = Long.MaxValue,
402-
aghartaBlockNumber = Long.MaxValue,
403-
phoenixBlockNumber = Long.MaxValue,
404-
petersburgBlockNumber = Long.MaxValue,
405-
ecip1098BlockNumber = Long.MaxValue,
406-
ecip1097BlockNumber = Long.MaxValue,
407-
ecip1099BlockNumber = Long.MaxValue,
408-
ecip1049BlockNumber = None,
409-
ecip1103BlockNumber = Long.MaxValue
410397
),
411398
daoForkConfig = Some(new DaoForkConfig {
412399
override val blockExtraData: Option[ByteString] =

src/test/scala/io/iohk/ethereum/consensus/pow/validators/RestrictedEthashBlockHeaderValidatorSpec.scala

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ class RestrictedEthashBlockHeaderValidatorSpec
7575
)
7676
def createBlockchainConfig(allowedMiners: Set[ByteString]): BlockchainConfig =
7777
BlockchainConfig(
78-
forkBlockNumbers = ForkBlockNumbers(
78+
forkBlockNumbers = ForkBlockNumbers.Empty.copy(
7979
frontierBlockNumber = 0,
8080
homesteadBlockNumber = 1150000,
8181
difficultyBombPauseBlockNumber = 3000000,
@@ -84,20 +84,7 @@ class RestrictedEthashBlockHeaderValidatorSpec
8484
byzantiumBlockNumber = 4370000,
8585
constantinopleBlockNumber = 7280000,
8686
istanbulBlockNumber = 9069000,
87-
eip155BlockNumber = Long.MaxValue,
88-
eip160BlockNumber = Long.MaxValue,
89-
eip161BlockNumber = Long.MaxValue,
90-
eip150BlockNumber = Long.MaxValue,
9187
eip106BlockNumber = 0,
92-
atlantisBlockNumber = Long.MaxValue,
93-
aghartaBlockNumber = Long.MaxValue,
94-
phoenixBlockNumber = Long.MaxValue,
95-
petersburgBlockNumber = Long.MaxValue,
96-
ecip1098BlockNumber = Long.MaxValue,
97-
ecip1097BlockNumber = Long.MaxValue,
98-
ecip1099BlockNumber = Long.MaxValue,
99-
ecip1049BlockNumber = None,
100-
ecip1103BlockNumber = Long.MaxValue
10188
),
10289
daoForkConfig = None,
10390
// unused

src/test/scala/io/iohk/ethereum/jsonrpc/PersonalServiceSpec.scala

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -414,13 +414,12 @@ class PersonalServiceSpec
414414
//unused
415415
networkId = 1,
416416
maxCodeSize = None,
417-
forkBlockNumbers = ForkBlockNumbers(
417+
forkBlockNumbers = ForkBlockNumbers.Empty.copy(
418418
eip155BlockNumber = 12345,
419419
eip161BlockNumber = 0,
420420
frontierBlockNumber = 0,
421421
difficultyBombPauseBlockNumber = 0,
422422
difficultyBombContinueBlockNumber = 0,
423-
difficultyBombRemovalBlockNumber = Long.MaxValue,
424423
homesteadBlockNumber = 0,
425424
eip150BlockNumber = 0,
426425
eip160BlockNumber = 0,
@@ -434,9 +433,6 @@ class PersonalServiceSpec
434433
petersburgBlockNumber = 0,
435434
ecip1098BlockNumber = 0,
436435
ecip1097BlockNumber = 0,
437-
ecip1099BlockNumber = Long.MaxValue,
438-
ecip1049BlockNumber = None,
439-
ecip1103BlockNumber = Long.MaxValue,
440436
),
441437
customGenesisFileOpt = None,
442438
customGenesisJsonOpt = None,

src/test/scala/io/iohk/ethereum/ledger/StxLedgerSpec.scala

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -121,14 +121,13 @@ class StxLedgerSpec extends AnyFlatSpec with Matchers with Logger {
121121
trait ScenarioSetup extends EphemBlockchainTestSetup {
122122

123123
override lazy val blockchainConfig: BlockchainConfig = BlockchainConfig(
124-
forkBlockNumbers = ForkBlockNumbers(
124+
forkBlockNumbers = ForkBlockNumbers.Empty.copy(
125125
eip155BlockNumber = 0,
126126
eip161BlockNumber = 0,
127127
frontierBlockNumber = 0,
128128
homesteadBlockNumber = 0,
129129
difficultyBombPauseBlockNumber = 0,
130130
difficultyBombContinueBlockNumber = 0,
131-
difficultyBombRemovalBlockNumber = Long.MaxValue,
132131
eip150BlockNumber = 0,
133132
eip160BlockNumber = 0,
134133
eip106BlockNumber = 0,
@@ -140,10 +139,7 @@ trait ScenarioSetup extends EphemBlockchainTestSetup {
140139
phoenixBlockNumber = 0,
141140
petersburgBlockNumber = 0,
142141
ecip1098BlockNumber = 0,
143-
ecip1097BlockNumber = 0,
144-
ecip1099BlockNumber = Long.MaxValue,
145-
ecip1049BlockNumber = None,
146-
ecip1103BlockNumber = Long.MaxValue
142+
ecip1097BlockNumber = 0
147143
),
148144
chainId = 0x03.toByte,
149145
networkId = 1,

0 commit comments

Comments
 (0)