From 5226bb5596543d47b1e966d76a3d75f538c556bc Mon Sep 17 00:00:00 2001 From: fragosti Date: Wed, 20 May 2020 12:50:15 -0700 Subject: [PATCH] Expose fills in asset-swapper quote --- .../abi-gen/test-cli/output/python/lib_dummy/__init__.py | 2 +- packages/asset-swapper/src/types.ts | 6 +++--- packages/asset-swapper/src/utils/swap_quote_calculator.ts | 4 ++-- packages/asset-swapper/test/utils/swap_quote.ts | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/abi-gen/test-cli/output/python/lib_dummy/__init__.py b/packages/abi-gen/test-cli/output/python/lib_dummy/__init__.py index 12e96c147f..6c1375710e 100644 --- a/packages/abi-gen/test-cli/output/python/lib_dummy/__init__.py +++ b/packages/abi-gen/test-cli/output/python/lib_dummy/__init__.py @@ -90,7 +90,7 @@ class LibDummy: try: for middleware in MIDDLEWARE: web3.middleware_onion.inject( - middleware["function"], layer=middleware["layer"], + middleware["function"], layer=middleware["layer"] ) except ValueError as value_error: if value_error.args == ( diff --git a/packages/asset-swapper/src/types.ts b/packages/asset-swapper/src/types.ts index f08de9d704..5ba75c7487 100644 --- a/packages/asset-swapper/src/types.ts +++ b/packages/asset-swapper/src/types.ts @@ -2,7 +2,7 @@ import { ContractAddresses } from '@0x/contract-wrappers'; import { SignedOrder } from '@0x/types'; import { BigNumber } from '@0x/utils'; -import { GetMarketOrdersOpts } from './utils/market_operation_utils/types'; +import { GetMarketOrdersOpts, OptimizedMarketOrder } from './utils/market_operation_utils/types'; import { LogFunction } from './utils/quote_requestor'; /** @@ -132,7 +132,7 @@ export interface GetExtensionContractTypeOpts { * takerAssetData: String that represents a specific taker asset (for more info: https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md). * makerAssetData: String that represents a specific maker asset (for more info: https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md). * gasPrice: gas price used to determine protocolFee amount, default to ethGasStation fast amount. - * orders: An array of objects conforming to SignedOrder. These orders can be used to cover the requested assetBuyAmount plus slippage. + * orders: An array of objects conforming to OptimizedMarketOrder. These orders can be used to cover the requested assetBuyAmount plus slippage. * bestCaseQuoteInfo: Info about the best case price for the asset. * worstCaseQuoteInfo: Info about the worst case price for the asset. */ @@ -140,7 +140,7 @@ export interface SwapQuoteBase { takerAssetData: string; makerAssetData: string; gasPrice: BigNumber; - orders: SignedOrder[]; + orders: OptimizedMarketOrder[]; bestCaseQuoteInfo: SwapQuoteInfo; worstCaseQuoteInfo: SwapQuoteInfo; sourceBreakdown: SwapQuoteOrdersBreakdown; diff --git a/packages/asset-swapper/src/utils/swap_quote_calculator.ts b/packages/asset-swapper/src/utils/swap_quote_calculator.ts index 7ce60afbbc..f1f42d08b8 100644 --- a/packages/asset-swapper/src/utils/swap_quote_calculator.ts +++ b/packages/asset-swapper/src/utils/swap_quote_calculator.ts @@ -176,6 +176,7 @@ function createSwapQuote( assetFillAmount: BigNumber, gasPrice: BigNumber, gasSchedule: { [source: string]: number }, + gasTokenSupply: BigNumber = new BigNumber(10000000000000000000000), ): SwapQuote { const bestCaseFillResult = simulateBestCaseFill({ gasPrice, @@ -200,8 +201,7 @@ function createSwapQuote( bestCaseQuoteInfo: fillResultsToQuoteInfo(bestCaseFillResult), worstCaseQuoteInfo: fillResultsToQuoteInfo(worstCaseFillResult), sourceBreakdown: getSwapQuoteOrdersBreakdown(bestCaseFillResult.fillAmountBySource), - // Remove fill metadata. - orders: resultOrders.map(o => _.omit(o, 'fills')) as SignedOrderWithFillableAmounts[], + orders: resultOrders, }; if (operation === MarketOperation.Buy) { diff --git a/packages/asset-swapper/test/utils/swap_quote.ts b/packages/asset-swapper/test/utils/swap_quote.ts index de3bde6e72..dcaca4491f 100644 --- a/packages/asset-swapper/test/utils/swap_quote.ts +++ b/packages/asset-swapper/test/utils/swap_quote.ts @@ -34,7 +34,7 @@ export async function getFullyFillableSwapQuoteWithNoFeesAsync( const quoteBase = { makerAssetData, takerAssetData, - orders, + orders: orders.map(order => ({...order, fills: [] })), gasPrice, bestCaseQuoteInfo: quoteInfo, worstCaseQuoteInfo: quoteInfo,