Romain Butteaud
c1f8df0eca
chore: Component.finance, Smoothy.finance, Saddle.finance, Curve open pools, Gas schedule [TKR-1] ( #182 )
...
* chore: Component.finance, Smoothy.finance (mainnet + BSC), Saddle.finance, Curve open pools, adjusting gas schedule, fixing Shell buys
* chore: adding a Sampler for Smoothy.finance to only use whats in the contracts reserve
* fix: Smoothy sampler, only use approx. for buys, removing y and BUSD curve pools
* add CHANGELOGs
* fix: prettier
* add: FRAX Curve open pool
* fix: prettier
* chore: adjusting gas schedule for BSC Smoothy
2021-04-08 18:07:12 -07:00
mzhu25
6045f777ab
Add Kyber DMM as a liquidity source ( #194 )
...
* Add Kyber DMM as a liquidity source
* update changelog
2021-04-07 10:08:19 -07: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
Daniel Pyrathon
525bc8197b
Revive quote report ( #184 )
...
* Revives Quote Report
* prettier
* Remove unused parameters
* updated a few issues with tests
* Remove old code
* Fixed other unit tests
2021-03-30 09:57:03 -07:00
phil-ociraptor
06b3464756
Rename {Rfqt=>Rfq} for types in Asset Swapper ( #179 )
...
* Rename {Rfqt=>Rfq} for types in Asset Swapper
* PR edit 1 - fix build errors
* PR edit 2 - rename mocked types used in tests
* PR edit 3 - fix broken test build
* PR edit 4 - rename SwapQuoterRfqOpts and add changelog entry
2021-03-23 17:21:50 -05: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
49cb00a9ab
feat: DODO V2, Linkswap ( #152 )
...
* feat: DODO V2
* Fix typo
* feat: Linkswap (#153 )
* fix: intermediate hops WBTC (#154 )
* feat: Linkswap
* fix: Re-add WBTC in default hop tokens
* Update review changes
* FQT deploy + no gas limit ETH refund (#155 )
* `@0x/contracts-zero-ex`: refund ETH with no gas limit in FQT
`@0x/contract-addresses`: Deploy FQT
* Update packages/contract-addresses/CHANGELOG.json
Co-authored-by: mzhu25 <mchl.zhu.96@gmail.com>
Co-authored-by: Lawrence Forman <me@merklejerk.com>
Co-authored-by: mzhu25 <mchl.zhu.96@gmail.com>
Co-authored-by: Lawrence Forman <lawrence@0xproject.com>
Co-authored-by: Lawrence Forman <me@merklejerk.com>
Co-authored-by: mzhu25 <mchl.zhu.96@gmail.com>
2021-02-24 12:19:26 +10:00
Jacob Evans
c6919eb25a
feat: Mirror Protocol tokens ( #142 )
...
* feat: Mirror Protocol tokens
* added .tap to builder
2021-02-17 10:14:38 +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
cc9f43ba3b
Reenable PLP VIP and add gasCost field to LiquidityProviderRegistry ( #65 )
2020-12-02 17:26:48 -08: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
Alex Kroeger
927fe2b58b
Improved ComparisonPrice function ( #32 )
...
* separated comparison price function into a new file, accounted for backup orders
* removed scratch code
* Adjusted documentation, object naming
* Refactored comparisonPrice function to use adjusted rate from optimizer, used native order fee schedule to adjust for order fees
* Small fixes to function, added unit tests
* Adjusted fee calculation for comparisonPrice function
* use available OptimalPathRate object
* fix lint error in test, separate out fee calculation
* Fixed market operation utils test, added additional checks for fee schedule
* removed unused dep, prettier
2020-11-18 17:12:35 -08: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
Daniel Pyrathon
36bd8f68c9
adds amendments to the rollout feature flag. Rollout indicative quote… ( #30 )
...
* adds amendments to the rollout feature flag. Rollout indicative quotes indipendently from firm quotes.
* Updates based on Brandon's feedback
2020-11-05 12:46:06 -08:00
Jacob Evans
e10a81023a
feat: [asset-swapper] more hops via token adjacency ( #24 )
...
* feat: [asset-swapper] more hops via token adjacency
* fix lint
* CHANGELOG
2020-11-03 07:48:37 +10:00
Jacob Evans
717db99b38
fix: Support Multiple Shells ( #17 )
...
* fix: Support Multiple Shells
* CHANGEGLOG
2020-10-29 17:09:23 +10:00
Daniel Pyrathon
689a8881c2
fix: Changed price-aware RFQ flag to be a argument parameter ( #13 )
...
* Changed price-aware RFQ flag to be a argument parameter
* prettified tests
* lint
2020-10-27 12:56:26 -07: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
Daniel Pyrathon
0571244e9e
Merge pull request #2720 from 0xProject/refactor_rfq_comparison_price_integration
...
feat: Refactor rfq comparison price integration
2020-10-20 16:17:04 -07:00
F. Eugene Aumson
a9d0cec6d1
Ran prettier
2020-10-20 14:17:48 -04:00
F. Eugene Aumson
b5e3f0b90c
Disable tests per IS_PRICE_AWARE_RFQ_ENABLED flag
2020-10-20 13:48:46 -04:00
Romain Butteaud
3182c12b4d
feat: use pool attribute instead of curve for all Curve like pools
2020-10-19 13:24:44 -07:00
Romain Butteaud
891aa8e8bf
feat: SnowSwap
2020-10-19 13:24:44 -07:00
Daniel Pyrathon
0ae1c926d3
Merge branch 'development' of github.com:0xProject/0x-monorepo into refactor_rfq_comparison_price_integration
...
# Conflicts:
# packages/asset-swapper/src/utils/market_operation_utils/index.ts
2020-10-16 15:16:59 -07:00
Alex Kroeger
7161bbe836
prettier
2020-10-14 11:38:05 -07:00
F. Eugene Aumson
05b25c6229
Ran prettier
2020-10-14 13:02:17 -04:00
F. Eugene Aumson
2db52c6983
Fixed linter error
...
ERROR: 793:24 no-unnecessary-type-assertion This assertion is unnecessary since it does not change the type of the expression.
2020-10-14 13:02:17 -04:00
F. Eugene Aumson
6e2eb9c5bb
Merge branch 'development' into refactor_rfq_comparison_price_integration
2020-10-14 11:57:58 -04:00
Alex Kroeger
eb27e260e0
merged into development to grab dodo
2020-10-13 23:23:05 -07:00
Alex Kroeger
c72aa653e8
Integrated CREAM into asset-swapper
2020-10-13 20:27:08 -07:00
Jacob Evans
4d04b72674
feat: DODO ( #2701 )
...
* feat: DODO
* DODO Bridge
* export DODOFillData
* Use deployed DODOHelper
* Deployed Bridge. Half of buys supported
* other half of buys
* refactor
* CHANGELOGs
* Lint
2020-10-13 18:20:31 +10:00
F. Eugene Aumson
4aa5a89cd7
Merge branch 'development' into refactor_rfq_comparison_price_integration
2020-10-12 12:44:30 -04:00
Alex Kroeger
629d48c766
removed unused functions
2020-10-08 16:43:52 -07:00
Alex Kroeger
c8886febb9
removed v0-specific code in asset-swapper
2020-10-08 16:43:52 -07:00
Daniel Pyrathon
199808dc44
Merge branch 'development' of github.com:0xProject/0x-monorepo into refactor_rfq_comparison_price_integration
...
# Conflicts:
# packages/asset-swapper/src/utils/market_operation_utils/index.ts
2020-10-07 14:28:35 -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
Daniel Pyrathon
efef5f122f
added fix
2020-10-05 17:24:23 -07:00
Daniel Pyrathon
83c942ad8c
Added fix for decimals
2020-10-05 17:20:43 -07:00
Michael Zhu
961273a2ff
Fix broken test
2020-10-05 10:09:06 -07:00
Michael Zhu
12ff4ec438
Add tests for exchange proxy gas overhead accounting in the path optimizer
2020-10-05 10:09:06 -07:00
Michael Zhu
c6d738ed0c
Refactor asset-swapper
2020-10-05 10:09:06 -07:00
Daniel Pyrathon
1588c1f362
Added initial unit tests and implementation
2020-10-02 15:04:50 -07:00
Daniel Pyrathon
9e42dce5c4
added initial implementation
2020-10-01 14:28:36 -07:00
Daniel Pyrathon
c13ffb2072
added linting and prettifying
2020-09-30 13:54:48 -07:00
Daniel Pyrathon
a24f01c90f
added a few fixed and added some comments:
2020-09-29 23:07:14 -07:00
Daniel Pyrathon
708e34602b
added further unit tests
2020-09-29 23:00:02 -07:00
Daniel Pyrathon
d60c8ddd5a
added more unit tests
2020-09-29 22:25:24 -07:00
Daniel Pyrathon
eea63292f0
added initial RFQ tests
2020-09-29 17:02:12 -07:00
Lawrence Forman
f84b375cde
UniswapFeature ( #2703 )
...
* Minimal Uniswap accessor.
* Add comments
* Safe math
* mainnet gas benchmark
* Assembler Uniswap
* Selectors and addresses
* Fix bugs in ABI encoders
* Typo
* AsmUniswap test
* Fix wantAmount computation
* Golfing
* Bypass AllowanceTarget
* Generalized asm uniswapper
* Implement ordering
* Fix pair computation
* #6 Golfing Iron
* Remove 'to' argument (saves 377 gas)
* New contract api
* `@0x/contracts-zero-ex`: Add `UniswapFeature`
* `@0x/contract-artifacts`: Regenerate artifacts
* `@0x/contract-wrappers`: Regenerate wrappers
* `@0x/asset-swapper`: Add Uniswap VIP support.
`@0x/asset-swapper`: Add `includeSources` support.
* `@0x/contracts-zero-ex`: Fix misleading comments in `UniswapFeature`.
`@0x/asset-swapper`: Fix linter errors.
* `@0x/asset-swapper`: Fix source filter bugs.
* `@0x/contracts-zero-ex`: `UniswapFeature`: Reduce calldata size for AllowanceTarget call
`@0x/asset-swapper`: Fix failing test.
* `@0x/contracts-zero-ex`: Fix ETH buy tokens not being normalized to WETH.
* `@0x/asset-swapper`: Fix multi-hop weirdness with source filters.
* `@0x/asset-swapper`: Fix failing test.
* `@0x/asset-swapper`: Really fix that broken AS test.
* `@0x/asset-swapper`: use filter objects instead of source array for valid buy and sell sources/
* `@0x/asset-swapper`: Move some source filtering logic into the sampler operations.
* `@0x/contracts-zero-ex`: Address PR feedback
* `@0x/contracts-zero-ex`: Fix feature version bug.
* `@0x/asset-swapper`: Did I actually fix AS tests this time? Who knows.
Co-authored-by: Remco Bloemen <remco@0x.org>
Co-authored-by: Michael Zhu <mchl.zhu.96@gmail.com>
Co-authored-by: Lawrence Forman <me@merklejerk.com>
2020-09-23 16:27:48 +10:00