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
..
2019-07-15 05:23:02 -07:00
2019-07-15 05:23:02 -07:00
2019-07-15 05:23:02 -07:00
2019-07-15 05:23:02 -07:00
2019-07-23 15:17:56 -07:00
2019-07-15 05:23:02 -07:00
2019-07-23 15:17:56 -07:00

Deployed Contract Packages

Contract Package Version Git Tag
AssetProxyOwner @0x/contracts-multisig v1.0.2 @0x/contracts-multisig@1.0.2
ERC20Proxy @0x/contracts-asset-proxy v1.0.1 @0x/contracts-asset-proxy@1.0.1
ERC721Proxy @0x/contracts-asset-proxy v1.0.1 @0x/contracts-asset-proxy@1.0.1
Exchange @0x/contracts-exchange v1.0.1 @0x/contracts-exchange@1.0.1
DutchAuction @0x/contracts-extensions v1.0.2 @0x/contracts-extensions@1.0.2
Forwarder @0x/contracts-exchange-forwarder v1.0.1 @0x/contracts-exchange-forwarder@1.0.1
MultiAssetProxy @0x/contracts-asset-proxy v1.0.1 @0x/contracts-asset-proxy@1.0.1
ZRXToken @0x/contracts-erc20 v1.0.1 @0x/contracts-erc20@1.0.1

Development

Building solidity files will update the contract artifact in {package-name}/generated-artifacts/{contract}.json, but does not automatically update the abi-gen-wrappers package, which are generated from the artifact JSON. To ensure consistency, clean and rebuild abi-gen-wrappers after any changes to the artifact JSON.