package v1 import ( ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1" ) // PreviousEpochAttestations corresponding to blocks on the beacon chain. func (b *BeaconState) PreviousEpochAttestations() ([]*ethpb.PendingAttestation, error) { if b.previousEpochAttestations == nil { return nil, nil } b.lock.RLock() defer b.lock.RUnlock() return b.previousEpochAttestationsVal(), nil } // previousEpochAttestationsVal corresponding to blocks on the beacon chain. // This assumes that a lock is already held on BeaconState. func (b *BeaconState) previousEpochAttestationsVal() []*ethpb.PendingAttestation { return ethpb.CopyPendingAttestationSlice(b.previousEpochAttestations) } // CurrentEpochAttestations corresponding to blocks on the beacon chain. func (b *BeaconState) CurrentEpochAttestations() ([]*ethpb.PendingAttestation, error) { if b.currentEpochAttestations == nil { return nil, nil } b.lock.RLock() defer b.lock.RUnlock() return b.currentEpochAttestationsVal(), nil } // currentEpochAttestations corresponding to blocks on the beacon chain. // This assumes that a lock is already held on BeaconState. func (b *BeaconState) currentEpochAttestationsVal() []*ethpb.PendingAttestation { return ethpb.CopyPendingAttestationSlice(b.currentEpochAttestations) }