diff options
author | Fabio Berger <me@fabioberger.com> | 2018-11-26 22:59:27 +0800 |
---|---|---|
committer | Fabio Berger <me@fabioberger.com> | 2018-11-26 22:59:27 +0800 |
commit | eefd9d9dd2164c6ff222250934812ac62df9bc15 (patch) | |
tree | c1cdb5d0a3ad81994620d1610cc7971b48a3c904 /packages/migrations/src/cli.ts | |
parent | f46a49fd13c88dd86c9661d76bace18844642c04 (diff) | |
download | dexon-sol-tools-eefd9d9dd2164c6ff222250934812ac62df9bc15.tar.gz dexon-sol-tools-eefd9d9dd2164c6ff222250934812ac62df9bc15.tar.zst dexon-sol-tools-eefd9d9dd2164c6ff222250934812ac62df9bc15.zip |
Add command-line interface to @0x/migrations
Diffstat (limited to 'packages/migrations/src/cli.ts')
-rw-r--r-- | packages/migrations/src/cli.ts | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/packages/migrations/src/cli.ts b/packages/migrations/src/cli.ts new file mode 100644 index 000000000..46a524e85 --- /dev/null +++ b/packages/migrations/src/cli.ts @@ -0,0 +1,38 @@ +#!/usr/bin/env node +import { RPCSubprovider, Web3ProviderEngine } from '@0x/subproviders'; +import { logUtils } from '@0x/utils'; +import * as yargs from 'yargs'; + +import { runMigrationsAsync } from './migration'; + +const args = yargs + .option('node-endpoint', { + describe: 'Endpoint where backing Ethereum node is hosted', + type: 'string', + demandOption: false, + default: 'http://localhost:8545', + }) + .option('from', { + describe: 'Ethereum address from which to deploy the contracts', + type: 'string', + demandOption: true, + }) + .example( + '$0 --node-endpoiont http://localhost:8545 --from 0x5409ed021d9299bf6814279a6a1411a7e866a631', + 'Full usage example', + ).argv; + +(async () => { + const rpcSubprovider = new RPCSubprovider(args['node-endpoint']); + const provider = new Web3ProviderEngine(); + provider.addProvider(rpcSubprovider); + provider.start(); + const txDefaults = { + from: args.from, + }; + await runMigrationsAsync(provider, txDefaults); + process.exit(0); +})().catch(err => { + logUtils.log(err); + process.exit(1); +}); |