Amir Bandeali
e80abad19a
Add batchExecuteTransaction
2019-07-23 15:18:26 -07:00
Amir Bandeali
c9c228ffdd
Add return data to executeTransaction
2019-07-23 15:18:26 -07:00
Amir Bandeali
6fc30d31bf
Fix missed conflicts and rebuild
2019-07-23 15:18:26 -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
c24bb139dd
In @0x/contracts-exchange
: Change validator/wallet return value test to == 1
instead of != 0
.
2019-07-23 15:17:57 -07:00
Lawrence Forman
eb00ff05a8
Ran prettier/linter
2019-07-23 15:17:57 -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
1b2ff1f9ae
Update contracts/exchange/contracts/src/MixinSignatureValidator.sol
...
Co-Authored-By: dorothy-zbornak <lawrence@0xproject.com>
2019-07-23 15:17:57 -07:00
Lawrence Forman
7de9a36d01
In @0x/contracts-exchange
: Fix comments in MixinSignatureValidator.sol
.
2019-07-23 15:17:57 -07:00
Lawrence Forman
cfa8796b18
In @0x/contracts-exchange
: Fix line count linter error.
2019-07-23 15:17:57 -07:00
Lawrence Forman
3c88ede02c
In @0x/order-utils
: Add TransactionSignatureError
to ExchangeRevertErrors
.
...
In `@0x/contracts-exchange`: Add `TransactionSignatureError`, supplanting `TransactionErrorCodes.BAD_SIGNATURE`, and associated test.
2019-07-23 15:17:57 -07:00
Lawrence Forman
a0223835b8
In @0x/order-utils
: Add signerAddress
and signature
to ExchangeRevertErrors.SignatureError
.
...
In `@0x/contracts-exchange`: Add `signerAddress` and `signature` to `SignatureError` reverts.
2019-07-23 15:17:56 -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
5781ab5436
Add PRs to changelogs
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
Lawrence Forman
15db5c8059
In @0x/contracts-exchange
: Fix busted TestAssetProxyDispatcher.sol
2019-07-23 15:17:56 -07:00
Lawrence Forman
c36dff6354
In @0x/contracts-exchange
: Fix dispatchTransferFrom
so it preserves the assetData.
2019-07-23 15:17:56 -07:00
Lawrence Forman
3a6664282c
In @0x/contracts-exchange
: fix contract bugs introduced by changes
2019-07-23 15:16:49 -07:00
Lawrence Forman
5b25eb4fbd
Fix linter errors.
2019-07-23 15:15:17 -07:00
Lawrence Forman
e8ecbe32ca
Convert exchange
MixinWrapperFunctions
to use rich reverts
2019-07-23 15:10:31 -07:00
Lawrence Forman
bc5c5050fb
Convert MixinTransactions
to use rich reverts
2019-07-23 15:10:31 -07:00
Lawrence Forman
8a9b9c55ce
Convert MixinSignatureValidator
to use rich reverts
2019-07-23 15:10:31 -07:00
Lawrence Forman
d40f343d2a
Convert MixinMatchOrders
to use rich reverts
2019-07-23 15:10:31 -07:00
Lawrence Forman
4954d0a018
Convert MixinExchangeCore
to use rich errors.
2019-07-23 15:10:31 -07:00
Lawrence Forman
7232bef07b
Change LibRichErrors
to just RichErrors
.
...
Fix compilation issues in `exchange`.
2019-07-23 15:10:31 -07:00
Lawrence Forman
7277fb3d93
Convert to use rich reverts
2019-07-23 15:10:31 -07:00
Lawrence Forman
34e0345b29
Reimplementing rich reverts in the contracts.
2019-07-23 15:10:31 -07:00
Amir Bandeali
f094e9118c
Fix inconsistent pragma for ABIEncoderV2
2019-07-23 15:10:31 -07:00
Amir Bandeali
63e93d9253
Update CHANGELOGs
2019-07-23 15:10:31 -07:00
Amir Bandeali
e0d6a3fd1d
Refactor executeTransaction to take ZeroExTransaction struct as input
2019-07-23 15:09:46 -07:00
Amir Bandeali
308ff15adc
Refactor EIP712 libraries
2019-07-23 15:09:46 -07:00
Lawrence Forman
c195629a77
Update changelogs.
2019-07-23 15:08:58 -07:00
Lawrence Forman
0b38289703
Ran prettier
2019-07-23 15:08:30 -07:00
Lawrence Forman
041bf9b54e
Rename orderWithoutExchangeAddress
-> orderWithoutDomain
in contracts/exchange
tests.
2019-07-23 15:08:30 -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
e5fed57b8b
Make contracts/exchange-libs/.../LibEIP712.sol
stateless
2019-07-23 15:04:46 -07:00
Lawrence Forman
2524e7eea3
Update changelogs
2019-07-23 15:04:46 -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
Lawrence Forman
74a9a13564
Unpin @0x/contracts-exchange
dependency in /contracts/coordinator
.
...
Split up EIP712 constants and functionality in `/contracts/exchange-libs` across 3, modular contracts.
Make coordinator inherit from the modular EIP712 contracts in `@0x\contracts-exchange`.
2019-07-23 14:58:00 -07:00
Lawrence Forman
7aaef5d807
Fix missing comma in LibEIP712.sol
domain schema.
...
Add `chainId` to constructors for all test contracts deriving from `LibEIP712.sol`
2019-07-23 14:58:00 -07:00
Lawrence Forman
64b4158bad
Refactor EIP712 contracts to reduce code duplication.
2019-07-23 14:58:00 -07:00
Lawrence Forman
964d8171dd
Update exchange and coordinator contracts to incorporate chainID in their domain separators.
2019-07-23 14:58:00 -07:00
Lawrence Forman
5b1cbbf157
Fix merge artifact in contracts/exchange/CHANGELOG.json
.
...
Correct changelog for `contracts/exchange-forwarder` after rebase.
2019-07-23 14:58:00 -07:00
Lawrence Forman
db4c29a73c
Apply and mask to assembly address instruction in exchange/.../ReentrantERC20Token.sol
2019-07-23 14:58:00 -07:00