class CliqueDifficultyCalculator implements DifficultyCalculator {

  @Override
  public BigInteger nextDifficulty(
      final long time, final BlockHeader parent, final ProtocolContext context) {

    final Address nextProposer =
        CliqueHelpers.getProposerForBlockAfter(
            parent, context.getConsensusState(CliqueContext.class).getVoteTallyCache());
    return nextProposer.equals(localAddress) ? IN_TURN_DIFFICULTY : OUT_OF_TURN_DIFFICULTY;
  }

  public  CliqueDifficultyCalculator(final Address localAddress);

}