aboutsummaryrefslogtreecommitdiffstats
path: root/packages
diff options
context:
space:
mode:
Diffstat (limited to 'packages')
-rw-r--r--packages/0x.js/package.json2
-rw-r--r--packages/abi-gen-wrappers/package.json2
-rw-r--r--packages/abi-gen/package.json10
-rw-r--r--packages/assert/package.json2
-rw-r--r--packages/asset-buyer/package.json4
-rw-r--r--packages/base-contract/package.json2
-rw-r--r--packages/connect/package.json6
-rw-r--r--packages/contract-addresses/package.json2
-rw-r--r--packages/contract-wrappers/package.json6
-rw-r--r--packages/dev-tools-pages/package.json2
-rw-r--r--packages/dev-utils/package.json2
-rw-r--r--packages/fill-scenarios/package.json2
-rw-r--r--packages/instant/package.json14
-rw-r--r--packages/metacoin/package.json4
-rw-r--r--packages/migrations/package.json4
-rw-r--r--packages/monorepo-scripts/package.json6
-rw-r--r--packages/monorepo-scripts/src/deps_versions.ts95
-rw-r--r--packages/order-utils/package.json2
-rw-r--r--packages/order-watcher/package.json2
-rw-r--r--packages/pipeline/package.json8
-rw-r--r--packages/react-docs/package.json6
-rw-r--r--packages/react-shared/package.json12
-rw-r--r--packages/sol-compiler/package.json4
-rw-r--r--packages/sol-coverage/package.json2
-rw-r--r--packages/sol-doc/package.json8
-rw-r--r--packages/sol-profiler/package.json2
-rw-r--r--packages/sol-resolver/package.json2
-rw-r--r--packages/sol-trace/package.json2
-rw-r--r--packages/sol-tracing-utils/package.json5
-rw-r--r--packages/sol-tracing-utils/src/trace_collection_subprovider.ts13
-rw-r--r--packages/sra-spec/package.json6
-rw-r--r--packages/subproviders/package.json2
-rw-r--r--packages/testnet-faucets/package.json4
-rw-r--r--packages/tslint-config/package.json2
-rw-r--r--packages/utils/CHANGELOG.json9
-rw-r--r--packages/utils/package.json6
-rw-r--r--packages/utils/src/abi_encoder/evm_data_types/bool.ts3
-rw-r--r--packages/utils/test/abi_encoder/evm_data_types_test.ts18
-rw-r--r--packages/web3-wrapper/package.json2
-rw-r--r--packages/website/package.json2
40 files changed, 187 insertions, 100 deletions
diff --git a/packages/0x.js/package.json b/packages/0x.js/package.json
index 64054d288..d37988e26 100644
--- a/packages/0x.js/package.json
+++ b/packages/0x.js/package.json
@@ -85,7 +85,7 @@
"@types/web3-provider-engine": "^14.0.0",
"ethereum-types": "^1.1.6",
"ethers": "~4.0.4",
- "lodash": "^4.17.5",
+ "lodash": "^4.17.11",
"web3-provider-engine": "14.0.6"
},
"publishConfig": {
diff --git a/packages/abi-gen-wrappers/package.json b/packages/abi-gen-wrappers/package.json
index 842ac024a..d30bc291d 100644
--- a/packages/abi-gen-wrappers/package.json
+++ b/packages/abi-gen-wrappers/package.json
@@ -38,7 +38,7 @@
"@0x/web3-wrapper": "^3.2.4",
"ethereum-types": "^1.1.6",
"ethers": "~4.0.4",
- "lodash": "^4.17.5",
+ "lodash": "^4.17.11",
"shx": "^0.2.2"
},
"dependencies": {
diff --git a/packages/abi-gen/package.json b/packages/abi-gen/package.json
index 7f968893c..229b16906 100644
--- a/packages/abi-gen/package.json
+++ b/packages/abi-gen/package.json
@@ -37,7 +37,7 @@
"ethereum-types": "^1.1.6",
"glob": "^7.1.2",
"handlebars": "^4.0.11",
- "lodash": "^4.17.5",
+ "lodash": "^4.17.11",
"mkdirp": "^0.5.1",
"sleep": "^5.1.1",
"tmp": "^0.0.33",
@@ -48,15 +48,15 @@
"@0x/tslint-config": "^2.0.2",
"@types/glob": "5.0.35",
"@types/handlebars": "^4.0.36",
- "@types/mkdirp": "^0.5.1",
+ "@types/mkdirp": "^0.5.2",
"@types/node": "*",
"@types/sleep": "^0.0.7",
"@types/tmp": "^0.0.33",
- "@types/yargs": "^10.0.0",
- "chai": "^4.1.2",
+ "@types/yargs": "^11.0.0",
+ "chai": "^4.0.1",
"dirty-chai": "^2.0.1",
"make-promises-safe": "^1.1.0",
- "mocha": "^5.2.0",
+ "mocha": "^4.1.0",
"npm-run-all": "^4.1.2",
"shx": "^0.2.2",
"tslint": "5.11.0",
diff --git a/packages/assert/package.json b/packages/assert/package.json
index 38481d6f0..aed39d736 100644
--- a/packages/assert/package.json
+++ b/packages/assert/package.json
@@ -47,7 +47,7 @@
"@0x/json-schemas": "^2.1.7",
"@0x/typescript-typings": "^3.0.8",
"@0x/utils": "^3.0.1",
- "lodash": "^4.17.5",
+ "lodash": "^4.17.11",
"valid-url": "^1.0.9"
},
"publishConfig": {
diff --git a/packages/asset-buyer/package.json b/packages/asset-buyer/package.json
index 0f79ac06a..05d28e3ee 100644
--- a/packages/asset-buyer/package.json
+++ b/packages/asset-buyer/package.json
@@ -47,11 +47,11 @@
"@0x/utils": "^3.0.1",
"@0x/web3-wrapper": "^3.2.4",
"ethereum-types": "^1.1.6",
- "lodash": "^4.17.5"
+ "lodash": "^4.17.11"
},
"devDependencies": {
"@0x/tslint-config": "^2.0.2",
- "@types/lodash": "^4.14.116",
+ "@types/lodash": "4.14.104",
"@types/mocha": "^2.2.42",
"@types/node": "*",
"chai": "^4.0.1",
diff --git a/packages/base-contract/package.json b/packages/base-contract/package.json
index db09b16a1..28c7aa2f4 100644
--- a/packages/base-contract/package.json
+++ b/packages/base-contract/package.json
@@ -45,7 +45,7 @@
"@0x/web3-wrapper": "^3.2.4",
"ethereum-types": "^1.1.6",
"ethers": "~4.0.4",
- "lodash": "^4.17.5"
+ "lodash": "^4.17.11"
},
"publishConfig": {
"access": "public"
diff --git a/packages/connect/package.json b/packages/connect/package.json
index 15a4c12f1..4f00b2249 100644
--- a/packages/connect/package.json
+++ b/packages/connect/package.json
@@ -50,8 +50,8 @@
"@0x/types": "^1.5.2",
"@0x/typescript-typings": "^3.0.8",
"@0x/utils": "^3.0.1",
- "lodash": "^4.17.5",
- "query-string": "^5.0.1",
+ "lodash": "^4.17.11",
+ "query-string": "^6.0.0",
"sinon": "^4.0.0",
"uuid": "^3.3.2",
"websocket": "^1.0.25"
@@ -61,7 +61,7 @@
"@types/fetch-mock": "^6.0.3",
"@types/lodash": "4.14.104",
"@types/mocha": "^2.2.42",
- "@types/query-string": "^5.0.1",
+ "@types/query-string": "^5.1.0",
"@types/sinon": "^2.2.2",
"@types/uuid": "^3.4.3",
"@types/websocket": "^0.0.39",
diff --git a/packages/contract-addresses/package.json b/packages/contract-addresses/package.json
index 260322081..77a1ffc56 100644
--- a/packages/contract-addresses/package.json
+++ b/packages/contract-addresses/package.json
@@ -29,7 +29,7 @@
"typescript": "3.0.1"
},
"dependencies": {
- "lodash": "^4.17.5"
+ "lodash": "^4.17.11"
},
"publishConfig": {
"access": "public"
diff --git a/packages/contract-wrappers/package.json b/packages/contract-wrappers/package.json
index cc7dc1a3e..9394c3c0e 100644
--- a/packages/contract-wrappers/package.json
+++ b/packages/contract-wrappers/package.json
@@ -45,7 +45,7 @@
"@types/mocha": "^2.2.42",
"@types/node": "*",
"@types/sinon": "^2.2.2",
- "@types/uuid": "^3.4.2",
+ "@types/uuid": "^3.4.3",
"@types/web3-provider-engine": "^14.0.0",
"chai": "^4.0.1",
"chai-as-promised": "^7.1.0",
@@ -83,8 +83,8 @@
"ethereumjs-util": "^5.1.1",
"ethers": "~4.0.4",
"js-sha3": "^0.7.0",
- "lodash": "^4.17.5",
- "uuid": "^3.1.0"
+ "lodash": "^4.17.11",
+ "uuid": "^3.3.2"
},
"publishConfig": {
"access": "public"
diff --git a/packages/dev-tools-pages/package.json b/packages/dev-tools-pages/package.json
index feab72856..b4e93d6c6 100644
--- a/packages/dev-tools-pages/package.json
+++ b/packages/dev-tools-pages/package.json
@@ -46,7 +46,7 @@
"@types/node": "*",
"@types/react": "^16.4.2",
"@types/react-dom": "^16.0.7",
- "@types/react-loadable": "^5.4.1",
+ "@types/react-loadable": "^5.4.2",
"@types/react-lottie": "^1.2.0",
"@types/react-router-dom": "^4.0.4",
"@types/react-tabs": "^2.3.0",
diff --git a/packages/dev-utils/package.json b/packages/dev-utils/package.json
index 4ab1d6439..f1f37f638 100644
--- a/packages/dev-utils/package.json
+++ b/packages/dev-utils/package.json
@@ -49,7 +49,7 @@
"@types/web3-provider-engine": "^14.0.0",
"chai": "^4.0.1",
"ethereum-types": "^1.1.6",
- "lodash": "^4.17.5"
+ "lodash": "^4.17.11"
},
"publishConfig": {
"access": "public"
diff --git a/packages/fill-scenarios/package.json b/packages/fill-scenarios/package.json
index d882aba76..d4afd2187 100644
--- a/packages/fill-scenarios/package.json
+++ b/packages/fill-scenarios/package.json
@@ -38,7 +38,7 @@
"@0x/web3-wrapper": "^3.2.4",
"ethereum-types": "^1.1.6",
"ethers": "~4.0.4",
- "lodash": "^4.17.5"
+ "lodash": "^4.17.11"
},
"publishConfig": {
"access": "public"
diff --git a/packages/instant/package.json b/packages/instant/package.json
index f7e15a3e0..147a47da8 100644
--- a/packages/instant/package.json
+++ b/packages/instant/package.json
@@ -55,15 +55,15 @@
"bowser": "^1.9.4",
"copy-to-clipboard": "^3.0.8",
"ethereum-types": "^1.1.6",
- "lodash": "^4.17.5",
- "polished": "^2.2.0",
+ "lodash": "^4.17.11",
+ "polished": "^1.9.2",
"react": "^16.5.2",
"react-dom": "^16.5.2",
"react-redux": "^5.0.7",
"redux": "^4.0.0",
"redux-devtools-extension": "^2.13.5",
"rollbar": "^2.5.0",
- "styled-components": "^4.0.2",
+ "styled-components": "^4.1.1",
"ts-optchain": "^0.1.1"
},
"devDependencies": {
@@ -72,10 +72,10 @@
"@types/enzyme": "^3.1.14",
"@types/enzyme-adapter-react-16": "^1.0.3",
"@types/jest": "^23.3.5",
- "@types/lodash": "^4.14.116",
+ "@types/lodash": "4.14.104",
"@types/node": "*",
- "@types/react": "^16.4.16",
- "@types/react-dom": "^16.0.8",
+ "@types/react": "16.4.16",
+ "@types/react-dom": "16.0.6",
"@types/react-redux": "^6.0.9",
"@types/redux": "^3.6.0",
"@types/styled-components": "4.0.1",
@@ -103,7 +103,7 @@
"typedoc": "0.13.0",
"typescript": "3.0.1",
"webpack": "^4.20.2",
- "webpack-cli": "^3.1.1",
+ "webpack-cli": "3.1.2",
"webpack-dev-server": "^3.1.9"
},
"publishConfig": {
diff --git a/packages/metacoin/package.json b/packages/metacoin/package.json
index 3b082f075..d08946fef 100644
--- a/packages/metacoin/package.json
+++ b/packages/metacoin/package.json
@@ -41,11 +41,11 @@
"@0x/typescript-typings": "^3.0.8",
"@0x/utils": "^3.0.1",
"@0x/web3-wrapper": "^3.2.4",
- "@types/mocha": "^5.2.2",
+ "@types/mocha": "^2.2.42",
"copyfiles": "^2.0.0",
"ethereum-types": "^1.1.6",
"ethers": "~4.0.4",
- "lodash": "^4.17.5",
+ "lodash": "^4.17.11",
"run-s": "^0.0.0"
},
"devDependencies": {
diff --git a/packages/migrations/package.json b/packages/migrations/package.json
index 3ca4e8d6b..4096aa913 100644
--- a/packages/migrations/package.json
+++ b/packages/migrations/package.json
@@ -38,7 +38,7 @@
"@0x/dev-utils": "^1.0.24",
"@0x/tslint-config": "^2.0.2",
"@0x/types": "^1.5.2",
- "@types/yargs": "^10.0.0",
+ "@types/yargs": "^11.0.0",
"make-promises-safe": "^1.1.0",
"npm-run-all": "^4.1.2",
"shx": "^0.2.2",
@@ -61,7 +61,7 @@
"@ledgerhq/hw-app-eth": "^4.3.0",
"ethereum-types": "^1.1.6",
"ethers": "~4.0.4",
- "lodash": "^4.17.5"
+ "lodash": "^4.17.11"
},
"optionalDependencies": {
"@ledgerhq/hw-transport-node-hid": "^4.3.0"
diff --git a/packages/monorepo-scripts/package.json b/packages/monorepo-scripts/package.json
index 187a80c93..b1e1f3ca1 100644
--- a/packages/monorepo-scripts/package.json
+++ b/packages/monorepo-scripts/package.json
@@ -32,13 +32,13 @@
},
"homepage": "https://github.com/0xProject/0x-monorepo/packages/monorepo-scripts/README.md",
"devDependencies": {
- "@types/glob": "^5.0.33",
+ "@types/glob": "5.0.35",
"@types/mkdirp": "^0.5.2",
"@types/node": "*",
"@types/opn": "^5.1.0",
"@types/rimraf": "^2.0.2",
"@types/semver": "5.5.0",
- "@types/yargs": "^10.0.0",
+ "@types/yargs": "^11.0.0",
"depcheck": "^0.6.9",
"make-promises-safe": "^1.1.0",
"npm-run-all": "^4.1.2",
@@ -55,7 +55,7 @@
"es6-promisify": "^5.0.0",
"glob": "^7.1.2",
"isomorphic-fetch": "2.2.1",
- "lodash": "^4.17.5",
+ "lodash": "^4.17.11",
"mkdirp": "^0.5.1",
"moment": "2.21.0",
"opn": "^5.3.0",
diff --git a/packages/monorepo-scripts/src/deps_versions.ts b/packages/monorepo-scripts/src/deps_versions.ts
index 1053906b7..0d01a2e3c 100644
--- a/packages/monorepo-scripts/src/deps_versions.ts
+++ b/packages/monorepo-scripts/src/deps_versions.ts
@@ -3,7 +3,7 @@
import chalk from 'chalk';
import * as fs from 'fs';
import { sync as globSync } from 'glob';
-import * as _ from 'lodash';
+import * as path from 'path';
import { utils } from './utils/utils';
@@ -17,11 +17,34 @@ interface VersionsByDependency {
[depName: string]: Versions;
}
-const PACKAGE_JSON_GLOB = '../*/package.json';
+interface ParsedDependencies {
+ ignored: VersionsByDependency;
+ included: VersionsByDependency;
+}
+
+const PACKAGE_JSON_GLOB = '../../*/package.json';
+
+const config = JSON.parse(fs.readFileSync(path.join(__dirname, '../../../package.json')).toString()).config;
+const dependenciesWithIgnoredVersions: string[] = config.ignoreDependencyVersions.split(' ');
+const packagesWithIgnoredVersions: string[] = config.ignoreDependencyVersionsForPackage.split(' ');
+
+if (require.main === module) {
+ const dependencies = parseDependencies();
+ const ignoredMultiples = getDependenciesWithMultipleVersions(dependencies.ignored);
+ const multiples = getDependenciesWithMultipleVersions(dependencies.included);
+ printVersionsByDependency(multiples);
+ utils.log(`├── ${chalk.bold('IGNORED')}`);
+ printVersionsByDependency(ignoredMultiples);
+ if (Object.keys(multiples).length !== 0) {
+ utils.log(
+ `Some dependencies have multiple versions. Please fix by trying to find compatible versions. As a last resort, you can add space-separated exceptions to root package.json config.ignoreDependencyVersions`,
+ );
+ process.exit(1);
+ }
+}
-// tslint:disable:no-unused-variable
-function getDependencies(path: string): Dependencies {
- const file = fs.readFileSync(path).toString();
+function getDependencies(_path: string): Dependencies {
+ const file = fs.readFileSync(_path).toString();
const parsed = JSON.parse(file);
const dependencies = {
...parsed.dependencies,
@@ -30,27 +53,49 @@ function getDependencies(path: string): Dependencies {
return dependencies;
}
-const files = globSync(PACKAGE_JSON_GLOB);
-const versionsByDependency: VersionsByDependency = {};
-files.map(path => {
- const [_1, packageName, _2] = path.split('/');
- const dependencies = getDependencies(path);
- _.map(dependencies, (version: string, depName: string) => {
- if (_.isUndefined(versionsByDependency[depName])) {
- versionsByDependency[depName] = {};
- }
- versionsByDependency[depName][packageName] = version;
+function parseDependencies(): ParsedDependencies {
+ const files = globSync(path.join(__dirname, PACKAGE_JSON_GLOB));
+ const parsedDependencies: ParsedDependencies = {
+ ignored: {},
+ included: {},
+ };
+ files.map(_path => {
+ const pathParts = _path.split('/');
+ const packageName = pathParts[pathParts.length - 2];
+ const packageCategory = packagesWithIgnoredVersions.includes(packageName) ? 'ignored' : 'included';
+ const dependencies = getDependencies(_path);
+ Object.keys(dependencies).forEach((depName: string) => {
+ const category = dependenciesWithIgnoredVersions.includes(depName) ? 'ignored' : packageCategory;
+ if (parsedDependencies[category][depName] === undefined) {
+ parsedDependencies[category][depName] = {};
+ }
+ const version = dependencies[depName];
+ parsedDependencies[category][depName][packageName] = version;
+ });
});
-});
+ return parsedDependencies;
+}
+
+function getDependenciesWithMultipleVersions(versionsByDependency: VersionsByDependency): VersionsByDependency {
+ return Object.keys(versionsByDependency)
+ .filter((depName: string) => hasMultipleVersions(versionsByDependency[depName]))
+ .reduce<VersionsByDependency>((obj, depName: string) => {
+ obj[depName] = versionsByDependency[depName];
+ return obj;
+ }, {});
+}
-_.map(versionsByDependency, (versions: Versions, depName: string) => {
- if (_.uniq(_.values(versions)).length === 1) {
- delete versionsByDependency[depName];
- } else {
+function printVersionsByDependency(versionsByDependency: VersionsByDependency): void {
+ Object.keys(versionsByDependency).forEach((depName: string) => {
+ const versions: Versions = versionsByDependency[depName];
utils.log(chalk.bold(depName));
- _.map(versions, (version: string, packageName: string) => {
- utils.log(`├── ${packageName} -> ${version}`);
+ Object.keys(versions).forEach((packageName: string) => {
+ utils.log(`├── ${packageName} -> ${versions[packageName]}`);
});
- }
-});
-// tslint:disable:no-unused-variable
+ });
+}
+
+function hasMultipleVersions(versions: Versions): boolean {
+ const uniques = new Set(Object.values(versions));
+ return uniques.size > 1;
+}
diff --git a/packages/order-utils/package.json b/packages/order-utils/package.json
index 7a4d4aa84..4fa49a58f 100644
--- a/packages/order-utils/package.json
+++ b/packages/order-utils/package.json
@@ -68,7 +68,7 @@
"ethereumjs-abi": "0.6.5",
"ethereumjs-util": "^5.1.1",
"ethers": "~4.0.4",
- "lodash": "^4.17.5"
+ "lodash": "^4.17.11"
},
"publishConfig": {
"access": "public"
diff --git a/packages/order-watcher/package.json b/packages/order-watcher/package.json
index 895c64813..dad36b04f 100644
--- a/packages/order-watcher/package.json
+++ b/packages/order-watcher/package.json
@@ -80,7 +80,7 @@
"ethereum-types": "^1.1.6",
"ethereumjs-blockstream": "6.0.0",
"ethers": "~4.0.4",
- "lodash": "^4.17.5",
+ "lodash": "^4.17.11",
"websocket": "^1.0.25"
},
"publishConfig": {
diff --git a/packages/pipeline/package.json b/packages/pipeline/package.json
index 908734687..a8b89c7b5 100644
--- a/packages/pipeline/package.json
+++ b/packages/pipeline/package.json
@@ -30,11 +30,11 @@
"@0x/tslint-config": "^2.0.2",
"@types/axios": "^0.14.0",
"@types/ramda": "^0.25.38",
- "chai": "^4.1.2",
- "chai-as-promised": "^7.1.1",
+ "chai": "^4.0.1",
+ "chai-as-promised": "^7.1.0",
"chai-bignumber": "^3.0.0",
"dirty-chai": "^2.0.1",
- "mocha": "^5.2.0",
+ "mocha": "^4.1.0",
"tslint": "5.11.0",
"typescript": "3.0.1"
},
@@ -42,7 +42,7 @@
"@0x/connect": "^3.0.13",
"@0x/contract-addresses": "^2.2.0",
"@0x/contract-artifacts": "^1.3.0",
- "@0x/contract-wrappers": "^3.0.0",
+ "@0x/contract-wrappers": "^5.0.1",
"@0x/dev-utils": "^1.0.24",
"@0x/order-utils": "^3.1.2",
"@0x/subproviders": "^2.1.11",
diff --git a/packages/react-docs/package.json b/packages/react-docs/package.json
index f8f2b6276..dc592f2a0 100644
--- a/packages/react-docs/package.json
+++ b/packages/react-docs/package.json
@@ -30,7 +30,7 @@
"@types/styled-components": "4.0.0",
"make-promises-safe": "^1.1.0",
"shx": "^0.2.2",
- "tslint": "^5.9.1",
+ "tslint": "5.11.0",
"typescript": "3.0.1"
},
"dependencies": {
@@ -45,7 +45,7 @@
"@types/react-scroll": "1.5.3",
"basscss": "^8.0.3",
"compare-versions": "^3.0.1",
- "lodash": "^4.17.5",
+ "lodash": "^4.17.11",
"material-ui": "^0.20.0",
"react": "^16.5.2",
"react-dom": "^16.5.2",
@@ -53,7 +53,7 @@
"react-scroll": "0xproject/react-scroll#pr-330-and-replace-state",
"react-tooltip": "^3.2.7",
"semver": "5.5.0",
- "styled-components": "^4.0.1"
+ "styled-components": "^4.1.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/react-shared/package.json b/packages/react-shared/package.json
index 4be4742b0..b527e51a3 100644
--- a/packages/react-shared/package.json
+++ b/packages/react-shared/package.json
@@ -29,7 +29,7 @@
"@0x/tslint-config": "^2.0.2",
"make-promises-safe": "^1.1.0",
"shx": "^0.2.2",
- "tslint": "^5.9.1",
+ "tslint": "5.11.0",
"typescript": "3.0.1"
},
"dependencies": {
@@ -37,7 +37,7 @@
"@material-ui/core": "^3.0.1",
"@types/is-mobile": "0.3.0",
"@types/lodash": "4.14.104",
- "@types/material-ui": "0.18.0",
+ "@types/material-ui": "^0.20.0",
"@types/node": "*",
"@types/react": "*",
"@types/react-dom": "*",
@@ -48,15 +48,15 @@
"basscss": "^8.0.3",
"change-case": "^3.0.2",
"is-mobile": "^0.2.2",
- "lodash": "^4.17.5",
+ "lodash": "^4.17.11",
"material-ui": "^0.20.0",
"react": "^16.5.2",
"react-dom": "^16.5.2",
- "react-highlight": "0xproject/react-highlight#fix/react-version",
+ "react-highlight": "0xproject/react-highlight",
"react-markdown": "^3.2.2",
- "react-router-dom": "^4.1.1",
+ "react-router-dom": "^4.3.1",
"react-scroll": "0xproject/react-scroll#pr-330-and-replace-state",
- "styled-components": "^4.0.1",
+ "styled-components": "^4.1.1",
"valid-url": "^1.0.9"
},
"publishConfig": {
diff --git a/packages/sol-compiler/package.json b/packages/sol-compiler/package.json
index 0b53cffd5..eab0e5a2b 100644
--- a/packages/sol-compiler/package.json
+++ b/packages/sol-compiler/package.json
@@ -48,7 +48,7 @@
"@types/mkdirp": "^0.5.2",
"@types/pluralize": "^0.0.29",
"@types/require-from-string": "^1.2.0",
- "@types/semver": "^5.5.0",
+ "@types/semver": "5.5.0",
"chai": "^4.0.1",
"chai-as-promised": "^7.1.0",
"chai-bignumber": "^3.0.0",
@@ -79,7 +79,7 @@
"chokidar": "^2.0.4",
"ethereum-types": "^1.1.6",
"ethereumjs-util": "^5.1.1",
- "lodash": "^4.17.5",
+ "lodash": "^4.17.11",
"mkdirp": "^0.5.1",
"pluralize": "^7.0.0",
"require-from-string": "^2.0.1",
diff --git a/packages/sol-coverage/package.json b/packages/sol-coverage/package.json
index 805e2e670..259c20256 100644
--- a/packages/sol-coverage/package.json
+++ b/packages/sol-coverage/package.json
@@ -33,7 +33,7 @@
"@0x/subproviders": "^2.1.11",
"@0x/typescript-typings": "^3.0.8",
"ethereum-types": "^1.1.6",
- "lodash": "^4.17.5"
+ "lodash": "^4.17.11"
},
"devDependencies": {
"@0x/tslint-config": "^2.0.2",
diff --git a/packages/sol-doc/package.json b/packages/sol-doc/package.json
index 179f45e81..8dfe236e0 100644
--- a/packages/sol-doc/package.json
+++ b/packages/sol-doc/package.json
@@ -30,17 +30,17 @@
"@0x/utils": "^3.0.1",
"ethereum-types": "^1.1.6",
"ethereumjs-util": "^5.1.1",
- "lodash": "^4.17.10",
- "yargs": "^12.0.2"
+ "lodash": "^4.17.11",
+ "yargs": "^10.0.3"
},
"devDependencies": {
"@0x/tslint-config": "^2.0.2",
- "chai": "^4.1.2",
+ "chai": "^4.0.1",
"chai-as-promised": "^7.1.0",
"chai-bignumber": "^3.0.0",
"dirty-chai": "^2.0.1",
"make-promises-safe": "^1.1.0",
- "mocha": "^5.2.0",
+ "mocha": "^4.1.0",
"shx": "^0.2.2",
"source-map-support": "^0.5.0",
"tslint": "5.11.0"
diff --git a/packages/sol-profiler/package.json b/packages/sol-profiler/package.json
index 4fe2928c7..57821795d 100644
--- a/packages/sol-profiler/package.json
+++ b/packages/sol-profiler/package.json
@@ -33,7 +33,7 @@
"@0x/subproviders": "^2.1.11",
"@0x/typescript-typings": "^3.0.8",
"ethereum-types": "^1.1.6",
- "lodash": "^4.17.5"
+ "lodash": "^4.17.11"
},
"devDependencies": {
"@0x/tslint-config": "^2.0.2",
diff --git a/packages/sol-resolver/package.json b/packages/sol-resolver/package.json
index 0518cde95..a59ef9dca 100644
--- a/packages/sol-resolver/package.json
+++ b/packages/sol-resolver/package.json
@@ -32,7 +32,7 @@
"dependencies": {
"@0x/types": "^1.5.2",
"@0x/typescript-typings": "^3.0.8",
- "lodash": "^4.17.5"
+ "lodash": "^4.17.11"
},
"publishConfig": {
"access": "public"
diff --git a/packages/sol-trace/package.json b/packages/sol-trace/package.json
index 25e81a82a..ba302daf7 100644
--- a/packages/sol-trace/package.json
+++ b/packages/sol-trace/package.json
@@ -35,7 +35,7 @@
"chalk": "^2.3.0",
"ethereum-types": "^1.1.6",
"ethereumjs-util": "^5.1.1",
- "lodash": "^4.17.5",
+ "lodash": "^4.17.11",
"loglevel": "^1.6.1"
},
"devDependencies": {
diff --git a/packages/sol-tracing-utils/package.json b/packages/sol-tracing-utils/package.json
index 929c73b84..0cd0858d4 100644
--- a/packages/sol-tracing-utils/package.json
+++ b/packages/sol-tracing-utils/package.json
@@ -52,10 +52,11 @@
"@types/solidity-parser-antlr": "^0.2.0",
"ethereum-types": "^1.1.6",
"ethereumjs-util": "^5.1.1",
+ "ethers": "~4.0.4",
"glob": "^7.1.2",
"chalk": "^2.3.0",
"istanbul": "^0.4.5",
- "lodash": "^4.17.5",
+ "lodash": "^4.17.11",
"loglevel": "^1.6.1",
"mkdirp": "^0.5.1",
"rimraf": "^2.6.2",
@@ -66,7 +67,7 @@
"@0x/tslint-config": "^2.0.2",
"@types/istanbul": "^0.4.30",
"@types/loglevel": "^1.5.3",
- "@types/mkdirp": "^0.5.1",
+ "@types/mkdirp": "^0.5.2",
"@types/mocha": "^2.2.42",
"@types/node": "*",
"@types/rimraf": "^2.0.2",
diff --git a/packages/sol-tracing-utils/src/trace_collection_subprovider.ts b/packages/sol-tracing-utils/src/trace_collection_subprovider.ts
index 6f833b0fc..7fde1f9b8 100644
--- a/packages/sol-tracing-utils/src/trace_collection_subprovider.ts
+++ b/packages/sol-tracing-utils/src/trace_collection_subprovider.ts
@@ -3,6 +3,7 @@ import { Callback, ErrorCallback, NextCallback, Subprovider } from '@0x/subprovi
import { logUtils } from '@0x/utils';
import { CallDataRPC, marshaller, Web3Wrapper } from '@0x/web3-wrapper';
import { JSONRPCRequestPayload, Provider, TxData } from 'ethereum-types';
+import { utils } from 'ethers';
import * as _ from 'lodash';
import { Lock } from 'semaphore-async-await';
@@ -96,6 +97,18 @@ export abstract class TraceCollectionSubprovider extends Subprovider {
}
return;
+ case 'eth_sendRawTransaction':
+ if (!this._config.shouldCollectTransactionTraces) {
+ next();
+ } else {
+ const txData = utils.parseTransaction(payload.params[0]);
+ if (txData.to === null) {
+ txData.to = constants.NEW_CONTRACT;
+ }
+ next(logAsyncErrors(this._onTransactionSentAsync.bind(this, txData)));
+ }
+ return;
+
case 'eth_call':
if (!this._config.shouldCollectCallTraces) {
next();
diff --git a/packages/sra-spec/package.json b/packages/sra-spec/package.json
index 9c4c0a24f..1afe3d945 100644
--- a/packages/sra-spec/package.json
+++ b/packages/sra-spec/package.json
@@ -41,14 +41,14 @@
"devDependencies": {
"@0x/tslint-config": "^2.0.2",
"@types/mocha": "^2.2.42",
- "@types/node": "^10.5.3",
+ "@types/node": "*",
"chai": "^4.0.1",
"chokidar-cli": "^1.2.0",
"copyfiles": "^2.0.0",
"dirty-chai": "^2.0.1",
"discharge": "^0.7.1",
- "mocha": "^4.0.1",
- "npm-run-all": "^4.1.3",
+ "mocha": "^4.1.0",
+ "npm-run-all": "^4.1.2",
"nyc": "^11.0.1",
"redoc-cli": "^0.6.1",
"shx": "^0.2.2",
diff --git a/packages/subproviders/package.json b/packages/subproviders/package.json
index b54cc11db..4a7e36075 100644
--- a/packages/subproviders/package.json
+++ b/packages/subproviders/package.json
@@ -49,7 +49,7 @@
"ganache-core": "^2.3.3",
"hdkey": "^0.7.1",
"json-rpc-error": "2.0.0",
- "lodash": "^4.17.5",
+ "lodash": "^4.17.11",
"semaphore-async-await": "^1.5.1",
"web3-provider-engine": "14.0.6"
},
diff --git a/packages/testnet-faucets/package.json b/packages/testnet-faucets/package.json
index da7477be4..609f00b03 100644
--- a/packages/testnet-faucets/package.json
+++ b/packages/testnet-faucets/package.json
@@ -28,8 +28,8 @@
"ethereumjs-tx": "^1.3.5",
"ethereumjs-util": "^5.1.1",
"express": "^4.15.2",
- "lodash": "^4.17.5",
- "rollbar": "^0.6.5"
+ "lodash": "^4.17.11",
+ "rollbar": "^2.5.0"
},
"devDependencies": {
"@0x/tslint-config": "^2.0.2",
diff --git a/packages/tslint-config/package.json b/packages/tslint-config/package.json
index f90321edb..6f738c8d8 100644
--- a/packages/tslint-config/package.json
+++ b/packages/tslint-config/package.json
@@ -40,7 +40,7 @@
"typescript": "3.0.1"
},
"dependencies": {
- "lodash": "^4.17.5",
+ "lodash": "^4.17.11",
"tslint": "5.11.0",
"tslint-eslint-rules": "5.4.0",
"tslint-react": "^3.2.0",
diff --git a/packages/utils/CHANGELOG.json b/packages/utils/CHANGELOG.json
index 0fb199e58..df415040b 100644
--- a/packages/utils/CHANGELOG.json
+++ b/packages/utils/CHANGELOG.json
@@ -1,5 +1,14 @@
[
{
+ "version": "4.0.1",
+ "changes": [
+ {
+ "note": "ABI Decode NULL as False",
+ "pr": 1582
+ }
+ ]
+ },
+ {
"version": "4.0.0",
"changes": [
{
diff --git a/packages/utils/package.json b/packages/utils/package.json
index b6be39210..e6364c77a 100644
--- a/packages/utils/package.json
+++ b/packages/utils/package.json
@@ -49,14 +49,14 @@
"@types/node": "*",
"abortcontroller-polyfill": "^1.1.9",
"bignumber.js": "~8.0.2",
- "chalk": "^2.4.1",
+ "chalk": "^2.3.0",
"detect-node": "2.0.3",
"ethereum-types": "^1.1.6",
"ethereumjs-util": "^5.1.1",
"ethers": "~4.0.4",
- "isomorphic-fetch": "^2.2.1",
+ "isomorphic-fetch": "2.2.1",
"js-sha3": "^0.7.0",
- "lodash": "^4.17.5"
+ "lodash": "^4.17.11"
},
"publishConfig": {
"access": "public"
diff --git a/packages/utils/src/abi_encoder/evm_data_types/bool.ts b/packages/utils/src/abi_encoder/evm_data_types/bool.ts
index 23298bc88..ffccd6e53 100644
--- a/packages/utils/src/abi_encoder/evm_data_types/bool.ts
+++ b/packages/utils/src/abi_encoder/evm_data_types/bool.ts
@@ -36,7 +36,8 @@ export class BoolDataType extends AbstractBlobDataType {
public decodeValue(calldata: RawCalldata): boolean {
const valueBuf = calldata.popWord();
const valueHex = ethUtil.bufferToHex(valueBuf);
- const valueNumber = new BigNumber(valueHex, constants.HEX_BASE);
+ // Hack @hysz: there are some cases where `false` is encoded as 0x instead of 0x0.
+ const valueNumber = valueHex === '0x' ? new BigNumber(0) : new BigNumber(valueHex, constants.HEX_BASE);
if (!(valueNumber.isEqualTo(0) || valueNumber.isEqualTo(1))) {
throw new Error(`Failed to decode boolean. Expected 0x0 or 0x1, got ${valueHex}`);
}
diff --git a/packages/utils/test/abi_encoder/evm_data_types_test.ts b/packages/utils/test/abi_encoder/evm_data_types_test.ts
index 4814ce28b..c146890e0 100644
--- a/packages/utils/test/abi_encoder/evm_data_types_test.ts
+++ b/packages/utils/test/abi_encoder/evm_data_types_test.ts
@@ -489,6 +489,24 @@ describe('ABI Encoder: EVM Data Type Encoding/Decoding', () => {
const argsEncodedFromSignature = dataTypeFromSignature.encode(args);
expect(argsEncodedFromSignature).to.be.deep.equal(expectedEncodedArgs);
});
+ it('Null should decode as False', async () => {
+ // Hack @hysz: there are some cases where `false` is encoded as 0x instead of 0x0.
+ // Create DataType object
+ const testDataItem = { name: 'Boolean', type: 'bool' };
+ const dataType = new AbiEncoder.Bool(testDataItem);
+ // Construct args to be encoded
+ const args = false;
+ // Encode Args and validate result
+ const encodedArgs = '0x';
+ const expectedEncodedArgs = '0x0000000000000000000000000000000000000000000000000000000000000000';
+ // Decode Encoded Args and validate result
+ const decodedArgs = dataType.decode(encodedArgs);
+ expect(decodedArgs).to.be.deep.equal(args);
+ // Validate signature
+ const dataTypeFromSignature = AbiEncoder.create(dataType.getSignature(true));
+ const argsEncodedFromSignature = dataTypeFromSignature.encode(args);
+ expect(argsEncodedFromSignature).to.be.deep.equal(expectedEncodedArgs);
+ });
});
describe('Integer', () => {
diff --git a/packages/web3-wrapper/package.json b/packages/web3-wrapper/package.json
index f28cc36ca..c31226499 100644
--- a/packages/web3-wrapper/package.json
+++ b/packages/web3-wrapper/package.json
@@ -61,7 +61,7 @@
"ethereum-types": "^1.1.6",
"ethereumjs-util": "^5.1.1",
"ethers": "~4.0.4",
- "lodash": "^4.17.5"
+ "lodash": "^4.17.11"
},
"publishConfig": {
"access": "public"
diff --git a/packages/website/package.json b/packages/website/package.json
index ce7ed395f..7ce752622 100644
--- a/packages/website/package.json
+++ b/packages/website/package.json
@@ -97,7 +97,7 @@
"@types/rc-slider": "^8.6.0",
"@types/react": "^16.7.7",
"@types/react-copy-to-clipboard": "^4.2.0",
- "@types/react-dom": "^16.0.7",
+ "@types/react-dom": "^16.0.6",
"@types/react-helmet": "^5.0.6",
"@types/react-redux": "^4.4.37",
"@types/react-scroll": "1.5.3",