mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2025-01-05 09:14:28 +00:00
5a66807989
* First take at updating everything to v5 * Patch gRPC gateway to use prysm v5 Fix patch * Update go ssz --------- Co-authored-by: Preston Van Loon <pvanloon@offchainlabs.com>
64 lines
1.8 KiB
Go
64 lines
1.8 KiB
Go
package testing
|
|
|
|
import (
|
|
"context"
|
|
"sync"
|
|
"sync/atomic"
|
|
|
|
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 []*ethpb.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 *ethpb.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)
|
|
}
|