* Update package.jsons to latest tools packages
* Skip tests relying on gasPrice > 0
* Yarn.lock
* Fix linter
* Update Balance checker, new ganache gets more ETH
* Fix new Ganache insufficient assertion string
* Temporarily set QuoteRequestor to skip
* Fix headers Axios now requests with
* Add WooFI interface for sampling
* WooFi Sampler
* Add mixin
* Update bridge adapters
* fix some bugs
* update transformer_utils
* Add BSC support
* yarn prettier
* Capitalize WOOFI in bridge adapters
* Put rebateAddress in a constant, fixed some other stylistic errors
* bug fixes
* Updated CHANGELOGS & MD docs
* Publish
- @0x/contracts-erc20@3.3.33
- @0x/contracts-test-utils@5.4.24
- @0x/contracts-treasury@1.4.16
- @0x/contracts-utils@4.8.14
- @0x/contracts-zero-ex@0.36.0
- @0x/asset-swapper@16.64.0
- @0x/contract-addresses@6.17.0
- @0x/contract-wrappers@13.20.5
- @0x/protocol-utils@11.16.0
* Update reference.mdx (#531)
Align with `DEFAULT_QUOTE_SLIPPAGE_PERCENTAGE` value from c74e31c219/src/constants.ts (L26)
* code cleanup
* remove deusdc curve pool from this pr
* Refactor PoolsCache (part 1) [TKR-500] (#525)
* Make _refreshPoolCacheIfRequiredAsync type-safe and remove Promise.all
* Factor out PoolsCache key logic into a function
* Use Map instead of object in PoolsCache and increase the default timeout
* Clean up PoolsCache and simplify its public interface
* Refactor PoolsCache (part 2) [TKR-500] (#526)
* Introduce NoOpPoolsCache and use it in unsupported chains for BeethovenX
* Use `NoOpPoolsCache` for `CreamPoolsCache` and `BalancerPoolsCache` on unsupported chains
* Remove `getBidAskLiquidityForMakerTakerAssetPairAsync` (#528)
* Add transfer approval for quote token for multi-hops and fix buy sampler typo
* Use 0x gas api instead of eth gas station api [TKR-502] (#532)
* Use 0x gas api instead of eth gas station api
* Add integration test for `ProtocolFeeUtils`
* Update CHANGELOG.json
* Add polygon, fantom, avalanche support
* yarn prettier
* Updated CHANGELOGS & MD docs
* Publish
- @0x/asset-swapper@16.65.0
* Remove references to `custom-no-magic-numbers` ts lint rule [TKR-484] (#533)
* Remove references to `custom-no-magic-numbers ts` lint rule
* Run prettier
* resolve Kyu's comments
* remove fqt change
* Add WooFI interface for sampling
* WooFi Sampler
* Add mixin
* Update bridge adapters
* fix some bugs
* update transformer_utils
* Add BSC support
* yarn prettier
* Capitalize WOOFI in bridge adapters
* Put rebateAddress in a constant, fixed some other stylistic errors
* bug fixes
* code cleanup
* remove deusdc curve pool from this pr
* Add transfer approval for quote token for multi-hops and fix buy sampler typo
* Add polygon, fantom, avalanche support
* yarn prettier
* resolve Kyu's comments
* remove fqt change
* merge types.ts
* WOOFi -> WOOFI
* fix lerna run lint
* Changelog
* nit changes
Co-authored-by: Github Actions <github-actions@github.com>
Co-authored-by: Pavel <51318041+pavel-bc@users.noreply.github.com>
Co-authored-by: Kyu <kyuhyun217@gmail.com>
* Introduce NoOpPoolsCache and use it in unsupported chains for BeethovenX
* Use `NoOpPoolsCache` for `CreamPoolsCache` and `BalancerPoolsCache` on unsupported chains
* Make _refreshPoolCacheIfRequiredAsync type-safe and remove Promise.all
* Factor out PoolsCache key logic into a function
* Use Map instead of object in PoolsCache and increase the default timeout
* Clean up PoolsCache and simplify its public interface
* Replace Beethoven X subgraph url and add a test
* Simplify PoolsCacheMap type
* Make `BalancerV2PoolsCache` optional for Beethoven X
* Update CHANGELOG.json
* Add a new TokenAdjacencyGraph implementation
* Replace old TokenAdjacencyGraph with new implementation
* Simplify token adjacency graph in constants.ts
* Fix lint error
* Update CHANGELOG.json
* Remove old JS router and add a FillAdjustor
Clean up JS router and unused functions
Remove more unused functions, add adjustment of fills
Comment on why we use fill over sample
update CODEOWNERS
lint
Clean up Fill removing unused properties
Remove CollapsedFills, omit flags bigint
Create GasSchedule vs FeeSchedule, return Fill and gas on OptimizedOrder
Use Fill Adjustment in Phase2 of routing
Fix Limit orders being treated as VIP
* Fix case where dex liquidity is empty
* Use best gas adjusted pricing for fee sources
* CHANGELOG
* Remove Oasis
* Remove CoFix code
* Remove MixinKyber
* Remove Kyber from asset-swapper
* Delete unused imports, interface, and etc.
* Fix the test failure issue when it's run with neon-router
* Update CHANGELOG.json
* 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: integrate Rust router with asset-swapper WIP
* fix: produce outputFees in the format the Rust router expects
* fix: correct output fee calc and only use the rust router for sells
* fix: make sure numbers sent to the rust router are integers
* hack: try to debug why rust router output is being overestimated WIP
* refactor: clean up router debugging code
* fix: don't use negative output fees for sells
* feat: try VIP sources in isolation and compare with routing all sources
* fix: adjust for FQT overhead when choosing between VIP, all sources WIP
* fix: pass gasPrice to path_optimizer for EP overhead calculations
* feat: buy support with the Rust Router WIP
* chore: WIP commit trying to get buys working
* refactor: use samples instead of fills for the Rust router
* feat: add vip handling hack to sample based routing
* fix: revert to 200 samplings for rust router when using pure samples
* refactor: remove old hacky Path based Rust code, add back feature toggle
* fix: scale both fill output and adjustedOutput my same factor as input
* feat: initial plumbing for supporting RFQ/Limit orders
* fix: incorrect bump of input amount by one base unit before routing
* fix: add fake samples for rfq/limit orders to fulfill the 3 sample req
* fix pass rfq orders in the correct format to the rust router
* chore: remove debugging logs and clean up code & comments
* fix: use published version of @0x/neon-router
* hack: scale routed amounts to account for precision loss of number/f64
* refactor: clean up code and address initial review comments
* fix: only remove trailing 0 output samples before passing to the router
* refactor: consolidate eth to output token calc into ethToOutputAmount fn
* fix: interpolate input between samples on output amount instead of price
* fix: return no path when we have no samples, add sanity asserts
* refactor: fix interpolation comment wording
* fix: remove double adjusted source route input amount
* chore: update changelog for asset-swapper
* Set AssetSwapper protocol fee multiplier to zero
* Set market_operation_utils protocol fee multiplier to zero
* Updated CHANGELOG.json
* Removed whitespace in CHANGELOG.json
* Remove unnecessary timestamp in packages/asset-swapper/CHANGELOG.json
Co-authored-by: Lawrence Forman <lawrence@0xproject.com>
* Updated param for quote simulation test
* Updated quote simulation test
* fix failing tests
Co-authored-by: Lawrence Forman <lawrence@0xproject.com>
Co-authored-by: Lawrence Forman <me@merklejerk.com>
* Initial commit of changes
* Added unit tests for filtering process
* linting
* Update packages/asset-swapper/src/utils/quote_requestor.ts
Co-authored-by: phil-ociraptor <philipliao@gmail.com>
* lint and refactor based on feedback
Co-authored-by: phil-ociraptor <philipliao@gmail.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
* feat: initial stab at the LidoSampler and the MixinLido
* feat: full integration of lido sampler and mixin
* fix: return pooled Ether amount not shares & properly unwrap WETH
* refactor: clean up Lido sampler and data passing
* fix: lower gas schedule for WETH to stETH deposits
* refactor: remove MixinLido unused ETH code path
* chore: add changelog entries
* fix: lower Lido gas schedule slightly
* fix: revert MixinLido on unsupported token pair
* fix: address review comments, improve early exit if wrong tokens
* fix: add contract addresses to Lido FQT
* fix: KyberDmm
* fix: pass buyToken to kyberDmm and require that path ends with buyToken
* Pass BigNumber down to FastABI
* Address Feedback
Co-authored-by: Kim Persson <kimpersson88@gmail.com>
* add balancer v2
* fetch balancer v2 pools from subgraph
* feat: initial stab at a Balancer V2 Sampler WIP
* feat: add sampling for buys and fix build issues WIP [untested]
* fix: BalancerV2Sampler implementation issues, works on Kovan
* chore: BalancerV2 sampling boilerplate
* fix: update Balancer V2 mainnet address
* fix: consolidate differences between the 2 working branches
* fix: use mainnet Balancer V2 subgraph
* fix: stack too deep by minimizing and inline Balancer V2 vault interface
* fix: address review comments and clean up
* fix: sampler vault interface and pools cache assuming a pool has swaps
* address more review comments
* fix: TS type issues and add a comment about deadline argument
* fix: pools_cache_tests incorrect token addresses, prettier incompat
* fix: make ERC20BridgeSampler support BalancerV2 non view sampler fns
* fix: use a struct for passing encoded bridge data for Balancer V2
* chore: add changelog entries
* fix: improve gas accuracy of gas schedule for Balancer V2 & Maker Psm
* fix: don't exclude sources with stale caches & wait for cache refresh
* rebase
* `@0x/asset-swapper`: Fix stack too deep errors in sampler
* `@0x/asset-swapper`: Add uniswap V3 sampler.
* `@0x/contracts-zero-ex`: Add UniswapV3 support to FQT
* `@0x/protocol-utils`: Update BridgeProtocols.
`@0x/asset-swapper`: Add sell integration for UniswapV3.
* `@0x/asset-swapper`: Remove unnecessary swap quote consumer constructor arg.
`@0x/asset-swapper`: Enable UniswapV3 on ropsten.
* `@0x/asset-swapper`: UniswapV3 fixes
* `@0x/asset-swapper`: Fix stuff based on latest deployed testnet contracts
* `@0x/asset-swapper`: Remove UniV3 from mainnet sources for now
* `@0x/asset-swapper`: Tweak univ3 gas schedule
* fix CI?
* `@0x/contracts-test-utils`: Set default ganache gas limit to 100e6
Co-authored-by: xianny <xianny@gmail.com>
Co-authored-by: Kim Persson <kimpersson88@gmail.com>
Co-authored-by: Lawrence Forman <me@merklejerk.com>
Co-authored-by: Jacob Evans <jacob@dekz.net>
* add balancer v2
* fetch balancer v2 pools from subgraph
* feat: initial stab at a Balancer V2 Sampler WIP
* feat: add sampling for buys and fix build issues WIP [untested]
* fix: BalancerV2Sampler implementation issues, works on Kovan
* chore: BalancerV2 sampling boilerplate
* fix: update Balancer V2 mainnet address
* fix: consolidate differences between the 2 working branches
* fix: use mainnet Balancer V2 subgraph
* fix: stack too deep by minimizing and inline Balancer V2 vault interface
* fix: address review comments and clean up
* fix: sampler vault interface and pools cache assuming a pool has swaps
* address more review comments
* fix: TS type issues and add a comment about deadline argument
* fix: pools_cache_tests incorrect token addresses, prettier incompat
* fix: make ERC20BridgeSampler support BalancerV2 non view sampler fns
* fix: use a struct for passing encoded bridge data for Balancer V2
* chore: add changelog entries
* fix: improve gas accuracy of gas schedule for Balancer V2 & Maker Psm
* fix: don't exclude sources with stale caches & wait for cache refresh
* rebase
* `@0x/asset-swapper`: Fix stack too deep errors in sampler
Co-authored-by: Kim Persson <kimpersson88@gmail.com>
Co-authored-by: Lawrence Forman <me@merklejerk.com>
* Cull paths which cannot improve price
* fixes and rename
* optimizations
* disable ABI optimization for sampler
* fix lint
* use fastabi
* Update to fastabi 0.0.2
* update packages
* Fix NaN case
* update to published packages
* rebased
* Update generated wrappers