* `@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
* 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>
* Update to use KNP getExpectedRateAfterFee
* hack: use overrides instead of forking in ganache
* fix: added some tests using overrides
* override sampler
* Overrides in bridge_sampler_mainnet_test
* use getContracts to fake out tests
* chore: supply devUtils address
* feat: specify the call override by default
* CHANGELOGs
* export SamplerOverrides
* fix package.json
* fix: after rebase
* Forwarder Market sell specified amount or throw
* Address feedback comments
* Break if we have only protocol fee remaining
* Lint
* Update deployed addresses
* Updated artifacts and wrappers
* [asset-swapper] Forwarder throws on market sell if amount not sold (#2534)
* 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
* fix bug in OrderTransferSimulationUtils causing failures for 721 assets
* Patched the regression and added tests
* Added regression test for fillable order
* Created a test for in and out of process ganache
* Split up DevUtils into two contracts
* Updated migration
* Remove the in and out of process ganache test
* Fixed contract addresses
* Appease linter
* Addressed review comments and updated artifacts, wrappers, and snapshots
* Fixed regression after refactor
* Update DevUtils and libTransactionDecoder contracts on mainnet and testnets
* Addressed @mzhu's review feedback
* Addressed @hysz's review feedback
* Updated devUtils address on testnets and mainnet after deployment
Co-authored-by: mzhu25 <mchl.zhu.96@gmail.com>
Co-authored-by: Fabio B <kandinsky454@protonmail.ch>
* remove assetDataUtils everywhere
* export IAssetDataContract from @0x/contract-wrappers to allow @0x/instant to decode asset data synchronously
* export generic function `decodeAssetDataOrThrow` and add ERC20Bridge support
* export `hexUtils` from order-utils instead of contracts-test-utils