From 95e7999e457df080727312d11fc1c7856fbb5c9c Mon Sep 17 00:00:00 2001 From: Lawrence Forman Date: Wed, 29 May 2019 22:00:39 -0400 Subject: [PATCH] `@0x/contracts-exchange`: Update settlement test simulators to match settlement optimizations in the Exchange. --- .../test/utils/fill_order_simulator.ts | 4 +-- .../exchange/test/utils/match_order_tester.ts | 36 ++++++++++--------- 2 files changed, 22 insertions(+), 18 deletions(-) diff --git a/contracts/exchange/test/utils/fill_order_simulator.ts b/contracts/exchange/test/utils/fill_order_simulator.ts index a94dbd0334..887595c6e1 100644 --- a/contracts/exchange/test/utils/fill_order_simulator.ts +++ b/contracts/exchange/test/utils/fill_order_simulator.ts @@ -81,7 +81,7 @@ export class FillOrderSimulator { TransferType.Trade, ); // Maker fee -> fee recipient - if (makerFeePaid.isGreaterThan(0)) { + if (order.makerAddress !== order.feeRecipientAddress) { await this._transferSimulator.transferFromAsync( order.makerFeeAssetData, order.makerAddress, @@ -101,7 +101,7 @@ export class FillOrderSimulator { TransferType.Trade, ); // Taker fee -> fee recipient - if (takerFeePaid.isGreaterThan(0)) { + if (takerAddress !== order.feeRecipientAddress) { await this._transferSimulator.transferFromAsync( order.takerFeeAssetData, takerAddress, diff --git a/contracts/exchange/test/utils/match_order_tester.ts b/contracts/exchange/test/utils/match_order_tester.ts index 53d2f6945b..8a569aed44 100644 --- a/contracts/exchange/test/utils/match_order_tester.ts +++ b/contracts/exchange/test/utils/match_order_tester.ts @@ -267,14 +267,16 @@ function simulateMatchOrders( orders.rightOrder.makerAssetData, matchResults, ); - // Left maker fees - transferAsset( - orders.leftOrder.makerAddress, - orders.leftOrder.feeRecipientAddress, - transferAmounts.leftMakerFeeAssetPaidByLeftMakerAmount, - orders.leftOrder.makerFeeAssetData, - matchResults, - ); + if (orders.leftOrder.makerAddress !== orders.leftOrder.feeRecipientAddress) { + // Left maker fees + transferAsset( + orders.leftOrder.makerAddress, + orders.leftOrder.feeRecipientAddress, + transferAmounts.leftMakerFeeAssetPaidByLeftMakerAmount, + orders.leftOrder.makerFeeAssetData, + matchResults, + ); + } // Left maker asset -> right maker transferAsset( orders.leftOrder.makerAddress, @@ -283,14 +285,16 @@ function simulateMatchOrders( orders.leftOrder.makerAssetData, matchResults, ); - // Right maker fees - transferAsset( - orders.rightOrder.makerAddress, - orders.rightOrder.feeRecipientAddress, - transferAmounts.rightMakerFeeAssetPaidByRightMakerAmount, - orders.rightOrder.makerFeeAssetData, - matchResults, - ); + if (orders.rightOrder.makerAddress !== orders.rightOrder.feeRecipientAddress) { + // Right maker fees + transferAsset( + orders.rightOrder.makerAddress, + orders.rightOrder.feeRecipientAddress, + transferAmounts.rightMakerFeeAssetPaidByRightMakerAmount, + orders.rightOrder.makerFeeAssetData, + matchResults, + ); + } // Left taker profit transferAsset( orders.leftOrder.makerAddress,