* Refactor Multiplex into multiple files
* Pull UniswapV3 into separate file
* Add support for multihop nested within batch sell
* Add useSelfBalance and recipient to _fillRfqOrder
* Expose onlySelf variant in UniswapV3Feature for Multiplex
* Add useSelfBalance and recipient to _transformERC20
* Add support for proportional fill amounts in batchSell
* Comments and renaming
* Unit tests
* Use caps for immutables
* Rename taker -> recipient in TransformContext and SettleOrderInfo
* lint
* Address nits
* Swallow reverts for LiquidityProvider and UniswapV2 batch sells
* Address spot-check findings (#279)
* Check didSucceed in _callWithOptionalBooleanResult
* Add takerToken=ETH support to OtcOrdersFeature (#287)
* Add takerToken=ETH support to OtcOrdersFeature
* Add batchFillTakerSignedOtcOrders
* Add support for OTC to Multiplex
* Address PR feedback
* Update TransformERC20Feature (#303)
* remove multiplex_utils
* Update changelog
* unbreak tests
* `@0x/contracts-zero-ex`: Address audit feedback (1/2)
* `@0x/contracts-zero-ex`: Cap the ETH transfer amount to a liquidity provider to `msg.value`
* `@0x/contracts-zero-ex`: Bump feature contract versions
* `@0x/contracts-zero-ex`: Always transfer msg.value to the liqudity provider in LiquiidityProviderFeature
* Remove PLP backwards-compatibility (#85)
* Remove backwards-compatibility from MixinZeroExBridge and LiquidityProviderSandbox
* `@0x/contracts-zero-ex`: Update CHANGELOG
Co-authored-by: Lawrence Forman <me@merklejerk.com>
Co-authored-by: Lawrence Forman <me@merklejerk.com>
Co-authored-by: mzhu25 <mchl.zhu.96@gmail.com>
* `@0x/contracts-zero-ex`: Fix NativeOrdersFeature order hash cancellation not emitting proper maker.
`@0x/contracts-zero-ex`: Revert to original (deployed) ZeroEx/EP proxy implementation. Optimized one is now at `ZeroExOptimized.sol`.
`@0x/contracts-zero-ex`: Add gas limits to first `transferFrom()` call in `LibTokenSpender` and `UniswapFeature`.
* `@0x/contracts-zero-ex`: Update changelog
* disable `no-empty-blocks` solidity linter rule
* `@0x/contracts-zero-ex`: Use bloom filters of greedy tokens in token transfer logic
`@0x/contracts-zero-ex`: Turn `LibTokenSpender` into `FixinTokenSpender`.
`@0x/contracts-zero-ex`: Misc renames for consistency.
* `@0x/contracts-zero-ex`: Export `GREEDY_TOKENS` list
* rebase and update changelog
* `@0x/contracts-zero-ex`: Change bloom filter hash algo based on discussions
* `@0x/contracts-zero-ex`: Fix changelog
* update orders docs
* `@0x/contracts-zero-ex`: revert if allowance call fails in uniswap feature
Co-authored-by: Lawrence Forman <me@merklejerk.com>
add LibTokenSpender and convert to using that
This skips the allowance target. Allowances are instead just set on the
exchange proxy itself. There is a fallback, though, to try spending from
the allowance target if the original transfer fails.