duncancmt
defdff460a
Base mainnet ( #734 )
...
* Add BaseGoerliBridgeAdapter
* Ignore Emacs files
* Remove Balancer V1; add Solidly to BaseBridgeAdapter
* Update addresses for both Base Mainnet and Goerli
* Remove Base Goerli testnet
* Prettier, CHANGELOG, and lowercasing addresses
---------
Co-authored-by: Savarn Dontamsetti <sav.dontamsetti@gmail.com>
2023-07-18 17:21:43 -04:00
Patrick Dowell
ff104e7505
feat: Multiplex + MetaTransaction integration and MetaTransaction Multi-Fee Support [RFQ-795] [LIT-870] ( #665 )
...
* 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>
2023-04-19 18:20:28 -04:00
mzhu25
cf8fc0ff8e
Split up BridgeAdapter by chain [TKR-402] ( #487 )
...
* Split up BridgeAdapter by chain
* Fix BridgeProtocols enum
* Add isSupportedSource to bridge adapter contracts
* Add bridge adapter tests
* Fix FQT test
2022-05-25 14:18:24 -04:00
Lawrence Forman
901d400d62
Address spot check feedback ( #251 )
...
* UniswapV3 VIP (#237 )
* `@0x/contracts-zero-ex`: Add UniswapV3Feature
* `@0x/contracts-zero-ex`: Add UniswapV3 VIP
`@0x/contract-artifacts`: Regenerate.
`@0x/contract-wrappers`: Regenerate.
`@0x/asset-swapper`: Add UniswapV3 VIP support.
* address review comments and appease linter
* `@0x/contracts-zero-ex`: Add UniswapV3Feature tests
* Multiplex UniswapV3 (#241 )
* Add UniswapV3 support to Multiplex batchFill
* Add AssetSwapper support for Multiplex UniswapV3
* fix repo scripts that use PKG= env var (#242 )
Co-authored-by: Lawrence Forman <me@merklejerk.com>
* `@0x/asset-swapper`: Adjust uniswap gas overhead
Co-authored-by: Lawrence Forman <me@merklejerk.com>
Co-authored-by: mzhu25 <mchl.zhu.96@gmail.com>
* OTC orders feature (#244 )
* Add OTC orders feature contracts
* Address PR feedback
* Remove partial fills for takerSigned variant
* Add function to query the min valid nonce
* Add ETH support
* Tightly pack expiry, nonceBucket, and nonce
* Address PR feedback
* OTC orders unit tests
* Bump prettier version
* Skip unnecessary math if takerTokenFillAmount == order.takerAmount
* appease CI
* Update contract-artifacts and contract-wrappers and CHANGELOGs
* `@0x/contracts-zero-ex`: Address spot check feedback
* `regen wrappers
* prettier
* `@0x/asset-swapper`: prettier and tweak gas schedule slightly for uni3
Co-authored-by: Lawrence Forman <me@merklejerk.com>
Co-authored-by: mzhu25 <mchl.zhu.96@gmail.com>
2021-06-02 14:21:14 +10:00
Kim Persson
3adfcdffa8
Maker PSM integration [TKR-2] ( #150 )
...
* ADDS basic boilerplate for PSM bridge WIP
* ADDS integrate the MakerPSM mixin and fix incorrect naming
* fix: take into account PSM fee when buying USDC from PSM
* feat: intial stab at a PSM sampler WIP
* feat: integrate MakerPsm into AS WIP
* refactor: get VAT contract address from PSM instead of passing it in
* fix: hardcode PSM Gemtoken to USDC
* fix: remove passing in authGem, get from PSM contract instead
* fix: use constant modified to avoid using storage variables
* fix: incorrect num decimals after multiplication in sampler
* fix: PSM buy sampling
* fix: use fillData to estimate gas schedule
* Rebased on latest development
* Guard and use latest Curve LiquidityProvider
* `@0x/contract-addresses`: Redeploy FQT on mainnet and ropsten
Co-authored-by: Jacob Evans <jacob@dekz.net>
Co-authored-by: Lawrence Forman <lawrence@0xproject.com>
2021-04-01 15:45:06 -04:00
Lawrence Forman
164a5d44d9
bsc<->development rebase ( #189 )
...
* FQT: Pack Protocol/source name into source ID (#162 )
* `@0x/contracts-zero-ex`: Encode protocol ID and source name in bridge source ID
`@0x/asset-swapper`: Use new bridge source ID encoding.
* fix linter issues
* contracts cleanup (#164 )
* `@0x/contracts-zero-ex`: Add PancakeSwapFeature
* `@0x/contracts-zero-ex`: Remove tokenspender/allowance target/greedy tokens stuff.'
`@0x/contract-addresses`: Add BSC addresses. Remove exchangeProxyAllowanceTarget.
`@0x/migrations`: Remove exchangeProxyAllowanceTarget.
* Update contracts/zero-ex/contracts/src/features/IPancakeSwapFeature.sol
Co-authored-by: mzhu25 <mchl.zhu.96@gmail.com>
* `@0x/contracts-zero-ex`: Add sushiswap support to PancakeSwap
* `@0x/contract-artifacts`: Regenerate artifacts
`@0x/contract-wrappers`: Regenerate wrappers
* `@0x/contract-addresses`: Add BSC addresses
Co-authored-by: mzhu25 <mchl.zhu.96@gmail.com>
Co-authored-by: mzhu25 <mchl.zhu.96@gmail.com>
* feat: Better chain support (#163 )
* feat: Better chain support
* feat: better chain support refactor deployment constants (#166 )
* proliferate the chainId
* Refactor sampler to remove DeploymentConstants dependency and fixed addresses
* Rework WETH out, replacing with address(0)
* wat
* hack DeploymentConstants for now
* proliferate the chainId
* Refactor sampler to remove DeploymentConstants dependency and fixed addresses
* remove duped network addresses
* Rework the bridge source encoder
* Use the constants NATIVE_FEE_TOKEN in EP consumer
* `@0x/contract-addresses`: Fix WBNB address (#170 )
Co-authored-by: Lawrence Forman <lawrence@0xproject.com>
* multichain enable cakez vip (#171 )
* feat: Better chain support
* feat: better chain support refactor deployment constants (#166 )
* proliferate the chainId
* Refactor sampler to remove DeploymentConstants dependency and fixed addresses
* Rework WETH out, replacing with address(0)
* wat
* hack DeploymentConstants for now
* proliferate the chainId
* Refactor sampler to remove DeploymentConstants dependency and fixed addresses
* remove duped network addresses
* `asset-swapper`: enable pancake VIP route generation
Co-authored-by: Jacob Evans <jacob@dekz.net>
Co-authored-by: Lawrence Forman <me@merklejerk.com>
* `@0x/contracts-zero-ex`: Fix `PancakeSwapFeature` sushi values (#172 )
* `@0x/contracts-zero-ex`: Fix `PancakeSwapFeature` sushi values
* `@0x/contracts-zero-ex`: I am a bad protocologist
Co-authored-by: Lawrence Forman <me@merklejerk.com>
* feat: BSC Nerve + Dodo + Nerve + Ellipsis (#181 )
* feat: BSC Nerve + DODO v1
* CHANGELOGs
* Remove extra balance fetch
* Add Belt
* Added Ellipsis
* Update FQT address
* `@0x/contracts-zero-ex`: Delete TokenSpenderFeature and get stuff compiling
* `@0x/asset-swapper`: fix compilation
* prettier
* `@0x/asset-swapper`: Truncate LiquidityProvider source ID name
* Update packages/asset-swapper/src/utils/market_operation_utils/sampler_operations.ts
Co-authored-by: Jacob Evans <jacob@dekz.net>
* Update packages/asset-swapper/src/utils/market_operation_utils/sampler_operations.ts
Co-authored-by: Jacob Evans <jacob@dekz.net>
* `@0x/contracts-zero-ex`: Fix BakerySwap on PackageSwapFeature (#190 )
* address review comments
Co-authored-by: mzhu25 <mchl.zhu.96@gmail.com>
Co-authored-by: Jacob Evans <jacob@dekz.net>
Co-authored-by: Lawrence Forman <me@merklejerk.com>
2021-03-31 18:49:44 -04:00
mzhu25
3cc639c8d0
MultiplexFeature and BatchFillNativeOrdersFeature ( #140 )
...
* WrappedFillFeature
* Address internal feedback
* create features/interfaces/ directory
* Split NativeOrdersFeature into mixins
* Rename mixins to use NativeOrders namespace
* Add BatchFillNativeOrdersFeature
* Rename WrapperFillFeature => MultiplexFeature and add natspec comments
* Emit LiquidityProviderSwap event
* post-rebase fixes
* Multiplex mainnet fork tests
* lint
* Add tests for batch fill functions
* Remove market functions
* Addres PR feedback
* Remove nested _batchFill calls from _multiHopFill
* Add BatchFillIncompleteRevertError type
* Use call{value: amount}() instead of transfer(amount)
* Remove outdated comment
* Update some comments
* Add events
* Address spot-check recommendations
* Remove-top level events, add ExpiredRfqOrder event
* Update changelog
* Change ExpiredRfqOrder event
* Update IZeroEx artifact and contract wrapper
2021-03-08 15:45:49 -08:00
Romain Butteaud
f98609686d
feat: opt-in positive slippage fee for integrators ( #101 )
...
* feat: Positive Slippage Fee
* fix: rename ethToTakerAssetRate to takerAssetPriceForOneEth
* fix: rename takerAssetPriceForOneEth to takerAssetsPerEth
* fix: export AffiliateFeeType
* rebased off development
* Add a gasOverhead for non-deterministic operations
* CHANGELOGs
* rename outputTokens to outputAmount
* Confirm transformer addresses on Mainnet and Ropsten
* fix import
Co-authored-by: Jacob Evans <jacob@dekz.net>
2021-02-24 12:51:58 +10:00
Lawrence Forman
d509604b52
@0x/contracts-zero-ex
: Export CurveLiquidityProviderContract
(#144 )
...
`@0x/asset-swapper`: Add deployed `CurveLiquidityProvider` addresses
Co-authored-by: Lawrence Forman <me@merklejerk.com>
2021-02-16 16:17:08 -05:00
Greg Hysz
e40ddb800e
Updated docs for Panettone release + v4 audit + v4 bounty ( #112 )
2021-01-12 15:19:50 -08:00
Lawrence Forman
475b608338
EP: FeeCollectorController ( #59 )
...
* `@0x/contracts-zero-ex`: Govern `FeeCollector`s through a separate `FeeCollectorController` contract.
* `@0x/contracts-integrations`: Fix broken EP protocol fees test.
`@0x/contracts-integrations`: Make this package private.
* `@0x/contract-addresses`: Update ganache snapshot addresses.
* Update contracts/zero-ex/contracts/src/external/FeeCollectorController.sol
Co-authored-by: mzhu25 <mchl.zhu.96@gmail.com>
* Apply suggestions from code review
Co-authored-by: mzhu25 <mchl.zhu.96@gmail.com>
* rebase
Co-authored-by: Lawrence Forman <me@merklejerk.com>
Co-authored-by: mzhu25 <mchl.zhu.96@gmail.com>
2020-12-01 12:17:21 -05:00
Lawrence Forman
561b60a24d
EP Native Orders ( #27 )
...
* `@0x/contracts-zero-ex`: add limit orders feature
`@0x/contracts-utils`: add `uint128` functions to `LibSafeMathV06`
* `@0x/contract-addresses`: Update ganache snapshot addresses
* `@0x/contracts-zero-ex`: Mask EIP712 struct hash values.
* `@0x/contracts-zero-ex`: Add more limit order tests
* `@0x/contracts-zero-ex`: Fix typos
* `@0x/contracts-zero-ex`: Compute fee collector address after protocol fee zero check.
* `@0x/contracts-zero-ex`: Remove WETH payment logic from fee collector fixin
* `@0x/contracts-zero-ex`: Convert all ETH to WETH in `FeeCollector`.
* `@0x/contracts-zero-ex`: Address review feedback
* `@0x/contracts-zero-ex`: Export more utils
* `@0x/contracts-zero-ex`: Rename `LimitOrdersFeatures`, `LibLimitOrders`, etc. into `*NativeOrders*`.
`@0x/contracts-zero-ex`: Emit `protocolFeePaid` in native order fill events.
`@0x/contracts-zero-ex`: Refactor to get around stack limits.
`@0x/contracts-zero-ex`: Use different storage mappings for RFQ and limit order pair cancellations.
* `@0x/contracts-zero-ex`: Add `getProtocolFeeMultiplier()` and `transferProtocolFeesForPools()` to `NativeOrdersFeature`.
* `@0x/contracts-zero-ex`: Fix broken tests
* update orders docs
* `@0x/contracts-zero-ex`: Add more tests to `NativeOrdersFeature`
* rebuild after rebase
* `@0x/contract-addresses`: Fix changelog booboo
* `@0x/contracts-zero-ex`: Add method selectors output to generated artifacts
* `@0x/contracts-zero-ex`: Add maker address to order cancel events.
`@0x/contracts-zreo-ex`: Remove `UpTo` suffix from order pair cancellation functions.
`@0x/contracts-zreo-ex`: Address misc review comments.
* `@0x/contracts-zero-ex`: More SafeMath in native orders
* update orders docs
Co-authored-by: Lawrence Forman <me@merklejerk.com>
2020-11-17 15:39:40 -05:00
mzhu25
7403c0255a
Feature/liquidity provider sandbox ( #16 )
...
* Update liquidity provider feature to use sandbox
* add support for liquidity provider feature in the exchange proxy swap quote consumer
* Move to off-chain liquidity provider registry
* Update ILiquidityProvider interface
* Remove some unused artifacts and wrappers
* Consolidate ILiquidityProvider
* prettier
* lint
* Address PR feedback
* Add failover to sandbox
* Add test for failover behavior in LiquidityProviderSandbox
* Update changelogs
* Emit events for the new LiquidityProvider scenarios
* Fix swap quote consumer bug
* post-rebase fixes
* `@0x/contracts-zero-ex`: bump feature versions
* Add default field to TokenAdjacencyGraph
* update addresses
Co-authored-by: Lawrence Forman <me@merklejerk.com>
2020-11-13 12:22:21 -08:00
Michael Zhu
c6d738ed0c
Refactor asset-swapper
2020-10-05 10:09:06 -07:00
Lawrence Forman
228246089e
Merge branch 'feat/exchange-proxy/vip-uniswap' into fix/ep/meta-transactions
2020-09-01 11:59:44 -04:00
Lawrence Forman
2636384ead
Merge remote-tracking branch 'origin/feat/exchange-proxy/post-cd-audit' into fix/ep/meta-transactions
2020-09-01 09:48:17 -04:00
Lawrence Forman
e7ad7c3af7
@0x/contracts-zero-ex
: Add IUniswapV2Feature
.
...
`@0x/contracts-zero-ex`: Rename all feature contracts to have `Feature` suffix.
`@0x/contracts-zero-ex`: Return an `IZeroExContract` instance from `fullMigrateAsync()`.
2020-08-20 16:54:50 -04:00
Jacob Evans
7e8b56eef4
feat: mStable + FQT Rollup ( #2662 )
...
* 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>
2020-08-20 08:18:44 +10:00
Lawrence Forman
71700e69af
@0x/zero-ex
: Address CD post-audit feedback.
...
Add `LogMetadataTransformer`.
2020-08-19 13:52:32 -04:00
Lawrence Forman
07a681c77e
@0x/contracts-zero-ex
: Add IZeroEx
contract.
2020-07-22 22:59:46 -04:00
Lawrence Forman
297ff10c14
@0x/contracts-zero-ex
: add SignatureValidator
and MetaTransactions
features.
2020-07-10 02:36:00 -04:00
Lawrence Forman
8491abe142
@0x/contracts-zero-ex
: Export AffiliateFeeTransformer
.
2020-07-02 16:04:33 -04:00
Lawrence Forman
a5a68acfec
Add Exchange Proxy to Ganache snapshot ( #2612 )
...
* `@0x/contracts-zero-ex`: Expose migration tools.
* `@0x/contract-addresses`: Update ganache snapshot Exchange Proxy addresses
* `@0x/migrations`: Add Exchange Proxy migration
2020-06-25 13:52:01 +10:00
Lawrence Forman
c610dd96f5
@0x/contracts-zero-ex
: Rebase, returning nonces in transform()
.
2020-05-28 11:56:59 -04:00
Lawrence Forman
2ba3818b65
@0x/contracts-zero-ex
: Introduce transformer contracts.
2020-05-28 11:56:59 -04:00
Lawrence Forman
2fce332ed7
ZeroEx: TransformERC20, TokenSpender ( #2545 )
...
* `@0x/contracts-utils`: Convert more 0.6 contracts
* `@0x/contracts-erc20`: Add solidity 0.6 contracts.
* `@0x/utils`: Add new `ZeroExRevertErrors` revert types
* `@0x/contracts-zero-ex`: Introduce the `TransformERC20` feature.
* `@0x/subproviders`: Update ganache-core.
`@0x/web3-wrapper`: Update ganache-core.
* `@0x/contracts-zero-ex`: Make `TokenSpender`'s puppet contract a distinct contract type and rename `getTokenSpenderPuppet()` to `getAllowanceTarget()`
* `@0x/zero-ex`: Rebase and use "slot" instead of "offset" language in storage buckets.
* `@0x/web3-wrapper`: Add `getAccountNonceAsync()` to `Web3Wrapper`
* `@0x/contracts-zero-ex`: Revamp TransformERC20.
* `@0x/contracts-zero-ex`: Remove `payable` from `IERC20Transformer.transform()` and disable hex capitalization linter rule because of prettier conflicts.
* `@0x/contracts-zero-ex`: Use `immutable` owner in `Puppet` instead of `Ownable`.
* `@x/utils`: Address review feedback.
* `@0x/contracts-zero-ex`: Address review feedback.
* `@0x/contracts-utils`: Address review feedback.
* `@0x/contracts-zero-ex`: Return deployment nonce in `transform()`.
* `@0x/contracts-zero-ex`: Finish returning deployment nonce in `transform()`.
* `@0x/contracts-zero-ex`: Fix doc-gen bug.
* `@0x/contracts-zero-ex`: Address review comments.
* `@0x/utils`: Add `NegativeTransformERC20OutputERror`
* `@0x/contracts-zero-ex`: Revert if the taker's output amount decreases.
Co-authored-by: Lawrence Forman <me@merklejerk.com>
2020-05-20 22:47:21 -04:00
Lawrence Forman
0042e42160
@0x/contracts-zero-ex
: Merge Migrate
into Ownable
2020-04-24 01:06:44 -04:00
Lawrence Forman
12f2250ab5
@0x/contracts-zero-ex
: bootstrap()
is now a temporary feature, registered in the ZeroEx constructor.
...
`@0x/contracts-zero-ex`: `bootstrap()` de-registers itself and self-destructs once it's called.
`@0x/contracts-zero-ex`: `bootstrap()` now takes arbitrary call data, but the callee is fixed in an immutable.
`@0x/contracts-zero-ex`: `bootstrap()` caller is fixed in an immutable.
`@0x/contracts-zero-ex`: `bootstrap()` only calls a single target.
`@0x/contracts-zero-ex`: Renamed `BasicMigration` to `InitialMigration`.
`@0x/contracts-zero-ex`: `InitialMigration` is now the bootstrap target and multiplexes to the initial features.
`@0x/contracts-zero-ex`: Add `Migrate` feature and tests.
`@0x/contracts-zero-ex`: Re-organize contract locatins (remove `interfaces` folder).
2020-04-21 22:29:46 -04:00
Lawrence Forman
c11d661b39
@0x/contracts-zero-ex`: Create ZeroEx (proxy) contracts
2020-04-21 22:29:46 -04:00