Merge pull request #2609 from 0xProject/feature/quote-requestor-strings

Quote Requestor Fix:  BigNumbers to Strings
This commit is contained in:
Daniel Pyrathon
2020-06-19 15:40:58 -07:00
committed by GitHub
2 changed files with 20 additions and 8 deletions

View File

@@ -284,10 +284,23 @@ export class QuoteRequestor {
const responsesIfDefined: Array<undefined | AxiosResponse<ResponseT>> = await Promise.all(
Object.keys(this._rfqtAssetOfferings).map(async url => {
if (this._makerSupportsPair(url, makerAssetData, takerAssetData)) {
const requestParams = {
const requestParamsWithBigNumbers = {
takerAddress: options.takerAddress,
...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 timeBeforeAwait = Date.now();
try {

View File

@@ -1,6 +1,5 @@
import { tokenUtils } from '@0x/dev-utils';
import { assetDataUtils } from '@0x/order-utils';
import { TakerRequest } from '@0x/quote-server';
import { StatusCodes } from '@0x/types';
import { BigNumber } from '@0x/utils';
import * as chai from 'chai';
@@ -36,10 +35,10 @@ describe('QuoteRequestor', async () => {
// Set up RFQT responses
// tslint:disable-next-line:array-type
const mockedRequests: MockedRfqtFirmQuoteResponse[] = [];
const expectedParams: TakerRequest = {
const expectedParams = {
sellTokenAddress: takerToken,
buyTokenAddress: makerToken,
sellAmountBaseUnits: new BigNumber('10000'),
sellAmountBaseUnits: '10000',
buyAmountBaseUnits: undefined,
takerAddress,
};
@@ -193,10 +192,10 @@ describe('QuoteRequestor', async () => {
// Set up RFQT responses
// tslint:disable-next-line:array-type
const mockedRequests: MockedRfqtIndicativeQuoteResponse[] = [];
const expectedParams: TakerRequest = {
const expectedParams = {
sellTokenAddress: takerToken,
buyTokenAddress: makerToken,
sellAmountBaseUnits: new BigNumber('10000'),
sellAmountBaseUnits: '10000',
buyAmountBaseUnits: undefined,
takerAddress,
};
@@ -287,10 +286,10 @@ describe('QuoteRequestor', async () => {
// Set up RFQT responses
// tslint:disable-next-line:array-type
const mockedRequests: MockedRfqtIndicativeQuoteResponse[] = [];
const expectedParams: TakerRequest = {
const expectedParams = {
sellTokenAddress: takerToken,
buyTokenAddress: makerToken,
buyAmountBaseUnits: new BigNumber('10000'),
buyAmountBaseUnits: '10000',
sellAmountBaseUnits: undefined,
takerAddress,
};