> ## 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.

# Offences

## Storage

### concurrentReportsIndex

A vector of reports of the same kind that happened at the same time slot.

**Namespace**

```
api.query.offences.concurrentReportsIndex
```

**Type**

```
function concurrentReportsIndex(
  [u8;16],
  Bytes
): Vec<H256>
```

### reports

The primary structure that holds all offence records keyed by report identifiers.

**Namespace**

```
api.query.offences.reports
```

**Type**

```
function reports(
  H256
): Option<SpStakingOffenceOffenceDetails>
```

### reportsByKindIndex

Enumerates all reports of a kind along with the time they happened.

All reports are sorted by the time of offence.

Note that the actual type of this mapping is `Vec<u8>`, this is because values of different types are not supported at the moment so we are doing the manual serialization.

**Namespace**

```
api.query.offences.reportsByKindIndex
```

**Type**

```
function reportsByKindIndex(
  [u8;16]
): Bytes
```

## Events

### Offence

There is an offence reported of the given `kind` happened at the `session_index` and (kind-specific) time slot. This event is not deposited for duplicate slashes. \[kind, timeslot].

**Namespace**

```
api.events.offences.Offence
```

**Type**

```
type Offence = {
  kind: [u8;16],
  timeslot: Bytes
}
```
