# 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/de3680125/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/de3680125/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`*
# 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:38](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/quote_consumers/swap_quote_consumer.ts#L38)* **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:27](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/quote_consumers/swap_quote_consumer.ts#L27)* ___ ### provider • **provider**: *`ZeroExProvider`* *Defined in [asset-swapper/src/quote_consumers/swap_quote_consumer.ts:26](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/quote_consumers/swap_quote_consumer.ts#L26)* ## 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:85](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/quote_consumers/swap_quote_consumer.ts#L85)* 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:57](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/quote_consumers/swap_quote_consumer.ts#L57)* 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:99](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/quote_consumers/swap_quote_consumer.ts#L99)* 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:71](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/quote_consumers/swap_quote_consumer.ts#L71)* 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:33](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/quote_consumers/swap_quote_consumer.ts#L33)* **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:132](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/swap_quoter.ts#L132)* 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 ### chainId • **chainId**: *number* *Defined in [asset-swapper/src/swap_quoter.ts:34](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/swap_quoter.ts#L34)* ___ ### expiryBufferMs • **expiryBufferMs**: *number* *Defined in [asset-swapper/src/swap_quoter.ts:33](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/swap_quoter.ts#L33)* ___ ### orderbook • **orderbook**: *`Orderbook`* *Defined in [asset-swapper/src/swap_quoter.ts:32](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/swap_quoter.ts#L32)* ___ ### permittedOrderFeeTypes • **permittedOrderFeeTypes**: *`Set`* *Defined in [asset-swapper/src/swap_quoter.ts:35](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/swap_quoter.ts#L35)* ___ ### provider • **provider**: *`ZeroExProvider`* *Defined in [asset-swapper/src/swap_quoter.ts:31](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/swap_quoter.ts#L31)* ## Methods ### destroyAsync ▸ **destroyAsync**(): *`Promise`* *Defined in [asset-swapper/src/swap_quoter.ts:397](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/swap_quoter.ts#L397)* Destroys any subscriptions or connections. **Returns:** *`Promise`* ___ ### getAvailableMakerAssetDatasAsync ▸ **getAvailableMakerAssetDatasAsync**(`takerAssetData`: string): *`Promise`* *Defined in [asset-swapper/src/swap_quoter.ts:326](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/swap_quoter.ts#L326)* 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:311](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/swap_quoter.ts#L311)* 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:404](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/swap_quoter.ts#L404)* 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:286](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/swap_quoter.ts#L286)* 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:228](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/swap_quoter.ts#L228)* 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:203](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/swap_quoter.ts#L203)* 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:258](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/swap_quoter.ts#L258)* 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:177](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/swap_quoter.ts#L177)* 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:360](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/swap_quoter.ts#L360)* 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:381](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/swap_quoter.ts#L381)* 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:343](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/swap_quoter.ts#L343)* 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:119](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/swap_quoter.ts#L119)* 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:49](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/swap_quoter.ts#L49)* 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:69](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/swap_quoter.ts#L69)* 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:95](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/swap_quoter.ts#L95)* 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: ProtocolFeeUtils ## Methods ### calculateWorstCaseProtocolFeeAsync ▸ **calculateWorstCaseProtocolFeeAsync**<**T**>(`orders`: `T`[], `gasPrice`: `BigNumber`): *`Promise`* *Defined in [asset-swapper/src/utils/protocol_fee_utils.ts:29](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/utils/protocol_fee_utils.ts#L29)* Calculates protocol fee with protofol fee multiplier for each fill. **Type parameters:** ▪ **T**: *`Order`* **Parameters:** Name | Type | ------ | ------ | `orders` | `T`[] | `gasPrice` | `BigNumber` | **Returns:** *`Promise`* ___ ### getGasPriceEstimationOrThrowAsync ▸ **getGasPriceEstimationOrThrowAsync**(): *`Promise`* *Defined in [asset-swapper/src/utils/protocol_fee_utils.ts:15](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/utils/protocol_fee_utils.ts#L15)* **Returns:** *`Promise`* ___ ### getProtocolFeeMultiplierAsync ▸ **getProtocolFeeMultiplierAsync**(): *`Promise`* *Defined in [asset-swapper/src/utils/protocol_fee_utils.ts:10](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/utils/protocol_fee_utils.ts#L10)* **Returns:** *`Promise`*
# 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/de3680125/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/de3680125/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/de3680125/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/de3680125/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/de3680125/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/de3680125/packages/orderbook/src/order_provider/base_order_provider.ts#L23)* **Returns:** *`Promise`*
# Class: OrderSet ## Constructors \+ **new OrderSet**(): *[OrderSet](#class-orderset)* *Defined in [orderbook/src/order_set.ts:6](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/orderbook/src/order_set.ts#L6)* **Returns:** *[OrderSet](#class-orderset)* ## Methods ### addAsync ▸ **addAsync**(`item`: `APIOrder`): *`Promise`* *Defined in [orderbook/src/order_set.ts:16](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/orderbook/src/order_set.ts#L16)* **Parameters:** Name | Type | ------ | ------ | `item` | `APIOrder` | **Returns:** *`Promise`* ___ ### addManyAsync ▸ **addManyAsync**(`items`: `APIOrder`[]): *`Promise`* *Defined in [orderbook/src/order_set.ts:22](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/orderbook/src/order_set.ts#L22)* **Parameters:** Name | Type | ------ | ------ | `items` | `APIOrder`[] | **Returns:** *`Promise`* ___ ### deleteAsync ▸ **deleteAsync**(`item`: `APIOrder`): *`Promise`* *Defined in [orderbook/src/order_set.ts:54](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/orderbook/src/order_set.ts#L54)* **Parameters:** Name | Type | ------ | ------ | `item` | `APIOrder` | **Returns:** *`Promise`* ___ ### deleteManyAsync ▸ **deleteManyAsync**(`items`: `APIOrder`[]): *`Promise`* *Defined in [orderbook/src/order_set.ts:58](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/orderbook/src/order_set.ts#L58)* **Parameters:** Name | Type | ------ | ------ | `items` | `APIOrder`[] | **Returns:** *`Promise`* ___ ### diffAsync ▸ **diffAsync**(`other`: [OrderSet](#class-orderset)): *`Promise`* *Defined in [orderbook/src/order_set.ts:32](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/orderbook/src/order_set.ts#L32)* **Parameters:** Name | Type | ------ | ------ | `other` | [OrderSet](#class-orderset) | **Returns:** *`Promise`* ___ ### hasAsync ▸ **hasAsync**(`order`: `APIOrder`): *`Promise`* *Defined in [orderbook/src/order_set.ts:28](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/orderbook/src/order_set.ts#L28)* **Parameters:** Name | Type | ------ | ------ | `order` | `APIOrder` | **Returns:** *`Promise`* ___ ### size ▸ **size**(): *number* *Defined in [orderbook/src/order_set.ts:12](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/orderbook/src/order_set.ts#L12)* **Returns:** *number* ___ ### values ▸ **values**(): *`IterableIterator`* *Defined in [orderbook/src/order_set.ts:50](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/orderbook/src/order_set.ts#L50)* **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/de3680125/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/de3680125/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/de3680125/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/de3680125/packages/orderbook/src/order_store.ts#L40)* **Returns:** *`IterableIterator`* ___ ### updateAsync ▸ **updateAsync**(`addedRemoved`: [AddedRemovedOrders](#interface-addedremovedorders)): *`Promise`* *Defined in [orderbook/src/order_store.ts:28](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/orderbook/src/order_store.ts#L28)* **Parameters:** Name | Type | ------ | ------ | `addedRemoved` | [AddedRemovedOrders](#interface-addedremovedorders) | **Returns:** *`Promise`* ___ ### values ▸ **values**(`assetPairKey`: string): *`APIOrder`[]* *Defined in [orderbook/src/order_store.ts:37](https://github.com/0xProject/0x-monorepo/blob/de3680125/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/de3680125/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/de3680125/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/de3680125/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/de3680125/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/de3680125/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/de3680125/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/de3680125/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/de3680125/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/de3680125/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/de3680125/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/de3680125/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:104](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L104)* ___ ### None • **None**: = "NONE" *Defined in [asset-swapper/src/types.ts:105](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L105)*
# 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:291](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L291)* ___ ### InsufficientAssetLiquidity • **InsufficientAssetLiquidity**: = "INSUFFICIENT_ASSET_LIQUIDITY" *Defined in [asset-swapper/src/types.ts:290](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L290)* ___ ### NoEtherTokenContractFound • **NoEtherTokenContractFound**: = "NO_ETHER_TOKEN_CONTRACT_FOUND" *Defined in [asset-swapper/src/types.ts:288](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L288)* ___ ### NoGasPriceProvidedOrEstimated • **NoGasPriceProvidedOrEstimated**: = "NO_GAS_PRICE_PROVIDED_OR_ESTIMATED" *Defined in [asset-swapper/src/types.ts:292](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L292)* ___ ### StandardRelayerApiError • **StandardRelayerApiError**: = "STANDARD_RELAYER_API_ERROR" *Defined in [asset-swapper/src/types.ts:289](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L289)*
# 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:53](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L53)* ___ ### ethAmount • **ethAmount**: *`BigNumber`* *Defined in [asset-swapper/src/types.ts:56](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L56)* ___ ### methodAbi • **methodAbi**: *`MethodAbi`* *Defined in [asset-swapper/src/types.ts:54](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L54)* ___ ### toAddress • **toAddress**: *string* *Defined in [asset-swapper/src/types.ts:55](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L55)*
# Interface: ForwarderExtensionContractOpts ethAmount: The amount of eth (in Wei) sent to the forwarder contract. feePercentage: percentage (up to 5%) of the taker asset paid to feeRecipient feeRecipient: address of the receiver of the feePercentage of taker asset ## Properties ### feePercentage • **feePercentage**: *number* *Defined in [asset-swapper/src/types.ts:192](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L192)* ___ ### feeRecipient • **feeRecipient**: *string* *Defined in [asset-swapper/src/types.ts:193](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L193)*
# Interface: GetExtensionContractTypeOpts ## Properties ### `Optional` ethAmount • **ethAmount**? : *`BigNumber`* *Defined in [asset-swapper/src/types.ts:200](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L200)* ___ ### `Optional` takerAddress • **takerAddress**? : *undefined | string* *Defined in [asset-swapper/src/types.ts:199](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L199)*
# Interface: LiquidityForTakerMakerAssetDataPair Represents available liquidity for a given assetData. ## Properties ### makerAssetAvailableInBaseUnits • **makerAssetAvailableInBaseUnits**: *`BigNumber`* *Defined in [asset-swapper/src/types.ts:299](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L299)* ___ ### takerAssetAvailableInBaseUnits • **takerAssetAvailableInBaseUnits**: *`BigNumber`* *Defined in [asset-swapper/src/types.ts:300](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L300)*
# 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:216](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L216)* ___ ### gasPrice • **gasPrice**: *`BigNumber`* *Inherited from [SwapQuoteBase](#interface-swapquotebase).[gasPrice](#gasprice)* *Defined in [asset-swapper/src/types.ts:214](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L214)* ___ ### makerAssetData • **makerAssetData**: *string* *Inherited from [SwapQuoteBase](#interface-swapquotebase).[makerAssetData](#makerassetdata)* *Defined in [asset-swapper/src/types.ts:213](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L213)* ___ ### makerAssetFillAmount • **makerAssetFillAmount**: *`BigNumber`* *Defined in [asset-swapper/src/types.ts:234](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L234)* ___ ### orders • **orders**: *`SignedOrder`[]* *Inherited from [SwapQuoteBase](#interface-swapquotebase).[orders](#orders)* *Defined in [asset-swapper/src/types.ts:215](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L215)* ___ ### takerAssetData • **takerAssetData**: *string* *Inherited from [SwapQuoteBase](#interface-swapquotebase).[takerAssetData](#takerassetdata)* *Defined in [asset-swapper/src/types.ts:212](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L212)* ___ ### type • **type**: *[Buy](#buy)* *Defined in [asset-swapper/src/types.ts:235](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L235)* ___ ### worstCaseQuoteInfo • **worstCaseQuoteInfo**: *[SwapQuoteInfo](#class-swapquoteinfo)* *Inherited from [SwapQuoteBase](#interface-swapquotebase).[worstCaseQuoteInfo](#worstcasequoteinfo)* *Defined in [asset-swapper/src/types.ts:217](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L217)*
# 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:216](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L216)* ___ ### gasPrice • **gasPrice**: *`BigNumber`* *Inherited from [SwapQuoteBase](#interface-swapquotebase).[gasPrice](#gasprice)* *Defined in [asset-swapper/src/types.ts:214](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L214)* ___ ### makerAssetData • **makerAssetData**: *string* *Inherited from [SwapQuoteBase](#interface-swapquotebase).[makerAssetData](#makerassetdata)* *Defined in [asset-swapper/src/types.ts:213](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L213)* ___ ### orders • **orders**: *`SignedOrder`[]* *Inherited from [SwapQuoteBase](#interface-swapquotebase).[orders](#orders)* *Defined in [asset-swapper/src/types.ts:215](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L215)* ___ ### takerAssetData • **takerAssetData**: *string* *Inherited from [SwapQuoteBase](#interface-swapquotebase).[takerAssetData](#takerassetdata)* *Defined in [asset-swapper/src/types.ts:212](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L212)* ___ ### takerAssetFillAmount • **takerAssetFillAmount**: *`BigNumber`* *Defined in [asset-swapper/src/types.ts:225](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L225)* ___ ### type • **type**: *[Sell](#sell)* *Defined in [asset-swapper/src/types.ts:226](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L226)* ___ ### worstCaseQuoteInfo • **worstCaseQuoteInfo**: *[SwapQuoteInfo](#class-swapquoteinfo)* *Inherited from [SwapQuoteBase](#interface-swapquotebase).[worstCaseQuoteInfo](#worstcasequoteinfo)* *Defined in [asset-swapper/src/types.ts:217](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L217)*
# 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:40](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L40)* ___ ### fillableTakerAssetAmount • **fillableTakerAssetAmount**: *`BigNumber`* *Defined in [asset-swapper/src/types.ts:41](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L41)* ___ ### fillableTakerFeeAmount • **fillableTakerFeeAmount**: *`BigNumber`* *Defined in [asset-swapper/src/types.ts:42](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L42)* ___ ### 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:69](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L69)* ___ ### methodAbi • **methodAbi**: *`MethodAbi`* *Defined in [asset-swapper/src/types.ts:70](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L70)* ___ ### params • **params**: *`T`* *Defined in [asset-swapper/src/types.ts:67](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L67)* ___ ### toAddress • **toAddress**: *string* *Defined in [asset-swapper/src/types.ts:68](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L68)*
# 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:157](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L157)* **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:152](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L152)* **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:153](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L153)* **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:164](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L164)*
# Interface: SwapQuoteExecutionOpts ethAmount: The amount of eth sent with the execution of a swap. 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. ## Properties ### `Optional` ethAmount • **ethAmount**? : *`BigNumber`* *Defined in [asset-swapper/src/types.ts:181](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L181)* ___ ### `Optional` extensionContractOpts • **extensionContractOpts**? : *[ForwarderExtensionContractOpts](#class-forwarderextensioncontractopts) | any* *Inherited from [SwapQuoteGetOutputOpts](#interface-swapquotegetoutputopts).[extensionContractOpts](#optional-extensioncontractopts)* *Defined in [asset-swapper/src/types.ts:172](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L172)* ___ ### `Optional` gasLimit • **gasLimit**? : *undefined | number* *Defined in [asset-swapper/src/types.ts:183](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L183)* ___ ### `Optional` takerAddress • **takerAddress**? : *undefined | string* *Defined in [asset-swapper/src/types.ts:182](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L182)* ___ ### useExtensionContract • **useExtensionContract**: *[ExtensionContractType](#enumeration-extensioncontracttype)* *Inherited from [SwapQuoteGetOutputOpts](#interface-swapquotegetoutputopts).[useExtensionContract](#useextensioncontract)* *Defined in [asset-swapper/src/types.ts:171](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L171)*
# Interface: SwapQuoteGetOutputOpts Represents the options provided to a generic SwapQuoteConsumer ## Properties ### `Optional` extensionContractOpts • **extensionContractOpts**? : *[ForwarderExtensionContractOpts](#class-forwarderextensioncontractopts) | any* *Defined in [asset-swapper/src/types.ts:172](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L172)* ___ ### useExtensionContract • **useExtensionContract**: *[ExtensionContractType](#enumeration-extensioncontracttype)* *Defined in [asset-swapper/src/types.ts:171](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L171)*
# Interface: SwapQuoteInfo feeTakerAssetAmount: The amount of takerAsset reserved for paying takerFees when swapping for desired assets. takerAssetAmount: The amount of takerAsset swapped for desired makerAsset. totalTakerAssetAmount: The total amount of takerAsset required to complete the swap (filling orders, and paying takerFees). makerAssetAmount: The amount of makerAsset that will be acquired through the swap. protocolFeeInWeiAmount: The amount of ETH to pay (in WEI) as protocol fee to perform the swap for desired asset. ## Properties ### feeTakerAssetAmount • **feeTakerAssetAmount**: *`BigNumber`* *Defined in [asset-swapper/src/types.ts:246](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L246)* ___ ### makerAssetAmount • **makerAssetAmount**: *`BigNumber`* *Defined in [asset-swapper/src/types.ts:249](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L249)* ___ ### protocolFeeInWeiAmount • **protocolFeeInWeiAmount**: *`BigNumber`* *Defined in [asset-swapper/src/types.ts:250](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L250)* ___ ### takerAssetAmount • **takerAssetAmount**: *`BigNumber`* *Defined in [asset-swapper/src/types.ts:247](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L247)* ___ ### totalTakerAssetAmount • **totalTakerAssetAmount**: *`BigNumber`* *Defined in [asset-swapper/src/types.ts:248](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L248)*
# Interface: SwapQuoteRequestOpts slippagePercentage: The percentage buffer to add to account for slippage. Affects max ETH price estimates. Defaults to 0.2 (20%). gasPrice: gas price to determine protocolFee amount, default to ethGasStation fast amount ## Properties ### `Optional` gasPrice • **gasPrice**? : *`BigNumber`* *Defined in [asset-swapper/src/types.ts:259](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L259)* ___ ### slippagePercentage • **slippagePercentage**: *number* *Defined in [asset-swapper/src/types.ts:258](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L258)*
# 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:268](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L268)* ___ ### expiryBufferMs • **expiryBufferMs**: *number* *Overrides [OrderPrunerOpts](_asset_swapper_src_types_.orderpruneropts.md).[expiryBufferMs](#expirybufferms)* *Defined in [asset-swapper/src/types.ts:270](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L270)* ___ ### orderRefreshIntervalMs • **orderRefreshIntervalMs**: *number* *Defined in [asset-swapper/src/types.ts:269](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L269)* ___ ### 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/de3680125/packages/asset-swapper/src/types.ts#L11)*
# Interface: DataItem ## Properties ### `Optional` components • **components**? : *[DataItem](#class-dataitem)[]* *Defined in [ethereum-types/src/index.ts:138](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/ethereum-types/src/index.ts#L138)* ___ ### `Optional` internalType • **internalType**? : *undefined | string* *Defined in [ethereum-types/src/index.ts:137](https://github.com/0xProject/0x-monorepo/blob/de3680125/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/de3680125/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/de3680125/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/de3680125/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/de3680125/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/de3680125/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/de3680125/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:331](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/ethereum-types/src/index.ts#L331)* ___ ### jsonrpc • **jsonrpc**: *string* *Defined in [ethereum-types/src/index.ts:332](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/ethereum-types/src/index.ts#L332)* ___ ### method • **method**: *string* *Defined in [ethereum-types/src/index.ts:330](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/ethereum-types/src/index.ts#L330)* ___ ### params • **params**: *any[]* *Defined in [ethereum-types/src/index.ts:329](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/ethereum-types/src/index.ts#L329)*
# Interface: JSONRPCResponseError ## Properties ### code • **code**: *number* *Defined in [ethereum-types/src/index.ts:337](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/ethereum-types/src/index.ts#L337)* ___ ### message • **message**: *string* *Defined in [ethereum-types/src/index.ts:336](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/ethereum-types/src/index.ts#L336)*
# Interface: JSONRPCResponsePayload ## Properties ### `Optional` error • **error**? : *[JSONRPCResponseError](#class-jsonrpcresponseerror)* *Defined in [ethereum-types/src/index.ts:344](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/ethereum-types/src/index.ts#L344)* ___ ### id • **id**: *number* *Defined in [ethereum-types/src/index.ts:342](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/ethereum-types/src/index.ts#L342)* ___ ### jsonrpc • **jsonrpc**: *string* *Defined in [ethereum-types/src/index.ts:343](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/ethereum-types/src/index.ts#L343)* ___ ### result • **result**: *any* *Defined in [ethereum-types/src/index.ts:341](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/ethereum-types/src/index.ts#L341)*
# Interface: MethodAbi ## Properties ### constant • **constant**: *boolean* *Defined in [ethereum-types/src/index.ts:94](https://github.com/0xProject/0x-monorepo/blob/de3680125/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/de3680125/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/de3680125/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/de3680125/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/de3680125/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/de3680125/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/de3680125/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:142](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/ethereum-types/src/index.ts#L142)* ___ ### `Optional` internalType • **internalType**? : *undefined | string* *Inherited from [DataItem](#interface-dataitem).[internalType](#optional-internaltype)* *Defined in [ethereum-types/src/index.ts:137](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/ethereum-types/src/index.ts#L137)* ___ ### 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/de3680125/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/de3680125/packages/ethereum-types/src/index.ts#L136)*
# 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/de3680125/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/de3680125/packages/ethereum-types/src/index.ts#L44)* **Parameters:** Name | Type | ------ | ------ | `payload` | [JSONRPCRequestPayload](#class-jsonrpcrequestpayload) | `callback` | [JSONRPCErrorCallback](#jsonrpcerrorcallback) | **Returns:** *void*
# 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/de3680125/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/de3680125/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/de3680125/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/de3680125/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/de3680125/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/de3680125/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/de3680125/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/de3680125/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/de3680125/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/de3680125/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/de3680125/packages/orderbook/src/types.ts#L6)* ___ ### assetPairKey • **assetPairKey**: *string* *Defined in [orderbook/src/types.ts:5](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/orderbook/src/types.ts#L5)* ___ ### removed • **removed**: *`APIOrder`[]* *Defined in [orderbook/src/types.ts:7](https://github.com/0xProject/0x-monorepo/blob/de3680125/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:50](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/orderbook/src/types.ts#L50)* ___ ### `Optional` wsOpts • **wsOpts**? : *`WSOpts`* *Defined in [orderbook/src/types.ts:52](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/orderbook/src/types.ts#L52)*
# Interface: RejectedOrder ## Properties ### message • **message**: *string* *Defined in [orderbook/src/types.ts:11](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/orderbook/src/types.ts#L11)* ___ ### order • **order**: *`SignedOrder`* *Defined in [orderbook/src/types.ts:12](https://github.com/0xProject/0x-monorepo/blob/de3680125/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:42](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/orderbook/src/types.ts#L42)* ___ ### httpEndpoint • **httpEndpoint**: *string* *Defined in [orderbook/src/types.ts:36](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/orderbook/src/types.ts#L36)* ___ ### `Optional` perPage • **perPage**? : *undefined | number* *Defined in [orderbook/src/types.ts:40](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/orderbook/src/types.ts#L40)* ___ ### pollingIntervalMs • **pollingIntervalMs**: *number* *Defined in [orderbook/src/types.ts:38](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/orderbook/src/types.ts#L38)*
# Interface: SRAWebsocketOrderProviderOpts Constructor options for a SRA Websocket Order Provider ## Properties ### httpEndpoint • **httpEndpoint**: *string* *Defined in [orderbook/src/types.ts:26](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/orderbook/src/types.ts#L26)* ___ ### websocketEndpoint • **websocketEndpoint**: *string* *Defined in [orderbook/src/types.ts:28](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/orderbook/src/types.ts#L28)*
# Interface: APIOrder ## Properties ### metaData • **metaData**: *object* *Defined in [types/src/index.ts:408](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/types/src/index.ts#L408)* ___ ### order • **order**: *[SignedOrder](#class-signedorder)* *Defined in [types/src/index.ts:407](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/types/src/index.ts#L407)*
# Interface: Asset ## Properties ### assetData • **assetData**: *string* *Defined in [types/src/index.ts:424](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/types/src/index.ts#L424)* ___ ### maxAmount • **maxAmount**: *`BigNumber`* *Defined in [types/src/index.ts:426](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/types/src/index.ts#L426)* ___ ### minAmount • **minAmount**: *`BigNumber`* *Defined in [types/src/index.ts:425](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/types/src/index.ts#L425)* ___ ### precision • **precision**: *number* *Defined in [types/src/index.ts:427](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/types/src/index.ts#L427)*
# Interface: AssetPairsItem ## Properties ### assetDataA • **assetDataA**: *[Asset](#class-asset)* *Defined in [types/src/index.ts:419](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/types/src/index.ts#L419)* ___ ### assetDataB • **assetDataB**: *[Asset](#class-asset)* *Defined in [types/src/index.ts:420](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/types/src/index.ts#L420)*
# 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/de3680125/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/de3680125/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/de3680125/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/de3680125/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/de3680125/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/de3680125/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/de3680125/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/de3680125/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/de3680125/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/de3680125/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/de3680125/packages/types/src/index.ts#L19)* ___ ### signature • **signature**: *string* *Defined in [types/src/index.ts:33](https://github.com/0xProject/0x-monorepo/blob/de3680125/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/de3680125/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/de3680125/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/de3680125/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/de3680125/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/de3680125/packages/types/src/index.ts#L29)*



