* Draft. PoC pseudo code showing general idea for resuing SOR path creation logic and adding multihop support.
* Add actual Balancer SDK function calls.
* Update to handle buys.
* Correct taker>maker for buy.
* Draft. PoC pseudo code showing general idea for resuing SOR path creation logic and adding multihop support.
* make it build
* rebase
* add BalancerV2Batch protocol
* add BalancerV2Batch protocol
* get balancer v2 multihop working
* fix BalancerV2Batch for sells (buys still iffy)
* fix buys, appease linter and prettier
* remove unused RPC URL from balancer sdk construction
* update changelogs
* clean up comments
add event loop yield in `BalancerV2SwapInfoCache.loadTopPools()`
* add negative result check on balancerv2batch swap output
* compiler hack
* reintroduce CompilerHack
* delete unused multibridge sampler
* remove compilerhack
* reintroduce compilerhack
* try to fix CI compile errors
* plz work
* plz work
* pretty plz work
* yay it works, also address feedback
* appease linter
* deploy new FQTs
Co-authored-by: johngrantuk <johngrantuk@googlemail.com>
Co-authored-by: Lawrence Forman <me@merklejerk.com>
* feat: Enable partial Native order fills
* change intermediary tokens to be a UNION.
Hint to cvxCRV and CRV
* Pin asset-swapper to use contracts-zero-ex 0.27.0 for now
* feat: Retire Eth2Dai/Oasis
* `@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>