diff options
Diffstat (limited to 'packages/contracts')
-rw-r--r-- | packages/contracts/README.md | 18 | ||||
-rw-r--r-- | packages/contracts/package.json | 15 | ||||
-rw-r--r-- | packages/contracts/src/utils/chai_setup.ts | 2 | ||||
-rw-r--r-- | packages/contracts/src/utils/crypto.ts | 2 | ||||
-rw-r--r-- | packages/contracts/src/utils/multi_sig_wrapper.ts | 4 | ||||
-rw-r--r-- | packages/contracts/src/utils/token_registry_wrapper.ts | 8 |
6 files changed, 19 insertions, 30 deletions
diff --git a/packages/contracts/README.md b/packages/contracts/README.md index 16e253549..23551b69d 100644 --- a/packages/contracts/README.md +++ b/packages/contracts/README.md @@ -34,28 +34,16 @@ yarn install ### Build -If this is your **first** time building this package, you must first build **all** packages within the monorepo. This is because packages that depend on other packages located inside this monorepo are symlinked when run from **within** the monorepo. This allows you to make changes across multiple packages without first publishing dependent packages to NPM. To build all packages, run the following from the monorepo root directory: +To build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory: ```bash -yarn lerna:rebuild +PKG=contracts yarn build ``` Or continuously rebuild on change: ```bash -yarn dev -``` - -You can also build this specific package by running the following from within its directory: - -```bash -yarn build -``` - -or continuously rebuild on change: - -```bash -yarn build:watch +PKG=contracts yarn watch ``` ### Clean diff --git a/packages/contracts/package.json b/packages/contracts/package.json index 11db3880a..b10ed3c44 100644 --- a/packages/contracts/package.json +++ b/packages/contracts/package.json @@ -2,25 +2,25 @@ "private": true, "name": "contracts", "version": "2.1.28", + "engines": { + "node" : ">=6.12" + }, "description": "Smart contract components of 0x protocol", "main": "index.js", "directories": { "test": "test" }, "scripts": { - "build:watch": "tsc -w", + "watch": "tsc -w", "prebuild": "run-s clean copy_artifacts generate_contract_wrappers", "copy_artifacts": "copyfiles -u 4 '../migrations/artifacts/2.0.0/**/*' ./lib/src/artifacts;", "build": "tsc", "test": "run-s build run_mocha", "test:coverage": "SOLIDITY_COVERAGE=true run-s build run_mocha coverage:report:text coverage:report:lcov", "run_mocha": "mocha 'lib/test/**/*.js' --timeout 100000 --bail --exit", - "compile:comment": - "Yarn workspaces do not link binaries correctly so we need to reference them directly https://github.com/yarnpkg/yarn/issues/3846", - "compile": "node ../sol-compiler/lib/src/cli.js", - "clean": "shx rm -rf lib ./contract_wrappers/generated", - "generate_contract_wrappers": - "node ../abi-gen/lib/index.js --abis ${npm_package_config_abis} --template ../contract_templates/contract.handlebars --partials '../contract_templates/partials/**/*.handlebars' --output ./src/contract_wrappers/generated --backend ethers && prettier --write './src/contract_wrappers/generated/**.ts'", + "compile": "sol-compiler", + "clean": "shx rm -rf lib src/contract_wrappers/generated", + "generate_contract_wrappers": "abi-gen --abis ${npm_package_config_abis} --template ../contract_templates/contract.handlebars --partials '../contract_templates/partials/**/*.handlebars' --output src/contract_wrappers/generated --backend ethers && prettier --write 'src/contract_wrappers/generated/**.ts'", "lint": "tslint --project .", "coverage:report:text": "istanbul report text", "coverage:report:html": "istanbul report html && open coverage/index.html", @@ -42,6 +42,7 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/contracts/README.md", "devDependencies": { + "@0xproject/abi-gen": "^0.2.13", "@0xproject/dev-utils": "^0.4.1", "@0xproject/tslint-config": "^0.4.17", "@types/lodash": "4.14.104", diff --git a/packages/contracts/src/utils/chai_setup.ts b/packages/contracts/src/utils/chai_setup.ts index 078edd309..1a8733093 100644 --- a/packages/contracts/src/utils/chai_setup.ts +++ b/packages/contracts/src/utils/chai_setup.ts @@ -4,7 +4,7 @@ import ChaiBigNumber = require('chai-bignumber'); import * as dirtyChai from 'dirty-chai'; export const chaiSetup = { - configure() { + configure(): void { chai.config.includeStack = true; chai.use(ChaiBigNumber()); chai.use(dirtyChai); diff --git a/packages/contracts/src/utils/crypto.ts b/packages/contracts/src/utils/crypto.ts index 222cb7cca..80c5f30a5 100644 --- a/packages/contracts/src/utils/crypto.ts +++ b/packages/contracts/src/utils/crypto.ts @@ -18,7 +18,7 @@ export const crypto = { solSHA256(args: any[]): Buffer { return crypto._solHash(args, ABI.soliditySHA256); }, - _solHash(args: any[], hashFunction: (types: string[], values: any[]) => Buffer) { + _solHash(args: any[], hashFunction: (types: string[], values: any[]) => Buffer): Buffer { const argTypes: string[] = []; _.each(args, (arg, i) => { const isNumber = _.isFinite(arg); diff --git a/packages/contracts/src/utils/multi_sig_wrapper.ts b/packages/contracts/src/utils/multi_sig_wrapper.ts index 84fed7944..41a1dd8d9 100644 --- a/packages/contracts/src/utils/multi_sig_wrapper.ts +++ b/packages/contracts/src/utils/multi_sig_wrapper.ts @@ -11,7 +11,7 @@ import { TransactionDataParams } from './types'; export class MultiSigWrapper { private _multiSig: MultiSigWalletContract; - public static encodeFnArgs(name: string, abi: AbiDefinition[], args: any[]) { + public static encodeFnArgs(name: string, abi: AbiDefinition[], args: any[]): string { const abiEntity = _.find(abi, { name }) as MethodAbi; if (_.isUndefined(abiEntity)) { throw new Error(`Did not find abi entry for name: ${name}`); @@ -33,7 +33,7 @@ export class MultiSigWrapper { from: string, dataParams: TransactionDataParams, value: BigNumber = new BigNumber(0), - ) { + ): Promise<string> { const { name, abi, args = [] } = dataParams; const encoded = MultiSigWrapper.encodeFnArgs(name, abi, args); return this._multiSig.submitTransaction.sendTransactionAsync(destination, value, encoded, { diff --git a/packages/contracts/src/utils/token_registry_wrapper.ts b/packages/contracts/src/utils/token_registry_wrapper.ts index 91bd5503d..86daeca62 100644 --- a/packages/contracts/src/utils/token_registry_wrapper.ts +++ b/packages/contracts/src/utils/token_registry_wrapper.ts @@ -9,7 +9,7 @@ export class TokenRegWrapper { constructor(tokenRegContract: TokenRegistryContract) { this._tokenReg = tokenRegContract; } - public async addTokenAsync(token: Token, from: string) { + public async addTokenAsync(token: Token, from: string): Promise<string> { const tx = this._tokenReg.addToken.sendTransactionAsync( token.address as string, token.name, @@ -21,7 +21,7 @@ export class TokenRegWrapper { ); return tx; } - public async getTokenMetaDataAsync(tokenAddress: string) { + public async getTokenMetaDataAsync(tokenAddress: string): Promise<Token> { const data = await this._tokenReg.getTokenMetaData.callAsync(tokenAddress); const token: Token = { address: data[0], @@ -33,7 +33,7 @@ export class TokenRegWrapper { }; return token; } - public async getTokenByNameAsync(tokenName: string) { + public async getTokenByNameAsync(tokenName: string): Promise<Token> { const data = await this._tokenReg.getTokenByName.callAsync(tokenName); const token: Token = { address: data[0], @@ -45,7 +45,7 @@ export class TokenRegWrapper { }; return token; } - public async getTokenBySymbolAsync(tokenSymbol: string) { + public async getTokenBySymbolAsync(tokenSymbol: string): Promise<Token> { const data = await this._tokenReg.getTokenBySymbol.callAsync(tokenSymbol); const token: Token = { address: data[0], |