mzhu25
a744acc7bc
Add special selectors to selector collision test ( #243 )
2021-05-14 10:50:58 -07:00
Alex Kroeger
9a17ce1383
add registerAllowedSigner to NativeOrdersFeature ( #195 )
...
* add registerAllowedSigner to NativeOrdersFeature
* fix PR reference in changelog
* prettier
* add cancel pair orders functions for signers
* refactored cancelPairOrders logic, changed naming of signerRegistry to orderSigner registry everywhere, cleaned up tests
* updated changelog for protocol-utils, made batchCancelPairOrders functions more efficient
* clean up function documentation
* added additional tests for batchCancelPairsWithSigner functions, added additional checks for events being emitted correctly
* fix typos in function documentation
* fix typo in function documentation
* update docs
* update comments on cancel functions, small tweaks to docs
2021-04-26 14:32:35 -07: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
Lawrence Forman
3557a5e5a9
@0x/contracts-zero-ex
: Update tests to work with ganache chainId of 1337 (#123 )
...
* `@0x/contracts-zero-ex`: Update tests to work with ganache chainId of 1337
* `update org deps
* `@0x/protocol-utils`: Use `Web3Wrapper.signTypedDataAsync()` instead of removed `Web3Wrapper.signTypedDataV4Async()` (#124 )
Co-authored-by: Lawrence Forman <me@merklejerk.com>
* `update org deps
`@0x/order-utils`: Fix broken tests
* remove lingering console.logs
Co-authored-by: Lawrence Forman <me@merklejerk.com>
2021-01-26 02:50:09 -05:00
Lawrence Forman
50068750f5
EP: Swallow reverts in batchGetLimit/RfqRelevantStates()
( #117 )
...
* `@0x/contracts-zero-ex`: Swallow reverts in `batchGetLimit/RfqRelevantStates()`.
* `@0x/contracts-zero-ex`: Fix typos
* `@0x/contracts-zero-ex`: Fix misleading RFQ typehash comment in `LibNativeOrder.sol`
Co-authored-by: Lawrence Forman <me@merklejerk.com>
2021-01-20 00:25:48 -05:00
Lawrence Forman
72a74e7c66
Panettone cleanup ( #109 )
...
* `@0x/contracts-zero-ex`: Updates for panettone release
* `@0x/contract-addresses`: Update ganache snapshot addresses
Co-authored-by: Lawrence Forman <me@merklejerk.com>
2021-01-12 10:53:50 -08:00
Lawrence Forman
5083fab06a
That time DevUtils wouldn't die ( #97 )
...
* `@0x/contracts-utils`: Allow for excess return data in `LibERC20TokenV06` compat* functions
* `@0x/contracts-zero-ex`: Add DevUtils-like functions to `NativeOrdersFeature`
* `@0x/contract-artifacts`: Update IZeroEx artifact
* `@0x/contract-wrappers`: Update IZeroExContract wrapper
* `@0x/contracts-zero-ex`: Address review feedback
* `@0x/contracts-utils`: Add `LibSafeMathV06.safeDowncastToUint128()`
* `@0x/contracts-zero-ex`: Fix changelog and add cancelled get relevant state tests
* `@0x/contracts-utils`: Fix changelog
Co-authored-by: Lawrence Forman <me@merklejerk.com>
2021-01-04 17:52:29 -05:00
Lawrence Forman
682c07cb73
Add mtx tooling to @0x/protocol-utils
( #90 )
...
* `@0x/contracts-zero-ex`: Use the `MetaTransaction` class from `@0x/protocol-utils` in tests.
* `@0x/protocol-utils`: Add the `MetaTransaction` class for EP mtxs + refactors
* update changelogs
* `@0x/protocol-utils`: Add mtx tests
* `@0x/protocol-utils`: Rename `mtx.ts` to `meta_transactions.ts` and misc review feedback
Co-authored-by: Lawrence Forman <me@merklejerk.com>
2020-12-16 14:22:00 -05:00
Lawrence Forman
437a3b048d
EP: Address audit feedback ( #82 )
...
* `@0x/contracts-zero-ex`: Address audit feedback (1/2)
* `@0x/contracts-zero-ex`: Cap the ETH transfer amount to a liquidity provider to `msg.value`
* `@0x/contracts-zero-ex`: Bump feature contract versions
* `@0x/contracts-zero-ex`: Always transfer msg.value to the liqudity provider in LiquiidityProviderFeature
* Remove PLP backwards-compatibility (#85 )
* Remove backwards-compatibility from MixinZeroExBridge and LiquidityProviderSandbox
* `@0x/contracts-zero-ex`: Update CHANGELOG
Co-authored-by: Lawrence Forman <me@merklejerk.com>
Co-authored-by: Lawrence Forman <me@merklejerk.com>
Co-authored-by: mzhu25 <mchl.zhu.96@gmail.com>
2020-12-16 01:37:39 -05:00
Lawrence Forman
edda1edc50
@0x/protocol-utils
(#76 )
...
* add new packages
* `@0x/protocol-utils`: Update with latest code from `@0x/contracs-zero-ex` + misc stuff
* @0x/contracts-zero-ex`: Switch to using `@0x/protocol-utils` in most places
* @0x/protocol-types`: Delete this package.
* regen yarn lock
* `@0x/contracts-zero-ex`: Unpin `@0x/protocol-utils` dep.
* `@0x/contracts-integrations`: Fix borken test
* update changelogs
* `@0x/protocol-utils`: Update deps
* `@0x/protocol-utils`: add tests
* `@0x/protocol-utils`: More tests
* `@0x/protocol-utils`: Update readme.
* update deps
* run prettier
* `@0x/contract-artifacts`: Regenerate artifacts
* `@0x/contract-wrappers`: Regenerate wrappers
* `@0x/protocol-utils`: Update changelog
* `@0x/contract-wrappers`: Export stuff for doc gen
* `@0x/protocol-utils`: Use `Web3Wrapper.signTypedDataV4Async()` for MM compatibility.
* upgrade org deps
Co-authored-by: Lawrence Forman <me@merklejerk.com>
2020-12-08 22:08:52 -05:00
mzhu25
e5eee96487
Add naive selector collision test ( #74 )
2020-12-07 19:49:37 -08:00
Greg Hysz
6307ebc3a2
Replace PairOrdersCancelled
event with PairCancelledLimitOrders
and PairCancelledRfqOrders
( #54 )
2020-11-27 13:31:12 -08:00
Steve Marx
88d7e73eba
remove calldata signing ( #51 )
2020-11-25 16:55:12 -05:00
Steve Marx
9653eb9e70
RFQ order with 0 txOrigin is INVALID ( #50 )
2020-11-25 14:15:59 -05:00
Steve Marx
ad337271d3
Miscellaneous fixes to RFQ origin registration ( #48 )
...
* Contracts can no longer call registerAllowedRfqOrigins()
* registerAllowedRfqOrigins() is now plural, registers an array of
addresses
2020-11-25 14:08:15 -05:00
Lawrence Forman
7591e99316
Remove protocol fees from RFQ orders ( #45 )
...
* `@0x/contracts-zero-ex`: Remove protocol fees from native orders in certain scenarios.
* `@0x/contracts-zero-ex`: update changelog
* `@0x/contracts-zero-ex`: Add `taker` field to RFQ orders.`
`@0x/contracts-zero-ex`: Introduce protocol fees to all limit orders again.
* `@0x/contracts-zero-ex`: Rebase.
Co-authored-by: Lawrence Forman <me@merklejerk.com>
2020-11-24 18:24:06 -05:00
Lawrence Forman
ca20df4752
@0x/contracts-zero-ex
: Fix TransformERC20Feature
reverting when selling taker's entire balance when input token is ETH (#46 )
...
Co-authored-by: Lawrence Forman <me@merklejerk.com>
2020-11-24 17:52:22 -05:00
Steve Marx
841e4ee666
require txOrigin for RFQ orders, allow origins to register alternate … ( #47 )
...
require txOrigin for RFQ orders, allow origins to register alternate addresses that can fill orders
2020-11-24 16:53:32 -05:00
Steve Marx
e2ee3414ea
limit order metatransactions ( #44 )
2020-11-24 13:39:40 -05:00
Steve Marx
5306cc03e9
Convert MetaTransactionsFeature to use the new LibSignature ( #31 )
2020-11-23 16:14:09 -05:00
Lawrence Forman
ab698cec14
EP: misc fixes ( #38 )
...
* `@0x/contracts-zero-ex`: Fix NativeOrdersFeature order hash cancellation not emitting proper maker.
`@0x/contracts-zero-ex`: Revert to original (deployed) ZeroEx/EP proxy implementation. Optimized one is now at `ZeroExOptimized.sol`.
`@0x/contracts-zero-ex`: Add gas limits to first `transferFrom()` call in `LibTokenSpender` and `UniswapFeature`.
* `@0x/contracts-zero-ex`: Update changelog
* disable `no-empty-blocks` solidity linter rule
* `@0x/contracts-zero-ex`: Use bloom filters of greedy tokens in token transfer logic
`@0x/contracts-zero-ex`: Turn `LibTokenSpender` into `FixinTokenSpender`.
`@0x/contracts-zero-ex`: Misc renames for consistency.
* `@0x/contracts-zero-ex`: Export `GREEDY_TOKENS` list
* rebase and update changelog
* `@0x/contracts-zero-ex`: Change bloom filter hash algo based on discussions
* `@0x/contracts-zero-ex`: Fix changelog
* update orders docs
* `@0x/contracts-zero-ex`: revert if allowance call fails in uniswap feature
Co-authored-by: Lawrence Forman <me@merklejerk.com>
2020-11-23 12:59:02 -05:00
mzhu25
89948b360c
Add checkAllowance flag to LibTokenSpender.spendERC20Tokens ( #39 )
2020-11-18 12:23:13 -08: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
Steve Marx
afd4805421
rewrite ZeroEx in Yul ( #23 )
...
rewrite ZeroEx in Yul
2020-11-06 22:03:07 -05:00
Steve Marx
861871134b
add LibTokenSpender and convert to using that ( #3 )
...
add LibTokenSpender and convert to using that
This skips the allowance target. Allowances are instead just set on the
exchange proxy itself. There is a fallback, though, to try spending from
the allowance target if the original transfer fails.
2020-10-23 10:45:46 -04:00
Michael Zhu
1c15ecacb0
add tests for LiquidityProviderFeature
2020-10-05 10:09:06 -07:00
Michael Zhu
78e3cd39d1
@0x/contracts-zero-ex
: Add LiquidityProviderFeature contracts
2020-10-05 09:43:19 -07:00
Lawrence Forman
9f7840e12b
@0x/contracts-zero-ex
: Remove only
from tests.
2020-09-02 21:22:07 -04:00
Lawrence Forman
889b58a914
@0x/contracts-zero-ex
: Add RFQT taker enforcement to FQT.
...
`@0x/contracts-zero-ex`: Remove redundant event from `BridgeAdapter`.
`@0x/contracts-zero-ex`: Treat all calldata as signed if quote signer is not in `TransformERC20Feature`.
`@0x/contracts-zero-ex`: Update bridge adapters
2020-09-02 15:58:38 -04:00
Lawrence Forman
d8844f6970
@0x/contracts-integrations
: Fix broken tests.
2020-09-01 17:32:29 -04:00
Lawrence Forman
1d6aef5cd6
@0x/contracts-zero-ex
: Remove UniswapFeature
...
`@0x/contracts-zero-ex`: Fix broken tests.
2020-09-01 16:05:14 -04: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
9cda9f69cd
@0x/contracts-zero-ex
: Add reentrancy guard to mtx functions
...
`@0x/contracts-zero-ex`: Add refund mechanism to mtxs
`@0x/contracts-zero-ex`: Pass sender to transfomers.
`@0x/contracts-zero-ex`: Refund protocol fees to `refundReceiver` in FQT.
`@0x/utils`: Add EP flavor of `IllegalReentrancyError`
`@0x/order-utils`: Add `refundReceiver` to FQT transform data.
`@0x/asset-swapper`: Add `refundReceiver` support to EP swap quote consumer.
2020-09-01 09:40:58 -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
Michael Zhu
e078f3d479
Appease CI
2020-08-19 09:50:39 -07:00
Lawrence Forman
5dd686f22f
@0x/contracts-zero-ex
: Add reentrancy guard to mtx functions
...
`@0x/contracts-zero-ex`: Add refund mechanism to mtxs
`@0x/contracts-zero-ex`: Pass sender to transfomers.
`@0x/contracts-zero-ex`: Refund protocol fees to `refundReceiver` in FQT.
`@0x/utils`: Add EP flavor of `IllegalReentrancyError`
`@0x/order-utils`: Add `refundReceiver` to FQT transform data.
`@0x/asset-swapper`: Add `refundReceiver` support to EP swap quote consumer.
2020-08-06 22:28:35 -04:00
Lawrence Forman
145ec8ede1
address review comments
2020-07-22 22:18:41 -04:00
Lawrence Forman
5f5a158060
@0x/contracts-zero-ex
: Update TransformERC20
and MetaTransactions
to handle signed calldata.
2020-07-22 22:18:39 -04:00
Lawrence Forman
a55e8b268c
@0x/contracts-zero-ex
: Fix linter errors.
2020-07-10 02:36:25 -04:00
Lawrence Forman
e8106f04b5
@0x/contracts-zero-ex
: Address review feedback.
2020-07-10 02:36:25 -04:00
Lawrence Forman
297ff10c14
@0x/contracts-zero-ex
: add SignatureValidator
and MetaTransactions
features.
2020-07-10 02:36:00 -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
7dffd0a03e
@0x/contracts-zero-ex
: Use transformer utils from order-utils
.
2020-06-17 01:23:08 -04:00
Lawrence Forman
09b8d7cfc9
@0x/contracts-zero-ex
: Flip TransformERC20.createTransformWallet()
to onlyOwner
.
2020-06-16 18:07:03 -04:00
Lawrence Forman
ebfa62637e
@0x/contracts-zero-ex
: Address audit feedback.
2020-06-08 15:28:27 -04:00
Lawrence Forman
2ba3818b65
@0x/contracts-zero-ex
: Introduce transformer contracts.
2020-05-28 11:56:59 -04:00
Lawrence Forman
af45409959
@0x/contracts-zero-ex
: Revamp TransformERC20.
2020-05-28 11:56:59 -04:00