From 235e406620d63d05dfa62c7c98c6a7be86d0b76f Mon Sep 17 00:00:00 2001 From: Daniel Pyrathon Date: Thu, 24 Sep 2020 15:27:55 -0700 Subject: [PATCH 1/6] initial decoupling of Quote reporter --- .../src/utils/market_operation_utils/index.ts | 95 +++++++++---------- .../src/utils/market_operation_utils/types.ts | 3 +- 2 files changed, 46 insertions(+), 52 deletions(-) diff --git a/packages/asset-swapper/src/utils/market_operation_utils/index.ts b/packages/asset-swapper/src/utils/market_operation_utils/index.ts index 672045106e..75e91a80e9 100644 --- a/packages/asset-swapper/src/utils/market_operation_utils/index.ts +++ b/packages/asset-swapper/src/utils/market_operation_utils/index.ts @@ -33,6 +33,7 @@ import { DexSample, ERC20BridgeSource, FeeSchedule, + FillData, GetMarketOrdersOpts, MarketSideLiquidity, OptimizedMarketOrder, @@ -78,6 +79,20 @@ export class MarketOperationUtils { private readonly _buySources: SourceFilters; private readonly _feeSources = new SourceFilters(FEE_QUOTE_SOURCES); + private static _computeQuoteReport(nativeOrders: SignedOrder[], quoteRequestor: QuoteRequestor, marketSideLiquidity: MarketSideLiquidity, optimizerResult: OptimizerResult): void { + const {side, dexQuotes, twoHopQuotes, orderFillableAmounts } = marketSideLiquidity; + const { liquidityDelivered } = optimizerResult; + generateQuoteReport( + side, + _.flatten(dexQuotes), + twoHopQuotes, + nativeOrders, + orderFillableAmounts, + liquidityDelivered, + quoteRequestor, + ); + } + constructor( private readonly _sampler: DexOrderSampler, private readonly contractAddresses: ContractAddresses, @@ -339,19 +354,22 @@ export class MarketOperationUtils { nativeOrders: SignedOrder[], takerAmount: BigNumber, opts?: Partial, + gasPrice?: BigNumber, ): Promise { - const _opts = { ...DEFAULT_GET_MARKET_ORDERS_OPTS, ...opts }; - const marketSideLiquidity = await this.getMarketSellLiquidityAsync(nativeOrders, takerAmount, _opts); - return this._generateOptimizedOrdersAsync(marketSideLiquidity, { - bridgeSlippage: _opts.bridgeSlippage, - maxFallbackSlippage: _opts.maxFallbackSlippage, - excludedSources: _opts.excludedSources, - feeSchedule: _opts.feeSchedule, - allowFallback: _opts.allowFallback, - shouldBatchBridgeOrders: _opts.shouldBatchBridgeOrders, - quoteRequestor: _opts.rfqt ? _opts.rfqt.quoteRequestor : undefined, - shouldGenerateQuoteReport: _opts.shouldGenerateQuoteReport, + const defaultOpts = { ...DEFAULT_GET_MARKET_ORDERS_OPTS, ...opts }; + const marketSideLiquidity = await this.getMarketSellLiquidityAsync(nativeOrders, takerAmount, defaultOpts); + const optimizedOrders = await this._generateOptimizedOrdersAsync(marketSideLiquidity, { + bridgeSlippage: defaultOpts.bridgeSlippage, + maxFallbackSlippage: defaultOpts.maxFallbackSlippage, + excludedSources: defaultOpts.excludedSources, + feeSchedule: defaultOpts.feeSchedule, + allowFallback: defaultOpts.allowFallback, + shouldBatchBridgeOrders: defaultOpts.shouldBatchBridgeOrders, }); + if (defaultOpts.shouldGenerateQuoteReport && defaultOpts.rfqt && defaultOpts.rfqt.quoteRequestor) { + MarketOperationUtils._computeQuoteReport(nativeOrders, defaultOpts.rfqt.quoteRequestor, marketSideLiquidity, optimizedResult); + } + return optimizedOrders; } /** @@ -367,18 +385,20 @@ export class MarketOperationUtils { makerAmount: BigNumber, opts?: Partial, ): Promise { - const _opts = { ...DEFAULT_GET_MARKET_ORDERS_OPTS, ...opts }; - const marketSideLiquidity = await this.getMarketBuyLiquidityAsync(nativeOrders, makerAmount, _opts); - return this._generateOptimizedOrdersAsync(marketSideLiquidity, { - bridgeSlippage: _opts.bridgeSlippage, - maxFallbackSlippage: _opts.maxFallbackSlippage, - excludedSources: _opts.excludedSources, - feeSchedule: _opts.feeSchedule, - allowFallback: _opts.allowFallback, - shouldBatchBridgeOrders: _opts.shouldBatchBridgeOrders, - quoteRequestor: _opts.rfqt ? _opts.rfqt.quoteRequestor : undefined, - shouldGenerateQuoteReport: _opts.shouldGenerateQuoteReport, + const defaultOpts = { ...DEFAULT_GET_MARKET_ORDERS_OPTS, ...opts }; + const marketSideLiquidity = await this.getMarketBuyLiquidityAsync(nativeOrders, makerAmount, defaultOpts); + const optimizedResult = await this._generateOptimizedOrdersAsync(marketSideLiquidity, { + bridgeSlippage: defaultOpts.bridgeSlippage, + maxFallbackSlippage: defaultOpts.maxFallbackSlippage, + excludedSources: defaultOpts.excludedSources, + feeSchedule: defaultOpts.feeSchedule, + allowFallback: defaultOpts.allowFallback, + shouldBatchBridgeOrders: defaultOpts.shouldBatchBridgeOrders, }); + if (defaultOpts.shouldGenerateQuoteReport && defaultOpts.rfqt && defaultOpts.rfqt.quoteRequestor) { + MarketOperationUtils._computeQuoteReport(nativeOrders, defaultOpts.rfqt.quoteRequestor, marketSideLiquidity, optimizedResult); + } + return optimizedResult; } /** @@ -468,7 +488,6 @@ export class MarketOperationUtils { feeSchedule: _opts.feeSchedule, allowFallback: _opts.allowFallback, shouldBatchBridgeOrders: _opts.shouldBatchBridgeOrders, - shouldGenerateQuoteReport: false, }, ); return optimizedOrders; @@ -491,8 +510,6 @@ export class MarketOperationUtils { feeSchedule?: FeeSchedule; allowFallback?: boolean; shouldBatchBridgeOrders?: boolean; - quoteRequestor?: QuoteRequestor; - shouldGenerateQuoteReport?: boolean; }, ): Promise { const { @@ -506,7 +523,6 @@ export class MarketOperationUtils { dexQuotes, ethToOutputRate, ethToInputRate, - twoHopQuotes, } = marketSideLiquidity; const maxFallbackSlippage = opts.maxFallbackSlippage || 0; @@ -549,18 +565,7 @@ export class MarketOperationUtils { ); if (bestTwoHopQuote && bestTwoHopRate.isGreaterThan(optimalPathRate)) { const twoHopOrders = createOrdersFromTwoHopSample(bestTwoHopQuote, orderOpts); - const twoHopQuoteReport = opts.shouldGenerateQuoteReport - ? generateQuoteReport( - side, - _.flatten(dexQuotes), - twoHopQuotes, - nativeOrders, - orderFillableAmounts, - bestTwoHopQuote, - opts.quoteRequestor, - ) - : undefined; - return { optimizedOrders: twoHopOrders, quoteReport: twoHopQuoteReport, isTwoHop: true }; + return { optimizedOrders: twoHopOrders, liquidityDelivered: bestTwoHopQuote, isTwoHop: true }; } // Generate a fallback path if native orders are in the optimal path. @@ -591,18 +596,8 @@ export class MarketOperationUtils { } } const optimizedOrders = createOrdersFromPath(optimalPath, orderOpts); - const quoteReport = opts.shouldGenerateQuoteReport - ? generateQuoteReport( - side, - _.flatten(dexQuotes), - twoHopQuotes, - nativeOrders, - orderFillableAmounts, - _.flatten(optimizedOrders.map(order => order.fills)), - opts.quoteRequestor, - ) - : undefined; - return { optimizedOrders, quoteReport, isTwoHop: false }; + const liquidityDelivered = _.flatten(optimizedOrders.map(order => order.fills)); + return { optimizedOrders, liquidityDelivered, isTwoHop: false }; } } diff --git a/packages/asset-swapper/src/utils/market_operation_utils/types.ts b/packages/asset-swapper/src/utils/market_operation_utils/types.ts index 2bbee4dc81..08e8d05916 100644 --- a/packages/asset-swapper/src/utils/market_operation_utils/types.ts +++ b/packages/asset-swapper/src/utils/market_operation_utils/types.ts @@ -4,7 +4,6 @@ import { BigNumber } from '@0x/utils'; import { RfqtRequestOpts, SignedOrderWithFillableAmounts } from '../../types'; import { QuoteRequestor } from '../../utils/quote_requestor'; -import { QuoteReport } from '../quote_report_generator'; /** * Order domain keys: chainId and exchange @@ -322,7 +321,7 @@ export interface SourceQuoteOperation export interface OptimizerResult { optimizedOrders: OptimizedMarketOrder[]; isTwoHop: boolean; - quoteReport?: QuoteReport; + liquidityDelivered: CollapsedFill[] | DexSample; } export type MarketDepthSide = Array>>; From 5333befd89e8bc197b033796fe416c7b1cd679ef Mon Sep 17 00:00:00 2001 From: Daniel Pyrathon Date: Thu, 24 Sep 2020 15:37:18 -0700 Subject: [PATCH 2/6] optionally return a quote report too --- .../src/utils/market_operation_utils/index.ts | 27 ++++++++++--------- .../src/utils/market_operation_utils/types.ts | 5 ++++ 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/packages/asset-swapper/src/utils/market_operation_utils/index.ts b/packages/asset-swapper/src/utils/market_operation_utils/index.ts index 75e91a80e9..4db157e76c 100644 --- a/packages/asset-swapper/src/utils/market_operation_utils/index.ts +++ b/packages/asset-swapper/src/utils/market_operation_utils/index.ts @@ -7,7 +7,7 @@ import * as _ from 'lodash'; import { MarketOperation } from '../../types'; import { QuoteRequestor } from '../quote_requestor'; -import { generateQuoteReport } from './../quote_report_generator'; +import { generateQuoteReport, QuoteReport } from './../quote_report_generator'; import { BUY_SOURCE_FILTER, DEFAULT_GET_MARKET_ORDERS_OPTS, @@ -40,6 +40,7 @@ import { OptimizerResult, OrderDomain, TokenAdjacencyGraph, + OptimizerResultWithReport, } from './types'; // tslint:disable:boolean-naming @@ -79,10 +80,10 @@ export class MarketOperationUtils { private readonly _buySources: SourceFilters; private readonly _feeSources = new SourceFilters(FEE_QUOTE_SOURCES); - private static _computeQuoteReport(nativeOrders: SignedOrder[], quoteRequestor: QuoteRequestor, marketSideLiquidity: MarketSideLiquidity, optimizerResult: OptimizerResult): void { + private static _computeQuoteReport(nativeOrders: SignedOrder[], quoteRequestor: QuoteRequestor, marketSideLiquidity: MarketSideLiquidity, optimizerResult: OptimizerResult): QuoteReport { const {side, dexQuotes, twoHopQuotes, orderFillableAmounts } = marketSideLiquidity; const { liquidityDelivered } = optimizerResult; - generateQuoteReport( + return generateQuoteReport( side, _.flatten(dexQuotes), twoHopQuotes, @@ -354,11 +355,10 @@ export class MarketOperationUtils { nativeOrders: SignedOrder[], takerAmount: BigNumber, opts?: Partial, - gasPrice?: BigNumber, - ): Promise { + ): Promise { const defaultOpts = { ...DEFAULT_GET_MARKET_ORDERS_OPTS, ...opts }; const marketSideLiquidity = await this.getMarketSellLiquidityAsync(nativeOrders, takerAmount, defaultOpts); - const optimizedOrders = await this._generateOptimizedOrdersAsync(marketSideLiquidity, { + const optimizerResult = await this._generateOptimizedOrdersAsync(marketSideLiquidity, { bridgeSlippage: defaultOpts.bridgeSlippage, maxFallbackSlippage: defaultOpts.maxFallbackSlippage, excludedSources: defaultOpts.excludedSources, @@ -366,10 +366,12 @@ export class MarketOperationUtils { allowFallback: defaultOpts.allowFallback, shouldBatchBridgeOrders: defaultOpts.shouldBatchBridgeOrders, }); + + let quoteReport: QuoteReport | undefined; if (defaultOpts.shouldGenerateQuoteReport && defaultOpts.rfqt && defaultOpts.rfqt.quoteRequestor) { - MarketOperationUtils._computeQuoteReport(nativeOrders, defaultOpts.rfqt.quoteRequestor, marketSideLiquidity, optimizedResult); + quoteReport = MarketOperationUtils._computeQuoteReport(nativeOrders, defaultOpts.rfqt.quoteRequestor, marketSideLiquidity, optimizerResult); } - return optimizedOrders; + return {...optimizerResult, quoteReport}; } /** @@ -384,10 +386,10 @@ export class MarketOperationUtils { nativeOrders: SignedOrder[], makerAmount: BigNumber, opts?: Partial, - ): Promise { + ): Promise { const defaultOpts = { ...DEFAULT_GET_MARKET_ORDERS_OPTS, ...opts }; const marketSideLiquidity = await this.getMarketBuyLiquidityAsync(nativeOrders, makerAmount, defaultOpts); - const optimizedResult = await this._generateOptimizedOrdersAsync(marketSideLiquidity, { + const optimizerResult = await this._generateOptimizedOrdersAsync(marketSideLiquidity, { bridgeSlippage: defaultOpts.bridgeSlippage, maxFallbackSlippage: defaultOpts.maxFallbackSlippage, excludedSources: defaultOpts.excludedSources, @@ -395,10 +397,11 @@ export class MarketOperationUtils { allowFallback: defaultOpts.allowFallback, shouldBatchBridgeOrders: defaultOpts.shouldBatchBridgeOrders, }); + let quoteReport: QuoteReport | undefined; if (defaultOpts.shouldGenerateQuoteReport && defaultOpts.rfqt && defaultOpts.rfqt.quoteRequestor) { - MarketOperationUtils._computeQuoteReport(nativeOrders, defaultOpts.rfqt.quoteRequestor, marketSideLiquidity, optimizedResult); + quoteReport = MarketOperationUtils._computeQuoteReport(nativeOrders, defaultOpts.rfqt.quoteRequestor, marketSideLiquidity, optimizerResult); } - return optimizedResult; + return {...optimizerResult, quoteReport}; } /** diff --git a/packages/asset-swapper/src/utils/market_operation_utils/types.ts b/packages/asset-swapper/src/utils/market_operation_utils/types.ts index 08e8d05916..5e7ea158fd 100644 --- a/packages/asset-swapper/src/utils/market_operation_utils/types.ts +++ b/packages/asset-swapper/src/utils/market_operation_utils/types.ts @@ -4,6 +4,7 @@ import { BigNumber } from '@0x/utils'; import { RfqtRequestOpts, SignedOrderWithFillableAmounts } from '../../types'; import { QuoteRequestor } from '../../utils/quote_requestor'; +import { QuoteReport } from '../quote_report_generator'; /** * Order domain keys: chainId and exchange @@ -324,6 +325,10 @@ export interface OptimizerResult { liquidityDelivered: CollapsedFill[] | DexSample; } +export interface OptimizerResultWithReport extends OptimizerResult { + quoteReport?: QuoteReport; +} + export type MarketDepthSide = Array>>; export interface MarketDepth { From 20edcd1ae5782cc87035525e414b8559dff9c618 Mon Sep 17 00:00:00 2001 From: Daniel Pyrathon Date: Thu, 24 Sep 2020 16:32:56 -0700 Subject: [PATCH 3/6] lint and fix --- .../asset-swapper/src/utils/market_operation_utils/index.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/asset-swapper/src/utils/market_operation_utils/index.ts b/packages/asset-swapper/src/utils/market_operation_utils/index.ts index 4db157e76c..3b29fde6be 100644 --- a/packages/asset-swapper/src/utils/market_operation_utils/index.ts +++ b/packages/asset-swapper/src/utils/market_operation_utils/index.ts @@ -33,14 +33,13 @@ import { DexSample, ERC20BridgeSource, FeeSchedule, - FillData, GetMarketOrdersOpts, MarketSideLiquidity, OptimizedMarketOrder, OptimizerResult, + OptimizerResultWithReport, OrderDomain, TokenAdjacencyGraph, - OptimizerResultWithReport, } from './types'; // tslint:disable:boolean-naming From a7d502a5016412c1a7e7647d2616f40c7265fc22 Mon Sep 17 00:00:00 2001 From: Daniel Pyrathon Date: Mon, 28 Sep 2020 12:53:40 -0700 Subject: [PATCH 4/6] create quote report regardless of RFQT --- .../src/utils/market_operation_utils/index.ts | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/packages/asset-swapper/src/utils/market_operation_utils/index.ts b/packages/asset-swapper/src/utils/market_operation_utils/index.ts index 3b29fde6be..c922496400 100644 --- a/packages/asset-swapper/src/utils/market_operation_utils/index.ts +++ b/packages/asset-swapper/src/utils/market_operation_utils/index.ts @@ -40,6 +40,7 @@ import { OptimizerResultWithReport, OrderDomain, TokenAdjacencyGraph, + GenerateOptimizedOrdersOpts, } from './types'; // tslint:disable:boolean-naming @@ -79,7 +80,12 @@ export class MarketOperationUtils { private readonly _buySources: SourceFilters; private readonly _feeSources = new SourceFilters(FEE_QUOTE_SOURCES); - private static _computeQuoteReport(nativeOrders: SignedOrder[], quoteRequestor: QuoteRequestor, marketSideLiquidity: MarketSideLiquidity, optimizerResult: OptimizerResult): QuoteReport { + private static _computeQuoteReport( + nativeOrders: SignedOrder[], + quoteRequestor: QuoteRequestor | undefined, + marketSideLiquidity: MarketSideLiquidity, + optimizerResult: OptimizerResult, + ): QuoteReport { const {side, dexQuotes, twoHopQuotes, orderFillableAmounts } = marketSideLiquidity; const { liquidityDelivered } = optimizerResult; return generateQuoteReport( @@ -366,9 +372,15 @@ export class MarketOperationUtils { shouldBatchBridgeOrders: defaultOpts.shouldBatchBridgeOrders, }); + // Compute Quote Report and return the results. let quoteReport: QuoteReport | undefined; - if (defaultOpts.shouldGenerateQuoteReport && defaultOpts.rfqt && defaultOpts.rfqt.quoteRequestor) { - quoteReport = MarketOperationUtils._computeQuoteReport(nativeOrders, defaultOpts.rfqt.quoteRequestor, marketSideLiquidity, optimizerResult); + if (defaultOpts.shouldGenerateQuoteReport) { + quoteReport = MarketOperationUtils._computeQuoteReport( + nativeOrders, + defaultOpts.rfqt ? defaultOpts.rfqt.quoteRequestor : undefined, + marketSideLiquidity, + optimizerResult, + ); } return {...optimizerResult, quoteReport}; } From 61272961a8380d44da8a7e33ebdc1422f5ffc5eb Mon Sep 17 00:00:00 2001 From: Daniel Pyrathon Date: Tue, 29 Sep 2020 02:02:17 -0700 Subject: [PATCH 5/6] fixed a broken import, renamed variable --- .../src/utils/market_operation_utils/index.ts | 41 +++++++++---------- 1 file changed, 20 insertions(+), 21 deletions(-) diff --git a/packages/asset-swapper/src/utils/market_operation_utils/index.ts b/packages/asset-swapper/src/utils/market_operation_utils/index.ts index c922496400..59305b535c 100644 --- a/packages/asset-swapper/src/utils/market_operation_utils/index.ts +++ b/packages/asset-swapper/src/utils/market_operation_utils/index.ts @@ -40,7 +40,6 @@ import { OptimizerResultWithReport, OrderDomain, TokenAdjacencyGraph, - GenerateOptimizedOrdersOpts, } from './types'; // tslint:disable:boolean-naming @@ -361,23 +360,23 @@ export class MarketOperationUtils { takerAmount: BigNumber, opts?: Partial, ): Promise { - const defaultOpts = { ...DEFAULT_GET_MARKET_ORDERS_OPTS, ...opts }; - const marketSideLiquidity = await this.getMarketSellLiquidityAsync(nativeOrders, takerAmount, defaultOpts); + const _opts = { ...DEFAULT_GET_MARKET_ORDERS_OPTS, ...opts }; + const marketSideLiquidity = await this.getMarketSellLiquidityAsync(nativeOrders, takerAmount, _opts); const optimizerResult = await this._generateOptimizedOrdersAsync(marketSideLiquidity, { - bridgeSlippage: defaultOpts.bridgeSlippage, - maxFallbackSlippage: defaultOpts.maxFallbackSlippage, - excludedSources: defaultOpts.excludedSources, - feeSchedule: defaultOpts.feeSchedule, - allowFallback: defaultOpts.allowFallback, - shouldBatchBridgeOrders: defaultOpts.shouldBatchBridgeOrders, + bridgeSlippage: _opts.bridgeSlippage, + maxFallbackSlippage: _opts.maxFallbackSlippage, + excludedSources: _opts.excludedSources, + feeSchedule: _opts.feeSchedule, + allowFallback: _opts.allowFallback, + shouldBatchBridgeOrders: _opts.shouldBatchBridgeOrders, }); // Compute Quote Report and return the results. let quoteReport: QuoteReport | undefined; - if (defaultOpts.shouldGenerateQuoteReport) { + if (_opts.shouldGenerateQuoteReport) { quoteReport = MarketOperationUtils._computeQuoteReport( nativeOrders, - defaultOpts.rfqt ? defaultOpts.rfqt.quoteRequestor : undefined, + _opts.rfqt ? _opts.rfqt.quoteRequestor : undefined, marketSideLiquidity, optimizerResult, ); @@ -398,19 +397,19 @@ export class MarketOperationUtils { makerAmount: BigNumber, opts?: Partial, ): Promise { - const defaultOpts = { ...DEFAULT_GET_MARKET_ORDERS_OPTS, ...opts }; - const marketSideLiquidity = await this.getMarketBuyLiquidityAsync(nativeOrders, makerAmount, defaultOpts); + const _opts = { ...DEFAULT_GET_MARKET_ORDERS_OPTS, ...opts }; + const marketSideLiquidity = await this.getMarketBuyLiquidityAsync(nativeOrders, makerAmount, _opts); const optimizerResult = await this._generateOptimizedOrdersAsync(marketSideLiquidity, { - bridgeSlippage: defaultOpts.bridgeSlippage, - maxFallbackSlippage: defaultOpts.maxFallbackSlippage, - excludedSources: defaultOpts.excludedSources, - feeSchedule: defaultOpts.feeSchedule, - allowFallback: defaultOpts.allowFallback, - shouldBatchBridgeOrders: defaultOpts.shouldBatchBridgeOrders, + bridgeSlippage: _opts.bridgeSlippage, + maxFallbackSlippage: _opts.maxFallbackSlippage, + excludedSources: _opts.excludedSources, + feeSchedule: _opts.feeSchedule, + allowFallback: _opts.allowFallback, + shouldBatchBridgeOrders: _opts.shouldBatchBridgeOrders, }); let quoteReport: QuoteReport | undefined; - if (defaultOpts.shouldGenerateQuoteReport && defaultOpts.rfqt && defaultOpts.rfqt.quoteRequestor) { - quoteReport = MarketOperationUtils._computeQuoteReport(nativeOrders, defaultOpts.rfqt.quoteRequestor, marketSideLiquidity, optimizerResult); + if (_opts.shouldGenerateQuoteReport && _opts.rfqt && _opts.rfqt.quoteRequestor) { + quoteReport = MarketOperationUtils._computeQuoteReport(nativeOrders, _opts.rfqt.quoteRequestor, marketSideLiquidity, optimizerResult); } return {...optimizerResult, quoteReport}; } From 90ed283b201ac0d20017d2a4a45392e33efebf85 Mon Sep 17 00:00:00 2001 From: Daniel Pyrathon Date: Tue, 29 Sep 2020 02:08:00 -0700 Subject: [PATCH 6/6] performed linting --- packages/asset-swapper/package.json | 2 +- .../src/utils/market_operation_utils/index.ts | 13 +++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/packages/asset-swapper/package.json b/packages/asset-swapper/package.json index 293c1a5ee0..f4d5d2ad19 100644 --- a/packages/asset-swapper/package.json +++ b/packages/asset-swapper/package.json @@ -17,7 +17,7 @@ "compile": "sol-compiler", "lint": "tslint --format stylish --project . --exclude ./generated-wrappers/**/* --exclude ./test/generated-wrappers/**/* --exclude ./generated-artifacts/**/* --exclude ./test/generated-artifacts/**/* --exclude **/lib/**/* && yarn lint-contracts", "lint-contracts": "#solhint -c .solhint.json contracts/**/**/**/**/*.sol", - "prettier": "prettier '**/*.{ts,tsx,json,md}' --config ../../.prettierrc --ignore-path ../../.prettierignore", + "prettier": "prettier --write '**/*.{ts,tsx,json,md}' --config ../../.prettierrc --ignore-path ../../.prettierignore", "fix": "tslint --fix --format stylish --project . --exclude ./generated-wrappers/**/* --exclude ./generated-artifacts/**/* --exclude ./test/generated-wrappers/**/* --exclude ./test/generated-artifacts/**/* --exclude **/lib/**/* && yarn lint-contracts", "test": "yarn run_mocha", "rebuild_and_test": "run-s clean build test", diff --git a/packages/asset-swapper/src/utils/market_operation_utils/index.ts b/packages/asset-swapper/src/utils/market_operation_utils/index.ts index 59305b535c..d8f673b7b1 100644 --- a/packages/asset-swapper/src/utils/market_operation_utils/index.ts +++ b/packages/asset-swapper/src/utils/market_operation_utils/index.ts @@ -85,7 +85,7 @@ export class MarketOperationUtils { marketSideLiquidity: MarketSideLiquidity, optimizerResult: OptimizerResult, ): QuoteReport { - const {side, dexQuotes, twoHopQuotes, orderFillableAmounts } = marketSideLiquidity; + const { side, dexQuotes, twoHopQuotes, orderFillableAmounts } = marketSideLiquidity; const { liquidityDelivered } = optimizerResult; return generateQuoteReport( side, @@ -381,7 +381,7 @@ export class MarketOperationUtils { optimizerResult, ); } - return {...optimizerResult, quoteReport}; + return { ...optimizerResult, quoteReport }; } /** @@ -409,9 +409,14 @@ export class MarketOperationUtils { }); let quoteReport: QuoteReport | undefined; if (_opts.shouldGenerateQuoteReport && _opts.rfqt && _opts.rfqt.quoteRequestor) { - quoteReport = MarketOperationUtils._computeQuoteReport(nativeOrders, _opts.rfqt.quoteRequestor, marketSideLiquidity, optimizerResult); + quoteReport = MarketOperationUtils._computeQuoteReport( + nativeOrders, + _opts.rfqt.quoteRequestor, + marketSideLiquidity, + optimizerResult, + ); } - return {...optimizerResult, quoteReport}; + return { ...optimizerResult, quoteReport }; } /**