# Interface: Version\<T\>

Defined in: [packages/core/src/types.ts:170](https://github.com/leifriksheim/minca/blob/main/core/src/types.ts#L170)

Version — the atomic data unit

## Extends

- `Omit`\<[`UnsignedVersion`](https://minca.dev/api/core/interfaces/UnsignedVersion.md)\<`T`\>, `"body"`\>

## Type Parameters

| Type Parameter | Default type |
| ------ | ------ |
| <a id="type-parameter-t"></a> `T` | `unknown` |

## Properties

| Property | Modifier | Type | Description | Inherited from | Defined in |
| ------ | ------ | ------ | ------ | ------ | ------ |
| <a id="property-author"></a> `author` | `readonly` | `string` | - | `Omit.author` | [packages/core/src/types.ts:91](https://github.com/leifriksheim/minca/blob/main/core/src/types.ts#L91) |
| <a id="property-body"></a> `body?` | `readonly` | `T` | The content — absent on a stub (see [UnsignedVersion.body](https://minca.dev/api/core/interfaces/UnsignedVersion.md#property-body)) | - | [packages/core/src/types.ts:172](https://github.com/leifriksheim/minca/blob/main/core/src/types.ts#L172) |
| <a id="property-bodyhash"></a> `bodyHash?` | `readonly` | `string` | Content id of the canonical body, signed in its place. Absent on a delete. | - | [packages/core/src/types.ts:175](https://github.com/leifriksheim/minca/blob/main/core/src/types.ts#L175) |
| <a id="property-collection"></a> `collection` | `readonly` | `string` | - | `Omit.collection` | [packages/core/src/types.ts:92](https://github.com/leifriksheim/minca/blob/main/core/src/types.ts#L92) |
| <a id="property-createdat"></a> `createdAt` | `readonly` | `string` | - | `Omit.createdAt` | [packages/core/src/types.ts:97](https://github.com/leifriksheim/minca/blob/main/core/src/types.ts#L97) |
| <a id="property-deleted"></a> `deleted?` | `readonly` | `true` | This version deletes the record; its body is null | `Omit.deleted` | [packages/core/src/types.ts:131](https://github.com/leifriksheim/minca/blob/main/core/src/types.ts#L131) |
| <a id="property-genesis"></a> `genesis?` | `readonly` | `string` | Id of the record's first version — who created it. Absent on seq 0. | `Omit.genesis` | [packages/core/src/types.ts:113](https://github.com/leifriksheim/minca/blob/main/core/src/types.ts#L113) |
| <a id="property-id"></a> `id` | `readonly` | `string` | - | - | [packages/core/src/types.ts:173](https://github.com/leifriksheim/minca/blob/main/core/src/types.ts#L173) |
| <a id="property-key"></a> `key` | `readonly` | `string` | The record's identity, stable across versions. Links point here. | `Omit.key` | [packages/core/src/types.ts:107](https://github.com/leifriksheim/minca/blob/main/core/src/types.ts#L107) |
| <a id="property-links"></a> `links?` | `readonly` | readonly [`Link`](https://minca.dev/api/core/interfaces/Link.md)[] | Links to other records. Signed with the rest. In a private space they are sealed inside the encrypted body instead, and this is absent. | `Omit.links` | [packages/core/src/types.ts:136](https://github.com/leifriksheim/minca/blob/main/core/src/types.ts#L136) |
| <a id="property-log"></a> `log?` | `readonly` | `WriterLog` | Its place in its writer's line for its collection in this space: a key's writes in one collection of a space form one line, `n` from 0, each naming the one before. Two versions by one key at one place are a fork (02 §4.10). Required in a space. | `Omit.log` | [packages/core/src/types.ts:120](https://github.com/leifriksheim/minca/blob/main/core/src/types.ts#L120) |
| <a id="property-prev"></a> `prev?` | `readonly` | `string` | Id of the version this one replaces. Absent on seq 0. | `Omit.prev` | [packages/core/src/types.ts:111](https://github.com/leifriksheim/minca/blob/main/core/src/types.ts#L111) |
| <a id="property-proof"></a> `proof?` | `readonly` | [`Delegation`](https://minca.dev/api/core/interfaces/Delegation.md) | The note that lets the author write this, one token from its account, if delegated — signed along with the rest | `Omit.proof` | [packages/core/src/types.ts:105](https://github.com/leifriksheim/minca/blob/main/core/src/types.ts#L105) |
| <a id="property-retain"></a> `retain?` | `readonly` | `true` | Keep this version once it is superseded — set by the writer, from the collection's `history` | `Omit.retain` | [packages/core/src/types.ts:122](https://github.com/leifriksheim/minca/blob/main/core/src/types.ts#L122) |
| <a id="property-seen"></a> `seen?` | `readonly` | readonly `string`[] | The latest changes to the space's access history — roles, members, invites, revoked notes, collection definitions — its writer knew of. It is judged by who held what, and which definition was in force, as of those (`space/roles.ts`). | `Omit.seen` | [packages/core/src/types.ts:129](https://github.com/leifriksheim/minca/blob/main/core/src/types.ts#L129) |
| <a id="property-seq"></a> `seq` | `readonly` | `number` | 0 for a record's first version; each later version is one more than the one it replaces | `Omit.seq` | [packages/core/src/types.ts:109](https://github.com/leifriksheim/minca/blob/main/core/src/types.ts#L109) |
| <a id="property-signature"></a> `signature` | `readonly` | `string` | - | - | [packages/core/src/types.ts:176](https://github.com/leifriksheim/minca/blob/main/core/src/types.ts#L176) |
| <a id="property-space"></a> `space?` | `readonly` | `string` | Space this belongs to — signed, so it cannot be replayed into another space. Omitted for unscoped data. | `Omit.space` | [packages/core/src/types.ts:94](https://github.com/leifriksheim/minca/blob/main/core/src/types.ts#L94) |
| <a id="property-tags"></a> `tags?` | `readonly` | readonly `string`[] | Topic tags: a keyed hash of each value of each field the collection names as a topic (`records/topics.ts`), so a node that can't read the body can still match what it's about. Signed with the rest; checked by any node that can read the body. | `Omit.tags` | [packages/core/src/types.ts:143](https://github.com/leifriksheim/minca/blob/main/core/src/types.ts#L143) |
| <a id="property-to"></a> `to?` | `readonly` | `string` | For a loose version (no space), the public key it is sealed to: signed, so it can't be re-sealed to another (02 §3.5) | `Omit.to` | [packages/core/src/types.ts:96](https://github.com/leifriksheim/minca/blob/main/core/src/types.ts#L96) |
