* MetaTransactionData changes
* MetaTransactionV2 creation and forge tests
* MetaTransactionData changes
* MetaTransactionV2 creation and forge tests
* add multiplexBatchSellTokenForToken, multiplexMultiHopSellTokenForToken, multiplex TokenForEth functions to metatransactions, add msgSender field to multiplex params
* Ran prettier to clean up
* More linting
* Fixing issues with EIP 712 signature, adding test case against MetaMask, and fixing lint issues
* Addressing suggestions from PR reviewers
* Complex rebase of test code based on changes in #655
* Fixing multiplex test failure
* add some tests for multiplex metatransactions
* prettier
* minor test fix
* cleaning up and adding batchExecuteMetaTransaction tests
* Removing ZERO_ADDRESS
* add multiHopBatchSellOtc to MultiplexFeature, fix _computeHopTarget for MultiplexSubcall.OTC [#667]
* fix _computeHopTarget for otc subcalls
* Fixing multiHopSellOtcOrder when params.useSelfBalance is true
* Making executeMetaTransactionV2 nonpayable and addressing a few other minor issues
* Forge update
* Add MetaTransactionsFeatureV2 to exported contracts
---------
Co-authored-by: abls <112491550+abls@users.noreply.github.com>
Co-authored-by: Duncan Townsend <git@duncancmt.com>
* Update coveralls link to point to protocol repo coverage
* Remove obsoleted ignores in .gitignore
* Run forge coverage in CI and upload results to coveralls
* Remove unused wrapper
* Remove legacy coverage setup
* Remove lcov-result-merger
* Add base-path setting to coverallsapp in CI
* Implement base instantiation of the ZeroEx proxy in foundry
and move TestZeroExFeature contract to the foundry mocks
* Migrate zero-ex tests to foundry
* Update copyright year
* Update contracts/zero-ex/tests/mocks/TestZeroExFeature.sol
Co-authored-by: Jacob Evans <jacob@dekz.net>
Co-authored-by: Jacob Evans <jacob@dekz.net>
* Remove contracts/zero-ex/contracts/test/TestBridge.sol
* Move foundry tests to their default location
* Wire up base foundry test and start moving
FlashWallet tests and mocks to foundry
* Move remaining FlashWallet contract tests to foundry
* Switch to foundry default cache config
* swap rfq and otc in fillQuoteTransformerDataEncoder to match our enum
* changelog
* fix changelog and move otcOrders field to last in fillQuoteTransformerDataEncoder
* prettier
* move otcOrders array to end of fqtTransformData
Co-authored-by: Noah Khamliche <0xnoah@Noahs-MacBook-Pro-2.local>
* add prettier-solidity + config
* run prettier
* update lockfile
* run prettier again
* Prettier missed one /:
* keep bridge adapter the same
* yarn prettier
* 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>
* 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>
* fix: removing Clipper custom integration (to add it later as a real PLP)
* fix: update CHHANGELOG
* fix: keep Clipper as BridgeProtocols so we dont have to redeploy and comment this is not used
* fix: prettier
* Refactor Multiplex into multiple files
* Pull UniswapV3 into separate file
* Add support for multihop nested within batch sell
* Add useSelfBalance and recipient to _fillRfqOrder
* Expose onlySelf variant in UniswapV3Feature for Multiplex
* Add useSelfBalance and recipient to _transformERC20
* Add support for proportional fill amounts in batchSell
* Comments and renaming
* Unit tests
* Use caps for immutables
* Rename taker -> recipient in TransformContext and SettleOrderInfo
* lint
* Address nits
* Swallow reverts for LiquidityProvider and UniswapV2 batch sells
* Address spot-check findings (#279)
* Check didSucceed in _callWithOptionalBooleanResult
* Add takerToken=ETH support to OtcOrdersFeature (#287)
* Add takerToken=ETH support to OtcOrdersFeature
* Add batchFillTakerSignedOtcOrders
* Add support for OTC to Multiplex
* Address PR feedback
* Update TransformERC20Feature (#303)
* remove multiplex_utils
* Update changelog
* unbreak tests
* 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>