Skip to content

Commit

Permalink
PR comments
Browse files Browse the repository at this point in the history
Signed-off-by: Lucas Saldanha <lucascrsaldanha@gmail.com>
  • Loading branch information
lucassaldanha committed Mar 24, 2021
1 parent 6fc8970 commit 32d22bd
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,9 @@ public MessageValidator createMessageValidator(
protocolSchedule.getByBlockNumber(roundIdentifier.getSequenceNumber()).getBlockValidator();
final Collection<Address> validators = getValidatorsAfterBlock(parentHeader);

final BftBlockInterface bftBlockInterface =
protocolContext.getConsensusState(BftContext.class).getBlockInterface();

return new MessageValidator(
createSignedDataValidator(roundIdentifier, parentHeader),
new ProposalBlockConsistencyValidator(),
Expand All @@ -79,7 +82,7 @@ public MessageValidator createMessageValidator(
(ri) -> createSignedDataValidator(ri, parentHeader),
roundIdentifier.getSequenceNumber(),
bftExtraDataCodec,
protocolContext));
bftBlockInterface));
}

public RoundChangeMessageValidator createRoundChangeMessageValidator(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@

import org.hyperledger.besu.consensus.common.bft.BftBlockHeaderFunctions;
import org.hyperledger.besu.consensus.common.bft.BftBlockInterface;
import org.hyperledger.besu.consensus.common.bft.BftContext;
import org.hyperledger.besu.consensus.common.bft.BftExtraDataCodec;
import org.hyperledger.besu.consensus.common.bft.BftHelpers;
import org.hyperledger.besu.consensus.common.bft.ConsensusRoundIdentifier;
Expand All @@ -25,7 +24,6 @@
import org.hyperledger.besu.consensus.ibft.payload.RoundChangeCertificate;
import org.hyperledger.besu.consensus.ibft.payload.RoundChangePayload;
import org.hyperledger.besu.consensus.ibft.validation.RoundChangePayloadValidator.MessageValidatorForHeightFactory;
import org.hyperledger.besu.ethereum.ProtocolContext;
import org.hyperledger.besu.ethereum.core.Address;
import org.hyperledger.besu.ethereum.core.Block;

Expand All @@ -42,7 +40,7 @@ public class RoundChangeCertificateValidator {
private final Collection<Address> validators;
private final MessageValidatorForHeightFactory messageValidatorFactory;
private final BftExtraDataCodec bftExtraDataCodec;
private final ProtocolContext protocolContext;
private final BftBlockInterface bftBlockInterface;
private final long quorum;
private final long chainHeight;

Expand All @@ -51,13 +49,13 @@ public RoundChangeCertificateValidator(
final MessageValidatorForHeightFactory messageValidatorFactory,
final long chainHeight,
final BftExtraDataCodec bftExtraDataCodec,
final ProtocolContext protocolContext) {
final BftBlockInterface bftBlockInterface) {
this.validators = validators;
this.messageValidatorFactory = messageValidatorFactory;
this.quorum = BftHelpers.calculateRequiredValidatorQuorum(validators.size());
this.chainHeight = chainHeight;
this.bftExtraDataCodec = bftExtraDataCodec;
this.protocolContext = protocolContext;
this.bftBlockInterface = bftBlockInterface;
}

public boolean validateRoundChangeMessagesAndEnsureTargetRoundMatchesRoot(
Expand Down Expand Up @@ -128,8 +126,6 @@ public boolean validateProposalMessageMatchesLatestPrepareCertificate(

// Need to check that if we substitute the LatestPrepareCert round number into the supplied
// block that we get the SAME hash as PreparedCert.
final BftBlockInterface bftBlockInterface =
protocolContext.getConsensusState(BftContext.class).getBlockInterface();
final Block currentBlockWithOldRound =
bftBlockInterface.replaceRoundInBlock(
proposedBlock,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
import static org.mockito.Mockito.when;

import org.hyperledger.besu.consensus.common.bft.BftBlockInterface;
import org.hyperledger.besu.consensus.common.bft.BftContext;
import org.hyperledger.besu.consensus.common.bft.ConsensusRoundHelpers;
import org.hyperledger.besu.consensus.common.bft.ConsensusRoundIdentifier;
import org.hyperledger.besu.consensus.common.bft.ProposedBlockHelpers;
Expand All @@ -35,13 +34,10 @@
import org.hyperledger.besu.consensus.ibft.validation.RoundChangePayloadValidator.MessageValidatorForHeightFactory;
import org.hyperledger.besu.crypto.NodeKey;
import org.hyperledger.besu.crypto.NodeKeyUtils;
import org.hyperledger.besu.ethereum.ProtocolContext;
import org.hyperledger.besu.ethereum.chain.MutableBlockchain;
import org.hyperledger.besu.ethereum.core.Address;
import org.hyperledger.besu.ethereum.core.Block;
import org.hyperledger.besu.ethereum.core.Hash;
import org.hyperledger.besu.ethereum.core.Util;
import org.hyperledger.besu.ethereum.worldstate.WorldStateArchive;

import java.util.Collections;
import java.util.List;
Expand All @@ -63,12 +59,12 @@ public class RoundChangeCertificateValidatorTest {
private final ConsensusRoundIdentifier roundIdentifier =
new ConsensusRoundIdentifier(chainHeight, 4);
private RoundChangeCertificateValidator validator;
private ProtocolContext protocolContext;

private final MessageValidatorForHeightFactory validatorFactory =
mock(MessageValidatorForHeightFactory.class);
private final SignedDataValidator signedDataValidator = mock(SignedDataValidator.class);
final IbftExtraDataCodec bftExtraDataEncoder = new IbftExtraDataCodec();
final BftBlockInterface bftBlockInterface = new BftBlockInterface(bftExtraDataEncoder);

private Block proposedBlock;

Expand All @@ -81,15 +77,9 @@ public void setup() {
proposedBlock =
ProposedBlockHelpers.createProposalBlock(validators, roundIdentifier, bftExtraDataEncoder);

final BftContext bftContext = mock(BftContext.class);
when(bftContext.getBlockInterface()).thenReturn(new BftBlockInterface(bftExtraDataEncoder));
protocolContext =
new ProtocolContext(
mock(MutableBlockchain.class), mock(WorldStateArchive.class), bftContext);

validator =
new RoundChangeCertificateValidator(
validators, validatorFactory, 5, bftExtraDataEncoder, protocolContext);
validators, validatorFactory, 5, bftExtraDataEncoder, bftBlockInterface);
}

@Test
Expand Down

0 comments on commit 32d22bd

Please sign in to comment.