mirror of
https://github.com/OffchainLabs/prysm.git
synced 2026-01-09 13:28:01 -05:00
**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>
20 lines
825 B
Go
20 lines
825 B
Go
package das
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/OffchainLabs/prysm/v7/consensus-types/blocks"
|
|
"github.com/OffchainLabs/prysm/v7/consensus-types/primitives"
|
|
)
|
|
|
|
// AvailabilityChecker is the minimum interface needed to check if data is available for a block.
|
|
// By convention there is a concept of an AvailabilityStore that implements a method to persist
|
|
// blobs or data columns to prepare for Availability checking, but since those methods are different
|
|
// for different forms of blob data, they are not included in the interface.
|
|
type AvailabilityChecker interface {
|
|
IsDataAvailable(ctx context.Context, current primitives.Slot, b ...blocks.ROBlock) error
|
|
}
|
|
|
|
// RetentionChecker is a callback that determines whether blobs at the given slot are within the retention period.
|
|
type RetentionChecker func(primitives.Slot) bool
|