private static Bytes getPreimage(
      final TransactionType transactionType,
      final long nonce,
      final Wei gasPrice,
      final Wei maxPriorityFeePerGas,
      final Wei maxFeePerGas,
      final Wei maxFeePerBlobGas,
      final long gasLimit,
      final Optional<Address> to,
      final Wei value,
      final Bytes payload,
      final Optional<List<AccessListEntry>> accessList,
      final List<VersionedHash> versionedHashes,
      final Optional<List<CodeDelegation>> codeDelegationList,
      final Optional<BigInteger> chainId) {
    final Bytes preimage =
        switch (transactionType) {
          case FRONTIER -> frontierPreimage(nonce, gasPrice, gasLimit, to, value, payload, chainId);
          case EIP1559 ->
              eip1559Preimage(
                  nonce,
                  maxPriorityFeePerGas,
                  maxFeePerGas,
                  gasLimit,
                  to,
                  value,
                  payload,
                  chainId,
                  accessList);
          case BLOB ->
              blobPreimage(
                  nonce,
                  maxPriorityFeePerGas,
                  maxFeePerGas,
                  maxFeePerBlobGas,
                  gasLimit,
                  to,
                  value,
                  payload,
                  chainId,
                  accessList,
                  versionedHashes);
          case ACCESS_LIST ->
              accessListPreimage(
                  nonce,
                  gasPrice,
                  gasLimit,
                  to,
                  value,
                  payload,
                  accessList.orElseThrow(
                      () ->
                          new IllegalStateException(
                              "Developer error: the transaction should be guaranteed to have an access list here")),
                  chainId);
          case DELEGATE_CODE ->
              codeDelegationPreimage(
                  nonce,
                  maxPriorityFeePerGas,
                  maxFeePerGas,
                  gasLimit,
                  to,
                  value,
                  payload,
                  chainId,
                  accessList,
                  codeDelegationList.orElseThrow(
                      () ->
                          new IllegalStateException(
                              "Developer error: the transaction should be guaranteed to have a code delegations here")));
        };
    return preimage;
  }
Return the list of transaction hashes extracted from the collection of Transaction passed as
argument

@param transactions a collection of transactions
@return the list of transaction hashes
ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/Transaction.java