class EIP1559 {

  public boolean isValidFormat(
      final Transaction transaction, final AcceptedTransactionTypes acceptedTransactionTypes) {
    if (transaction == null) {
      return false;
    }
    switch (acceptedTransactionTypes) {
      case FRONTIER_TRANSACTIONS:
        return transaction.isFrontierTransaction();
      case FEE_MARKET_TRANSITIONAL_TRANSACTIONS:
        return transaction.isFrontierTransaction() || transaction.isEIP1559Transaction();
      case FEE_MARKET_TRANSACTIONS:
        return transaction.isEIP1559Transaction();
      default:
        return false;
    }
  }

  public  EIP1559(final long forkBlockNumber);

}