# Interface: UnsignedVersion\<T\>

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

A version before it is signed: its envelope and its body. What is signed is
the envelope, with the body's hash in place of the body ([Envelope](https://minca.dev/api/core/type-aliases/Envelope.md)).

## Type Parameters

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

## Properties

| Property | Modifier | Type | Description | Defined in |
| ------ | ------ | ------ | ------ | ------ |
| <a id="property-author"></a> `author` | `readonly` | `string` | - | [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: signed through Envelope.bodyHash, not itself. Absent on a stub, a version kept without its body once it is superseded. `null` on a delete. | [packages/core/src/types.ts:103](https://github.com/leifriksheim/minca/blob/main/core/src/types.ts#L103) |
| <a id="property-collection"></a> `collection` | `readonly` | `string` | - | [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` | - | [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 | [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. | [packages/core/src/types.ts:113](https://github.com/leifriksheim/minca/blob/main/core/src/types.ts#L113) |
| <a id="property-key"></a> `key` | `readonly` | `string` | The record's identity, stable across versions. Links point here. | [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. | [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. | [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. | [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 | [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` | [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`). | [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 | [packages/core/src/types.ts:109](https://github.com/leifriksheim/minca/blob/main/core/src/types.ts#L109) |
| <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. | [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. | [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) | [packages/core/src/types.ts:96](https://github.com/leifriksheim/minca/blob/main/core/src/types.ts#L96) |
