Promote max maker response time to a global option
This commit is contained in:
@@ -5,6 +5,7 @@ import {
|
||||
ForwarderExtensionContractOpts,
|
||||
OrderPrunerOpts,
|
||||
OrderPrunerPermittedFeeTypes,
|
||||
RfqtFirmQuoteRequestOpts,
|
||||
SwapQuoteExecutionOpts,
|
||||
SwapQuoteGetOutputOpts,
|
||||
SwapQuoteRequestOpts,
|
||||
@@ -65,6 +66,10 @@ const DEFAULT_SWAP_QUOTE_REQUEST_OPTS: SwapQuoteRequestOpts = {
|
||||
...DEFAULT_GET_MARKET_ORDERS_OPTS,
|
||||
};
|
||||
|
||||
const DEFAULT_RFQT_FIRM_QUOTE_REQUEST_OPTS: RfqtFirmQuoteRequestOpts = {
|
||||
makerEndpointMaxResponseTimeMs: 1000,
|
||||
};
|
||||
|
||||
export const constants = {
|
||||
ETH_GAS_STATION_API_BASE_URL,
|
||||
PROTOCOL_FEE_MULTIPLIER,
|
||||
@@ -81,6 +86,7 @@ export const constants = {
|
||||
DEFAULT_FORWARDER_SWAP_QUOTE_EXECUTE_OPTS,
|
||||
DEFAULT_SWAP_QUOTE_REQUEST_OPTS,
|
||||
DEFAULT_PER_PAGE,
|
||||
DEFAULT_RFQT_FIRM_QUOTE_REQUEST_OPTS,
|
||||
NULL_ERC20_ASSET_DATA,
|
||||
PROTOCOL_FEE_UTILS_POLLING_INTERVAL_IN_MS,
|
||||
MARKET_UTILS_AMOUNT_BUFFER_PERCENTAGE,
|
||||
|
@@ -44,6 +44,7 @@ export {
|
||||
MarketBuySwapQuote,
|
||||
MarketOperation,
|
||||
MarketSellSwapQuote,
|
||||
RfqtFirmQuoteRequestOpts,
|
||||
SwapQuote,
|
||||
SwapQuoteConsumerBase,
|
||||
SwapQuoteConsumerOpts,
|
||||
|
@@ -273,3 +273,7 @@ export enum OrderPrunerPermittedFeeTypes {
|
||||
MakerDenominatedTakerFee = 'MAKER_DENOMINATED_TAKER_FEE',
|
||||
TakerDenominatedTakerFee = 'TAKER_DENOMINATED_TAKER_FEE',
|
||||
}
|
||||
|
||||
export interface RfqtFirmQuoteRequestOpts {
|
||||
makerEndpointMaxResponseTimeMs?: number;
|
||||
}
|
||||
|
@@ -2,8 +2,10 @@ import { assetDataUtils, SignedOrder } from '@0x/order-utils';
|
||||
import { ERC20AssetData } from '@0x/types';
|
||||
import { BigNumber, logUtils } from '@0x/utils';
|
||||
import Axios, { AxiosResponse } from 'axios';
|
||||
import * as _ from 'lodash';
|
||||
|
||||
import { MarketOperation } from '../types';
|
||||
import { constants } from '../constants';
|
||||
import { MarketOperation, RfqtFirmQuoteRequestOpts } from '../types';
|
||||
|
||||
/**
|
||||
* Request quotes from RFQ-T providers
|
||||
@@ -22,8 +24,9 @@ export class QuoteRequestor {
|
||||
marketOperation: MarketOperation,
|
||||
takerApiKey: string,
|
||||
takerAddress: string,
|
||||
options?: Partial<RfqtFirmQuoteRequestOpts>,
|
||||
): Promise<SignedOrder[]> {
|
||||
const makerEndpointMaxResponseTimeMs = 1000;
|
||||
const { makerEndpointMaxResponseTimeMs } = _.merge({}, constants.DEFAULT_RFQT_FIRM_QUOTE_REQUEST_OPTS, options);
|
||||
|
||||
const getTokenAddressOrThrow = (assetData: string): string => {
|
||||
const decodedAssetData = assetDataUtils.decodeAssetDataOrThrow(assetData);
|
||||
|
Reference in New Issue
Block a user