mzhu25
c1177416f5
[Final] ERC721 and ERC1155 Orders ( #429 )
...
* add LibERC721Order.sol
* Add ERC721 interface to vendor/
* Add ERC721OrdersFeature interface
* Storage lib for ERC721 orders feature
* Implement basic functionality for ERC721 orders (buy, sell, cancel, etc)
* Add isValidERC721OrderSignature to interface
* implement onERC721Received
* Implement batchBuyERC721s
* left/right orders -> sell/buy orders
* Add missing @return comments
* Implement matching functions
* Use SafeMath where necessary
* add rich errors for ERC721OrdersFeature
* Add comments
* Add presign support for ERC721 orders
* Cancel using just the order nonce
* Add IERC721OrdersFeature to IZeroEx
* Add taker callback
* Assembly optimizations in LibERC721Order
* Add ERC721Orders TS class
* create zero-ex/contracts/test/integration/ and tokens/ directories
* TestMintableERC721Token
* tmp
* address feedback from original PR (#391 )
* address feedback from original PR
* Update contracts/zero-ex/contracts/src/features/ERC721OrdersFeature.sol
Co-authored-by: Kim Persson <kimpers@users.noreply.github.com>
* address review feedback and improve order parameter naming
* Add batchCancel function
* Emit order fields in preSign
* Fix tests
Co-authored-by: Lawrence Forman <me@merklejerk.com>
Co-authored-by: Kim Persson <kimpers@users.noreply.github.com>
Co-authored-by: Michael Zhu <mchl.zhu.96@gmail.com>
* Remove revertIfIncomplete from batchMatch
* Sanity check maker address in preSign
* ERC1155OrdersFeature contracts
* Commence refactor, abstract base contract
* ERC721OrdersFeature inherits from NFTOrders
* Refactor ERC1155OrdersFeature to inherit from NFTOrders
* Fix order hashing
* Fix ERC721OrdersFeature tests
* Typos
* Remove maker address from preSigned mapping
* disable dex sampler tests
* Refactor TS tooling
* Address PR feedback
* Rearrange event fields to better align with struct fields
* Update comments
* update AbiEncoder.create params
* Add ERC1155Order to protocol-utils
* Add ERC1155OrdersFeeature tests
* Bump package versions and regenerate contract wrappers
* Add ERC165Feature
* NFT orders: address audit findings (#417 )
* CVF-1: use pragma solidity ^0.6 instead of ^0.6.5
* CVF-11: fix inaccurate comment
* CVF-16: Enable taker callbacks for batchBuyERC1155s
* CVF-17: use internal call if revertIfIncomplete is true
* CVF-21: avoid duplicate SLOAD
* CVF-23: merge if statements
* CVF-24: Reorder status checks to be consistent with ERC721OrdersFeature
* CVF-25: Update unclear comment (canonical hash -> EIP-712 hash)
* CVF-31: Document keys of orderState mapping
* CVF-45: DRY up fees/properties hashing
* CVF-47, CVF-50, CVF-57: calculate properties.length once; hash propertyStructHashArray in-place using assembly
* CVF-56: More descriptive names for assembly variables
* CVF-71: Update confusing comment about rounding in _payFees
* CVF-72: Move ETH assertions outside of loop in _payFees
* CVF-74: Move property validation loop to else branch
* CVF-82: Update inaccurate comment
* CVF-86: Enable taker callbacks for batchBuyERC721s
* CVF-87: use internal call if revertIfIncomplete is true
* CVF-89: Perform token mismatch checks before stateful operations
* CVF-90, CVF-91: Defer ERC20 token mismatch check
* CVF-93: Add inline comments for _payFees parameters in matchERC721Orders
* CVF-94: Fix comment (Step 7 -> Step 5)
* CVF-98: Use binary & operator instead of mod
* CVF-99: Update unclear comment (canonical hash -> EIP-712 hash)
* CVF-65, CVF-66, CVF-67: Copy params.ethAvailable into local variable; check that ethSpent does not exceed ethAvailable; remove ethAvailable < erc20FillAmount check
* CVF-52, CVF-55, CVF-59: calculate fees.length once; hash feeStructHashArray in-place using assembly
* CVF-14, CVF-32: OrderState struct; separate storage mapping for 1155 cancellations so orders can be cancelled by nonce
* Update changelogs, IZeroEx artifact/wrapper
Co-authored-by: Lawrence Forman <lawrence@0xproject.com>
Co-authored-by: Lawrence Forman <me@merklejerk.com>
Co-authored-by: Kim Persson <kimpers@users.noreply.github.com>
2022-02-22 10:00:22 -08:00
Kim Persson
9615570dc6
feat: deploy interest tokens ( #321 )
...
* feat: Aave aToken deposit/withdrawal [TKR-111] (#293 )
* feat: AaveV2 deposit/withdrawal integration WIP
* feat: add basic Aave Reserves cache with data from subgraphs WIP
* feat: hook up Aave Reserves integration
* fix: set allowance before trade & use ERC20 token interface
* refactor: pass aToken to mixin to avoid lookup
* fix: migrate from swap/revert to normal sampling
* fix: Aave gas estimate & refactor to clean up code
* feat: Create a sampler no operation type and make AaveV2Sampler a no-op
* fix: Clipper merge conflict resolution issues
* fix: don't fetch unnecessary Aave pool data & clean up code
* chore: Add changelog entries
* feat: cToken deposit/withdrawal [TKR-222] (#294 )
* feat: first stab at a CompoundSampler implementation
* feat: MixinCompound implementation WIP
* feat: Compound integration with cache WIP
* fix: decimals scaling in CompoundSampler
* feat: handle minting and redeeming of cETH
* fix: adjust Compound gas schedule
* refactor: clean up code and add comments in cToken cache
* fix: MixinCompound check allowance on WETH withdrawal & fix indentation
* fix: address review comments and clean up code
* chore: add changelog entries
* feat: enable AaveV2 on Avalanche
* chore: add freshly deployed FQT on Polygon, Avalanche
* fix: temporarily disable on Ethereum mainnet until we redeploy EP
* fix: address PR comments and update changelogs
* fix: correct contract-addresses changelog note
2021-12-01 17:10:22 +01:00
Lawrence Forman
4b3d98f43c
@0x/contracts-zero-ex
: Prevent EP ETH balance from reducing when executin mtxs (#365 )
...
Co-authored-by: Lawrence Forman <me@merklejerk.com>
2021-11-09 22:11:36 -05:00
Romain Butteaud
0945d4cef2
fix: removing Clipper custom integration (to add it later as a real PLP) ( #335 )
...
* 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
2021-10-04 11:39:07 -07:00
Noah Khamliche
0caf495a1a
fixed prettier error with tests
2021-09-01 17:07:16 -04:00
Noah Khamliche
a20de0fc69
Added support for TestMintableERC20TokenContract instead of DummyERC20
2021-09-01 17:07:16 -04:00
Noah Khamliche
6bb72dd775
ran yarn prettier to fix issues
2021-09-01 17:07:16 -04:00
Noah Khamliche
77d1ed257c
removed unsued bal variable, and removed .only modifier on blockchain tests
2021-09-01 17:07:16 -04:00
Noah Khamliche
5d265360c4
fixed linting and EP transfering less than the total amount of ETH in the wallet
2021-09-01 17:07:16 -04:00
Noah Khamliche
c9097f6e8b
fixed rebase issues
2021-09-01 17:07:16 -04:00
Noah Khamliche
d3df985a42
fixed michaels comments and finished off writing the test
2021-09-01 17:07:16 -04:00
Noah Khamliche
7267420874
fixed rebase issues
2021-09-01 17:07:16 -04:00
Noah Khamliche
17e81432f1
Fixed PR comments, now onto writing tests
2021-09-01 17:07:16 -04:00
Noah Khamliche
57c767c3b1
fixed package.json
2021-09-01 17:07:16 -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
Jacob Evans
a35af11981
feat: Clipper ( #299 )
...
* feat: Clipper
* feat: Curve tricrypto2 (#302 )
* Scope down the token list search space for Clipper
* update deployed addresses
2021-08-06 14:12:43 +10:00
Kim Persson
7580719586
feat: Lido StETH deposit integration [TKR-90] ( #260 )
...
* 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
2021-06-22 11:25:47 +02:00
Romain Butteaud
d07c7d5b69
feat: Curve V2 ( #262 )
...
* feat: Curve V2
* fix: CurveV2 gas schedule, remove unused import from MixinCurveV2
* feat: FQT address update
* chore: Curve V2 exchange_underlying, adding Polygon atricrypto pool
* prettier
* feat: FQT Polygon address update
* feat: FQT address update
2021-06-10 19:01:11 -07: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
Jacob Evans
966d54c935
fix: KyberDmm ( #236 )
...
* 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>
2021-05-18 08:12:28 +10:00
mzhu25
a744acc7bc
Add special selectors to selector collision test ( #243 )
2021-05-14 10:50:58 -07:00
Lawrence Forman
a2d42b07b5
UniswapV3 [TKR-4] ( #197 )
...
* 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>
2021-05-05 19:44:17 +10:00
Xianny
f9a794af93
feat: Balancer V2 integration ( #206 )
...
* 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
Co-authored-by: Kim Persson <kimpersson88@gmail.com>
Co-authored-by: Lawrence Forman <me@merklejerk.com>
2021-05-05 11:01:28 +02:00
Lawrence Forman
5946d32a7d
Berlin wrappers ( #212 )
...
* `@0x/contract-wrappers`: Regenerate wrappers using updated abi-gen
Update tools deps
* update deps to hopefully fix doc gen
2021-04-27 12:16:08 -04: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
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
Xianny
7bf009fbf6
Upgrade to typescript v4.2.2 ( #188 )
...
* upgrade to typescript v4.2.2
* prettier; remove outdated test
2021-03-30 13:26:05 -07: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
1a6759820a
Mooniswap LP ( #143 )
...
* `@0x/asset-swapper`: Fix compiler error on `ILiquidityProvider` call
`@0x/protocol-utils`: Add VIP utils.
* `@0x/asset-swapper`: Clean up curve VIP integration
* `@0x/contracts-zero-ex`: Add `MooniswapLiquidityProvider`.
`@0x/asset-swapper`: Add Mooniswap "vip" to EP quote consumer.
* rebase and prettier
* fix linter error
* `@0x/contracts-zero-ex`: Add `MooniswapLiquidityProvider` tests.
* review feedback
* `@0x/contracts-zero-ex`: Emit `LiquidityProviderFill` events in LPs
* `@0x/asset-swapper`: Fix compilation error
* `@0x/asset-swapper`: Add EP gas overhead to Curve and Mooni LP bridge routes
* `@0x/asset-swapper`: Remove consumer gas overhead for LP VIPs
* `@0x/contracts-zero-ex`: Add more params to `LiquidityProviderFill` event
* `@0x/contracts-zero-ex`: Address review comments.
* `@0x/asset-swapper`: Update deployed Curve and Mooni LPs
Co-authored-by: Lawrence Forman <me@merklejerk.com>
2021-03-02 16:50:37 -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
Lawrence Forman
a74a3450eb
@0x/contracts-zero-ex
: Add CurveLiquidityProvider
and misc refactors (#127 )
...
* `@0x/contracts-zero-ex`: Add `CurveLiquidityProvider` and misc refactors
* `@0x/asset-swapper`: Fix compiler error on `ILiquidityProvider` call
`@0x/protocol-utils`: Add VIP utils.
* `@0x/contracts-zero-ex`: Rebase and fix comiler warnings
* `@0x/asset-swapper`: Clean up curve VIP integration
* `@0x/protocol-utils`: Update changelog
* `@0x/protocol-utils`: tsdoc new functions
Co-authored-by: Lawrence Forman <me@merklejerk.com>
2021-02-11 19:13:17 -05: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
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
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
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
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
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
012fff46f6
add permissionless transformer deployer ( #55 )
...
* add permissionless transformer deployer
2020-11-27 18:21:49 -05: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