private static Bytes32 computeSenderRecoveryHash(
      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 Payload payload,
      final Optional<List<AccessListEntry>> accessList,
      final List<VersionedHash> versionedHashes,
      final Optional<List<CodeDelegation>> codeDelegationList,
      final Optional<BigInteger> chainId) {
    if (transactionType.requiresChainId()) {
      checkArgument(chainId.isPresent(), "Transaction type %s requires chainId", transactionType);
    }
    final Bytes preimage =
        getPreimage(
            transactionType,
            nonce,
            gasPrice,
            maxPriorityFeePerGas,
            maxFeePerGas,
            maxFeePerBlobGas,
            gasLimit,
            to,
            value,
            payload.getPayloadBytes(),
            accessList,
            versionedHashes,
            codeDelegationList,
            chainId);
    return keccak256(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