From 9e855b4c6ad3baef8be3a725ca26b679c2542c00 Mon Sep 17 00:00:00 2001
From: Fabio Berger <me@fabioberger.com>
Date: Wed, 7 Jun 2017 17:53:52 +0200
Subject: Remove catch of invalid jump throws since there are many reasons the
 contracts could throw this error

---
 src/contract_wrappers/exchange_wrapper.ts | 38 ++++++++++++-------------------
 src/utils/constants.ts                    |  1 -
 2 files changed, 14 insertions(+), 25 deletions(-)

diff --git a/src/contract_wrappers/exchange_wrapper.ts b/src/contract_wrappers/exchange_wrapper.ts
index d25b8aa29..4f132656e 100644
--- a/src/contract_wrappers/exchange_wrapper.ts
+++ b/src/contract_wrappers/exchange_wrapper.ts
@@ -189,7 +189,7 @@ export class ExchangeWrapper extends ContractWrapper {
         await this.validateFillOrderAndThrowIfInvalidAsync(signedOrder, fillTakerAmount, takerAddress);
 
         // Check that fillValue available >= fillTakerAmount
-        const orderHashHex = utils.getOrderHashHex(signedOrder, exchangeInstance.address);
+        const orderHashHex = await this.getOrderHashHexAsync(signedOrder);
         const unavailableTakerAmount = await this.getUnavailableTakerAmountAsync(orderHashHex);
         const remainingTakerAmount = signedOrder.takerTokenAmount.minus(unavailableTakerAmount);
         if (remainingTakerAmount < fillTakerAmount) {
@@ -209,28 +209,19 @@ export class ExchangeWrapper extends ContractWrapper {
                 from: takerAddress,
             },
         );
-        try {
-            const response: ContractResponse = await exchangeInstance.fillOrKill(
-                orderAddresses,
-                orderValues,
-                fillTakerAmount,
-                signedOrder.ecSignature.v,
-                signedOrder.ecSignature.r,
-                signedOrder.ecSignature.s,
-                {
-                    from: takerAddress,
-                    gas,
-                },
-            );
-            this.throwErrorLogsAsErrors(response.logs);
-        } catch (err) {
-            // There is a potential race condition where when the cancellation is broadcasted, a sufficient
-            // fillAmount is available, but by the time the transaction gets mined, it no longer is. Instead of
-            // throwing an invalid jump exception, we would rather give the user a more helpful error message.
-            if (_.includes(err, constants.INVALID_JUMP_IDENTIFIER)) {
-                throw new Error(ExchangeContractErrs.INSUFFICIENT_REMAINING_FILL_AMOUNT);
-            }
-        }
+        const response: ContractResponse = await exchangeInstance.fillOrKill(
+            orderAddresses,
+            orderValues,
+            fillTakerAmount,
+            signedOrder.ecSignature.v,
+            signedOrder.ecSignature.r,
+            signedOrder.ecSignature.s,
+            {
+                from: takerAddress,
+                gas,
+            },
+        );
+        this.throwErrorLogsAsErrors(response.logs);
     }
     /**
      * Cancel a given fill amount of an order. Cancellations are cumulative.
@@ -293,7 +284,6 @@ export class ExchangeWrapper extends ContractWrapper {
         this.exchangeLogEventObjs.push(logEventObj);
     }
     private async getOrderHashHexAsync(order: Order|SignedOrder): Promise<string> {
-        const [orderAddresses, orderValues] = ExchangeWrapper.getOrderAddressesAndValues(order);
         const exchangeInstance = await this.getExchangeContractAsync();
         const orderHashHex = utils.getOrderHashHex(order, exchangeInstance.address);
         return orderHashHex;
diff --git a/src/utils/constants.ts b/src/utils/constants.ts
index ebc8586f3..5a5ba0e0a 100644
--- a/src/utils/constants.ts
+++ b/src/utils/constants.ts
@@ -1,5 +1,4 @@
 export const constants = {
     NULL_ADDRESS: '0x0000000000000000000000000000000000000000',
     TESTRPC_NETWORK_ID: 50,
-    INVALID_JUMP_IDENTIFIER: 'invalid JUMP at',
 };
-- 
cgit v1.2.3