From f1b267cc9fe7f6e5566dc2535b064b92aef92df1 Mon Sep 17 00:00:00 2001 From: Leonid Logvinov Date: Wed, 6 Dec 2017 20:55:09 +0300 Subject: Refactor web3Wrapper to a separate package --- packages/contracts/deploy/cli.ts | 8 +- packages/contracts/deploy/migrations/migrate.ts | 2 +- packages/contracts/deploy/src/compiler.ts | 2 +- packages/contracts/deploy/src/deployer.ts | 11 +- packages/contracts/deploy/src/utils/contract.ts | 2 +- packages/contracts/deploy/src/utils/fs_wrapper.ts | 12 +- packages/contracts/deploy/src/utils/network.ts | 13 +- packages/contracts/deploy/src/utils/types.ts | 3 +- .../contracts/deploy/src/utils/web3_wrapper.ts | 132 --------------------- packages/contracts/deploy/test/deploy_test.ts | 2 +- packages/contracts/deploy/test/util/constants.ts | 4 +- packages/contracts/globals.d.ts | 6 - packages/contracts/package.json | 6 +- packages/contracts/test/ts/ether_token.ts | 6 +- .../contracts/test/ts/multi_sig_with_time_lock.ts | 6 +- packages/contracts/util/order.ts | 4 +- 16 files changed, 44 insertions(+), 175 deletions(-) delete mode 100644 packages/contracts/deploy/src/utils/web3_wrapper.ts (limited to 'packages/contracts') diff --git a/packages/contracts/deploy/cli.ts b/packages/contracts/deploy/cli.ts index 73a43b247..df3ae33b4 100644 --- a/packages/contracts/deploy/cli.ts +++ b/packages/contracts/deploy/cli.ts @@ -1,3 +1,5 @@ +import {TxData} from '@0xproject/types'; +import {BigNumber} from 'bignumber.js'; import * as _ from 'lodash'; import * as path from 'path'; import * as yargs from 'yargs'; @@ -46,10 +48,10 @@ async function onMigrateCommand(argv: CliOptions): Promise { await commands.compileAsync(compilerOpts); const defaults = { - gasPrice: argv.gasPrice, + gasPrice: new BigNumber(argv.gasPrice), from: argv.account, }; - const deployerOpts: DeployerOptions = { + const deployerOpts = { artifactsDir: argv.artifactsDir, jsonrpcPort: argv.jsonrpcPort, networkId: networkIdIfExists, @@ -72,7 +74,7 @@ async function onDeployCommand(argv: CliOptions): Promise { await commands.compileAsync(compilerOpts); const defaults = { - gasPrice: argv.gasPrice, + gasPrice: new BigNumber(argv.gasPrice), from: argv.account, }; const deployerOpts: DeployerOptions = { diff --git a/packages/contracts/deploy/migrations/migrate.ts b/packages/contracts/deploy/migrations/migrate.ts index ea91febe4..c3d38875e 100644 --- a/packages/contracts/deploy/migrations/migrate.ts +++ b/packages/contracts/deploy/migrations/migrate.ts @@ -1,3 +1,4 @@ +import {Web3Wrapper} from '@0xproject/web3-wrapper'; import {BigNumber} from 'bignumber.js'; import * as _ from 'lodash'; import * as Web3 from 'web3'; @@ -5,7 +6,6 @@ import * as Web3 from 'web3'; import {Deployer} from './../src/deployer'; import {constants} from './../src/utils/constants'; import {Token} from './../src/utils/types'; -import {Web3Wrapper} from './../src/utils/web3_wrapper'; import {tokenInfo} from './config/token_info'; export const migrator = { diff --git a/packages/contracts/deploy/src/compiler.ts b/packages/contracts/deploy/src/compiler.ts index 70b88b514..8a44e94a3 100644 --- a/packages/contracts/deploy/src/compiler.ts +++ b/packages/contracts/deploy/src/compiler.ts @@ -1,4 +1,4 @@ -import promisify = require('es6-promisify'); +import {promisify} from '@0xproject/utils'; import * as ethUtil from 'ethereumjs-util'; import * as _ from 'lodash'; import * as path from 'path'; diff --git a/packages/contracts/deploy/src/deployer.ts b/packages/contracts/deploy/src/deployer.ts index 48d175a42..2d4f31949 100644 --- a/packages/contracts/deploy/src/deployer.ts +++ b/packages/contracts/deploy/src/deployer.ts @@ -1,4 +1,6 @@ -import promisify = require('es6-promisify'); +import {TxData} from '@0xproject/types'; +import {promisify} from '@0xproject/utils'; +import {Web3Wrapper} from '@0xproject/web3-wrapper'; import * as _ from 'lodash'; import * as Web3 from 'web3'; @@ -11,7 +13,6 @@ import { DeployerOptions, } from './utils/types'; import {utils} from './utils/utils'; -import {Web3Wrapper} from './utils/web3_wrapper'; // Gas added to gas estimate to make sure there is sufficient gas for deployment. const EXTRA_GAS = 200000; @@ -21,7 +22,7 @@ export class Deployer { private artifactsDir: string; private jsonrpcPort: number; private networkId: number; - private defaults: Partial; + private defaults: Partial; constructor(opts: DeployerOptions) { this.artifactsDir = opts.artifactsDir; @@ -30,7 +31,7 @@ export class Deployer { const jsonrpcUrl = `http://localhost:${this.jsonrpcPort}`; const web3Provider = new Web3.providers.HttpProvider(jsonrpcUrl); this.defaults = opts.defaults; - this.web3Wrapper = new Web3Wrapper(web3Provider, this.defaults); + this.web3Wrapper = new Web3Wrapper(web3Provider, this.networkId, this.defaults); } /** * Loads contract artifact and deploys contract with given arguments. @@ -171,7 +172,7 @@ export class Deployer { const block = await this.web3Wrapper.getBlockAsync('latest'); let gas: number; try { - const gasEstimate: number = await this.web3Wrapper.estimateGasAsync({data}); + const gasEstimate: number = await this.web3Wrapper.estimateGasAsync(data); gas = Math.min(gasEstimate + EXTRA_GAS, block.gasLimit); } catch (err) { gas = block.gasLimit; diff --git a/packages/contracts/deploy/src/utils/contract.ts b/packages/contracts/deploy/src/utils/contract.ts index e9c49c9f1..7b6098cea 100644 --- a/packages/contracts/deploy/src/utils/contract.ts +++ b/packages/contracts/deploy/src/utils/contract.ts @@ -1,5 +1,5 @@ import {schemas, SchemaValidator} from '@0xproject/json-schemas'; -import promisify = require('es6-promisify'); +import {promisify} from '@0xproject/utils'; import * as _ from 'lodash'; import * as Web3 from 'web3'; diff --git a/packages/contracts/deploy/src/utils/fs_wrapper.ts b/packages/contracts/deploy/src/utils/fs_wrapper.ts index 6b4fd625c..90785d0dd 100644 --- a/packages/contracts/deploy/src/utils/fs_wrapper.ts +++ b/packages/contracts/deploy/src/utils/fs_wrapper.ts @@ -1,11 +1,11 @@ -import promisify = require('es6-promisify'); +import {promisify} from '@0xproject/utils'; import * as fs from 'fs'; export const fsWrapper = { - readdirAsync: promisify(fs.readdir), - readFileAsync: promisify(fs.readFile), - writeFileAsync: promisify(fs.writeFile), - mkdirAsync: promisify(fs.mkdir), + readdirAsync: promisify(fs.readdir), + readFileAsync: promisify(fs.readFile), + writeFileAsync: promisify(fs.writeFile), + mkdirAsync: promisify(fs.mkdir), doesPathExistSync: fs.existsSync, - removeFileAsync: promisify(fs.unlink), + removeFileAsync: promisify(fs.unlink), }; diff --git a/packages/contracts/deploy/src/utils/network.ts b/packages/contracts/deploy/src/utils/network.ts index 74123e6a5..fcb78287c 100644 --- a/packages/contracts/deploy/src/utils/network.ts +++ b/packages/contracts/deploy/src/utils/network.ts @@ -1,15 +1,14 @@ -import promisify = require('es6-promisify'); +import {promisify} from '@0xproject/utils'; +import {Web3Wrapper} from '@0xproject/web3-wrapper'; +import * as _ from 'lodash'; import * as Web3 from 'web3'; -import {Web3Wrapper} from './web3_wrapper'; - export const network = { async getNetworkIdIfExistsAsync(port: number): Promise { const url = `http://localhost:${port}`; const web3Provider = new Web3.providers.HttpProvider(url); - const defaults = {}; - const web3Wrapper = new Web3Wrapper(web3Provider, defaults); - const networkIdIfExists = await web3Wrapper.getNetworkIdIfExistsAsync(); - return networkIdIfExists; + const web3 = new Web3(web3Provider); + const networkId = _.parseInt(await promisify(web3.version.getNetwork)()); + return networkId; }, }; diff --git a/packages/contracts/deploy/src/utils/types.ts b/packages/contracts/deploy/src/utils/types.ts index 855f1e849..f6b9de6e9 100644 --- a/packages/contracts/deploy/src/utils/types.ts +++ b/packages/contracts/deploy/src/utils/types.ts @@ -1,3 +1,4 @@ +import {TxData} from '@0xproject/types'; import * as Web3 from 'web3'; export enum AbiType { @@ -54,7 +55,7 @@ export interface DeployerOptions { artifactsDir: string; jsonrpcPort: number; networkId: number; - defaults: Partial; + defaults: Partial; } export interface ContractSources { diff --git a/packages/contracts/deploy/src/utils/web3_wrapper.ts b/packages/contracts/deploy/src/utils/web3_wrapper.ts deleted file mode 100644 index 0209da26d..000000000 --- a/packages/contracts/deploy/src/utils/web3_wrapper.ts +++ /dev/null @@ -1,132 +0,0 @@ -import BigNumber from 'bignumber.js'; -import promisify = require('es6-promisify'); -import * as _ from 'lodash'; -import * as Web3 from 'web3'; - -import {Contract} from './contract'; -import {ZeroExError} from './types'; - -export class Web3Wrapper { - private web3: Web3; - private defaults: Partial; - private networkIdIfExists?: number; - private jsonRpcRequestId: number; - constructor(provider: Web3.Provider, defaults: Partial) { - this.web3 = new Web3(); - this.web3.setProvider(provider); - this.defaults = defaults; - this.jsonRpcRequestId = 0; - } - public setProvider(provider: Web3.Provider) { - delete this.networkIdIfExists; - this.web3.setProvider(provider); - } - public isAddress(address: string): boolean { - return this.web3.isAddress(address); - } - public getContractFromAbi(abi: Web3.ContractAbi): Web3.Contract { - const contract = this.web3.eth.contract(abi); - return contract; - } - public async isSenderAddressAvailableAsync(senderAddress: string): Promise { - const addresses = await this.getAvailableAddressesAsync(); - return _.includes(addresses, senderAddress); - } - public async getNodeVersionAsync(): Promise { - const nodeVersion = await promisify(this.web3.version.getNode)(); - return nodeVersion; - } - public async getTransactionReceiptAsync(txHash: string): Promise { - const transactionReceipt = await promisify(this.web3.eth.getTransactionReceipt)(txHash); - return transactionReceipt; - } - public getCurrentProvider(): Web3.Provider { - return this.web3.currentProvider; - } - public async getNetworkIdIfExistsAsync(): Promise { - if (!_.isUndefined(this.networkIdIfExists)) { - return this.networkIdIfExists; - } - - try { - const networkId = await this.getNetworkAsync(); - this.networkIdIfExists = Number(networkId); - return this.networkIdIfExists; - } catch (err) { - return undefined; - } - } - public toWei(ethAmount: BigNumber): BigNumber { - const balanceWei = this.web3.toWei(ethAmount, 'ether'); - return balanceWei; - } - public async getBalanceInWeiAsync(owner: string): Promise { - let balanceInWei = await promisify(this.web3.eth.getBalance)(owner); - balanceInWei = new BigNumber(balanceInWei); - return balanceInWei; - } - public async doesContractExistAtAddressAsync(address: string): Promise { - const code = await promisify(this.web3.eth.getCode)(address); - // Regex matches 0x0, 0x00, 0x in order to accommodate poorly implemented clients - const codeIsEmpty = /^0x0{0,40}$/i.test(code); - return !codeIsEmpty; - } - public async signTransactionAsync(address: string, message: string): Promise { - const signData = await promisify(this.web3.eth.sign)(address, message); - return signData; - } - public async getBlockAsync(blockParam: string|Web3.BlockParam): Promise { - const block = await promisify(this.web3.eth.getBlock)(blockParam); - return block; - } - public async getBlockTimestampAsync(blockParam: string|Web3.BlockParam): Promise { - const {timestamp} = await this.getBlockAsync(blockParam); - return timestamp; - } - public async getAvailableAddressesAsync(): Promise { - const addresses: string[] = await promisify(this.web3.eth.getAccounts)(); - return addresses; - } - public async getLogsAsync(filter: Web3.FilterObject): Promise { - let fromBlock = filter.fromBlock; - if (_.isNumber(fromBlock)) { - fromBlock = this.web3.toHex(fromBlock); - } - let toBlock = filter.toBlock; - if (_.isNumber(toBlock)) { - toBlock = this.web3.toHex(toBlock); - } - const serializedFilter = { - ...filter, - fromBlock, - toBlock, - }; - const payload = { - jsonrpc: '2.0', - id: this.jsonRpcRequestId++, - method: 'eth_getLogs', - params: [serializedFilter], - }; - const logs = await this.sendRawPayloadAsync(payload); - return logs; - } - public async estimateGasAsync(callData: Web3.CallData): Promise { - const gasEstimate = await promisify(this.web3.eth.estimateGas)(callData); - return gasEstimate; - } - private getContractInstance(abi: Web3.ContractAbi, address: string): A { - const web3ContractInstance = this.web3.eth.contract(abi).at(address); - const contractInstance = new Contract(web3ContractInstance, this.defaults) as any as A; - return contractInstance; - } - private async getNetworkAsync(): Promise { - const networkId = await promisify(this.web3.version.getNetwork)(); - return networkId; - } - private async sendRawPayloadAsync(payload: Web3.JSONRPCRequestPayload): Promise { - const sendAsync = this.web3.currentProvider.sendAsync.bind(this.web3.currentProvider); - const response = await promisify(sendAsync)(payload); - const result = response.result; - return result; - } -} diff --git a/packages/contracts/deploy/test/deploy_test.ts b/packages/contracts/deploy/test/deploy_test.ts index 28cbd4586..7e7b98f90 100644 --- a/packages/contracts/deploy/test/deploy_test.ts +++ b/packages/contracts/deploy/test/deploy_test.ts @@ -19,7 +19,7 @@ const compilerOpts: CompilerOptions = { optimizerEnabled: constants.optimizerEnabled, }; const compiler = new Compiler(compilerOpts); -const deployerOpts: DeployerOptions = { +const deployerOpts = { artifactsDir, networkId: constants.networkId, jsonrpcPort: constants.jsonrpcPort, diff --git a/packages/contracts/deploy/test/util/constants.ts b/packages/contracts/deploy/test/util/constants.ts index 226c5a205..a2de44b63 100644 --- a/packages/contracts/deploy/test/util/constants.ts +++ b/packages/contracts/deploy/test/util/constants.ts @@ -1,8 +1,10 @@ +import {BigNumber} from 'bignumber.js'; + export const constants = { networkId: 0, jsonrpcPort: 8545, optimizerEnabled: 0, - gasPrice: '20000000000', + gasPrice: new BigNumber(20000000000), timeoutMs: 12000, zrxTokenAddress: '0xe41d2489571d322189246dafa5ebde1f4699f498', tokenTransferProxyAddress: '0x8da0d80f5007ef1e431dd2127178d224e32c2ef4', diff --git a/packages/contracts/globals.d.ts b/packages/contracts/globals.d.ts index 8bc5b5c3f..df53e9372 100644 --- a/packages/contracts/globals.d.ts +++ b/packages/contracts/globals.d.ts @@ -27,11 +27,6 @@ declare module 'solc' { export function setupMethods(solcBin: any): any; } -declare module 'es6-promisify' { - function promisify(original: any, settings?: any): ((...arg: any[]) => Promise); - export = promisify; -} - declare module 'web3-eth-abi' { export function encodeParameters(typesArray: string[], parameters: any[]): string; } @@ -39,4 +34,3 @@ declare module 'web3-eth-abi' { // Truffle injects the following into the global scope declare var artifacts: any; declare var contract: any; - diff --git a/packages/contracts/package.json b/packages/contracts/package.json index efa2d94c6..92a9da53e 100644 --- a/packages/contracts/package.json +++ b/packages/contracts/package.json @@ -13,7 +13,7 @@ "clean": "rm -rf ./lib", "migrate:truffle": "npm run build; truffle migrate", "migrate": "npm run build; node lib/deploy/cli.js migrate", - "lint": "tslint --project . 'migrations/*.ts' 'test/**/*.ts' 'util/*.ts' 'deploy/**/*.ts'", + "lint": "tslint --project . 'migrations/**/*.ts' 'test/**/*.ts' 'util/**/*.ts' 'deploy/**/*.ts'", "test:deployer": "npm run build; mocha lib/deploy/test/*_test.js" }, "repository": { @@ -28,6 +28,7 @@ "homepage": "https://github.com/0xProject/0x.js/packages/contracts/README.md", "devDependencies": { "@0xproject/tslint-config": "^0.2.0", + "@0xproject/types": "^0.0.1", "@types/bluebird": "^3.5.3", "@types/isomorphic-fetch": "^0.0.34", "@types/lodash": "^4.14.86", @@ -53,11 +54,12 @@ }, "dependencies": { "0x.js": "^0.22.6", + "@0xproject/web3-wrapper": "^0.0.1", "@0xproject/json-schemas": "^0.6.9", + "@0xproject/utils": "^0.0.1", "bignumber.js": "~4.1.0", "bluebird": "^3.5.0", "bn.js": "^4.11.8", - "es6-promisify": "^5.0.0", "ethereumjs-abi": "^0.6.4", "ethereumjs-util": "^5.1.1", "isomorphic-fetch": "^2.2.1", diff --git a/packages/contracts/test/ts/ether_token.ts b/packages/contracts/test/ts/ether_token.ts index 857371578..dbb4d2ee6 100644 --- a/packages/contracts/test/ts/ether_token.ts +++ b/packages/contracts/test/ts/ether_token.ts @@ -1,7 +1,7 @@ import {ZeroEx, ZeroExError} from '0x.js'; +import {promisify} from '@0xproject/utils'; import {BigNumber} from 'bignumber.js'; import * as chai from 'chai'; -import promisify = require('es6-promisify'); import Web3 = require('web3'); import {Artifacts} from '../../util/artifacts'; @@ -30,9 +30,9 @@ contract('EtherToken', (accounts: string[]) => { }); }); - const sendTransactionAsync = promisify(web3.eth.sendTransaction); + const sendTransactionAsync = promisify(web3.eth.sendTransaction); const getEthBalanceAsync = async (owner: string) => { - const balanceStr = await promisify(web3.eth.getBalance)(owner); + const balanceStr = await promisify(web3.eth.getBalance)(owner); const balance = new BigNumber(balanceStr); return balance; }; diff --git a/packages/contracts/test/ts/multi_sig_with_time_lock.ts b/packages/contracts/test/ts/multi_sig_with_time_lock.ts index 6ab3014ab..6dd4dc3b2 100644 --- a/packages/contracts/test/ts/multi_sig_with_time_lock.ts +++ b/packages/contracts/test/ts/multi_sig_with_time_lock.ts @@ -1,6 +1,6 @@ +import {promisify} from '@0xproject/utils'; import {BigNumber} from 'bignumber.js'; import * as chai from 'chai'; -import promisify = require('es6-promisify'); import Web3 = require('web3'); import * as multiSigWalletJSON from '../../build/contracts/MultiSigWalletWithTimeLock.json'; @@ -64,8 +64,8 @@ contract('MultiSigWalletWithTimeLock', (accounts: string[]) => { it('should set confirmation time with enough confirmations', async () => { const res = await multiSig.confirmTransaction(txId, {from: owners[1]}); expect(res.logs).to.have.length(2); - const blockNum = await promisify(web3.eth.getBlockNumber)(); - const blockInfo = await promisify(web3.eth.getBlock)(blockNum); + const blockNum = await promisify(web3.eth.getBlockNumber)(); + const blockInfo = await promisify(web3.eth.getBlock)(blockNum); const timestamp = new BigNumber(blockInfo.timestamp); const confirmationTimeBigNum = new BigNumber(await multiSig.confirmationTimes.call(txId)); diff --git a/packages/contracts/util/order.ts b/packages/contracts/util/order.ts index 8e3822188..ec5362b66 100644 --- a/packages/contracts/util/order.ts +++ b/packages/contracts/util/order.ts @@ -1,5 +1,5 @@ +import {promisify} from '@0xproject/utils'; import {BigNumber} from 'bignumber.js'; -import promisify = require('es6-promisify'); import ethUtil = require('ethereumjs-util'); import * as _ from 'lodash'; import Web3 = require('web3'); @@ -33,7 +33,7 @@ export class Order { } public async signAsync() { const orderHash = this.getOrderHash(); - const signature = await promisify(web3.eth.sign)(this.params.maker, orderHash); + const signature = await promisify(web3.eth.sign)(this.params.maker, orderHash); const {v, r, s} = ethUtil.fromRpcSig(signature); this.params = _.assign(this.params, { orderHashHex: orderHash, -- cgit v1.2.3 From 825402b0f91ce266b310aed78e4fa73ae1359d36 Mon Sep 17 00:00:00 2001 From: Leonid Logvinov Date: Thu, 7 Dec 2017 01:15:15 +0300 Subject: Address feedback --- packages/contracts/deploy/cli.ts | 1 - packages/contracts/deploy/src/utils/network.ts | 1 - 2 files changed, 2 deletions(-) (limited to 'packages/contracts') diff --git a/packages/contracts/deploy/cli.ts b/packages/contracts/deploy/cli.ts index df3ae33b4..0fdf85a9f 100644 --- a/packages/contracts/deploy/cli.ts +++ b/packages/contracts/deploy/cli.ts @@ -1,4 +1,3 @@ -import {TxData} from '@0xproject/types'; import {BigNumber} from 'bignumber.js'; import * as _ from 'lodash'; import * as path from 'path'; diff --git a/packages/contracts/deploy/src/utils/network.ts b/packages/contracts/deploy/src/utils/network.ts index fcb78287c..fc8709e0f 100644 --- a/packages/contracts/deploy/src/utils/network.ts +++ b/packages/contracts/deploy/src/utils/network.ts @@ -1,5 +1,4 @@ import {promisify} from '@0xproject/utils'; -import {Web3Wrapper} from '@0xproject/web3-wrapper'; import * as _ from 'lodash'; import * as Web3 from 'web3'; -- cgit v1.2.3 From b362e2c28e9cafa7335bced17ec61fba93b018e6 Mon Sep 17 00:00:00 2001 From: Leonid Logvinov Date: Fri, 8 Dec 2017 12:51:46 +0300 Subject: Refactor networkId out of web3Wrapper --- packages/contracts/deploy/src/deployer.ts | 2 +- packages/contracts/deploy/src/utils/network.ts | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'packages/contracts') diff --git a/packages/contracts/deploy/src/deployer.ts b/packages/contracts/deploy/src/deployer.ts index 2d4f31949..4c8018ecc 100644 --- a/packages/contracts/deploy/src/deployer.ts +++ b/packages/contracts/deploy/src/deployer.ts @@ -31,7 +31,7 @@ export class Deployer { const jsonrpcUrl = `http://localhost:${this.jsonrpcPort}`; const web3Provider = new Web3.providers.HttpProvider(jsonrpcUrl); this.defaults = opts.defaults; - this.web3Wrapper = new Web3Wrapper(web3Provider, this.networkId, this.defaults); + this.web3Wrapper = new Web3Wrapper(web3Provider, this.defaults); } /** * Loads contract artifact and deploys contract with given arguments. diff --git a/packages/contracts/deploy/src/utils/network.ts b/packages/contracts/deploy/src/utils/network.ts index fc8709e0f..f9776bb97 100644 --- a/packages/contracts/deploy/src/utils/network.ts +++ b/packages/contracts/deploy/src/utils/network.ts @@ -1,4 +1,5 @@ import {promisify} from '@0xproject/utils'; +import {Web3Wrapper} from '@0xproject/web3-wrapper'; import * as _ from 'lodash'; import * as Web3 from 'web3'; @@ -6,8 +7,8 @@ export const network = { async getNetworkIdIfExistsAsync(port: number): Promise { const url = `http://localhost:${port}`; const web3Provider = new Web3.providers.HttpProvider(url); - const web3 = new Web3(web3Provider); - const networkId = _.parseInt(await promisify(web3.version.getNetwork)()); + const web3Wrapper = new Web3Wrapper(web3Provider); + const networkId = web3Wrapper.getNetworkIdAsync(); return networkId; }, }; -- cgit v1.2.3 From e0d79bd332a3f8a9cad5147f33b2bfaf49e6a5c7 Mon Sep 17 00:00:00 2001 From: Leonid Logvinov Date: Fri, 8 Dec 2017 18:47:50 +0300 Subject: Inline network module --- packages/contracts/deploy/cli.ts | 21 ++++++++++++++------- packages/contracts/deploy/src/utils/network.ts | 14 -------------- 2 files changed, 14 insertions(+), 21 deletions(-) delete mode 100644 packages/contracts/deploy/src/utils/network.ts (limited to 'packages/contracts') diff --git a/packages/contracts/deploy/cli.ts b/packages/contracts/deploy/cli.ts index 0fdf85a9f..423523e21 100644 --- a/packages/contracts/deploy/cli.ts +++ b/packages/contracts/deploy/cli.ts @@ -1,10 +1,11 @@ +import {Web3Wrapper} from '@0xproject/web3-wrapper'; import {BigNumber} from 'bignumber.js'; import * as _ from 'lodash'; import * as path from 'path'; +import * as Web3 from 'web3'; import * as yargs from 'yargs'; import {commands} from './src/commands'; -import {network} from './src/utils/network'; import { CliOptions, CompilerOptions, @@ -37,10 +38,13 @@ async function onCompileCommand(args: CliOptions): Promise { * @param argv Instance of process.argv provided by yargs. */ async function onMigrateCommand(argv: CliOptions): Promise { - const networkIdIfExists = await network.getNetworkIdIfExistsAsync(argv.jsonrpcPort); + const url = `http://localhost:${argv.jsonrpcPort}`; + const web3Provider = new Web3.providers.HttpProvider(url); + const web3Wrapper = new Web3Wrapper(web3Provider); + const networkId = await web3Wrapper.getNetworkIdAsync(); const compilerOpts: CompilerOptions = { contractsDir: argv.contractsDir, - networkId: networkIdIfExists, + networkId, optimizerEnabled: argv.shouldOptimize ? 1 : 0, artifactsDir: argv.artifactsDir, }; @@ -53,7 +57,7 @@ async function onMigrateCommand(argv: CliOptions): Promise { const deployerOpts = { artifactsDir: argv.artifactsDir, jsonrpcPort: argv.jsonrpcPort, - networkId: networkIdIfExists, + networkId, defaults, }; await commands.migrateAsync(deployerOpts); @@ -63,10 +67,13 @@ async function onMigrateCommand(argv: CliOptions): Promise { * @param argv Instance of process.argv provided by yargs. */ async function onDeployCommand(argv: CliOptions): Promise { - const networkIdIfExists = await network.getNetworkIdIfExistsAsync(argv.jsonrpcPort); + const url = `http://localhost:${argv.jsonrpcPort}`; + const web3Provider = new Web3.providers.HttpProvider(url); + const web3Wrapper = new Web3Wrapper(web3Provider); + const networkId = await web3Wrapper.getNetworkIdAsync(); const compilerOpts: CompilerOptions = { contractsDir: argv.contractsDir, - networkId: networkIdIfExists, + networkId, optimizerEnabled: argv.shouldOptimize ? 1 : 0, artifactsDir: argv.artifactsDir, }; @@ -79,7 +86,7 @@ async function onDeployCommand(argv: CliOptions): Promise { const deployerOpts: DeployerOptions = { artifactsDir: argv.artifactsDir, jsonrpcPort: argv.jsonrpcPort, - networkId: networkIdIfExists, + networkId, defaults, }; const deployerArgsString = argv.args; diff --git a/packages/contracts/deploy/src/utils/network.ts b/packages/contracts/deploy/src/utils/network.ts deleted file mode 100644 index f9776bb97..000000000 --- a/packages/contracts/deploy/src/utils/network.ts +++ /dev/null @@ -1,14 +0,0 @@ -import {promisify} from '@0xproject/utils'; -import {Web3Wrapper} from '@0xproject/web3-wrapper'; -import * as _ from 'lodash'; -import * as Web3 from 'web3'; - -export const network = { - async getNetworkIdIfExistsAsync(port: number): Promise { - const url = `http://localhost:${port}`; - const web3Provider = new Web3.providers.HttpProvider(url); - const web3Wrapper = new Web3Wrapper(web3Provider); - const networkId = web3Wrapper.getNetworkIdAsync(); - return networkId; - }, -}; -- cgit v1.2.3