* `@0x/contracts-erc20-bridge-sampler`: Add TwoHopSampler + refactor
* `@0x/asset-swapper`: Refactor + add two-hop skeleton
* Round out two-hop support in asset-swapper
* Add BalancerSampler, use it for two-hop quotes
* Fix bugs discovered from simbot
* rebases are hard
* Add intermediate token to MultiHop source breakdown
* Fix market buy bugs
* Use hybrid on-chain/off-chain sampling for Balancer
* Another day, another rebase
* Update changelogs
* Address PR feedback, CI fixes
* Address more PR feedback
* Bancor Bridge contract
* refactor Quote and FillData types
* BancorService (wrapper for the Bancor SDK)
* disable bancor while waiting for bancor SDK update
* add bancor to test
* feat: mStable
* deploy and CHANGELOG
* `@0x/contracts-utils`: Add more testnet addresses.
* `@0x/contract-addresses`: Deply Mstable on testnets
* `@0x/contract-addresses`: Remove testnet deployments of mStable :-)
* move `erc20-bridge-sampler` into `asset-swapper`
remove `DevUtils` dependency from sampler contract.
* `@0x/asset-swapper`: Add ERC20BridgeSampler support for validating orders in maker fees denominated in non-maker assets.
`@0x/asset-swapper`: Add tests for `NativeOrderSampler`.
* `@0x/asset-swapper`: Return `0` sample if native order asset data is unsupported.
* `@0x/asset-swapper`: Fix failing test.
* feat: ExchangeProxy FQT fruit rollup (#2645)
* feat: Optimize Bridges in ExchangeProxy
* compile and most work
* work around to trust the delecall contract
* force allowances
* Update Kyber/Eth2Dai bridges
* Remove memory state where not required
* cleanup
* Combine Bridges into one adapter
* mixins
* refactor out ZeroExBridge
* move out interface
* comment out hacks
* update migrations
* remove simbot hacks
* AdapterAddresses and mStable
* Share constructor arg
* fix migration
* Remove whitespace
* `@0x/contracts-zero-ex`: BridgeAdapter -- revert if bridge address is 0.
* `@0x/contract-addresses`: Deploy FQT.
Co-authored-by: Lawrence Forman <me@merklejerk.com>
Co-authored-by: Lawrence Forman <lawrence@0xproject.com>
* update ganache contract addresses
* fix: asset-swapper empty batch call (#2669)
* update ganache contract addresses
* fix: asset-swapper prevent empty sampler batch call
* add sampler to migrations
* change migrations version
* Use contract-wrappers and artifacts
* remove extra data
* remove deps, set sampler to NULL_ADDRESS
* all the exports
* noop sell rate too
* update ganache contract addresses
Co-authored-by: Lawrence Forman <me@merklejerk.com>
Co-authored-by: Lawrence Forman <lawrence@0xproject.com>
* `@0x/asset-swapper`: Speed up path optimizer.
* `@0x/asset-swapper`: address my own review comment
* `@0x/asset-swapper`: Update changelog
Co-authored-by: Lawrence Forman <me@merklejerk.com>
Co-authored-by: Jacob Evans <jacob@dekz.net>
* fix: allow a empty overrides to signal no default
* fix: asset-swapper yield to the event loop every mix path
* fix: optimizations skip order find if Native excluded
* changelogs
* chore: update protocol fee multiplier
* fix: tests async
`@0x/asset-swapper`: Make native fills one single path.
`@0x/asset-swapper`: Redo the optimizer algo again to be more thorough.
`@0x/asset-swapper`: Make `getMedianSellRate()` return `1` if maker token == taker token.
* `@0x/asset-swapper`: Incorporate fees into fill optimization.
* `@0x/asset-swapper`: Address review comments.
* `@0x/asset-swapper`: Rebase and update tests for curve.
* `@0x/asset-swapper`: Bring back a form of native order pruning.
`@0x/asset-swapper`: Bring back dust thresholds.
`@0x/asset-swapper`: Avoid calling `getMedianSellRate()` if output token is ETH.
* Update devdoc for `fees` option
Co-authored-by: Lawrence Forman <me@merklejerk.com>
* Curve ERC20Bridge
* ERC20BridgeSampler Curve (#2483)
* ERC20Sampler Curve
* Use Bridge Sources for each Curve
* Support multiple versions of the Curve contract
* CHANGELOG and redeployed Curve (mainnet)
* Fix Market ops utils test
* Added Curve DAI USDC USDT TUSD
* Bump sampler gas limit default
* Decode the Curve in tests
* Disable Curve in Buy tests
* blockchainTests.fork.resets Curve and Sampler