CHANGELOG ## v3.2.31 - _May 21, 2021_ * Dependencies updated ## v3.2.30 - _May 5, 2021_ * Dependencies updated ## v3.2.29 - _April 28, 2021_ * Dependencies updated ## v3.2.28 - _April 1, 2021_ * Dependencies updated ## v3.2.27 - _March 17, 2021_ * Dependencies updated ## v3.2.26 - _February 24, 2021_ * Dependencies updated ## v3.2.25 - _February 10, 2021_ * Dependencies updated ## v3.2.24 - _January 26, 2021_ * Dependencies updated ## v3.2.23 - _January 13, 2021_ * Dependencies updated ## v3.2.22 - _January 4, 2021_ * Dependencies updated ## v3.2.21 - _December 23, 2020_ * Dependencies updated ## v3.2.20 - _December 17, 2020_ * Dependencies updated ## v3.2.19 - _December 16, 2020_ * Dependencies updated ## v3.2.18 - _December 9, 2020_ * Dependencies updated ## v3.2.17 - _December 7, 2020_ * Dependencies updated ## v3.2.16 - _December 3, 2020_ * Dependencies updated ## v3.2.15 - _November 19, 2020_ * Dependencies updated ## v3.2.14 - _November 13, 2020_ * Dependencies updated ## v3.2.13 - _November 3, 2020_ * Dependencies updated ## v3.2.12 - _November 3, 2020_ * Dependencies updated ## v3.2.11 - _November 2, 2020_ * Dependencies updated ## v3.2.10 - _October 28, 2020_ * Dependencies updated ## v3.2.9 - _October 27, 2020_ * Dependencies updated ## v3.2.8 - _October 21, 2020_ * Dependencies updated ## v3.2.7 - _July 15, 2020_ * Dependencies updated ## v3.2.6 - _June 24, 2020_ * Dependencies updated ## v3.2.5 - _March 3, 2020_ * Dependencies updated ## v3.2.4 - _February 27, 2020_ * Dependencies updated ## v3.2.3 - _February 26, 2020_ * Dependencies updated ## v3.2.2 - _February 25, 2020_ * Dependencies updated ## v3.2.1 - _February 15, 2020_ * Dependencies updated ## v3.2.0 - _February 8, 2020_ * Flip `LibExchangeRichErrorDecoder` to an actual library. (#2462) * Remove dependency on `DevUtils` for asset data encoding/decoding (#2462) ## v3.1.2 - _February 6, 2020_ * Dependencies updated ## v3.1.1 - _February 4, 2020_ * Dependencies updated ## v3.1.0 - _January 22, 2020_ * Uses updated event decoding to properly decodes arrays and objects. (#2443) ## v3.0.3 - _January 6, 2020_ * Dependencies updated ## v3.0.2 - _December 17, 2019_ * Dependencies updated ## v3.0.1 - _December 9, 2019_ * Dependencies updated ## v3.0.0 - _December 2, 2019_ * Drastically reduced bundle size by adding .npmignore, only exporting specific artifacts/wrappers/utils (#2330) * Introduced new export ExchangeRevertErrors (#2321) * Round up in `marketBuyOrdersNoThrow()` so `marketBuyOrdersFillOrKill()` doesn't throw up. (#2338) * LocalBalanceStore.create and constructor now require an instance of DevUtilsContract (#2304) * In LocalBalanceStore, `transferAsset` is now `transferAssetAsync` (#2304) * Test utility classes AssetWrapper, MatchOrderTester, and OrderFactoryFromScenario constructors now require an instance of DevUtilsContract (#2304) * In OrderFactoryFromScenario, `generateOrder` is now `generateOrderAsync` (#2304) * Use new/cheaper reentrancy guard/mutex (#1699) * Update domain separator (#1742) * Refactor `executeTransaction` to take `ZeroExTransaction` struct as input (#1753) * Refactor example contracts that use `executeTransaction` (#1753) * Upgrade all string reverts to rich reverts (#1761) * Add support for `SignatureType.OrderValidator` for orders (#1774) * Add support for `SignatureType.WalletOrderValidator` for orders (#1774) * Add a `bytes` return value to `executeTransaction`, which is equal to the encoded return data of the underlying Exchange function call (#1793) * Implement `batchExecuteTransactions` (#1793) * Refactor preSign to be compatible with `executeTransaction` (#1793) * Remove ZRX fees in lieu of arbitrary maker and taker fee tokens. (#1819) * Incorporate Multi-asset and ERC1155 tests into `fillOrder` and `matchOrders` tests (#1819) * Swap fill order from maker -> taker to taker -> maker (#1819) * Avoid redundant transfer in `fillOrder()` and `matchOrders()` when maker/taker is the same as feeRecipient and assets are the same (#1819) * Implement `cancelOrderNoThrow` and `batchCancelOrdersNoThrow` functions (#1827) * `executeTransaction` will now revert if the input transaction is expired (#1832) * Log an `TransactionExecuted` event when an `executeTransaction` call is successful (#1832) * Return a FillResults array for batch fill variants (#1834) * Add `MixinTransferSimulator` contract for simulating multiple transfers on-chain (#1868) * Add `EIP1271Wallet` signature type (#1885) * Remove `WalletOrderValidator` and `OrderValidator` signature types (#1885) * Make the regular `Validator` signature type have EIP1271 behavior (#1885) * Always check signature types that are validated via contract (not just on first fill). (#1885) * Remove unecessary rich revert error types. (#1885) * Add `IEIP1271Wallet` interface (#1885) * Add `validatorAddress` field to `SignatureValidatorError` rich reverts (#1885) * Make `calculateMatchedFillResults` public (#1885) * Updated RichErrors to the library pattern (#1913) * Rewrote _dispatchTransferFrom in Solidity (#2020) * Add `TestIsolatedExchange` contract and `IsolatedExchangeWrapper` test class (#2031) * Add `ReferenceFunctions` as package export. (#2031) * Remove `TestExchangeMath.sol`. Exchange math functions are now tested in the `exchange-libs` package and reference implementations are available there as well. (#2031) * Remove functions from `TestExchangeInternals.sol` that are no longer tested in this package. (#2031) * Remove `_assertValidFill()` (#2031) * Add `wrapper_unit_tests` tests and `TestWrapperFunctions` contract (#2042) * Disallow `signerAddress == 0` in signature validation functions. (#2042) * Update `Wallet` signature type behavior to be in line with v2.1. (#2042) * Add (semi) automated reentrancy tests and remove manual ones (#2042) * Refactor to use new `LibFillResults`, `LibOrder`, `LibZeroExTransaction`, and `LibMath` to libraries (#2055) * Remove `LibExchangeRichErrors` and `IExchangeRichErrors` (#2055) * Use built in selectors instead of `LibExchangeSelectors` constants (#2055) * Move `calculateFillResults` and `calculateMatchedFillResults` to `LibFillResults` in `exchange-libs` package (#2055) * Compile and export all contracts, artifacts, and wrappers by default (#2055) * Rename `marketSellOrders` and `marketBuyOrders` back to `marketSellOrdersNoThrow` and `marketBuyOrdersNoThrow`. (#2075) * Introduce new `marketSellOrdersFillOrKill` and `marketBuyOrdersFillOrKill` functions. (#2075) * Use `abi.decode()` in `LibExchangeRichErrorDecoder` over `LibBytes`. (#2075) * Overridden functions in `ReentrancyTester` now return sane values. (#2075) ## v2.2.0-beta.4 - _December 2, 2019_ * Dependencies updated ## v2.2.0-beta.3 - _November 20, 2019_ * Dependencies updated ## v2.2.0-beta.2 - _November 17, 2019_ * Drastically reduced bundle size by adding .npmignore, only exporting specific artifacts/wrappers/utils (#2330) * Introduced new export ExchangeRevertErrors (#2321) * Round up in `marketBuyOrdersNoThrow()` so `marketBuyOrdersFillOrKill()` doesn't throw up. (#2338) ## v2.2.0-beta.1 - _November 7, 2019_ * LocalBalanceStore.create and constructor now require an instance of DevUtilsContract (#2304) * In LocalBalanceStore, `transferAsset` is now `transferAssetAsync` (#2304) * Test utility classes AssetWrapper, MatchOrderTester, and OrderFactoryFromScenario constructors now require an instance of DevUtilsContract (#2304) * In OrderFactoryFromScenario, `generateOrder` is now `generateOrderAsync` (#2304) ## v2.2.0-beta.0 - _October 3, 2019_ * Use new/cheaper reentrancy guard/mutex (#1699) * Update domain separator (#1742) * Refactor `executeTransaction` to take `ZeroExTransaction` struct as input (#1753) * Refactor example contracts that use `executeTransaction` (#1753) * Upgrade all string reverts to rich reverts (#1761) * Add support for `SignatureType.OrderValidator` for orders (#1774) * Add support for `SignatureType.WalletOrderValidator` for orders (#1774) * Add a `bytes` return value to `executeTransaction`, which is equal to the encoded return data of the underlying Exchange function call (#1793) * Implement `batchExecuteTransactions` (#1793) * Refactor preSign to be compatible with `executeTransaction` (#1793) * Remove ZRX fees in lieu of arbitrary maker and taker fee tokens. (#1819) * Incorporate Multi-asset and ERC1155 tests into `fillOrder` and `matchOrders` tests (#1819) * Swap fill order from maker -> taker to taker -> maker (#1819) * Avoid redundant transfer in `fillOrder()` and `matchOrders()` when maker/taker is the same as feeRecipient and assets are the same (#1819) * Implement `cancelOrderNoThrow` and `batchCancelOrdersNoThrow` functions (#1827) * `executeTransaction` will now revert if the input transaction is expired (#1832) * Log an `TransactionExecuted` event when an `executeTransaction` call is successful (#1832) * Return a FillResults array for batch fill variants (#1834) * Add `MixinTransferSimulator` contract for simulating multiple transfers on-chain (#1868) * Add `EIP1271Wallet` signature type (#1885) * Remove `WalletOrderValidator` and `OrderValidator` signature types (#1885) * Make the regular `Validator` signature type have EIP1271 behavior (#1885) * Always check signature types that are validated via contract (not just on first fill). (#1885) * Remove unecessary rich revert error types. (#1885) * Add `IEIP1271Wallet` interface (#1885) * Add `validatorAddress` field to `SignatureValidatorError` rich reverts (#1885) * Make `calculateMatchedFillResults` public (#1885) * Updated RichErrors to the library pattern (#1913) * Rewrote _dispatchTransferFrom in Solidity (#2020) * Add `TestIsolatedExchange` contract and `IsolatedExchangeWrapper` test class (#2031) * Add `ReferenceFunctions` as package export. (#2031) * Remove `TestExchangeMath.sol`. Exchange math functions are now tested in the `exchange-libs` package and reference implementations are available there as well. (#2031) * Remove functions from `TestExchangeInternals.sol` that are no longer tested in this package. (#2031) * Remove `_assertValidFill()` (#2031) * Add `wrapper_unit_tests` tests and `TestWrapperFunctions` contract (#2042) * Disallow `signerAddress == 0` in signature validation functions. (#2042) * Update `Wallet` signature type behavior to be in line with v2.1. (#2042) * Add (semi) automated reentrancy tests and remove manual ones (#2042) * Refactor to use new `LibFillResults`, `LibOrder`, `LibZeroExTransaction`, and `LibMath` to libraries (#2055) * Remove `LibExchangeRichErrors` and `IExchangeRichErrors` (#2055) * Use built in selectors instead of `LibExchangeSelectors` constants (#2055) * Move `calculateFillResults` and `calculateMatchedFillResults` to `LibFillResults` in `exchange-libs` package (#2055) * Compile and export all contracts, artifacts, and wrappers by default (#2055) * Rename `marketSellOrders` and `marketBuyOrders` back to `marketSellOrdersNoThrow` and `marketBuyOrdersNoThrow`. (#2075) * Introduce new `marketSellOrdersFillOrKill` and `marketBuyOrdersFillOrKill` functions. (#2075) * Use `abi.decode()` in `LibExchangeRichErrorDecoder` over `LibBytes`. (#2075) * Overridden functions in `ReentrancyTester` now return sane values. (#2075) ## v2.1.14 - _September 17, 2019_ * Dependencies updated ## v2.1.13 - _September 3, 2019_ * Dependencies updated ## v2.1.12 - _August 22, 2019_ * Dependencies updated ## v2.1.11 - _August 8, 2019_ * Dependencies updated ## v2.1.10 - _July 31, 2019_ * Updated calls to .deployFrom0xArtifactAsync to include artifact dependencies. (#1995) ## v2.1.9 - _July 24, 2019_ * Dependencies updated ## v2.1.8 - _July 15, 2019_ * Dependencies updated ## v2.1.7 - _July 13, 2019_ * Dependencies updated ## v2.1.6 - _July 13, 2019_ * Dependencies updated ## v2.1.5 - _May 24, 2019_ * Dependencies updated ## v2.1.4 - _May 15, 2019_ * Dependencies updated ## v2.1.3 - _May 14, 2019_ * Dependencies updated ## v2.1.2 - _May 10, 2019_ * Dependencies updated ## v2.1.1 - _April 11, 2019_ * Dependencies updated ## v2.1.0 - _March 21, 2019_ * Run Web3ProviderEngine without excess block polling (#1695) ## v2.0.0 - _March 20, 2019_ * Do not reexport external dependencies (#1682) * Upgrade contracts to Solidity 0.5.5 (#1682) * Integration testing for ERC1155Proxy (#1673) ## v1.0.9 - _March 1, 2019_ * Dependencies updated ## v1.0.8 - _February 27, 2019_ * Dependencies updated ## v1.0.7 - _February 26, 2019_ * Dependencies updated ## v1.0.6 - _February 25, 2019_ * Dependencies updated ## v1.0.5 - _February 9, 2019_ * Dependencies updated ## v1.0.4 - _February 7, 2019_ * Dependencies updated ## v1.0.3 - _February 7, 2019_ * Fake publish to enable pinning ## v1.0.2 - _February 6, 2019_ * Dependencies updated ## v1.0.1 - _February 5, 2019_ * Dependencies updated ## v1.0.0 - _Invalid date_ * Move Exchange contract out of contracts-protocol to new package (#1539) * Move example contracts out of contracts-examples to new package (#1539)