# Interface: Web3JsV1Provider
Web3.js version 1 provider interface
This provider interface was implemented in the pre-1.0Beta releases for Web3.js.
This interface allowed sending synchonous requests, support for which was later dropped.
## Methods
### send
▸ **send**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md)): *[JSONRPCResponsePayload](#class-jsonrpcresponsepayload)*
*Defined in [ethereum-types/src/index.ts:45](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L45)*
**Parameters:**
Name | Type |
------ | ------ |
`payload` | [JSONRPCRequestPayload](#class-jsonrpcrequestpayload) |
**Returns:** *[JSONRPCResponsePayload](#class-jsonrpcresponsepayload)*
___
### sendAsync
▸ **sendAsync**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void*
*Defined in [ethereum-types/src/index.ts:44](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L44)*
**Parameters:**
Name | Type |
------ | ------ |
`payload` | [JSONRPCRequestPayload](#class-jsonrpcrequestpayload) |
`callback` | [JSONRPCErrorCallback](#jsonrpcerrorcallback) |
**Returns:** *void*
# Class: SwapQuoteConsumer
## Implements
* [SwapQuoteConsumerBase](#interface-swapquoteconsumerbase)‹*[SmartContractParams](#smartcontractparams)*›
## Constructors
\+ **new SwapQuoteConsumer**(`supportedProvider`: [SupportedProvider](#supportedprovider), `options`: `Partial`): *[SwapQuoteConsumer](#class-swapquoteconsumer)*
*Defined in [asset-swapper/src/quote_consumers/swap_quote_consumer.ts:39](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/quote_consumers/swap_quote_consumer.ts#L39)*
**Parameters:**
Name | Type | Default |
------ | ------ | ------ |
`supportedProvider` | [SupportedProvider](#supportedprovider) | - |
`options` | `Partial` | {} |
**Returns:** *[SwapQuoteConsumer](#class-swapquoteconsumer)*
## Properties
### chainId
• **chainId**: *number*
*Defined in [asset-swapper/src/quote_consumers/swap_quote_consumer.ts:28](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/quote_consumers/swap_quote_consumer.ts#L28)*
___
### provider
• **provider**: *`ZeroExProvider`*
*Defined in [asset-swapper/src/quote_consumers/swap_quote_consumer.ts:27](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/quote_consumers/swap_quote_consumer.ts#L27)*
## Methods
### executeSwapQuoteOrThrowAsync
▸ **executeSwapQuoteOrThrowAsync**(`quote`: [SwapQuote](#swapquote), `opts`: `Partial`): *`Promise`*
*Implementation of [SwapQuoteConsumerBase](#interface-swapquoteconsumerbase)*
*Defined in [asset-swapper/src/quote_consumers/swap_quote_consumer.ts:89](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/quote_consumers/swap_quote_consumer.ts#L89)*
Given a SwapQuote and desired rate (in takerAsset), attempt to execute the swap with 0x extension or exchange contract.
**Parameters:**
Name | Type | Default | Description |
------ | ------ | ------ | ------ |
`quote` | [SwapQuote](#swapquote) | - | An object that conforms to SwapQuote. See type definition for more information. |
`opts` | `Partial` | {} | Options for getting CalldataInfo. See type definition for more information. |
**Returns:** *`Promise`*
___
### getCalldataOrThrowAsync
▸ **getCalldataOrThrowAsync**(`quote`: [SwapQuote](#swapquote), `opts`: `Partial`): *`Promise`*
*Implementation of [SwapQuoteConsumerBase](#interface-swapquoteconsumerbase)*
*Defined in [asset-swapper/src/quote_consumers/swap_quote_consumer.ts:61](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/quote_consumers/swap_quote_consumer.ts#L61)*
Given a SwapQuote, returns 'CalldataInfo' for a 0x extesion or exchange call. See type definition of CalldataInfo for more information.
**Parameters:**
Name | Type | Default | Description |
------ | ------ | ------ | ------ |
`quote` | [SwapQuote](#swapquote) | - | An object that conforms to SwapQuote. See type definition for more information. |
`opts` | `Partial` | {} | Options for getting SmartContractParams. See type definition for more information. |
**Returns:** *`Promise`*
___
### getOptimalExtensionContractTypeAsync
▸ **getOptimalExtensionContractTypeAsync**(`quote`: [SwapQuote](#swapquote), `opts`: `Partial`): *`Promise`*
*Defined in [asset-swapper/src/quote_consumers/swap_quote_consumer.ts:103](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/quote_consumers/swap_quote_consumer.ts#L103)*
Given a SwapQuote, returns optimal 0x protocol interface (extension or no extension) to perform the swap.
**Parameters:**
Name | Type | Default | Description |
------ | ------ | ------ | ------ |
`quote` | [SwapQuote](#swapquote) | - | An object that conforms to SwapQuote. See type definition for more information. |
`opts` | `Partial` | {} | Options for getting optimal exteion contract to fill quote. See type definition for more information. |
**Returns:** *`Promise`*
___
### getSmartContractParamsOrThrowAsync
▸ **getSmartContractParamsOrThrowAsync**(`quote`: [SwapQuote](#swapquote), `opts`: `Partial`): *`Promise>`*
*Implementation of [SwapQuoteConsumerBase](#interface-swapquoteconsumerbase)*
*Defined in [asset-swapper/src/quote_consumers/swap_quote_consumer.ts:75](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/quote_consumers/swap_quote_consumer.ts#L75)*
Given a SwapQuote, returns 'SmartContractParamsInfo' for a 0x extension or exchange call. See type definition of SmartContractParamsInfo for more information.
**Parameters:**
Name | Type | Default | Description |
------ | ------ | ------ | ------ |
`quote` | [SwapQuote](#swapquote) | - | An object that conforms to SwapQuote. See type definition for more information. |
`opts` | `Partial` | {} | Options for getting SmartContractParams. See type definition for more information. |
**Returns:** *`Promise>`*
___
### `Static` getSwapQuoteConsumer
▸ **getSwapQuoteConsumer**(`supportedProvider`: [SupportedProvider](#supportedprovider), `options`: `Partial`): *[SwapQuoteConsumer](#class-swapquoteconsumer)*
*Defined in [asset-swapper/src/quote_consumers/swap_quote_consumer.ts:34](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/quote_consumers/swap_quote_consumer.ts#L34)*
**Parameters:**
Name | Type | Default |
------ | ------ | ------ |
`supportedProvider` | [SupportedProvider](#supportedprovider) | - |
`options` | `Partial` | {} |
**Returns:** *[SwapQuoteConsumer](#class-swapquoteconsumer)*
# Class: SwapQuoter
## Constructors
\+ **new SwapQuoter**(`supportedProvider`: [SupportedProvider](#supportedprovider), `orderbook`: `Orderbook`, `options`: `Partial`): *[SwapQuoter](#class-swapquoter)*
*Defined in [asset-swapper/src/swap_quoter.ts:129](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/swap_quoter.ts#L129)*
Instantiates a new SwapQuoter instance
**Parameters:**
Name | Type | Default | Description |
------ | ------ | ------ | ------ |
`supportedProvider` | [SupportedProvider](#supportedprovider) | - | The Provider instance you would like to use for interacting with the Ethereum network. |
`orderbook` | `Orderbook` | - | An object that conforms to Orderbook, see type for definition. |
`options` | `Partial` | {} | Initialization options for the SwapQuoter. See type definition for details. |
**Returns:** *[SwapQuoter](#class-swapquoter)*
An instance of SwapQuoter
## Properties
### expiryBufferMs
• **expiryBufferMs**: *number*
*Defined in [asset-swapper/src/swap_quoter.ts:32](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/swap_quoter.ts#L32)*
___
### orderbook
• **orderbook**: *`Orderbook`*
*Defined in [asset-swapper/src/swap_quoter.ts:31](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/swap_quoter.ts#L31)*
___
### permittedOrderFeeTypes
• **permittedOrderFeeTypes**: *`Set`*
*Defined in [asset-swapper/src/swap_quoter.ts:33](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/swap_quoter.ts#L33)*
___
### provider
• **provider**: *`ZeroExProvider`*
*Defined in [asset-swapper/src/swap_quoter.ts:30](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/swap_quoter.ts#L30)*
## Methods
### destroyAsync
▸ **destroyAsync**(): *`Promise`*
*Defined in [asset-swapper/src/swap_quoter.ts:393](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/swap_quoter.ts#L393)*
Destroys any subscriptions or connections.
**Returns:** *`Promise`*
___
### getAvailableMakerAssetDatasAsync
▸ **getAvailableMakerAssetDatasAsync**(`takerAssetData`: string): *`Promise`*
*Defined in [asset-swapper/src/swap_quoter.ts:321](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/swap_quoter.ts#L321)*
Get the asset data of all assets that are purchaseable with takerAssetData in the order provider passed in at init.
**Parameters:**
Name | Type |
------ | ------ |
`takerAssetData` | string |
**Returns:** *`Promise`*
An array of asset data strings that are purchaseable with takerAssetData.
___
### getAvailableTakerAssetDatasAsync
▸ **getAvailableTakerAssetDatasAsync**(`makerAssetData`: string): *`Promise`*
*Defined in [asset-swapper/src/swap_quoter.ts:306](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/swap_quoter.ts#L306)*
Get the asset data of all assets that can be used to purchase makerAssetData in the order provider passed in at init.
**Parameters:**
Name | Type |
------ | ------ |
`makerAssetData` | string |
**Returns:** *`Promise`*
An array of asset data strings that can purchase makerAssetData.
___
### getEtherTokenAssetDataOrThrowAsync
▸ **getEtherTokenAssetDataOrThrowAsync**(): *`Promise`*
*Defined in [asset-swapper/src/swap_quoter.ts:400](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/swap_quoter.ts#L400)*
Utility function to get assetData for Ether token.
**Returns:** *`Promise`*
___
### getLiquidityForMakerTakerAssetDataPairAsync
▸ **getLiquidityForMakerTakerAssetDataPairAsync**(`makerAssetData`: string, `takerAssetData`: string): *`Promise`*
*Defined in [asset-swapper/src/swap_quoter.ts:281](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/swap_quoter.ts#L281)*
Returns information about available liquidity for an asset
Does not factor in slippage or fees
**Parameters:**
Name | Type | Description |
------ | ------ | ------ |
`makerAssetData` | string | The makerAssetData of the desired asset to swap for (for more info: https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md). |
`takerAssetData` | string | The takerAssetData of the asset to swap makerAssetData for (for more info: https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md). |
**Returns:** *`Promise`*
An object that conforms to LiquidityForTakerMakerAssetDataPair that satisfies the request. See type definition for more information.
___
### getMarketBuySwapQuoteAsync
▸ **getMarketBuySwapQuoteAsync**(`makerTokenAddress`: string, `takerTokenAddress`: string, `makerAssetBuyAmount`: `BigNumber`, `options`: `Partial`): *`Promise`*
*Defined in [asset-swapper/src/swap_quoter.ts:223](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/swap_quoter.ts#L223)*
Get a `SwapQuote` containing all information relevant to fulfilling a swap between a desired ERC20 token address and ERC20 owned by a provided address.
You can then pass the `SwapQuote` to a `SwapQuoteConsumer` to execute a buy, or process SwapQuote for on-chain consumption.
**Parameters:**
Name | Type | Default | Description |
------ | ------ | ------ | ------ |
`makerTokenAddress` | string | - | The address of the maker asset |
`takerTokenAddress` | string | - | The address of the taker asset |
`makerAssetBuyAmount` | `BigNumber` | - | The amount of maker asset to swap for. |
`options` | `Partial` | {} | Options for the request. See type definition for more information. |
**Returns:** *`Promise`*
An object that conforms to SwapQuote that satisfies the request. See type definition for more information.
___
### getMarketBuySwapQuoteForAssetDataAsync
▸ **getMarketBuySwapQuoteForAssetDataAsync**(`makerAssetData`: string, `takerAssetData`: string, `makerAssetBuyAmount`: `BigNumber`, `options`: `Partial`): *`Promise`*
*Defined in [asset-swapper/src/swap_quoter.ts:198](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/swap_quoter.ts#L198)*
Get a `SwapQuote` containing all information relevant to fulfilling a swap between a desired ERC20 token address and ERC20 owned by a provided address.
You can then pass the `SwapQuote` to a `SwapQuoteConsumer` to execute a buy, or process SwapQuote for on-chain consumption.
**Parameters:**
Name | Type | Default | Description |
------ | ------ | ------ | ------ |
`makerAssetData` | string | - | The makerAssetData of the desired asset to swap for (for more info: https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md). |
`takerAssetData` | string | - | The takerAssetData of the asset to swap makerAssetData for (for more info: https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md). |
`makerAssetBuyAmount` | `BigNumber` | - | The amount of maker asset to swap for. |
`options` | `Partial` | {} | Options for the request. See type definition for more information. |
**Returns:** *`Promise`*
An object that conforms to SwapQuote that satisfies the request. See type definition for more information.
___
### getMarketSellSwapQuoteAsync
▸ **getMarketSellSwapQuoteAsync**(`makerTokenAddress`: string, `takerTokenAddress`: string, `takerAssetSellAmount`: `BigNumber`, `options`: `Partial`): *`Promise`*
*Defined in [asset-swapper/src/swap_quoter.ts:253](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/swap_quoter.ts#L253)*
Get a `SwapQuote` containing all information relevant to fulfilling a swap between a desired ERC20 token address and ERC20 owned by a provided address.
You can then pass the `SwapQuote` to a `SwapQuoteConsumer` to execute a buy, or process SwapQuote for on-chain consumption.
**Parameters:**
Name | Type | Default | Description |
------ | ------ | ------ | ------ |
`makerTokenAddress` | string | - | The address of the maker asset |
`takerTokenAddress` | string | - | The address of the taker asset |
`takerAssetSellAmount` | `BigNumber` | - | The amount of taker asset to sell. |
`options` | `Partial` | {} | Options for the request. See type definition for more information. |
**Returns:** *`Promise`*
An object that conforms to SwapQuote that satisfies the request. See type definition for more information.
___
### getMarketSellSwapQuoteForAssetDataAsync
▸ **getMarketSellSwapQuoteForAssetDataAsync**(`makerAssetData`: string, `takerAssetData`: string, `takerAssetSellAmount`: `BigNumber`, `options`: `Partial`): *`Promise`*
*Defined in [asset-swapper/src/swap_quoter.ts:172](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/swap_quoter.ts#L172)*
Get a `SwapQuote` containing all information relevant to fulfilling a swap between a desired ERC20 token address and ERC20 owned by a provided address.
You can then pass the `SwapQuote` to a `SwapQuoteConsumer` to execute a buy, or process SwapQuote for on-chain consumption.
**Parameters:**
Name | Type | Default | Description |
------ | ------ | ------ | ------ |
`makerAssetData` | string | - | The makerAssetData of the desired asset to swap for (for more info: https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md). |
`takerAssetData` | string | - | The takerAssetData of the asset to swap makerAssetData for (for more info: https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md). |
`takerAssetSellAmount` | `BigNumber` | - | The amount of taker asset to swap for. |
`options` | `Partial` | {} | Options for the request. See type definition for more information. |
**Returns:** *`Promise`*
An object that conforms to SwapQuote that satisfies the request. See type definition for more information.
___
### getPrunedSignedOrdersAsync
▸ **getPrunedSignedOrdersAsync**(`makerAssetData`: string, `takerAssetData`: string): *`Promise`*
*Defined in [asset-swapper/src/swap_quoter.ts:355](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/swap_quoter.ts#L355)*
Grab orders from the order provider, prunes for valid orders with provided OrderPruner options
**Parameters:**
Name | Type | Description |
------ | ------ | ------ |
`makerAssetData` | string | The makerAssetData of the desired asset to swap for (for more info: https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md). |
`takerAssetData` | string | The takerAssetData of the asset to swap makerAssetData for (for more info: https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md). |
**Returns:** *`Promise`*
___
### isSwapQuoteFillableByTakerAddressAsync
▸ **isSwapQuoteFillableByTakerAddressAsync**(`swapQuote`: [SwapQuote](#swapquote), `takerAddress`: string): *`Promise<[boolean, boolean]>`*
*Defined in [asset-swapper/src/swap_quoter.ts:376](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/swap_quoter.ts#L376)*
Util function to check if takerAddress's allowance is enough for 0x exchange contracts to conduct the swap specified by the swapQuote.
**Parameters:**
Name | Type | Description |
------ | ------ | ------ |
`swapQuote` | [SwapQuote](#swapquote) | The swapQuote in question to check enough allowance enabled for 0x exchange contracts to conduct the swap. |
`takerAddress` | string | The address of the taker of the provided swapQuote |
**Returns:** *`Promise<[boolean, boolean]>`*
___
### isTakerMakerAssetDataPairAvailableAsync
▸ **isTakerMakerAssetDataPairAvailableAsync**(`makerAssetData`: string, `takerAssetData`: string): *`Promise`*
*Defined in [asset-swapper/src/swap_quoter.ts:338](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/swap_quoter.ts#L338)*
Validates the taker + maker asset pair is available from the order provider provided to `SwapQuote`.
**Parameters:**
Name | Type | Description |
------ | ------ | ------ |
`makerAssetData` | string | The makerAssetData of the desired asset to swap for (for more info: https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md). |
`takerAssetData` | string | The takerAssetData of the asset to swap makerAssetData for (for more info: https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md). |
**Returns:** *`Promise`*
A boolean on if the taker, maker pair exists
___
### `Static` getSwapQuoterForMeshEndpoint
▸ **getSwapQuoterForMeshEndpoint**(`supportedProvider`: [SupportedProvider](#supportedprovider), `meshEndpoint`: string, `options`: `Partial`): *[SwapQuoter](#class-swapquoter)*
*Defined in [asset-swapper/src/swap_quoter.ts:116](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/swap_quoter.ts#L116)*
Instantiates a new SwapQuoter instance given a 0x Mesh endpoint. This pulls all available liquidity stored in Mesh
**Parameters:**
Name | Type | Default | Description |
------ | ------ | ------ | ------ |
`supportedProvider` | [SupportedProvider](#supportedprovider) | - | The Provider instance you would like to use for interacting with the Ethereum network. |
`meshEndpoint` | string | - | The standard relayer API base HTTP url you would like to source orders from. |
`options` | `Partial` | {} | Initialization options for the SwapQuoter. See type definition for details. |
**Returns:** *[SwapQuoter](#class-swapquoter)*
An instance of SwapQuoter
___
### `Static` getSwapQuoterForProvidedOrders
▸ **getSwapQuoterForProvidedOrders**(`supportedProvider`: [SupportedProvider](#supportedprovider), `orders`: `SignedOrder`[], `options`: `Partial`): *[SwapQuoter](#class-swapquoter)*
*Defined in [asset-swapper/src/swap_quoter.ts:44](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/swap_quoter.ts#L44)*
Instantiates a new SwapQuoter instance given existing liquidity in the form of orders and feeOrders.
**Parameters:**
Name | Type | Default | Description |
------ | ------ | ------ | ------ |
`supportedProvider` | [SupportedProvider](#supportedprovider) | - | The Provider instance you would like to use for interacting with the Ethereum network. |
`orders` | `SignedOrder`[] | - | A non-empty array of objects that conform to SignedOrder. All orders must have the same makerAssetData and takerAssetData. |
`options` | `Partial` | {} | Initialization options for the SwapQuoter. See type definition for details. |
**Returns:** *[SwapQuoter](#class-swapquoter)*
An instance of SwapQuoter
___
### `Static` getSwapQuoterForStandardRelayerAPIUrl
▸ **getSwapQuoterForStandardRelayerAPIUrl**(`supportedProvider`: [SupportedProvider](#supportedprovider), `sraApiUrl`: string, `options`: `Partial`): *[SwapQuoter](#class-swapquoter)*
*Defined in [asset-swapper/src/swap_quoter.ts:64](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/swap_quoter.ts#L64)*
Instantiates a new SwapQuoter instance given a [Standard Relayer API](https://github.com/0xProject/standard-relayer-api) endpoint
**Parameters:**
Name | Type | Default | Description |
------ | ------ | ------ | ------ |
`supportedProvider` | [SupportedProvider](#supportedprovider) | - | The Provider instance you would like to use for interacting with the Ethereum network. |
`sraApiUrl` | string | - | The standard relayer API base HTTP url you would like to source orders from. |
`options` | `Partial` | {} | Initialization options for the SwapQuoter. See type definition for details. |
**Returns:** *[SwapQuoter](#class-swapquoter)*
An instance of SwapQuoter
___
### `Static` getSwapQuoterForStandardRelayerAPIWebsocket
▸ **getSwapQuoterForStandardRelayerAPIWebsocket**(`supportedProvider`: [SupportedProvider](#supportedprovider), `sraApiUrl`: string, `sraWebsocketAPIUrl`: string, `options`: `Partial`): *[SwapQuoter](#class-swapquoter)*
*Defined in [asset-swapper/src/swap_quoter.ts:91](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/swap_quoter.ts#L91)*
Instantiates a new SwapQuoter instance given a [Standard Relayer API](https://github.com/0xProject/standard-relayer-api) endpoint
and a websocket endpoint. This is more effecient than `getSwapQuoterForStandardRelayerAPIUrl` when requesting multiple quotes.
**Parameters:**
Name | Type | Default | Description |
------ | ------ | ------ | ------ |
`supportedProvider` | [SupportedProvider](#supportedprovider) | - | The Provider instance you would like to use for interacting with the Ethereum network. |
`sraApiUrl` | string | - | The standard relayer API base HTTP url you would like to source orders from. |
`sraWebsocketAPIUrl` | string | - | - |
`options` | `Partial` | {} | Initialization options for the SwapQuoter. See type definition for details. |
**Returns:** *[SwapQuoter](#class-swapquoter)*
An instance of SwapQuoter
# Class: BaseOrderProvider
## Constructors
\+ **new BaseOrderProvider**(`orderStore`: [OrderStore](_orderbook_src_order_store_.orderstore.md)): *[BaseOrderProvider](#class-baseorderprovider)*
*Defined in [orderbook/src/order_provider/base_order_provider.ts:12](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/order_provider/base_order_provider.ts#L12)*
**Parameters:**
Name | Type |
------ | ------ |
`orderStore` | [OrderStore](#class-orderstore) |
**Returns:** *[BaseOrderProvider](#class-baseorderprovider)*
## Properties
### _orderStore
• **_orderStore**: *[OrderStore](#class-orderstore)*
*Defined in [orderbook/src/order_provider/base_order_provider.ts:12](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/order_provider/base_order_provider.ts#L12)*
## Methods
### `Abstract` addOrdersAsync
▸ **addOrdersAsync**(`orders`: `SignedOrder`[]): *`Promise`*
*Defined in [orderbook/src/order_provider/base_order_provider.ts:27](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/order_provider/base_order_provider.ts#L27)*
**Parameters:**
Name | Type |
------ | ------ |
`orders` | `SignedOrder`[] |
**Returns:** *`Promise`*
___
### `Abstract` createSubscriptionForAssetPairAsync
▸ **createSubscriptionForAssetPairAsync**(`makerAssetData`: string, `takerAssetData`: string): *`Promise`*
*Defined in [orderbook/src/order_provider/base_order_provider.ts:18](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/order_provider/base_order_provider.ts#L18)*
**Parameters:**
Name | Type |
------ | ------ |
`makerAssetData` | string |
`takerAssetData` | string |
**Returns:** *`Promise`*
___
### `Abstract` destroyAsync
▸ **destroyAsync**(): *`Promise`*
*Defined in [orderbook/src/order_provider/base_order_provider.ts:25](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/order_provider/base_order_provider.ts#L25)*
**Returns:** *`Promise`*
___
### `Abstract` getAvailableAssetDatasAsync
▸ **getAvailableAssetDatasAsync**(): *`Promise`*
*Defined in [orderbook/src/order_provider/base_order_provider.ts:23](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/order_provider/base_order_provider.ts#L23)*
**Returns:** *`Promise`*
# Class: OrderSet
## Constructors
\+ **new OrderSet**(`orders`: `APIOrder`[]): *[OrderSet](#class-orderset)*
*Defined in [orderbook/src/order_set.ts:6](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/order_set.ts#L6)*
**Parameters:**
Name | Type | Default |
------ | ------ | ------ |
`orders` | `APIOrder`[] | [] |
**Returns:** *[OrderSet](#class-orderset)*
## Methods
### add
▸ **add**(`item`: `APIOrder`): *void*
*Defined in [orderbook/src/order_set.ts:19](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/order_set.ts#L19)*
**Parameters:**
Name | Type |
------ | ------ |
`item` | `APIOrder` |
**Returns:** *void*
___
### addMany
▸ **addMany**(`items`: `APIOrder`[]): *void*
*Defined in [orderbook/src/order_set.ts:25](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/order_set.ts#L25)*
**Parameters:**
Name | Type |
------ | ------ |
`items` | `APIOrder`[] |
**Returns:** *void*
___
### delete
▸ **delete**(`item`: `APIOrder`): *boolean*
*Defined in [orderbook/src/order_set.ts:57](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/order_set.ts#L57)*
**Parameters:**
Name | Type |
------ | ------ |
`item` | `APIOrder` |
**Returns:** *boolean*
___
### deleteMany
▸ **deleteMany**(`items`: `APIOrder`[]): *void*
*Defined in [orderbook/src/order_set.ts:61](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/order_set.ts#L61)*
**Parameters:**
Name | Type |
------ | ------ |
`items` | `APIOrder`[] |
**Returns:** *void*
___
### diff
▸ **diff**(`other`: [OrderSet](#class-orderset)): *object*
*Defined in [orderbook/src/order_set.ts:35](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/order_set.ts#L35)*
**Parameters:**
Name | Type |
------ | ------ |
`other` | [OrderSet](#class-orderset) |
**Returns:** *object*
___
### has
▸ **has**(`order`: `APIOrder`): *boolean*
*Defined in [orderbook/src/order_set.ts:31](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/order_set.ts#L31)*
**Parameters:**
Name | Type |
------ | ------ |
`order` | `APIOrder` |
**Returns:** *boolean*
___
### size
▸ **size**(): *number*
*Defined in [orderbook/src/order_set.ts:15](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/order_set.ts#L15)*
**Returns:** *number*
___
### values
▸ **values**(): *`IterableIterator`*
*Defined in [orderbook/src/order_set.ts:53](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/order_set.ts#L53)*
**Returns:** *`IterableIterator`*
# Class: OrderStore
## Methods
### getOrderSetForAssetPair
▸ **getOrderSetForAssetPair**(`assetPairKey`: string): *[OrderSet](#class-orderset)*
*Defined in [orderbook/src/order_store.ts:19](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/order_store.ts#L19)*
**Parameters:**
Name | Type |
------ | ------ |
`assetPairKey` | string |
**Returns:** *[OrderSet](#class-orderset)*
___
### getOrderSetForAssets
▸ **getOrderSetForAssets**(`makerAssetData`: string, `takerAssetData`: string): *[OrderSet](#class-orderset)*
*Defined in [orderbook/src/order_store.ts:15](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/order_store.ts#L15)*
**Parameters:**
Name | Type |
------ | ------ |
`makerAssetData` | string |
`takerAssetData` | string |
**Returns:** *[OrderSet](#class-orderset)*
___
### has
▸ **has**(`assetPairKey`: string): *boolean*
*Defined in [orderbook/src/order_store.ts:34](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/order_store.ts#L34)*
**Parameters:**
Name | Type |
------ | ------ |
`assetPairKey` | string |
**Returns:** *boolean*
___
### keys
▸ **keys**(): *`IterableIterator`*
*Defined in [orderbook/src/order_store.ts:40](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/order_store.ts#L40)*
**Returns:** *`IterableIterator`*
___
### update
▸ **update**(`addedRemoved`: [AddedRemovedOrders](#interface-addedremovedorders)): *void*
*Defined in [orderbook/src/order_store.ts:28](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/order_store.ts#L28)*
**Parameters:**
Name | Type |
------ | ------ |
`addedRemoved` | [AddedRemovedOrders](#interface-addedremovedorders) |
**Returns:** *void*
___
### values
▸ **values**(`assetPairKey`: string): *`APIOrder`[]*
*Defined in [orderbook/src/order_store.ts:37](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/order_store.ts#L37)*
**Parameters:**
Name | Type |
------ | ------ |
`assetPairKey` | string |
**Returns:** *`APIOrder`[]*
___
### `Static` assetPairKeyToAssets
▸ **assetPairKeyToAssets**(`assetPairKey`: string): *string[]*
*Defined in [orderbook/src/order_store.ts:12](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/order_store.ts#L12)*
**Parameters:**
Name | Type |
------ | ------ |
`assetPairKey` | string |
**Returns:** *string[]*
___
### `Static` getKeyForAssetPair
▸ **getKeyForAssetPair**(`makerAssetData`: string, `takerAssetData`: string): *string*
*Defined in [orderbook/src/order_store.ts:9](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/order_store.ts#L9)*
**Parameters:**
Name | Type |
------ | ------ |
`makerAssetData` | string |
`takerAssetData` | string |
**Returns:** *string*
# Class: Orderbook
## Constructors
\+ **new Orderbook**(`orderProvider`: [BaseOrderProvider](_orderbook_src_order_provider_base_order_provider_.baseorderprovider.md), `orderStore`: [OrderStore](_orderbook_src_order_store_.orderstore.md)): *[Orderbook](#class-orderbook)*
*Defined in [orderbook/src/orderbook.ts:55](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/orderbook.ts#L55)*
Creates an Orderbook with the order provider. All order updates are stored
in the `OrderStore`.
**Parameters:**
Name | Type | Description |
------ | ------ | ------ |
`orderProvider` | [BaseOrderProvider](#class-baseorderprovider) | the order provider, e.g SRAWebbsocketOrderProvider |
`orderStore` | [OrderStore](#class-orderstore) | the order store where orders are added and deleted |
**Returns:** *[Orderbook](#class-orderbook)*
## Methods
### addOrdersAsync
▸ **addOrdersAsync**(`orders`: `SignedOrder`[]): *`Promise`*
*Defined in [orderbook/src/orderbook.ts:98](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/orderbook.ts#L98)*
Adds the orders to the Order Provider. All accepted orders will be returned
and rejected orders will be returned with an message indicating a reason for its rejection
**Parameters:**
Name | Type | Description |
------ | ------ | ------ |
`orders` | `SignedOrder`[] | The set of Orders to add to the Order Provider |
**Returns:** *`Promise`*
___
### destroyAsync
▸ **destroyAsync**(): *`Promise`*
*Defined in [orderbook/src/orderbook.ts:104](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/orderbook.ts#L104)*
Destroys any subscriptions or connections.
**Returns:** *`Promise`*
___
### getAvailableAssetDatasAsync
▸ **getAvailableAssetDatasAsync**(): *`Promise`*
*Defined in [orderbook/src/orderbook.ts:90](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/orderbook.ts#L90)*
Returns all of the Available Asset Pairs for the provided Order Provider.
**Returns:** *`Promise`*
___
### getOrdersAsync
▸ **getOrdersAsync**(`makerAssetData`: string, `takerAssetData`: string): *`Promise`*
*Defined in [orderbook/src/orderbook.ts:75](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/orderbook.ts#L75)*
Returns all orders where the order.makerAssetData == makerAssetData and
order.takerAssetData == takerAssetData. This pair is then subscribed to
and all future updates will be stored. The first request
to `getOrdersAsync` might fetch the orders from the Order Provider and create a subscription.
Subsequent requests will be quick and up to date and synced with the Order Provider state.
**Parameters:**
Name | Type | Description |
------ | ------ | ------ |
`makerAssetData` | string | the maker asset data |
`takerAssetData` | string | the taker asset data |
**Returns:** *`Promise`*
___
### `Static` getOrderbookForMeshProvider
▸ **getOrderbookForMeshProvider**(`opts`: [MeshOrderProviderOpts](#interface-meshorderprovideropts)): *[Orderbook](#class-orderbook)*
*Defined in [orderbook/src/orderbook.ts:52](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/orderbook.ts#L52)*
Creates an Orderbook with a Mesh Order Provider. This Provider fetches ALL orders
and subscribes to updates on ALL orders.
**Parameters:**
Name | Type | Description |
------ | ------ | ------ |
`opts` | [MeshOrderProviderOpts](#interface-meshorderprovideropts) | the `MeshOrderProviderOpts` |
**Returns:** *[Orderbook](#class-orderbook)*
___
### `Static` getOrderbookForPollingProvider
▸ **getOrderbookForPollingProvider**(`opts`: [SRAPollingOrderProviderOpts](#interface-srapollingorderprovideropts)): *[Orderbook](#class-orderbook)*
*Defined in [orderbook/src/orderbook.ts:43](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/orderbook.ts#L43)*
Creates an Orderbook with SRA Polling Provider. This Provider simply polls every interval.
**Parameters:**
Name | Type | Description |
------ | ------ | ------ |
`opts` | [SRAPollingOrderProviderOpts](#interface-srapollingorderprovideropts) | the `SRAPollingOrderProviderOpts` |
**Returns:** *[Orderbook](#class-orderbook)*
___
### `Static` getOrderbookForProvidedOrders
▸ **getOrderbookForProvidedOrders**(`orders`: `SignedOrder`[]): *[Orderbook](#class-orderbook)*
*Defined in [orderbook/src/orderbook.ts:26](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/orderbook.ts#L26)*
Creates an Orderbook with the provided orders. This provider simply stores the
orders and allows querying. No validation or subscriptions occur.
**Parameters:**
Name | Type | Description |
------ | ------ | ------ |
`orders` | `SignedOrder`[] | the set of SignedOrders |
**Returns:** *[Orderbook](#class-orderbook)*
___
### `Static` getOrderbookForWebsocketProvider
▸ **getOrderbookForWebsocketProvider**(`opts`: [SRAWebsocketOrderProviderOpts](#interface-srawebsocketorderprovideropts)): *[Orderbook](#class-orderbook)*
*Defined in [orderbook/src/orderbook.ts:35](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/orderbook.ts#L35)*
Creates an Orderbook with the SRA Websocket Provider. This Provider fetches orders via
the SRA http endpoint and then subscribes to the asset pair for future updates.
**Parameters:**
Name | Type | Description |
------ | ------ | ------ |
`opts` | [SRAWebsocketOrderProviderOpts](#interface-srawebsocketorderprovideropts) | the `SRAWebsocketOrderProviderOpts` |
**Returns:** *[Orderbook](#class-orderbook)*
# Enumeration: ExtensionContractType
Represents the varying smart contracts that can consume a valid swap quote
## Enumeration members
### Forwarder
• **Forwarder**: = "FORWARDER"
*Defined in [asset-swapper/src/types.ts:106](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L106)*
___
### None
• **None**: = "NONE"
*Defined in [asset-swapper/src/types.ts:107](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L107)*
# Enumeration: SwapQuoterError
Possible error messages thrown by an SwapQuoter instance or associated static methods.
## Enumeration members
### AssetUnavailable
• **AssetUnavailable**: = "ASSET_UNAVAILABLE"
*Defined in [asset-swapper/src/types.ts:298](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L298)*
___
### InsufficientAssetLiquidity
• **InsufficientAssetLiquidity**: = "INSUFFICIENT_ASSET_LIQUIDITY"
*Defined in [asset-swapper/src/types.ts:297](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L297)*
___
### NoEtherTokenContractFound
• **NoEtherTokenContractFound**: = "NO_ETHER_TOKEN_CONTRACT_FOUND"
*Defined in [asset-swapper/src/types.ts:295](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L295)*
___
### NoGasPriceProvidedOrEstimated
• **NoGasPriceProvidedOrEstimated**: = "NO_GAS_PRICE_PROVIDED_OR_ESTIMATED"
*Defined in [asset-swapper/src/types.ts:299](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L299)*
___
### StandardRelayerApiError
• **StandardRelayerApiError**: = "STANDARD_RELAYER_API_ERROR"
*Defined in [asset-swapper/src/types.ts:296](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L296)*
# Interface: CalldataInfo
Represents the metadata to call a smart contract with calldata.
calldataHexString: The hexstring of the calldata.
methodAbi: The ABI of the smart contract method to call.
toAddress: The contract address to call.
ethAmount: The eth amount in wei to send with the smart contract call.
## Properties
### calldataHexString
• **calldataHexString**: *string*
*Defined in [asset-swapper/src/types.ts:55](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L55)*
___
### ethAmount
• **ethAmount**: *`BigNumber`*
*Defined in [asset-swapper/src/types.ts:58](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L58)*
___
### methodAbi
• **methodAbi**: *`MethodAbi`*
*Defined in [asset-swapper/src/types.ts:56](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L56)*
___
### toAddress
• **toAddress**: *string*
*Defined in [asset-swapper/src/types.ts:57](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L57)*
# Interface: GetExtensionContractTypeOpts
## Properties
### `Optional` ethAmount
• **ethAmount**? : *`BigNumber`*
*Defined in [asset-swapper/src/types.ts:209](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L209)*
___
### `Optional` takerAddress
• **takerAddress**? : *undefined | string*
*Defined in [asset-swapper/src/types.ts:208](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L208)*
# Interface: LiquidityForTakerMakerAssetDataPair
Represents available liquidity for a given assetData.
## Properties
### makerAssetAvailableInBaseUnits
• **makerAssetAvailableInBaseUnits**: *`BigNumber`*
*Defined in [asset-swapper/src/types.ts:306](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L306)*
___
### takerAssetAvailableInBaseUnits
• **takerAssetAvailableInBaseUnits**: *`BigNumber`*
*Defined in [asset-swapper/src/types.ts:307](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L307)*
# Interface: MarketBuySwapQuote
makerAssetFillAmount: The amount of makerAsset bought with takerAsset.
type: Specified MarketOperation the SwapQuote is provided for
## Properties
### bestCaseQuoteInfo
• **bestCaseQuoteInfo**: *[SwapQuoteInfo](#class-swapquoteinfo)*
*Inherited from [SwapQuoteBase](#interface-swapquotebase).[bestCaseQuoteInfo](#bestcasequoteinfo)*
*Defined in [asset-swapper/src/types.ts:223](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L223)*
___
### makerAssetData
• **makerAssetData**: *string*
*Inherited from [SwapQuoteBase](#interface-swapquotebase).[makerAssetData](#makerassetdata)*
*Defined in [asset-swapper/src/types.ts:221](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L221)*
___
### makerAssetFillAmount
• **makerAssetFillAmount**: *`BigNumber`*
*Defined in [asset-swapper/src/types.ts:241](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L241)*
___
### orders
• **orders**: *`SignedOrder`[]*
*Inherited from [SwapQuoteBase](#interface-swapquotebase).[orders](#orders)*
*Defined in [asset-swapper/src/types.ts:222](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L222)*
___
### takerAssetData
• **takerAssetData**: *string*
*Inherited from [SwapQuoteBase](#interface-swapquotebase).[takerAssetData](#takerassetdata)*
*Defined in [asset-swapper/src/types.ts:220](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L220)*
___
### type
• **type**: *[Buy](#buy)*
*Defined in [asset-swapper/src/types.ts:242](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L242)*
___
### worstCaseQuoteInfo
• **worstCaseQuoteInfo**: *[SwapQuoteInfo](#class-swapquoteinfo)*
*Inherited from [SwapQuoteBase](#interface-swapquotebase).[worstCaseQuoteInfo](#worstcasequoteinfo)*
*Defined in [asset-swapper/src/types.ts:224](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L224)*
# Interface: MarketSellSwapQuote
takerAssetFillAmount: The amount of takerAsset sold for makerAsset.
type: Specified MarketOperation the SwapQuote is provided for
## Properties
### bestCaseQuoteInfo
• **bestCaseQuoteInfo**: *[SwapQuoteInfo](#class-swapquoteinfo)*
*Inherited from [SwapQuoteBase](#interface-swapquotebase).[bestCaseQuoteInfo](#bestcasequoteinfo)*
*Defined in [asset-swapper/src/types.ts:223](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L223)*
___
### makerAssetData
• **makerAssetData**: *string*
*Inherited from [SwapQuoteBase](#interface-swapquotebase).[makerAssetData](#makerassetdata)*
*Defined in [asset-swapper/src/types.ts:221](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L221)*
___
### orders
• **orders**: *`SignedOrder`[]*
*Inherited from [SwapQuoteBase](#interface-swapquotebase).[orders](#orders)*
*Defined in [asset-swapper/src/types.ts:222](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L222)*
___
### takerAssetData
• **takerAssetData**: *string*
*Inherited from [SwapQuoteBase](#interface-swapquotebase).[takerAssetData](#takerassetdata)*
*Defined in [asset-swapper/src/types.ts:220](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L220)*
___
### takerAssetFillAmount
• **takerAssetFillAmount**: *`BigNumber`*
*Defined in [asset-swapper/src/types.ts:232](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L232)*
___
### type
• **type**: *[Sell](#sell)*
*Defined in [asset-swapper/src/types.ts:233](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L233)*
___
### worstCaseQuoteInfo
• **worstCaseQuoteInfo**: *[SwapQuoteInfo](#class-swapquoteinfo)*
*Inherited from [SwapQuoteBase](#interface-swapquotebase).[worstCaseQuoteInfo](#worstcasequoteinfo)*
*Defined in [asset-swapper/src/types.ts:224](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L224)*
# Interface: PrunedSignedOrder
fillableMakerAssetAmount: Amount of makerAsset that is fillable
fillableTakerAssetAmount: Amount of takerAsset that is fillable
fillableTakerFeeAmount: Amount of takerFee paid to fill fillableTakerAssetAmount
## Properties
### chainId
• **chainId**: *number*
Defined in types/lib/index.d.ts:4
___
### exchangeAddress
• **exchangeAddress**: *string*
Defined in types/lib/index.d.ts:5
___
### expirationTimeSeconds
• **expirationTimeSeconds**: *`BigNumber`*
Defined in types/lib/index.d.ts:14
___
### feeRecipientAddress
• **feeRecipientAddress**: *string*
Defined in types/lib/index.d.ts:8
___
### fillableMakerAssetAmount
• **fillableMakerAssetAmount**: *`BigNumber`*
*Defined in [asset-swapper/src/types.ts:42](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L42)*
___
### fillableTakerAssetAmount
• **fillableTakerAssetAmount**: *`BigNumber`*
*Defined in [asset-swapper/src/types.ts:43](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L43)*
___
### fillableTakerFeeAmount
• **fillableTakerFeeAmount**: *`BigNumber`*
*Defined in [asset-swapper/src/types.ts:44](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L44)*
___
### makerAddress
• **makerAddress**: *string*
Defined in types/lib/index.d.ts:6
___
### makerAssetAmount
• **makerAssetAmount**: *`BigNumber`*
Defined in types/lib/index.d.ts:10
___
### makerAssetData
• **makerAssetData**: *string*
Defined in types/lib/index.d.ts:16
___
### makerFee
• **makerFee**: *`BigNumber`*
Defined in types/lib/index.d.ts:12
___
### makerFeeAssetData
• **makerFeeAssetData**: *string*
Defined in types/lib/index.d.ts:18
___
### salt
• **salt**: *`BigNumber`*
Defined in types/lib/index.d.ts:15
___
### senderAddress
• **senderAddress**: *string*
Defined in types/lib/index.d.ts:9
___
### signature
• **signature**: *string*
Defined in types/lib/index.d.ts:22
___
### takerAddress
• **takerAddress**: *string*
Defined in types/lib/index.d.ts:7
___
### takerAssetAmount
• **takerAssetAmount**: *`BigNumber`*
Defined in types/lib/index.d.ts:11
___
### takerAssetData
• **takerAssetData**: *string*
Defined in types/lib/index.d.ts:17
___
### takerFee
• **takerFee**: *`BigNumber`*
Defined in types/lib/index.d.ts:13
___
### takerFeeAssetData
• **takerFeeAssetData**: *string*
Defined in types/lib/index.d.ts:19
# Interface: SmartContractParamsInfo <**T**>
Represents the metadata to call a smart contract with parameters.
params: The metadata object containing all the input parameters of a smart contract call.
toAddress: The contract address to call.
ethAmount: If provided, the eth amount in wei to send with the smart contract call.
methodAbi: The ABI of the smart contract method to call with params.
## Type parameters
▪ **T**
## Properties
### ethAmount
• **ethAmount**: *`BigNumber`*
*Defined in [asset-swapper/src/types.ts:71](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L71)*
___
### methodAbi
• **methodAbi**: *`MethodAbi`*
*Defined in [asset-swapper/src/types.ts:72](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L72)*
___
### params
• **params**: *`T`*
*Defined in [asset-swapper/src/types.ts:69](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L69)*
___
### toAddress
• **toAddress**: *string*
*Defined in [asset-swapper/src/types.ts:70](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L70)*
# Interface: SwapQuoteConsumerBase <**T**>
Interface that varying SwapQuoteConsumers adhere to (exchange consumer, router consumer, forwarder consumer, coordinator consumer)
getCalldataOrThrow: Get CalldataInfo to swap for tokens with provided SwapQuote. Throws if invalid SwapQuote is provided.
getSmartContractParamsOrThrow: Get SmartContractParamsInfo to swap for tokens with provided SwapQuote. Throws if invalid SwapQuote is provided.
executeSwapQuoteOrThrowAsync: Executes a web3 transaction to swap for tokens with provided SwapQuote. Throws if invalid SwapQuote is provided.
## Type parameters
▪ **T**
## Implemented by
* [SwapQuoteConsumer](#class-swapquoteconsumer)
## Methods
### executeSwapQuoteOrThrowAsync
▸ **executeSwapQuoteOrThrowAsync**(`quote`: [SwapQuote](#swapquote), `opts`: `Partial`): *`Promise`*
*Defined in [asset-swapper/src/types.ts:159](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L159)*
**Parameters:**
Name | Type |
------ | ------ |
`quote` | [SwapQuote](#swapquote) |
`opts` | `Partial` |
**Returns:** *`Promise`*
___
### getCalldataOrThrowAsync
▸ **getCalldataOrThrowAsync**(`quote`: [SwapQuote](#swapquote), `opts`: `Partial`): *`Promise`*
*Defined in [asset-swapper/src/types.ts:154](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L154)*
**Parameters:**
Name | Type |
------ | ------ |
`quote` | [SwapQuote](#swapquote) |
`opts` | `Partial` |
**Returns:** *`Promise`*
___
### getSmartContractParamsOrThrowAsync
▸ **getSmartContractParamsOrThrowAsync**(`quote`: [SwapQuote](#swapquote), `opts`: `Partial`): *`Promise>`*
*Defined in [asset-swapper/src/types.ts:155](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L155)*
**Parameters:**
Name | Type |
------ | ------ |
`quote` | [SwapQuote](#swapquote) |
`opts` | `Partial` |
**Returns:** *`Promise>`*
# Interface: SwapQuoteConsumerOpts
chainId: The chainId that the desired orders should be for.
## Properties
### chainId
• **chainId**: *number*
*Defined in [asset-swapper/src/types.ts:166](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L166)*
# Interface: SwapQuoteConsumingOpts
## Properties
### useExtensionContract
• **useExtensionContract**: *[ExtensionContractType](#enumeration-extensioncontracttype)*
*Defined in [asset-swapper/src/types.ts:202](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L202)*
# Interface: SwapQuoteExecutionOpts
takerAddress: The address to perform the buy. Defaults to the first available address from the provider.
gasLimit: The amount of gas to send with a transaction (in Gwei). Defaults to an eth_estimateGas rpc call.
gasPrice: Gas price in Wei to use for a transaction
ethAmount: The amount of eth sent with the execution of a swap
## Properties
### `Optional` ethAmount
• **ethAmount**? : *`BigNumber`*
*Defined in [asset-swapper/src/types.ts:184](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L184)*
___
### `Optional` gasLimit
• **gasLimit**? : *undefined | number*
*Defined in [asset-swapper/src/types.ts:182](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L182)*
___
### `Optional` gasPrice
• **gasPrice**? : *`BigNumber`*
*Defined in [asset-swapper/src/types.ts:183](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L183)*
___
### `Optional` takerAddress
• **takerAddress**? : *undefined | string*
*Defined in [asset-swapper/src/types.ts:181](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L181)*
# Interface: SwapQuoteGetOutputOpts
Represents the options provided to a generic SwapQuoteConsumer
## Hierarchy
* **SwapQuoteInfo**
## Properties
### feeTakerAssetAmount
• **feeTakerAssetAmount**: *`BigNumber`*
*Defined in [asset-swapper/src/types.ts:253](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L253)*
___
### makerAssetAmount
• **makerAssetAmount**: *`BigNumber`*
*Defined in [asset-swapper/src/types.ts:256](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L256)*
___
### protocolFeeInEthAmount
• **protocolFeeInEthAmount**: *`BigNumber`*
*Defined in [asset-swapper/src/types.ts:257](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L257)*
___
### takerAssetAmount
• **takerAssetAmount**: *`BigNumber`*
*Defined in [asset-swapper/src/types.ts:254](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L254)*
___
### totalTakerAssetAmount
• **totalTakerAssetAmount**: *`BigNumber`*
*Defined in [asset-swapper/src/types.ts:255](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L255)*
# Interface: SwapQuoteRequestOpts
slippagePercentage: The percentage buffer to add to account for slippage. Affects max ETH price estimates. Defaults to 0.01 (1%).
gasPrice: gas price to determine protocolFee amount, default to ethGasStation fast amount
## Properties
### `Optional` gasPrice
• **gasPrice**? : *`BigNumber`*
*Defined in [asset-swapper/src/types.ts:266](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L266)*
___
### slippagePercentage
• **slippagePercentage**: *number*
*Defined in [asset-swapper/src/types.ts:265](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L265)*
# Interface: SwapQuoterOpts
chainId: The ethereum chain id. Defaults to 1 (mainnet).
orderRefreshIntervalMs: The interval in ms that getBuyQuoteAsync should trigger an refresh of orders and order states. Defaults to 10000ms (10s).
expiryBufferMs: The number of seconds to add when calculating whether an order is expired or not. Defaults to 300s (5m).
## Properties
### chainId
• **chainId**: *number*
*Defined in [asset-swapper/src/types.ts:275](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L275)*
___
### expiryBufferMs
• **expiryBufferMs**: *number*
*Overrides [OrderPrunerOpts](_asset_swapper_src_types_.orderpruneropts.md).[expiryBufferMs](#expirybufferms)*
*Defined in [asset-swapper/src/types.ts:277](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L277)*
___
### orderRefreshIntervalMs
• **orderRefreshIntervalMs**: *number*
*Defined in [asset-swapper/src/types.ts:276](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L276)*
___
### permittedOrderFeeTypes
• **permittedOrderFeeTypes**: *`Set`*
*Inherited from [OrderPrunerOpts](#interface-orderpruneropts).[permittedOrderFeeTypes](#permittedorderfeetypes)*
*Defined in [asset-swapper/src/types.ts:11](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L11)*
# Interface: DataItem
## Properties
### `Optional` components
• **components**? : *[DataItem](#class-dataitem)[]*
*Defined in [ethereum-types/src/index.ts:137](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L137)*
___
### name
• **name**: *string*
*Defined in [ethereum-types/src/index.ts:135](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L135)*
___
### type
• **type**: *string*
*Defined in [ethereum-types/src/index.ts:136](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L136)*
# Interface: EIP1193Provider
## Properties
### isEIP1193
• **isEIP1193**: *boolean*
*Defined in [ethereum-types/src/index.ts:73](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L73)*
## Methods
### on
▸ **on**(`event`: [EIP1193Event](#eip1193event), `listener`: function): *this*
*Defined in [ethereum-types/src/index.ts:75](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L75)*
**Parameters:**
▪ **event**: *[EIP1193Event](#eip1193event)*
▪ **listener**: *function*
▸ (`result`: any): *void*
**Parameters:**
Name | Type |
------ | ------ |
`result` | any |
**Returns:** *this*
___
### send
▸ **send**(`method`: string, `params?`: any[]): *`Promise`*
*Defined in [ethereum-types/src/index.ts:74](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L74)*
**Parameters:**
Name | Type |
------ | ------ |
`method` | string |
`params?` | any[] |
**Returns:** *`Promise`*
# Interface: GanacheProvider
## Methods
### sendAsync
▸ **sendAsync**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void*
*Defined in [ethereum-types/src/index.ts:14](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L14)*
**Parameters:**
Name | Type |
------ | ------ |
`payload` | [JSONRPCRequestPayload](#class-jsonrpcrequestpayload) |
`callback` | [JSONRPCErrorCallback](#jsonrpcerrorcallback) |
**Returns:** *void*
# Interface: JSONRPCRequestPayload
## Properties
### id
• **id**: *number*
*Defined in [ethereum-types/src/index.ts:330](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L330)*
___
### jsonrpc
• **jsonrpc**: *string*
*Defined in [ethereum-types/src/index.ts:331](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L331)*
___
### method
• **method**: *string*
*Defined in [ethereum-types/src/index.ts:329](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L329)*
___
### params
• **params**: *any[]*
*Defined in [ethereum-types/src/index.ts:328](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L328)*
# Interface: JSONRPCResponseError
## Properties
### code
• **code**: *number*
*Defined in [ethereum-types/src/index.ts:336](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L336)*
___
### message
• **message**: *string*
*Defined in [ethereum-types/src/index.ts:335](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L335)*
# Interface: JSONRPCResponsePayload
## Properties
### `Optional` error
• **error**? : *[JSONRPCResponseError](#class-jsonrpcresponseerror)*
*Defined in [ethereum-types/src/index.ts:343](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L343)*
___
### id
• **id**: *number*
*Defined in [ethereum-types/src/index.ts:341](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L341)*
___
### jsonrpc
• **jsonrpc**: *string*
*Defined in [ethereum-types/src/index.ts:342](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L342)*
___
### result
• **result**: *any*
*Defined in [ethereum-types/src/index.ts:340](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L340)*
# Interface: MethodAbi
## Properties
### constant
• **constant**: *boolean*
*Defined in [ethereum-types/src/index.ts:94](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L94)*
___
### inputs
• **inputs**: *[DataItem](#class-dataitem)[]*
*Defined in [ethereum-types/src/index.ts:92](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L92)*
___
### name
• **name**: *string*
*Defined in [ethereum-types/src/index.ts:91](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L91)*
___
### outputs
• **outputs**: *[DataItem](#class-dataitem)[]*
*Defined in [ethereum-types/src/index.ts:93](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L93)*
___
### payable
• **payable**: *boolean*
*Defined in [ethereum-types/src/index.ts:96](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L96)*
___
### stateMutability
• **stateMutability**: *[StateMutability](#statemutability)*
*Defined in [ethereum-types/src/index.ts:95](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L95)*
___
### type
• **type**: *string*
*Defined in [ethereum-types/src/index.ts:90](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L90)*
# Interface: TupleDataItem
## Properties
### components
• **components**: *[DataItem](#class-dataitem)[]*
*Overrides [DataItem](_ethereum_types_src_index_.dataitem.md).[components](#optional-components)*
*Defined in [ethereum-types/src/index.ts:141](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L141)*
___
### name
• **name**: *string*
*Inherited from [DataItem](#interface-dataitem).[name](#name)*
*Defined in [ethereum-types/src/index.ts:135](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L135)*
___
### type
• **type**: *string*
*Inherited from [DataItem](#interface-dataitem).[type](#type)*
*Defined in [ethereum-types/src/index.ts:136](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L136)*
# Class: InsufficientAssetLiquidityError
Error class representing insufficient asset liquidity
## Constructors
\+ **new InsufficientAssetLiquidityError**(`amountAvailableToFill`: `BigNumber`): *[InsufficientAssetLiquidityError](#class-insufficientassetliquidityerror)*
*Defined in [asset-swapper/src/errors.ts:12](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/errors.ts#L12)*
**Parameters:**
Name | Type | Description |
------ | ------ | ------ |
`amountAvailableToFill` | `BigNumber` | The amount availabe to fill (in base units) factoring in slippage |
**Returns:** *[InsufficientAssetLiquidityError](#class-insufficientassetliquidityerror)*
## Properties
### amountAvailableToFill
• **amountAvailableToFill**: *`BigNumber`*
*Defined in [asset-swapper/src/errors.ts:12](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/errors.ts#L12)*
The amount availabe to fill (in base units) factoring in slippage.
___
### message
• **message**: *string*
___
### name
• **name**: *string*
___
### `Optional` stack
• **stack**? : *undefined | string*
*Overrides void*
___
### `Static` Error
▪ **Error**: *`ErrorConstructor`*
# Interface: Web3JsV2Provider
Web3.js version 2 provider interface
This provider interface was used in a couple of Web3.js 1.0 beta releases
before the first attempts to conform to EIP1193
## Methods
### send
▸ **send**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void*
*Defined in [ethereum-types/src/index.ts:54](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L54)*
**Parameters:**
Name | Type |
------ | ------ |
`payload` | [JSONRPCRequestPayload](#class-jsonrpcrequestpayload) |
`callback` | [JSONRPCErrorCallback](#jsonrpcerrorcallback) |
**Returns:** *void*
# Interface: Web3JsV3Provider
Web3.js version 3 provider interface
This provider interface was implemented with the hopes for conforming to the EIP1193 spec,
however it does not conform entirely.
## Methods
### send
▸ **send**(`method`: string, `params?`: any[]): *`Promise`*
*Defined in [ethereum-types/src/index.ts:63](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L63)*
**Parameters:**
Name | Type |
------ | ------ |
`method` | string |
`params?` | any[] |
**Returns:** *`Promise`*
# Interface: ZeroExProvider
The interface for the provider used internally by 0x libraries
Any property we use from any SupportedProvider should we explicitly
add here
## Properties
### `Optional` isMetaMask
• **isMetaMask**? : *undefined | false | true*
*Defined in [ethereum-types/src/index.ts:31](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L31)*
___
### `Optional` isParity
• **isParity**? : *undefined | false | true*
*Defined in [ethereum-types/src/index.ts:32](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L32)*
___
### `Optional` isZeroExProvider
• **isZeroExProvider**? : *undefined | false | true*
*Defined in [ethereum-types/src/index.ts:30](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L30)*
## Methods
### `Optional` enable
▸ **enable**(): *`Promise`*
*Defined in [ethereum-types/src/index.ts:34](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L34)*
**Returns:** *`Promise`*
___
### sendAsync
▸ **sendAsync**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void*
*Defined in [ethereum-types/src/index.ts:35](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L35)*
**Parameters:**
Name | Type |
------ | ------ |
`payload` | [JSONRPCRequestPayload](#class-jsonrpcrequestpayload) |
`callback` | [JSONRPCErrorCallback](#jsonrpcerrorcallback) |
**Returns:** *void*
___
### `Optional` stop
▸ **stop**(): *void*
*Defined in [ethereum-types/src/index.ts:33](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L33)*
**Returns:** *void*
# Interface: AcceptedRejectedOrders
## Properties
### accepted
• **accepted**: *`SignedOrder`[]*
*Defined in [orderbook/src/types.ts:15](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/types.ts#L15)*
___
### rejected
• **rejected**: *[RejectedOrder](#class-rejectedorder)[]*
*Defined in [orderbook/src/types.ts:16](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/types.ts#L16)*
# Interface: AddedRemovedOrders
## Properties
### added
• **added**: *`APIOrder`[]*
*Defined in [orderbook/src/types.ts:6](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/types.ts#L6)*
___
### assetPairKey
• **assetPairKey**: *string*
*Defined in [orderbook/src/types.ts:5](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/types.ts#L5)*
___
### removed
• **removed**: *`APIOrder`[]*
*Defined in [orderbook/src/types.ts:7](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/types.ts#L7)*
# Interface: MeshOrderProviderOpts
Constructor options for a Mesh Order Provider
## Properties
### websocketEndpoint
• **websocketEndpoint**: *string*
*Defined in [orderbook/src/types.ts:52](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/types.ts#L52)*
___
### `Optional` wsOpts
• **wsOpts**? : *`WSOpts`*
*Defined in [orderbook/src/types.ts:54](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/types.ts#L54)*
# Interface: RejectedOrder
## Properties
### message
• **message**: *string*
*Defined in [orderbook/src/types.ts:11](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/types.ts#L11)*
___
### order
• **order**: *`SignedOrder`*
*Defined in [orderbook/src/types.ts:12](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/types.ts#L12)*
# Interface: SRAPollingOrderProviderOpts
Constructor options for a SRA Polling Order Provider
## Properties
### `Optional` chainId
• **chainId**? : *undefined | number*
*Defined in [orderbook/src/types.ts:44](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/types.ts#L44)*
___
### httpEndpoint
• **httpEndpoint**: *string*
*Defined in [orderbook/src/types.ts:38](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/types.ts#L38)*
___
### `Optional` perPage
• **perPage**? : *undefined | number*
*Defined in [orderbook/src/types.ts:42](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/types.ts#L42)*
___
### pollingIntervalMs
• **pollingIntervalMs**: *number*
*Defined in [orderbook/src/types.ts:40](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/types.ts#L40)*
# Interface: SRAWebsocketOrderProviderOpts
Constructor options for a SRA Websocket Order Provider
## Properties
### `Optional` chainId
• **chainId**? : *undefined | number*
*Defined in [orderbook/src/types.ts:30](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/types.ts#L30)*
___
### httpEndpoint
• **httpEndpoint**: *string*
*Defined in [orderbook/src/types.ts:26](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/types.ts#L26)*
___
### websocketEndpoint
• **websocketEndpoint**: *string*
*Defined in [orderbook/src/types.ts:28](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/types.ts#L28)*
# Interface: APIOrder
## Properties
### metaData
• **metaData**: *object*
*Defined in [types/src/index.ts:403](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/types/src/index.ts#L403)*
___
### order
• **order**: *[SignedOrder](#class-signedorder)*
*Defined in [types/src/index.ts:402](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/types/src/index.ts#L402)*
# Interface: Asset
## Properties
### assetData
• **assetData**: *string*
*Defined in [types/src/index.ts:419](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/types/src/index.ts#L419)*
___
### maxAmount
• **maxAmount**: *`BigNumber`*
*Defined in [types/src/index.ts:421](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/types/src/index.ts#L421)*
___
### minAmount
• **minAmount**: *`BigNumber`*
*Defined in [types/src/index.ts:420](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/types/src/index.ts#L420)*
___
### precision
• **precision**: *number*
*Defined in [types/src/index.ts:422](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/types/src/index.ts#L422)*
# Interface: AssetPairsItem
## Properties
### assetDataA
• **assetDataA**: *[Asset](#class-asset)*
*Defined in [types/src/index.ts:414](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/types/src/index.ts#L414)*
___
### assetDataB
• **assetDataB**: *[Asset](#class-asset)*
*Defined in [types/src/index.ts:415](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/types/src/index.ts#L415)*
# Interface: SignedOrder
## Properties
### chainId
• **chainId**: *number*
*Inherited from [Order](#interface-order).[chainId](#chainid)*
*Defined in [types/src/index.ts:14](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/types/src/index.ts#L14)*
___
### exchangeAddress
• **exchangeAddress**: *string*
*Inherited from [Order](#interface-order).[exchangeAddress](#exchangeaddress)*
*Defined in [types/src/index.ts:15](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/types/src/index.ts#L15)*
___
### expirationTimeSeconds
• **expirationTimeSeconds**: *`BigNumber`*
*Inherited from [Order](#interface-order).[expirationTimeSeconds](#expirationtimeseconds)*
*Defined in [types/src/index.ts:24](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/types/src/index.ts#L24)*
___
### feeRecipientAddress
• **feeRecipientAddress**: *string*
*Inherited from [Order](#interface-order).[feeRecipientAddress](#feerecipientaddress)*
*Defined in [types/src/index.ts:18](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/types/src/index.ts#L18)*
___
### makerAddress
• **makerAddress**: *string*
*Inherited from [Order](#interface-order).[makerAddress](#makeraddress)*
*Defined in [types/src/index.ts:16](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/types/src/index.ts#L16)*
___
### makerAssetAmount
• **makerAssetAmount**: *`BigNumber`*
*Inherited from [Order](#interface-order).[makerAssetAmount](#makerassetamount)*
*Defined in [types/src/index.ts:20](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/types/src/index.ts#L20)*
___
### makerAssetData
• **makerAssetData**: *string*
*Inherited from [Order](#interface-order).[makerAssetData](#makerassetdata)*
*Defined in [types/src/index.ts:26](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/types/src/index.ts#L26)*
___
### makerFee
• **makerFee**: *`BigNumber`*
*Inherited from [Order](#interface-order).[makerFee](#makerfee)*
*Defined in [types/src/index.ts:22](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/types/src/index.ts#L22)*
___
### makerFeeAssetData
• **makerFeeAssetData**: *string*
*Inherited from [Order](#interface-order).[makerFeeAssetData](#makerfeeassetdata)*
*Defined in [types/src/index.ts:28](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/types/src/index.ts#L28)*
___
### salt
• **salt**: *`BigNumber`*
*Inherited from [Order](#interface-order).[salt](#salt)*
*Defined in [types/src/index.ts:25](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/types/src/index.ts#L25)*
___
### senderAddress
• **senderAddress**: *string*
*Inherited from [Order](#interface-order).[senderAddress](#senderaddress)*
*Defined in [types/src/index.ts:19](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/types/src/index.ts#L19)*
___
### signature
• **signature**: *string*
*Defined in [types/src/index.ts:33](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/types/src/index.ts#L33)*
___
### takerAddress
• **takerAddress**: *string*
*Inherited from [Order](#interface-order).[takerAddress](#takeraddress)*
*Defined in [types/src/index.ts:17](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/types/src/index.ts#L17)*
___
### takerAssetAmount
• **takerAssetAmount**: *`BigNumber`*
*Inherited from [Order](#interface-order).[takerAssetAmount](#takerassetamount)*
*Defined in [types/src/index.ts:21](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/types/src/index.ts#L21)*
___
### takerAssetData
• **takerAssetData**: *string*
*Inherited from [Order](#interface-order).[takerAssetData](#takerassetdata)*
*Defined in [types/src/index.ts:27](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/types/src/index.ts#L27)*
___
### takerFee
• **takerFee**: *`BigNumber`*
*Inherited from [Order](#interface-order).[takerFee](#takerfee)*
*Defined in [types/src/index.ts:23](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/types/src/index.ts#L23)*
___
### takerFeeAssetData
• **takerFeeAssetData**: *string*
*Inherited from [Order](#interface-order).[takerFeeAssetData](#takerfeeassetdata)*
*Defined in [types/src/index.ts:29](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/types/src/index.ts#L29)*
## Type aliases
## Type aliases
### SwapQuote
Ƭ **SwapQuote**: *[MarketBuySwapQuote](#interface-marketbuyswapquote) | [MarketSellSwapQuote](#interface-marketsellswapquote)*
*Defined in [asset-swapper/src/types.ts:205](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/types.ts#L205)*
## Object literals
### `Const` affiliateFeeUtils
#### ▪ **affiliateFeeUtils**: *object*
*Defined in [asset-swapper/src/utils/affiliate_fee_utils.ts:7](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/utils/affiliate_fee_utils.ts#L7)*
#### getTotalEthAmountWithAffiliateFee
▸ **getTotalEthAmountWithAffiliateFee**(`swapQuoteInfo`: [SwapQuoteInfo](#interface-swapquoteinfo), `feePercentage`: number): *`BigNumber`*
*Defined in [asset-swapper/src/utils/affiliate_fee_utils.ts:13](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/utils/affiliate_fee_utils.ts#L13)*
Get the amount of eth to send for a forwarder contract call (includes takerAssetAmount, protocol fees, and specified affiliate fee amount)
**Parameters:**
Name | Type | Description |
------ | ------ | ------ |
`swapQuoteInfo` | [SwapQuoteInfo](#interface-swapquoteinfo) | SwapQuoteInfo to generate total eth amount from |
`feePercentage` | number | Percentage of additive fees to apply to totalTakerAssetAmount + protocol fee. (max 5%) |
**Returns:** *`BigNumber`*
## Object literals
#### `Const` protocolFeeUtils
#### ▪ **protocolFeeUtils**: *object*
*Defined in [asset-swapper/src/utils/protocol_fee_utils.ts:9](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/utils/protocol_fee_utils.ts#L9)*
#### calculateWorstCaseProtocolFee
▸ **calculateWorstCaseProtocolFee**<**T**>(`orders`: `T`[], `gasPrice`: `BigNumber`): *`BigNumber`*
*Defined in [asset-swapper/src/utils/protocol_fee_utils.ts:27](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/utils/protocol_fee_utils.ts#L27)*
Calculates protocol fee with protofol fee multiplier for each fill.
**Type parameters:**
▪ **T**: *`Order`*
**Parameters:**
Name | Type |
------ | ------ |
`orders` | `T`[] |
`gasPrice` | `BigNumber` |
**Returns:** *`BigNumber`*
#### getGasPriceEstimationOrThrowAsync
▸ **getGasPriceEstimationOrThrowAsync**(): *`Promise`*
*Defined in [asset-swapper/src/utils/protocol_fee_utils.ts:13](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/asset-swapper/src/utils/protocol_fee_utils.ts#L13)*
Gets 'fast' gas price from Eth Gas Station.
**Returns:** *`Promise`*
## Type aliases
### ConstructorStateMutability
Ƭ **ConstructorStateMutability**: *"nonpayable" | "payable"*
*Defined in [ethereum-types/src/index.ts:84](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L84)*
___
### EIP1193Event
Ƭ **EIP1193Event**: *"accountsChanged" | "networkChanged" | "close" | "connect" | "notification"*
*Defined in [ethereum-types/src/index.ts:70](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L70)*
Interface for providers that conform to EIP 1193
Source: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1193.md
___
### JSONRPCErrorCallback
Ƭ **JSONRPCErrorCallback**: *function*
*Defined in [ethereum-types/src/index.ts:3](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L3)*
#### Type declaration:
▸ (`err`: `Error` | null, `result?`: [JSONRPCResponsePayload](#interface-jsonrpcresponsepayload)): *void*
**Parameters:**
Name | Type |
------ | ------ |
`err` | `Error` \| null |
`result?` | [JSONRPCResponsePayload](#interface-jsonrpcresponsepayload) |
___
### StateMutability
Ƭ **StateMutability**: *"pure" | "view" | [ConstructorStateMutability](#constructorstatemutability)*
*Defined in [ethereum-types/src/index.ts:85](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L85)*
___
### SupportedProvider
Ƭ **SupportedProvider**: *[Web3JsProvider](_ethereum_types_src_index_.md#web3jsprovider) | [GanacheProvider](#interface-ganacheprovider) | [EIP1193Provider](#interface-eip1193provider) | [ZeroExProvider](#interface-zeroexprovider)*
*Defined in [ethereum-types/src/index.ts:9](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L9)*
Do not create your own provider. Use an existing provider from a Web3 or ProviderEngine library
Read more about Providers in the guides section of the 0x docs.
___
### Web3JsProvider
Ƭ **Web3JsProvider**: *[Web3JsV1Provider](#interface-web3jsv1provider) | [Web3JsV2Provider](#interface-web3jsv2provider) | [Web3JsV3Provider](#interface-web3jsv3provider)*
*Defined in [ethereum-types/src/index.ts:11](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/ethereum-types/src/index.ts#L11)*
## Variables
### `Const` DEFAULT_TOKEN_PRECISION
• **DEFAULT_TOKEN_PRECISION**: *`18`* = 18
*Defined in [orderbook/src/order_provider/base_order_provider.ts:9](https://github.com/0xProject/0x-monorepo/blob/36d7afd2a/packages/orderbook/src/order_provider/base_order_provider.ts#L9)*
## Type aliases