mirror of
https://github.com/OffchainLabs/prysm.git
synced 2026-01-09 15:37:56 -05:00
* config values * block protos * get_committee_indices * proto and ssz * attestation interface * Revert "Auxiliary commit to revert individual files from deadb2183723511721b3288c7168808a4fa97c64" This reverts commit 32ad5009537bc5ec0e6caf9f52143d380d00be85. * todos * get_attesting_indices * Revert "Auxiliary commit to revert individual files from dd2789723f90b15eb1f874b561d88d11dcc9c0bf" This reverts commit f39644ed3cb6f3964fc6c86fdf4bd5de2a9668c8. * beacon spec changes * Fix pending attestation. Build ok * Electra: add electra version * Electra: consensus types * gocognit exclusion * @potuz's suggestion * build fix * interfaces for indexed att and slashing * indexed att usage * BuildSignedBeaconBlockFromExecutionPayload * slashing usage * grpc stubs * remove unused methods * Electra attestation interfaces * cleanup * tests * make linter happy * simple casting * test fixes * Fix spectest failures * Regen pb and ssz files * Handle "not ok" type assertion cases * Setters that check version should always return an error. SetAttesterSlashings and SetAttestations * gofmt * Fix TestMinSpanChunksSlice_CheckSlashable --------- Co-authored-by: terence tsao <terence@prysmaticlabs.com> Co-authored-by: Preston Van Loon <preston@pvl.dev>
65 lines
1.9 KiB
Go
65 lines
1.9 KiB
Go
package testing
|
|
|
|
import (
|
|
"context"
|
|
"sync"
|
|
"sync/atomic"
|
|
|
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/interfaces"
|
|
ethpb "github.com/prysmaticlabs/prysm/v5/proto/prysm/v1alpha1"
|
|
"google.golang.org/protobuf/proto"
|
|
)
|
|
|
|
// MockBroadcaster implements p2p.Broadcaster for testing.
|
|
type MockBroadcaster struct {
|
|
BroadcastCalled atomic.Bool
|
|
BroadcastMessages []proto.Message
|
|
BroadcastAttestations []interfaces.Attestation
|
|
msgLock sync.Mutex
|
|
attLock sync.Mutex
|
|
}
|
|
|
|
// Broadcast records a broadcast occurred.
|
|
func (m *MockBroadcaster) Broadcast(_ context.Context, msg proto.Message) error {
|
|
m.BroadcastCalled.Store(true)
|
|
m.msgLock.Lock()
|
|
defer m.msgLock.Unlock()
|
|
m.BroadcastMessages = append(m.BroadcastMessages, msg)
|
|
return nil
|
|
}
|
|
|
|
// BroadcastAttestation records a broadcast occurred.
|
|
func (m *MockBroadcaster) BroadcastAttestation(_ context.Context, _ uint64, a interfaces.Attestation) error {
|
|
m.BroadcastCalled.Store(true)
|
|
m.attLock.Lock()
|
|
defer m.attLock.Unlock()
|
|
m.BroadcastAttestations = append(m.BroadcastAttestations, a)
|
|
return nil
|
|
}
|
|
|
|
// BroadcastSyncCommitteeMessage records a broadcast occurred.
|
|
func (m *MockBroadcaster) BroadcastSyncCommitteeMessage(_ context.Context, _ uint64, _ *ethpb.SyncCommitteeMessage) error {
|
|
m.BroadcastCalled.Store(true)
|
|
return nil
|
|
}
|
|
|
|
// BroadcastBlob broadcasts a blob for mock.
|
|
func (m *MockBroadcaster) BroadcastBlob(context.Context, uint64, *ethpb.BlobSidecar) error {
|
|
m.BroadcastCalled.Store(true)
|
|
return nil
|
|
}
|
|
|
|
// NumMessages returns the number of messages broadcasted.
|
|
func (m *MockBroadcaster) NumMessages() int {
|
|
m.msgLock.Lock()
|
|
defer m.msgLock.Unlock()
|
|
return len(m.BroadcastMessages)
|
|
}
|
|
|
|
// NumAttestations returns the number of attestations broadcasted.
|
|
func (m *MockBroadcaster) NumAttestations() int {
|
|
m.attLock.Lock()
|
|
defer m.attLock.Unlock()
|
|
return len(m.BroadcastAttestations)
|
|
}
|