# StarknetSpvVaultContract

Defined in: [atomiq-chain-starknet/src/starknet/spv\_swap/StarknetSpvVaultContract.ts:54](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/spv_swap/StarknetSpvVaultContract.ts#L54)

Starknet SPV vault (UTXO-controlled vault) contract representation

## Extends

* `StarknetContractBase`<*typeof* `SpvVaultContractAbi`>

## Implements

* [`SpvVaultContract`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md)<[`StarknetTx`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-starknet/src/type-aliases/StarknetTx.md), [`StarknetSigner`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-starknet/src/classes/StarknetSigner.md), `"STARKNET"`, [`StarknetSpvWithdrawalData`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-starknet/src/classes/StarknetSpvWithdrawalData.md), [`StarknetSpvVaultData`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-starknet/src/classes/StarknetSpvVaultData.md)>

## Constructors

### Constructor

```
new StarknetSpvVaultContract(

   chainInterface, 

   btcRelay, 

   bitcoinRpc, 

   contractAddress, 

   contractDeploymentHeight?): StarknetSpvVaultContract;
```

Defined in: [atomiq-chain-starknet/src/starknet/spv\_swap/StarknetSpvVaultContract.ts:81](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/spv_swap/StarknetSpvVaultContract.ts#L81)

#### Parameters

| Parameter                   | Type                                                                                                                                   |
| --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| `chainInterface`            | [`StarknetChainInterface`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-starknet/src/classes/StarknetChainInterface.md) |
| `btcRelay`                  | [`StarknetBtcRelay`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-starknet/src/classes/StarknetBtcRelay.md)<`any`>      |
| `bitcoinRpc`                | [`BitcoinRpc`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/BitcoinRpc.md)<`any`>                          |
| `contractAddress`           | `string`                                                                                                                               |
| `contractDeploymentHeight?` | `number`                                                                                                                               |

#### Returns

`StarknetSpvVaultContract`

#### Overrides

```
StarknetContractBase<typeof SpvVaultContractAbi>.constructor
```

## Properties

### chainId

```
readonly chainId: "STARKNET" = "STARKNET";
```

Defined in: [atomiq-chain-starknet/src/starknet/spv\_swap/StarknetSpvVaultContract.ts:72](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/spv_swap/StarknetSpvVaultContract.ts#L72)

Chain identifier string

#### Implementation of

[`SpvVaultContract`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md).[`chainId`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md#chainid-1)

***

### claimTimeout

```
readonly claimTimeout: number = 180;
```

Defined in: [atomiq-chain-starknet/src/starknet/spv\_swap/StarknetSpvVaultContract.ts:74](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/spv_swap/StarknetSpvVaultContract.ts#L74)

***

### contract

```
readonly contract: TypedContractV2<T>;
```

Defined in: [atomiq-chain-starknet/src/starknet/contract/StarknetContractBase.ts:11](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/contract/StarknetContractBase.ts#L11)

#### Inherited from

```
StarknetContractBase.contract
```

***

### maxClaimsPerTx

```
readonly maxClaimsPerTx: number = 10;
```

Defined in: [atomiq-chain-starknet/src/starknet/spv\_swap/StarknetSpvVaultContract.ts:75](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/spv_swap/StarknetSpvVaultContract.ts#L75)

## Methods

### checkWithdrawalTx()

```
checkWithdrawalTx(tx): Promise<void>;
```

Defined in: [atomiq-chain-starknet/src/starknet/spv\_swap/StarknetSpvVaultContract.ts:190](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/spv_swap/StarknetSpvVaultContract.ts#L190)

Checks if given withdrawal tx is valid and correctly parses on-chain, throws error when there is any issue with the validation

#### Parameters

| Parameter | Type                                                                                                                                    | Description |
| --------- | --------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| `tx`      | [`SpvWithdrawalTransactionData`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/SpvWithdrawalTransactionData.md) |             |

#### Returns

`Promise`<`void`>

#### Implementation of

[`SpvVaultContract`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md).[`checkWithdrawalTx`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md#checkwithdrawaltx)

***

### claim()

```
claim(

   signer, 

   vault, 

   txs, 

   synchronizer?, 

   initAta?, 

txOptions?): Promise<string>;
```

Defined in: [atomiq-chain-starknet/src/starknet/spv\_swap/StarknetSpvVaultContract.ts:611](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/spv_swap/StarknetSpvVaultContract.ts#L611)

Signs & sends transactions for claiming the funds from a specific vault

#### Parameters

| Parameter       | Type                                                                                                                               | Description                                                                                                  |
| --------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| `signer`        | [`StarknetSigner`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-starknet/src/classes/StarknetSigner.md)             | Signer to use for the transaction                                                                            |
| `vault`         | [`StarknetSpvVaultData`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-starknet/src/classes/StarknetSpvVaultData.md) | Vault to claim from                                                                                          |
| `txs`           | `object`\[]                                                                                                                        |                                                                                                              |
| `synchronizer?` | `RelaySynchronizer`<`any`, `any`, `any`>                                                                                           | Optiona synchronizer to be used if BTC relay contract is not synced up to the required blockheight           |
| `initAta?`      | `boolean`                                                                                                                          | Whether to initialize a token account if it doesn't exist (applies to e.g. Solana, with token specific ATAs) |
| `txOptions?`    | `TransactionConfirmationOptions`                                                                                                   | Transaction options                                                                                          |

#### Returns

`Promise`<`string`>

#### Implementation of

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

***

### Claim()

```
Claim(

   signer, 

   vault, 

   data, 

   blockheader, 

   merkle, 

   position): StarknetAction;
```

Defined in: [atomiq-chain-starknet/src/starknet/spv\_swap/StarknetSpvVaultContract.ts:165](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/spv_swap/StarknetSpvVaultContract.ts#L165)

Returns a StarknetAction that submits the withdrawal data and executes the vault withdrawal

#### Parameters

| Parameter     | Type                                                                                                                                         | Description                                                                               |
| ------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| `signer`      | `string`                                                                                                                                     | A starknet signer's address                                                               |
| `vault`       | [`StarknetSpvVaultData`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-starknet/src/classes/StarknetSpvVaultData.md)           | Vault data and configuration                                                              |
| `data`        | [`StarknetSpvWithdrawalData`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-starknet/src/classes/StarknetSpvWithdrawalData.md) | Vault withdrawal transaction data to execute and claim assets based on it                 |
| `blockheader` | [`StarknetBtcStoredHeader`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-starknet/src/classes/StarknetBtcStoredHeader.md)     | A stored and committed bitcoin blockheader where the bitcoin transaction got confirmed    |
| `merkle`      | `Buffer`<`ArrayBufferLike`>\[]                                                                                                               | Merkle proof for the bitcoin transaction                                                  |
| `position`    | `number`                                                                                                                                     | Position of the bitcoin transaction in the block - used for the merkle proof verification |

#### Returns

`StarknetAction`

***

### createVaultData()

```
createVaultData(

   owner, 

   vaultId, 

   utxo, 

   confirmations, 

tokenData): Promise<StarknetSpvVaultData>;
```

Defined in: [atomiq-chain-starknet/src/starknet/spv\_swap/StarknetSpvVaultContract.ts:202](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/spv_swap/StarknetSpvVaultContract.ts#L202)

Creates vault data for a new vault

#### Parameters

| Parameter       | Type                   | Description                                                                          |
| --------------- | ---------------------- | ------------------------------------------------------------------------------------ |
| `owner`         | `string`               | Vault owner                                                                          |
| `vaultId`       | `bigint`               | Vault ID                                                                             |
| `utxo`          | `string`               | Utxo on which to assign the vault initially                                          |
| `confirmations` | `number`               | Required number of bitcoin confirmations to be able to withdraw funds from the vault |
| `tokenData`     | `SpvVaultTokenData`\[] | Data about the tokens in the vault                                                   |

#### Returns

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

#### Implementation of

[`SpvVaultContract`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md).[`createVaultData`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md#createvaultdata)

***

### deposit()

```
deposit(

   signer, 

   vault, 

   rawAmounts, 

txOptions?): Promise<string>;
```

Defined in: [atomiq-chain-starknet/src/starknet/spv\_swap/StarknetSpvVaultContract.ts:620](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/spv_swap/StarknetSpvVaultContract.ts#L620)

Signs & sends transactions for depositing funds to a specific spv vault

#### Parameters

| Parameter    | Type                                                                                                                               | Description                                    |
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------- |
| `signer`     | [`StarknetSigner`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-starknet/src/classes/StarknetSigner.md)             | Signer to use for the transaction (can be any) |
| `vault`      | [`StarknetSpvVaultData`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-starknet/src/classes/StarknetSpvVaultData.md) | Vault to deposit to                            |
| `rawAmounts` | `bigint`\[]                                                                                                                        | Raw amounts to deposit (these are unscaled)    |
| `txOptions?` | `TransactionConfirmationOptions`                                                                                                   | Transaction options                            |

#### Returns

`Promise`<`string`>

#### Implementation of

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

***

### Deposit()

```
Deposit(

   signer, 

   vault, 

   rawAmounts): StarknetAction;
```

Defined in: [atomiq-chain-starknet/src/starknet/spv\_swap/StarknetSpvVaultContract.ts:129](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/spv_swap/StarknetSpvVaultContract.ts#L129)

Returns a StarknetAction that deposits assets to the spv vault, amounts have to be already scaled! This also doesn't add the approval call!

#### Parameters

| Parameter    | Type                                                                                                                               | Description                                                                                    |
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| `signer`     | `string`                                                                                                                           | A starknet signer's address                                                                    |
| `vault`      | [`StarknetSpvVaultData`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-starknet/src/classes/StarknetSpvVaultData.md) | Vault data and configuration                                                                   |
| `rawAmounts` | `bigint`\[]                                                                                                                        | An array of amounts to deposit, since the vault supports 2 tokens, up to 2 amounts are allowed |

#### Returns

`StarknetAction`

***

### fromOpReturnData()

```
static fromOpReturnData(data): object;
```

Defined in: [atomiq-chain-starknet/src/starknet/spv\_swap/StarknetSpvVaultContract.ts:536](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/spv_swap/StarknetSpvVaultContract.ts#L536)

Parses withdrawal params from OP\_RETURN data

#### Parameters

| Parameter | Type     | Description                                                   |
| --------- | -------- | ------------------------------------------------------------- |
| `data`    | `Buffer` | data as specified in the OP\_RETURN output of the transaction |

#### Returns

`object`

| Name             | Type        | Defined in                                                                                                                                                                                                                               |
| ---------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `executionHash?` | `string`    | [atomiq-chain-starknet/src/starknet/spv\_swap/StarknetSpvVaultContract.ts:536](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/spv_swap/StarknetSpvVaultContract.ts#L536) |
| `rawAmounts`     | `bigint`\[] | [atomiq-chain-starknet/src/starknet/spv\_swap/StarknetSpvVaultContract.ts:536](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/spv_swap/StarknetSpvVaultContract.ts#L536) |
| `recipient`      | `string`    | [atomiq-chain-starknet/src/starknet/spv\_swap/StarknetSpvVaultContract.ts:536](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/spv_swap/StarknetSpvVaultContract.ts#L536) |

***

### fromOpReturnData()

```
fromOpReturnData(data): object;
```

Defined in: [atomiq-chain-starknet/src/starknet/spv\_swap/StarknetSpvVaultContract.ts:527](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/spv_swap/StarknetSpvVaultContract.ts#L527)

Parses withdrawal params from OP\_RETURN data

#### Parameters

| Parameter | Type     | Description                                                   |
| --------- | -------- | ------------------------------------------------------------- |
| `data`    | `Buffer` | data as specified in the OP\_RETURN output of the transaction |

#### Returns

`object`

| Name             | Type        | Defined in                                                                                                                                                                                                                               |
| ---------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `executionHash?` | `string`    | [atomiq-chain-starknet/src/starknet/spv\_swap/StarknetSpvVaultContract.ts:527](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/spv_swap/StarknetSpvVaultContract.ts#L527) |
| `rawAmounts`     | `bigint`\[] | [atomiq-chain-starknet/src/starknet/spv\_swap/StarknetSpvVaultContract.ts:527](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/spv_swap/StarknetSpvVaultContract.ts#L527) |
| `recipient`      | `string`    | [atomiq-chain-starknet/src/starknet/spv\_swap/StarknetSpvVaultContract.ts:527](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/spv_swap/StarknetSpvVaultContract.ts#L527) |

#### Implementation of

[`SpvVaultContract`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md).[`fromOpReturnData`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md#fromopreturndata)

***

### Front()

```
Front(

   signer, 

   vault, 

   data, 

   withdrawalSequence): StarknetAction;
```

Defined in: [atomiq-chain-starknet/src/starknet/spv\_swap/StarknetSpvVaultContract.ts:145](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/spv_swap/StarknetSpvVaultContract.ts#L145)

Returns a StarknetAction that fronts the vault withdrawal. This doesn't add the approval call!

#### Parameters

| Parameter            | Type                                                                                                                                         | Description                                                                                                         |
| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| `signer`             | `string`                                                                                                                                     | A starknet signer's address                                                                                         |
| `vault`              | [`StarknetSpvVaultData`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-starknet/src/classes/StarknetSpvVaultData.md)           | Vault data and configuration                                                                                        |
| `data`               | [`StarknetSpvWithdrawalData`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-starknet/src/classes/StarknetSpvWithdrawalData.md) | Vault withdrawal transaction data to front                                                                          |
| `withdrawalSequence` | `number`                                                                                                                                     | Which withdrawal in sequence is this, used to prevent race conditions when 2 parties were to front at the same time |

#### Returns

`StarknetAction`

***

### frontLiquidity()

```
frontLiquidity(

   signer, 

   vault, 

   realWithdrawalTx, 

   withdrawSequence, 

txOptions?): Promise<string>;
```

Defined in: [atomiq-chain-starknet/src/starknet/spv\_swap/StarknetSpvVaultContract.ts:629](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/spv_swap/StarknetSpvVaultContract.ts#L629)

Signs & sends transactions for fronting liquidity for a specific withdrawal btc transaction

#### Parameters

| Parameter          | Type                                                                                                                                         | Description                                                                                                                                                                         |
| ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `signer`           | [`StarknetSigner`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-starknet/src/classes/StarknetSigner.md)                       | Signer to use for the transaction (payer of the fronted liquidity)                                                                                                                  |
| `vault`            | [`StarknetSpvVaultData`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-starknet/src/classes/StarknetSpvVaultData.md)           | Vault to deposit to                                                                                                                                                                 |
| `realWithdrawalTx` | [`StarknetSpvWithdrawalData`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-starknet/src/classes/StarknetSpvWithdrawalData.md) | Real withdrawal transaction data                                                                                                                                                    |
| `withdrawSequence` | `number`                                                                                                                                     | Sequence number of the withdrawal that is being fronted, this used as race condition prevention, such that fronting will not happen if the withdrawal tx is already used in claim() |
| `txOptions?`       | `TransactionConfirmationOptions`                                                                                                             | Transaction options                                                                                                                                                                 |

#### Returns

`Promise`<`string`>

#### Implementation of

[`SpvVaultContract`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md).[`frontLiquidity`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md#frontliquidity)

***

### getAllVaults()

```
getAllVaults(owner?): Promise<StarknetSpvVaultData[]>;
```

Defined in: [atomiq-chain-starknet/src/starknet/spv\_swap/StarknetSpvVaultContract.ts:291](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/spv_swap/StarknetSpvVaultContract.ts#L291)

Returns all currently opened vaults NOTE: This will take a long time, since the implementation will have to go through all the prior events

#### Parameters

| Parameter | Type     |
| --------- | -------- |
| `owner?`  | `string` |

#### Returns

`Promise`<[`StarknetSpvVaultData`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-starknet/src/classes/StarknetSpvVaultData.md)\[]>

#### Implementation of

[`SpvVaultContract`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md).[`getAllVaults`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md#getallvaults)

***

### getClaimFee()

```
getClaimFee(

   signer, 

   vault, 

   withdrawalData, 

feeRate?): Promise<bigint>;
```

Defined in: [atomiq-chain-starknet/src/starknet/spv\_swap/StarknetSpvVaultContract.ts:794](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/spv_swap/StarknetSpvVaultContract.ts#L794)

Returns the fee in native token base units to claim the swap

#### Parameters

| Parameter        | Type                                                                                                                                         | Description                                           |
| ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- |
| `signer`         | `string`                                                                                                                                     | Signer claiming the swap                              |
| `vault`          | [`StarknetSpvVaultData`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-starknet/src/classes/StarknetSpvVaultData.md)           |                                                       |
| `withdrawalData` | [`StarknetSpvWithdrawalData`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-starknet/src/classes/StarknetSpvWithdrawalData.md) | Withdrawal to claim                                   |
| `feeRate?`       | `string`                                                                                                                                     | Optional fee rate (fetched on-demand if not provided) |

#### Returns

`Promise`<`bigint`>

#### Implementation of

[`SpvVaultContract`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md).[`getClaimFee`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md#getclaimfee)

***

### getFronterAddress()

```
getFronterAddress(

   owner, 

   vaultId, 

withdrawal): Promise<string>;
```

Defined in: [atomiq-chain-starknet/src/starknet/spv\_swap/StarknetSpvVaultContract.ts:328](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/spv_swap/StarknetSpvVaultContract.ts#L328)

Returns the party which currently fronted the withdrawal transaction

#### Parameters

| Parameter    | Type                                                                                                                                         | Description                                      |
| ------------ | -------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------ |
| `owner`      | `string`                                                                                                                                     | Owner of the vault                               |
| `vaultId`    | `bigint`                                                                                                                                     | Vault ID                                         |
| `withdrawal` | [`StarknetSpvWithdrawalData`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-starknet/src/classes/StarknetSpvWithdrawalData.md) | Withdrawal transaction to check the fronting for |

#### Returns

`Promise`<`string`>

#### Implementation of

[`SpvVaultContract`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md).[`getFronterAddress`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md#getfronteraddress)

***

### getFronterAddresses()

```
getFronterAddresses(withdrawals): Promise<{

[btcTxId: string]: string;

}>;
```

Defined in: [atomiq-chain-starknet/src/starknet/spv\_swap/StarknetSpvVaultContract.ts:337](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/spv_swap/StarknetSpvVaultContract.ts#L337)

Returns the parties which currently fronted the withdrawal transactions

#### Parameters

| Parameter     | Type        | Description          |
| ------------- | ----------- | -------------------- |
| `withdrawals` | `object`\[] | withdrawals to query |

#### Returns

`Promise`<{ \[`btcTxId`: `string`]: `string`; }>

#### Implementation of

[`SpvVaultContract`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md).[`getFronterAddresses`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md#getfronteraddresses)

***

### getFrontFee()

```
getFrontFee(

   signer, 

   vault, 

   withdrawalData, 

feeRate?): Promise<bigint>;
```

Defined in: [atomiq-chain-starknet/src/starknet/spv\_swap/StarknetSpvVaultContract.ts:805](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/spv_swap/StarknetSpvVaultContract.ts#L805)

Returns the fee in native token base units to claim the swap

#### Parameters

| Parameter        | Type                                                                                                                                         | Description                                           |
| ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- |
| `signer`         | `string`                                                                                                                                     | Signer claiming the swap                              |
| `vault`          | [`StarknetSpvVaultData`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-starknet/src/classes/StarknetSpvVaultData.md)           |                                                       |
| `withdrawalData` | [`StarknetSpvWithdrawalData`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-starknet/src/classes/StarknetSpvWithdrawalData.md) | Withdrawal to claim                                   |
| `feeRate?`       | `string`                                                                                                                                     | Optional fee rate (fetched on-demand if not provided) |

#### Returns

`Promise`<`bigint`>

#### Implementation of

[`SpvVaultContract`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md).[`getFrontFee`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md#getfrontfee)

***

### getHistoricalWithdrawalStates()

```
getHistoricalWithdrawalStates(recipient, startBlockheight?): Promise<{

  latestBlockheight?: number;

  withdrawals: {

   [btcTxId: string]: SpvWithdrawalFrontedState | SpvWithdrawalClaimedState;

  };

}>;
```

Defined in: [atomiq-chain-starknet/src/starknet/spv\_swap/StarknetSpvVaultContract.ts:489](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/spv_swap/StarknetSpvVaultContract.ts#L489)

Returns the full history as fetched from the chain for a specific recipient

#### Parameters

| Parameter           | Type     | Description                          |
| ------------------- | -------- | ------------------------------------ |
| `recipient`         | `string` | A recipient to check the history for |
| `startBlockheight?` | `number` |                                      |

#### Returns

`Promise`<{ `latestBlockheight?`: `number`; `withdrawals`: { \[`btcTxId`: `string`]: `SpvWithdrawalFrontedState` | `SpvWithdrawalClaimedState`; }; }>

#### Implementation of

[`SpvVaultContract`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md).[`getHistoricalWithdrawalStates`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md#gethistoricalwithdrawalstates)

***

### getMultipleVaultData()

```
getMultipleVaultData(vaults): Promise<{

[owner: string]: object;

}>;
```

Defined in: [atomiq-chain-starknet/src/starknet/spv\_swap/StarknetSpvVaultContract.ts:239](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/spv_swap/StarknetSpvVaultContract.ts#L239)

Returns current vault data for multiple vaults

#### Parameters

| Parameter | Type        | Description         |
| --------- | ----------- | ------------------- |
| `vaults`  | `object`\[] | Vault data to query |

#### Returns

`Promise`<{ \[`owner`: `string`]: `object`; }>

#### Implementation of

[`SpvVaultContract`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md).[`getMultipleVaultData`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md#getmultiplevaultdata)

***

### getVaultData()

```
getVaultData(owner, vaultId): Promise<StarknetSpvVaultData>;
```

Defined in: [atomiq-chain-starknet/src/starknet/spv\_swap/StarknetSpvVaultContract.ts:228](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/spv_swap/StarknetSpvVaultContract.ts#L228)

Returns current vault data

#### Parameters

| Parameter | Type     | Description        |
| --------- | -------- | ------------------ |
| `owner`   | `string` | Owner of the vault |
| `vaultId` | `bigint` | Vault ID           |

#### Returns

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

#### Implementation of

[`SpvVaultContract`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md).[`getVaultData`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md#getvaultdata)

***

### getVaultLatestUtxo()

```
getVaultLatestUtxo(owner, vaultId): Promise<string>;
```

Defined in: [atomiq-chain-starknet/src/starknet/spv\_swap/StarknetSpvVaultContract.ts:260](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/spv_swap/StarknetSpvVaultContract.ts#L260)

Returns the latest utxo of a vault (or null if vault closed or not found)

#### Parameters

| Parameter | Type     | Description        |
| --------- | -------- | ------------------ |
| `owner`   | `string` | Owner of the vault |
| `vaultId` | `bigint` | Vault ID           |

#### Returns

`Promise`<`string`>

#### Implementation of

[`SpvVaultContract`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md).[`getVaultLatestUtxo`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md#getvaultlatestutxo)

***

### getVaultLatestUtxos()

```
getVaultLatestUtxos(vaults): Promise<{

[owner: string]: object;

}>;
```

Defined in: [atomiq-chain-starknet/src/starknet/spv\_swap/StarknetSpvVaultContract.ts:270](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/spv_swap/StarknetSpvVaultContract.ts#L270)

Returns the latest utxos of for multiple vaults (or null if vault closed or not found)

#### Parameters

| Parameter | Type        | Description         |
| --------- | ----------- | ------------------- |
| `vaults`  | `object`\[] | Vault data to query |

#### Returns

`Promise`<{ \[`owner`: `string`]: `object`; }>

#### Implementation of

[`SpvVaultContract`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md).[`getVaultLatestUtxos`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md#getvaultlatestutxos)

***

### getWithdrawalData()

```
getWithdrawalData(btcTx): Promise<StarknetSpvWithdrawalData>;
```

Defined in: [atomiq-chain-starknet/src/starknet/spv\_swap/StarknetSpvVaultContract.ts:519](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/spv_swap/StarknetSpvVaultContract.ts#L519)

Parses withdrawal data from the parsed bitcoin transaction

#### Parameters

| Parameter | Type    | Description |
| --------- | ------- | ----------- |
| `btcTx`   | `BtcTx` |             |

#### Returns

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

#### Implementation of

[`SpvVaultContract`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md).[`getWithdrawalData`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md#getwithdrawaldata)

***

### getWithdrawalState()

```
getWithdrawalState(withdrawalTx, scStartBlockheight?): Promise<SpvWithdrawalState>;
```

Defined in: [atomiq-chain-starknet/src/starknet/spv\_swap/StarknetSpvVaultContract.ts:468](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/spv_swap/StarknetSpvVaultContract.ts#L468)

Returns current state of the withdrawal, optionally only check withdrawals from the provided block height

#### Parameters

| Parameter             | Type                                                                                                                                         | Description |
| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| `withdrawalTx`        | [`StarknetSpvWithdrawalData`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-starknet/src/classes/StarknetSpvWithdrawalData.md) |             |
| `scStartBlockheight?` | `number`                                                                                                                                     |             |

#### Returns

`Promise`<`SpvWithdrawalState`>

#### Implementation of

[`SpvVaultContract`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md).[`getWithdrawalState`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md#getwithdrawalstate)

***

### getWithdrawalStates()

```
getWithdrawalStates(withdrawalTxs): Promise<{

[btcTxId: string]: SpvWithdrawalState;

}>;
```

Defined in: [atomiq-chain-starknet/src/starknet/spv\_swap/StarknetSpvVaultContract.ts:417](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/spv_swap/StarknetSpvVaultContract.ts#L417)

Returns current state of the withdrawals, optionally only check withdrawals from the provided block height

#### Parameters

| Parameter       | Type        | Description                                                            |
| --------------- | ----------- | ---------------------------------------------------------------------- |
| `withdrawalTxs` | `object`\[] | Object with the withdrawal tx to check + an optional start blockheight |

#### Returns

`Promise`<{ \[`btcTxId`: `string`]: `SpvWithdrawalState`; }>

#### Implementation of

[`SpvVaultContract`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md).[`getWithdrawalStates`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md#getwithdrawalstates)

***

### open()

```
open(

   signer, 

   vault, 

txOptions?): Promise<string>;
```

Defined in: [atomiq-chain-starknet/src/starknet/spv\_swap/StarknetSpvVaultContract.ts:638](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/spv_swap/StarknetSpvVaultContract.ts#L638)

Signs & sends transactions for opening a specific spv vault

#### Parameters

| Parameter    | Type                                                                                                                               | Description                                                   |
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------- |
| `signer`     | [`StarknetSigner`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-starknet/src/classes/StarknetSigner.md)             | Signer to use for the transaction (must match owner in vault) |
| `vault`      | [`StarknetSpvVaultData`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-starknet/src/classes/StarknetSpvVaultData.md) | Vault to init                                                 |
| `txOptions?` | `TransactionConfirmationOptions`                                                                                                   | Transaction options                                           |

#### Returns

`Promise`<`string`>

#### Implementation of

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

***

### Open()

```
Open(signer, vault): StarknetAction;
```

Defined in: [atomiq-chain-starknet/src/starknet/spv\_swap/StarknetSpvVaultContract.ts:105](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/spv_swap/StarknetSpvVaultContract.ts#L105)

Returns a StarknetAction that opens up the spv vault with the passed data

#### Parameters

| Parameter | Type                                                                                                                               | Description                  |
| --------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- |
| `signer`  | `string`                                                                                                                           | A starknet signer's address  |
| `vault`   | [`StarknetSpvVaultData`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-starknet/src/classes/StarknetSpvVaultData.md) | Vault data and configuration |

#### Returns

`StarknetAction`

***

### toOpReturnData()

```
static toOpReturnData(

   recipient, 

   rawAmounts, 

   executionHash?): Buffer;
```

Defined in: [atomiq-chain-starknet/src/starknet/spv\_swap/StarknetSpvVaultContract.ts:581](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/spv_swap/StarknetSpvVaultContract.ts#L581)

Serializes the withdrawal params to the OP\_RETURN data

#### Parameters

| Parameter        | Type        | Description                                       |
| ---------------- | ----------- | ------------------------------------------------- |
| `recipient`      | `string`    | Recipient of the withdrawn tokens                 |
| `rawAmounts`     | `bigint`\[] | Raw amount of tokens to withdraw                  |
| `executionHash?` | `string`    | Optional execution hash of the actions to execute |

#### Returns

`Buffer`

***

### toOpReturnData()

```
toOpReturnData(

   recipient, 

   rawAmounts, 

   executionHash?): Buffer;
```

Defined in: [atomiq-chain-starknet/src/starknet/spv\_swap/StarknetSpvVaultContract.ts:570](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/spv_swap/StarknetSpvVaultContract.ts#L570)

Serializes the withdrawal params to the OP\_RETURN data

#### Parameters

| Parameter        | Type        | Description                                       |
| ---------------- | ----------- | ------------------------------------------------- |
| `recipient`      | `string`    | Recipient of the withdrawn tokens                 |
| `rawAmounts`     | `bigint`\[] | Raw amount of tokens to withdraw                  |
| `executionHash?` | `string`    | Optional execution hash of the actions to execute |

#### Returns

`Buffer`

#### Implementation of

[`SpvVaultContract`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md).[`toOpReturnData`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md#toopreturndata)

***

### txsClaim()

```
txsClaim(

   signer, 

   vault, 

   txs, 

   synchronizer?, 

   initAta?, 

feeRate?): Promise<StarknetTx[]>;
```

Defined in: [atomiq-chain-starknet/src/starknet/spv\_swap/StarknetSpvVaultContract.ts:648](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/spv_swap/StarknetSpvVaultContract.ts#L648)

Returns the unsigned transactions for claiming the funds from a specific vault

#### Parameters

| Parameter       | Type                                                                                                                               | Description                                                                                                  |
| --------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| `signer`        | `string`                                                                                                                           | Signer to use for the transaction                                                                            |
| `vault`         | [`StarknetSpvVaultData`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-starknet/src/classes/StarknetSpvVaultData.md) | Vault to claim from                                                                                          |
| `txs`           | `object`\[]                                                                                                                        |                                                                                                              |
| `synchronizer?` | `RelaySynchronizer`<`any`, `any`, `any`>                                                                                           | Optiona synchronizer to be used if BTC relay contract is not synced up to the required blockheight           |
| `initAta?`      | `boolean`                                                                                                                          | Whether to initialize a token account if it doesn't exist (applies to e.g. Solana, with token specific ATAs) |
| `feeRate?`      | `string`                                                                                                                           | Fee rate to use for the transaction                                                                          |

#### Returns

`Promise`<[`StarknetTx`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-starknet/src/type-aliases/StarknetTx.md)\[]>

#### Implementation of

[`SpvVaultContract`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md).[`txsClaim`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md#txsclaim)

***

### txsDeposit()

```
txsDeposit(

   signer, 

   vault, 

   rawAmounts, 

feeRate?): Promise<StarknetTx[]>;
```

Defined in: [atomiq-chain-starknet/src/starknet/spv\_swap/StarknetSpvVaultContract.ts:718](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/spv_swap/StarknetSpvVaultContract.ts#L718)

Returns the unsigned transactions for depositing funds to a specific spv vault

#### Parameters

| Parameter    | Type                                                                                                                               | Description                                    |
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------- |
| `signer`     | `string`                                                                                                                           | Signer to use for the transaction (can be any) |
| `vault`      | [`StarknetSpvVaultData`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-starknet/src/classes/StarknetSpvVaultData.md) | Vault to deposit to                            |
| `rawAmounts` | `bigint`\[]                                                                                                                        | Raw amounts to deposit (these are unscaled)    |
| `feeRate?`   | `string`                                                                                                                           | Fee rate to use for the transaction            |

#### Returns

`Promise`<[`StarknetTx`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-starknet/src/type-aliases/StarknetTx.md)\[]>

#### Implementation of

[`SpvVaultContract`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md).[`txsDeposit`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md#txsdeposit)

***

### txsFrontLiquidity()

```
txsFrontLiquidity(

   signer, 

   vault, 

   realWithdrawalTx, 

   withdrawSequence, 

feeRate?): Promise<StarknetTx[]>;
```

Defined in: [atomiq-chain-starknet/src/starknet/spv\_swap/StarknetSpvVaultContract.ts:747](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/spv_swap/StarknetSpvVaultContract.ts#L747)

Returns the unsigned transactions for fronting liquidity for a specific withdrawal btc transaction

#### Parameters

| Parameter          | Type                                                                                                                                         | Description                                                                                                                                                                         |
| ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `signer`           | `string`                                                                                                                                     | Signer to use for the transaction (payer of the fronted liquidity)                                                                                                                  |
| `vault`            | [`StarknetSpvVaultData`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-starknet/src/classes/StarknetSpvVaultData.md)           | Vault to deposit to                                                                                                                                                                 |
| `realWithdrawalTx` | [`StarknetSpvWithdrawalData`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-starknet/src/classes/StarknetSpvWithdrawalData.md) | Real withdrawal transaction data                                                                                                                                                    |
| `withdrawSequence` | `number`                                                                                                                                     | Sequence number of the withdrawal that is being fronted, this used as race condition prevention, such that fronting will not happen if the withdrawal tx is already used in claim() |
| `feeRate?`         | `string`                                                                                                                                     | Fee rate to use for the transaction                                                                                                                                                 |

#### Returns

`Promise`<[`StarknetTx`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-starknet/src/type-aliases/StarknetTx.md)\[]>

#### Implementation of

[`SpvVaultContract`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md).[`txsFrontLiquidity`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md#txsfrontliquidity)

***

### txsOpen()

```
txsOpen(

   signer, 

   vault, 

feeRate?): Promise<StarknetTx[]>;
```

Defined in: [atomiq-chain-starknet/src/starknet/spv\_swap/StarknetSpvVaultContract.ts:778](https://github.com/atomiqlabs/atomiq-chain-starknet/blob/697277c430597a8514a43540ef8b9a10e2b6a595/src/starknet/spv_swap/StarknetSpvVaultContract.ts#L778)

Returns the unsigned transactions for opening a specific spv vault

#### Parameters

| Parameter  | Type                                                                                                                               | Description                                                   |
| ---------- | ---------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------- |
| `signer`   | `string`                                                                                                                           | Signer to use for the transaction (must match owner in vault) |
| `vault`    | [`StarknetSpvVaultData`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-starknet/src/classes/StarknetSpvVaultData.md) | Vault to init                                                 |
| `feeRate?` | `string`                                                                                                                           | Fee rate to use for the transaction                           |

#### Returns

`Promise`<[`StarknetTx`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-starknet/src/type-aliases/StarknetTx.md)\[]>

#### Implementation of

[`SpvVaultContract`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md).[`txsOpen`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/SpvVaultContract.md#txsopen)
