Commit Graph

89 Commits

Author SHA1 Message Date
Lawrence Forman
96bef08ac2 @0x/contracts-exchange: Rename marketSellOrders and marketBuyOrders back to marketSellOrdersNoThrow and marketBuyOrdersNoThrow.
`@0x/contracts-exchange`: Introduce new `marketSellOrdersFillOrKill` and `marketBuyOrdersFillOrKill` functions.
`@0x/contracts-exchange`: Add new rich error types: `IncompleteMarketBuyError` and `IncompleteMarketSellError`.
`@0x/contracts-exchange`: Use `abi.decode()` in `LibExchangeRichErrorDecoder` over `LibBytes`.
2019-08-21 10:59:34 -04:00
Alex Towle
22c8a25a26 Merge branch 'development' into 3.0 2019-08-19 11:13:21 -07:00
Lawrence Forman
fc18db10be @0x/contracts-exchange: Add tests for when callback signature types return incorrect data. 2019-08-12 19:10:24 -04:00
Lawrence Forman
6df190edbb @0x/contracts-exchange: Light changes to address PR comments. 2019-08-12 18:20:50 -04:00
Lawrence Forman
370df0d495 @0x/contracts-dev-utils: Prettier.
`@0x/contracts-exchange`: Update reentrancy tests.
`@0x/contracts-exchange`: Add all mutator functions to
`ExchangeFunctions` type.
`@0x/contracts-tes-utils`: Remove unused import.
2019-08-09 22:15:33 -04:00
Lawrence Forman
d4e300d0a4 @0x/contracts-dev-util: Remove references to marketXOrdersNoThrow.
`@0x/contracts-exchange`: Remove references to `marketXOrdersNoThrow`.
2019-08-09 22:15:33 -04:00
Lawrence Forman
a2234b745c @0x/contracts-exchange: Create semi-automated reentrancy testing.
`@0x/contracts-exchange`: Remove old reentrancy tests.
`@0x/contracts-exchange`: Remove `ReentrantERC20Token` contract.
2019-08-09 22:15:33 -04:00
Lawrence Forman
ca28b8f93e @0x/contracts-exchange: Make marketBuy/SellNoThrow the default.
`@0x/contracts-exchange`: Add more `wrapper_unit_tests` tests.
2019-08-09 22:15:33 -04:00
Lawrence Forman
e3aa76cd09 @0x/contracts-exchange: Light refactoring in
`isolated_fill_order.ts` and `isolated_exchange_wrapper.ts`.
2019-08-08 11:43:55 -04:00
Lawrence Forman
6d502b6898 @0x/contracts-exchange: Use TransactionHelper to call and execute
contract functions.
2019-08-06 15:31:30 -04:00
Lawrence Forman
6345faa4a9 `@0x/contracts-exchange-libs: Appease the linter and prettier gods. 2019-08-06 15:30:59 -04:00
Lawrence Forman
51391b7f0e @0x/contracts-exchange-libs: Correct internal variable naming in src/index.ts.
`@0x/contracts-utils`: Correct internal variable naming in `src/index.ts`.
`@0x/contracts-exchange`: Remove functions from `TestExchangeInternals.sol` that are now in other packages.
`@0x/contracts-exchange`: Remove `TestExchangeMath.sol`. Exchange math functions are now tested in `@0x/contracts-exchange-libs`.
`@0x/contracts-exchange`: Move `ReferenceFunctions` to default package export.
`@0x/contracts-exchange`: Update `match_order.ts` tests to use reference math functions instead of `TestExchangeMath`.
`@0x/contracts-exchange`: Remove `_updateFilledState()` combinatorial tests in favor of normal unit testing. Combinatorial testing was overkill.
`@0x/contracts-exchange`: Update/refactor `calculateFillResults()` combinatorial tests to use the reference functions and hide them behind `TEST_ALL`.
2019-08-06 15:30:59 -04:00
Lawrence Forman
a3cdb63ae1 @0x/contracts-exchange: Rename TestIsolatedExchange to just IsolatedExchange. 2019-08-06 15:30:30 -04:00
Lawrence Forman
41e04c0178 @0x/contracts-exchange: Add a buttload of tests to
`isolated_fill_order.ts`.
2019-08-06 15:30:30 -04:00
Lawrence Forman
898213bb85 @0x/contracts-exchange: Update tests for moved types. 2019-08-06 15:30:30 -04:00
Lawrence Forman
c54d69e5ae @0x/contracts-exchange: Create reference functions test util.
`@0x/contracts-exchange`: Use reference functions to assert fill results
in `isolated_fill_order` tests.
2019-08-06 15:27:39 -04:00
Lawrence Forman
e2bd80253b @0x/contracts-exchange: More TestIsolatedExchange rework. 2019-08-06 15:27:39 -04:00
Lawrence Forman
039cc6e28b @0x/contracts-exchange: Allow fetching of balance of multiple assets
in `TestIsolatedExchange` contract.
`@0x/contracts-exchange`: Refactor `IsolatedExchangeWrapper` to be more
extensible.
2019-08-06 15:27:39 -04:00
Lawrence Forman
1030c96eec @0x/contracts-exchange: Create IsolatedExchangeWrapper class. 2019-08-06 15:27:39 -04:00
Lawrence Forman
72c7157138 @0x/contracts-exchange: Start work on isolated fill order tests. 2019-08-06 15:27:39 -04:00
Amir Bandeali
d3ab2b077a Remove cancelOrderNoThrow tests 2019-08-05 10:33:21 -07:00
Greg Hysen
d8cf9d54aa Updated all instances of deployFrom0xArtifactAsync 2019-07-29 12:07:28 +02:00
Greg Hysen
df746c5ff4 Decode log arguments in awaitTransactionSuccessAsync, when ABI is recognized. 2019-07-29 12:04:37 +02:00
Amir Bandeali
90d1decb87 Fix build errors 2019-07-24 10:26:28 -07:00
Alex Towle
65e3d9873d Added ERC1155 Aggregation 2019-07-23 15:53:26 -07:00
Alex Towle
50b22c673e Addressed review comments 2019-07-23 15:53:26 -07:00
James Towle
ffa32f7610 Changed the returndata for batchMatchOrders 2019-07-23 15:53:26 -07:00
James Towle
5611cb91a0 Adapted tests from matchOrders to test matchOrdersWithMaximalFill 2019-07-23 15:53:26 -07:00
James Towle
e0cff4b74e Updated batchMatchOrders to fix an edge case and added tests 2019-07-23 15:53:26 -07:00
James Towle
416b1aee98 Improved the testing for matchOrders and batchMatchOrders 2019-07-23 15:53:26 -07:00
James Towle
0473c82029 Improved test coverage for batchMatchOrdersWithMaximalFill 2019-07-23 15:53:26 -07:00
James Towle
5a64759c83 Added a reentrancy test for matchOrdersWithMaximalFill 2019-07-23 15:53:26 -07:00
James Towle
0df68a6e06 Added testing for the BatchMatchOrdersError Rich Error 2019-07-23 15:53:26 -07:00
James Towle
1fe159f432 Polished MixinMatchOrders and removed unimplemented test 2019-07-23 15:53:26 -07:00
James Towle
adad7f4e3f Modified the matchOrders tests to test matchOrdersWithMaximalFill 2019-07-23 15:53:26 -07:00
James Towle
73eb56c072 Added RichErrors to batchMatchOrders 2019-07-23 15:53:25 -07:00
James Towle
9651941cce Added getMatchOrdersResultsAsync and getBatchMatchOrdersResultsAsync 2019-07-23 15:53:25 -07:00
James Towle
29be79814f Added a test for partial matching 2019-07-23 15:53:25 -07:00
James Towle
6cf11554de Created tests for batchMatchOrders 2019-07-23 15:53:25 -07:00
Lawrence Forman
7a0dc7a364 @0x/contracts-exchange: Add isValidHashSignature() back.
`@0x/contracts-exchange`: Remove references to removed signature types and associated functions.
2019-07-23 15:53:24 -07:00
Lawrence Forman
dee5ff852d @0x/contracts-exchange: Have TestValidatorWallet always accept WalletOrderValidator if makerAddress == this.
`@0x/contracts-exchange`: Update tests for repeatable signature validation.
2019-07-23 15:53:24 -07:00
Lawrence Forman
42f7b7cc19 @0x/contracts-exchange: Always check OrderValidator and WalletOrderValidator signature types on every fill
`@0x/contracts-exchange`: Add `validatorAddress` field to `SignatureValidatorError` and `SignatureOrderValidatorError` rich reverts
`@0x/contracts-exchange`: Add separate `SignatureOrderValidatorNotApprovedError` for `OrderValidator` signatures
`@0x/contracts-exchange`: Consolidate Wallet and Validator test contracts into a single configurable `TestValidatorWallet` contract.
`@0x/contracts-exchange`: Rewrite many tests in `signature_validator.ts` for brevity.
2019-07-23 15:53:24 -07:00
Amir Bandeali
564dbea126 Remove formatters and clarify comments about pointing assetData to the same memory location 2019-07-23 15:46:16 -07:00
Lawrence Forman
95e7999e45 @0x/contracts-exchange: Update settlement test simulators to match settlement optimizations in the Exchange. 2019-07-23 15:46:15 -07:00
Lawrence Forman
2f464ee8f0 @0x/contracts-exchange: Fix critical error in fillOrder() and matchOrders() redundant transfer optimization code.
`@0x/contracts-exchange`: Rearrange `Fill` event params to make regular `emit` code work without breaking the stack.
`@0x/contracts-exchange`: Add edge case tests for redundant transfer optimizations.
2019-07-23 15:46:15 -07:00
Lawrence Forman
de896f9159 @0x/contracts-exchange: Remove TODO comment in fill_order_combinatorial_utils.ts. 2019-07-23 15:46:15 -07:00
Lawrence Forman
ee89f74afd @0x/contracts-exchange: Avoid redundant transfer in matchOrders() when maker/feeRecipient and takerAssetData/makerFeeAssetData are the same.
`@0x/conracts-exchange`: Disable combinatorial tests by default. Can be run by setting env var `TEST_ALL=1`.
2019-07-23 15:46:15 -07:00
Lawrence Forman
cd08c3e8fa @0x/contracts-exchange: Avoid redundant trasfer in fillOrder() when maker/taker is the same as feeRecipient and the assets match.
`@0x/contracts-exchange`: Swap fill order in `fillOrder()` from maker -> taker to taker -> maker first
2019-07-23 15:46:15 -07:00
Lawrence Forman
07e3ba014c @0x/contracts-exchange: Fully incorporate ERC1155 and MultiAsset tests into the fillOrder and matchOrders test suites. 2019-07-23 15:46:15 -07:00
Lawrence Forman
85ea291745 @0x/contracts-exchange: Add MultiAssetProxy, ERC1155Fungible, and ERC1155NonFungible combinatorial tests. 2019-07-23 15:46:15 -07:00