31 Commits

Author SHA1 Message Date
Alex Towle
dba0d8469d @0x:contracts-exchange Addressed review feedback 2019-08-29 15:20:52 -07:00
Alex Towle
df4282fb34 Fixed issues after rebase 2019-08-28 15:50:23 -07:00
Alex Towle
dd0d848530 @0x:contracts-exchange Added tests for fillOrder protocol fees 2019-08-28 15:05:33 -07:00
Alex Towle
7f17033ce3 @0x:contracts-exchange Added protocol fees to fillOrders and matchOrders 2019-08-28 15:05:13 -07:00
Alex Towle
bf3751fd9e @0x:contracts-exchange Added the MixinProtocolFees contract 2019-08-28 15:03:32 -07:00
Alex Towle
415af90ae7 @0x:contracts-exchange Added the MixinStakingManager contract 2019-08-28 14:53:45 -07:00
Amir Bandeali
890bfd18fa Update tests to use new TransactionInvalidContextError 2019-08-22 17:04:15 -07:00
Alex Towle
74b9ad5536 @0x:contracts-exchange Added unit tests for getCurrentContextAddress 2019-08-22 17:01:48 -07:00
Lawrence Forman
e4475c08e8 @0x/contracts-exchange: Switch to consolidated IncompleteFillError rich error.
`@0x/contracts-exchange`: Allow `marketSell/BuyOrdersNoThrow` to be destructive to orders again.
2019-08-21 10:59:34 -04:00
Amir Bandeali
070147db52 Fix build errors 2019-08-13 16:43:55 -07:00
Amir Bandeali
dc31294440 Move LibExchangeRichErrors to exchange-libs package 2019-08-13 16:20:35 -07:00
Amir Bandeali
ccce7e001e Compile all contracts by default, regenerate boilerplate 2019-08-13 16:19:48 -07:00
Lawrence Forman
b1778825cb @0x/contracts-exchange: Remove ReentrantERC20Token from compiler
config.
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
29a82f8471 @0x/contracts: Create TestWrapperFunctions contract. 2019-08-09 22:15:33 -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
d974ee169a @0x/contracts-exchange: Rename TestExchangeIsolated.sol ->
`TestIsolatedExchange.sol`.
`@0x/contracts-exchange`: Automatically track raw asset balances in
`TestIsolatedExchange` contract.
2019-08-06 15:27:39 -04:00
Lawrence Forman
cfa362321d @0x/contracts-exchange: Switch to TestExchangeIsolated contract for
`isolated_fill_order` tests.
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
James Towle
073976de10 Split up TestExchangeInternals into two contracts 2019-07-23 15:53:26 -07:00
Lawrence Forman
4791c120fe @0x/contracts-exchange: Run contracts:gen 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
James Towle
e229d2d59f Updated tests to work with LibMathRichErrors 2019-07-23 15:52:20 -07:00
Lawrence Forman
fdb6bee65f In @0x/contracts-exchange: Add tests for LibExchangeRichErrorDecoder. 2019-07-23 15:21:14 -07:00
Lawrence Forman
a2846faa61 Move @0x/rich-reverts-decoder into @0x/contracts-exchange/contracts/src/libs/LibExchangeRichErrorDecoder. 2019-07-23 15:21:14 -07:00
Lawrence Forman
0bcd47b394 Add OrderValidator and WalletOrderValidator signature strategies to Exchange (#1774)
* In `@0x/contracts-exchange`: Add `SignatureType.OrderValidator` support to contracts and refactor signature validation functions.

* In `@0x/types`: Add `SignatureType.OrderValidator` and `RevertReason.InappropriateSignature`.

* In `@0x/contracts-exchange`: Fix contracts and update tests for `SignatureType.OrderValidator`.

* Ran prettier/linter

* Update changelogs

* In `@0x/order-utils`: Add `SignatureOrderValidatorError` to `ExchangeRevertErrors`.

* In `@0x/contracts-exchange`: Add `SignatureOrderValidatorError` rich revert. Fix rebase issues. Rename `IValidator.isValidOrder` to `IValidator.isValidOrderSignature`.

* In `@0x/contracts-exchange`: Add revert test cases for `OrderValidator` signature type.

* In `@0x/order-utils`: Update changelog.

* In `@0x/contracts-exchange`: Split off `SignatureType.OrderValidator` scheme into its own interface and registry.

* In `@0x/types`: Add `SignatureType.WalletOrderValidator`.

* In `@0x/order-utils`: Add `SignatureWalletOrderValidatorError`.

* In `@0x/contracts-exchange`: Add `SignatureType.WalletOrderValidator` support.

* Ran prettier

* In `@0x/types`: Remove `RevertReason.WalletOrderValidator`.

* Update/fix changelogs in `@0x/contracts-exchange`, `@0x/order-utils`, and `@0x/types`.

* In `@0x/contracts-exchange`: Make `isValidOrderSignature` `external` instead of `public`.

* In `@0x/contracts-exchange`: Change `isValidOrderSignature` back to `public` because passing `calldata` to internal functions isn't supported.
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
Amir Bandeali
22af796302 Cleanup 2019-03-07 19:36:26 -08:00
Leonid Logvinov
1a88eac9c7
Make the banner more visible 2019-02-04 13:00:15 +01:00
Leonid Logvinov
6943bbcacb
Temp 2019-02-04 10:38:02 +01:00