oceanprotocol/ocean.js

View on GitHub
docs/classes/FixedRateExchange.md

Summary

Maintainability
Test Coverage
[@oceanprotocol/lib](../README.md) / [Exports](../modules.md) / FixedRateExchange

# Class: FixedRateExchange

## Hierarchy

- [`SmartContractWithAddress`](SmartContractWithAddress.md)

  ↳ **`FixedRateExchange`**

## Table of contents

### Constructors

- [constructor](FixedRateExchange.md#constructor)

### Properties

- [abi](FixedRateExchange.md#abi)
- [address](FixedRateExchange.md#address)
- [config](FixedRateExchange.md#config)
- [contract](FixedRateExchange.md#contract)
- [signer](FixedRateExchange.md#signer)

### Methods

- [activate](FixedRateExchange.md#activate)
- [activateMint](FixedRateExchange.md#activatemint)
- [amountToUnits](FixedRateExchange.md#amounttounits)
- [buyDatatokens](FixedRateExchange.md#buydatatokens)
- [calcBaseInGivenDatatokensOut](FixedRateExchange.md#calcbaseingivendatatokensout)
- [collectBasetokens](FixedRateExchange.md#collectbasetokens)
- [collectDatatokens](FixedRateExchange.md#collectdatatokens)
- [collectMarketFee](FixedRateExchange.md#collectmarketfee)
- [collectOceanFee](FixedRateExchange.md#collectoceanfee)
- [deactivate](FixedRateExchange.md#deactivate)
- [deactivateMint](FixedRateExchange.md#deactivatemint)
- [generateExchangeId](FixedRateExchange.md#generateexchangeid)
- [getAllowedSwapper](FixedRateExchange.md#getallowedswapper)
- [getAmountBasetokensOut](FixedRateExchange.md#getamountbasetokensout)
- [getBasetokenSupply](FixedRateExchange.md#getbasetokensupply)
- [getContract](FixedRateExchange.md#getcontract)
- [getDatatokenSupply](FixedRateExchange.md#getdatatokensupply)
- [getDefaultAbi](FixedRateExchange.md#getdefaultabi)
- [getExchange](FixedRateExchange.md#getexchange)
- [getExchangeOwner](FixedRateExchange.md#getexchangeowner)
- [getExchanges](FixedRateExchange.md#getexchanges)
- [getFairGasPrice](FixedRateExchange.md#getfairgasprice)
- [getFeesInfo](FixedRateExchange.md#getfeesinfo)
- [getNumberOfExchanges](FixedRateExchange.md#getnumberofexchanges)
- [getOPCCollector](FixedRateExchange.md#getopccollector)
- [getRate](FixedRateExchange.md#getrate)
- [getRouter](FixedRateExchange.md#getrouter)
- [isActive](FixedRateExchange.md#isactive)
- [sellDatatokens](FixedRateExchange.md#selldatatokens)
- [setAllowedSwapper](FixedRateExchange.md#setallowedswapper)
- [setRate](FixedRateExchange.md#setrate)
- [unitsToAmount](FixedRateExchange.md#unitstoamount)
- [updateMarketFee](FixedRateExchange.md#updatemarketfee)
- [updateMarketFeeCollector](FixedRateExchange.md#updatemarketfeecollector)

## Constructors

### constructor

• **new FixedRateExchange**(`address`, `signer`, `network?`, `config?`, `abi?`)

Instantiate the smart contract.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `address` | `string` | The address of the contract. |
| `signer` | `Signer` | The signer object. |
| `network?` | `string` \| `number` | Network id or name |
| `config?` | [`Config`](Config.md) | The configuration object. |
| `abi?` | [`AbiItem`](../interfaces/AbiItem.md)[] | ABI array of the smart contract |

#### Inherited from

[SmartContractWithAddress](SmartContractWithAddress.md).[constructor](SmartContractWithAddress.md#constructor)

#### Defined in

[contracts/SmartContractWithAddress.ts:17](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/SmartContractWithAddress.ts#L17)

## Properties

### abi

• **abi**: [`AbiItem`](../interfaces/AbiItem.md)[]

#### Inherited from

[SmartContractWithAddress](SmartContractWithAddress.md).[abi](SmartContractWithAddress.md#abi)

#### Defined in

[contracts/SmartContract.ts:14](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/SmartContract.ts#L14)

___

### address

• **address**: `string`

#### Inherited from

[SmartContractWithAddress](SmartContractWithAddress.md).[address](SmartContractWithAddress.md#address)

#### Defined in

[contracts/SmartContractWithAddress.ts:6](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/SmartContractWithAddress.ts#L6)

___

### config

• **config**: [`Config`](Config.md)

#### Inherited from

[SmartContractWithAddress](SmartContractWithAddress.md).[config](SmartContractWithAddress.md#config)

#### Defined in

[contracts/SmartContract.ts:13](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/SmartContract.ts#L13)

___

### contract

• **contract**: `Contract`

#### Inherited from

[SmartContractWithAddress](SmartContractWithAddress.md).[contract](SmartContractWithAddress.md#contract)

#### Defined in

[contracts/SmartContractWithAddress.ts:7](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/SmartContractWithAddress.ts#L7)

___

### signer

• **signer**: `Signer`

#### Inherited from

[SmartContractWithAddress](SmartContractWithAddress.md).[signer](SmartContractWithAddress.md#signer)

#### Defined in

[contracts/SmartContract.ts:12](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/SmartContract.ts#L12)

## Methods

### activate

▸ **activate**<`G`\>(`exchangeId`, `estimateGas?`): `Promise`<[`ReceiptOrEstimate`](../modules.md#receiptorestimate)<`G`\>\>

Activate an exchange

#### Type parameters

| Name | Type |
| :------ | :------ |
| `G` | extends `boolean` = ``false`` |

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `exchangeId` | `string` | ExchangeId |
| `estimateGas?` | `G` | if True, return gas estimate |

#### Returns

`Promise`<[`ReceiptOrEstimate`](../modules.md#receiptorestimate)<`G`\>\>

transaction receipt

#### Defined in

[contracts/FixedRateExchange.ts:210](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/FixedRateExchange.ts#L210)

___

### activateMint

▸ **activateMint**<`G`\>(`exchangeId`, `estimateGas?`): `Promise`<[`ReceiptOrEstimate`](../modules.md#receiptorestimate)<`G`\>\>

Activate minting option for fixed rate contract

#### Type parameters

| Name | Type |
| :------ | :------ |
| `G` | extends `boolean` = ``false`` |

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `exchangeId` | `string` | Exchang eId |
| `estimateGas?` | `G` | if True, return gas estimate |

#### Returns

`Promise`<[`ReceiptOrEstimate`](../modules.md#receiptorestimate)<`G`\>\>

transaction receipt

#### Defined in

[contracts/FixedRateExchange.ts:462](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/FixedRateExchange.ts#L462)

___

### amountToUnits

▸ `Protected` **amountToUnits**(`token`, `amount`, `tokenDecimals?`): `Promise`<`string`\>

Converts an amount of tokens to units

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `token` | `string` | The token to convert |
| `amount` | `string` | The amount of tokens to convert |
| `tokenDecimals?` | `number` | The number of decimals of the token |

#### Returns

`Promise`<`string`\>

- The converted amount in units

#### Inherited from

[SmartContractWithAddress](SmartContractWithAddress.md).[amountToUnits](SmartContractWithAddress.md#amounttounits)

#### Defined in

[contracts/SmartContract.ts:43](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/SmartContract.ts#L43)

___

### buyDatatokens

▸ **buyDatatokens**<`G`\>(`exchangeId`, `datatokenAmount`, `maxBaseTokenAmount`, `consumeMarketAddress?`, `consumeMarketFee?`, `estimateGas?`): `Promise`<[`ReceiptOrEstimate`](../modules.md#receiptorestimate)<`G`\>\>

Atomic swap

#### Type parameters

| Name | Type |
| :------ | :------ |
| `G` | extends `boolean` = ``false`` |

#### Parameters

| Name | Type | Default value | Description |
| :------ | :------ | :------ | :------ |
| `exchangeId` | `string` | `undefined` | ExchangeId |
| `datatokenAmount` | `string` | `undefined` | Amount of datatokens |
| `maxBaseTokenAmount` | `string` | `undefined` | max amount of baseToken we want to pay for datatokenAmount |
| `consumeMarketAddress` | `string` | `ZERO_ADDRESS` | consumeMarketAddress |
| `consumeMarketFee` | `string` | `'0'` | consumeMarketFee in fraction |
| `estimateGas?` | `G` | `undefined` | if True, return gas estimate |

#### Returns

`Promise`<[`ReceiptOrEstimate`](../modules.md#receiptorestimate)<`G`\>\>

transaction receipt

#### Defined in

[contracts/FixedRateExchange.ts:38](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/FixedRateExchange.ts#L38)

___

### calcBaseInGivenDatatokensOut

▸ **calcBaseInGivenDatatokensOut**(`exchangeId`, `datatokenAmount`, `consumeMarketFee?`): `Promise`<[`PriceAndFees`](../interfaces/PriceAndFees.md)\>

calcBaseInGivenDatatokensOut - Calculates how many base tokens are needed to get specified amount of datatokens

#### Parameters

| Name | Type | Default value | Description |
| :------ | :------ | :------ | :------ |
| `exchangeId` | `string` | `undefined` | Exchange Id |
| `datatokenAmount` | `string` | `undefined` | Amount of datatokens user wants to buy |
| `consumeMarketFee` | `string` | `'0'` | consumeMarketFee in fraction |

#### Returns

`Promise`<[`PriceAndFees`](../interfaces/PriceAndFees.md)\>

how many base tokens are needed and fees

#### Defined in

[contracts/FixedRateExchange.ts:305](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/FixedRateExchange.ts#L305)

___

### collectBasetokens

▸ **collectBasetokens**<`G`\>(`exchangeId`, `amount`, `estimateGas?`): `Promise`<[`ReceiptOrEstimate`](../modules.md#receiptorestimate)<`G`\>\>

Collect BaseTokens in the contract (anyone can call this, funds are sent to Datatoken.paymentCollector)

#### Type parameters

| Name | Type |
| :------ | :------ |
| `G` | extends `boolean` = ``false`` |

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `exchangeId` | `string` | Exchange Id |
| `amount` | `string` | amount to be collected |
| `estimateGas?` | `G` | if True, return gas estimate |

#### Returns

`Promise`<[`ReceiptOrEstimate`](../modules.md#receiptorestimate)<`G`\>\>

transaction receipt

#### Defined in

[contracts/FixedRateExchange.ts:519](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/FixedRateExchange.ts#L519)

___

### collectDatatokens

▸ **collectDatatokens**<`G`\>(`exchangeId`, `amount`, `estimateGas?`): `Promise`<[`ReceiptOrEstimate`](../modules.md#receiptorestimate)<`G`\>\>

Collect datatokens in the contract (anyone can call this, funds are sent to Datatoken.paymentCollector)

#### Type parameters

| Name | Type |
| :------ | :------ |
| `G` | extends `boolean` = ``false`` |

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `exchangeId` | `string` | Exchange Id |
| `amount` | `string` | amount to be collected |
| `estimateGas?` | `G` | if True, return gas estimate |

#### Returns

`Promise`<[`ReceiptOrEstimate`](../modules.md#receiptorestimate)<`G`\>\>

transaction receipt

#### Defined in

[contracts/FixedRateExchange.ts:555](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/FixedRateExchange.ts#L555)

___

### collectMarketFee

▸ **collectMarketFee**<`G`\>(`exchangeId`, `estimateGas?`): `Promise`<[`ReceiptOrEstimate`](../modules.md#receiptorestimate)<`G`\>\>

Collect market fee and send it to marketFeeCollector (anyone can call it)

#### Type parameters

| Name | Type |
| :------ | :------ |
| `G` | extends `boolean` = ``false`` |

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `exchangeId` | `string` | Exchange Id |
| `estimateGas?` | `G` | if True, return gas estimate |

#### Returns

`Promise`<[`ReceiptOrEstimate`](../modules.md#receiptorestimate)<`G`\>\>

transaction receipt

#### Defined in

[contracts/FixedRateExchange.ts:590](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/FixedRateExchange.ts#L590)

___

### collectOceanFee

▸ **collectOceanFee**<`G`\>(`exchangeId`, `estimateGas?`): `Promise`<[`ReceiptOrEstimate`](../modules.md#receiptorestimate)<`G`\>\>

Collect ocean fee and send it to OPF collector (anyone can call it)

#### Type parameters

| Name | Type |
| :------ | :------ |
| `G` | extends `boolean` = ``false`` |

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `exchangeId` | `string` | Exchange Id |
| `estimateGas?` | `G` | if True, return gas estimate |

#### Returns

`Promise`<[`ReceiptOrEstimate`](../modules.md#receiptorestimate)<`G`\>\>

transaction receipt

#### Defined in

[contracts/FixedRateExchange.ts:617](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/FixedRateExchange.ts#L617)

___

### deactivate

▸ **deactivate**<`G`\>(`exchangeId`, `estimateGas?`): `Promise`<[`ReceiptOrEstimate`](../modules.md#receiptorestimate)<`G`\>\>

Deactivate an exchange

#### Type parameters

| Name | Type |
| :------ | :------ |
| `G` | extends `boolean` = ``false`` |

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `exchangeId` | `string` | ExchangeId |
| `estimateGas?` | `G` | if True, return gas estimate |

#### Returns

`Promise`<[`ReceiptOrEstimate`](../modules.md#receiptorestimate)<`G`\>\>

transaction receipt

#### Defined in

[contracts/FixedRateExchange.ts:236](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/FixedRateExchange.ts#L236)

___

### deactivateMint

▸ **deactivateMint**<`G`\>(`exchangeId`, `estimateGas?`): `Promise`<[`ReceiptOrEstimate`](../modules.md#receiptorestimate)<`G`\>\>

Deactivate minting for fixed rate

#### Type parameters

| Name | Type |
| :------ | :------ |
| `G` | extends `boolean` = ``false`` |

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `exchangeId` | `string` | ExchangeId |
| `estimateGas?` | `G` | if True, return gas estimate |

#### Returns

`Promise`<[`ReceiptOrEstimate`](../modules.md#receiptorestimate)<`G`\>\>

transaction receipt

#### Defined in

[contracts/FixedRateExchange.ts:490](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/FixedRateExchange.ts#L490)

___

### generateExchangeId

▸ **generateExchangeId**(`baseToken`, `datatoken`): `Promise`<`string`\>

Creates unique exchange identifier.

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `baseToken` | `string` | baseToken contract address |
| `datatoken` | `string` | Datatoken contract address |

#### Returns

`Promise`<`string`\>

exchangeId

#### Defined in

[contracts/FixedRateExchange.ts:23](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/FixedRateExchange.ts#L23)

___

### getAllowedSwapper

▸ **getAllowedSwapper**(`exchangeId`): `Promise`<`string`\>

Get Allower Swapper (if set this is the only account which can use this exchange, else is set at address(0))

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `exchangeId` | `string` | Exchange Id |

#### Returns

`Promise`<`string`\>

address of allowed swapper

#### Defined in

[contracts/FixedRateExchange.ts:294](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/FixedRateExchange.ts#L294)

___

### getAmountBasetokensOut

▸ **getAmountBasetokensOut**(`exchangeId`, `datatokenAmount`, `consumeMarketFee?`): `Promise`<`string`\>

Returns amount in baseToken that user will receive for datatokenAmount sold

#### Parameters

| Name | Type | Default value | Description |
| :------ | :------ | :------ | :------ |
| `exchangeId` | `string` | `undefined` | Exchange Id |
| `datatokenAmount` | `string` | `undefined` | Amount of datatokens |
| `consumeMarketFee` | `string` | `'0'` | consumeMarketFee in fraction |

#### Returns

`Promise`<`string`\>

Amount of baseTokens user will receive

#### Defined in

[contracts/FixedRateExchange.ts:352](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/FixedRateExchange.ts#L352)

___

### getBasetokenSupply

▸ **getBasetokenSupply**(`exchangeId`): `Promise`<`string`\>

Returns basetoken supply in the exchange

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `exchangeId` | `string` | Exchange Id |

#### Returns

`Promise`<`string`\>

dt supply formatted

#### Defined in

[contracts/FixedRateExchange.ts:283](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/FixedRateExchange.ts#L283)

___

### getContract

▸ `Protected` **getContract**(`address`, `abi?`): `Contract`

Returns a contract instance for the given address

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `address` | `string` | The address of the contract |
| `abi?` | [`AbiItem`](../interfaces/AbiItem.md)[] | The ABI of the contract |

#### Returns

`Contract`

- The contract instance

#### Inherited from

[SmartContractWithAddress](SmartContractWithAddress.md).[getContract](SmartContractWithAddress.md#getcontract)

#### Defined in

[contracts/SmartContract.ts:80](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/SmartContract.ts#L80)

___

### getDatatokenSupply

▸ **getDatatokenSupply**(`exchangeId`): `Promise`<`string`\>

Get Datatoken Supply in the exchange

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `exchangeId` | `string` | Exchange Id |

#### Returns

`Promise`<`string`\>

dt supply formatted

#### Defined in

[contracts/FixedRateExchange.ts:272](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/FixedRateExchange.ts#L272)

___

### getDefaultAbi

▸ **getDefaultAbi**(): [`AbiItem`](../interfaces/AbiItem.md)[]

#### Returns

[`AbiItem`](../interfaces/AbiItem.md)[]

#### Overrides

[SmartContractWithAddress](SmartContractWithAddress.md).[getDefaultAbi](SmartContractWithAddress.md#getdefaultabi)

#### Defined in

[contracts/FixedRateExchange.ts:13](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/FixedRateExchange.ts#L13)

___

### getExchange

▸ **getExchange**(`exchangeId`): `Promise`<[`FixedPriceExchange`](../interfaces/FixedPriceExchange.md)\>

Get exchange details

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `exchangeId` | `string` | Exchange Id |

#### Returns

`Promise`<[`FixedPriceExchange`](../interfaces/FixedPriceExchange.md)\>

Exchange details

#### Defined in

[contracts/FixedRateExchange.ts:372](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/FixedRateExchange.ts#L372)

___

### getExchangeOwner

▸ **getExchangeOwner**(`exchangeId`): `Promise`<`string`\>

Get Exchange Owner given an exchangeId

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `exchangeId` | `string` | Exchange Id |

#### Returns

`Promise`<`string`\>

return exchange owner

#### Defined in

[contracts/FixedRateExchange.ts:661](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/FixedRateExchange.ts#L661)

___

### getExchanges

▸ **getExchanges**(): `Promise`<`string`[]\>

Returns all exchanges

#### Returns

`Promise`<`string`[]\>

Exchanges list

#### Defined in

[contracts/FixedRateExchange.ts:442](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/FixedRateExchange.ts#L442)

___

### getFairGasPrice

▸ `Protected` **getFairGasPrice**(): `Promise`<`string`\>

Retruns the gas price

#### Returns

`Promise`<`string`\>

- The fair gas price

#### Inherited from

[SmartContractWithAddress](SmartContractWithAddress.md).[getFairGasPrice](SmartContractWithAddress.md#getfairgasprice)

#### Defined in

[contracts/SmartContract.ts:70](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/SmartContract.ts#L70)

___

### getFeesInfo

▸ **getFeesInfo**(`exchangeId`): `Promise`<[`FeesInfo`](../interfaces/FeesInfo.md)\>

Get fee details for an exchange

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `exchangeId` | `string` | Exchange Id |

#### Returns

`Promise`<[`FeesInfo`](../interfaces/FeesInfo.md)\>

Exchange details

#### Defined in

[contracts/FixedRateExchange.ts:414](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/FixedRateExchange.ts#L414)

___

### getNumberOfExchanges

▸ **getNumberOfExchanges**(): `Promise`<`number`\>

Gets total number of exchanges

#### Returns

`Promise`<`number`\>

no of available exchanges

#### Defined in

[contracts/FixedRateExchange.ts:140](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/FixedRateExchange.ts#L140)

___

### getOPCCollector

▸ **getOPCCollector**(): `Promise`<`string`\>

Get OPF Collector of fixed rate contract

#### Returns

`Promise`<`string`\>

#### Defined in

[contracts/FixedRateExchange.ts:642](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/FixedRateExchange.ts#L642)

___

### getRate

▸ **getRate**(`exchangeId`): `Promise`<`string`\>

Get Exchange Rate

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `exchangeId` | `string` | Exchange ID |

#### Returns

`Promise`<`string`\>

Rate (converted from wei)

#### Defined in

[contracts/FixedRateExchange.ts:262](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/FixedRateExchange.ts#L262)

___

### getRouter

▸ **getRouter**(): `Promise`<`string`\>

Get Router address set in fixed rate contract

#### Returns

`Promise`<`string`\>

#### Defined in

[contracts/FixedRateExchange.ts:651](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/FixedRateExchange.ts#L651)

___

### isActive

▸ **isActive**(`exchangeId`): `Promise`<`boolean`\>

Check if an exchange is active

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `exchangeId` | `string` | ExchangeId |

#### Returns

`Promise`<`boolean`\>

#### Defined in

[contracts/FixedRateExchange.ts:451](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/FixedRateExchange.ts#L451)

___

### sellDatatokens

▸ **sellDatatokens**<`G`\>(`exchangeId`, `datatokenAmount`, `minBaseTokenAmount`, `consumeMarketAddress?`, `consumeMarketFee?`, `estimateGas?`): `Promise`<[`ReceiptOrEstimate`](../modules.md#receiptorestimate)<`G`\>\>

Sell datatokenAmount while expecting at least minBaseTokenAmount

#### Type parameters

| Name | Type |
| :------ | :------ |
| `G` | extends `boolean` = ``false`` |

#### Parameters

| Name | Type | Default value | Description |
| :------ | :------ | :------ | :------ |
| `exchangeId` | `string` | `undefined` | ExchangeId |
| `datatokenAmount` | `string` | `undefined` | Amount of datatokens |
| `minBaseTokenAmount` | `string` | `undefined` | min amount of baseToken we want to receive back |
| `consumeMarketAddress` | `string` | `ZERO_ADDRESS` | consumeMarketAddress |
| `consumeMarketFee` | `string` | `'0'` | consumeMarketFee in fraction |
| `estimateGas?` | `G` | `undefined` | if True, return gas estimate |

#### Returns

`Promise`<[`ReceiptOrEstimate`](../modules.md#receiptorestimate)<`G`\>\>

transaction receipt

#### Defined in

[contracts/FixedRateExchange.ts:93](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/FixedRateExchange.ts#L93)

___

### setAllowedSwapper

▸ **setAllowedSwapper**<`G`\>(`exchangeId`, `newAllowedSwapper`, `estimateGas?`): `Promise`<[`ReceiptOrEstimate`](../modules.md#receiptorestimate)<`G`\>\>

Sets a new allowedSwapper

#### Type parameters

| Name | Type |
| :------ | :------ |
| `G` | extends `boolean` = ``false`` |

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `exchangeId` | `string` | Exchange ID |
| `newAllowedSwapper` | `string` | The address of the new allowed swapper (set address zero if we want to remove allowed swapper) |
| `estimateGas?` | `G` | if True, return gas estimate |

#### Returns

`Promise`<[`ReceiptOrEstimate`](../modules.md#receiptorestimate)<`G`\>\>

transaction receipt

#### Defined in

[contracts/FixedRateExchange.ts:182](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/FixedRateExchange.ts#L182)

___

### setRate

▸ **setRate**<`G`\>(`exchangeId`, `newRate`, `estimateGas?`): `Promise`<[`ReceiptOrEstimate`](../modules.md#receiptorestimate)<`G`\>\>

Set new rate

#### Type parameters

| Name | Type |
| :------ | :------ |
| `G` | extends `boolean` = ``false`` |

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `exchangeId` | `string` | Exchange ID |
| `newRate` | `string` | New rate |
| `estimateGas?` | `G` | if True, return gas estimate |

#### Returns

`Promise`<[`ReceiptOrEstimate`](../modules.md#receiptorestimate)<`G`\>\>

transaction receipt

#### Defined in

[contracts/FixedRateExchange.ts:152](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/FixedRateExchange.ts#L152)

___

### unitsToAmount

▸ `Protected` **unitsToAmount**(`token`, `amount`, `tokenDecimals?`): `Promise`<`string`\>

Converts an amount of units to tokens

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `token` | `string` | The token to convert |
| `amount` | `string` | The amount of units to convert |
| `tokenDecimals?` | `number` | The number of decimals in the token |

#### Returns

`Promise`<`string`\>

- The converted amount in tokens

#### Inherited from

[SmartContractWithAddress](SmartContractWithAddress.md).[unitsToAmount](SmartContractWithAddress.md#unitstoamount)

#### Defined in

[contracts/SmartContract.ts:58](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/SmartContract.ts#L58)

___

### updateMarketFee

▸ **updateMarketFee**<`G`\>(`exchangeId`, `newMarketFee`, `estimateGas?`): `Promise`<[`ReceiptOrEstimate`](../modules.md#receiptorestimate)<`G`\>\>

Set new market fee, only market fee collector can update it

#### Type parameters

| Name | Type |
| :------ | :------ |
| `G` | extends `boolean` = ``false`` |

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `exchangeId` | `string` | Exchange Id |
| `newMarketFee` | `string` | New market fee |
| `estimateGas?` | `G` | if True, return gas estimate |

#### Returns

`Promise`<[`ReceiptOrEstimate`](../modules.md#receiptorestimate)<`G`\>\>

transaction receipt

#### Defined in

[contracts/FixedRateExchange.ts:673](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/FixedRateExchange.ts#L673)

___

### updateMarketFeeCollector

▸ **updateMarketFeeCollector**<`G`\>(`exchangeId`, `newMarketFeeCollector`, `estimateGas?`): `Promise`<[`ReceiptOrEstimate`](../modules.md#receiptorestimate)<`G`\>\>

Set new market fee collector, only market fee collector can update it

#### Type parameters

| Name | Type |
| :------ | :------ |
| `G` | extends `boolean` = ``false`` |

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `exchangeId` | `string` | Exchange Id |
| `newMarketFeeCollector` | `string` | New market fee collector |
| `estimateGas?` | `G` | if True, return gas estimate |

#### Returns

`Promise`<[`ReceiptOrEstimate`](../modules.md#receiptorestimate)<`G`\>\>

transaction receipt

#### Defined in

[contracts/FixedRateExchange.ts:703](https://github.com/oceanprotocol/ocean.js/blob/c99bc5c6/src/contracts/FixedRateExchange.ts#L703)