From 89f1d54ebcaeac511e3f8fa95b4e50fa1ffcceef Mon Sep 17 00:00:00 2001 From: Lawrence Forman Date: Fri, 16 Aug 2019 17:39:15 -0400 Subject: [PATCH] `@0x/contracts-dev-utils`: Add `marketBuy/SellOrdersNoThrow` and `marketBuy/SellOrdersFillOrKill` to `LibTransactionDecoder`. --- contracts/dev-utils/CHANGELOG.json | 4 ++++ .../contracts/src/LibTransactionDecoder.sol | 18 ++++++++++++------ .../dev-utils/test/lib_transaction_decoder.ts | 7 ++++++- 3 files changed, 22 insertions(+), 7 deletions(-) diff --git a/contracts/dev-utils/CHANGELOG.json b/contracts/dev-utils/CHANGELOG.json index fe23acc223..8a721afe55 100644 --- a/contracts/dev-utils/CHANGELOG.json +++ b/contracts/dev-utils/CHANGELOG.json @@ -9,6 +9,10 @@ { "note": "Compile and export all contracts, artifacts, and wrappers by default", "pr": 2055 + }, + { + "note": "Add `marketBuy/SellOrdersNoThrow` and `marketBuy/SellOrdersFillOrKill` to `LibTransactionDecoder`.", + "pr": "TODO" } ] }, diff --git a/contracts/dev-utils/contracts/src/LibTransactionDecoder.sol b/contracts/dev-utils/contracts/src/LibTransactionDecoder.sol index 32d3c5e7ee..ef8d0fde3f 100644 --- a/contracts/dev-utils/contracts/src/LibTransactionDecoder.sol +++ b/contracts/dev-utils/contracts/src/LibTransactionDecoder.sol @@ -62,10 +62,14 @@ contract LibTransactionDecoder { functionName = "fillOrderNoThrow"; } else if (functionSelector == IExchange(address(0)).fillOrKillOrder.selector) { functionName = "fillOrKillOrder"; - } else if (functionSelector == IExchange(address(0)).marketBuyOrders.selector) { - functionName = "marketBuyOrders"; - } else if (functionSelector == IExchange(address(0)).marketSellOrders.selector) { - functionName = "marketSellOrders"; + } else if (functionSelector == IExchange(address(0)).marketBuyOrdersNoThrow.selector) { + functionName = "marketBuyOrdersNoThrow"; + } else if (functionSelector == IExchange(address(0)).marketSellOrdersNoThrow.selector) { + functionName = "marketSellOrdersNoThrow"; + } else if (functionSelector == IExchange(address(0)).marketBuyOrdersFillOrKill.selector) { + functionName = "marketBuyOrdersFillOrKill"; + } else if (functionSelector == IExchange(address(0)).marketSellOrdersFillOrKill.selector) { + functionName = "marketSellOrdersFillOrKill"; } else if (functionSelector == IExchange(address(0)).matchOrders.selector) { functionName = "matchOrders"; } else if ( @@ -100,8 +104,10 @@ contract LibTransactionDecoder { ) { (orders, takerAssetFillAmounts, signatures) = _makeReturnValuesForSingleOrderFill(transactionData); } else if ( - functionSelector == IExchange(address(0)).marketBuyOrders.selector || - functionSelector == IExchange(address(0)).marketSellOrders.selector + functionSelector == IExchange(address(0)).marketBuyOrdersNoThrow.selector || + functionSelector == IExchange(address(0)).marketSellOrdersNoThrow.selector || + functionSelector == IExchange(address(0)).marketBuyOrdersFillOrKill.selector || + functionSelector == IExchange(address(0)).marketSellOrdersFillOrKill.selector ) { (orders, takerAssetFillAmounts, signatures) = _makeReturnValuesForMarketFill(transactionData); } else if (functionSelector == IExchange(address(0)).matchOrders.selector) { diff --git a/contracts/dev-utils/test/lib_transaction_decoder.ts b/contracts/dev-utils/test/lib_transaction_decoder.ts index 4cb91233e6..bc308021e5 100644 --- a/contracts/dev-utils/test/lib_transaction_decoder.ts +++ b/contracts/dev-utils/test/lib_transaction_decoder.ts @@ -98,7 +98,12 @@ describe('LibTransactionDecoder', () => { }); } - for (const func of ['marketBuyOrders', 'marketSellOrders']) { + for (const func of [ + 'marketBuyOrdersNoThrow', + 'marketSellOrdersNoThrow', + 'marketBuyOrdersFillOrKill', + 'marketSellOrdersFillOrKill', + ]) { const input = (exchangeInterface as any)[func].getABIEncodedTransactionData( [order, order], takerAssetFillAmount,