# ChainData\<T>

```
type ChainData<T> = object;
```

Defined in: [atomiq-base/src/chains/ChainData.ts:25](https://github.com/atomiqlabs/atomiq-base/blob/df344bedbab9ab3de863e3c2d9246e90bd861d04/src/chains/ChainData.ts#L25)

A comprehensive chain data type for a specific chain

## Type Parameters

| Type Parameter                                                                                                       |
| -------------------------------------------------------------------------------------------------------------------- |
| `T` *extends* [`ChainType`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/ChainType.md) |

## Properties

### btcRelay

```
btcRelay: T["BtcRelay"];
```

Defined in: [atomiq-base/src/chains/ChainData.ts:28](https://github.com/atomiqlabs/atomiq-base/blob/df344bedbab9ab3de863e3c2d9246e90bd861d04/src/chains/ChainData.ts#L28)

***

### chainEvents

```
chainEvents: T["Events"];
```

Defined in: [atomiq-base/src/chains/ChainData.ts:29](https://github.com/atomiqlabs/atomiq-base/blob/df344bedbab9ab3de863e3c2d9246e90bd861d04/src/chains/ChainData.ts#L29)

***

### chainId

```
chainId: ChainType["ChainId"];
```

Defined in: [atomiq-base/src/chains/ChainData.ts:26](https://github.com/atomiqlabs/atomiq-base/blob/df344bedbab9ab3de863e3c2d9246e90bd861d04/src/chains/ChainData.ts#L26)

***

### chainInterface

```
chainInterface: T["ChainInterface"];
```

Defined in: [atomiq-base/src/chains/ChainData.ts:27](https://github.com/atomiqlabs/atomiq-base/blob/df344bedbab9ab3de863e3c2d9246e90bd861d04/src/chains/ChainData.ts#L27)

***

### defaultVersion?

```
optional defaultVersion: string;
```

Defined in: [atomiq-base/src/chains/ChainData.ts:36](https://github.com/atomiqlabs/atomiq-base/blob/df344bedbab9ab3de863e3c2d9246e90bd861d04/src/chains/ChainData.ts#L36)

***

### spvVaultContract

```
spvVaultContract: T["SpvVaultContract"];
```

Defined in: [atomiq-base/src/chains/ChainData.ts:32](https://github.com/atomiqlabs/atomiq-base/blob/df344bedbab9ab3de863e3c2d9246e90bd861d04/src/chains/ChainData.ts#L32)

***

### spvVaultDataConstructor()

```
spvVaultDataConstructor: (data) => T["SpvVaultData"];
```

Defined in: [atomiq-base/src/chains/ChainData.ts:33](https://github.com/atomiqlabs/atomiq-base/blob/df344bedbab9ab3de863e3c2d9246e90bd861d04/src/chains/ChainData.ts#L33)

#### Parameters

| Parameter | Type  |
| --------- | ----- |
| `data`    | `any` |

#### Returns

`T`\[`"SpvVaultData"`]

***

### spvVaultWithdrawalDataConstructor()

```
spvVaultWithdrawalDataConstructor: (data) => T["SpvVaultWithdrawalData"];
```

Defined in: [atomiq-base/src/chains/ChainData.ts:34](https://github.com/atomiqlabs/atomiq-base/blob/df344bedbab9ab3de863e3c2d9246e90bd861d04/src/chains/ChainData.ts#L34)

#### Parameters

| Parameter | Type  |
| --------- | ----- |
| `data`    | `any` |

#### Returns

`T`\[`"SpvVaultWithdrawalData"`]

***

### swapContract

```
swapContract: T["Contract"];
```

Defined in: [atomiq-base/src/chains/ChainData.ts:30](https://github.com/atomiqlabs/atomiq-base/blob/df344bedbab9ab3de863e3c2d9246e90bd861d04/src/chains/ChainData.ts#L30)

***

### swapDataConstructor()

```
swapDataConstructor: (data) => T["Data"];
```

Defined in: [atomiq-base/src/chains/ChainData.ts:31](https://github.com/atomiqlabs/atomiq-base/blob/df344bedbab9ab3de863e3c2d9246e90bd861d04/src/chains/ChainData.ts#L31)

#### Parameters

| Parameter | Type  |
| --------- | ----- |
| `data`    | `any` |

#### Returns

`T`\[`"Data"`]

***

### versions?

```
optional versions: object;
```

Defined in: [atomiq-base/src/chains/ChainData.ts:37](https://github.com/atomiqlabs/atomiq-base/blob/df344bedbab9ab3de863e3c2d9246e90bd861d04/src/chains/ChainData.ts#L37)

#### Index Signature

```
[contractVersion: string]: object
```
