* 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/contract-artifacts
Smart contract compilation artifacts for the latest version of the 0x Protocol.
Installation
yarn add @0x/contract-artifacts
Import
import * as artifacts from '@0x/contract-artifacts';
or
var artifacts = require('@0x/contract-artifacts');
Contributing
We welcome improvements and fixes from the wider community! To report bugs within this package, please create an issue in this repository.
Please read our contribution guidelines before getting started.
Install dependencies
If you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:
yarn config set workspaces-experimental true
Then install dependencies
yarn install
Build
To build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:
PKG=@0x/contract-artifacts yarn build
Clean
yarn clean
Lint
yarn lint
Run Tests
yarn test
Development
This package needs to be updated manually when deploying a new contract. Post-deployment workflow:
- Update
@0x/contract-addresses
- Copy the contract artifact into
@0x/contract-artifacts
. If updating all the artifacts at once, you can useyarn artifacts_update
. If manually coping an artifact, make sure to useyarn artifacts_transform
to remove unwanted fields. - Regenerate the wrappers.
cd ../contract-wrappers && yarn rebuild