@Override
  public String toString() {
    final StringBuilder sb = new StringBuilder();
    sb.append(
            transactionType.supportsBlob()
                ? "Blob"
                : isContractCreation() ? "ContractCreation" : "MessageCall")
        .append("{");
    sb.append("type=").append(getType()).append(", ");
    sb.append("nonce=").append(getNonce()).append(", ");
    getGasPrice()
        .ifPresent(gp -> sb.append("gasPrice=").append(gp.toHumanReadableString()).append(", "));
    if (getMaxPriorityFeePerGas().isPresent() && getMaxFeePerGas().isPresent()) {
      sb.append("maxPriorityFeePerGas=")
          .append(getMaxPriorityFeePerGas().map(Wei::toHumanReadableString).get())
          .append(", ");
      sb.append("maxFeePerGas=")
          .append(getMaxFeePerGas().map(Wei::toHumanReadableString).get())
          .append(", ");
      getMaxFeePerBlobGas()
          .ifPresent(
              wei ->
                  sb.append("maxFeePerBlobGas=").append(wei.toHumanReadableString()).append(", "));
    }
    sb.append("gasLimit=").append(getGasLimit()).append(", ");
    if (getTo().isPresent()) sb.append("to=").append(getTo().get()).append(", ");
    sb.append("value=").append(getValue()).append(", ");
    sb.append("sig=").append(getSignature()).append(", ");
    if (chainId.isPresent()) sb.append("chainId=").append(getChainId().get()).append(", ");
    if (transactionType.equals(TransactionType.ACCESS_LIST)) {
      sb.append("accessList=").append(maybeAccessList).append(", ");
    }
    if (versionedHashes.isPresent()) {
      final List<VersionedHash> vhs = versionedHashes.get();
      if (!vhs.isEmpty()) {
        sb.append("versionedHashes=[");
        sb.append(
            vhs.get(0)
                .toString()); // can't be empty if present, as this is checked in the constructor
        for (int i = 1; i < vhs.size(); i++) {
          sb.append(", ").append(vhs.get(i).toString());
        }
        sb.append("], ");
      }
    }
    if (transactionType.supportsBlob() && this.blobsWithCommitments.isPresent()) {
      sb.append("numberOfBlobs=").append(blobsWithCommitments.get().getBlobs().size()).append(", ");
    }
    sb.append("payload=").append(getPayload());
    return sb.append("}").toString();
  }
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