@Override
  // As per https://eips.ethereum.org/EIPS/eip-1283
  public long calculateStorageCost(
      final UInt256 newValue,
      final Supplier<UInt256> currentValue,
      final Supplier<UInt256> originalValue) {

    final UInt256 localCurrentValue = currentValue.get();
    if (localCurrentValue.equals(newValue)) {
      return SSTORE_NO_OP_COST;
    } else {
      final UInt256 localOriginalValue = originalValue.get();
      if (localOriginalValue.equals(localCurrentValue)) {
        return localOriginalValue.isZero()
            ? SSTORE_FIRST_DIRTY_NEW_STORAGE_COST
            : SSTORE_FIRST_DIRTY_EXISTING_STORAGE_COST;
      } else {
        return SSTORE_ADDITIONAL_WRITE_COST;
      }
    }
  }
Returns the amount of gas the CREATE2 operation will consume.

@param frame The current frame
@return the amount of gas the CREATE2 operation will consume
@deprecated Compose the operation cost from {@link #txCreateCost()}, {@link
    #memoryExpansionGasCost(MessageFrame, long, long)}, {@link #createKeccakCost(int)}, and
    {@link #initcodeCost(int)}. As done in {@link
    org.hyperledger.besu.evm.operation.Create2Operation#cost(MessageFrame, Supplier)}
evm/src/main/java/org/hyperledger/besu/evm/gascalculator/ConstantinopleGasCalculator.java