From f34ccb75e509c35f94f35e16deeebc8755c7d3ae Mon Sep 17 00:00:00 2001 From: Giulio Rebuffo <giulio.rebuffo@gmail.com> Date: Sun, 7 Nov 2021 20:25:37 +0100 Subject: [PATCH] refactor downloader --- README.md | 1 - cmd/sentry/commands/sentry.go | 5 -- cmd/sentry/download/broadcast.go | 89 ++----------------------------- cmd/sentry/download/downloader.go | 10 ---- cmd/sentry/download/sentry.go | 25 +-------- cmd/sentry/download/sentry_api.go | 63 ---------------------- cmd/utils/flags.go | 2 - eth/backend.go | 11 +--- eth/protocols/eth/peer.go | 5 +- eth/protocols/eth/protocol.go | 38 +------------ eth/stagedsync/stage_headers.go | 1 + ethdb/privateapi/ethbackend.go | 4 ++ go.mod | 2 +- go.sum | 9 +--- turbo/txpool/p2p.go | 29 +--------- 15 files changed, 19 insertions(+), 275 deletions(-) diff --git a/README.md b/README.md index abee214bd1..fbb6d83c7d 100644 --- a/README.md +++ b/README.md @@ -279,7 +279,6 @@ Detailed explanation: [./docs/programmers_guide/db_faq.md](./docs/programmers_gu | Port | Protocol | Purpose | Expose | |:-----:|:---------:|:----------------:|:-------:| | 30303 | TCP & UDP | eth/66 peering | Public | -| 30304 | TCP & UDP | eth/65 peering | Public | | 9090 | TCP | gRPC Connections | Private | Typically 30303 and 30304 are exposed to the internet to allow incoming peering connections. 9090 is exposed only diff --git a/cmd/sentry/commands/sentry.go b/cmd/sentry/commands/sentry.go index 6668efecec..0a99fc7b2b 100644 --- a/cmd/sentry/commands/sentry.go +++ b/cmd/sentry/commands/sentry.go @@ -4,7 +4,6 @@ import ( "fmt" "os" "path" - "strings" "github.com/ledgerwatch/erigon/cmd/sentry/download" "github.com/ledgerwatch/erigon/cmd/utils" @@ -70,10 +69,6 @@ var rootCmd = &cobra.Command{ }, RunE: func(cmd *cobra.Command, args []string) error { p := eth.ETH66 - switch strings.ToLower(protocol) { - case "eth65": - p = eth.ETH65 - } nodeConfig := node2.NewNodeConfig() p2pConfig, err := utils.NewP2PConfig(nodiscover, datadir, netRestrict, natSetting, nodeConfig.NodeName(), staticPeers, uint(port), uint(p)) diff --git a/cmd/sentry/download/broadcast.go b/cmd/sentry/download/broadcast.go index 6b499630b4..57d9471fc3 100644 --- a/cmd/sentry/download/broadcast.go +++ b/cmd/sentry/download/broadcast.go @@ -40,25 +40,14 @@ func (cs *ControlServerImpl) PropagateNewBlockHashes(ctx context.Context, announ log.Error("propagateNewBlockHashes", "error", err) return } - var req66, req65 *proto_sentry.OutboundMessageData + var req66 *proto_sentry.OutboundMessageData for _, sentry := range cs.sentries { if !sentry.Ready() { continue } switch sentry.Protocol() { - case eth.ETH65: - if req65 == nil { - req65 = &proto_sentry.OutboundMessageData{ - Id: proto_sentry.MessageId_NEW_BLOCK_HASHES_65, - Data: data, - } - } - _, err = sentry.SendMessageToAll(ctx, req65, &grpc.EmptyCallOption{}) - if err != nil { - log.Error("propagateNewBlockHashes", "error", err) - } case eth.ETH66: if req66 == nil { req66 = &proto_sentry.OutboundMessageData{ @@ -87,31 +76,13 @@ func (cs *ControlServerImpl) BroadcastNewBlock(ctx context.Context, block *types if err != nil { log.Error("broadcastNewBlock", "error", err) } - var req66, req65 *proto_sentry.SendMessageToRandomPeersRequest + var req66 *proto_sentry.SendMessageToRandomPeersRequest for _, sentry := range cs.sentries { if !sentry.Ready() { continue } switch sentry.Protocol() { - case eth.ETH65: - if req65 == nil { - req65 = &proto_sentry.SendMessageToRandomPeersRequest{ - MaxPeers: 1024, - Data: &proto_sentry.OutboundMessageData{ - Id: proto_sentry.MessageId_NEW_BLOCK_65, - Data: data, - }, - } - } - - if _, err = sentry.SendMessageToRandomPeers(ctx, req65, &grpc.EmptyCallOption{}); err != nil { - if isPeerNotFoundErr(err) || networkTemporaryErr(err) { - log.Debug("broadcastNewBlock", "error", err) - continue - } - log.Error("broadcastNewBlock", "error", err) - } case eth.ETH66: if req66 == nil { @@ -159,31 +130,13 @@ func (cs *ControlServerImpl) BroadcastLocalPooledTxs(ctx context.Context, txs [] if err != nil { log.Error("BroadcastLocalPooledTxs", "error", err) } - var req66, req65 *proto_sentry.OutboundMessageData + var req66 *proto_sentry.OutboundMessageData for _, sentry := range cs.sentries { if !sentry.Ready() { continue } switch sentry.Protocol() { - case eth.ETH65: - if req65 == nil { - req65 = &proto_sentry.OutboundMessageData{ - Id: proto_sentry.MessageId_NEW_POOLED_TRANSACTION_HASHES_65, - Data: data, - } - } - - peers, err := sentry.SendMessageToAll(ctx, req65, &grpc.EmptyCallOption{}) - if err != nil { - if isPeerNotFoundErr(err) || networkTemporaryErr(err) { - log.Debug("BroadcastLocalPooledTxs", "error", err) - continue - } - log.Error("BroadcastLocalPooledTxs", "error", err) - } - avgPeersPerSent65 += len(peers.GetPeers()) - case eth.ETH66: if req66 == nil { req66 = &proto_sentry.OutboundMessageData{ @@ -231,31 +184,13 @@ func (cs *ControlServerImpl) BroadcastRemotePooledTxs(ctx context.Context, txs [ if err != nil { log.Error("BroadcastRemotePooledTxs", "error", err) } - var req66, req65 *proto_sentry.SendMessageToRandomPeersRequest + var req66 *proto_sentry.SendMessageToRandomPeersRequest for _, sentry := range cs.sentries { if !sentry.Ready() { continue } switch sentry.Protocol() { - case eth.ETH65: - if req65 == nil { - req65 = &proto_sentry.SendMessageToRandomPeersRequest{ - MaxPeers: 1024, - Data: &proto_sentry.OutboundMessageData{ - Id: proto_sentry.MessageId_NEW_POOLED_TRANSACTION_HASHES_65, - Data: data, - }, - } - } - - if _, err = sentry.SendMessageToRandomPeers(ctx, req65, &grpc.EmptyCallOption{}); err != nil { - if isPeerNotFoundErr(err) || networkTemporaryErr(err) { - log.Debug("BroadcastRemotePooledTxs", "error", err) - continue - } - log.Error("BroadcastRemotePooledTxs", "error", err) - } case eth.ETH66: if req66 == nil { @@ -307,22 +242,6 @@ func (cs *ControlServerImpl) PropagatePooledTxsToPeersList(ctx context.Context, for _, peer := range peers { switch sentry.Protocol() { - case eth.ETH65: - req65 := &proto_sentry.SendMessageByIdRequest{ - PeerId: peer, - Data: &proto_sentry.OutboundMessageData{ - Id: proto_sentry.MessageId_NEW_POOLED_TRANSACTION_HASHES_65, - Data: data, - }, - } - - if _, err = sentry.SendMessageById(ctx, req65, &grpc.EmptyCallOption{}); err != nil { - if isPeerNotFoundErr(err) || networkTemporaryErr(err) { - log.Debug("broadcastNewBlock", "error", err) - continue - } - log.Error("broadcastNewBlock", "error", err) - } case eth.ETH66: req66 := &proto_sentry.SendMessageByIdRequest{ diff --git a/cmd/sentry/download/downloader.go b/cmd/sentry/download/downloader.go index 2095d511e1..94f7441c8e 100644 --- a/cmd/sentry/download/downloader.go +++ b/cmd/sentry/download/downloader.go @@ -99,9 +99,6 @@ func RecvUploadMessage(ctx context.Context, defer cancel() stream, err := sentry.Messages(streamCtx, &proto_sentry.MessagesRequest{Ids: []proto_sentry.MessageId{ - eth.ToProto[eth.ETH65][eth.GetBlockBodiesMsg], - eth.ToProto[eth.ETH65][eth.GetReceiptsMsg], - eth.ToProto[eth.ETH66][eth.GetBlockBodiesMsg], eth.ToProto[eth.ETH66][eth.GetReceiptsMsg], }}, grpc.WaitForReady(true)) @@ -194,8 +191,6 @@ func RecvUploadHeadersMessage(ctx context.Context, defer cancel() stream, err := sentry.Messages(streamCtx, &proto_sentry.MessagesRequest{Ids: []proto_sentry.MessageId{ - eth.ToProto[eth.ETH65][eth.GetBlockHeadersMsg], - eth.ToProto[eth.ETH66][eth.GetBlockHeadersMsg], }}, grpc.WaitForReady(true)) if err != nil { @@ -292,11 +287,6 @@ func RecvMessage( defer sentry.MarkDisconnected() stream, err := sentry.Messages(streamCtx, &proto_sentry.MessagesRequest{Ids: []proto_sentry.MessageId{ - eth.ToProto[eth.ETH65][eth.BlockHeadersMsg], - eth.ToProto[eth.ETH65][eth.BlockBodiesMsg], - eth.ToProto[eth.ETH65][eth.NewBlockHashesMsg], - eth.ToProto[eth.ETH65][eth.NewBlockMsg], - eth.ToProto[eth.ETH66][eth.BlockHeadersMsg], eth.ToProto[eth.ETH66][eth.BlockBodiesMsg], eth.ToProto[eth.ETH66][eth.NewBlockHashesMsg], diff --git a/cmd/sentry/download/sentry.go b/cmd/sentry/download/sentry.go index e2c077eef2..b04ddc9a17 100644 --- a/cmd/sentry/download/sentry.go +++ b/cmd/sentry/download/sentry.go @@ -450,7 +450,7 @@ func NewSentryServer(ctx context.Context, dialCandidates enode.Iterator, readNod peersStreams: NewPeersStreams(), } - if protocol != eth.ETH65 && protocol != eth.ETH66 { + if protocol != eth.ETH66 { panic(fmt.Errorf("unexpected p2p protocol: %d", protocol)) } @@ -551,27 +551,6 @@ type SentryServerImpl struct { func (ss *SentryServerImpl) startSync(ctx context.Context, bestHash common.Hash, peerID string) error { switch ss.Protocol.Version { - case eth.ETH65: - b, err := rlp.EncodeToBytes(ð.GetBlockHeadersPacket{ - Amount: 1, - Reverse: false, - Skip: 0, - Origin: eth.HashOrNumber{Hash: bestHash}, - }) - if err != nil { - return fmt.Errorf("startSync encode packet failed: %w", err) - } - - if _, err := ss.SendMessageById(ctx, &proto_sentry.SendMessageByIdRequest{ - PeerId: gointerfaces.ConvertBytesToH512([]byte(peerID)), - Data: &proto_sentry.OutboundMessageData{ - Id: proto_sentry.MessageId_GET_BLOCK_HEADERS_65, - Data: b, - }, - }); err != nil { - return err - } - case eth.ETH66: b, err := rlp.EncodeToBytes(ð.GetBlockHeadersPacket66{ RequestId: rand.Uint64(), @@ -794,8 +773,6 @@ func (ss *SentryServerImpl) HandShake(context.Context, *emptypb.Empty) (*proto_s switch ss.Protocol.Version { case eth.ETH66: reply.Protocol = proto_sentry.Protocol_ETH66 - case eth.ETH65: - reply.Protocol = proto_sentry.Protocol_ETH65 } return reply, nil } diff --git a/cmd/sentry/download/sentry_api.go b/cmd/sentry/download/sentry_api.go index a45bb5ba3e..5f2b268650 100644 --- a/cmd/sentry/download/sentry_api.go +++ b/cmd/sentry/download/sentry_api.go @@ -64,32 +64,6 @@ func (cs *ControlServerImpl) SendBodyRequest(ctx context.Context, req *bodydownl }, } - sentPeers, err1 := cs.sentries[i].SendMessageByMinBlock(ctx, &outreq, &grpc.EmptyCallOption{}) - if err1 != nil { - log.Error("Could not send block bodies request", "err", err1) - return nil - } - if sentPeers == nil || len(sentPeers.Peers) == 0 { - continue - } - return gointerfaces.ConvertH512ToBytes(sentPeers.Peers[0]) - case eth.ETH65: - //log.Info(fmt.Sprintf("Sending body request for %v", req.BlockNums)) - var bytes []byte - var err error - bytes, err = rlp.EncodeToBytes(eth.GetBlockBodiesPacket(req.Hashes)) - if err != nil { - log.Error("Could not encode block bodies request", "err", err) - return nil - } - outreq := proto_sentry.SendMessageByMinBlockRequest{ - MinBlock: req.BlockNums[len(req.BlockNums)-1], - Data: &proto_sentry.OutboundMessageData{ - Id: proto_sentry.MessageId_GET_BLOCK_BODIES_65, - Data: bytes, - }, - } - sentPeers, err1 := cs.sentries[i].SendMessageByMinBlock(ctx, &outreq, &grpc.EmptyCallOption{}) if err1 != nil { log.Error("Could not send block bodies request", "err", err1) @@ -151,43 +125,6 @@ func (cs *ControlServerImpl) SendHeaderRequest(ctx context.Context, req *headerd continue } return gointerfaces.ConvertH512ToBytes(sentPeers.Peers[0]) - case eth.ETH65: - //log.Info(fmt.Sprintf("Sending header request {hash: %x, height: %d, length: %d}", req.Hash, req.Number, req.Length)) - reqData := ð.GetBlockHeadersPacket{ - Amount: req.Length, - Reverse: req.Reverse, - Skip: req.Skip, - Origin: eth.HashOrNumber{Hash: req.Hash}, - } - if req.Hash == (common.Hash{}) { - reqData.Origin.Number = req.Number - } - bytes, err := rlp.EncodeToBytes(reqData) - if err != nil { - log.Error("Could not encode header request", "err", err) - return nil - } - minBlock := req.Number - if !req.Reverse { - minBlock = req.Number + req.Length*req.Skip - } - - outreq := proto_sentry.SendMessageByMinBlockRequest{ - MinBlock: minBlock, - Data: &proto_sentry.OutboundMessageData{ - Id: proto_sentry.MessageId_GET_BLOCK_HEADERS_65, - Data: bytes, - }, - } - sentPeers, err1 := cs.sentries[i].SendMessageByMinBlock(ctx, &outreq, &grpc.EmptyCallOption{}) - if err1 != nil { - log.Error("Could not send header request", "err", err1) - return nil - } - if sentPeers == nil || len(sentPeers.Peers) == 0 { - continue - } - return gointerfaces.ConvertH512ToBytes(sentPeers.Peers[0]) } } return nil diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go index bc3534924c..3ef6e34af7 100644 --- a/cmd/utils/flags.go +++ b/cmd/utils/flags.go @@ -698,8 +698,6 @@ func SetStaticPeers(cfg *p2p.Config, urls []string) error { func NewP2PConfig(nodiscover bool, datadir, netRestrict, natSetting, nodeName string, staticPeers []string, port, protocol uint) (*p2p.Config, error) { var enodeDBPath string switch protocol { - case eth.ETH65: - enodeDBPath = path.Join(datadir, "nodes", "eth65") case eth.ETH66: enodeDBPath = path.Join(datadir, "nodes", "eth66") default: diff --git a/eth/backend.go b/eth/backend.go index 93a546ec6d..367aa21995 100644 --- a/eth/backend.go +++ b/eth/backend.go @@ -282,16 +282,7 @@ func New(stack *node.Node, config *ethconfig.Config, logger log.Logger) (*Ethere server66 := download.NewSentryServer(backend.downloadCtx, d66, readNodeInfo, &cfg66, eth.ETH66) backend.sentryServers = append(backend.sentryServers, server66) backend.sentries = []direct.SentryClient{direct.NewSentryClientDirect(eth.ETH66, server66)} - cfg65 := stack.Config().P2P - cfg65.NodeDatabase = path.Join(stack.Config().DataDir, "nodes", "eth65") - d65, err := setupDiscovery(backend.config.EthDiscoveryURLs) - if err != nil { - return nil, err - } - cfg65.ListenAddr = cfg65.ListenAddr65 - server65 := download.NewSentryServer(backend.downloadCtx, d65, readNodeInfo, &cfg65, eth.ETH65) - backend.sentryServers = append(backend.sentryServers, server65) - backend.sentries = append(backend.sentries, direct.NewSentryClientDirect(eth.ETH65, server65)) + go func() { logEvery := time.NewTicker(120 * time.Second) defer logEvery.Stop() diff --git a/eth/protocols/eth/peer.go b/eth/protocols/eth/peer.go index 9d77725af1..8300533c6c 100644 --- a/eth/protocols/eth/peer.go +++ b/eth/protocols/eth/peer.go @@ -108,9 +108,8 @@ func NewPeer(version uint, p *p2p.Peer, rw p2p.MsgReadWriter, txpool TxPool) *Pe // Start up all the broadcasters go peer.broadcastBlocks() go peer.broadcastTransactions() - if version >= ETH65 { - go peer.announceTransactions() - } + go peer.announceTransactions() + return peer } diff --git a/eth/protocols/eth/protocol.go b/eth/protocols/eth/protocol.go index 5392f2cac4..d2305763c9 100644 --- a/eth/protocols/eth/protocol.go +++ b/eth/protocols/eth/protocol.go @@ -33,12 +33,10 @@ import ( // Constants to match up protocol versions and messages const ( - ETH65 = 65 ETH66 = 66 ) var ProtocolToString = map[uint]string{ - ETH65: "eth65", ETH66: "eth66", } @@ -48,11 +46,11 @@ const ProtocolName = "eth" // ProtocolVersions are the supported versions of the `eth` protocol (first // is primary). -var ProtocolVersions = []uint{ETH66, ETH65} +var ProtocolVersions = []uint{ETH66} // protocolLengths are the number of implemented message corresponding to // different protocol versions. -var protocolLengths = map[uint]uint64{ETH66: 17, ETH65: 17} +var protocolLengths = map[uint]uint64{ETH66: 17} // maxMessageSize is the maximum cap on the size of a protocol message. const maxMessageSize = 10 * 1024 * 1024 @@ -99,22 +97,6 @@ var ToString = map[uint]string{ } var ToProto = map[uint]map[uint64]proto_sentry.MessageId{ - ETH65: { - GetBlockHeadersMsg: proto_sentry.MessageId_GET_BLOCK_HEADERS_65, - BlockHeadersMsg: proto_sentry.MessageId_BLOCK_HEADERS_65, - GetBlockBodiesMsg: proto_sentry.MessageId_GET_BLOCK_BODIES_65, - BlockBodiesMsg: proto_sentry.MessageId_BLOCK_BODIES_65, - GetNodeDataMsg: proto_sentry.MessageId_GET_NODE_DATA_65, - NodeDataMsg: proto_sentry.MessageId_NODE_DATA_65, - GetReceiptsMsg: proto_sentry.MessageId_GET_RECEIPTS_65, - ReceiptsMsg: proto_sentry.MessageId_RECEIPTS_65, - NewBlockHashesMsg: proto_sentry.MessageId_NEW_BLOCK_HASHES_65, - NewBlockMsg: proto_sentry.MessageId_NEW_BLOCK_65, - TransactionsMsg: proto_sentry.MessageId_TRANSACTIONS_65, - NewPooledTransactionHashesMsg: proto_sentry.MessageId_NEW_POOLED_TRANSACTION_HASHES_65, - GetPooledTransactionsMsg: proto_sentry.MessageId_GET_POOLED_TRANSACTIONS_65, - PooledTransactionsMsg: proto_sentry.MessageId_POOLED_TRANSACTIONS_65, - }, ETH66: { GetBlockHeadersMsg: proto_sentry.MessageId_GET_BLOCK_HEADERS_66, BlockHeadersMsg: proto_sentry.MessageId_BLOCK_HEADERS_66, @@ -134,22 +116,6 @@ var ToProto = map[uint]map[uint64]proto_sentry.MessageId{ } var FromProto = map[uint]map[proto_sentry.MessageId]uint64{ - ETH65: { - proto_sentry.MessageId_GET_BLOCK_HEADERS_65: GetBlockHeadersMsg, - proto_sentry.MessageId_BLOCK_HEADERS_65: BlockHeadersMsg, - proto_sentry.MessageId_GET_BLOCK_BODIES_65: GetBlockBodiesMsg, - proto_sentry.MessageId_BLOCK_BODIES_65: BlockBodiesMsg, - proto_sentry.MessageId_GET_NODE_DATA_65: GetNodeDataMsg, - proto_sentry.MessageId_NODE_DATA_65: NodeDataMsg, - proto_sentry.MessageId_GET_RECEIPTS_65: GetReceiptsMsg, - proto_sentry.MessageId_RECEIPTS_65: ReceiptsMsg, - proto_sentry.MessageId_NEW_BLOCK_HASHES_65: NewBlockHashesMsg, - proto_sentry.MessageId_NEW_BLOCK_65: NewBlockMsg, - proto_sentry.MessageId_TRANSACTIONS_65: TransactionsMsg, - proto_sentry.MessageId_NEW_POOLED_TRANSACTION_HASHES_65: NewPooledTransactionHashesMsg, - proto_sentry.MessageId_GET_POOLED_TRANSACTIONS_65: GetPooledTransactionsMsg, - proto_sentry.MessageId_POOLED_TRANSACTIONS_65: PooledTransactionsMsg, - }, ETH66: { proto_sentry.MessageId_GET_BLOCK_HEADERS_66: GetBlockHeadersMsg, proto_sentry.MessageId_BLOCK_HEADERS_66: BlockHeadersMsg, diff --git a/eth/stagedsync/stage_headers.go b/eth/stagedsync/stage_headers.go index 447eb74ba6..35e4cefa6d 100644 --- a/eth/stagedsync/stage_headers.go +++ b/eth/stagedsync/stage_headers.go @@ -19,6 +19,7 @@ import ( "github.com/ledgerwatch/erigon/params" "github.com/ledgerwatch/erigon/rlp" "github.com/ledgerwatch/erigon/turbo/stages/headerdownload" + "github.com/ledgerwatch/log/v3" ) diff --git a/ethdb/privateapi/ethbackend.go b/ethdb/privateapi/ethbackend.go index c9967323fa..f2d4d59173 100644 --- a/ethdb/privateapi/ethbackend.go +++ b/ethdb/privateapi/ethbackend.go @@ -70,6 +70,10 @@ func (s *EthBackendServer) NetPeerCount(_ context.Context, _ *remote.NetPeerCoun return &remote.NetPeerCountReply{Count: id}, nil } +func (s *EthBackendServer) EngineExecutePayloadV1(_ context.Context, _ *types2.ExecutionPayload) (*remote.EngineExecutePayloadReply, error) { + return nil, nil +} + func (s *EthBackendServer) Subscribe(r *remote.SubscribeRequest, subscribeServer remote.ETHBACKEND_SubscribeServer) error { log.Trace("Establishing event subscription channel with the RPC daemon ...") s.events.AddHeaderSubscription(func(h *types.Header) error { diff --git a/go.mod b/go.mod index ee31c4aeb5..27fe18f95e 100644 --- a/go.mod +++ b/go.mod @@ -36,7 +36,7 @@ require ( github.com/json-iterator/go v1.1.12 github.com/julienschmidt/httprouter v1.3.0 github.com/kevinburke/go-bindata v3.21.0+incompatible - github.com/ledgerwatch/erigon-lib v0.0.0-20211107024620-98f80aa89ffd + github.com/ledgerwatch/erigon-lib v0.0.0-20211107165027-e968953b4a17 github.com/ledgerwatch/log/v3 v3.4.0 github.com/ledgerwatch/secp256k1 v1.0.0 github.com/logrusorgru/aurora/v3 v3.0.0 diff --git a/go.sum b/go.sum index 077b10549b..ff8088a56b 100644 --- a/go.sum +++ b/go.sum @@ -46,7 +46,6 @@ crawshaw.io/sqlite v0.3.3-0.20210127221821-98b1f83c5508 h1:fILCBBFnjnrQ0whVJlGhf crawshaw.io/sqlite v0.3.3-0.20210127221821-98b1f83c5508/go.mod h1:igAO5JulrQ1DbdZdtVq48mnZUBAPOeFzer7VhDWNtW4= dmitri.shuralyov.com/app/changes v0.0.0-20180602232624-0a106ad413e3/go.mod h1:Yl+fi1br7+Rr3LqpNJf1/uxUdtRUV+Tnj0o93V2B9MU= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= dmitri.shuralyov.com/html/belt v0.0.0-20180602232347-f7d459c86be0/go.mod h1:JLBrvjyP0v+ecvNYvCpyZgu5/xkfAUhi6wJj28eUfSU= dmitri.shuralyov.com/service/change v0.0.0-20181023043359-a85b471d5412/go.mod h1:a1inKt/atXimZ4Mv927x+r7UpyzRUf4emIoiiSC2TN4= dmitri.shuralyov.com/state v0.0.0-20180228185332-28bcc343414c/go.mod h1:0PRwlb0D6DFvNNtx+9ybjezNCa8XF0xaYcETyp6rHWU= @@ -282,13 +281,11 @@ github.com/gin-gonic/gin v1.5.0/go.mod h1:Nd6IXA8m5kNZdNEHMBd93KT+mdY3+bewLgRvmC github.com/gliderlabs/ssh v0.1.1/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd/go.mod h1:/20jfyN9Y5QPEAprSgKAUr+glWDY39ZiUEAYOEv5dsE= github.com/glycerine/go-unsnap-stream v0.0.0-20181221182339-f9677308dec2/go.mod h1:/20jfyN9Y5QPEAprSgKAUr+glWDY39ZiUEAYOEv5dsE= -github.com/glycerine/go-unsnap-stream v0.0.0-20181221182339-f9677308dec2/go.mod h1:/20jfyN9Y5QPEAprSgKAUr+glWDY39ZiUEAYOEv5dsE= github.com/glycerine/go-unsnap-stream v0.0.0-20190901134440-81cf024a9e0a/go.mod h1:/20jfyN9Y5QPEAprSgKAUr+glWDY39ZiUEAYOEv5dsE= github.com/glycerine/go-unsnap-stream v0.0.0-20210130063903-47dfef350d96/go.mod h1:/20jfyN9Y5QPEAprSgKAUr+glWDY39ZiUEAYOEv5dsE= github.com/glycerine/goconvey v0.0.0-20180728074245-46e3a41ad493/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24= github.com/glycerine/goconvey v0.0.0-20190315024820-982ee783a72e/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24= github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24= -github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24= github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= @@ -403,7 +400,6 @@ github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORR github.com/gopherjs/gopherjs v0.0.0-20181103185306-d547d1d9531e/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gopherjs/gopherjs v0.0.0-20190309154008-847fc94819f9/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gopherjs/gopherjs v0.0.0-20190910122728-9d188e94fb99/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gopherjs/gopherjs v0.0.0-20190910122728-9d188e94fb99/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= @@ -473,7 +469,6 @@ github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1 github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/jtolds/gls v4.2.1+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= -github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/julienschmidt/httprouter v1.3.0 h1:U0609e9tgbseu3rBINet9P48AI/D3oJs4dN7jwJOQ1U= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= @@ -497,8 +492,8 @@ github.com/kylelemons/godebug v0.0.0-20170224010052-a616ab194758 h1:0D5M2HQSGD3P github.com/kylelemons/godebug v0.0.0-20170224010052-a616ab194758/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k= github.com/leanovate/gopter v0.2.9 h1:fQjYxZaynp97ozCzfOyOuAGOU4aU/z37zf/tOujFk7c= github.com/leanovate/gopter v0.2.9/go.mod h1:U2L/78B+KVFIx2VmW6onHJQzXtFb+p5y3y2Sh+Jxxv8= -github.com/ledgerwatch/erigon-lib v0.0.0-20211107024620-98f80aa89ffd h1:F0/S8NSvXijZIdVjFzFFRMaalN6Y3AxLQvQMY1hS4Ik= -github.com/ledgerwatch/erigon-lib v0.0.0-20211107024620-98f80aa89ffd/go.mod h1:CuEZROm43MykZT5CjCj02jw0FOwaDl8Nh+PZkTEGopg= +github.com/ledgerwatch/erigon-lib v0.0.0-20211107165027-e968953b4a17 h1:3aNW8oirJqMT8QTtuMPVlI8iPnRdColXbf2KzFbDMXI= +github.com/ledgerwatch/erigon-lib v0.0.0-20211107165027-e968953b4a17/go.mod h1:CuEZROm43MykZT5CjCj02jw0FOwaDl8Nh+PZkTEGopg= github.com/ledgerwatch/log/v3 v3.4.0 h1:SEIOcv5a2zkG3PmoT5jeTU9m/0nEUv0BJS5bzsjwKCI= github.com/ledgerwatch/log/v3 v3.4.0/go.mod h1:VXcz6Ssn6XEeU92dCMc39/g1F0OYAjw1Mt+dGP5DjXY= github.com/ledgerwatch/secp256k1 v1.0.0 h1:Usvz87YoTG0uePIV8woOof5cQnLXGYa162rFf3YnwaQ= diff --git a/turbo/txpool/p2p.go b/turbo/txpool/p2p.go index 4df920bb6d..fa173335b3 100644 --- a/turbo/txpool/p2p.go +++ b/turbo/txpool/p2p.go @@ -151,7 +151,7 @@ func (tp *P2PServer) getPooledTransactions65(ctx context.Context, inreq *proto_s } func (tp *P2PServer) SendTxsRequest(ctx context.Context, peerID string, hashes []common.Hash) []byte { - var outreq65, outreq66 *proto_sentry.SendMessageByIdRequest + var outreq66 *proto_sentry.SendMessageByIdRequest // if sentry not found peers to send such message, try next one. stop if found. for i, ok, next := tp.randSentryIndex(); ok; i, ok = next() { @@ -160,28 +160,6 @@ func (tp *P2PServer) SendTxsRequest(ctx context.Context, peerID string, hashes [ } switch tp.Sentries[i].Protocol() { - case eth.ETH65: - if outreq65 == nil { - data65, err := rlp.EncodeToBytes(eth.GetPooledTransactionsPacket(hashes)) - if err != nil { - log.Error("Could not encode transactions request", "err", err) - return nil - } - - outreq65 = &proto_sentry.SendMessageByIdRequest{ - PeerId: gointerfaces.ConvertBytesToH512([]byte(peerID)), - Data: &proto_sentry.OutboundMessageData{Id: proto_sentry.MessageId_GET_POOLED_TRANSACTIONS_65, Data: data65}, - } - } - - if sentPeers, err1 := tp.Sentries[i].SendMessageById(ctx, outreq65, &grpc.EmptyCallOption{}); err1 != nil { - if isPeerNotFoundErr(err1) { - continue - } - log.Error("[SendTxsRequest]", "err", err1) - } else if sentPeers != nil && len(sentPeers.Peers) != 0 { - return gointerfaces.ConvertH512ToBytes(sentPeers.Peers[0]) - } case eth.ETH66: if outreq66 == nil { data66, err := rlp.EncodeToBytes(ð.GetPooledTransactionsPacket66{ @@ -296,11 +274,6 @@ func RecvTxMessage(ctx context.Context, defer cancel() stream, err := sentry.Messages(streamCtx, &proto_sentry.MessagesRequest{Ids: []proto_sentry.MessageId{ - eth.ToProto[eth.ETH65][eth.NewPooledTransactionHashesMsg], - eth.ToProto[eth.ETH65][eth.GetPooledTransactionsMsg], - eth.ToProto[eth.ETH65][eth.TransactionsMsg], - eth.ToProto[eth.ETH65][eth.PooledTransactionsMsg], - eth.ToProto[eth.ETH66][eth.NewPooledTransactionHashesMsg], eth.ToProto[eth.ETH66][eth.GetPooledTransactionsMsg], eth.ToProto[eth.ETH66][eth.TransactionsMsg], -- GitLab