From a8cbd1a16c5391ddaaa910e94fc122ff91b8d184 Mon Sep 17 00:00:00 2001 From: Daniel Pyrathon Date: Fri, 16 Oct 2020 14:47:37 -0700 Subject: [PATCH] apply PR feedback --- .../src/utils/quote_requestor.ts | 43 ++++++------------- 1 file changed, 13 insertions(+), 30 deletions(-) diff --git a/packages/asset-swapper/src/utils/quote_requestor.ts b/packages/asset-swapper/src/utils/quote_requestor.ts index 1c87ca426c..b88c20c2a5 100644 --- a/packages/asset-swapper/src/utils/quote_requestor.ts +++ b/packages/asset-swapper/src/utils/quote_requestor.ts @@ -44,29 +44,6 @@ function getTokenAddressOrThrow(assetData: string): string { 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 { - 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( expectedMakerAssetData: string, expectedTakerAssetData: string, @@ -119,19 +96,25 @@ export class QuoteRequestor { assetFillAmount: BigNumber, comparisonPrice?: BigNumber, ): TakerRequestQueryParams { - const { buyAmountBaseUnits, sellAmountBaseUnits, ...rest } = inferQueryParams( - marketOperation, - makerAssetData, - takerAssetData, - assetFillAmount, - ); + const buyTokenAddress = getTokenAddressOrThrow(makerAssetData); + const sellTokenAddress = getTokenAddressOrThrow(takerAssetData); + const { buyAmountBaseUnits, sellAmountBaseUnits } = marketOperation === MarketOperation.Buy + ? { + buyAmountBaseUnits: assetFillAmount, + sellAmountBaseUnits: undefined, + } : { + sellAmountBaseUnits: assetFillAmount, + buyAmountBaseUnits: undefined, + }; + const requestParamsWithBigNumbers: Pick< TakerRequestQueryParams, 'buyTokenAddress' | 'sellTokenAddress' | 'takerAddress' | 'comparisonPrice' > = { takerAddress, comparisonPrice: comparisonPrice === undefined ? undefined : comparisonPrice.toString(), - ...rest, + buyTokenAddress, + sellTokenAddress, }; // convert BigNumbers to strings