Skip to content

Commit 302e2dc

Browse files
pslaskirtkaczyk
andauthored
[ETCM-280] use peer capabilities (protocol version) when sending checkpoint-related messages (#793)
Co-authored-by: Radek Tkaczyk <[email protected]>
1 parent 1d7076a commit 302e2dc

File tree

69 files changed

+1413
-976
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+1413
-976
lines changed

src/it/scala/io/iohk/ethereum/sync/util/CommonFakePeer.scala

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import java.util.concurrent.atomic.AtomicReference
66
import akka.actor.{ActorRef, ActorSystem}
77
import akka.testkit.TestProbe
88
import akka.util.{ByteString, Timeout}
9+
import io.iohk.ethereum.blockchain.sync.regular.BlockBroadcast.BlockToBroadcast
910
import io.iohk.ethereum.blockchain.sync.regular.{BlockBroadcast, BlockBroadcasterActor}
1011
import io.iohk.ethereum.blockchain.sync.regular.BlockBroadcasterActor.BroadcastBlock
1112
import io.iohk.ethereum.blockchain.sync.{BlockchainHostActor, TestSyncConfig}
@@ -18,11 +19,10 @@ import io.iohk.ethereum.ledger.InMemoryWorldStateProxy
1819
import io.iohk.ethereum.mpt.MerklePatriciaTrie
1920
import io.iohk.ethereum.network.EtcPeerManagerActor.PeerInfo
2021
import io.iohk.ethereum.network.PeerManagerActor.{FastSyncHostConfiguration, PeerConfiguration}
21-
import io.iohk.ethereum.network.discovery.{DiscoveryConfig, Node}
2222
import io.iohk.ethereum.network.discovery.PeerDiscoveryManager.DiscoveredNodesInfo
23+
import io.iohk.ethereum.network.discovery.{DiscoveryConfig, Node}
2324
import io.iohk.ethereum.network.handshaker.{EtcHandshaker, EtcHandshakerConfiguration, Handshaker}
2425
import io.iohk.ethereum.network.p2p.EthereumMessageDecoder
25-
import io.iohk.ethereum.network.p2p.messages.CommonMessages.NewBlock
2626
import io.iohk.ethereum.network.rlpx.AuthHandshaker
2727
import io.iohk.ethereum.network.rlpx.RLPxConnectionHandler.RLPxConfiguration
2828
import io.iohk.ethereum.network.{
@@ -159,7 +159,7 @@ abstract class CommonFakePeer(peerName: String, fakePeerCustomConfig: FakePeerCu
159159
override val peerConfiguration: PeerConfiguration = peerConf
160160
override val blockchain: Blockchain = bl
161161
override val appStateStorage: AppStateStorage = storagesInstance.storages.appStateStorage
162-
override val blockchainConfig = CommonFakePeer.this.blockchainConfig // FIXME: remove in ETCM-280
162+
override val protocolVersion: Int = Config.Network.protocolVersion
163163
}
164164

165165
lazy val handshaker: Handshaker[PeerInfo] = EtcHandshaker(handshakerConfiguration)
@@ -175,7 +175,8 @@ abstract class CommonFakePeer(peerName: String, fakePeerCustomConfig: FakePeerCu
175175
handshaker,
176176
authHandshaker,
177177
EthereumMessageDecoder,
178-
discoveryConfig
178+
discoveryConfig,
179+
Config.Network.protocolVersion
179180
),
180181
"peer-manager"
181182
)
@@ -210,7 +211,7 @@ abstract class CommonFakePeer(peerName: String, fakePeerCustomConfig: FakePeerCu
210211
syncRetryInterval = 50.milliseconds
211212
)
212213

213-
lazy val broadcaster = new BlockBroadcast(etcPeerManager, testSyncConfig)
214+
lazy val broadcaster = new BlockBroadcast(etcPeerManager)
214215

215216
lazy val broadcasterActor = system.actorOf(
216217
BlockBroadcasterActor.props(broadcaster, peerEventBus, etcPeerManager, testSyncConfig, system.scheduler)
@@ -227,7 +228,7 @@ abstract class CommonFakePeer(peerName: String, fakePeerCustomConfig: FakePeerCu
227228
}
228229

229230
private def broadcastBlock(block: Block, weight: ChainWeight) = {
230-
broadcasterActor ! BroadcastBlock(NewBlock(block, weight))
231+
broadcasterActor ! BroadcastBlock(BlockToBroadcast(block, weight))
231232
}
232233

233234
def getCurrentState(): BlockchainState = {

src/it/scala/io/iohk/ethereum/sync/util/RegularSyncItSpecUtils.scala

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,16 @@ import akka.actor.ActorRef
44
import akka.util.ByteString
55
import cats.effect.Resource
66
import io.iohk.ethereum.Mocks.MockValidatorsAlwaysSucceed
7-
import io.iohk.ethereum.blockchain.sync.{PeersClient, SyncProtocol}
7+
import io.iohk.ethereum.blockchain.sync.regular.BlockBroadcast.BlockToBroadcast
88
import io.iohk.ethereum.blockchain.sync.regular.BlockBroadcasterActor.BroadcastBlock
99
import io.iohk.ethereum.blockchain.sync.regular.RegularSync
10+
import io.iohk.ethereum.blockchain.sync.{PeersClient, SyncProtocol}
1011
import io.iohk.ethereum.consensus.Protocol.NoAdditionalEthashData
1112
import io.iohk.ethereum.consensus.blocks.CheckpointBlockGenerator
1213
import io.iohk.ethereum.consensus.ethash.{EthashConfig, EthashConsensus}
1314
import io.iohk.ethereum.consensus.{ConsensusConfig, FullConsensusConfig, ethash}
1415
import io.iohk.ethereum.domain._
1516
import io.iohk.ethereum.ledger._
16-
import io.iohk.ethereum.network.p2p.messages.CommonMessages.NewBlock
1717
import io.iohk.ethereum.nodebuilder.VmSetup
1818
import io.iohk.ethereum.ommers.OmmersPool
1919
import io.iohk.ethereum.sync.util.SyncCommonItSpecUtils.FakePeerCustomConfig.defaultConfig
@@ -74,7 +74,6 @@ object RegularSyncItSpecUtils {
7474
peerEventBus,
7575
ledger,
7676
bl,
77-
blockchainConfig, // FIXME: remove in ETCM-280
7877
validators.blockValidator,
7978
testSyncConfig,
8079
ommersPool,
@@ -145,7 +144,7 @@ object RegularSyncItSpecUtils {
145144
}
146145

147146
private def broadcastBlock(block: Block, weight: ChainWeight) = {
148-
broadcasterActor ! BroadcastBlock(NewBlock(block, weight))
147+
broadcasterActor ! BroadcastBlock(BlockToBroadcast(block, weight))
149148
}
150149

151150
private def createChildBlock(

src/it/scala/io/iohk/ethereum/txExecTest/util/DumpChainActor.scala

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,26 +6,27 @@ import java.net.URI
66
import akka.actor.{Actor, ActorRef, _}
77
import akka.util.ByteString
88
import io.iohk.ethereum.crypto.kec256
9-
import io.iohk.ethereum.domain.{BlockBody, BlockHeader, Receipt}
109
import io.iohk.ethereum.domain.BlockHeaderImplicits._
11-
import io.iohk.ethereum.network.{Peer, PeerManagerActor}
10+
import io.iohk.ethereum.domain.{BlockBody, BlockHeader, Receipt}
11+
import io.iohk.ethereum.mpt.{BranchNode, ExtensionNode, HashNode, LeafNode, MptNode}
1212
import io.iohk.ethereum.network.PeerActor.SendMessage
13+
import io.iohk.ethereum.network.PeerEventBusActor.PeerEvent.MessageFromPeer
14+
import io.iohk.ethereum.network.PeerEventBusActor.SubscriptionClassifier.MessageClassifier
15+
import io.iohk.ethereum.network.PeerEventBusActor.{PeerSelector, Subscribe}
1316
import io.iohk.ethereum.network.PeerManagerActor.{GetPeers, Peers}
17+
import io.iohk.ethereum.network.p2p.messages.Codes
1418
import io.iohk.ethereum.network.p2p.messages.PV62._
15-
import io.iohk.ethereum.network.p2p.messages.PV63._
1619
import io.iohk.ethereum.network.p2p.messages.PV63.MptNodeEncoders._
20+
import io.iohk.ethereum.network.p2p.messages.PV63.ReceiptImplicits._
21+
import io.iohk.ethereum.network.p2p.messages.PV63._
22+
import io.iohk.ethereum.network.{Peer, PeerManagerActor}
23+
import io.iohk.ethereum.txExecTest.util.DumpChainActor._
1724
import org.bouncycastle.util.encoders.Hex
18-
import ReceiptImplicits._
19-
import io.iohk.ethereum.mpt.{BranchNode, ExtensionNode, HashNode, LeafNode, MptNode}
20-
import io.iohk.ethereum.network.PeerEventBusActor.PeerEvent.MessageFromPeer
21-
import io.iohk.ethereum.network.PeerEventBusActor.{PeerSelector, Subscribe}
22-
import io.iohk.ethereum.network.PeerEventBusActor.SubscriptionClassifier.MessageClassifier
2325

2426
import scala.collection.immutable.HashMap
2527
import scala.concurrent.ExecutionContext.Implicits.global
2628
import scala.concurrent.duration._
2729
import scala.language.postfixOps
28-
import DumpChainActor._
2930

3031
/**
3132
* Actor used for obtaining all the blockchain data (blocks, receipts, nodes) from the blocks [startBlock, maxBlocks]
@@ -84,7 +85,7 @@ class DumpChainActor(
8485
peers.headOption.foreach { peer =>
8586
peerMessageBus ! Subscribe(
8687
MessageClassifier(
87-
Set(BlockHeaders.code, BlockBodies.code, Receipts.code, NodeData.code),
88+
Set(Codes.BlockHeadersCode, Codes.BlockBodiesCode, Codes.ReceiptsCode, Codes.NodeDataCode),
8889
PeerSelector.WithId(peer.id)
8990
)
9091
)

src/it/scala/io/iohk/ethereum/txExecTest/util/DumpChainApp.scala

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,34 @@
11
package io.iohk.ethereum.txExecTest.util
22

3+
import java.util.concurrent.atomic.AtomicReference
4+
35
import akka.actor.ActorSystem
46
import akka.util.ByteString
57
import com.typesafe.config.ConfigFactory
68
import io.iohk.ethereum.db.components.Storages.PruningModeComponent
79
import io.iohk.ethereum.db.components.{RocksDbDataSourceComponent, Storages}
8-
import io.iohk.ethereum.db.storage.{AppStateStorage, StateStorage}
10+
import io.iohk.ethereum.db.dataSource.{DataSourceBatchUpdate, RocksDbDataSource}
911
import io.iohk.ethereum.db.storage.NodeStorage.{NodeEncoded, NodeHash}
1012
import io.iohk.ethereum.db.storage.TransactionMappingStorage.TransactionLocation
1113
import io.iohk.ethereum.db.storage.pruning.{ArchivePruning, PruningMode}
14+
import io.iohk.ethereum.db.storage.{AppStateStorage, StateStorage}
15+
import io.iohk.ethereum.domain.BlockHeader.HeaderExtraFields.HefEmpty
1216
import io.iohk.ethereum.domain.{Blockchain, UInt256, _}
1317
import io.iohk.ethereum.ledger.{InMemoryWorldStateProxy, InMemoryWorldStateProxyStorage}
1418
import io.iohk.ethereum.mpt.MptNode
1519
import io.iohk.ethereum.network.EtcPeerManagerActor.PeerInfo
1620
import io.iohk.ethereum.network.PeerManagerActor.PeerConfiguration
21+
import io.iohk.ethereum.network.discovery.DiscoveryConfig
1722
import io.iohk.ethereum.network.handshaker.{EtcHandshaker, EtcHandshakerConfiguration, Handshaker}
1823
import io.iohk.ethereum.network.p2p.EthereumMessageDecoder
1924
import io.iohk.ethereum.network.rlpx.RLPxConnectionHandler.RLPxConfiguration
2025
import io.iohk.ethereum.network.{ForkResolver, PeerEventBusActor, PeerManagerActor}
2126
import io.iohk.ethereum.nodebuilder.{AuthHandshakerBuilder, NodeKeyBuilder, SecureRandomBuilder}
22-
import io.iohk.ethereum.utils.{BlockchainConfig, Config, NodeStatus, ServerStatus}
23-
import java.util.concurrent.atomic.AtomicReference
24-
25-
import io.iohk.ethereum.db.dataSource.{DataSourceBatchUpdate, RocksDbDataSource}
27+
import io.iohk.ethereum.utils.{Config, NodeStatus, ServerStatus}
28+
import monix.reactive.Observable
2629
import org.bouncycastle.util.encoders.Hex
2730

2831
import scala.concurrent.duration._
29-
import io.iohk.ethereum.domain.BlockHeader.HeaderExtraFields.HefEmpty
30-
import io.iohk.ethereum.network.discovery.DiscoveryConfig
31-
import monix.reactive.Observable
3232

3333
object DumpChainApp extends App with NodeKeyBuilder with SecureRandomBuilder with AuthHandshakerBuilder {
3434
val conf = ConfigFactory.load("txExecTest/chainDump.conf")
@@ -82,8 +82,8 @@ object DumpChainApp extends App with NodeKeyBuilder with SecureRandomBuilder wit
8282
override val nodeStatusHolder: AtomicReference[NodeStatus] = DumpChainApp.nodeStatusHolder
8383
override val peerConfiguration: PeerConfiguration = peerConfig
8484
override val blockchain: Blockchain = DumpChainApp.blockchain
85-
override val blockchainConfig: BlockchainConfig = DumpChainApp.blockchainConfig
8685
override val appStateStorage: AppStateStorage = storagesInstance.storages.appStateStorage
86+
override val protocolVersion: Int = Config.Network.protocolVersion
8787
}
8888

8989
lazy val handshaker: Handshaker[PeerInfo] = EtcHandshaker(handshakerConfiguration)
@@ -99,7 +99,8 @@ object DumpChainApp extends App with NodeKeyBuilder with SecureRandomBuilder wit
9999
handshaker = handshaker,
100100
authHandshaker = authHandshaker,
101101
messageDecoder = EthereumMessageDecoder,
102-
discoveryConfig
102+
discoveryConfig,
103+
Config.Network.protocolVersion
103104
),
104105
"peer-manager"
105106
)

src/main/resources/application.conf

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@ mantis {
3838

3939
network {
4040
# Ethereum protocol version
41+
# Supported versions:
42+
# 63, 64 (experimental version which enables usage of messages with checkpointing information. In the future after ETCM-355, ETCM-356, it will be 66 probably)
4143
protocol-version = 63
4244

4345
server-address {

src/main/scala/io/iohk/ethereum/blockchain/sync/BlockchainHostActor.scala

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import io.iohk.ethereum.network.p2p.messages.PV62.{BlockBodies, BlockHeaders, Ge
1212
import io.iohk.ethereum.network.p2p.messages.PV63.{GetNodeData, GetReceipts, NodeData, Receipts}
1313
import io.iohk.ethereum.network.p2p.messages.PV63.MptNodeEncoders._
1414
import io.iohk.ethereum.network.EtcPeerManagerActor
15+
import io.iohk.ethereum.network.p2p.messages.Codes
1516

1617
/**
1718
* BlockchainHost actor is in charge of replying to the peer's requests for blockchain data, which includes both
@@ -25,7 +26,8 @@ class BlockchainHostActor(
2526
) extends Actor
2627
with ActorLogging {
2728

28-
private val requestMsgsCodes = Set(GetNodeData.code, GetReceipts.code, GetBlockBodies.code, GetBlockHeaders.code)
29+
private val requestMsgsCodes =
30+
Set(Codes.GetNodeDataCode, Codes.GetReceiptsCode, Codes.GetBlockBodiesCode, Codes.GetBlockHeadersCode)
2931
peerEventBusActor ! Subscribe(MessageClassifier(requestMsgsCodes, PeerSelector.AllPeers))
3032

3133
override def receive: Receive = { case MessageFromPeer(message, peerId) =>

src/main/scala/io/iohk/ethereum/blockchain/sync/PeersClient.scala

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package io.iohk.ethereum.blockchain.sync
22

33
import akka.actor.{Actor, ActorLogging, ActorRef, Cancellable, Props, Scheduler}
44
import io.iohk.ethereum.network.EtcPeerManagerActor.PeerInfo
5+
import io.iohk.ethereum.network.p2p.messages.Codes
56
import io.iohk.ethereum.network.{Peer, PeerId}
67
import io.iohk.ethereum.network.p2p.messages.PV62._
78
import io.iohk.ethereum.network.p2p.messages.PV63.{GetNodeData, NodeData}
@@ -94,9 +95,9 @@ class PeersClient(
9495

9596
private def responseMsgCode[RequestMsg <: Message](requestMsg: RequestMsg): Int =
9697
requestMsg match {
97-
case _: GetBlockHeaders => BlockHeaders.code
98-
case _: GetBlockBodies => BlockBodies.code
99-
case _: GetNodeData => NodeData.code
98+
case _: GetBlockHeaders => Codes.BlockHeadersCode
99+
case _: GetBlockBodies => Codes.BlockBodiesCode
100+
case _: GetNodeData => Codes.NodeDataCode
100101
}
101102

102103
private def printStatus(requesters: Requesters): Unit = {

src/main/scala/io/iohk/ethereum/blockchain/sync/SyncController.scala

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,11 @@ import io.iohk.ethereum.consensus.validators.Validators
88
import io.iohk.ethereum.db.storage.{AppStateStorage, FastSyncStateStorage}
99
import io.iohk.ethereum.domain.Blockchain
1010
import io.iohk.ethereum.ledger.Ledger
11-
import io.iohk.ethereum.utils.BlockchainConfig
1211
import io.iohk.ethereum.utils.Config.SyncConfig
1312

1413
class SyncController(
1514
appStateStorage: AppStateStorage,
1615
blockchain: Blockchain,
17-
blockchainConfig: BlockchainConfig,
1816
fastSyncStateStorage: FastSyncStateStorage,
1917
ledger: Ledger,
2018
validators: Validators,
@@ -102,7 +100,6 @@ class SyncController(
102100
peerEventBus,
103101
ledger,
104102
blockchain,
105-
blockchainConfig,
106103
validators.blockValidator,
107104
syncConfig,
108105
ommersPool,
@@ -123,7 +120,6 @@ object SyncController {
123120
def props(
124121
appStateStorage: AppStateStorage,
125122
blockchain: Blockchain,
126-
blockchainConfig: BlockchainConfig,
127123
syncStateStorage: FastSyncStateStorage,
128124
ledger: Ledger,
129125
validators: Validators,
@@ -138,7 +134,6 @@ object SyncController {
138134
new SyncController(
139135
appStateStorage,
140136
blockchain,
141-
blockchainConfig,
142137
syncStateStorage,
143138
ledger,
144139
validators,

src/main/scala/io/iohk/ethereum/blockchain/sync/fast/FastSync.scala

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import io.iohk.ethereum.domain._
2222
import io.iohk.ethereum.mpt.MerklePatriciaTrie
2323
import io.iohk.ethereum.network.EtcPeerManagerActor.PeerInfo
2424
import io.iohk.ethereum.network.Peer
25+
import io.iohk.ethereum.network.p2p.messages.Codes
2526
import io.iohk.ethereum.network.p2p.messages.PV62._
2627
import io.iohk.ethereum.network.p2p.messages.PV63._
2728
import io.iohk.ethereum.utils.ByteStringUtils
@@ -710,7 +711,7 @@ class FastSync(
710711
etcPeerManager,
711712
peerEventBus,
712713
requestMsg = GetReceipts(receiptsToGet),
713-
responseMsgCode = Receipts.code
714+
responseMsgCode = Codes.ReceiptsCode
714715
)
715716
)
716717

@@ -731,7 +732,7 @@ class FastSync(
731732
etcPeerManager,
732733
peerEventBus,
733734
requestMsg = GetBlockBodies(blockBodiesToGet),
734-
responseMsgCode = BlockBodies.code
735+
responseMsgCode = Codes.BlockBodiesCode
735736
)
736737
)
737738

@@ -756,7 +757,7 @@ class FastSync(
756757
etcPeerManager,
757758
peerEventBus,
758759
requestMsg = GetBlockHeaders(Left(syncState.bestBlockHeaderNumber + 1), limit, skip = 0, reverse = false),
759-
responseMsgCode = BlockHeaders.code
760+
responseMsgCode = Codes.BlockHeadersCode
760761
),
761762
BlockHeadersHandlerName
762763
)

src/main/scala/io/iohk/ethereum/blockchain/sync/fast/PivotBlockSelector.scala

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import io.iohk.ethereum.network.EtcPeerManagerActor.PeerInfo
88
import io.iohk.ethereum.network.PeerEventBusActor.PeerEvent.MessageFromPeer
99
import io.iohk.ethereum.network.PeerEventBusActor.SubscriptionClassifier.MessageClassifier
1010
import io.iohk.ethereum.network.PeerEventBusActor.{PeerSelector, Subscribe, Unsubscribe}
11+
import io.iohk.ethereum.network.p2p.messages.Codes
1112
import io.iohk.ethereum.network.p2p.messages.PV62.{BlockHeaders, GetBlockHeaders}
1213
import io.iohk.ethereum.network.{EtcPeerManagerActor, Peer, PeerId}
1314
import io.iohk.ethereum.utils.Config.SyncConfig
@@ -79,7 +80,7 @@ class PivotBlockSelector(
7980
): Receive =
8081
handleCommonMessages orElse {
8182
case MessageFromPeer(blockHeaders: BlockHeaders, peerId) =>
82-
peerEventBus ! Unsubscribe(MessageClassifier(Set(BlockHeaders.code), PeerSelector.WithId(peerId)))
83+
peerEventBus ! Unsubscribe(MessageClassifier(Set(Codes.BlockHeadersCode), PeerSelector.WithId(peerId)))
8384
val updatedPeersToAsk = peersToAsk - peerId
8485
val targetBlockHeaderOpt =
8586
if (blockHeaders.headers.size != 1) None
@@ -167,7 +168,7 @@ class PivotBlockSelector(
167168
}
168169

169170
private def obtainBlockHeaderFromPeer(peer: PeerId, blockNumber: BigInt): Unit = {
170-
peerEventBus ! Subscribe(MessageClassifier(Set(BlockHeaders.code), PeerSelector.WithId(peer)))
171+
peerEventBus ! Subscribe(MessageClassifier(Set(Codes.BlockHeadersCode), PeerSelector.WithId(peer)))
171172
etcPeerManager ! EtcPeerManagerActor.SendMessage(
172173
GetBlockHeaders(Left(blockNumber), 1, 0, reverse = false),
173174
peer

src/main/scala/io/iohk/ethereum/blockchain/sync/fast/SyncStateSchedulerActor.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import io.iohk.ethereum.blockchain.sync.fast.SyncStateScheduler.{
1515
import io.iohk.ethereum.blockchain.sync.fast.SyncStateSchedulerActor._
1616
import io.iohk.ethereum.blockchain.sync.{BlacklistSupport, PeerListSupport, PeerRequestHandler}
1717
import io.iohk.ethereum.network.Peer
18+
import io.iohk.ethereum.network.p2p.messages.Codes
1819
import io.iohk.ethereum.network.p2p.messages.PV63.{GetNodeData, NodeData}
1920
import io.iohk.ethereum.utils.ByteStringUtils
2021
import io.iohk.ethereum.utils.Config.SyncConfig
@@ -55,7 +56,7 @@ class SyncStateSchedulerActor(
5556
etcPeerManager,
5657
peerEventBus,
5758
requestMsg = GetNodeData(request.nodes.toList),
58-
responseMsgCode = NodeData.code
59+
responseMsgCode = Codes.NodeDataCode
5960
)
6061
)
6162
context.watchWith(handler, RequestTerminated(request.peer))

0 commit comments

Comments
 (0)