Merge pull request #2609 from 0xProject/feature/quote-requestor-strings
Quote Requestor Fix: BigNumbers to Strings
This commit is contained in:
@@ -284,10 +284,23 @@ export class QuoteRequestor {
|
|||||||
const responsesIfDefined: Array<undefined | AxiosResponse<ResponseT>> = await Promise.all(
|
const responsesIfDefined: Array<undefined | AxiosResponse<ResponseT>> = await Promise.all(
|
||||||
Object.keys(this._rfqtAssetOfferings).map(async url => {
|
Object.keys(this._rfqtAssetOfferings).map(async url => {
|
||||||
if (this._makerSupportsPair(url, makerAssetData, takerAssetData)) {
|
if (this._makerSupportsPair(url, makerAssetData, takerAssetData)) {
|
||||||
const requestParams = {
|
const requestParamsWithBigNumbers = {
|
||||||
takerAddress: options.takerAddress,
|
takerAddress: options.takerAddress,
|
||||||
...inferQueryParams(marketOperation, makerAssetData, takerAssetData, assetFillAmount),
|
...inferQueryParams(marketOperation, makerAssetData, takerAssetData, assetFillAmount),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// convert BigNumbers to strings
|
||||||
|
// so they are digestible by axios
|
||||||
|
const requestParams = {
|
||||||
|
...requestParamsWithBigNumbers,
|
||||||
|
sellAmountBaseUnits: requestParamsWithBigNumbers.sellAmountBaseUnits
|
||||||
|
? requestParamsWithBigNumbers.sellAmountBaseUnits.toString()
|
||||||
|
: undefined,
|
||||||
|
buyAmountBaseUnits: requestParamsWithBigNumbers.buyAmountBaseUnits
|
||||||
|
? requestParamsWithBigNumbers.buyAmountBaseUnits.toString()
|
||||||
|
: undefined,
|
||||||
|
};
|
||||||
|
|
||||||
const partialLogEntry = { url, quoteType, requestParams };
|
const partialLogEntry = { url, quoteType, requestParams };
|
||||||
const timeBeforeAwait = Date.now();
|
const timeBeforeAwait = Date.now();
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
import { tokenUtils } from '@0x/dev-utils';
|
import { tokenUtils } from '@0x/dev-utils';
|
||||||
import { assetDataUtils } from '@0x/order-utils';
|
import { assetDataUtils } from '@0x/order-utils';
|
||||||
import { TakerRequest } from '@0x/quote-server';
|
|
||||||
import { StatusCodes } from '@0x/types';
|
import { StatusCodes } from '@0x/types';
|
||||||
import { BigNumber } from '@0x/utils';
|
import { BigNumber } from '@0x/utils';
|
||||||
import * as chai from 'chai';
|
import * as chai from 'chai';
|
||||||
@@ -36,10 +35,10 @@ describe('QuoteRequestor', async () => {
|
|||||||
// Set up RFQT responses
|
// Set up RFQT responses
|
||||||
// tslint:disable-next-line:array-type
|
// tslint:disable-next-line:array-type
|
||||||
const mockedRequests: MockedRfqtFirmQuoteResponse[] = [];
|
const mockedRequests: MockedRfqtFirmQuoteResponse[] = [];
|
||||||
const expectedParams: TakerRequest = {
|
const expectedParams = {
|
||||||
sellTokenAddress: takerToken,
|
sellTokenAddress: takerToken,
|
||||||
buyTokenAddress: makerToken,
|
buyTokenAddress: makerToken,
|
||||||
sellAmountBaseUnits: new BigNumber('10000'),
|
sellAmountBaseUnits: '10000',
|
||||||
buyAmountBaseUnits: undefined,
|
buyAmountBaseUnits: undefined,
|
||||||
takerAddress,
|
takerAddress,
|
||||||
};
|
};
|
||||||
@@ -193,10 +192,10 @@ describe('QuoteRequestor', async () => {
|
|||||||
// Set up RFQT responses
|
// Set up RFQT responses
|
||||||
// tslint:disable-next-line:array-type
|
// tslint:disable-next-line:array-type
|
||||||
const mockedRequests: MockedRfqtIndicativeQuoteResponse[] = [];
|
const mockedRequests: MockedRfqtIndicativeQuoteResponse[] = [];
|
||||||
const expectedParams: TakerRequest = {
|
const expectedParams = {
|
||||||
sellTokenAddress: takerToken,
|
sellTokenAddress: takerToken,
|
||||||
buyTokenAddress: makerToken,
|
buyTokenAddress: makerToken,
|
||||||
sellAmountBaseUnits: new BigNumber('10000'),
|
sellAmountBaseUnits: '10000',
|
||||||
buyAmountBaseUnits: undefined,
|
buyAmountBaseUnits: undefined,
|
||||||
takerAddress,
|
takerAddress,
|
||||||
};
|
};
|
||||||
@@ -287,10 +286,10 @@ describe('QuoteRequestor', async () => {
|
|||||||
// Set up RFQT responses
|
// Set up RFQT responses
|
||||||
// tslint:disable-next-line:array-type
|
// tslint:disable-next-line:array-type
|
||||||
const mockedRequests: MockedRfqtIndicativeQuoteResponse[] = [];
|
const mockedRequests: MockedRfqtIndicativeQuoteResponse[] = [];
|
||||||
const expectedParams: TakerRequest = {
|
const expectedParams = {
|
||||||
sellTokenAddress: takerToken,
|
sellTokenAddress: takerToken,
|
||||||
buyTokenAddress: makerToken,
|
buyTokenAddress: makerToken,
|
||||||
buyAmountBaseUnits: new BigNumber('10000'),
|
buyAmountBaseUnits: '10000',
|
||||||
sellAmountBaseUnits: undefined,
|
sellAmountBaseUnits: undefined,
|
||||||
takerAddress,
|
takerAddress,
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user