Make Deployer configurable by jsonrpcUrl instead of jsonrpcPort
This commit is contained in:
		@@ -8,7 +8,7 @@ import { runMigrationsAsync } from './migrate';
 | 
			
		||||
 | 
			
		||||
const deployerOpts = {
 | 
			
		||||
    artifactsDir: path.resolve('src', 'artifacts'),
 | 
			
		||||
    jsonrpcPort: devConstants.RPC_PORT,
 | 
			
		||||
    jsonrpcUrl: devConstants.RPC_URL,
 | 
			
		||||
    networkId: constants.TESTRPC_NETWORK_ID,
 | 
			
		||||
    defaults: {
 | 
			
		||||
        gas: devConstants.GAS_ESTIMATE,
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@ import { web3 } from './web3_wrapper';
 | 
			
		||||
const deployerOpts = {
 | 
			
		||||
    web3Provider: web3.currentProvider,
 | 
			
		||||
    artifactsDir: path.resolve('src', 'artifacts'),
 | 
			
		||||
    jsonrpcPort: devConstants.RPC_PORT,
 | 
			
		||||
    jsonrpcUrl: devConstants.RPC_URL,
 | 
			
		||||
    networkId: constants.TESTRPC_NETWORK_ID,
 | 
			
		||||
    defaults: {
 | 
			
		||||
        gas: devConstants.GAS_ESTIMATE,
 | 
			
		||||
 
 | 
			
		||||
@@ -3,6 +3,8 @@
 | 
			
		||||
## v0.3.0 - _TBD, 2018_
 | 
			
		||||
 | 
			
		||||
    * Add support for Solidity 0.4.20 and 0.4.21
 | 
			
		||||
    * Replace `jsonrpcPort` config by `jsonrpcUrl` (#426)
 | 
			
		||||
    * Replace `jsonrpc-port` CLI option by `jsonrpc-url` (#426)
 | 
			
		||||
 | 
			
		||||
## v0.2.0 - _March 4, 2018_
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -13,7 +13,7 @@ const DEFAULT_OPTIMIZER_ENABLED = false;
 | 
			
		||||
const DEFAULT_CONTRACTS_DIR = path.resolve('src/contracts');
 | 
			
		||||
const DEFAULT_ARTIFACTS_DIR = path.resolve('src/artifacts');
 | 
			
		||||
const DEFAULT_NETWORK_ID = 50;
 | 
			
		||||
const DEFAULT_JSONRPC_PORT = 8545;
 | 
			
		||||
const DEFAULT_JSONRPC_URL = 'http://localhost:8545';
 | 
			
		||||
const DEFAULT_GAS_PRICE = (10 ** 9 * 2).toString();
 | 
			
		||||
const DEFAULT_CONTRACTS_LIST = '*';
 | 
			
		||||
 | 
			
		||||
@@ -36,7 +36,7 @@ async function onCompileCommand(argv: CliOptions): Promise<void> {
 | 
			
		||||
 * @param argv Instance of process.argv provided by yargs.
 | 
			
		||||
 */
 | 
			
		||||
async function onDeployCommand(argv: CliOptions): Promise<void> {
 | 
			
		||||
    const url = `http://localhost:${argv.jsonrpcPort}`;
 | 
			
		||||
    const url = argv.jsonrpcUrl;
 | 
			
		||||
    const web3Provider = new Web3.providers.HttpProvider(url);
 | 
			
		||||
    const web3Wrapper = new Web3Wrapper(web3Provider);
 | 
			
		||||
    const networkId = await web3Wrapper.getNetworkIdAsync();
 | 
			
		||||
@@ -55,7 +55,7 @@ async function onDeployCommand(argv: CliOptions): Promise<void> {
 | 
			
		||||
    };
 | 
			
		||||
    const deployerOpts: DeployerOptions = {
 | 
			
		||||
        artifactsDir: argv.artifactsDir,
 | 
			
		||||
        jsonrpcPort: argv.jsonrpcPort,
 | 
			
		||||
        jsonrpcUrl: argv.jsonrpcUrl,
 | 
			
		||||
        networkId,
 | 
			
		||||
        defaults,
 | 
			
		||||
    };
 | 
			
		||||
@@ -120,10 +120,10 @@ function deployCommandBuilder(yargsInstance: any) {
 | 
			
		||||
            default: DEFAULT_ARTIFACTS_DIR,
 | 
			
		||||
            description: 'path to write contracts artifacts to',
 | 
			
		||||
        })
 | 
			
		||||
        .option('jsonrpc-port', {
 | 
			
		||||
            type: 'number',
 | 
			
		||||
            default: DEFAULT_JSONRPC_PORT,
 | 
			
		||||
            description: 'port connected to JSON RPC',
 | 
			
		||||
        .option('jsonrpc-url', {
 | 
			
		||||
            type: 'string',
 | 
			
		||||
            default: DEFAULT_JSONRPC_URL,
 | 
			
		||||
            description: 'url of JSON RPC',
 | 
			
		||||
        })
 | 
			
		||||
        .option('gas-price', {
 | 
			
		||||
            type: 'string',
 | 
			
		||||
 
 | 
			
		||||
@@ -10,7 +10,7 @@ import {
 | 
			
		||||
    ContractArtifact,
 | 
			
		||||
    ContractNetworkData,
 | 
			
		||||
    DeployerOptions,
 | 
			
		||||
    PortDeployerOptions,
 | 
			
		||||
    UrlDeployerOptions,
 | 
			
		||||
    ProviderDeployerOptions,
 | 
			
		||||
} from './utils/types';
 | 
			
		||||
import { utils } from './utils/utils';
 | 
			
		||||
@@ -30,13 +30,13 @@ export class Deployer {
 | 
			
		||||
        this._defaults = opts.defaults;
 | 
			
		||||
        let web3Provider: Web3.Provider;
 | 
			
		||||
        if (_.isUndefined((opts as ProviderDeployerOptions).web3Provider)) {
 | 
			
		||||
            const jsonrpcPort = (opts as PortDeployerOptions).jsonrpcPort;
 | 
			
		||||
            if (_.isUndefined(jsonrpcPort)) {
 | 
			
		||||
            const jsonrpcUrl = (opts as UrlDeployerOptions).jsonrpcUrl;
 | 
			
		||||
            if (_.isUndefined(jsonrpcUrl)) {
 | 
			
		||||
                throw new Error(
 | 
			
		||||
                    `Deployer options don't have neither web3Provider nor jsonrpcPort. Please pass one of them`,
 | 
			
		||||
                    `Deployer options don't have neither web3Provider nor jsonrpcUrl. Please pass one of them`,
 | 
			
		||||
                );
 | 
			
		||||
            }
 | 
			
		||||
            web3Provider = new Web3.providers.HttpProvider(`http://localhost:${jsonrpcPort}`);
 | 
			
		||||
            web3Provider = new Web3.providers.HttpProvider(jsonrpcUrl);
 | 
			
		||||
        } else {
 | 
			
		||||
            web3Provider = (opts as ProviderDeployerOptions).web3Provider;
 | 
			
		||||
        }
 | 
			
		||||
 
 | 
			
		||||
@@ -41,7 +41,7 @@ export interface SolcErrors {
 | 
			
		||||
export interface CliOptions extends yargs.Arguments {
 | 
			
		||||
    artifactsDir: string;
 | 
			
		||||
    contractsDir: string;
 | 
			
		||||
    jsonrpcPort: number;
 | 
			
		||||
    jsonrpcUrl: string;
 | 
			
		||||
    networkId: number;
 | 
			
		||||
    shouldOptimize: boolean;
 | 
			
		||||
    gasPrice: string;
 | 
			
		||||
@@ -68,11 +68,11 @@ export interface ProviderDeployerOptions extends BaseDeployerOptions {
 | 
			
		||||
    web3Provider: Web3.Provider;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export interface PortDeployerOptions extends BaseDeployerOptions {
 | 
			
		||||
    jsonrpcPort: number;
 | 
			
		||||
export interface UrlDeployerOptions extends BaseDeployerOptions {
 | 
			
		||||
    jsonrpcUrl: string;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export type DeployerOptions = PortDeployerOptions | ProviderDeployerOptions;
 | 
			
		||||
export type DeployerOptions = UrlDeployerOptions | ProviderDeployerOptions;
 | 
			
		||||
 | 
			
		||||
export interface ContractSources {
 | 
			
		||||
    [key: string]: string;
 | 
			
		||||
 
 | 
			
		||||
@@ -24,7 +24,7 @@ const compiler = new Compiler(compilerOpts);
 | 
			
		||||
const deployerOpts = {
 | 
			
		||||
    artifactsDir,
 | 
			
		||||
    networkId: constants.networkId,
 | 
			
		||||
    jsonrpcPort: constants.jsonrpcPort,
 | 
			
		||||
    jsonrpcUrl: constants.jsonrpcUrl,
 | 
			
		||||
    defaults: {
 | 
			
		||||
        gasPrice: constants.gasPrice,
 | 
			
		||||
    },
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@ import { BigNumber } from '@0xproject/utils';
 | 
			
		||||
 | 
			
		||||
export const constants = {
 | 
			
		||||
    networkId: 0,
 | 
			
		||||
    jsonrpcPort: 8545,
 | 
			
		||||
    jsonrpcUrl: 'http://localhost:8545',
 | 
			
		||||
    optimizerEnabled: 0,
 | 
			
		||||
    gasPrice: new BigNumber(20000000000),
 | 
			
		||||
    timeoutMs: 20000,
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user