Jacob Evans
80193215e3
feat: Migrate PositiveSlippage tests [LIT-804] ( #650 )
...
* feat: PositiveSlippageTransformer tests
* Remove old tests
* Affilite fee tests
* Create mintable erc20 token for v06
* Update MintableERC20TokenV06 name
2023-02-07 08:22:02 +10:00
Elena
4d9b68d527
Removes references to tslint ( #619 )
...
* Removes references to tslint in contract-wrappers
which are obsoleted since https://github.com/0xProject/protocol/pull/584
* Remove tslint references in contracts/utils and test utils
obsoleted by https://github.com/0xProject/protocol/pull/589
* Remove tslint references in contracts/zeroex and test utils
obsoleted by https://github.com/0xProject/protocol/pull/587
* Remove other obsoleted tslint references
* Update contributing guidelines with eslint
* Fix prettier errors
2022-11-19 17:52:00 +02:00
eobbad
b6597df84f
ignore generated wrappers and asset-swapper ( #591 )
2022-09-26 16:05:55 -04:00
Noah Khamliche
e51e1f1674
added otc order array to createTranformData ( #569 )
...
* added otc order array to createTranformData
* changelog
* fix linting
Co-authored-by: Noah Khamliche <0xnoah@Noahs-MacBook-Pro-2.local>
2022-08-31 11:37:50 -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
mzhu25
b46eeadc64
Feat/multiplex/v2 ( #263 )
...
* 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
2021-08-12 17:09:46 -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
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
Jacob Evans
3f4bb933d1
feat: v4 final ( #136 )
...
* v4 FillQuoteTransformer (#104 )
* Update FQT to support v4 orders
* `@0x/contracts-zero-ex`: Tweak FQT
`@0x/contracts-zero-ex`: Drop `ERC20BridgeTransfer` event and add `PartialQuoteFill` event.
* `@0x/contracts-utils`: Add `LibSafeMathV06.downcastToUint128()`
* `@0x/protocol-utils`: Update transformer utils for V4 FQT
* `@0x/contracts-zero-ex`: Fixing FQT tests...
* `@0x/contracts-zero-ex`: rename FQT bridge event
* `@0x/contracts-zero-ex`: Un-`only` tests
* `@0x/migrations`: Update `BridgeAdapter` deployment
* `@0x/contracts-integrations`: Delete `mtx_tests`
* `@0x/protocol-utils`: Address review comments
* `@0x/contracts-zero-ex`: Address review comments
* `@0x/migrations`: Update migrations
Co-authored-by: Michael Zhu <mchl.zhu.96@gmail.com>
Co-authored-by: Lawrence Forman <me@merklejerk.com>
* v4: Asset-swapper (main branch) (#113 )
* refactor quote_requestor
* WIP v4/asset-swapper: Clean up SwapQuoter and remove @0x/orderbook
* Start replacing SignedOrder everywhere
* wip: new order type
* wip
* remove order-utils from most places
* hack: Play around with VerboseX types (#119 )
* hack: Play around with VerboseX types
* More hacks
* Fix up the bridgeData encodings
* Rework Orderbook return type
* feat: Don't charge a protocol fee for RFQ orders WIP (#121 )
* fix simple build errors
* simplify types a little
* remove SwapQuoteCalculator: unnecessary abstraction
* Fix all ./src build errors; make types consistent
* export more types for use in 0x API; modify Orderbook interface
* stop overriding APIOrder
* feat: RFQ v4 + consolidated bridge encoders (#125 )
* feat: check if taker address is contract
* Rework bridge data
* Worst case adjustments
* RFQT v4
* Future/v4 validate orders (#126 )
* RFQT v4
* v4 validate native orders
* use default invalid signature
* refactor rfqt validations in swap quoter
* fix types
* fix RFQT unlisted api key
* remove priceAwareRFQFlag
* adjust maker/taker amounts
* update JSON schemas
* filter zero fillable orders
Co-authored-by: xianny <xianny@gmail.com>
* fix type export
Co-authored-by: xianny <xianny@gmail.com>
* remove order-utils as much as possible
* work on tests compile
* Comment out quote reporter test
* updated tests
* restore order-utils accidental changes
* some lints
* Remove old fill_test
* ts lint disable for now
* update quote report
* Re-enable quote report tests
* make fill data required field
* fix lint
* type guards
* force fillData as required
* fix lint
* fix naming
* exports
* adjust MultiBridge by slippage
* cleanups (checkpoint 1)
* cleanup types (checkpoint #2 )
* remove unused deps
* `@0x/contract-addresses`: Deploy new FQT (#129 )
Co-authored-by: Lawrence Forman <me@merklejerk.com>
* commit bump to republish
* DRY up the rfqt mocker
* fix: Balancer load top pools (#131 )
* fix: Balancer load top 250 pools
* refetch top pools on an interval
Co-authored-by: Jacob Evans <jacob@dekz.net>
Co-authored-by: Kim Persson <kimpers@users.noreply.github.com>
Co-authored-by: Lawrence Forman <lawrence@0xproject.com>
Co-authored-by: Lawrence Forman <me@merklejerk.com>
* Update post rebase
* prettier
* Remove test helpers exported in asset-swapper
* Clean up from review comments
* prettier
* lint
* recreate rfqt mocker
* change merge and INVALID_SIGNATURE
Co-authored-by: Lawrence Forman <lawrence@0xproject.com>
Co-authored-by: Michael Zhu <mchl.zhu.96@gmail.com>
Co-authored-by: Lawrence Forman <me@merklejerk.com>
Co-authored-by: Xianny <8582774+xianny@users.noreply.github.com>
Co-authored-by: Kim Persson <kimpers@users.noreply.github.com>
2021-02-10 19:20:15 +10:00
mzhu25
fb437551c9
Bancor FQT rollup ( #91 )
...
* Add MixinBancor for BridgeAdapter
* Update changelog
* Use 0.6 call value syntax
* `@0x/contract-addresses`: Deploy new FQT
* feat: Rollup CoFiX (#92 )
* `@0x/contract-addreses`: update FQT addresses
Co-authored-by: Lawrence Forman <me@merklejerk.com>
Co-authored-by: Jacob Evans <jacob@dekz.net>
2020-12-17 17:12:40 -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
Jacob Evans
f698721484
feat: [asset-swapper] Add Crypto.com as a source ( #43 )
...
* feat: [asset-swapper] Add Crypto.com as a source
* Exclude in tests
* Disable hop sources to avoid excess inaccuracy
* Added CryptoCom Bridge and FQT rollup
* update test
* Deploy CryptoCom bridge
* Update package.json
* CHANGELOGs
2020-12-01 12:52:48 +10:00
Steve Marx
88d7e73eba
remove calldata signing ( #51 )
2020-11-25 16:55:12 -05:00
Jacob Evans
717db99b38
fix: Support Multiple Shells ( #17 )
...
* fix: Support Multiple Shells
* CHANGEGLOG
2020-10-29 17:09:23 +10:00
Jacob Evans
99f5be8378
chore: [asset swapper] sampler Solidity 0.6 + Bridge addresses in AS ( #4 )
...
* Refactor excess interfaces
* Compiles on 0.6
* Refactored into try/catch
* Rebase and Refactored to v06
* Handle invalid registry in LP
* Update packages/asset-swapper/contracts/src/LiquidityProviderSampler.sol
Co-authored-by: Lawrence Forman <lawrence@0xproject.com>
* chore: [asset-swapper] Move Bridge Addresses and Gas schedule
* curve->pool
* lint
* Refactor to fix module load order
* Move FEE Schedule
* rollup: Swerve/Sushi/SnowSwap/DODO (#7 )
* rollup: Swerve/Sushi
* DODO Rollup + Snowswap Swerve
* hardcode addresses temporarily
* rebase
* rename to SUSHISWAP_ROUTER
* CHANGELOGs
* CHANGELOGs
Co-authored-by: Lawrence Forman <lawrence@0xproject.com>
2020-10-27 15:16:09 +10:00
Alex Kroeger
c72aa653e8
Integrated CREAM into asset-swapper
2020-10-13 20:27:08 -07:00
Jacob Evans
7698f21517
feat: [asset-swapper] Shell 🐚 ( #2722 )
...
* feat: [asset-swapper] Shell
* Deployed and Changelogs
* Glue up the deployed address
* Glue for FQT rollup
2020-10-06 15:55:51 +10:00
Lawrence Forman
3733d503db
@0x/contracts-zero-ex
: Remove mooniswapRegistry
from BridgeAdapter
addreses
2020-09-03 01:21:09 -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
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
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
Jacob Evans
406d2cefc5
feat: ExchangeProxy FillQuoteTransformer bridge direct ( #2608 )
...
* Detect Bridge orders and fill direct
* Mark as external for try/catch
* Initial tests
* discuss: Continue if protocol fee insufficient
* Emit ProtocolFeeUnfunded
* put the clamps on taker balance
* feat: GST free and optimize
* fix: low level GST free call
* fix: review feedback
* remove unused return struct
2020-07-07 07:37:26 +10:00
Lawrence Forman
c30a6eb1aa
@0x/contracts-zero-ex
: Fix linter errors.
2020-06-17 01:23:08 -04:00
Lawrence Forman
7dffd0a03e
@0x/contracts-zero-ex
: Use transformer utils from order-utils
.
2020-06-17 01:23:08 -04:00
Lawrence Forman
5e9829b2d8
@0x/contracts-zero-ex
: Add AffiliateFeeTransformer
tests.
2020-06-08 21:33:27 -04:00
Lawrence Forman
ebfa62637e
@0x/contracts-zero-ex
: Address audit feedback.
2020-06-08 15:28:27 -04:00
Lawrence Forman
ecfbd6280f
@0x/contracts-zero-ex
: Address review feedback.
2020-05-28 11:56:59 -04:00
Lawrence Forman
28402ff7d8
@0x/contracts-zero-ex
: Add self-destructing to transformers
2020-05-28 11:56:59 -04: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