Skip to content

Commit 95cfeb0

Browse files
author
Nicolas Tallar
committed
[CHORE] Refactor block usage and location
1 parent dcc5b77 commit 95cfeb0

File tree

63 files changed

+306
-497
lines changed

Some content is hidden

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

63 files changed

+306
-497
lines changed

build.sbt

+14
Original file line numberDiff line numberDiff line change
@@ -133,3 +133,17 @@ jdkPackagerJVMArgs := Seq(
133133
)
134134

135135
coverageExcludedPackages := "io\\.iohk\\.ethereum\\.extvm\\.msg.*"
136+
137+
138+
addCommandAlias(
139+
"compile-all",
140+
""";compile
141+
|;test:compile
142+
|;evm:compile
143+
|;it:compile
144+
|;ets:compile
145+
|;rpcTest:compile
146+
|;snappy:compile
147+
|;benchmark:compile
148+
|""".stripMargin
149+
)

src/benchmark/scala/io/iohk/ethereum/rlp/RLPSpeedSuite.scala

-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import io.iohk.ethereum.ObjectGenerators
55
import io.iohk.ethereum.domain.Block._
66
import io.iohk.ethereum.domain._
77
import io.iohk.ethereum.network.p2p.messages.CommonMessages.SignedTransactions._
8-
import io.iohk.ethereum.network.p2p.messages.PV62.BlockBody
98
import io.iohk.ethereum.utils.Logger
109
import org.scalacheck.Gen
1110
import org.scalatest.FunSuite

src/ets/scala/io/iohk/ethereum/ets/blockchain/ScenarioSetup.scala

-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import io.iohk.ethereum.domain._
1313
import io.iohk.ethereum.ets.common.AccountState
1414
import io.iohk.ethereum.ledger.Ledger.VMImpl
1515
import io.iohk.ethereum.ledger._
16-
import io.iohk.ethereum.network.p2p.messages.PV62.BlockBody
1716
import io.iohk.ethereum.utils.BigIntExtensionMethods._
1817
import io.iohk.ethereum.utils.{BlockchainConfig, Config}
1918
import org.bouncycastle.util.encoders.Hex

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

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ 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.{BlockHeader, Receipt}
9+
import io.iohk.ethereum.domain.{BlockBody, BlockHeader, Receipt}
10+
import io.iohk.ethereum.domain.BlockHeader._
1011
import io.iohk.ethereum.network.{Peer, PeerManagerActor}
1112
import io.iohk.ethereum.network.PeerActor.SendMessage
1213
import io.iohk.ethereum.network.PeerManagerActor.{GetPeers, Peers}
@@ -15,7 +16,6 @@ import io.iohk.ethereum.network.p2p.messages.PV63._
1516
import io.iohk.ethereum.network.p2p.messages.PV63.MptNodeEncoders._
1617
import org.bouncycastle.util.encoders.Hex
1718
import ReceiptImplicits._
18-
import BlockHeaderImplicits._
1919
import io.iohk.ethereum.mpt.{BranchNode, ExtensionNode, HashNode, LeafNode, MptNode}
2020
import io.iohk.ethereum.network.PeerEventBusActor.PeerEvent.MessageFromPeer
2121
import io.iohk.ethereum.network.PeerEventBusActor.{PeerSelector, Subscribe}

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

+2-3
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import io.iohk.ethereum.network.EtcPeerManagerActor.PeerInfo
1616
import io.iohk.ethereum.network.PeerManagerActor.PeerConfiguration
1717
import io.iohk.ethereum.network.handshaker.{EtcHandshaker, EtcHandshakerConfiguration, Handshaker}
1818
import io.iohk.ethereum.network.p2p.EthereumMessageDecoder
19-
import io.iohk.ethereum.network.p2p.messages.PV62
2019
import io.iohk.ethereum.network.rlpx.RLPxConnectionHandler.RLPxConfiguration
2120
import io.iohk.ethereum.network.{ForkResolver, PeerEventBusActor, PeerManagerActor}
2221
import io.iohk.ethereum.nodebuilder.{AuthHandshakerBuilder, NodeKeyBuilder, SecureRandomBuilder}
@@ -111,13 +110,13 @@ object DumpChainApp extends App with NodeKeyBuilder with SecureRandomBuilder wit
111110

