Files
prysm/beacon-chain/verification/mock.go
kasey 61de11e2c4 Backfill data columns (#15580)
**What type of PR is this?**

Feature

**What does this PR do? Why is it needed?**

Adds data column support to backfill.

**Acknowledgements**

- [x] I have read
[CONTRIBUTING.md](https://github.com/prysmaticlabs/prysm/blob/develop/CONTRIBUTING.md).
- [x] I have included a uniquely named [changelog fragment
file](https://github.com/prysmaticlabs/prysm/blob/develop/CONTRIBUTING.md#maintaining-changelogmd).
- [x] I have added a description to this PR with sufficient context for
reviewers to understand this PR.

---------

Co-authored-by: Kasey <kasey@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Preston Van Loon <preston@pvl.dev>
2025-12-02 15:19:32 +00:00

163 lines
4.7 KiB
Go

package verification
import (
"context"
fieldparams "github.com/OffchainLabs/prysm/v7/config/fieldparams"
"github.com/OffchainLabs/prysm/v7/consensus-types/blocks"
)
// MockBlobVerifier is a mock implementation of the BlobVerifier interface.
type MockBlobVerifier struct {
ErrBlobIndexInBounds error
ErrSlotTooEarly error
ErrSlotAboveFinalized error
ErrValidProposerSignature error
ErrSidecarParentSeen error
ErrSidecarParentValid error
ErrSidecarParentSlotLower error
ErrSidecarDescendsFromFinalized error
ErrSidecarInclusionProven error
ErrSidecarKzgProofVerified error
ErrSidecarProposerExpected error
CbVerifiedROBlob func() (blocks.VerifiedROBlob, error)
}
var _ BlobVerifier = &MockBlobVerifier{}
func (m *MockBlobVerifier) VerifiedROBlob() (blocks.VerifiedROBlob, error) {
return m.CbVerifiedROBlob()
}
func (m *MockBlobVerifier) BlobIndexInBounds() (err error) {
return m.ErrBlobIndexInBounds
}
func (m *MockBlobVerifier) NotFromFutureSlot() (err error) {
return m.ErrSlotTooEarly
}
func (m *MockBlobVerifier) SlotAboveFinalized() (err error) {
return m.ErrSlotAboveFinalized
}
func (m *MockBlobVerifier) ValidProposerSignature(_ context.Context) (err error) {
return m.ErrValidProposerSignature
}
func (m *MockBlobVerifier) SidecarParentSeen(_ func([32]byte) bool) (err error) {
return m.ErrSidecarParentSeen
}
func (m *MockBlobVerifier) SidecarParentValid(_ func([32]byte) bool) (err error) {
return m.ErrSidecarParentValid
}
func (m *MockBlobVerifier) SidecarParentSlotLower() (err error) {
return m.ErrSidecarParentSlotLower
}
func (m *MockBlobVerifier) SidecarDescendsFromFinalized() (err error) {
return m.ErrSidecarDescendsFromFinalized
}
func (m *MockBlobVerifier) SidecarInclusionProven() (err error) {
return m.ErrSidecarInclusionProven
}
func (m *MockBlobVerifier) SidecarKzgProofVerified() (err error) {
return m.ErrSidecarKzgProofVerified
}
func (m *MockBlobVerifier) SidecarProposerExpected(_ context.Context) (err error) {
return m.ErrSidecarProposerExpected
}
func (*MockBlobVerifier) SatisfyRequirement(_ Requirement) {}
// Data column sidecars
// --------------------
type MockDataColumnsVerifier struct {
ErrValidFields error
ErrCorrectSubnet error
ErrNotFromFutureSlot error
ErrSlotAboveFinalized error
ErrSidecarParentSeen error
ErrSidecarParentValid error
ErrValidProposerSignature error
ErrSidecarParentSlotLower error
ErrSidecarDescendsFromFinalized error
ErrSidecarInclusionProven error
ErrSidecarKzgProofVerified error
ErrSidecarProposerExpected error
verifiedColumns []blocks.RODataColumn
}
var _ DataColumnsVerifier = &MockDataColumnsVerifier{}
func (m *MockDataColumnsVerifier) AppendRODataColumns(columns ...blocks.RODataColumn) {
m.verifiedColumns = append(m.verifiedColumns, columns...)
}
func (m *MockDataColumnsVerifier) VerifiedRODataColumns() ([]blocks.VerifiedRODataColumn, error) {
if len(m.verifiedColumns) > 0 {
result := make([]blocks.VerifiedRODataColumn, len(m.verifiedColumns))
for i, col := range m.verifiedColumns {
result[i] = blocks.VerifiedRODataColumn{RODataColumn: col}
}
return result, nil
}
return []blocks.VerifiedRODataColumn{}, nil
}
func (m *MockDataColumnsVerifier) SatisfyRequirement(_ Requirement) {}
func (m *MockDataColumnsVerifier) ValidFields() error {
return m.ErrValidFields
}
func (m *MockDataColumnsVerifier) CorrectSubnet(_ string, _ []string) error {
return m.ErrCorrectSubnet
}
func (m *MockDataColumnsVerifier) NotFromFutureSlot() error {
return m.ErrNotFromFutureSlot
}
func (m *MockDataColumnsVerifier) SlotAboveFinalized() error {
return m.ErrSlotAboveFinalized
}
func (m *MockDataColumnsVerifier) ValidProposerSignature(_ context.Context) error {
return m.ErrValidProposerSignature
}
func (m *MockDataColumnsVerifier) SidecarParentSeen(_ func([fieldparams.RootLength]byte) bool) error {
return m.ErrSidecarParentSeen
}
func (m *MockDataColumnsVerifier) SidecarParentValid(_ func([fieldparams.RootLength]byte) bool) error {
return m.ErrSidecarParentValid
}
func (m *MockDataColumnsVerifier) SidecarParentSlotLower() error {
return m.ErrSidecarParentSlotLower
}
func (m *MockDataColumnsVerifier) SidecarDescendsFromFinalized() error {
return m.ErrSidecarDescendsFromFinalized
}
func (m *MockDataColumnsVerifier) SidecarInclusionProven() error {
return m.ErrSidecarInclusionProven
}
func (m *MockDataColumnsVerifier) SidecarKzgProofVerified() error {
return m.ErrSidecarKzgProofVerified
}
func (m *MockDataColumnsVerifier) SidecarProposerExpected(_ context.Context) error {
return m.ErrSidecarProposerExpected
}