private long calculateRefundAllowance(
      final Transaction transaction,
      final MessageFrame initialFrame,
      final long codeDelegationRefund) {
    final long selfDestructRefund =
        getSelfDestructRefundAmount() * initialFrame.getSelfDestructs().size();
    final long executionRefund =
        initialFrame.getGasRefund() + selfDestructRefund + codeDelegationRefund;
    // Integer truncation takes care of the floor calculation needed after the divide.
    final long maxRefundAllowance =
        (transaction.getGasLimit() - initialFrame.getRemainingGas()) / getMaxRefundQuotient();
    return Math.min(executionRefund, maxRefundAllowance);
  }
Instantiates a new Prague Gas Calculator

@param maxPrecompile the max precompile
evm/src/main/java/org/hyperledger/besu/evm/gascalculator/PragueGasCalculator.java