112111
override def getBlockHeaderByHash(hash: ByteString): Option[BlockHeader] = Some(new FakeHeader())
113112

114-
override def getBlockBodyByHash(hash: ByteString): Option[PV62.BlockBody] = ???
113+
override def getBlockBodyByHash(hash: ByteString): Option[BlockBody] = ???
115114

116115
override def getMptNodeByHash(hash: ByteString): Option[MptNode] = ???
117116

118117
override def save(blockHeader: BlockHeader): Unit = ???
119118

120-
override def save(blockHash: ByteString, blockBody: PV62.BlockBody): Unit = ???
119+
override def save(blockHash: ByteString, blockBody: BlockBody): Unit = ???
121120

122121
override def save(blockHash: ByteString, receipts: Seq[Receipt]): Unit = ???
123122

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

+2-3
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,8 @@ import akka.util.ByteString
66
import io.iohk.ethereum.db.dataSource.EphemDataSource
77
import io.iohk.ethereum.db.storage._
88
import io.iohk.ethereum.domain._
9-
import io.iohk.ethereum.network.p2p.messages.PV62.BlockBody
10-
import io.iohk.ethereum.network.p2p.messages.PV62.BlockBody._
11-
import io.iohk.ethereum.network.p2p.messages.PV62.BlockHeaderImplicits._
9+
import io.iohk.ethereum.domain.BlockHeader._
10+
import io.iohk.ethereum.domain.BlockBody._
1211
import io.iohk.ethereum.network.p2p.messages.PV63._
1312
import MptNodeEncoders._
1413
import ReceiptImplicits._

src/main/scala/io/iohk/ethereum/blockchain/data/GenesisDataLoader.scala

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import io.iohk.ethereum.utils.Logger
1111
import io.iohk.ethereum.{crypto, rlp}
1212
import io.iohk.ethereum.domain._
1313
import io.iohk.ethereum.mpt.MerklePatriciaTrie
14-
import io.iohk.ethereum.network.p2p.messages.PV62.BlockBody
1514
import io.iohk.ethereum.rlp.RLPImplicits._
1615
import org.json4s.{CustomSerializer, DefaultFormats, Formats, JString, JValue}
1716
import org.bouncycastle.util.encoders.Hex
@@ -135,7 +134,8 @@ class GenesisDataLoader(
135134
unixTimestamp = BigInt(genesisData.timestamp.replace("0x", ""), 16).toLong,
136135
extraData = genesisData.extraData,
137136
mixHash = genesisData.mixHash.getOrElse(zeros(hashLength)),
138-
nonce = genesisData.nonce)
137+
nonce = genesisData.nonce
138+
)
139139

140140
private def zeros(length: Int) =
141141
ByteString(Hex.decode(List.fill(length)("0").mkString))

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

+1-2
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@ package io.iohk.ethereum.blockchain.sync
33
import akka.util.ByteString
44
import io.iohk.ethereum.consensus.validators.Validators
55
import io.iohk.ethereum.consensus.validators.std.StdBlockValidator
6-
import io.iohk.ethereum.domain.{BlockHeader, Blockchain}
7-
import io.iohk.ethereum.network.p2p.messages.PV62.BlockBody
6+
import io.iohk.ethereum.domain.{BlockHeader, BlockBody, Blockchain}
87
import io.iohk.ethereum.consensus.validators.std.StdBlockValidator.BlockValid
98

