private Address resolveContractAddress(final long blockNumber) {
    return forksSchedule
        .getFork(blockNumber)
        .getValue()
        .getValidatorContractAddress()
        .map(Address::fromHexString)
        .orElseThrow(
            () ->
                new RuntimeException(
                    "Error resolving smart contract address unable to make validator contract call"));
  }
Instantiates a new Transaction validator provider.

@param blockchain the blockchain
@param validatorContractController the validator contract controller
@param forksSchedule the forks schedule
consensus/qbft/src/main/java/org/hyperledger/besu/consensus/qbft/validator/TransactionValidatorProvider.java