# KyberSwapClassicAdapter

### KyberSwapClassicAdapter

#### constructor

```solidity
constructor(struct PoolInput[] pools) public
```

#### swapExactInput

```solidity
function swapExactInput(address recipient, address tokenIn, address tokenOut, uint256 amountIn, uint256 minAmountOut, bytes data) external returns (uint256 amountOut)
```

swap with exact input

**Parameters**

| Name         | Type    | Description                            |
| ------------ | ------- | -------------------------------------- |
| recipient    | address | recipient of amountOut of tokenOut     |
| tokenIn      | address | address of a token to swap on dex      |
| tokenOut     | address | address of a token to receive from dex |
| amountIn     | uint256 | exact amount of tokenIn to swap        |
| minAmountOut | uint256 | minimal amount of tokenOut to receive  |
| data         | bytes   | data for AdapterCallback               |

#### swapExactOutput

```solidity
function swapExactOutput(address recipient, address tokenIn, address tokenOut, uint256 maxAmountIn, uint256 amountOut, bytes data) external returns (uint256 amountIn)
```

swap with exact output

**Parameters**

| Name        | Type    | Description                            |
| ----------- | ------- | -------------------------------------- |
| recipient   | address | recipient of amountOut of tokenOut     |
| tokenIn     | address | address of a token to swap on dex      |
| tokenOut    | address | address of a token to receive from dex |
| maxAmountIn | uint256 | maximal amount of tokenIn to swap      |
| amountOut   | uint256 | exact amount of tokenOut to receive    |
| data        | bytes   | data for AdapterCallback               |

### IKC

#### getTradeInfo

```solidity
function getTradeInfo() external view returns (uint256, uint256, uint256, uint256, uint256)
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.marginly.com/router/adapters/kyberswapclassicadapter.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