109
trait SyncBlocksValidator {

src/main/scala/io/iohk/ethereum/blockchain/sync/regular/BlockFetcherState.scala

+3-2
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,15 @@ package io.iohk.ethereum.blockchain.sync.regular
33
import akka.actor.ActorRef
44
import akka.util.ByteString
55
import cats.data.NonEmptyList
6-
import io.iohk.ethereum.domain.{Block, BlockHeader, HeadersSeq}
6+
import io.iohk.ethereum.domain.{Block, BlockHeader, BlockBody, HeadersSeq}
77
import io.iohk.ethereum.network.{Peer, PeerId}
8-
import io.iohk.ethereum.network.p2p.messages.PV62.{BlockBody, BlockHash}
8+
import io.iohk.ethereum.network.p2p.messages.PV62.BlockHash
99
import BlockFetcherState._
1010
import cats.syntax.either._
1111
import cats.syntax.option._
1212

1313
import scala.collection.immutable.Queue
14+
1415
case class BlockFetcherState(
1516
importer: ActorRef,
1617
readyBlocks: Queue[Block],

src/main/scala/io/iohk/ethereum/consensus/blocks/BlockGenerator.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ trait BlockGenerator {
1919
/**
2020
* The type of consensus-specific data used in the block generation process.
2121
* For example, under [[io.iohk.ethereum.consensus.ethash.EthashConsensus EthashConsensus]],
22-
* this represents the [[io.iohk.ethereum.network.p2p.messages.PV62.BlockBody#uncleNodesList ommers]].
22+
* this represents the [[io.iohk.ethereum.domain.BlockBody#uncleNodesList ommers]].
2323
*/
2424
type X
2525

src/main/scala/io/iohk/ethereum/consensus/blocks/BlockGeneratorSkeleton.scala

+1-2
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,10 @@ import io.iohk.ethereum.crypto.kec256
1111
import io.iohk.ethereum.db.dataSource.EphemDataSource
1212
import io.iohk.ethereum.db.storage.StateStorage
1313
import io.iohk.ethereum.domain._
14+
import io.iohk.ethereum.consensus.ethash.blocks.OmmersSeqEnc
1415
import io.iohk.ethereum.ledger.Ledger.{BlockPreparationResult, BlockResult}
1516
import io.iohk.ethereum.ledger.{BlockPreparator, BloomFilter}
1617
import io.iohk.ethereum.mpt.{ByteArraySerializable, MerklePatriciaTrie}
17-
import io.iohk.ethereum.network.p2p.messages.PV62.BlockBody
18-
import io.iohk.ethereum.network.p2p.messages.PV62.BlockHeaderImplicits._
1918
import io.iohk.ethereum.utils.BlockchainConfig
2019
import io.iohk.ethereum.utils.ByteUtils.or
2120

src/main/scala/io/iohk/ethereum/consensus/blocks/NoOmmersBlockGenerator.scala

-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package io.iohk.ethereum.consensus.blocks
33
import io.iohk.ethereum.consensus.ConsensusConfig
44
import io.iohk.ethereum.domain._
55
import io.iohk.ethereum.ledger.{BlockPreparationError, BlockPreparator}
6-
import io.iohk.ethereum.network.p2p.messages.PV62.BlockBody
76
import io.iohk.ethereum.utils.BlockchainConfig
87

98

src/main/scala/io/iohk/ethereum/consensus/ethash/blocks/EthashBlockGenerator.scala

-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import io.iohk.ethereum.consensus.ethash.validators.EthashValidators
1010
import io.iohk.ethereum.crypto.kec256
1111
import io.iohk.ethereum.domain._
1212
import io.iohk.ethereum.ledger.{BlockPreparationError, BlockPreparator}
13-
import io.iohk.ethereum.network.p2p.messages.PV62.BlockBody
1413
import io.iohk.ethereum.utils.BlockchainConfig
1514

1615

src/main/scala/io/iohk/ethereum/consensus/ethash/blocks/package.scala

+5
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package io.iohk.ethereum.consensus.ethash
33
import io.iohk.ethereum.consensus.ethash.validators.OmmersValidator.OmmersError
44
import io.iohk.ethereum.domain.BlockHeader
55
import io.iohk.ethereum.ledger.BlockPreparationError
6+
import io.iohk.ethereum.rlp.{RLPEncodeable, RLPList, RLPSerializable}
67

78
package object blocks {
89
/**
@@ -13,5 +14,9 @@ package object blocks {
1314
*/
1415
final type Ommers = Seq[BlockHeader]
1516

17+
implicit class OmmersSeqEnc(blockHeaders: Seq[BlockHeader]) extends RLPSerializable {
18+
override def toRLPEncodable: RLPEncodeable = RLPList(blockHeaders.map(_.toRLPEncodable): _*)
19+
}
20+
1621
final case class InvalidOmmers(reason: OmmersError) extends BlockPreparationError
1722
}

src/main/scala/io/iohk/ethereum/consensus/validators/BlockValidator.scala

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
package io.iohk.ethereum.consensus.validators
22

33
import io.iohk.ethereum.consensus.validators.std.StdBlockValidator.{BlockError, BlockValid}
4-
import io.iohk.ethereum.domain.{BlockHeader, Receipt}
5-
import io.iohk.ethereum.network.p2p.messages.PV62.BlockBody
4+
import io.iohk.ethereum.domain.{BlockHeader, BlockBody, Receipt}
65

76
trait BlockValidator {
87
def validateHeaderAndBody(blockHeader: BlockHeader, blockBody: BlockBody): Either[BlockError, BlockValid]

src/main/scala/io/iohk/ethereum/consensus/validators/std/StdBlockValidator.scala

+2-3
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@ package io.iohk.ethereum.consensus.validators
22
package std
33

44
import akka.util.ByteString
5+
import io.iohk.ethereum.consensus.ethash.blocks.OmmersSeqEnc
56
import io.iohk.ethereum.crypto._
6-
import io.iohk.ethereum.domain.{Block, BlockHeader, Receipt, SignedTransaction}
7+
import io.iohk.ethereum.domain.{Block, BlockHeader, BlockBody, Receipt, SignedTransaction}
78
import io.iohk.ethereum.ledger.BloomFilter
8-
import io.iohk.ethereum.network.p2p.messages.PV62.BlockBody
99
import io.iohk.ethereum.utils.ByteUtils.or
1010

1111

@@ -34,7 +34,6 @@ object StdBlockValidator extends BlockValidator {
3434
* @return Block if valid, a Some otherwise
3535
*/
3636
private def validateOmmersHash(block: Block): Either[BlockError, BlockValid] = {
37-
import io.iohk.ethereum.network.p2p.messages.PV62.BlockHeaderImplicits._
3837
val encodedOmmers: Array[Byte] = block.body.uncleNodesList.toBytes
3938
if (kec256(encodedOmmers) sameElements block.header.ommersHash) Right(BlockValid)
4039
else Left(BlockOmmersHashError)

src/main/scala/io/iohk/ethereum/db/storage/BlockBodiesStorage.scala

+1-2
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@ import boopickle.Default.{ Pickle, Unpickle }
77
import io.iohk.ethereum.crypto.ECDSASignature
88
import io.iohk.ethereum.db.dataSource.DataSource
99
import io.iohk.ethereum.db.storage.BlockBodiesStorage.BlockBodyHash
10-
import io.iohk.ethereum.domain.{ Address, BlockHeader, SignedTransaction, Transaction }
11-
import io.iohk.ethereum.network.p2p.messages.PV62.BlockBody
10+
import io.iohk.ethereum.domain.{ Address, BlockHeader, BlockBody, SignedTransaction, Transaction }
1211
import io.iohk.ethereum.utils.ByteUtils.compactPickledBytes
1312

1413
/**

src/main/scala/io/iohk/ethereum/domain/Block.scala

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package io.iohk.ethereum.domain
22

33
import akka.util.ByteString
4-
import io.iohk.ethereum.network.p2p.messages.PV62.{BlockBody, BlockHeaderImplicits}
4+
import io.iohk.ethereum.domain.BlockHeader._
55
import io.iohk.ethereum.rlp.{RLPEncodeable, RLPList, RLPSerializable, rawDecode}
66

77
/**
@@ -31,7 +31,6 @@ case class Block(header: BlockHeader, body: BlockBody) {
3131
object Block {
3232

3333
implicit class BlockEnc(val obj: Block) extends RLPSerializable {
34-
import BlockHeaderImplicits._
3534
import io.iohk.ethereum.network.p2p.messages.CommonMessages.SignedTransactions._
3635

3736
override def toRLPEncodable: RLPEncodeable = RLPList(
@@ -42,7 +41,6 @@ object Block {
4241
}
4342

4443
implicit class BlockDec(val bytes: Array[Byte]) extends AnyVal {
45-
import BlockHeaderImplicits._
4644
import io.iohk.ethereum.network.p2p.messages.CommonMessages.SignedTransactions._
4745
def toBlock: Block = rawDecode(bytes) match {
4846
case RLPList(header: RLPList, stx: RLPList, uncles: RLPList) => Block(
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
package io.iohk.ethereum.domain
2+
3+
import io.iohk.ethereum.domain.BlockHeader._
4+
import io.iohk.ethereum.rlp.{RLPEncodeable, RLPList, RLPSerializable, rawDecode}
5+
6+
case class BlockBody(transactionList: Seq[SignedTransaction], uncleNodesList: Seq[BlockHeader]) {
7+
override def toString: String =
8+
s"""BlockBody{
9+
|transactionList: $transactionList
10+
|uncleNodesList: $uncleNodesList
11+
|}
12+
""".stripMargin
13+
}
14+
15+
object BlockBody {
16+
17+
val empty = BlockBody(Seq.empty, Seq.empty)
18+
19+
def blockBodyToRlpEncodable(blockBody: BlockBody,
20+
signedTxToRlpEncodable: SignedTransaction => RLPEncodeable,
21+
blockHeaderToRlpEncodable: BlockHeader => RLPEncodeable
22+
): RLPEncodeable =
23+
RLPList(
24+
RLPList(blockBody.transactionList.map(signedTxToRlpEncodable): _*),
25+
RLPList(blockBody.uncleNodesList.map(blockHeaderToRlpEncodable): _*)
26+
)
27+
28+
implicit class BlockBodyEnc(msg: BlockBody) extends RLPSerializable {
29+
override def toRLPEncodable: RLPEncodeable = {
30+
import io.iohk.ethereum.network.p2p.messages.CommonMessages.SignedTransactions._
31+
32+
blockBodyToRlpEncodable(
33+
msg,
34+
stx => SignedTransactionEnc(stx).toRLPEncodable,
35+
header => BlockHeaderEnc(header).toRLPEncodable
36+
)
37+
}
38+
}
39+
40+
implicit class BlockBlodyDec(val bytes: Array[Byte]) extends AnyVal {
41+
def toBlockBody: BlockBody = BlockBodyRLPEncodableDec(rawDecode(bytes)).toBlockBody
42+
}
43+
44+
def rlpEncodableToBlockBody(rlpEncodeable: RLPEncodeable,
45+
rlpEncodableToSignedTransaction: RLPEncodeable => SignedTransaction,
46+
rlpEncodableToBlockHeader: RLPEncodeable => BlockHeader
47+
): BlockBody =
48+
rlpEncodeable match {
49+
case RLPList((transactions: RLPList), (uncles: RLPList)) =>
50+
BlockBody(
51+
transactions.items.map(rlpEncodableToSignedTransaction),
52+
uncles.items.map(rlpEncodableToBlockHeader)
53+
)
54+
case _ => throw new RuntimeException("Cannot decode BlockBody")
55+
}
56+
57+
implicit class BlockBodyRLPEncodableDec(val rlpEncodeable: RLPEncodeable) {
58+
def toBlockBody: BlockBody = {
59+
import io.iohk.ethereum.network.p2p.messages.CommonMessages.SignedTransactions._
60+
61+
rlpEncodableToBlockBody(
62+
rlpEncodeable,
63+
rlp => SignedTransactionRlpEncodableDec(rlp).toSignedTransaction,
64+
rlp => BlockheaderEncodableDec(rlp).toBlockHeader
65+
)
66+
67+
}
68+
}
69+
70+
}

src/main/scala/io/iohk/ethereum/domain/BlockHeader.scala

+26-2
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@ package io.iohk.ethereum.domain
22

33
import akka.util.ByteString
44
import io.iohk.ethereum.crypto.kec256
5-
import io.iohk.ethereum.network.p2p.messages.PV62.BlockHeaderImplicits._
6-
import io.iohk.ethereum.rlp.{RLPList, encode => rlpEncode}
5+
import io.iohk.ethereum.rlp.RLPImplicitConversions._
6+
import io.iohk.ethereum.rlp.RLPImplicits._
7+
import io.iohk.ethereum.rlp.{RLPEncodeable, RLPList, RLPSerializable, rawDecode, encode => rlpEncode}
78
import org.bouncycastle.util.encoders.Hex
89

910
case class BlockHeader(
@@ -66,4 +67,27 @@ object BlockHeader {
6667
}
6768
rlpEncode(rlpEncoded)
6869
}
70+
71+
implicit class BlockHeaderEnc(blockHeader: BlockHeader) extends RLPSerializable {
72+
override def toRLPEncodable: RLPEncodeable = {
73+
import blockHeader._
74+
RLPList(parentHash, ommersHash, beneficiary, stateRoot, transactionsRoot, receiptsRoot,
75+
logsBloom, difficulty, number, gasLimit, gasUsed, unixTimestamp, extraData, mixHash, nonce)
76+
}
77+
}
78+
79+
implicit class BlockheaderDec(val bytes: Array[Byte]) extends AnyVal {
80+
def toBlockHeader: BlockHeader = BlockheaderEncodableDec(rawDecode(bytes)).toBlockHeader
81+
}
82+
83+
implicit class BlockheaderEncodableDec(val rlpEncodeable: RLPEncodeable) extends AnyVal {
84+
def toBlockHeader: BlockHeader = {
85+
rlpEncodeable match {
86+
case RLPList(parentHash, ommersHash, beneficiary, stateRoot, transactionsRoot, receiptsRoot,
87+
logsBloom, difficulty, number, gasLimit, gasUsed, unixTimestamp, extraData, mixHash, nonce) =>
88+
BlockHeader(parentHash, ommersHash, beneficiary, stateRoot, transactionsRoot, receiptsRoot,
89+
logsBloom, difficulty, number, gasLimit, gasUsed, unixTimestamp, extraData, mixHash, nonce)
90+
}
91+
}
92+
}
6993
}

src/main/scala/io/iohk/ethereum/domain/Blockchain.scala

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ import io.iohk.ethereum.db.storage.pruning.PruningMode
1111
import io.iohk.ethereum.domain
1212
import io.iohk.ethereum.ledger.{InMemoryWorldStateProxy, InMemoryWorldStateProxyStorage}
1313
import io.iohk.ethereum.mpt.{MerklePatriciaTrie, MptNode}
14-
import io.iohk.ethereum.network.p2p.messages.PV62.BlockBody
1514
import io.iohk.ethereum.vm.{Storage, WorldStateProxy}
15+
1616
/**
1717
* Entity to be used to persist and query Blockchain related objects (blocks, transactions, ommers)
1818
*/
@@ -41,7 +41,7 @@ trait Blockchain {
4141
* Allows to query a blockBody by block hash
4242
*
4343
* @param hash of the block that's being searched
44-
* @return [[io.iohk.ethereum.network.p2p.messages.PV62.BlockBody]] if found
44+
* @return [[io.iohk.ethereum.domain.BlockBody]] if found
4545
*/
4646
def getBlockBodyByHash(hash: ByteString): Option[BlockBody]
4747

src/main/scala/io/iohk/ethereum/domain/SignedTransaction.scala

-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import org.bouncycastle.crypto.AsymmetricCipherKeyPair
1515
import org.bouncycastle.crypto.params.ECPublicKeyParameters
1616
import org.bouncycastle.util.encoders.Hex
1717
import io.iohk.ethereum.network.p2p.messages.CommonMessages.SignedTransactions._
18-
import io.iohk.ethereum.network.p2p.messages.PV62.BlockBody
1918

2019
import scala.concurrent.{ExecutionContext, Future}
2120

0 commit comments

Comments
 (0)