49 Commits

Author SHA1 Message Date
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
Lawrence Forman
f7f55cad43 @0x/contracts-exchange: Removed dependency on OrderValidationUtils. The tests using it didn't really warrant the full validation suite.
`@0x/contracts-test-utils`: Move all the `OrderScenario` related types into the `contracts-exchange` package because no one else is using them.
2019-07-23 15:43:23 -07:00
Lawrence Forman
aebb923c2d @0x/contracts-exchange: Major rework of fill_order_combinatorial_utils.
`@0x/contracts-exchange`: Add more arbitrary fee token tests.
`@0x/contracts-exchange`: Fix broken tests.
2019-07-23 15:43:23 -07:00
Lawrence Forman
9d257497bd Ran prettier and fixed linter errors 2019-07-23 15:23:40 -07:00
Lawrence Forman
1ab62b7a80 @0x/contracts-exchange: Fix broken match orders tests 2019-07-23 15:23:40 -07:00
Lawrence Forman
d2f10d5834 @0x/contracts-exchange: Allow custom ExchangeWrapper.matchOrders() call in MatchOrdersTester. 2019-07-23 15:23:40 -07:00
Lawrence Forman
c326ec9d1e @0x/contracts-exchange: Rewrote MatchOrderTester class to be simpler and more flexible. 2019-07-23 15:23:40 -07:00
Lawrence Forman
aecb2efad9 @0x/contracts-exchange: Fix combinatorial fillOrder test bugs.
`@0x/contracts-exchange`: Fix emit `Fill` event code.
2019-07-23 15:23:40 -07:00
Lawrence Forman
8aa3b535f0 @0x/contracts-exchange: Update fill order tests for arbitrary fee tokens. (Still more to do) 2019-07-23 15:23:40 -07:00
Amir Bandeali
51ef0e1e6d Add tests for cancelOrderNoThrow and batchCancelOrdersNoThrow 2019-07-23 15:23:40 -07:00
Amir Bandeali
ed0fcf2829 Remove LibAbiEncoder 2019-07-23 15:23:40 -07:00
Amir Bandeali
3e461ac2e5 Rename internal and private functions 2019-07-23 15:21:14 -07:00
Lawrence Forman
d942c47f08 In @0x/contracts-exchange: Change parameter order and naming of some rich revert errors.
In `@0x/order-utils`: Change parameter order for `OrderStatusError`.
2019-07-23 15:21:14 -07:00
Amir Bandeali
e717625f86 Add batchExecuteTransactions tests 2019-07-23 15:21:14 -07:00
Amir Bandeali
41444e7ede Refactor transaction tests to iclude more combinations and to cover all revert cases 2019-07-23 15:21:14 -07:00
Amir Bandeali
72f4b216c1 Move exchange specific types. constants, and utils into exchange package 2019-07-23 15:21:13 -07:00
Amir Bandeali
6fc30d31bf Fix missed conflicts and rebuild 2019-07-23 15:18:26 -07:00
Lawrence Forman
a7fe47f295 In @0x/contracts-exchange: Add SignatureWalletError and SignatureValidatorError rich reverts.
In `@0x/contracts-exchange`: Change `AssetProxyTransferError` to accept a `revertData` bytes instead of a `revertReason` string.
In `@0x/contracts-exchange`: Aadd `contracts/test/TestRevertReceiver.sol` for testing that validator/wallet reverts are properly wrapped.
2019-07-23 15:17:57 -07:00
Lawrence Forman
ac18359410 Switch order of parameters in some rich reverts for easier dirty parsing. 2019-07-23 15:17:56 -07:00
Lawrence Forman
8194e3d3c5 In @0x/contracts-exchange: More efficient revert string extraction in MixinAssetProxyDispatcher.sol 2019-07-23 15:17:56 -07:00
Lawrence Forman
233336ea16 Ran prettier and linter 2019-07-23 15:17:56 -07:00
Lawrence Forman
20d8c1b51a In @0x/contracts-exchange: Update tests for rich reverts 2019-07-23 15:17:56 -07:00
Lawrence Forman
4408604c2d In @0x/contracts-exchange: upgrading tests... 2019-07-23 15:17:56 -07:00
Amir Bandeali
e0d6a3fd1d Refactor executeTransaction to take ZeroExTransaction struct as input 2019-07-23 15:09:46 -07:00
Lawrence Forman
b8f056b82f Update coordinator, exchange-forwarder, exchange-libs, exchange, and extensions contract tests to use new order and transaction structure 2019-07-23 15:08:00 -07:00
Lawrence Forman
77ed54f64d Ran prettier 2019-07-23 14:58:00 -07:00
Lawrence Forman
bd06c7b343 Remove lingering invalid calls to OrderStateUtils() 2019-07-23 14:58:00 -07:00
Lawrence Forman
c096eae644 All glory to the linter gods. 2019-07-23 14:58:00 -07:00
Lawrence Forman
2d28fde24d Migrate all contract-related tooling and tests to accept a chain ID in domain separators. 2019-07-23 14:58:00 -07:00
Xianny
7423028fea
Replace lodash with built-ins where possible to reduce bundle size (#1766)
* add tslint rule to disallow lodash.isUndefined

* add tslint rule to disallow lodash.isNull

* apply fixes
2019-04-10 09:36:32 -07:00
Greg Hysen
29ebed9514 Added ERC1155 artifacts to log decoder for exchange wrapper 2019-03-19 09:36:11 -07:00
Amir Bandeali
22af796302 Cleanup 2019-03-07 19:36:26 -08:00
Fabio Berger
3f9872d8b3 Remove getZeroExProvider method since it can be confusing 2019-02-21 16:07:23 -08:00
Fabio Berger
6b775628d5 Prettier fixes 2019-02-19 22:48:09 -08:00
Fabio Berger
1fa82c1077 Fix up missing Provider interfaces and refactor providerUtils.standardizeOrThrow() 2019-02-19 22:34:31 -08:00
Leonid Logvinov
de23428069
Merge development 2019-02-07 11:15:37 +01:00
Amir Bandeali
a394967268 Use new transaction schema throughout monorepo 2019-02-05 09:23:09 -08:00
Leonid Logvinov
6943bbcacb
Temp 2019-02-04 10:38:02 +01:00
Amir Bandeali
0758f231e2 Split tokens package into erc20 and erc721 2019-01-21 21:41:21 -08:00
Amir Bandeali
4a4c26a2e3 Split protocol package into exchange, asset-proxy, and multisig 2019-01-21 21:41:21 -08:00