# StarknetBtcStoredHeader

Defined in: [atomiq-chain-starknet/src/starknet/btcrelay/headers/StarknetBtcStoredHeader.ts:22](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/btcrelay/headers/StarknetBtcStoredHeader.ts#L22)

Representing a bitcoin blockheader struct which has already been saved and committed inside the Starknet BTC relay smart contract

## Implements

* [`BtcStoredHeader`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/BtcStoredHeader.md)<[`StarknetBtcHeader`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-starknet/src/classes/StarknetBtcHeader.md)>

## Methods

### computeNext()

```
computeNext(header): StarknetBtcStoredHeader;
```

Defined in: [atomiq-chain-starknet/src/starknet/btcrelay/headers/StarknetBtcStoredHeader.ts:136](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/btcrelay/headers/StarknetBtcStoredHeader.ts#L136)

Computes and returns a new stored blockheader after adding a new blockheader on top of it

#### Parameters

| Parameter | Type                                                                                                                         | Description                                |
| --------- | ---------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ |
| `header`  | [`StarknetBtcHeader`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-starknet/src/classes/StarknetBtcHeader.md) | The new blockheader to append to the chain |

#### Returns

`StarknetBtcStoredHeader`

#### Implementation of

[`BtcStoredHeader`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/BtcStoredHeader.md).[`computeNext`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/BtcStoredHeader.md#computenext)

***

### fromSerializedFeltArray()

```
static fromSerializedFeltArray(span): StarknetBtcStoredHeader;
```

Defined in: [atomiq-chain-starknet/src/starknet/btcrelay/headers/StarknetBtcStoredHeader.ts:167](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/btcrelay/headers/StarknetBtcStoredHeader.ts#L167)

Deserializes the store bitcoin blockheader from its felt252 array representation

#### Parameters

| Parameter | Type              | Description                                                                     |
| --------- | ----------------- | ------------------------------------------------------------------------------- |
| `span`    | `BigNumberish`\[] | felt252 array encoding the stored blockheader, has to be at least 42 felts long |

#### Returns

`StarknetBtcStoredHeader`

***

### getBlockHash()

```
getBlockHash(): Buffer;
```

Defined in: [atomiq-chain-starknet/src/starknet/btcrelay/headers/StarknetBtcStoredHeader.ts:85](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/btcrelay/headers/StarknetBtcStoredHeader.ts#L85)

#### Returns

`Buffer`

#### Inherit Doc

***

### getBlockheight()

```
getBlockheight(): number;
```

Defined in: [atomiq-chain-starknet/src/starknet/btcrelay/headers/StarknetBtcStoredHeader.ts:50](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/btcrelay/headers/StarknetBtcStoredHeader.ts#L50)

Blockheight of the current block

#### Returns

`number`

#### Implementation of

[`BtcStoredHeader`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/BtcStoredHeader.md).[`getBlockheight`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/BtcStoredHeader.md#getblockheight)

***

### getChainWork()

```
getChainWork(): Buffer;
```

Defined in: [atomiq-chain-starknet/src/starknet/btcrelay/headers/StarknetBtcStoredHeader.ts:57](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/btcrelay/headers/StarknetBtcStoredHeader.ts#L57)

Total accumulated chainwork at this block

#### Returns

`Buffer`

#### Implementation of

[`BtcStoredHeader`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/BtcStoredHeader.md).[`getChainWork`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/BtcStoredHeader.md#getchainwork)

***

### getHeader()

```
getHeader(): StarknetBtcHeader;
```

Defined in: [atomiq-chain-starknet/src/starknet/btcrelay/headers/StarknetBtcStoredHeader.ts:64](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/btcrelay/headers/StarknetBtcStoredHeader.ts#L64)

The actual blockheader that was saved

#### Returns

[`StarknetBtcHeader`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-starknet/src/classes/StarknetBtcHeader.md)

#### Implementation of

[`BtcStoredHeader`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/BtcStoredHeader.md).[`getHeader`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/BtcStoredHeader.md#getheader)

***

### getLastDiffAdjustment()

```
getLastDiffAdjustment(): number;
```

Defined in: [atomiq-chain-starknet/src/starknet/btcrelay/headers/StarknetBtcStoredHeader.ts:71](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/btcrelay/headers/StarknetBtcStoredHeader.ts#L71)

UNIX seconds timestamp of the last difficulty adjustment

#### Returns

`number`

#### Implementation of

[`BtcStoredHeader`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/BtcStoredHeader.md).[`getLastDiffAdjustment`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/BtcStoredHeader.md#getlastdiffadjustment)

***

### getPrevBlockTimestamps()

```
getPrevBlockTimestamps(): number[];
```

Defined in: [atomiq-chain-starknet/src/starknet/btcrelay/headers/StarknetBtcStoredHeader.ts:78](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/btcrelay/headers/StarknetBtcStoredHeader.ts#L78)

UNIX seconds timestamps of the last 11 blocks, used for checking the median block time rule

#### Returns

`number`\[]

#### Implementation of

[`BtcStoredHeader`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/BtcStoredHeader.md).[`getPrevBlockTimestamps`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/BtcStoredHeader.md#getprevblocktimestamps)

***

### serialize()

```
serialize(): BigNumberish[];
```

Defined in: [atomiq-chain-starknet/src/starknet/btcrelay/headers/StarknetBtcStoredHeader.ts:150](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/btcrelay/headers/StarknetBtcStoredHeader.ts#L150)

Serializes the bitcoin stored blockheader struct to an array of felt252 of length 42

#### Returns

`BigNumberish`\[]
