* development: (25 commits) Enable coverage for all other packages with tests Fix parallel coverage results reporting Fix linter issuesx Remove outdated comment Add script copying to build command Add postpublish script to sol-cov Move configuration into package.json configs section Transform input data before encoding for callAsync and getABIEncodedTransactionData Consolidate docs generation and uploading logic Use async/await instead of promise syntax Move changelog entry remove unneeded include remove unused dep Fix lint issues Re-add linter to monorepo-scripts but with tslint-config dep at earlier version to avoid cyclical dependency small fixes move scripts to monorepro-scripts Fix gitignore Move abi-gen scripts to src Add missing dep ...
@0xproject/deployer
This repository contains a CLI tool that facilitates compiling and deployment of smart contracts.
Installation
yarn add @0xproject/deployer
Usage
CLI Usage
node ./node_modules/@0xproject/deployer/lib/cli.js --help
cli.js [command]
Commands:
cli.js compile compile contracts
cli.js deploy deploy a single contract with provided arguments
Options:
--version Show version number [boolean]
--contracts-dir path of contracts directory to compile
[string] [default: "/Users/leonidlogvinov/Dev/0x/contracts"]
--network-id mainnet=1, kovan=42, testrpc=50 [number] [default: 50]
--should-optimize enable optimizer [boolean] [default: false]
--artifacts-dir path to write contracts artifacts to
[string] [default: "/Users/leonidlogvinov/Dev/0x/build/artifacts/"]
--jsonrpc-port port connected to JSON RPC [number] [default: 8545]
--gas-price gasPrice to be used for transactions
[string] [default: "2000000000"]
--account account to use for deploying contracts [string]
--help Show help [boolean]
API Usage
Migrations
You might want to write a migration scripts (similar to truffle migrate), that deploys multiple contracts and configures them. Below you'll find a simple example of such a script to help you get started.
import { Deployer } from '@0xproject/deployer';
import * as path from 'path';
const deployerOpts = {
artifactsDir: path.resolve('src', 'artifacts'),
jsonrpcUrl: 'http://localhost:8545',
networkId: 50,
defaults: {
gas: 1000000,
},
};
const deployer = new Deployer(deployerOpts);
(async () => {
const etherToken = await deployer.deployAndSaveAsync('WETH9');
})().catch(console.log);
A more sophisticated example can be found here
Contributing
We strongly recommend that the community help us make improvements and determine the future direction of the protocol. 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
yarn build
or
yarn build:watch
Lint
yarn lint
Run Tests
yarn test