# OnchainForGasSwap\<T>

Defined in: [atomiq-sdk/src/swaps/trusted/onchain/OnchainForGasSwap.ts:103](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/trusted/onchain/OnchainForGasSwap.ts#L103)

Trusted swap for Bitcoin -> Smart chains, to be used for minor amounts to get gas tokens on the destination chain, which is only needed for Solana, which still uses legacy swaps

## Extends

* [`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md)<`T`, `OnchainForGasSwapTypeDefinition`<`T`>, [`OnchainForGasSwapState`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/enumerations/OnchainForGasSwapState.md)>

## Type Parameters

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

## Implements

* [`IAddressSwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/IAddressSwap.md)
* [`IBTCWalletSwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/IBTCWalletSwap.md)

## Constructors

### Constructor

```
new OnchainForGasSwap<T>(wrapper, init): OnchainForGasSwap<T>;
```

Defined in: [atomiq-sdk/src/swaps/trusted/onchain/OnchainForGasSwap.ts:154](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/trusted/onchain/OnchainForGasSwap.ts#L154)

#### Parameters

| Parameter | Type                                                                                                                         |
| --------- | ---------------------------------------------------------------------------------------------------------------------------- |
| `wrapper` | [`OnchainForGasWrapper`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/OnchainForGasWrapper.md)<`T`> |
| `init`    | `OnchainForGasSwapInit`                                                                                                      |

#### Returns

`OnchainForGasSwap`<`T`>

#### Overrides

[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md).[`constructor`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md#constructor)

### Constructor

```
new OnchainForGasSwap<T>(wrapper, obj): OnchainForGasSwap<T>;
```

Defined in: [atomiq-sdk/src/swaps/trusted/onchain/OnchainForGasSwap.ts:155](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/trusted/onchain/OnchainForGasSwap.ts#L155)

#### Parameters

| Parameter | Type                                                                                                                         |
| --------- | ---------------------------------------------------------------------------------------------------------------------------- |
| `wrapper` | [`OnchainForGasWrapper`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/OnchainForGasWrapper.md)<`T`> |
| `obj`     | `any`                                                                                                                        |

#### Returns

`OnchainForGasSwap`<`T`>

#### Overrides

[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md).[`constructor`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md#constructor)

## Properties

### chainIdentifier

```
readonly chainIdentifier: T["ChainId"];
```

Defined in: [atomiq-sdk/src/swaps/ISwap.ts:168](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/ISwap.ts#L168)

Smart chain identifier string corresponding to this swap

#### Inherited from

[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md).[`chainIdentifier`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md#chainidentifier)

***

### createdAt

```
createdAt: number;
```

Defined in: [atomiq-sdk/src/swaps/ISwap.ts:176](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/ISwap.ts#L176)

A UNIX milliseconds timestamps of when this swap was created

#### Inherited from

[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md).[`createdAt`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md#createdat)

***

### events

```
readonly events: EventEmitter<{

  swapState: [OnchainForGasSwap<T>];

}>;
```

Defined in: [atomiq-sdk/src/swaps/ISwap.ts:160](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/ISwap.ts#L160)

Event emitter emitting `"swapState"` event when swap's state changes

#### Inherited from

[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md).[`events`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md#events)

***

### exactIn

```
readonly exactIn: boolean;
```

Defined in: [atomiq-sdk/src/swaps/ISwap.ts:172](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/ISwap.ts#L172)

Whether a swap is an exact input swap

#### Inherited from

[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md).[`exactIn`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md#exactin)

***

### url?

```
readonly optional url: string;
```

Defined in: [atomiq-sdk/src/swaps/ISwap.ts:164](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/ISwap.ts#L164)

URL of the intermediary (LP) used for this swap, already has the swap service specific path appended

#### Inherited from

[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md).[`url`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md#url)

***

### TYPE

```
protected readonly TYPE: TRUSTED_FROM_BTC = SwapType.TRUSTED_FROM_BTC;
```

Defined in: [atomiq-sdk/src/swaps/trusted/onchain/OnchainForGasSwap.ts:104](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/trusted/onchain/OnchainForGasSwap.ts#L104)

Swap type

#### Overrides

[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md).[`TYPE`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md#type)

## Methods

### estimateBitcoinFee()

```
estimateBitcoinFee(_bitcoinWallet, feeRate?): Promise<TokenAmount<BtcToken<false>, true>>;
```

Defined in: [atomiq-sdk/src/swaps/trusted/onchain/OnchainForGasSwap.ts:528](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/trusted/onchain/OnchainForGasSwap.ts#L528)

Estimates a bitcoin on-chain fee paid for the bitcoin swap transaction

#### Parameters

| Parameter        | Type                                                                                                                                                                                                                                                                | Description                                      |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------ |
| `_bitcoinWallet` | \| [`IBitcoinWallet`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/IBitcoinWallet.md) \| [`MinimalBitcoinWalletInterface`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/MinimalBitcoinWalletInterface.md) | Sender's bitcoin wallet                          |
| `feeRate?`       | `number`                                                                                                                                                                                                                                                            | Optional fee rate in sats/vB for the transaction |

#### Returns

`Promise`<[`TokenAmount`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/TokenAmount.md)<[`BtcToken`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/BtcToken.md)<`false`>, `true`>>

#### Implementation of

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

***

### execute()

```
execute(): Promise<boolean>;
```

Defined in: [atomiq-sdk/src/swaps/trusted/onchain/OnchainForGasSwap.ts:595](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/trusted/onchain/OnchainForGasSwap.ts#L595)

#### Returns

`Promise`<`boolean`>

#### Remarks

Not supported

#### Overrides

[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md).[`execute`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md#execute)

***

### getAddress()

```
getAddress(): string;
```

Defined in: [atomiq-sdk/src/swaps/trusted/onchain/OnchainForGasSwap.ts:263](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/trusted/onchain/OnchainForGasSwap.ts#L263)

An address to which the user needs to send funds on the source chain

#### Returns

`string`

#### Implementation of

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

***

### getDirection()

```
getDirection(): SwapDirection;
```

Defined in: [atomiq-sdk/src/swaps/ISwap.ts:560](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/ISwap.ts#L560)

Returns the direction of the swap

#### Returns

[`SwapDirection`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/enumerations/SwapDirection.md)

#### Inherited from

[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md).[`getDirection`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md#getdirection)

***

### getExecutionAction()

```
getExecutionAction(options?): Promise<never>;
```

Defined in: [atomiq-sdk/src/swaps/trusted/onchain/OnchainForGasSwap.ts:564](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/trusted/onchain/OnchainForGasSwap.ts#L564)

Returns a current state-dependent action for the user to execute, or `undefined` if there is no more action required for this swap - this means that the swap is probably finished (either expired, failed or settled).

#### Parameters

| Parameter                | Type                                                                                                                                                                  | Description                                                                                                                                                                                                            |
| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `options?`               | { `bitcoinWallet?`: [`MinimalBitcoinWalletInterface`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/MinimalBitcoinWalletInterface.md); } | Optional options argument for the additional action context (i.e. passing bitcoin wallet info to get funded PSBTs or passing the externally-generated swap secret), see the actual type in the respective swap classes |
| `options.bitcoinWallet?` | [`MinimalBitcoinWalletInterface`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/MinimalBitcoinWalletInterface.md)                        | Optional bitcoin wallet address specification to return a funded PSBT, if not provided an address is returned instead.                                                                                                 |

#### Returns

`Promise`<`never`>

#### Overrides

[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md).[`getExecutionAction`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md#getexecutionaction)

***

### getExecutionStatus()

```
getExecutionStatus(): Promise<never>;
```

Defined in: [atomiq-sdk/src/swaps/trusted/onchain/OnchainForGasSwap.ts:580](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/trusted/onchain/OnchainForGasSwap.ts#L580)

Returns the current action and the full execution steps for a given swap. Prefer this to calling [getExecutionSteps](#getexecutionsteps) and [getExecutionAction](#getexecutionaction) separately - if called sequentially they might return the respective steps/actions in different states if you hit the state transition boundary.

#### Returns

`Promise`<`never`>

#### Overrides

[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md).[`getExecutionStatus`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md#getexecutionstatus)

***

### getExecutionSteps()

```
getExecutionSteps(): Promise<never>;
```

Defined in: [atomiq-sdk/src/swaps/trusted/onchain/OnchainForGasSwap.ts:573](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/trusted/onchain/OnchainForGasSwap.ts#L573)

Returns a list of execution steps the user has to go through for a given swap, to see the possible execution steps check out [SwapExecutionStep](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/SwapExecutionStep.md).

#### Returns

`Promise`<`never`>

#### Overrides

[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md).[`getExecutionSteps`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md#getexecutionsteps)

***

### getFee()

```
getFee(): Fee<T["ChainId"], BtcToken<false>, SCToken<T["ChainId"]>>;
```

Defined in: [atomiq-sdk/src/swaps/trusted/onchain/OnchainForGasSwap.ts:427](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/trusted/onchain/OnchainForGasSwap.ts#L427)

Returns total fee for the swap, the fee is represented in source currency & destination currency, but is paid only once

#### Returns

[`Fee`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/Fee.md)<`T`\[`"ChainId"`], [`BtcToken`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/BtcToken.md)<`false`>, [`SCToken`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/SCToken.md)<`T`\[`"ChainId"`]>>

#### Overrides

[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md).[`getFee`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md#getfee)

***

### getFeeBreakdown()

```
getFeeBreakdown(): [{

  fee: Fee<T["ChainId"], BtcToken<false>, SCToken<T["ChainId"]>>;

  type: SWAP;

}];
```

Defined in: [atomiq-sdk/src/swaps/trusted/onchain/OnchainForGasSwap.ts:434](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/trusted/onchain/OnchainForGasSwap.ts#L434)

Returns the breakdown of all the fees paid

#### Returns

\[{ `fee`: [`Fee`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/Fee.md)<`T`\[`"ChainId"`], [`BtcToken`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/BtcToken.md)<`false`>, [`SCToken`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/SCToken.md)<`T`\[`"ChainId"`]>>; `type`: [`SWAP`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/enumerations/FeeType.md#swap); }]

#### Overrides

[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md).[`getFeeBreakdown`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md#getfeebreakdown)

***

### getFundedPsbt()

```
getFundedPsbt(

   _bitcoinWallet, 

   feeRate?, 

   additionalOutputs?): Promise<{

  psbt: Transaction;

  psbtBase64: string;

  psbtHex: string;

  signInputs: number[];

}>;
```

Defined in: [atomiq-sdk/src/swaps/trusted/onchain/OnchainForGasSwap.ts:451](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/trusted/onchain/OnchainForGasSwap.ts#L451)

Returns the PSBT that is already funded with wallet's UTXOs (runs a coin-selection algorithm to choose UTXOs to use), also returns inputs indices that need to be signed by the wallet before submitting the PSBT back to the SDK with [submitPsbt](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/IBTCWalletSwap.md#submitpsbt)

#### Parameters

| Parameter            | Type                                                                                                                                                                                                                                                                | Description                                                                    |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
| `_bitcoinWallet`     | \| [`IBitcoinWallet`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/IBitcoinWallet.md) \| [`MinimalBitcoinWalletInterface`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/MinimalBitcoinWalletInterface.md) | Sender's bitcoin wallet                                                        |
| `feeRate?`           | `number`                                                                                                                                                                                                                                                            | Optional fee rate in sats/vB for the transaction                               |
| `additionalOutputs?` | ( \| { `amount`: `bigint`; `outputScript`: `Uint8Array`; } \| { `address`: `string`; `amount`: `bigint`; })\[]                                                                                                                                                      | additional outputs to add to the PSBT - can be used to collect fees from users |

#### Returns

`Promise`<{ `psbt`: `Transaction`; `psbtBase64`: `string`; `psbtHex`: `string`; `signInputs`: `number`\[]; }>

#### Implementation of

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

***

### getHyperlink()

```
getHyperlink(): string;
```

Defined in: [atomiq-sdk/src/swaps/trusted/onchain/OnchainForGasSwap.ts:270](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/trusted/onchain/OnchainForGasSwap.ts#L270)

A hyperlink representation of the address + amount that the user needs to sends on the source chain. This is suitable to be displayed in a form of QR code.

#### Returns

`string`

#### Implementation of

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

***

### getId()

```
getId(): string;
```

Defined in: [atomiq-sdk/src/swaps/trusted/onchain/OnchainForGasSwap.ts:256](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/trusted/onchain/OnchainForGasSwap.ts#L256)

Returns the ID of the swap, as used in the storage

#### Returns

`string`

#### Overrides

[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md).[`getId`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md#getid)

***

### getInput()

```
getInput(): TokenAmount<BtcToken<false>, true>;
```

Defined in: [atomiq-sdk/src/swaps/trusted/onchain/OnchainForGasSwap.ts:381](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/trusted/onchain/OnchainForGasSwap.ts#L381)

Returns input amount of the swap, user needs to pay this much

#### Returns

[`TokenAmount`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/TokenAmount.md)<[`BtcToken`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/BtcToken.md)<`false`>, `true`>

#### Overrides

[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md).[`getInput`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md#getinput)

***

### getInputAddress()

```
getInputAddress(): string;
```

Defined in: [atomiq-sdk/src/swaps/trusted/onchain/OnchainForGasSwap.ts:234](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/trusted/onchain/OnchainForGasSwap.ts#L234)

Returns source address of the swap

#### Returns

`string`

#### Overrides

[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md).[`getInputAddress`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md#getinputaddress)

***

### getInputToken()

```
getInputToken(): BtcToken<false>;
```

Defined in: [atomiq-sdk/src/swaps/trusted/onchain/OnchainForGasSwap.ts:374](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/trusted/onchain/OnchainForGasSwap.ts#L374)

Returns the input token of the swap

#### Returns

[`BtcToken`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/BtcToken.md)<`false`>

#### Overrides

[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md).[`getInputToken`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md#getinputtoken)

***

### getInputTxId()

```
getInputTxId(): string;
```

Defined in: [atomiq-sdk/src/swaps/trusted/onchain/OnchainForGasSwap.ts:242](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/trusted/onchain/OnchainForGasSwap.ts#L242)

Returns swap input transaction ID on the source chain

#### Returns

`string`

#### Overrides

[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md).[`getInputTxId`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md#getinputtxid)

***

### getInputWithoutFee()

```
getInputWithoutFee(): TokenAmount<BtcToken<false>, true>;
```

Defined in: [atomiq-sdk/src/swaps/trusted/onchain/OnchainForGasSwap.ts:388](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/trusted/onchain/OnchainForGasSwap.ts#L388)

Returns input amount of the swap without the fees (swap fee, network fee)

#### Returns

[`TokenAmount`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/TokenAmount.md)<[`BtcToken`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/BtcToken.md)<`false`>, `true`>

#### Overrides

[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md).[`getInputWithoutFee`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md#getinputwithoutfee)

***

### getOutput()

```
getOutput(): TokenAmount<SCToken<T["ChainId"]>, true>;
```

Defined in: [atomiq-sdk/src/swaps/trusted/onchain/OnchainForGasSwap.ts:364](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/trusted/onchain/OnchainForGasSwap.ts#L364)

Returns output amount of the swap, user receives this much

#### Returns

[`TokenAmount`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/TokenAmount.md)<[`SCToken`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/SCToken.md)<`T`\[`"ChainId"`]>, `true`>

#### Overrides

[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md).[`getOutput`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md#getoutput)

***

### getOutputAddress()

```
getOutputAddress(): string;
```

Defined in: [atomiq-sdk/src/swaps/trusted/onchain/OnchainForGasSwap.ts:227](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/trusted/onchain/OnchainForGasSwap.ts#L227)

Returns destination address of the swap

#### Returns

`string`

#### Overrides

[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md).[`getOutputAddress`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md#getoutputaddress)

***

### getOutputToken()

```
getOutputToken(): SCToken<T["ChainId"]>;
```

Defined in: [atomiq-sdk/src/swaps/trusted/onchain/OnchainForGasSwap.ts:357](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/trusted/onchain/OnchainForGasSwap.ts#L357)

Returns the output token of the swap

#### Returns

[`SCToken`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/SCToken.md)<`T`\[`"ChainId"`]>

#### Overrides

[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md).[`getOutputToken`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md#getoutputtoken)

***

### getOutputTxId()

```
getOutputTxId(): string;
```

Defined in: [atomiq-sdk/src/swaps/trusted/onchain/OnchainForGasSwap.ts:249](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/trusted/onchain/OnchainForGasSwap.ts#L249)

Returns swap output transaction ID on the destination chain

#### Returns

`string`

#### Overrides

[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md).[`getOutputTxId`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md#getoutputtxid)

***

### getPriceInfo()

```
getPriceInfo(): object;
```

Defined in: [atomiq-sdk/src/swaps/ISwap.ts:388](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/ISwap.ts#L388)

Returns pricing info about the swap

#### Returns

`object`

| Name           | Type                                                                                                           | Defined in                                                                                                                                          |
| -------------- | -------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| `difference`   | [`PercentagePPM`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/PercentagePPM.md) | [atomiq-sdk/src/swaps/ISwap.ts:391](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/ISwap.ts#L391) |
| `marketPrice?` | `number`                                                                                                       | [atomiq-sdk/src/swaps/ISwap.ts:389](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/ISwap.ts#L389) |
| `swapPrice`    | `number`                                                                                                       | [atomiq-sdk/src/swaps/ISwap.ts:390](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/ISwap.ts#L390) |

#### Inherited from

[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md).[`getPriceInfo`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md#getpriceinfo)

***

### getQuoteExpiry()

```
getQuoteExpiry(): number;
```

Defined in: [atomiq-sdk/src/swaps/ISwap.ts:546](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/ISwap.ts#L546)

Returns quote expiry in UNIX millis

#### Returns

`number`

#### Inherited from

[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md).[`getQuoteExpiry`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md#getquoteexpiry)

***

### getRequiredConfirmationsCount()

```
getRequiredConfirmationsCount(): number;
```

Defined in: [atomiq-sdk/src/swaps/trusted/onchain/OnchainForGasSwap.ts:444](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/trusted/onchain/OnchainForGasSwap.ts#L444)

Returns the number of confirmations required for the bitcoin transaction for this swap to complete and settle

#### Returns

`number`

#### Implementation of

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

***

### getState()

```
getState(): OnchainForGasSwapState;
```

Defined in: [atomiq-sdk/src/swaps/ISwap.ts:567](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/ISwap.ts#L567)

Returns the current state of the swap

#### Returns

[`OnchainForGasSwapState`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/enumerations/OnchainForGasSwapState.md)

#### Inherited from

[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md).[`getState`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md#getstate)

***

### getStateInfo()

```
getStateInfo(): SwapStateInfo<OnchainForGasSwapState>;
```

Defined in: [atomiq-sdk/src/swaps/ISwap.ts:574](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/ISwap.ts#L574)

Returns the current state of the swap along with the human-readable description of the state

#### Returns

[`SwapStateInfo`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/SwapStateInfo.md)<[`OnchainForGasSwapState`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/enumerations/OnchainForGasSwapState.md)>

#### Inherited from

[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md).[`getStateInfo`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md#getstateinfo)

***

### getType()

```
getType(): SwapType;
```

Defined in: [atomiq-sdk/src/swaps/ISwap.ts:553](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/ISwap.ts#L553)

Returns the type of the swap

#### Returns

[`SwapType`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/enumerations/SwapType.md)

#### Inherited from

[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md).[`getType`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md#gettype)

***

### hasValidPrice()

```
hasValidPrice(): boolean;
```

Defined in: [atomiq-sdk/src/swaps/ISwap.ts:380](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/ISwap.ts#L380)

Checks if the pricing for the swap is valid, according to max allowed price difference set in the ISwapPrice

#### Returns

`boolean`

#### Inherited from

[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md).[`hasValidPrice`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md#hasvalidprice)

***

### isFailed()

```
isFailed(): boolean;
```

Defined in: [atomiq-sdk/src/swaps/trusted/onchain/OnchainForGasSwap.ts:305](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/trusted/onchain/OnchainForGasSwap.ts#L305)

Returns whether the swap failed (e.g. was refunded)

#### Returns

`boolean`

#### Overrides

[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md).[`isFailed`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md#isfailed)

***

### isFinished()

```
isFinished(): boolean;
```

Defined in: [atomiq-sdk/src/swaps/trusted/onchain/OnchainForGasSwap.ts:284](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/trusted/onchain/OnchainForGasSwap.ts#L284)

Returns whether the swap is finished and in its terminal state (this can mean successful, refunded or failed)

#### Returns

`boolean`

#### Overrides

[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md).[`isFinished`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md#isfinished)

***

### isInitiated()

```
isInitiated(): boolean;
```

Defined in: [atomiq-sdk/src/swaps/ISwap.ts:539](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/ISwap.ts#L539)

Whether a swap was initialized, a swap is considered initialized on first interaction with it, i.e. calling commit() on a Smart chain -> Bitcoin swaps, calling waitForPayment() or similar on the other direction. Not initiated swaps are not saved to the persistent storage by default (see SwapperOptions.saveUninitializedSwaps)

#### Returns

`boolean`

#### Inherited from

[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md).[`isInitiated`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md#isinitiated)

***

### isInProgress()

```
isInProgress(): boolean;
```

Defined in: [atomiq-sdk/src/swaps/trusted/onchain/OnchainForGasSwap.ts:319](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/trusted/onchain/OnchainForGasSwap.ts#L319)

Returns whether the swap is currently being processed

#### Returns

`boolean`

#### Overrides

[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md).[`isInProgress`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md#isinprogress)

***

### isQuoteExpired()

```
isQuoteExpired(): boolean;
```

Defined in: [atomiq-sdk/src/swaps/trusted/onchain/OnchainForGasSwap.ts:291](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/trusted/onchain/OnchainForGasSwap.ts#L291)

Checks whether the swap's quote has definitely expired and cannot be committed anymore, we can remove such swap

#### Returns

`boolean`

#### Overrides

[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md).[`isQuoteExpired`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md#isquoteexpired)

***

### isQuoteSoftExpired()

```
isQuoteSoftExpired(): boolean;
```

Defined in: [atomiq-sdk/src/swaps/trusted/onchain/OnchainForGasSwap.ts:298](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/trusted/onchain/OnchainForGasSwap.ts#L298)

Checks whether the swap's quote is soft expired (this means there is not enough time buffer for it to commit, but it still can happen)

#### Returns

`boolean`

#### Overrides

[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md).[`isQuoteSoftExpired`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md#isquotesoftexpired)

***

### isSuccessful()

```
isSuccessful(): boolean;
```

Defined in: [atomiq-sdk/src/swaps/trusted/onchain/OnchainForGasSwap.ts:312](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/trusted/onchain/OnchainForGasSwap.ts#L312)

Returns whether the swap finished successful

#### Returns

`boolean`

#### Overrides

[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md).[`isSuccessful`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md#issuccessful)

***

### refreshPriceData()

```
refreshPriceData(): Promise<void>;
```

Defined in: [atomiq-sdk/src/swaps/ISwap.ts:336](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/ISwap.ts#L336)

Re-fetches & revalidates the price data based on the current market prices

#### Returns

`Promise`<`void`>

#### Inherited from

[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md).[`refreshPriceData`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md#refreshpricedata)

***

### requestRefund()

```
requestRefund(refundAddress?, abortSignal?): Promise<void>;
```

Defined in: [atomiq-sdk/src/swaps/trusted/onchain/OnchainForGasSwap.ts:778](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/trusted/onchain/OnchainForGasSwap.ts#L778)

Requests a refund after the swap failed, this also waits till the refund is actually sent by the intermediary (LP). The swap must be in [OnchainForGasSwapState.REFUNDABLE](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/enumerations/OnchainForGasSwapState.md#refundable) state

#### Parameters

| Parameter        | Type          | Description                              |
| ---------------- | ------------- | ---------------------------------------- |
| `refundAddress?` | `string`      | Bitcoin address to receive the refund to |
| `abortSignal?`   | `AbortSignal` | Abort signal                             |

#### Returns

`Promise`<`void`>

***

### requiresAction()

```
requiresAction(): boolean;
```

Defined in: [atomiq-sdk/src/swaps/trusted/onchain/OnchainForGasSwap.ts:277](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/trusted/onchain/OnchainForGasSwap.ts#L277)

Checks whether there is some action required from the user for this swap - can mean either refundable or claimable

#### Returns

`boolean`

#### Overrides

[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md).[`requiresAction`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md#requiresaction)

***

### sendBitcoinTransaction()

```
sendBitcoinTransaction(wallet, feeRate?): Promise<string>;
```

Defined in: [atomiq-sdk/src/swaps/trusted/onchain/OnchainForGasSwap.ts:538](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/trusted/onchain/OnchainForGasSwap.ts#L538)

Sends a swap bitcoin transaction via the passed bitcoin wallet

#### Parameters

| Parameter  | Type                                                                                                                                                                                                                                                                                    | Description                                      |
| ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------ |
| `wallet`   | \| [`IBitcoinWallet`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/IBitcoinWallet.md) \| [`MinimalBitcoinWalletInterfaceWithSigner`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/MinimalBitcoinWalletInterfaceWithSigner.md) | Sender's bitcoin wallet                          |
| `feeRate?` | `number`                                                                                                                                                                                                                                                                                | Optional fee rate in sats/vB for the transaction |

#### Returns

`Promise`<`string`>

#### Implementation of

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

***

### serialize()

```
serialize(): any;
```

Defined in: [atomiq-sdk/src/swaps/trusted/onchain/OnchainForGasSwap.ts:790](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/trusted/onchain/OnchainForGasSwap.ts#L790)

Serializes the swap to a JSON stringifiable representation (i.e. no bigints, buffers etc.)

#### Returns

`any`

#### Overrides

[`ISwap`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md).[`serialize`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/ISwap.md#serialize)

***

### submitPsbt()

```
submitPsbt(_psbt): Promise<string>;
```

Defined in: [atomiq-sdk/src/swaps/trusted/onchain/OnchainForGasSwap.ts:503](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/trusted/onchain/OnchainForGasSwap.ts#L503)

Submits a PSBT signed by the wallet back to the SDK

#### Parameters

| Parameter | Type  | Description                                                                |
| --------- | ----- | -------------------------------------------------------------------------- |
| `_psbt`   | `any` | A PSBT, either a Transaction object or a hex or base64 encoded PSBT string |

#### Returns

`Promise`<`string`>

#### Implementation of

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

***

### waitForBitcoinTransaction()

```
waitForBitcoinTransaction(

   updateCallback?, 

   checkIntervalSeconds?, 

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

Defined in: [atomiq-sdk/src/swaps/trusted/onchain/OnchainForGasSwap.ts:703](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/trusted/onchain/OnchainForGasSwap.ts#L703)

Waits till the bitcoin transaction gets the required number of confirmations

#### Parameters

| Parameter               | Type                                                                      | Default value | Description                                                                       |
| ----------------------- | ------------------------------------------------------------------------- | ------------- | --------------------------------------------------------------------------------- |
| `updateCallback?`       | (`txId?`, `confirmations?`, `targetConfirmations?`, `txEtaMs?`) => `void` | `undefined`   | Callback called when txId is found, and also called with subsequent confirmations |
| `checkIntervalSeconds?` | `number`                                                                  | `5`           | How often to check the bitcoin transaction                                        |
| `abortSignal?`          | `AbortSignal`                                                             | `undefined`   | Abort signal                                                                      |

#### Returns

`Promise`<`string`>

#### Throws

if in invalid state

#### Implementation of

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

***

### waitTillRefunded()

```
waitTillRefunded(checkIntervalSeconds?, abortSignal?): Promise<void>;
```

Defined in: [atomiq-sdk/src/swaps/trusted/onchain/OnchainForGasSwap.ts:751](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swaps/trusted/onchain/OnchainForGasSwap.ts#L751)

Waits till the LP processes a refund for a failed swap. The swap must be in [OnchainForGasSwapState.REFUNDABLE](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/enumerations/OnchainForGasSwapState.md#refundable) state

#### Parameters

| Parameter               | Type          | Description                            |
| ----------------------- | ------------- | -------------------------------------- |
| `checkIntervalSeconds?` | `number`      | How often to check (default 5 seconds) |
| `abortSignal?`          | `AbortSignal` | Abort signal                           |

#### Returns

`Promise`<`void`>
