Compare commits

...

5 Commits

Author SHA1 Message Date
Preston Van Loon
1714333ded Merge branch 'develop' into hive-fix 2022-06-30 10:58:24 -05:00
prestonvanloon
0acd3d75e8 gofmt 2022-06-30 10:58:01 -05:00
prestonvanloon
f4a5490ba8 fix 2022-06-30 10:56:53 -05:00
prestonvanloon
6141960769 fix 2022-06-30 10:53:21 -05:00
prestonvanloon
9290ad3a34 modify test to match failing hive scenario 2022-06-30 10:50:11 -05:00

View File

@@ -70,6 +70,13 @@ func Test_validTerminalPowBlock(t *testing.T) {
ttd: 2,
want: true,
},
{
name: "hive test scenario",
currentDifficulty: uint256.NewInt(500),
parentDifficulty: uint256.NewInt(498),
ttd: 498,
want: false,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
@@ -104,7 +111,7 @@ func Test_validTerminalPowBlockSpecConfig(t *testing.T) {
func Test_validateMergeBlock(t *testing.T) {
cfg := params.BeaconConfig()
cfg.TerminalTotalDifficulty = "2"
cfg.TerminalTotalDifficulty = "500"
params.OverrideBeaconConfig(cfg)
ctx := context.Background()
@@ -120,17 +127,25 @@ func Test_validateMergeBlock(t *testing.T) {
engine := &mocks.EngineClient{BlockByHashMap: map[[32]byte]*enginev1.ExecutionBlock{}}
service.cfg.ExecutionEngineCaller = engine
// Recent execution blocks:
// ... <- 3 <- b <- a
// TD: 488 498 500
// Block 'a' is the expected TTD block with a TD of 500 and a parent TD of 498
engine.BlockByHashMap[[32]byte{'a'}] = &enginev1.ExecutionBlock{
ParentHash: bytesutil.PadTo([]byte{'b'}, fieldparams.RootLength),
TotalDifficulty: "0x2",
TotalDifficulty: "0x1F4", // 500
}
engine.BlockByHashMap[[32]byte{'b'}] = &enginev1.ExecutionBlock{
ParentHash: bytesutil.PadTo([]byte{'3'}, fieldparams.RootLength),
TotalDifficulty: "0x1",
TotalDifficulty: "0x1F2", // 498
}
engine.BlockByHashMap[[32]byte{'3'}] = &enginev1.ExecutionBlock{
ParentHash: bytesutil.PadTo([]byte{'f'}, fieldparams.RootLength),
TotalDifficulty: "0x1E8", // 488
}
blk := &ethpb.SignedBeaconBlockBellatrix{
Block: &ethpb.BeaconBlockBellatrix{
Slot: 1,
Slot: 79,
Body: &ethpb.BeaconBlockBodyBellatrix{
ExecutionPayload: &enginev1.ExecutionPayload{
ParentHash: bytesutil.PadTo([]byte{'a'}, fieldparams.RootLength),
@@ -142,10 +157,10 @@ func Test_validateMergeBlock(t *testing.T) {
require.NoError(t, err)
require.NoError(t, service.validateMergeBlock(ctx, b))
cfg.TerminalTotalDifficulty = "1"
cfg.TerminalTotalDifficulty = "498"
params.OverrideBeaconConfig(cfg)
err = service.validateMergeBlock(ctx, b)
require.ErrorContains(t, "invalid TTD, configTTD: 1, currentTTD: 2, parentTTD: 1", err)
require.ErrorContains(t, "invalid TTD, configTTD: 498, currentTTD: 500, parentTTD: 498", err)
require.Equal(t, true, IsInvalidBlock(err))
}