asset-s: exclude RFQ-T orders w/ bad takerAddress
This commit is contained in:
@@ -155,6 +155,11 @@ export class QuoteRequestor {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (order.takerAddress !== _opts.takerAddress) {
|
||||||
|
this._warningLogger(`Unexpected takerAddress in RFQ-T order, filtering out: ${JSON.stringify(order)}`);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import { BigNumber } from '@0x/utils';
|
|||||||
import * as chai from 'chai';
|
import * as chai from 'chai';
|
||||||
import 'mocha';
|
import 'mocha';
|
||||||
|
|
||||||
|
import { constants } from '../src/constants';
|
||||||
import { MarketOperation, MockedRfqtFirmQuoteResponse, MockedRfqtIndicativeQuoteResponse } from '../src/types';
|
import { MarketOperation, MockedRfqtFirmQuoteResponse, MockedRfqtIndicativeQuoteResponse } from '../src/types';
|
||||||
import { QuoteRequestor } from '../src/utils/quote_requestor';
|
import { QuoteRequestor } from '../src/utils/quote_requestor';
|
||||||
import { rfqtMocker } from '../src/utils/rfqt_mocker';
|
import { rfqtMocker } from '../src/utils/rfqt_mocker';
|
||||||
@@ -45,6 +46,7 @@ describe('QuoteRequestor', async () => {
|
|||||||
const successfulOrder1 = testOrderFactory.generateTestSignedOrder({
|
const successfulOrder1 = testOrderFactory.generateTestSignedOrder({
|
||||||
makerAssetData,
|
makerAssetData,
|
||||||
takerAssetData,
|
takerAssetData,
|
||||||
|
takerAddress,
|
||||||
feeRecipientAddress: '0x0000000000000000000000000000000000000001',
|
feeRecipientAddress: '0x0000000000000000000000000000000000000001',
|
||||||
});
|
});
|
||||||
mockedRequests.push({
|
mockedRequests.push({
|
||||||
@@ -108,6 +110,20 @@ describe('QuoteRequestor', async () => {
|
|||||||
responseData: unsignedOrder,
|
responseData: unsignedOrder,
|
||||||
responseCode: StatusCodes.Success,
|
responseCode: StatusCodes.Success,
|
||||||
});
|
});
|
||||||
|
// A successful response code and good order but for the wrong takerAddress
|
||||||
|
const orderWithNullTaker = testOrderFactory.generateTestSignedOrder({
|
||||||
|
makerAssetData,
|
||||||
|
takerAssetData,
|
||||||
|
takerAddress: constants.NULL_ADDRESS,
|
||||||
|
feeRecipientAddress: '0x0000000000000000000000000000000000000002',
|
||||||
|
});
|
||||||
|
mockedRequests.push({
|
||||||
|
endpoint: 'https://425.0.0.1',
|
||||||
|
requestApiKey: apiKey,
|
||||||
|
requestParams: expectedParams,
|
||||||
|
responseData: orderWithNullTaker,
|
||||||
|
responseCode: StatusCodes.Success,
|
||||||
|
});
|
||||||
|
|
||||||
// Shouldn't ping an RFQ-T provider when they don't support the requested asset pair.
|
// Shouldn't ping an RFQ-T provider when they don't support the requested asset pair.
|
||||||
// (see how QuoteRequestor constructor parameters below don't list
|
// (see how QuoteRequestor constructor parameters below don't list
|
||||||
@@ -121,7 +137,11 @@ describe('QuoteRequestor', async () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Another Successful response
|
// Another Successful response
|
||||||
const successfulOrder2 = testOrderFactory.generateTestSignedOrder({ makerAssetData, takerAssetData });
|
const successfulOrder2 = testOrderFactory.generateTestSignedOrder({
|
||||||
|
makerAssetData,
|
||||||
|
takerAssetData,
|
||||||
|
takerAddress,
|
||||||
|
});
|
||||||
mockedRequests.push({
|
mockedRequests.push({
|
||||||
endpoint: 'https://37.0.0.1',
|
endpoint: 'https://37.0.0.1',
|
||||||
requestApiKey: apiKey,
|
requestApiKey: apiKey,
|
||||||
@@ -138,6 +158,7 @@ describe('QuoteRequestor', async () => {
|
|||||||
'https://422.0.0.1': [[makerToken, takerToken]],
|
'https://422.0.0.1': [[makerToken, takerToken]],
|
||||||
'https://423.0.0.1': [[makerToken, takerToken]],
|
'https://423.0.0.1': [[makerToken, takerToken]],
|
||||||
'https://424.0.0.1': [[makerToken, takerToken]],
|
'https://424.0.0.1': [[makerToken, takerToken]],
|
||||||
|
'https://425.0.0.1': [[makerToken, takerToken]],
|
||||||
'https://426.0.0.1': [],
|
'https://426.0.0.1': [],
|
||||||
'https://37.0.0.1': [[makerToken, takerToken]],
|
'https://37.0.0.1': [[makerToken, takerToken]],
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user