apply PR feedback

This commit is contained in:
Daniel Pyrathon 2020-10-16 14:47:37 -07:00
parent c969a8652a
commit a8cbd1a16c

View File

@ -44,29 +44,6 @@ function getTokenAddressOrThrow(assetData: string): string {
throw new Error(`Decoded asset data (${JSON.stringify(decodedAssetData)}) does not contain a token address`); throw new Error(`Decoded asset data (${JSON.stringify(decodedAssetData)}) does not contain a token address`);
} }
function inferQueryParams(
marketOperation: MarketOperation,
makerAssetData: string,
takerAssetData: string,
assetFillAmount: BigNumber,
): Pick<TakerRequest, 'buyTokenAddress' | 'sellTokenAddress' | 'buyAmountBaseUnits' | 'sellAmountBaseUnits'> {
if (marketOperation === MarketOperation.Buy) {
return {
buyTokenAddress: getTokenAddressOrThrow(makerAssetData),
sellTokenAddress: getTokenAddressOrThrow(takerAssetData),
buyAmountBaseUnits: assetFillAmount,
sellAmountBaseUnits: undefined,
};
} else {
return {
buyTokenAddress: getTokenAddressOrThrow(makerAssetData),
sellTokenAddress: getTokenAddressOrThrow(takerAssetData),
sellAmountBaseUnits: assetFillAmount,
buyAmountBaseUnits: undefined,
};
}
}
function hasExpectedAssetData( function hasExpectedAssetData(
expectedMakerAssetData: string, expectedMakerAssetData: string,
expectedTakerAssetData: string, expectedTakerAssetData: string,
@ -119,19 +96,25 @@ export class QuoteRequestor {
assetFillAmount: BigNumber, assetFillAmount: BigNumber,
comparisonPrice?: BigNumber, comparisonPrice?: BigNumber,
): TakerRequestQueryParams { ): TakerRequestQueryParams {
const { buyAmountBaseUnits, sellAmountBaseUnits, ...rest } = inferQueryParams( const buyTokenAddress = getTokenAddressOrThrow(makerAssetData);
marketOperation, const sellTokenAddress = getTokenAddressOrThrow(takerAssetData);
makerAssetData, const { buyAmountBaseUnits, sellAmountBaseUnits } = marketOperation === MarketOperation.Buy
takerAssetData, ? {
assetFillAmount, buyAmountBaseUnits: assetFillAmount,
); sellAmountBaseUnits: undefined,
} : {
sellAmountBaseUnits: assetFillAmount,
buyAmountBaseUnits: undefined,
};
const requestParamsWithBigNumbers: Pick< const requestParamsWithBigNumbers: Pick<
TakerRequestQueryParams, TakerRequestQueryParams,
'buyTokenAddress' | 'sellTokenAddress' | 'takerAddress' | 'comparisonPrice' 'buyTokenAddress' | 'sellTokenAddress' | 'takerAddress' | 'comparisonPrice'
> = { > = {
takerAddress, takerAddress,
comparisonPrice: comparisonPrice === undefined ? undefined : comparisonPrice.toString(), comparisonPrice: comparisonPrice === undefined ? undefined : comparisonPrice.toString(),
...rest, buyTokenAddress,
sellTokenAddress,
}; };
// convert BigNumbers to strings // convert BigNumbers to strings