diff --git a/beacon-chain/p2p/BUILD.bazel b/beacon-chain/p2p/BUILD.bazel index 00165c4022..424efa3fd6 100644 --- a/beacon-chain/p2p/BUILD.bazel +++ b/beacon-chain/p2p/BUILD.bazel @@ -49,14 +49,15 @@ go_library( "//beacon-chain/p2p/peers/scorers:go_default_library", "//beacon-chain/p2p/types:go_default_library", "//cmd/beacon-chain/flags:go_default_library", + "//proto/beacon/p2p:go_default_library", "//proto/beacon/p2p/v1:go_default_library", + "//proto/beacon/p2p/v1/wrapper:go_default_library", "//proto/beacon/rpc/v1:go_default_library", "//proto/eth/v1alpha1:go_default_library", "//shared:go_default_library", "//shared/featureconfig:go_default_library", "//shared/fileutil:go_default_library", "//shared/hashutil:go_default_library", - "//shared/interfaces:go_default_library", "//shared/iputils:go_default_library", "//shared/p2putils:go_default_library", "//shared/params:go_default_library", @@ -135,13 +136,13 @@ go_test( "//beacon-chain/p2p/testing:go_default_library", "//beacon-chain/p2p/types:go_default_library", "//proto/beacon/p2p/v1:go_default_library", + "//proto/beacon/p2p/v1/wrapper:go_default_library", "//proto/eth/v1:go_default_library", "//proto/eth/v1alpha1:go_default_library", "//proto/testing:go_default_library", "//shared/bytesutil:go_default_library", "//shared/event:go_default_library", "//shared/hashutil:go_default_library", - "//shared/interfaces:go_default_library", "//shared/iputils:go_default_library", "//shared/p2putils:go_default_library", "//shared/params:go_default_library", diff --git a/beacon-chain/p2p/broadcaster_test.go b/beacon-chain/p2p/broadcaster_test.go index 0498234244..f49ba38b9c 100644 --- a/beacon-chain/p2p/broadcaster_test.go +++ b/beacon-chain/p2p/broadcaster_test.go @@ -18,10 +18,10 @@ import ( "github.com/prysmaticlabs/prysm/beacon-chain/p2p/peers/scorers" p2ptest "github.com/prysmaticlabs/prysm/beacon-chain/p2p/testing" pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" + "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1/wrapper" eth "github.com/prysmaticlabs/prysm/proto/eth/v1alpha1" testpb "github.com/prysmaticlabs/prysm/proto/testing" "github.com/prysmaticlabs/prysm/shared/bytesutil" - "github.com/prysmaticlabs/prysm/shared/interfaces" "github.com/prysmaticlabs/prysm/shared/testutil" "github.com/prysmaticlabs/prysm/shared/testutil/assert" "github.com/prysmaticlabs/prysm/shared/testutil/require" @@ -254,7 +254,7 @@ func TestService_BroadcastAttestationWithDiscoveryAttempts(t *testing.T) { // Set for 2nd peer if i == 2 { s.dv5Listener = listener - s.metaData = interfaces.WrappedMetadataV0(new(pb.MetaDataV0)) + s.metaData = wrapper.WrappedMetadataV0(new(pb.MetaDataV0)) bitV := bitfield.NewBitvector64() bitV.SetBitAt(subnet, true) s.updateSubnetRecordWithMetadata(bitV) diff --git a/beacon-chain/p2p/discovery_test.go b/beacon-chain/p2p/discovery_test.go index 39953f2635..7524235292 100644 --- a/beacon-chain/p2p/discovery_test.go +++ b/beacon-chain/p2p/discovery_test.go @@ -29,9 +29,9 @@ import ( "github.com/prysmaticlabs/prysm/beacon-chain/p2p/peers/scorers" testp2p "github.com/prysmaticlabs/prysm/beacon-chain/p2p/testing" pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" + "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1/wrapper" ethpb "github.com/prysmaticlabs/prysm/proto/eth/v1alpha1" "github.com/prysmaticlabs/prysm/shared/bytesutil" - "github.com/prysmaticlabs/prysm/shared/interfaces" "github.com/prysmaticlabs/prysm/shared/iputils" "github.com/prysmaticlabs/prysm/shared/testutil/assert" "github.com/prysmaticlabs/prysm/shared/testutil/require" @@ -334,7 +334,7 @@ func addPeer(t *testing.T, p *peers.Status, state peerdata.PeerConnectionState) require.NoError(t, err) p.Add(new(enr.Record), id, nil, network.DirInbound) p.SetConnectionState(id, state) - p.SetMetadata(id, interfaces.WrappedMetadataV0(&pb.MetaDataV0{ + p.SetMetadata(id, wrapper.WrappedMetadataV0(&pb.MetaDataV0{ SeqNumber: 0, Attnets: bitfield.NewBitvector64(), })) diff --git a/beacon-chain/p2p/interfaces.go b/beacon-chain/p2p/interfaces.go index 4b94c51a3f..9a6867ea28 100644 --- a/beacon-chain/p2p/interfaces.go +++ b/beacon-chain/p2p/interfaces.go @@ -12,8 +12,8 @@ import ( "github.com/multiformats/go-multiaddr" "github.com/prysmaticlabs/prysm/beacon-chain/p2p/encoder" "github.com/prysmaticlabs/prysm/beacon-chain/p2p/peers" + "github.com/prysmaticlabs/prysm/proto/beacon/p2p" ethpb "github.com/prysmaticlabs/prysm/proto/eth/v1alpha1" - "github.com/prysmaticlabs/prysm/shared/interfaces" "google.golang.org/protobuf/proto" ) @@ -92,6 +92,6 @@ type PeersProvider interface { // MetadataProvider returns the metadata related information for the local peer. type MetadataProvider interface { - Metadata() interfaces.Metadata + Metadata() p2p.Metadata MetadataSeq() uint64 } diff --git a/beacon-chain/p2p/peers/BUILD.bazel b/beacon-chain/p2p/peers/BUILD.bazel index 3772e57486..1d3d0f8f45 100644 --- a/beacon-chain/p2p/peers/BUILD.bazel +++ b/beacon-chain/p2p/peers/BUILD.bazel @@ -9,8 +9,8 @@ go_library( "//beacon-chain/core/helpers:go_default_library", "//beacon-chain/p2p/peers/peerdata:go_default_library", "//beacon-chain/p2p/peers/scorers:go_default_library", + "//proto/beacon/p2p:go_default_library", "//proto/beacon/p2p/v1:go_default_library", - "//shared/interfaces:go_default_library", "//shared/params:go_default_library", "//shared/rand:go_default_library", "//shared/timeutils:go_default_library", @@ -37,9 +37,9 @@ go_test( "//beacon-chain/p2p/peers/scorers:go_default_library", "//cmd/beacon-chain/flags:go_default_library", "//proto/beacon/p2p/v1:go_default_library", + "//proto/beacon/p2p/v1/wrapper:go_default_library", "//proto/eth/v1:go_default_library", "//shared/featureconfig:go_default_library", - "//shared/interfaces:go_default_library", "//shared/params:go_default_library", "//shared/testutil/assert:go_default_library", "//shared/testutil/require:go_default_library", diff --git a/beacon-chain/p2p/peers/peerdata/BUILD.bazel b/beacon-chain/p2p/peers/peerdata/BUILD.bazel index 5fee817e96..191c04b545 100644 --- a/beacon-chain/p2p/peers/peerdata/BUILD.bazel +++ b/beacon-chain/p2p/peers/peerdata/BUILD.bazel @@ -6,10 +6,10 @@ go_library( importpath = "github.com/prysmaticlabs/prysm/beacon-chain/p2p/peers/peerdata", visibility = ["//beacon-chain:__subpackages__"], deps = [ + "//proto/beacon/p2p:go_default_library", "//proto/beacon/p2p/v1:go_default_library", "//proto/beacon/rpc/v1:go_default_library", "//proto/eth/v1alpha1:go_default_library", - "//shared/interfaces:go_default_library", "@com_github_ethereum_go_ethereum//p2p/enr:go_default_library", "@com_github_libp2p_go_libp2p_core//network:go_default_library", "@com_github_libp2p_go_libp2p_core//peer:go_default_library", diff --git a/beacon-chain/p2p/peers/peerdata/store.go b/beacon-chain/p2p/peers/peerdata/store.go index 973aa6a00b..7c3c33ed97 100644 --- a/beacon-chain/p2p/peers/peerdata/store.go +++ b/beacon-chain/p2p/peers/peerdata/store.go @@ -10,10 +10,10 @@ import ( "github.com/libp2p/go-libp2p-core/network" "github.com/libp2p/go-libp2p-core/peer" ma "github.com/multiformats/go-multiaddr" + "github.com/prysmaticlabs/prysm/proto/beacon/p2p" pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" pbrpc "github.com/prysmaticlabs/prysm/proto/beacon/rpc/v1" ethpb "github.com/prysmaticlabs/prysm/proto/eth/v1alpha1" - "github.com/prysmaticlabs/prysm/shared/interfaces" ) var ( @@ -50,7 +50,7 @@ type PeerData struct { Enr *enr.Record NextValidTime time.Time // Chain related data. - MetaData interfaces.Metadata + MetaData p2p.Metadata ChainState *pb.Status ChainStateLastUpdated time.Time ChainStateValidationError error diff --git a/beacon-chain/p2p/peers/status.go b/beacon-chain/p2p/peers/status.go index 9837e70293..625f71ff4b 100644 --- a/beacon-chain/p2p/peers/status.go +++ b/beacon-chain/p2p/peers/status.go @@ -38,8 +38,8 @@ import ( "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" "github.com/prysmaticlabs/prysm/beacon-chain/p2p/peers/peerdata" "github.com/prysmaticlabs/prysm/beacon-chain/p2p/peers/scorers" + "github.com/prysmaticlabs/prysm/proto/beacon/p2p" pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" - "github.com/prysmaticlabs/prysm/shared/interfaces" "github.com/prysmaticlabs/prysm/shared/params" "github.com/prysmaticlabs/prysm/shared/rand" "github.com/prysmaticlabs/prysm/shared/timeutils" @@ -230,7 +230,7 @@ func (p *Status) InboundLimit() int { } // SetMetadata sets the metadata of the given remote peer. -func (p *Status) SetMetadata(pid peer.ID, metaData interfaces.Metadata) { +func (p *Status) SetMetadata(pid peer.ID, metaData p2p.Metadata) { p.store.Lock() defer p.store.Unlock() @@ -240,7 +240,7 @@ func (p *Status) SetMetadata(pid peer.ID, metaData interfaces.Metadata) { // Metadata returns a copy of the metadata corresponding to the provided // peer id. -func (p *Status) Metadata(pid peer.ID) (interfaces.Metadata, error) { +func (p *Status) Metadata(pid peer.ID) (p2p.Metadata, error) { p.store.RLock() defer p.store.RUnlock() diff --git a/beacon-chain/p2p/peers/status_test.go b/beacon-chain/p2p/peers/status_test.go index 4f30d82036..dd56a5efe5 100644 --- a/beacon-chain/p2p/peers/status_test.go +++ b/beacon-chain/p2p/peers/status_test.go @@ -17,8 +17,8 @@ import ( "github.com/prysmaticlabs/prysm/beacon-chain/p2p/peers/peerdata" "github.com/prysmaticlabs/prysm/beacon-chain/p2p/peers/scorers" pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" + "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1/wrapper" ethpb "github.com/prysmaticlabs/prysm/proto/eth/v1" - "github.com/prysmaticlabs/prysm/shared/interfaces" "github.com/prysmaticlabs/prysm/shared/params" "github.com/prysmaticlabs/prysm/shared/testutil/assert" "github.com/prysmaticlabs/prysm/shared/testutil/require" @@ -188,7 +188,7 @@ func TestPeerCommitteeIndices(t *testing.T) { bitV.SetBitAt(uint64(i), true) } } - p.SetMetadata(id, interfaces.WrappedMetadataV0(&pb.MetaDataV0{ + p.SetMetadata(id, wrapper.WrappedMetadataV0(&pb.MetaDataV0{ SeqNumber: 2, Attnets: bitV, })) @@ -223,7 +223,7 @@ func TestPeerSubscribedToSubnet(t *testing.T) { bitV.SetBitAt(uint64(i), true) } } - p.SetMetadata(expectedPeer, interfaces.WrappedMetadataV0(&pb.MetaDataV0{ + p.SetMetadata(expectedPeer, wrapper.WrappedMetadataV0(&pb.MetaDataV0{ SeqNumber: 2, Attnets: bitV, })) @@ -374,7 +374,7 @@ func TestAddMetaData(t *testing.T) { SeqNumber: 8, Attnets: bitfield.NewBitvector64(), } - p.SetMetadata(newPeer, interfaces.WrappedMetadataV0(newMetaData)) + p.SetMetadata(newPeer, wrapper.WrappedMetadataV0(newMetaData)) md, err := p.Metadata(newPeer) require.NoError(t, err) @@ -1002,7 +1002,7 @@ func addPeer(t *testing.T, p *peers.Status, state peerdata.PeerConnectionState) require.NoError(t, err) p.Add(new(enr.Record), id, nil, network.DirUnknown) p.SetConnectionState(id, state) - p.SetMetadata(id, interfaces.WrappedMetadataV0(&pb.MetaDataV0{ + p.SetMetadata(id, wrapper.WrappedMetadataV0(&pb.MetaDataV0{ SeqNumber: 0, Attnets: bitfield.NewBitvector64(), })) diff --git a/beacon-chain/p2p/service.go b/beacon-chain/p2p/service.go index aa67806299..d30afbe8ff 100644 --- a/beacon-chain/p2p/service.go +++ b/beacon-chain/p2p/service.go @@ -26,8 +26,8 @@ import ( "github.com/prysmaticlabs/prysm/beacon-chain/p2p/encoder" "github.com/prysmaticlabs/prysm/beacon-chain/p2p/peers" "github.com/prysmaticlabs/prysm/beacon-chain/p2p/peers/scorers" + "github.com/prysmaticlabs/prysm/proto/beacon/p2p" "github.com/prysmaticlabs/prysm/shared" - "github.com/prysmaticlabs/prysm/shared/interfaces" "github.com/prysmaticlabs/prysm/shared/params" "github.com/prysmaticlabs/prysm/shared/runutil" "github.com/prysmaticlabs/prysm/shared/slotutil" @@ -64,7 +64,7 @@ type Service struct { addrFilter *multiaddr.Filters ipLimiter *leakybucket.Collector privKey *ecdsa.PrivateKey - metaData interfaces.Metadata + metaData p2p.Metadata pubsub *pubsub.PubSub joinedTopics map[string]*pubsub.Topic joinedTopicsLock sync.Mutex @@ -341,7 +341,7 @@ func (s *Service) DiscoveryAddresses() ([]multiaddr.Multiaddr, error) { } // Metadata returns a copy of the peer's metadata. -func (s *Service) Metadata() interfaces.Metadata { +func (s *Service) Metadata() p2p.Metadata { return s.metaData.Copy() } diff --git a/beacon-chain/p2p/subnets.go b/beacon-chain/p2p/subnets.go index e0f42c8601..87856aa5be 100644 --- a/beacon-chain/p2p/subnets.go +++ b/beacon-chain/p2p/subnets.go @@ -7,7 +7,7 @@ import ( "github.com/ethereum/go-ethereum/p2p/enode" "github.com/ethereum/go-ethereum/p2p/enr" "github.com/prysmaticlabs/go-bitfield" - "github.com/prysmaticlabs/prysm/shared/interfaces" + "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1/wrapper" "go.opencensus.io/trace" pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" @@ -103,7 +103,7 @@ func (s *Service) hasPeerWithSubnet(topic string) bool { func (s *Service) updateSubnetRecordWithMetadata(bitV bitfield.Bitvector64) { entry := enr.WithEntry(attSubnetEnrKey, &bitV) s.dv5Listener.LocalNode().Set(entry) - s.metaData = interfaces.WrappedMetadataV0(&pb.MetaDataV0{ + s.metaData = wrapper.WrappedMetadataV0(&pb.MetaDataV0{ SeqNumber: s.metaData.SequenceNumber() + 1, Attnets: bitV, }) diff --git a/beacon-chain/p2p/subnets_test.go b/beacon-chain/p2p/subnets_test.go index 868e30476a..0d75a3c4bf 100644 --- a/beacon-chain/p2p/subnets_test.go +++ b/beacon-chain/p2p/subnets_test.go @@ -13,7 +13,7 @@ import ( "github.com/prysmaticlabs/prysm/beacon-chain/core/feed" statefeed "github.com/prysmaticlabs/prysm/beacon-chain/core/feed/state" pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" - "github.com/prysmaticlabs/prysm/shared/interfaces" + "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1/wrapper" "github.com/prysmaticlabs/prysm/shared/params" "github.com/prysmaticlabs/prysm/shared/testutil/assert" "github.com/prysmaticlabs/prysm/shared/testutil/require" @@ -120,7 +120,7 @@ func TestStartDiscV5_DiscoverPeersWithSubnets(t *testing.T) { // Update ENR of a peer. testService := &Service{ dv5Listener: listeners[0], - metaData: interfaces.WrappedMetadataV0(&pb.MetaDataV0{ + metaData: wrapper.WrappedMetadataV0(&pb.MetaDataV0{ Attnets: bitfield.NewBitvector64(), }), } diff --git a/beacon-chain/p2p/testing/BUILD.bazel b/beacon-chain/p2p/testing/BUILD.bazel index bf00a4643a..083f55d050 100644 --- a/beacon-chain/p2p/testing/BUILD.bazel +++ b/beacon-chain/p2p/testing/BUILD.bazel @@ -21,9 +21,9 @@ go_library( "//beacon-chain/p2p/encoder:go_default_library", "//beacon-chain/p2p/peers:go_default_library", "//beacon-chain/p2p/peers/scorers:go_default_library", + "//proto/beacon/p2p:go_default_library", "//proto/beacon/p2p/v1:go_default_library", "//proto/eth/v1alpha1:go_default_library", - "//shared/interfaces:go_default_library", "@com_github_ethereum_go_ethereum//crypto:go_default_library", "@com_github_ethereum_go_ethereum//p2p/enode:go_default_library", "@com_github_ethereum_go_ethereum//p2p/enr:go_default_library", diff --git a/beacon-chain/p2p/testing/fuzz_p2p.go b/beacon-chain/p2p/testing/fuzz_p2p.go index b47e6821cb..f0a4ef1d8a 100644 --- a/beacon-chain/p2p/testing/fuzz_p2p.go +++ b/beacon-chain/p2p/testing/fuzz_p2p.go @@ -10,8 +10,8 @@ import ( "github.com/libp2p/go-libp2p-core/peer" pubsub "github.com/libp2p/go-libp2p-pubsub" "github.com/multiformats/go-multiaddr" + "github.com/prysmaticlabs/prysm/proto/beacon/p2p" ethpb "github.com/prysmaticlabs/prysm/proto/eth/v1alpha1" - "github.com/prysmaticlabs/prysm/shared/interfaces" "google.golang.org/protobuf/proto" "github.com/prysmaticlabs/prysm/beacon-chain/p2p/encoder" @@ -75,7 +75,7 @@ func (p *FakeP2P) LeaveTopic(_ string) error { } // Metadata -- fake. -func (p *FakeP2P) Metadata() interfaces.Metadata { +func (p *FakeP2P) Metadata() p2p.Metadata { return nil } diff --git a/beacon-chain/p2p/testing/mock_metadataprovider.go b/beacon-chain/p2p/testing/mock_metadataprovider.go index c63c0081e3..ea39cf4960 100644 --- a/beacon-chain/p2p/testing/mock_metadataprovider.go +++ b/beacon-chain/p2p/testing/mock_metadataprovider.go @@ -1,16 +1,16 @@ package testing import ( - "github.com/prysmaticlabs/prysm/shared/interfaces" + "github.com/prysmaticlabs/prysm/proto/beacon/p2p" ) // MockMetadataProvider is a fake implementation of the MetadataProvider interface. type MockMetadataProvider struct { - Data interfaces.Metadata + Data p2p.Metadata } // Metadata -- -func (m *MockMetadataProvider) Metadata() interfaces.Metadata { +func (m *MockMetadataProvider) Metadata() p2p.Metadata { return m.Data } diff --git a/beacon-chain/p2p/testing/p2p.go b/beacon-chain/p2p/testing/p2p.go index a700f2a620..228b317bd0 100644 --- a/beacon-chain/p2p/testing/p2p.go +++ b/beacon-chain/p2p/testing/p2p.go @@ -23,8 +23,8 @@ import ( "github.com/prysmaticlabs/prysm/beacon-chain/p2p/encoder" "github.com/prysmaticlabs/prysm/beacon-chain/p2p/peers" "github.com/prysmaticlabs/prysm/beacon-chain/p2p/peers/scorers" + "github.com/prysmaticlabs/prysm/proto/beacon/p2p" ethpb "github.com/prysmaticlabs/prysm/proto/eth/v1alpha1" - "github.com/prysmaticlabs/prysm/shared/interfaces" "github.com/sirupsen/logrus" "google.golang.org/protobuf/proto" ) @@ -39,7 +39,7 @@ type TestP2P struct { DelaySend bool Digest [4]byte peers *peers.Status - LocalMetadata interfaces.Metadata + LocalMetadata p2p.Metadata } // NewTestP2P initializes a new p2p test service. @@ -338,7 +338,7 @@ func (p *TestP2P) ForkDigest() ([4]byte, error) { } // Metadata mocks the peer's metadata. -func (p *TestP2P) Metadata() interfaces.Metadata { +func (p *TestP2P) Metadata() p2p.Metadata { return p.LocalMetadata.Copy() } diff --git a/beacon-chain/p2p/utils.go b/beacon-chain/p2p/utils.go index 3164d2a36b..457e3e4613 100644 --- a/beacon-chain/p2p/utils.go +++ b/beacon-chain/p2p/utils.go @@ -18,9 +18,10 @@ import ( "github.com/libp2p/go-libp2p-core/crypto" "github.com/pkg/errors" "github.com/prysmaticlabs/go-bitfield" + "github.com/prysmaticlabs/prysm/proto/beacon/p2p" pbp2p "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" + "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1/wrapper" "github.com/prysmaticlabs/prysm/shared/fileutil" - "github.com/prysmaticlabs/prysm/shared/interfaces" "github.com/prysmaticlabs/prysm/shared/iputils" "github.com/sirupsen/logrus" "google.golang.org/protobuf/proto" @@ -108,7 +109,7 @@ func privKeyFromFile(path string) (*ecdsa.PrivateKey, error) { // Retrieves node p2p metadata from a set of configuration values // from the p2p service. // TODO: Figure out how to do a v1/v2 check. -func metaDataFromConfig(cfg *Config) (interfaces.Metadata, error) { +func metaDataFromConfig(cfg *Config) (p2p.Metadata, error) { defaultKeyPath := path.Join(cfg.DataDir, metaDataPath) metaDataPath := cfg.MetaDataDir @@ -129,7 +130,7 @@ func metaDataFromConfig(cfg *Config) (interfaces.Metadata, error) { if err := fileutil.WriteFile(defaultKeyPath, dst); err != nil { return nil, err } - return interfaces.WrappedMetadataV0(metaData), nil + return wrapper.WrappedMetadataV0(metaData), nil } if defaultMetadataExist && metaDataPath == "" { metaDataPath = defaultKeyPath @@ -143,7 +144,7 @@ func metaDataFromConfig(cfg *Config) (interfaces.Metadata, error) { if err := proto.Unmarshal(src, metaData); err != nil { return nil, err } - return interfaces.WrappedMetadataV0(metaData), nil + return wrapper.WrappedMetadataV0(metaData), nil } // Retrieves an external ipv4 address and converts into a libp2p formatted value. diff --git a/beacon-chain/rpc/eth/v1/node/BUILD.bazel b/beacon-chain/rpc/eth/v1/node/BUILD.bazel index 0907d9b9b5..f6fa2cf624 100644 --- a/beacon-chain/rpc/eth/v1/node/BUILD.bazel +++ b/beacon-chain/rpc/eth/v1/node/BUILD.bazel @@ -45,9 +45,9 @@ go_test( "//beacon-chain/p2p/testing:go_default_library", "//beacon-chain/sync/initial-sync/testing:go_default_library", "//proto/beacon/p2p/v1:go_default_library", + "//proto/beacon/p2p/v1/wrapper:go_default_library", "//proto/eth/v1:go_default_library", "//shared/grpcutils:go_default_library", - "//shared/interfaces:go_default_library", "//shared/testutil:go_default_library", "//shared/testutil/assert:go_default_library", "//shared/testutil/require:go_default_library", diff --git a/beacon-chain/rpc/eth/v1/node/node_test.go b/beacon-chain/rpc/eth/v1/node/node_test.go index 88a6251ebb..a00faf1f1e 100644 --- a/beacon-chain/rpc/eth/v1/node/node_test.go +++ b/beacon-chain/rpc/eth/v1/node/node_test.go @@ -24,9 +24,9 @@ import ( mockp2p "github.com/prysmaticlabs/prysm/beacon-chain/p2p/testing" syncmock "github.com/prysmaticlabs/prysm/beacon-chain/sync/initial-sync/testing" pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" + "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1/wrapper" ethpb "github.com/prysmaticlabs/prysm/proto/eth/v1" "github.com/prysmaticlabs/prysm/shared/grpcutils" - "github.com/prysmaticlabs/prysm/shared/interfaces" "github.com/prysmaticlabs/prysm/shared/testutil" "github.com/prysmaticlabs/prysm/shared/testutil/assert" "github.com/prysmaticlabs/prysm/shared/testutil/require" @@ -88,7 +88,7 @@ func TestGetIdentity(t *testing.T) { require.NoError(t, err) attnets := bitfield.NewBitvector64() attnets.SetBitAt(1, true) - metadataProvider := &mockp2p.MockMetadataProvider{Data: interfaces.WrappedMetadataV0(&pb.MetaDataV0{SeqNumber: 1, Attnets: attnets})} + metadataProvider := &mockp2p.MockMetadataProvider{Data: wrapper.WrappedMetadataV0(&pb.MetaDataV0{SeqNumber: 1, Attnets: attnets})} t.Run("OK", func(t *testing.T) { peerManager := &mockp2p.MockPeerManager{ diff --git a/beacon-chain/state/v1/BUILD.bazel b/beacon-chain/state/v1/BUILD.bazel index 9eb7b28c9e..f563948ff6 100644 --- a/beacon-chain/state/v1/BUILD.bazel +++ b/beacon-chain/state/v1/BUILD.bazel @@ -55,9 +55,9 @@ go_library( "//shared/featureconfig:go_default_library", "//shared/hashutil:go_default_library", "//shared/htrutils:go_default_library", - "//shared/interfaces/version:go_default_library", "//shared/params:go_default_library", "//shared/sliceutil:go_default_library", + "//shared/version:go_default_library", "@com_github_dgraph_io_ristretto//:go_default_library", "@com_github_pkg_errors//:go_default_library", "@com_github_prometheus_client_golang//prometheus:go_default_library", diff --git a/beacon-chain/state/v1/getters_misc.go b/beacon-chain/state/v1/getters_misc.go index 7ff3581194..6146723acc 100644 --- a/beacon-chain/state/v1/getters_misc.go +++ b/beacon-chain/state/v1/getters_misc.go @@ -8,8 +8,8 @@ import ( "github.com/prysmaticlabs/prysm/shared/featureconfig" "github.com/prysmaticlabs/prysm/shared/hashutil" "github.com/prysmaticlabs/prysm/shared/htrutils" - "github.com/prysmaticlabs/prysm/shared/interfaces/version" "github.com/prysmaticlabs/prysm/shared/params" + "github.com/prysmaticlabs/prysm/shared/version" ) // GenesisTime of the beacon state as a uint64. diff --git a/beacon-chain/sync/BUILD.bazel b/beacon-chain/sync/BUILD.bazel index 534773ccd3..9eb9654c9d 100644 --- a/beacon-chain/sync/BUILD.bazel +++ b/beacon-chain/sync/BUILD.bazel @@ -65,7 +65,9 @@ go_library( "//beacon-chain/state/interface:go_default_library", "//beacon-chain/state/stategen:go_default_library", "//cmd/beacon-chain/flags:go_default_library", + "//proto/beacon/p2p:go_default_library", "//proto/beacon/p2p/v1:go_default_library", + "//proto/beacon/p2p/v1/wrapper:go_default_library", "//proto/eth/v1alpha1:go_default_library", "//proto/eth/v1alpha1/wrapper:go_default_library", "//proto/interfaces:go_default_library", @@ -73,7 +75,6 @@ go_library( "//shared/abool:go_default_library", "//shared/bls:go_default_library", "//shared/bytesutil:go_default_library", - "//shared/interfaces:go_default_library", "//shared/messagehandler:go_default_library", "//shared/mputil:go_default_library", "//shared/p2putils:go_default_library", @@ -161,6 +162,7 @@ go_test( "//beacon-chain/sync/initial-sync/testing:go_default_library", "//cmd/beacon-chain/flags:go_default_library", "//proto/beacon/p2p/v1:go_default_library", + "//proto/beacon/p2p/v1/wrapper:go_default_library", "//proto/eth/v1alpha1:go_default_library", "//proto/eth/v1alpha1/wrapper:go_default_library", "//proto/interfaces:go_default_library", @@ -169,7 +171,6 @@ go_test( "//shared/bls:go_default_library", "//shared/bytesutil:go_default_library", "//shared/copyutil:go_default_library", - "//shared/interfaces:go_default_library", "//shared/params:go_default_library", "//shared/rand:go_default_library", "//shared/sszutil:go_default_library", diff --git a/beacon-chain/sync/rpc_metadata.go b/beacon-chain/sync/rpc_metadata.go index 80c5a1fdad..6a3e57251f 100644 --- a/beacon-chain/sync/rpc_metadata.go +++ b/beacon-chain/sync/rpc_metadata.go @@ -7,8 +7,9 @@ import ( "github.com/libp2p/go-libp2p-core/peer" "github.com/pkg/errors" "github.com/prysmaticlabs/prysm/beacon-chain/p2p" + p2p2 "github.com/prysmaticlabs/prysm/proto/beacon/p2p" pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" - "github.com/prysmaticlabs/prysm/shared/interfaces" + "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1/wrapper" ) // metaDataHandler reads the incoming metadata rpc request from the peer. @@ -34,7 +35,7 @@ func (s *Service) metaDataHandler(_ context.Context, _ interface{}, stream libp2 return nil } -func (s *Service) sendMetaDataRequest(ctx context.Context, id peer.ID) (interfaces.Metadata, error) { +func (s *Service) sendMetaDataRequest(ctx context.Context, id peer.ID) (p2p2.Metadata, error) { ctx, cancel := context.WithTimeout(ctx, respTimeout) defer cancel() @@ -60,5 +61,5 @@ func (s *Service) sendMetaDataRequest(ctx context.Context, id peer.ID) (interfac if err := s.cfg.P2P.Encoding().DecodeWithMaxLength(stream, msg); err != nil { return nil, err } - return interfaces.WrappedMetadataV0(msg), nil + return wrapper.WrappedMetadataV0(msg), nil } diff --git a/beacon-chain/sync/rpc_metadata_test.go b/beacon-chain/sync/rpc_metadata_test.go index b0fc63d527..69b473581c 100644 --- a/beacon-chain/sync/rpc_metadata_test.go +++ b/beacon-chain/sync/rpc_metadata_test.go @@ -13,7 +13,7 @@ import ( "github.com/prysmaticlabs/prysm/beacon-chain/p2p" p2ptest "github.com/prysmaticlabs/prysm/beacon-chain/p2p/testing" pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" - "github.com/prysmaticlabs/prysm/shared/interfaces" + "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1/wrapper" "github.com/prysmaticlabs/prysm/shared/sszutil" "github.com/prysmaticlabs/prysm/shared/testutil" "github.com/prysmaticlabs/prysm/shared/testutil/assert" @@ -26,7 +26,7 @@ func TestMetaDataRPCHandler_ReceivesMetadata(t *testing.T) { p1.Connect(p2) assert.Equal(t, 1, len(p1.BHost.Network().Peers()), "Expected peers to be connected") bitfield := [8]byte{'A', 'B'} - p1.LocalMetadata = interfaces.WrappedMetadataV0(&pb.MetaDataV0{ + p1.LocalMetadata = wrapper.WrappedMetadataV0(&pb.MetaDataV0{ SeqNumber: 2, Attnets: bitfield[:], }) @@ -75,7 +75,7 @@ func TestMetadataRPCHandler_SendsMetadata(t *testing.T) { p1.Connect(p2) assert.Equal(t, 1, len(p1.BHost.Network().Peers()), "Expected peers to be connected") bitfield := [8]byte{'A', 'B'} - p2.LocalMetadata = interfaces.WrappedMetadataV0(&pb.MetaDataV0{ + p2.LocalMetadata = wrapper.WrappedMetadataV0(&pb.MetaDataV0{ SeqNumber: 2, Attnets: bitfield[:], }) diff --git a/beacon-chain/sync/rpc_ping_test.go b/beacon-chain/sync/rpc_ping_test.go index 3c8609a02f..d86565ea30 100644 --- a/beacon-chain/sync/rpc_ping_test.go +++ b/beacon-chain/sync/rpc_ping_test.go @@ -15,7 +15,7 @@ import ( p2ptest "github.com/prysmaticlabs/prysm/beacon-chain/p2p/testing" p2ptypes "github.com/prysmaticlabs/prysm/beacon-chain/p2p/types" pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" - "github.com/prysmaticlabs/prysm/shared/interfaces" + "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1/wrapper" "github.com/prysmaticlabs/prysm/shared/testutil" "github.com/prysmaticlabs/prysm/shared/testutil/assert" "github.com/prysmaticlabs/prysm/shared/testutil/require" @@ -26,12 +26,12 @@ func TestPingRPCHandler_ReceivesPing(t *testing.T) { p2 := p2ptest.NewTestP2P(t) p1.Connect(p2) assert.Equal(t, 1, len(p1.BHost.Network().Peers()), "Expected peers to be connected") - p1.LocalMetadata = interfaces.WrappedMetadataV0(&pb.MetaDataV0{ + p1.LocalMetadata = wrapper.WrappedMetadataV0(&pb.MetaDataV0{ SeqNumber: 2, Attnets: []byte{'A', 'B'}, }) - p2.LocalMetadata = interfaces.WrappedMetadataV0(&pb.MetaDataV0{ + p2.LocalMetadata = wrapper.WrappedMetadataV0(&pb.MetaDataV0{ SeqNumber: 2, Attnets: []byte{'C', 'D'}, }) @@ -83,12 +83,12 @@ func TestPingRPCHandler_SendsPing(t *testing.T) { p2 := p2ptest.NewTestP2P(t) p1.Connect(p2) assert.Equal(t, 1, len(p1.BHost.Network().Peers()), "Expected peers to be connected") - p1.LocalMetadata = interfaces.WrappedMetadataV0(&pb.MetaDataV0{ + p1.LocalMetadata = wrapper.WrappedMetadataV0(&pb.MetaDataV0{ SeqNumber: 2, Attnets: []byte{'A', 'B'}, }) - p2.LocalMetadata = interfaces.WrappedMetadataV0(&pb.MetaDataV0{ + p2.LocalMetadata = wrapper.WrappedMetadataV0(&pb.MetaDataV0{ SeqNumber: 2, Attnets: []byte{'C', 'D'}, }) @@ -148,12 +148,12 @@ func TestPingRPCHandler_BadSequenceNumber(t *testing.T) { p2 := p2ptest.NewTestP2P(t) p1.Connect(p2) assert.Equal(t, 1, len(p1.BHost.Network().Peers()), "Expected peers to be connected") - p1.LocalMetadata = interfaces.WrappedMetadataV0(&pb.MetaDataV0{ + p1.LocalMetadata = wrapper.WrappedMetadataV0(&pb.MetaDataV0{ SeqNumber: 2, Attnets: []byte{'A', 'B'}, }) - p2.LocalMetadata = interfaces.WrappedMetadataV0(&pb.MetaDataV0{ + p2.LocalMetadata = wrapper.WrappedMetadataV0(&pb.MetaDataV0{ SeqNumber: 2, Attnets: []byte{'C', 'D'}, }) @@ -174,7 +174,7 @@ func TestPingRPCHandler_BadSequenceNumber(t *testing.T) { } p1.Peers().Add(new(enr.Record), p2.BHost.ID(), p2.BHost.Addrs()[0], network.DirUnknown) - p1.Peers().SetMetadata(p2.BHost.ID(), interfaces.WrappedMetadataV0(badMetadata)) + p1.Peers().SetMetadata(p2.BHost.ID(), wrapper.WrappedMetadataV0(badMetadata)) // Setup streams pcl := protocol.ID("/testing") diff --git a/beacon-chain/sync/rpc_status_test.go b/beacon-chain/sync/rpc_status_test.go index fc8d7218f6..f15f0c8170 100644 --- a/beacon-chain/sync/rpc_status_test.go +++ b/beacon-chain/sync/rpc_status_test.go @@ -21,11 +21,11 @@ import ( "github.com/prysmaticlabs/prysm/beacon-chain/state/v1" mockSync "github.com/prysmaticlabs/prysm/beacon-chain/sync/initial-sync/testing" pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" + p2pWrapper "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1/wrapper" ethpb "github.com/prysmaticlabs/prysm/proto/eth/v1alpha1" "github.com/prysmaticlabs/prysm/proto/eth/v1alpha1/wrapper" - interfaces2 "github.com/prysmaticlabs/prysm/proto/interfaces" + p2pInterfaces "github.com/prysmaticlabs/prysm/proto/interfaces" "github.com/prysmaticlabs/prysm/shared/bytesutil" - "github.com/prysmaticlabs/prysm/shared/interfaces" "github.com/prysmaticlabs/prysm/shared/params" "github.com/prysmaticlabs/prysm/shared/testutil" "github.com/prysmaticlabs/prysm/shared/testutil/assert" @@ -252,12 +252,12 @@ func TestHandshakeHandlers_Roundtrip(t *testing.T) { p2 := p2ptest.NewTestP2P(t) db := testingDB.SetupDB(t) - p1.LocalMetadata = interfaces.WrappedMetadataV0(&pb.MetaDataV0{ + p1.LocalMetadata = p2pWrapper.WrappedMetadataV0(&pb.MetaDataV0{ SeqNumber: 2, Attnets: bytesutil.PadTo([]byte{'A', 'B'}, 8), }) - p2.LocalMetadata = interfaces.WrappedMetadataV0(&pb.MetaDataV0{ + p2.LocalMetadata = p2pWrapper.WrappedMetadataV0(&pb.MetaDataV0{ SeqNumber: 2, Attnets: bytesutil.PadTo([]byte{'C', 'D'}, 8), }) @@ -928,9 +928,9 @@ func TestShouldResync(t *testing.T) { } } -func makeBlocks(t *testing.T, i, n uint64, previousRoot [32]byte) []interfaces2.SignedBeaconBlock { +func makeBlocks(t *testing.T, i, n uint64, previousRoot [32]byte) []p2pInterfaces.SignedBeaconBlock { blocks := make([]*ethpb.SignedBeaconBlock, n) - ifaceBlocks := make([]interfaces2.SignedBeaconBlock, n) + ifaceBlocks := make([]p2pInterfaces.SignedBeaconBlock, n) for j := i; j < n+i; j++ { parentRoot := make([]byte, 32) copy(parentRoot, previousRoot[:]) diff --git a/proto/beacon/p2p/BUILD.bazel b/proto/beacon/p2p/BUILD.bazel new file mode 100644 index 0000000000..75e9e01dbe --- /dev/null +++ b/proto/beacon/p2p/BUILD.bazel @@ -0,0 +1,12 @@ +load("@prysm//tools/go:def.bzl", "go_library") + +go_library( + name = "go_default_library", + srcs = ["interface.go"], + importpath = "github.com/prysmaticlabs/prysm/proto/beacon/p2p", + visibility = ["//visibility:public"], + deps = [ + "//proto/beacon/p2p/v1:go_default_library", + "@com_github_prysmaticlabs_go_bitfield//:go_default_library", + ], +) diff --git a/shared/interfaces/metadata_interface.go b/proto/beacon/p2p/interface.go similarity index 95% rename from shared/interfaces/metadata_interface.go rename to proto/beacon/p2p/interface.go index 216411195b..2206ab903b 100644 --- a/shared/interfaces/metadata_interface.go +++ b/proto/beacon/p2p/interface.go @@ -1,4 +1,4 @@ -package interfaces +package p2p import ( "github.com/prysmaticlabs/go-bitfield" diff --git a/shared/interfaces/BUILD.bazel b/proto/beacon/p2p/v1/wrapper/BUILD.bazel similarity index 68% rename from shared/interfaces/BUILD.bazel rename to proto/beacon/p2p/v1/wrapper/BUILD.bazel index c0d571c336..ccb1c4c112 100644 --- a/shared/interfaces/BUILD.bazel +++ b/proto/beacon/p2p/v1/wrapper/BUILD.bazel @@ -2,13 +2,11 @@ load("@prysm//tools/go:def.bzl", "go_library") go_library( name = "go_default_library", - srcs = [ - "metadata_interface.go", - "metadata_wrapper.go", - ], - importpath = "github.com/prysmaticlabs/prysm/shared/interfaces", + srcs = ["metadata.go"], + importpath = "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1/wrapper", visibility = ["//visibility:public"], deps = [ + "//proto/beacon/p2p:go_default_library", "//proto/beacon/p2p/v1:go_default_library", "@com_github_prysmaticlabs_go_bitfield//:go_default_library", "@org_golang_google_protobuf//proto:go_default_library", diff --git a/shared/interfaces/metadata_wrapper.go b/proto/beacon/p2p/v1/wrapper/metadata.go similarity index 94% rename from shared/interfaces/metadata_wrapper.go rename to proto/beacon/p2p/v1/wrapper/metadata.go index f15161f9ee..55480f0a89 100644 --- a/shared/interfaces/metadata_wrapper.go +++ b/proto/beacon/p2p/v1/wrapper/metadata.go @@ -1,7 +1,8 @@ -package interfaces +package wrapper import ( "github.com/prysmaticlabs/go-bitfield" + "github.com/prysmaticlabs/prysm/proto/beacon/p2p" pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" "google.golang.org/protobuf/proto" ) @@ -37,7 +38,7 @@ func (m MetadataV0) IsNil() bool { } // Copy performs a full copy of the underlying metadata object. -func (m MetadataV0) Copy() Metadata { +func (m MetadataV0) Copy() p2p.Metadata { return WrappedMetadataV0(proto.Clone(m.md).(*pb.MetaDataV0)) } @@ -84,7 +85,7 @@ func (m MetadataV1) IsNil() bool { } // Copy performs a full copy of the underlying metadata object. -func (m MetadataV1) Copy() Metadata { +func (m MetadataV1) Copy() p2p.Metadata { return WrappedMetadataV1(proto.Clone(m.md).(*pb.MetaDataV1)) } diff --git a/shared/interfaces/version/BUILD.bazel b/shared/interfaces/version/BUILD.bazel deleted file mode 100644 index 6b61c50088..0000000000 --- a/shared/interfaces/version/BUILD.bazel +++ /dev/null @@ -1,8 +0,0 @@ -load("@prysm//tools/go:def.bzl", "go_library") - -go_library( - name = "go_default_library", - srcs = ["version.go"], - importpath = "github.com/prysmaticlabs/prysm/shared/interfaces/version", - visibility = ["//visibility:public"], -) diff --git a/shared/version/BUILD.bazel b/shared/version/BUILD.bazel index 806fc70570..ca8650dbb7 100644 --- a/shared/version/BUILD.bazel +++ b/shared/version/BUILD.bazel @@ -3,6 +3,7 @@ load("@prysm//tools/go:def.bzl", "go_library") go_library( name = "go_default_library", srcs = [ + "fork.go", "metrics.go", "version.go", ], diff --git a/shared/interfaces/version/version.go b/shared/version/fork.go similarity index 100% rename from shared/interfaces/version/version.go rename to shared/version/fork.go