From 75a8b1c0817fbfcffe6d2f5a31ffb2e9372b8890 Mon Sep 17 00:00:00 2001 From: Amir Bandeali Date: Mon, 2 Sep 2019 23:34:43 -0700 Subject: [PATCH] Use same taker numerator/denominator for all math in calculateFillResults --- .../contracts/src/LibFillResults.sol | 4 ++-- .../exchange-libs/test/lib_fill_results.ts | 17 ----------------- contracts/exchange/test/isolated_fill_order.ts | 4 ++-- 3 files changed, 4 insertions(+), 21 deletions(-) diff --git a/contracts/exchange-libs/contracts/src/LibFillResults.sol b/contracts/exchange-libs/contracts/src/LibFillResults.sol index 66185745ac..9f151dd521 100644 --- a/contracts/exchange-libs/contracts/src/LibFillResults.sol +++ b/contracts/exchange-libs/contracts/src/LibFillResults.sol @@ -74,8 +74,8 @@ library LibFillResults { order.makerAssetAmount ); fillResults.makerFeePaid = LibMath.safeGetPartialAmountFloor( - fillResults.makerAssetFilledAmount, - order.makerAssetAmount, + takerAssetFilledAmount, + order.takerAssetAmount, order.makerFee ); fillResults.takerFeePaid = LibMath.safeGetPartialAmountFloor( diff --git a/contracts/exchange-libs/test/lib_fill_results.ts b/contracts/exchange-libs/test/lib_fill_results.ts index 7f263e5bb3..35d241506f 100644 --- a/contracts/exchange-libs/test/lib_fill_results.ts +++ b/contracts/exchange-libs/test/lib_fill_results.ts @@ -225,23 +225,6 @@ blockchainTests('LibFillResults', env => { ).to.revertWith(expectedError); }); - it('reverts if `order.makerAssetAmount` is 0', async () => { - const order = makeOrder({ - makerAssetAmount: constants.ZERO_AMOUNT, - takerAssetAmount: ONE_ETHER, - }); - const takerAssetFilledAmount = ONE_ETHER; - const expectedError = new LibMathRevertErrors.DivisionByZeroError(); - return expect( - libsContract.calculateFillResults.callAsync( - order, - takerAssetFilledAmount, - DEFAULT_PROTOCOL_FEE_MULTIPLIER, - DEFAULT_GAS_PRICE, - ), - ).to.revertWith(expectedError); - }); - it('reverts if `order.takerAssetAmount` is 0', async () => { const order = makeOrder({ makerAssetAmount: ONE_ETHER, diff --git a/contracts/exchange/test/isolated_fill_order.ts b/contracts/exchange/test/isolated_fill_order.ts index d3327c2d34..bb15855cf6 100644 --- a/contracts/exchange/test/isolated_fill_order.ts +++ b/contracts/exchange/test/isolated_fill_order.ts @@ -427,8 +427,8 @@ blockchainTests('Isolated fillOrder() tests', env => { }); const takerAssetFillAmount = order.takerAssetAmount.dividedToIntegerBy(3); const expectedError = new LibMathRevertErrors.RoundingError( - takerAssetFillAmount.times(2), - order.makerAssetAmount, + takerAssetFillAmount, + order.takerAssetAmount, order.makerFee, ); return expect(exchange.fillOrderAsync(order, takerAssetFillAmount)).to.revertWith(expectedError);