Skip to content

Commit e9e093d

Browse files
committed
verifyRPCDataColumnSidecars: Integrate SidecarRootAndSignatureAligned test.
1 parent c990d1d commit e9e093d

File tree

3 files changed

+21
-6
lines changed

3 files changed

+21
-6
lines changed

beacon-chain/sync/data_column_sidecars.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -987,7 +987,7 @@ func verifyDataColumnSidecarsByPeer(
987987
// requirements for data column sidecars received via the by root request.
988988
func verifyRPCDataColumnSidecars(
989989
newVerifier verification.NewDataColumnsVerifier,
990-
_ map[[fieldparams.RootLength]byte]blocks.ROBlock,
990+
roBlockByRoot map[[fieldparams.RootLength]byte]blocks.ROBlock,
991991
roDataColumns []blocks.RODataColumn,
992992
) ([]blocks.VerifiedRODataColumn, error) {
993993
verifier := newVerifier(roDataColumns, verification.RPCDataColumnSidecarRequirements)
@@ -996,6 +996,10 @@ func verifyRPCDataColumnSidecars(
996996
return nil, errors.Wrap(err, "valid fields")
997997
}
998998

999+
if err := verifier.SidecarRootAndSignatureAligned(roBlockByRoot); err != nil {
1000+
return nil, errors.Wrap(err, "sidecar root and signature aligned")
1001+
}
1002+
9991003
if err := verifier.SidecarInclusionProven(); err != nil {
10001004
return nil, errors.Wrap(err, "sidecar inclusion proven")
10011005
}

beacon-chain/sync/data_column_sidecars_test.go

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -792,7 +792,12 @@ func TestVerifyDataColumnSidecarsByPeer(t *testing.T) {
792792
require.NoError(t, err)
793793

794794
newDataColumnsVerifier := newDataColumnsVerifierFromInitializer(initializer)
795-
actual, err := verifyDataColumnSidecarsByPeer(p2p, newDataColumnsVerifier, nil, roDataColumnsByPeer)
795+
796+
roBlockByRoot := createRoBlockByRoot(t, map[[fieldparams.RootLength]byte]primitives.Slot{
797+
roDataColumnSidecars[0].BlockRoot(): roDataColumnSidecars[0].Slot(),
798+
})
799+
800+
actual, err := verifyDataColumnSidecarsByPeer(p2p, newDataColumnsVerifier, roBlockByRoot, roDataColumnsByPeer)
796801
require.NoError(t, err)
797802

798803
require.Equal(t, stop-start, len(actual))
@@ -837,7 +842,12 @@ func TestVerifyDataColumnSidecarsByPeer(t *testing.T) {
837842
require.NoError(t, err)
838843

839844
newDataColumnsVerifier := newDataColumnsVerifierFromInitializer(initializer)
840-
actual, err := verifyDataColumnSidecarsByPeer(p2p, newDataColumnsVerifier, nil, roDataColumnsByPeer)
845+
846+
roBlockByRoot := createRoBlockByRoot(t, map[[fieldparams.RootLength]byte]primitives.Slot{
847+
roDataColumnSidecars[0].BlockRoot(): roDataColumnSidecars[0].Slot(),
848+
})
849+
850+
actual, err := verifyDataColumnSidecarsByPeer(p2p, newDataColumnsVerifier, roBlockByRoot, roDataColumnsByPeer)
841851
require.NoError(t, err)
842852

843853
require.Equal(t, middle-start, len(actual))

beacon-chain/verification/data_column.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ var (
4747
RequireValidFields,
4848
RequireSidecarInclusionProven,
4949
RequireSidecarKzgProofVerified,
50+
RequireSidecarRootAndSignatureAligned,
5051
}
5152

5253
// SpectestDataColumnSidecarRequirements is used by the forkchoice spectests when verifying data columns used in the on_block tests.
@@ -536,18 +537,18 @@ func (dv *RODataColumnsVerifier) SidecarRootAndSignatureAligned(roBlockByRoot ma
536537

537538
// state retrieves the state of the corresponding root from the cache if possible, else retrieves it from the state by rooter.
538539
func (dv *RODataColumnsVerifier) state(ctx context.Context, root [fieldparams.RootLength]byte) (state.BeaconState, error) {
539-
// If the parent root is already in the cache, return it.
540+
// If the root is already in the cache, return it.
540541
if st, ok := dv.stateByRoot[root]; ok {
541542
return st, nil
542543
}
543544

544-
// Retrieve the parent state from the state by rooter.
545+
// Retrieve the state from the state by rooter.
545546
st, err := dv.sr.StateByRoot(ctx, root)
546547
if err != nil {
547548
return nil, errors.Wrap(err, "state by root")
548549
}
549550

550-
// Store the parent state in the cache.
551+
// Store the state in the cache.
551552
dv.stateByRoot[root] = st
552553

553554
return st, nil

0 commit comments

Comments
 (0)