<!--
{
  "availability" : [

  ],
  "documentType" : "symbol",
  "framework" : "BitcoinKernel",
  "identifier" : "/documentation/BitcoinKernel/TransactionOutPoint",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "BitcoinKernel"
    ],
    "preciseIdentifier" : "s:13BitcoinKernel19TransactionOutPointC"
  },
  "title" : "TransactionOutPoint"
}
-->

# TransactionOutPoint

A reference to a specific output of a previous transaction — a
`(txid, output-index)` pair used by [`TransactionInput`](/documentation/BitcoinKernel/TransactionInput) to identify
the UTXO being spent.

```
final class TransactionOutPoint
```

## Overview

Outpoints are obtained from a [`TransactionInput`](/documentation/BitcoinKernel/TransactionInput) via
[`outPoint`](/documentation/BitcoinKernel/TransactionInput/outPoint); there is no public `create`
initializer.

The coinbase-transaction sentinel is `txid == all-zeros` and
`index == 0xFFFFFFFF` — no previous transaction is being referenced.

Wraps the opaque `btck_TransactionOutPoint` type; `deinit` calls
`btck_transaction_out_point_destroy` when the last Swift reference
drops.