* 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
* `@0x/contracts-erc20-bridge-sampler`: Add gas limits to external quote calls.
`@0x/contract-addresses`: Point `erc20BridgeSampler` to new version.
* `@0x/asset-swapper`: Ignore zero sample results from the sampler contract.
`@0x/asset-swapper`: Allow skipping Uniswap when dealing with low precision amounts with `minUniswapDecimals` option.
`@0x/asset-swapper`: Increase default `runLimit` from `1024` to `4096`.
`@0x/asset-swapper`: Increase default `numSamples` from `8` to `10`
`@0x/asset-swapper`: Fix ordering of optimized orders.
`@0x/asset-swapper`: Fix best and worst quotes being reversed sometimes.
`@0x/asset-swapper`: Fix rounding of quoted asset amounts.
* `@0x/contracts-utils`: Add kovan addresses to `DeploymentConstants`.
`@0x/contract-addresses`: Add kovan `ERC20BridgeSampler` address.
* `@0x/asset-swapper`: Change default `minUniswapDecimals` option from 8 to 7.
* `@0x/contracts-erc20-bridge-sampler`: Fix changelog.
* `@0x/asset-swapper`: Revert uniswap decimals fix.
* `@0x/asset-swapper`: Undo bridge slippage when computing best case quote.
* `@0x/asset-swapper`: Take asset data from input orders instead of output orders in quote result calculation.
* `@0x/asset-swapper`: Move `SAMPLER_CONTRACT_GAS_LIMIT` constant to `market_operation_utils/constants`.
* Compare equivalent asset data
* Fix redundant zero check
* Update CHANGELOG
* Set fee amount in fillable amounts test
Co-authored-by: Jacob Evans <dekz@dekz.net>