* Update coveralls link to point to protocol repo coverage
* Remove obsoleted ignores in .gitignore
* Run forge coverage in CI and upload results to coveralls
* Remove unused wrapper
* Remove legacy coverage setup
* Remove lcov-result-merger
* Add base-path setting to coverallsapp in CI
* replace TSLint with ESLint in contracts-utils
* also contracts/treasury
* also do test-utils
* yarn fix
* fix stuff yarn fix could not fix
* eslint erc20 contracts folder too
* changelogs
* actually zeroex was a different pr
* PR #589 in changelogs
* whitespace
* prettier
* Update package.jsons to latest tools packages
* Skip tests relying on gasPrice > 0
* Yarn.lock
* Fix linter
* Update Balance checker, new ganache gets more ETH
* Fix new Ganache insufficient assertion string
* Temporarily set QuoteRequestor to skip
* Fix headers Axios now requests with
Prune exchange-libs
deploy migrations at specific address
remove exchange-libs, moving LibMath into Utils
Remove staking order-utils multisig and remaining asset-proxy
* 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
* 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>
* `@0x/contracts-erc20-bridge-sampler`: Add TwoHopSampler + refactor
* `@0x/asset-swapper`: Refactor + add two-hop skeleton
* Round out two-hop support in asset-swapper
* Add BalancerSampler, use it for two-hop quotes
* Fix bugs discovered from simbot
* rebases are hard
* Add intermediate token to MultiHop source breakdown
* Fix market buy bugs
* Use hybrid on-chain/off-chain sampling for Balancer
* Another day, another rebase
* Update changelogs
* Address PR feedback, CI fixes
* Address more PR feedback
* Curve ERC20Bridge
* ERC20BridgeSampler Curve (#2483)
* ERC20Sampler Curve
* Use Bridge Sources for each Curve
* Support multiple versions of the Curve contract
* CHANGELOG and redeployed Curve (mainnet)
* Fix Market ops utils test
* Added Curve DAI USDC USDT TUSD
* Bump sampler gas limit default
* Decode the Curve in tests
* Disable Curve in Buy tests
* blockchainTests.fork.resets Curve and Sampler
* `@0x/contracts-erc20-bridge-sampler`: Add gas limits to external quote calls.
`@0x/contract-addresses`: Point `erc20BridgeSampler` to new version.
* `@0x/contracts-utils`: Add kovan addresses to `DeploymentConstants`.
`@0x/contract-addresses`: Add kovan `ERC20BridgeSampler` address.
* `@0x/contracts-erc20-bridge-sampler`: Fix changelog.
* `@0x/asset-swapper`: Ignore zero sample results from the sampler contract.
`@0x/asset-swapper`: Allow skipping Uniswap when dealing with low precision amounts with `minUniswapDecimals` option.
`@0x/asset-swapper`: Increase default `runLimit` from `1024` to `4096`.
`@0x/asset-swapper`: Increase default `numSamples` from `8` to `10`
`@0x/asset-swapper`: Fix ordering of optimized orders.
`@0x/asset-swapper`: Fix best and worst quotes being reversed sometimes.
`@0x/asset-swapper`: Fix rounding of quoted asset amounts.
* `@0x/asset-swapper`: Change default `minUniswapDecimals` option from 8 to 7.
* `@0x/asset-swapper`: Revert uniswap decimals fix.
* `@0x/contracts-test-utils`: Add `blockchainTests.live()` for live network tests.
`@0x/contracts-test-utils`: Add modifiers to `blockchainTests.fork()`.
`@0x/contracts-integrations`: Add aggregator mainnet tests.
* `@0x/contracts-integrations`: Fix `fork/resets` modifier ordering on dydx tests.
`@0x/contracts-integrations`: Move and tweak aggregation tests.
* `@0x/contracts-integrations`: Handle non-responsive third-party SRA ordebooks with a little more grace.
* `@0x/contracts-integrations`: Fix linter error.
* `@0x/contracts-test-utils`: Consolidate fork provider logic into `mocha_blockchain.ts`.
* `@0x/contracts-integrations`: Run prettier on aggregation fill tests.
* `@0x/dev-utils`: Add `locked` to `Web3Config`.
* `@0x/contracts-integrations`: Update mainnet fork tests.
`@0x/contracts-test-utils`: Fix forked tests being skipped.
`@0x/contracts-erc20-bridge-sampler`: Regenerate artifacts.
* `@0x/contracts-test-utils`: Remove unecessary `locked` option when creating forked ganache provider.
* Fix redundant zero check
* Set fee amount in fillable amounts test
Co-authored-by: Jacob Evans <dekz@dekz.net>
* remove assetDataUtils everywhere
* export IAssetDataContract from @0x/contract-wrappers to allow @0x/instant to decode asset data synchronously
* export generic function `decodeAssetDataOrThrow` and add ERC20Bridge support
* export `hexUtils` from order-utils instead of contracts-test-utils
* move orderParsingUtils from order-utils to connect
* Remove many functions from signatureUtils
Removed from the exported object, that is. All of them are used in
other existing code, so they were all moved to be as local to their
usage as possible.
* remove orderHashUtils.isValidOrderHash()
* Move all *RevertErrors from order-utils...
...into their respective @0x/contracts- packages.
* Refactor @0x/order-utils' orderHashUtils away
- Move existing routines into @0x/contracts-test-utils
- Migrate non-contract-test callers to a newly-exposed getOrderHash()
method in DevUtils.
* Move all *RevertErrors from @0x/utils...
...into their respective @0x/contracts- packages.
* rm transactionHashUtils.isValidTransactionHash()
* DevUtils.sol: Fail yarn test if too big to deploy
* Refactor @0x/order-utils transactionHashUtils away
- Move existing routines into @0x/contracts-test-utils
- Migrate non-contract-test callers to a newly-exposed
getTransactionHash() method in DevUtils.
* Consolidate `Removed export...` CHANGELOG entries
* Rm EthBalanceChecker from devutils wrapper exports
* Stop importing from '.' or '.../src'
* fix builds
* fix prettier; dangling promise
* increase max bundle size
* update abi-gen with new method interfaces
* wip: get all packages to build
* wip: get all packages to build
* Fix two contract wrapper calls
* Export necessary types part of the contract wrapper public interfaces
* Revive and fix wrapper_unit_tests
* Remove duplicate type
* Fix lib_exchange_rich_error_decoder tests
* Fix remaining test failures in contracts-* packages
* Prettier fixes
* remove transactionHelper
* lint and update changelogs
* Fix prettier
* Revert changes to reference docs
* Add back changelog already published and add revert changelog entry
* Add missing CHANGELOG entries
* Add missing comma
* Update mesh-rpc-client dep
* Update Mesh RPC logic in @0x/orderbook to v6.0.1-beta
* Align package versions
* Replace assetDataUtils with DevUtilsContract wherever possible
Does not replace from @0x/instant and some @0x/order-utils uses
* Add revertIfInvalidAssetData to LibAssetData
This is needed to replace `assetDataUtils.decodeAssetDataOrThrow`.
Because it's used in packages and not only contracts, we should wait
to deploy the updated contract so we can update `@0x/contract-artifacts`,
`@0x/abi-gen-wrappers`, and `@0x/contract-wrappers` first.
* remove usages of signatureUtils
* fix test for optimised encoding
* refactor @0x/contracts-integrations
* update changelogs
* Move @0x/contracts-dev-utils from devDependencies to dependencies
It is exported as part of the package
* abi-gen/test: recompile contract fixtures for 3.0
It seems this hadn't been done since the merge with the 3.0 branch.
* Sync `monorepo$ yarn test` exclusions to CI config
* sra-spec: correct typo
* contract-wrappers: TODO after coord.-server update
* utils: fix typo in comment
* Refactor networkId to chainId everywhere
* Update CHANGELOGs
It was using net_version, but it should be using the eth_chainId method
introduced in EIP-695. I'm not sure whether/how the network ID differs
from the chain ID on mainnet and the testnets, but in Ganache in
particular, the network ID is 50 while the chain ID is 1337, and this
difference was causing problems for Python tests. Specifically, the
Web3.py interface `Web3.eth.chainId` invokes the eth_chainId method, and
the result feeds into the order hash, which wasn't lining up with the
non-Python side of things.