> ## Documentation Index
> Fetch the complete documentation index at: https://docs.therootnetwork.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Authorship

## Calls

### setUncles

Provide a set of uncles.

**Namespace**

```
api.tx.authorship.setUncles
```

**Type**

```
function setUncles(
  new_uncles: Vec<SpRuntimeHeader>
)
```

## Storage

### author

Author of current block.

**Namespace**

```
api.query.authorship.author
```

**Type**

```
function author(

): Option<SeedPrimitivesSignatureAccountId20>
```

### didSetUncles

Whether uncles were already set in this block.

**Namespace**

```
api.query.authorship.didSetUncles
```

**Type**

```
function didSetUncles(

): bool
```

### uncles

Uncles

**Namespace**

```
api.query.authorship.uncles
```

**Type**

```
function uncles(

): Vec<PalletAuthorshipUncleEntryItem>
```

undefined## Errors

### GenesisUncle

The uncle is genesis.

**Namespace**

```
api.errors.authorship.GenesisUncle
```

### InvalidUncleParent

The uncle parent not in the chain.

**Namespace**

```
api.errors.authorship.InvalidUncleParent
```

### OldUncle

The uncle isn't recent enough to be included.

**Namespace**

```
api.errors.authorship.OldUncle
```

### TooHighUncle

The uncle is too high in chain.

**Namespace**

```
api.errors.authorship.TooHighUncle
```

### TooManyUncles

Too many uncles.

**Namespace**

```
api.errors.authorship.TooManyUncles
```

### UncleAlreadyIncluded

The uncle is already included.

**Namespace**

```
api.errors.authorship.UncleAlreadyIncluded
```

### UnclesAlreadySet

Uncles already set in the block.

**Namespace**

```
api.errors.authorship.UnclesAlreadySet
```

## Constants

### uncleGenerations

The number of blocks back we should accept uncles. This means that we will deal with uncle-parents that are `UncleGenerations + 1` before `now`.

**Namespace**

```
api.consts.authorship.uncleGenerations
```

**Type**

```
type uncleGenerations = u32
```
