# SwapperFactory\<T>

Defined in: [atomiq-sdk/src/swapper/SwapperFactory.ts:181](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperFactory.ts#L181)

Factory class for creating and initializing Swapper instances with typed chain support

## Type Parameters

| Type Parameter                                                                                                                                                     |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `T` *extends* readonly `ChainInitializer`<`any`, [`ChainType`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/ChainType.md), `any`>\[] |

## Constructors

### Constructor

```
new SwapperFactory<T>(initializers): SwapperFactory<T>;
```

Defined in: [atomiq-sdk/src/swapper/SwapperFactory.ts:196](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperFactory.ts#L196)

#### Parameters

| Parameter      | Type |
| -------------- | ---- |
| `initializers` | `T`  |

#### Returns

`SwapperFactory`<`T`>

## Properties

### initializers

```
readonly initializers: T;
```

Defined in: [atomiq-sdk/src/swapper/SwapperFactory.ts:196](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperFactory.ts#L196)

***

### TokenResolver

```
TokenResolver: TypedTokenResolvers<T>;
```

Defined in: [atomiq-sdk/src/swapper/SwapperFactory.ts:192](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperFactory.ts#L192)

Token resolvers for various smart chains supported by the SDK, allow fetching tokens based on their addresses

***

### Tokens

```
Tokens: TypedTokens<T>;
```

Defined in: [atomiq-sdk/src/swapper/SwapperFactory.ts:186](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperFactory.ts#L186)

All available tokens for the atomiq SDK

## Methods

### newSwapper()

```
newSwapper(options): TypedSwapper<T>;
```

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

Returns a new swapper instance with the passed options.

The swapper returned here is not yet initialized, be sure to call [Swapper.init](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/Swapper.md#init), before calling any other functions in the swapper instance.

#### Parameters

| Parameter | Type                                                                                                                            | Description                                  |
| --------- | ------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------- |
| `options` | [`TypedSwapperOptions`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/TypedSwapperOptions.md)<`T`> | Options for customizing the swapper instance |

#### Returns

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

***

### newSwapperInitialized()

```
newSwapperInitialized(options): Promise<TypedSwapper<T>>;
```

Defined in: [atomiq-sdk/src/swapper/SwapperFactory.ts:301](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/swapper/SwapperFactory.ts#L301)

Returns a new and already initialized swapper instance with the passed options. There is no need to call [Swapper.init](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/classes/Swapper.md#init) anymore.

#### Parameters

| Parameter | Type                                                                                                                            | Description                                  |
| --------- | ------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------- |
| `options` | [`TypedSwapperOptions`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/TypedSwapperOptions.md)<`T`> | Options for customizing the swapper instance |

#### Returns

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