## Type aliases ### SwapQuote Ƭ **SwapQuote**: *[MarketBuySwapQuote](#interface-marketbuyswapquote) | [MarketSellSwapQuote](#interface-marketsellswapquote)* *Defined in [asset-swapper/src/types.ts:196](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/types.ts#L196)*
## Object literals ### `Const` affiliateFeeUtils #### ▪ **affiliateFeeUtils**: *object* *Defined in [asset-swapper/src/utils/affiliate_fee_utils.ts:8](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/utils/affiliate_fee_utils.ts#L8)* #### getTotalEthAmountWithAffiliateFee ▸ **getTotalEthAmountWithAffiliateFee**(`swapQuoteInfo`: [SwapQuoteInfo](#interface-swapquoteinfo), `feePercentage`: number): *`BigNumber`* *Defined in [asset-swapper/src/utils/affiliate_fee_utils.ts:14](https://github.com/0xProject/0x-monorepo/blob/de3680125/packages/asset-swapper/src/utils/affiliate_fee_utils.ts#L14)* 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`*

## Type aliases ### ConstructorStateMutability Ƭ **ConstructorStateMutability**: *"nonpayable" | "payable"* *Defined in [ethereum-types/src/index.ts:84](https://github.com/0xProject/0x-monorepo/blob/de3680125/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/de3680125/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/de3680125/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/de3680125/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/de3680125/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/de3680125/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/de3680125/packages/orderbook/src/order_provider/base_order_provider.ts#L9)*



## Type aliases ## Type aliases