aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.circleci/config.yml8
-rw-r--r--.github/autolabeler.yml5
-rw-r--r--.gitignore2
-rw-r--r--.prettierignore2
-rw-r--r--CODEOWNERS5
-rw-r--r--README.md4
-rw-r--r--contracts/TESTING.md2
-rw-r--r--contracts/examples/package.json1
-rw-r--r--contracts/extensions/package.json1
-rw-r--r--contracts/libs/package.json1
-rw-r--r--contracts/multisig/package.json1
-rw-r--r--contracts/protocol/package.json1
-rw-r--r--contracts/test-utils/package.json4
-rw-r--r--contracts/test-utils/src/coverage.ts2
-rw-r--r--contracts/test-utils/src/profiler.ts2
-rw-r--r--contracts/test-utils/src/revert_trace.ts2
-rw-r--r--contracts/tokens/package.json1
-rw-r--r--contracts/utils/package.json1
-rw-r--r--package.json5
-rw-r--r--packages/metacoin/package.json3
-rw-r--r--packages/metacoin/test/utils/coverage.ts2
-rw-r--r--packages/metacoin/test/utils/profiler.ts2
-rw-r--r--packages/sol-cov/tslint.json6
-rw-r--r--packages/sol-coverage/.npmignore (renamed from packages/sol-cov/.npmignore)0
-rw-r--r--packages/sol-coverage/CHANGELOG.json12
-rw-r--r--packages/sol-coverage/README.md (renamed from packages/sol-cov/README.md)14
-rw-r--r--packages/sol-coverage/package.json52
-rw-r--r--packages/sol-coverage/src/coverage_subprovider.ts (renamed from packages/sol-cov/src/coverage_subprovider.ts)16
-rw-r--r--packages/sol-coverage/src/globals.d.ts (renamed from packages/sol-cov/src/globals.d.ts)0
-rw-r--r--packages/sol-coverage/src/index.ts23
-rw-r--r--packages/sol-coverage/tsconfig.json8
-rw-r--r--packages/sol-coverage/tslint.json3
-rw-r--r--packages/sol-coverage/typedoc-tsconfig.json (renamed from packages/sol-cov/typedoc-tsconfig.json)0
-rw-r--r--packages/sol-profiler/.npmignore6
-rw-r--r--packages/sol-profiler/CHANGELOG.json12
-rw-r--r--packages/sol-profiler/README.md75
-rw-r--r--packages/sol-profiler/package.json50
-rw-r--r--packages/sol-profiler/src/globals.d.ts7
-rw-r--r--packages/sol-profiler/src/index.ts (renamed from packages/sol-cov/src/index.ts)12
-rw-r--r--packages/sol-profiler/src/profiler_subprovider.ts (renamed from packages/sol-cov/src/profiler_subprovider.ts)19
-rw-r--r--packages/sol-profiler/tsconfig.json8
-rw-r--r--packages/sol-profiler/tslint.json3
-rw-r--r--packages/sol-profiler/typedoc-tsconfig.json7
-rw-r--r--packages/sol-trace-based-tools-common/.npmignore6
-rw-r--r--packages/sol-trace-based-tools-common/CHANGELOG.json (renamed from packages/sol-cov/CHANGELOG.json)9
-rw-r--r--packages/sol-trace-based-tools-common/CHANGELOG.md (renamed from packages/sol-cov/CHANGELOG.md)0
-rw-r--r--packages/sol-trace-based-tools-common/README.md61
-rw-r--r--packages/sol-trace-based-tools-common/compiler.json (renamed from packages/sol-cov/compiler.json)0
-rw-r--r--packages/sol-trace-based-tools-common/coverage/.gitkeep (renamed from packages/sol-cov/coverage/.gitkeep)0
-rw-r--r--packages/sol-trace-based-tools-common/package.json (renamed from packages/sol-cov/package.json)10
-rw-r--r--packages/sol-trace-based-tools-common/src/artifact_adapters/abstract_artifact_adapter.ts (renamed from packages/sol-cov/src/artifact_adapters/abstract_artifact_adapter.ts)0
-rw-r--r--packages/sol-trace-based-tools-common/src/artifact_adapters/sol_compiler_artifact_adapter.ts (renamed from packages/sol-cov/src/artifact_adapters/sol_compiler_artifact_adapter.ts)0
-rw-r--r--packages/sol-trace-based-tools-common/src/artifact_adapters/truffle_artifact_adapter.ts (renamed from packages/sol-cov/src/artifact_adapters/truffle_artifact_adapter.ts)2
-rw-r--r--packages/sol-trace-based-tools-common/src/ast_visitor.ts (renamed from packages/sol-cov/src/ast_visitor.ts)0
-rw-r--r--packages/sol-trace-based-tools-common/src/collect_coverage_entries.ts (renamed from packages/sol-cov/src/collect_coverage_entries.ts)0
-rw-r--r--packages/sol-trace-based-tools-common/src/constants.ts (renamed from packages/sol-cov/src/constants.ts)0
-rw-r--r--packages/sol-trace-based-tools-common/src/get_source_range_snippet.ts (renamed from packages/sol-cov/src/get_source_range_snippet.ts)5
-rw-r--r--packages/sol-trace-based-tools-common/src/globals.d.ts7
-rw-r--r--packages/sol-trace-based-tools-common/src/index.ts39
-rw-r--r--packages/sol-trace-based-tools-common/src/instructions.ts (renamed from packages/sol-cov/src/instructions.ts)0
-rw-r--r--packages/sol-trace-based-tools-common/src/revert_trace.ts (renamed from packages/sol-cov/src/revert_trace.ts)9
-rw-r--r--packages/sol-trace-based-tools-common/src/source_maps.ts (renamed from packages/sol-cov/src/source_maps.ts)16
-rw-r--r--packages/sol-trace-based-tools-common/src/trace.ts (renamed from packages/sol-cov/src/trace.ts)9
-rw-r--r--packages/sol-trace-based-tools-common/src/trace_collection_subprovider.ts (renamed from packages/sol-cov/src/trace_collection_subprovider.ts)0
-rw-r--r--packages/sol-trace-based-tools-common/src/trace_collector.ts (renamed from packages/sol-cov/src/trace_collector.ts)2
-rw-r--r--packages/sol-trace-based-tools-common/src/trace_info_subprovider.ts (renamed from packages/sol-cov/src/trace_info_subprovider.ts)0
-rw-r--r--packages/sol-trace-based-tools-common/src/types.ts (renamed from packages/sol-cov/src/types.ts)0
-rw-r--r--packages/sol-trace-based-tools-common/src/utils.ts (renamed from packages/sol-cov/src/utils.ts)0
-rw-r--r--packages/sol-trace-based-tools-common/test/collect_coverage_entries_test.ts (renamed from packages/sol-cov/test/collect_coverage_entries_test.ts)0
-rw-r--r--packages/sol-trace-based-tools-common/test/fixtures/contracts/AllSolidityFeatures.sol (renamed from packages/sol-cov/test/fixtures/contracts/AllSolidityFeatures.sol)0
-rw-r--r--packages/sol-trace-based-tools-common/test/fixtures/contracts/SimpleStorage.sol (renamed from packages/sol-cov/test/fixtures/contracts/SimpleStorage.sol)0
-rw-r--r--packages/sol-trace-based-tools-common/test/fixtures/contracts/Simplest.sol (renamed from packages/sol-cov/test/fixtures/contracts/Simplest.sol)0
-rw-r--r--packages/sol-trace-based-tools-common/test/fixtures/contracts/SolcovIgnore.sol (renamed from packages/sol-cov/test/fixtures/contracts/SolcovIgnore.sol)0
-rw-r--r--packages/sol-trace-based-tools-common/test/instructions_test.ts (renamed from packages/sol-cov/test/instructions_test.ts)0
-rw-r--r--packages/sol-trace-based-tools-common/test/sol_compiler_artifact_adapter_test.ts (renamed from packages/sol-cov/test/sol_compiler_artifact_adapter_test.ts)0
-rw-r--r--packages/sol-trace-based-tools-common/test/source_maps_test.ts (renamed from packages/sol-cov/test/source_maps_test.ts)0
-rw-r--r--packages/sol-trace-based-tools-common/test/trace_test.ts (renamed from packages/sol-cov/test/trace_test.ts)0
-rw-r--r--packages/sol-trace-based-tools-common/test/utils_test.ts (renamed from packages/sol-cov/test/utils_test.ts)0
-rw-r--r--packages/sol-trace-based-tools-common/tsconfig.json (renamed from packages/sol-cov/tsconfig.json)0
-rw-r--r--packages/sol-trace-based-tools-common/tslint.json3
-rw-r--r--packages/sol-trace/.npmignore6
-rw-r--r--packages/sol-trace/CHANGELOG.json12
-rw-r--r--packages/sol-trace/README.md75
-rw-r--r--packages/sol-trace/package.json52
-rw-r--r--packages/sol-trace/src/globals.d.ts7
-rw-r--r--packages/sol-trace/src/index.ts24
-rw-r--r--packages/sol-trace/src/revert_trace_subprovider.ts (renamed from packages/sol-cov/src/revert_trace_subprovider.ts)24
-rw-r--r--packages/sol-trace/tsconfig.json8
-rw-r--r--packages/sol-trace/tslint.json3
-rw-r--r--packages/sol-trace/typedoc-tsconfig.json7
-rw-r--r--packages/sra-spec/src/md/introduction.md4
-rw-r--r--packages/website/md/docs/sol_cov/1/installation.md17
-rw-r--r--packages/website/md/docs/sol_cov/1/introduction.md1
-rw-r--r--packages/website/md/docs/sol_cov/2/installation.md17
-rw-r--r--packages/website/md/docs/sol_cov/2/introduction.md1
-rw-r--r--packages/website/md/docs/sol_coverage/installation.md17
-rw-r--r--packages/website/md/docs/sol_coverage/introduction.md1
-rw-r--r--packages/website/md/docs/sol_coverage/usage.md (renamed from packages/website/md/docs/sol_cov/2/usage.md)8
-rw-r--r--packages/website/md/docs/sol_profiler/installation.md17
-rw-r--r--packages/website/md/docs/sol_profiler/introduction.md1
-rw-r--r--packages/website/md/docs/sol_profiler/usage.md (renamed from packages/website/md/docs/sol_cov/1/usage.md)24
-rw-r--r--packages/website/md/docs/sol_trace/installation.md17
-rw-r--r--packages/website/md/docs/sol_trace/introduction.md1
-rw-r--r--packages/website/md/docs/sol_trace/usage.md62
-rw-r--r--packages/website/ts/containers/asset_buyer_documentation.ts38
-rw-r--r--packages/website/ts/containers/connect_documentation.ts38
-rw-r--r--packages/website/ts/containers/contract_wrappers_documentation.ts38
-rw-r--r--packages/website/ts/containers/ethereum_types_documentation.ts36
-rw-r--r--packages/website/ts/containers/json_schemas_documentation.ts38
-rw-r--r--packages/website/ts/containers/migrations_documentation.ts2
-rw-r--r--packages/website/ts/containers/order_utils_documentation.ts38
-rw-r--r--packages/website/ts/containers/order_watcher_documentation.ts38
-rw-r--r--packages/website/ts/containers/smart_contracts_documentation.ts36
-rw-r--r--packages/website/ts/containers/sol_compiler_documentation.ts38
-rw-r--r--packages/website/ts/containers/sol_cov_documentation.ts77
-rw-r--r--packages/website/ts/containers/sol_coverage_documentation.ts43
-rw-r--r--packages/website/ts/containers/sol_profiler_documentation.ts43
-rw-r--r--packages/website/ts/containers/sol_trace_documentation.ts43
-rw-r--r--packages/website/ts/containers/subproviders_documentation.ts38
-rw-r--r--packages/website/ts/containers/web3_wrapper_documentation.ts38
-rw-r--r--packages/website/ts/containers/zero_ex_js_documentation.ts38
-rw-r--r--packages/website/ts/index.tsx23
-rw-r--r--packages/website/ts/pages/documentation/doc_page.tsx4
-rw-r--r--packages/website/ts/pages/documentation/docs_home.tsx22
-rw-r--r--packages/website/ts/types.ts8
-rw-r--r--packages/website/ts/utils/documentation_container.ts35
-rw-r--r--python-packages/sra_client/README.md2
-rw-r--r--tsconfig.json5
-rw-r--r--yarn.lock21
129 files changed, 1130 insertions, 624 deletions
diff --git a/.circleci/config.yml b/.circleci/config.yml
index 68d8041a2..3e5a2809c 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -118,7 +118,7 @@ jobs:
- run: yarn wsrun test:circleci @0x/order-utils
- run: yarn wsrun test:circleci @0x/order-watcher
- run: yarn wsrun test:circleci @0x/sol-compiler
- - run: yarn wsrun test:circleci @0x/sol-cov
+ - run: yarn wsrun test:circleci @0x/sol-trace-based-tools-common
- run: yarn wsrun test:circleci @0x/sol-doc
- run: yarn wsrun test:circleci @0x/subproviders
- run: yarn wsrun test:circleci @0x/web3-wrapper
@@ -169,9 +169,9 @@ jobs:
paths:
- ~/repo/packages/sol-compiler/coverage/lcov.info
- save_cache:
- key: coverage-sol-cov-{{ .Environment.CIRCLE_SHA1 }}
+ key: coverage-sol-trace-based-tools-common-{{ .Environment.CIRCLE_SHA1 }}
paths:
- - ~/repo/packages/sol-cov/coverage/lcov.info
+ - ~/repo/packages/sol-trace-based-tools-common/coverage/lcov.info
- save_cache:
key: coverage-sol-doc-{{ .Environment.CIRCLE_SHA1 }}
paths:
@@ -342,7 +342,7 @@ jobs:
- coverage-sol-compiler-{{ .Environment.CIRCLE_SHA1 }}
- restore_cache:
keys:
- - coverage-sol-cov-{{ .Environment.CIRCLE_SHA1 }}
+ - coverage-sol-trace-based-tools-common-{{ .Environment.CIRCLE_SHA1 }}
- restore_cache:
keys:
- coverage-sol-doc-{{ .Environment.CIRCLE_SHA1 }}
diff --git a/.github/autolabeler.yml b/.github/autolabeler.yml
index 8284293d5..ecdc0e89b 100644
--- a/.github/autolabeler.yml
+++ b/.github/autolabeler.yml
@@ -13,7 +13,10 @@ instant: ['packages/instant']
abi-gen-templates: ['packages/abi-gen-templates']
abi-gen: ['packages/abi-gen']
website: ['packages/website']
-sol-cov: ['packages/sol-cov']
+sol-coverage: ['packages/sol-coverage']
+sol-profiler: ['packages/sol-profiler']
+sol-trace: ['packages/sol-trace']
+sol-trace-based-tools-common: ['packages/sol-trace-based-tools-common']
utils: ['packages/utils']
tslint-config: ['packages/tslint-config']
asset-buyer: ['packages/asset-buyer']
diff --git a/.gitignore b/.gitignore
index 1d4410e25..c2100ea62 100644
--- a/.gitignore
+++ b/.gitignore
@@ -91,7 +91,7 @@ contracts/interfaces/generated-artifacts/
contracts/tokens/generated-artifacts/
contracts/examples/generated-artifacts/
contracts/extensions/generated-artifacts/
-packages/sol-cov/test/fixtures/artifacts/
+packages/sol-trace-based-tools-common/test/fixtures/artifacts/
packages/metacoin/artifacts/
# generated contract wrappers
diff --git a/.prettierignore b/.prettierignore
index 7f8662b0a..2467f8711 100644
--- a/.prettierignore
+++ b/.prettierignore
@@ -26,4 +26,4 @@ lib
/packages/sra-spec/public/
package.json
scripts/postpublish_utils.js
-packages/sol-cov/test/fixtures/artifacts
+packages/sol-coverage/test/fixtures/artifacts
diff --git a/CODEOWNERS b/CODEOWNERS
index ca98ec19b..f57da320f 100644
--- a/CODEOWNERS
+++ b/CODEOWNERS
@@ -24,7 +24,10 @@ packages/metacoin/ @LogvinovLeon
packages/monorepo-scripts/ @fabioberger
packages/order-utils/ @fabioberger @LogvinovLeon
packages/sol-compiler/ @LogvinovLeon
-packages/sol-cov/ @LogvinovLeon
+packages/sol-coverage/ @LogvinovLeon
+packages/sol-profiler/ @LogvinovLeon
+packages/sol-trace/ @LogvinovLeon
+packages/sol-trace-based-tools-common/ @LogvinovLeon
packages/sol-resolver/ @LogvinovLeon
packages/subproviders/ @fabioberger @dekz
packages/verdaccio/ @albrow
diff --git a/README.md b/README.md
index fd96c2b86..386673a28 100644
--- a/README.md
+++ b/README.md
@@ -54,7 +54,9 @@ Visit our [developer portal](https://0xproject.com/docs/order-utils) for a compr
| -------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`@0x/web3-wrapper`](/packages/web3-wrapper) | [![npm](https://img.shields.io/npm/v/@0x/web3-wrapper.svg)](https://www.npmjs.com/package/@0x/web3-wrapper) | An Ethereum JSON RPC client |
| [`@0x/sol-compiler`](/packages/sol-compiler) | [![npm](https://img.shields.io/npm/v/@0x/sol-compiler.svg)](https://www.npmjs.com/package/@0x/sol-compiler) | A wrapper around solc-js that adds smart re-compilation, ability to compile an entire project, Solidity version specific compilation, standard input description support and much more. |
-| [`@0x/sol-cov`](/packages/sol-cov) | [![npm](https://img.shields.io/npm/v/@0x/sol-cov.svg)](https://www.npmjs.com/package/@0x/sol-cov) | A solidity test coverage tool |
+| [`@0x/sol-coverage`](/packages/sol-coverage) | [![npm](https://img.shields.io/npm/v/@0x/sol-coverage.svg)](https://www.npmjs.com/package/@0x/sol-coverage) | A solidity test coverage tool |
+| [`@0x/sol-profiler`](/packages/sol-profiler) | [![npm](https://img.shields.io/npm/v/@0x/sol-profiler.svg)](https://www.npmjs.com/package/@0x/sol-profiler) | A solidity gas cost profiler |
+| [`@0x/sol-trace`](/packages/sol-trace) | [![npm](https://img.shields.io/npm/v/@0x/sol-trace.svg)](https://www.npmjs.com/package/@0x/sol-trace) | A solidity stack trace tool |
| [`@0x/sol-resolver`](/packages/sol-resolver) | [![npm](https://img.shields.io/npm/v/@0x/sol-resolver.svg)](https://www.npmjs.com/package/@0x/sol-resolver) | Import resolver for smart contracts dependencies |
| [`@0x/subproviders`](/packages/subproviders) | [![npm](https://img.shields.io/npm/v/@0x/subproviders.svg)](https://www.npmjs.com/package/@0x/subproviders) | Web3 provider middlewares (e.g. LedgerSubprovider) |
| [`@0x/sol-doc`](/packages/sol-doc) | [![npm](https://img.shields.io/npm/v/@0x/sol-doc.svg)](https://www.npmjs.com/package/@0x/sol-doc) | Solidity documentation generator |
diff --git a/contracts/TESTING.md b/contracts/TESTING.md
index 750b3c62c..3e6888c04 100644
--- a/contracts/TESTING.md
+++ b/contracts/TESTING.md
@@ -20,7 +20,7 @@ TEST_PROVIDER=geth yarn test
## Code coverage
-In order to see the Solidity code coverage output generated by `@0x/sol-cov`, run:
+In order to see the Solidity code coverage output generated by `@0x/sol-coverage`, run:
```
yarn test:coverage
diff --git a/contracts/examples/package.json b/contracts/examples/package.json
index 37b73f98c..68286ec4f 100644
--- a/contracts/examples/package.json
+++ b/contracts/examples/package.json
@@ -37,7 +37,6 @@
"@0x/contracts-test-utils": "^1.0.2",
"@0x/dev-utils": "^1.0.21",
"@0x/sol-compiler": "^1.1.16",
- "@0x/sol-cov": "^2.1.16",
"@0x/subproviders": "^2.1.8",
"@0x/tslint-config": "^2.0.0",
"@types/bn.js": "^4.11.0",
diff --git a/contracts/extensions/package.json b/contracts/extensions/package.json
index aee995645..6dda2ccf3 100644
--- a/contracts/extensions/package.json
+++ b/contracts/extensions/package.json
@@ -49,7 +49,6 @@
"@0x/contracts-test-utils": "^1.0.2",
"@0x/dev-utils": "^1.0.21",
"@0x/sol-compiler": "^1.1.16",
- "@0x/sol-cov": "^2.1.16",
"@0x/subproviders": "^2.1.8",
"@0x/tslint-config": "^2.0.0",
"@types/bn.js": "^4.11.0",
diff --git a/contracts/libs/package.json b/contracts/libs/package.json
index ce7b97502..71955e74d 100644
--- a/contracts/libs/package.json
+++ b/contracts/libs/package.json
@@ -48,7 +48,6 @@
"@0x/contracts-test-utils": "^1.0.2",
"@0x/dev-utils": "^1.0.21",
"@0x/sol-compiler": "^1.1.16",
- "@0x/sol-cov": "^2.1.16",
"@0x/subproviders": "^2.1.8",
"@0x/tslint-config": "^2.0.0",
"@types/bn.js": "^4.11.0",
diff --git a/contracts/multisig/package.json b/contracts/multisig/package.json
index 2d7b4aa05..6ad04c838 100644
--- a/contracts/multisig/package.json
+++ b/contracts/multisig/package.json
@@ -48,7 +48,6 @@
"@0x/contracts-test-utils": "^1.0.2",
"@0x/dev-utils": "^1.0.21",
"@0x/sol-compiler": "^1.1.16",
- "@0x/sol-cov": "^2.1.16",
"@0x/subproviders": "^2.1.8",
"@0x/tslint-config": "^2.0.0",
"@types/bn.js": "^4.11.0",
diff --git a/contracts/protocol/package.json b/contracts/protocol/package.json
index 891838e54..987a1e589 100644
--- a/contracts/protocol/package.json
+++ b/contracts/protocol/package.json
@@ -47,7 +47,6 @@
"@0x/abi-gen": "^1.0.19",
"@0x/dev-utils": "^1.0.21",
"@0x/sol-compiler": "^1.1.16",
- "@0x/sol-cov": "^2.1.16",
"@0x/subproviders": "^2.1.8",
"@0x/tslint-config": "^2.0.0",
"@types/bn.js": "^4.11.0",
diff --git a/contracts/test-utils/package.json b/contracts/test-utils/package.json
index 18ec8f6a8..acfcc3d10 100644
--- a/contracts/test-utils/package.json
+++ b/contracts/test-utils/package.json
@@ -44,7 +44,9 @@
"@0x/dev-utils": "^1.0.21",
"@0x/order-utils": "^3.0.7",
"@0x/sol-compiler": "^1.1.16",
- "@0x/sol-cov": "^2.1.16",
+ "@0x/sol-coverage": "^1.0.0",
+ "@0x/sol-profiler": "^1.0.0",
+ "@0x/sol-trace": "^1.0.0",
"@0x/subproviders": "^2.1.8",
"@0x/tslint-config": "^2.0.0",
"@0x/types": "^1.4.1",
diff --git a/contracts/test-utils/src/coverage.ts b/contracts/test-utils/src/coverage.ts
index 5becfa1b6..f82288eec 100644
--- a/contracts/test-utils/src/coverage.ts
+++ b/contracts/test-utils/src/coverage.ts
@@ -1,5 +1,5 @@
import { devConstants } from '@0x/dev-utils';
-import { CoverageSubprovider, SolCompilerArtifactAdapter } from '@0x/sol-cov';
+import { CoverageSubprovider, SolCompilerArtifactAdapter } from '@0x/sol-coverage';
import * as _ from 'lodash';
let coverageSubprovider: CoverageSubprovider;
diff --git a/contracts/test-utils/src/profiler.ts b/contracts/test-utils/src/profiler.ts
index 2c7c1d66c..7f51c384f 100644
--- a/contracts/test-utils/src/profiler.ts
+++ b/contracts/test-utils/src/profiler.ts
@@ -1,5 +1,5 @@
import { devConstants } from '@0x/dev-utils';
-import { ProfilerSubprovider, SolCompilerArtifactAdapter } from '@0x/sol-cov';
+import { ProfilerSubprovider, SolCompilerArtifactAdapter } from '@0x/sol-profiler';
import * as _ from 'lodash';
let profilerSubprovider: ProfilerSubprovider;
diff --git a/contracts/test-utils/src/revert_trace.ts b/contracts/test-utils/src/revert_trace.ts
index 3f74fd28b..3a5778859 100644
--- a/contracts/test-utils/src/revert_trace.ts
+++ b/contracts/test-utils/src/revert_trace.ts
@@ -1,5 +1,5 @@
import { devConstants } from '@0x/dev-utils';
-import { RevertTraceSubprovider, SolCompilerArtifactAdapter } from '@0x/sol-cov';
+import { RevertTraceSubprovider, SolCompilerArtifactAdapter } from '@0x/sol-trace';
import * as _ from 'lodash';
let revertTraceSubprovider: RevertTraceSubprovider;
diff --git a/contracts/tokens/package.json b/contracts/tokens/package.json
index 79afc4820..8b8329cf3 100644
--- a/contracts/tokens/package.json
+++ b/contracts/tokens/package.json
@@ -48,7 +48,6 @@
"@0x/contracts-test-utils": "^1.0.2",
"@0x/dev-utils": "^1.0.21",
"@0x/sol-compiler": "^1.1.16",
- "@0x/sol-cov": "^2.1.16",
"@0x/subproviders": "^2.1.8",
"@0x/tslint-config": "^2.0.0",
"@types/bn.js": "^4.11.0",
diff --git a/contracts/utils/package.json b/contracts/utils/package.json
index cf94af0f6..4dcf8f826 100644
--- a/contracts/utils/package.json
+++ b/contracts/utils/package.json
@@ -48,7 +48,6 @@
"@0x/contracts-test-utils": "^1.0.2",
"@0x/dev-utils": "^1.0.21",
"@0x/sol-compiler": "^1.1.16",
- "@0x/sol-cov": "^2.1.16",
"@0x/subproviders": "^2.1.8",
"@0x/tslint-config": "^2.0.0",
"@types/bn.js": "^4.11.0",
diff --git a/package.json b/package.json
index 04fbb5e24..9395dbaa2 100644
--- a/package.json
+++ b/package.json
@@ -41,7 +41,7 @@
},
"config": {
"mnemonic": "concert load couple harbor equip island argue ramp clarify fence smart topic",
- "packagesWithDocPages": "0x.js connect json-schemas subproviders web3-wrapper contract-wrappers order-utils order-watcher sol-compiler sol-cov ethereum-types asset-buyer migrations"
+ "packagesWithDocPages": "0x.js connect json-schemas subproviders web3-wrapper contract-wrappers order-utils order-watcher sol-compiler sol-coverage sol-profiler sol-trace ethereum-types asset-buyer migrations"
},
"bundlewatch": {
"files": [
@@ -62,6 +62,9 @@
"repoBranchBase": "development"
}
},
+ "resolutions": {
+ "graceful-fs": "4.1.15"
+ },
"devDependencies": {
"@0x-lerna-fork/lerna": "3.0.0-beta.26",
"@0xproject/npm-cli-login": "^0.0.11",
diff --git a/packages/metacoin/package.json b/packages/metacoin/package.json
index 0e9fa4920..33fc16a3e 100644
--- a/packages/metacoin/package.json
+++ b/packages/metacoin/package.json
@@ -32,7 +32,8 @@
"@0x/abi-gen": "^1.0.19",
"@0x/abi-gen-templates": "^1.0.1",
"@0x/base-contract": "^3.0.10",
- "@0x/sol-cov": "^2.1.16",
+ "@0x/sol-coverage": "^1.0.0",
+ "@0x/sol-profiler": "^1.0.0",
"@0x/subproviders": "^2.1.8",
"@0x/tslint-config": "^2.0.0",
"@0x/types": "^1.4.1",
diff --git a/packages/metacoin/test/utils/coverage.ts b/packages/metacoin/test/utils/coverage.ts
index 31275a163..1a06d8c3c 100644
--- a/packages/metacoin/test/utils/coverage.ts
+++ b/packages/metacoin/test/utils/coverage.ts
@@ -1,5 +1,5 @@
import { devConstants } from '@0x/dev-utils';
-import { CoverageSubprovider, SolCompilerArtifactAdapter } from '@0x/sol-cov';
+import { CoverageSubprovider, SolCompilerArtifactAdapter } from '@0x/sol-coverage';
import * as _ from 'lodash';
import { config } from './config';
diff --git a/packages/metacoin/test/utils/profiler.ts b/packages/metacoin/test/utils/profiler.ts
index e7c373d20..6e6fc309f 100644
--- a/packages/metacoin/test/utils/profiler.ts
+++ b/packages/metacoin/test/utils/profiler.ts
@@ -1,5 +1,5 @@
import { devConstants } from '@0x/dev-utils';
-import { ProfilerSubprovider, SolCompilerArtifactAdapter } from '@0x/sol-cov';
+import { ProfilerSubprovider, SolCompilerArtifactAdapter } from '@0x/sol-profiler';
import * as _ from 'lodash';
import { config } from './config';
diff --git a/packages/sol-cov/tslint.json b/packages/sol-cov/tslint.json
deleted file mode 100644
index 631f46bca..000000000
--- a/packages/sol-cov/tslint.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "extends": ["@0x/tslint-config"],
- "rules": {
- "completed-docs": false
- }
-}
diff --git a/packages/sol-cov/.npmignore b/packages/sol-coverage/.npmignore
index 037786e46..037786e46 100644
--- a/packages/sol-cov/.npmignore
+++ b/packages/sol-coverage/.npmignore
diff --git a/packages/sol-coverage/CHANGELOG.json b/packages/sol-coverage/CHANGELOG.json
new file mode 100644
index 000000000..ca6048d99
--- /dev/null
+++ b/packages/sol-coverage/CHANGELOG.json
@@ -0,0 +1,12 @@
+[
+ {
+ "version": "1.0.0",
+ "changes": [
+ {
+ "note":
+ "Initial release as a separate package. For historic entries check @0x/sol-trace-based-tools-common",
+ "pr": 1492
+ }
+ ]
+ }
+]
diff --git a/packages/sol-cov/README.md b/packages/sol-coverage/README.md
index 31d73dc63..f8cc62eb8 100644
--- a/packages/sol-cov/README.md
+++ b/packages/sol-coverage/README.md
@@ -1,25 +1,25 @@
-## @0x/sol-cov
+## @0x/sol-coverage
A Solidity code coverage tool.
-### Read the [Documentation](https://0xproject.com/docs/sol-cov).
+### Read the [Documentation](https://0xproject.com/docs/sol-coverage).
## Installation
```bash
-yarn add @0x/sol-cov
+yarn add @0x/sol-coverage
```
**Import**
```javascript
-import { CoverageSubprovider } from '@0x/sol-cov';
+import { CoverageSubprovider } from '@0x/sol-coverage';
```
or
```javascript
-var CoverageSubprovider = require('@0x/sol-cov').CoverageSubprovider;
+var CoverageSubprovider = require('@0x/sol-coverage').CoverageSubprovider;
```
## Contributing
@@ -47,13 +47,13 @@ yarn install
To build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:
```bash
-PKG=@0x/sol-cov yarn build
+PKG=@0x/sol-coverage yarn build
```
Or continuously rebuild on change:
```bash
-PKG=@0x/sol-cov yarn watch
+PKG=@0x/sol-coverage yarn watch
```
### Clean
diff --git a/packages/sol-coverage/package.json b/packages/sol-coverage/package.json
new file mode 100644
index 000000000..b95fa5502
--- /dev/null
+++ b/packages/sol-coverage/package.json
@@ -0,0 +1,52 @@
+{
+ "name": "@0x/sol-coverage",
+ "version": "1.0.0",
+ "engines": {
+ "node": ">=6.12"
+ },
+ "description": "Generate coverage reports for Solidity code",
+ "main": "lib/src/index.js",
+ "types": "lib/src/index.d.ts",
+ "scripts": {
+ "build": "tsc -b",
+ "build:ci": "yarn build",
+ "lint": "tslint --format stylish --project .",
+ "clean": "shx rm -rf lib src/artifacts generated_docs",
+ "docs:json": "typedoc --excludePrivate --excludeExternals --target ES5 --tsconfig typedoc-tsconfig.json --json $JSON_FILE_PATH $PROJECT_FILES"
+ },
+ "config": {
+ "postpublish": {
+ "assets": []
+ }
+ },
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/0xProject/0x-monorepo.git"
+ },
+ "license": "Apache-2.0",
+ "bugs": {
+ "url": "https://github.com/0xProject/0x-monorepo/issues"
+ },
+ "homepage": "https://github.com/0xProject/0x-monorepo/packages/sol-coverage/README.md",
+ "dependencies": {
+ "@0x/subproviders": "^2.1.8",
+ "@0x/sol-trace-based-tools-common": "^2.1.16",
+ "@0x/typescript-typings": "^3.0.6",
+ "ethereum-types": "^1.1.4",
+ "lodash": "^4.17.5"
+ },
+ "devDependencies": {
+ "@0x/tslint-config": "^2.0.0",
+ "@types/node": "*",
+ "npm-run-all": "^4.1.2",
+ "nyc": "^11.0.1",
+ "shx": "^0.2.2",
+ "sinon": "^4.0.0",
+ "tslint": "5.11.0",
+ "typedoc": "0.13.0",
+ "typescript": "3.0.1"
+ },
+ "publishConfig": {
+ "access": "public"
+ }
+}
diff --git a/packages/sol-cov/src/coverage_subprovider.ts b/packages/sol-coverage/src/coverage_subprovider.ts
index 9667e891c..255fa9481 100644
--- a/packages/sol-cov/src/coverage_subprovider.ts
+++ b/packages/sol-coverage/src/coverage_subprovider.ts
@@ -1,22 +1,22 @@
-import * as _ from 'lodash';
-
-import { AbstractArtifactAdapter } from './artifact_adapters/abstract_artifact_adapter';
-import { collectCoverageEntries } from './collect_coverage_entries';
-import { SingleFileSubtraceHandler, TraceCollector } from './trace_collector';
-import { TraceInfoSubprovider } from './trace_info_subprovider';
import {
+ AbstractArtifactAdapter,
BranchCoverage,
+ collectCoverageEntries,
ContractData,
Coverage,
FunctionCoverage,
FunctionDescription,
+ SingleFileSubtraceHandler,
SourceRange,
StatementCoverage,
StatementDescription,
Subtrace,
+ TraceCollector,
TraceInfo,
-} from './types';
-import { utils } from './utils';
+ TraceInfoSubprovider,
+ utils,
+} from '@0x/sol-trace-based-tools-common';
+import * as _ from 'lodash';
/**
* This class implements the [web3-provider-engine](https://github.com/MetaMask/provider-engine) subprovider interface.
diff --git a/packages/sol-cov/src/globals.d.ts b/packages/sol-coverage/src/globals.d.ts
index e799b3529..e799b3529 100644
--- a/packages/sol-cov/src/globals.d.ts
+++ b/packages/sol-coverage/src/globals.d.ts
diff --git a/packages/sol-coverage/src/index.ts b/packages/sol-coverage/src/index.ts
new file mode 100644
index 000000000..dcf97b72e
--- /dev/null
+++ b/packages/sol-coverage/src/index.ts
@@ -0,0 +1,23 @@
+export { CoverageSubprovider } from './coverage_subprovider';
+export {
+ SolCompilerArtifactAdapter,
+ TruffleArtifactAdapter,
+ AbstractArtifactAdapter,
+ ContractData,
+} from '@0x/sol-trace-based-tools-common';
+
+export {
+ JSONRPCRequestPayload,
+ Provider,
+ JSONRPCErrorCallback,
+ JSONRPCResponsePayload,
+ JSONRPCResponseError,
+} from 'ethereum-types';
+
+export {
+ JSONRPCRequestPayloadWithMethod,
+ NextCallback,
+ ErrorCallback,
+ OnNextCompleted,
+ Callback,
+} from '@0x/subproviders';
diff --git a/packages/sol-coverage/tsconfig.json b/packages/sol-coverage/tsconfig.json
new file mode 100644
index 000000000..233008d61
--- /dev/null
+++ b/packages/sol-coverage/tsconfig.json
@@ -0,0 +1,8 @@
+{
+ "extends": "../../tsconfig",
+ "compilerOptions": {
+ "outDir": "lib",
+ "rootDir": "."
+ },
+ "include": ["./src/**/*"]
+}
diff --git a/packages/sol-coverage/tslint.json b/packages/sol-coverage/tslint.json
new file mode 100644
index 000000000..dd9053357
--- /dev/null
+++ b/packages/sol-coverage/tslint.json
@@ -0,0 +1,3 @@
+{
+ "extends": ["@0x/tslint-config"]
+}
diff --git a/packages/sol-cov/typedoc-tsconfig.json b/packages/sol-coverage/typedoc-tsconfig.json
index c9b0af1ae..c9b0af1ae 100644
--- a/packages/sol-cov/typedoc-tsconfig.json
+++ b/packages/sol-coverage/typedoc-tsconfig.json
diff --git a/packages/sol-profiler/.npmignore b/packages/sol-profiler/.npmignore
new file mode 100644
index 000000000..037786e46
--- /dev/null
+++ b/packages/sol-profiler/.npmignore
@@ -0,0 +1,6 @@
+.*
+yarn-error.log
+/src/
+/scripts/
+tsconfig.json
+/lib/src/monorepo_scripts/
diff --git a/packages/sol-profiler/CHANGELOG.json b/packages/sol-profiler/CHANGELOG.json
new file mode 100644
index 000000000..ca6048d99
--- /dev/null
+++ b/packages/sol-profiler/CHANGELOG.json
@@ -0,0 +1,12 @@
+[
+ {
+ "version": "1.0.0",
+ "changes": [
+ {
+ "note":
+ "Initial release as a separate package. For historic entries check @0x/sol-trace-based-tools-common",
+ "pr": 1492
+ }
+ ]
+ }
+]
diff --git a/packages/sol-profiler/README.md b/packages/sol-profiler/README.md
new file mode 100644
index 000000000..44fa29e3f
--- /dev/null
+++ b/packages/sol-profiler/README.md
@@ -0,0 +1,75 @@
+## @0x/sol-profiler
+
+Solidity line-by-line gas profiler.
+
+### Read the [Documentation](https://0xproject.com/docs/sol-profiler).
+
+## Installation
+
+```bash
+yarn add @0x/sol-profiler
+```
+
+**Import**
+
+```javascript
+import { ProfilerSubprovider } from '@0x/sol-profiler';
+```
+
+or
+
+```javascript
+var ProfilerSubprovider = require('@0x/sol-profiler').ProfilerSubprovider;
+```
+
+## Contributing
+
+We welcome improvements and fixes from the wider community! To report bugs within this package, please create an issue in this repository.
+
+Please read our [contribution guidelines](../../CONTRIBUTING.md) before getting started.
+
+### Install dependencies
+
+If you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:
+
+```bash
+yarn config set workspaces-experimental true
+```
+
+Then install dependencies
+
+```bash
+yarn install
+```
+
+### Build
+
+To build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:
+
+```bash
+PKG=@0x/sol-profiler yarn build
+```
+
+Or continuously rebuild on change:
+
+```bash
+PKG=@0x/sol-profiler yarn watch
+```
+
+### Clean
+
+```bash
+yarn clean
+```
+
+### Lint
+
+```bash
+yarn lint
+```
+
+### Run Tests
+
+```bash
+yarn test
+```
diff --git a/packages/sol-profiler/package.json b/packages/sol-profiler/package.json
new file mode 100644
index 000000000..03b421b0e
--- /dev/null
+++ b/packages/sol-profiler/package.json
@@ -0,0 +1,50 @@
+{
+ "name": "@0x/sol-profiler",
+ "version": "1.0.0",
+ "engines": {
+ "node": ">=6.12"
+ },
+ "description": "Generate profiler reports for Solidity code",
+ "main": "lib/src/index.js",
+ "types": "lib/src/index.d.ts",
+ "scripts": {
+ "build": "tsc -b",
+ "build:ci": "yarn build",
+ "lint": "tslint --format stylish --project .",
+ "clean": "shx rm -rf lib src/artifacts generated_docs",
+ "docs:json": "typedoc --excludePrivate --excludeExternals --target ES5 --tsconfig typedoc-tsconfig.json --json $JSON_FILE_PATH $PROJECT_FILES"
+ },
+ "config": {
+ "postpublish": {
+ "assets": []
+ }
+ },
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/0xProject/0x-monorepo.git"
+ },
+ "license": "Apache-2.0",
+ "bugs": {
+ "url": "https://github.com/0xProject/0x-monorepo/issues"
+ },
+ "homepage": "https://github.com/0xProject/0x-monorepo/packages/sol-profiler/README.md",
+ "dependencies": {
+ "@0x/subproviders": "^2.1.8",
+ "@0x/typescript-typings": "^3.0.6",
+ "@0x/sol-trace-based-tools-common": "^2.1.16",
+ "ethereum-types": "^1.1.4",
+ "lodash": "^4.17.5"
+ },
+ "devDependencies": {
+ "@0x/tslint-config": "^2.0.0",
+ "@types/node": "*",
+ "npm-run-all": "^4.1.2",
+ "shx": "^0.2.2",
+ "tslint": "5.11.0",
+ "typedoc": "0.13.0",
+ "typescript": "3.0.1"
+ },
+ "publishConfig": {
+ "access": "public"
+ }
+}
diff --git a/packages/sol-profiler/src/globals.d.ts b/packages/sol-profiler/src/globals.d.ts
new file mode 100644
index 000000000..e799b3529
--- /dev/null
+++ b/packages/sol-profiler/src/globals.d.ts
@@ -0,0 +1,7 @@
+// tslint:disable:completed-docs
+declare module '*.json' {
+ const json: any;
+ /* tslint:disable */
+ export default json;
+ /* tslint:enable */
+}
diff --git a/packages/sol-cov/src/index.ts b/packages/sol-profiler/src/index.ts
index 348e0fc9b..b36ed5baa 100644
--- a/packages/sol-cov/src/index.ts
+++ b/packages/sol-profiler/src/index.ts
@@ -1,13 +1,13 @@
-export { CoverageSubprovider } from './coverage_subprovider';
-export { SolCompilerArtifactAdapter } from './artifact_adapters/sol_compiler_artifact_adapter';
-export { TruffleArtifactAdapter } from './artifact_adapters/truffle_artifact_adapter';
-export { AbstractArtifactAdapter } from './artifact_adapters/abstract_artifact_adapter';
+export {
+ AbstractArtifactAdapter,
+ SolCompilerArtifactAdapter,
+ TruffleArtifactAdapter,
+ ContractData,
+} from '@0x/sol-trace-based-tools-common';
// HACK: ProfilerSubprovider is a hacky way to do profiling using coverage tools. Not production ready
export { ProfilerSubprovider } from './profiler_subprovider';
-export { RevertTraceSubprovider } from './revert_trace_subprovider';
-export { ContractData } from './types';
export {
JSONRPCRequestPayload,
Provider,
diff --git a/packages/sol-cov/src/profiler_subprovider.ts b/packages/sol-profiler/src/profiler_subprovider.ts
index ae9351f17..61dc25b6b 100644
--- a/packages/sol-cov/src/profiler_subprovider.ts
+++ b/packages/sol-profiler/src/profiler_subprovider.ts
@@ -1,11 +1,18 @@
import * as _ from 'lodash';
-import { AbstractArtifactAdapter } from './artifact_adapters/abstract_artifact_adapter';
-import { collectCoverageEntries } from './collect_coverage_entries';
-import { SingleFileSubtraceHandler, TraceCollector } from './trace_collector';
-import { TraceInfoSubprovider } from './trace_info_subprovider';
-import { ContractData, Coverage, SourceRange, Subtrace, TraceInfo } from './types';
-import { utils } from './utils';
+import {
+ AbstractArtifactAdapter,
+ collectCoverageEntries,
+ ContractData,
+ Coverage,
+ SingleFileSubtraceHandler,
+ SourceRange,
+ Subtrace,
+ TraceCollector,
+ TraceInfo,
+ TraceInfoSubprovider,
+ utils,
+} from '@0x/sol-trace-based-tools-common';
/**
* This class implements the [web3-provider-engine](https://github.com/MetaMask/provider-engine) subprovider interface.
diff --git a/packages/sol-profiler/tsconfig.json b/packages/sol-profiler/tsconfig.json
new file mode 100644
index 000000000..233008d61
--- /dev/null
+++ b/packages/sol-profiler/tsconfig.json
@@ -0,0 +1,8 @@
+{
+ "extends": "../../tsconfig",
+ "compilerOptions": {
+ "outDir": "lib",
+ "rootDir": "."
+ },
+ "include": ["./src/**/*"]
+}
diff --git a/packages/sol-profiler/tslint.json b/packages/sol-profiler/tslint.json
new file mode 100644
index 000000000..dd9053357
--- /dev/null
+++ b/packages/sol-profiler/tslint.json
@@ -0,0 +1,3 @@
+{
+ "extends": ["@0x/tslint-config"]
+}
diff --git a/packages/sol-profiler/typedoc-tsconfig.json b/packages/sol-profiler/typedoc-tsconfig.json
new file mode 100644
index 000000000..a4c669cb6
--- /dev/null
+++ b/packages/sol-profiler/typedoc-tsconfig.json
@@ -0,0 +1,7 @@
+{
+ "extends": "../../typedoc-tsconfig",
+ "compilerOptions": {
+ "outDir": "lib"
+ },
+ "include": ["./src/**/*"]
+}
diff --git a/packages/sol-trace-based-tools-common/.npmignore b/packages/sol-trace-based-tools-common/.npmignore
new file mode 100644
index 000000000..037786e46
--- /dev/null
+++ b/packages/sol-trace-based-tools-common/.npmignore
@@ -0,0 +1,6 @@
+.*
+yarn-error.log
+/src/
+/scripts/
+tsconfig.json
+/lib/src/monorepo_scripts/
diff --git a/packages/sol-cov/CHANGELOG.json b/packages/sol-trace-based-tools-common/CHANGELOG.json
index b7973c135..4c56d547d 100644
--- a/packages/sol-cov/CHANGELOG.json
+++ b/packages/sol-trace-based-tools-common/CHANGELOG.json
@@ -1,5 +1,14 @@
[
{
+ "version": "3.0.0",
+ "changes": [
+ {
+ "note": "Move out specific tools and leave just the common part",
+ "pr": 1492
+ }
+ ]
+ },
+ {
"version": "2.1.16",
"changes": [
{
diff --git a/packages/sol-cov/CHANGELOG.md b/packages/sol-trace-based-tools-common/CHANGELOG.md
index 879ef9c95..879ef9c95 100644
--- a/packages/sol-cov/CHANGELOG.md
+++ b/packages/sol-trace-based-tools-common/CHANGELOG.md
diff --git a/packages/sol-trace-based-tools-common/README.md b/packages/sol-trace-based-tools-common/README.md
new file mode 100644
index 000000000..b6d75dd59
--- /dev/null
+++ b/packages/sol-trace-based-tools-common/README.md
@@ -0,0 +1,61 @@
+## @0x/sol-trace-based-tools-common
+
+Common code for all solidity trace-based tools (sol-coverage, sol-profiler, sol-trace).
+
+## Installation
+
+```bash
+yarn add @0x/sol-sol-trace-based-tools-common
+```
+
+## Contributing
+
+We welcome improvements and fixes from the wider community! To report bugs within this package, please create an issue in this repository.
+
+Please read our [contribution guidelines](../../CONTRIBUTING.md) before getting started.
+
+### Install dependencies
+
+If you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:
+
+```bash
+yarn config set workspaces-experimental true
+```
+
+Then install dependencies
+
+```bash
+yarn install
+```
+
+### Build
+
+To build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:
+
+```bash
+PKG=@0x/sol-trace-based-tools-common yarn build
+```
+
+Or continuously rebuild on change:
+
+```bash
+PKG=@0x/sol-trace-based-tools-common yarn watch
+```
+
+### Clean
+
+```bash
+yarn clean
+```
+
+### Lint
+
+```bash
+yarn lint
+```
+
+### Run Tests
+
+```bash
+yarn test
+```
diff --git a/packages/sol-cov/compiler.json b/packages/sol-trace-based-tools-common/compiler.json
index a6a0c6d3a..a6a0c6d3a 100644
--- a/packages/sol-cov/compiler.json
+++ b/packages/sol-trace-based-tools-common/compiler.json
diff --git a/packages/sol-cov/coverage/.gitkeep b/packages/sol-trace-based-tools-common/coverage/.gitkeep
index e69de29bb..e69de29bb 100644
--- a/packages/sol-cov/coverage/.gitkeep
+++ b/packages/sol-trace-based-tools-common/coverage/.gitkeep
diff --git a/packages/sol-cov/package.json b/packages/sol-trace-based-tools-common/package.json
index 3ade51c80..6cfabe6d9 100644
--- a/packages/sol-cov/package.json
+++ b/packages/sol-trace-based-tools-common/package.json
@@ -1,10 +1,10 @@
{
- "name": "@0x/sol-cov",
+ "name": "@0x/sol-trace-based-tools-common",
"version": "2.1.16",
"engines": {
"node": ">=6.12"
},
- "description": "Generate coverage reports for Solidity code",
+ "description": "Common part of trace based solidity tools (sol-coverage, sol-trace, sol-profiler)",
"main": "lib/src/index.js",
"types": "lib/src/index.d.ts",
"scripts": {
@@ -34,13 +34,13 @@
},
"repository": {
"type": "git",
- "url": "https://github.com/0xProject/0x.js.git"
+ "url": "https://github.com/0xProject/0x-monorepo.git"
},
"license": "Apache-2.0",
"bugs": {
- "url": "https://github.com/0xProject/0x.js/issues"
+ "url": "https://github.com/0xProject/0x-monorepo/issues"
},
- "homepage": "https://github.com/0xProject/0x.js/packages/sol-cov/README.md",
+ "homepage": "https://github.com/0xProject/0x-monorepo/packages/sol-trace-based-tools-common/README.md",
"dependencies": {
"@0x/dev-utils": "^1.0.21",
"@0x/sol-compiler": "^1.1.16",
diff --git a/packages/sol-cov/src/artifact_adapters/abstract_artifact_adapter.ts b/packages/sol-trace-based-tools-common/src/artifact_adapters/abstract_artifact_adapter.ts
index fcc6562ad..fcc6562ad 100644
--- a/packages/sol-cov/src/artifact_adapters/abstract_artifact_adapter.ts
+++ b/packages/sol-trace-based-tools-common/src/artifact_adapters/abstract_artifact_adapter.ts
diff --git a/packages/sol-cov/src/artifact_adapters/sol_compiler_artifact_adapter.ts b/packages/sol-trace-based-tools-common/src/artifact_adapters/sol_compiler_artifact_adapter.ts
index 57391abbe..57391abbe 100644
--- a/packages/sol-cov/src/artifact_adapters/sol_compiler_artifact_adapter.ts
+++ b/packages/sol-trace-based-tools-common/src/artifact_adapters/sol_compiler_artifact_adapter.ts
diff --git a/packages/sol-cov/src/artifact_adapters/truffle_artifact_adapter.ts b/packages/sol-trace-based-tools-common/src/artifact_adapters/truffle_artifact_adapter.ts
index f064911d3..bb2b15153 100644
--- a/packages/sol-cov/src/artifact_adapters/truffle_artifact_adapter.ts
+++ b/packages/sol-trace-based-tools-common/src/artifact_adapters/truffle_artifact_adapter.ts
@@ -80,7 +80,7 @@ export class TruffleArtifactAdapter extends AbstractArtifactAdapter {
throw new Error(
`${artifact.contractName} was compiled with solidity ${compilerVersion} but specified version is ${
this._solcVersion
- } making it impossible for sol-cov to process traces`,
+ } making it impossible to process traces`,
);
}
}
diff --git a/packages/sol-cov/src/ast_visitor.ts b/packages/sol-trace-based-tools-common/src/ast_visitor.ts
index e55cdf6ec..e55cdf6ec 100644
--- a/packages/sol-cov/src/ast_visitor.ts
+++ b/packages/sol-trace-based-tools-common/src/ast_visitor.ts
diff --git a/packages/sol-cov/src/collect_coverage_entries.ts b/packages/sol-trace-based-tools-common/src/collect_coverage_entries.ts
index bdbcd613e..bdbcd613e 100644
--- a/packages/sol-cov/src/collect_coverage_entries.ts
+++ b/packages/sol-trace-based-tools-common/src/collect_coverage_entries.ts
diff --git a/packages/sol-cov/src/constants.ts b/packages/sol-trace-based-tools-common/src/constants.ts
index 34d62b537..34d62b537 100644
--- a/packages/sol-cov/src/constants.ts
+++ b/packages/sol-trace-based-tools-common/src/constants.ts
diff --git a/packages/sol-cov/src/get_source_range_snippet.ts b/packages/sol-trace-based-tools-common/src/get_source_range_snippet.ts
index bea17beae..f578675d3 100644
--- a/packages/sol-cov/src/get_source_range_snippet.ts
+++ b/packages/sol-trace-based-tools-common/src/get_source_range_snippet.ts
@@ -15,6 +15,11 @@ interface ASTInfo {
// Parsing source code for each transaction/code is slow and therefore we cache it
const parsedSourceByHash: { [sourceHash: string]: Parser.ASTNode } = {};
+/**
+ * Gets the source range snippet by source range to be used by revert trace.
+ * @param sourceRange source range
+ * @param sourceCode source code
+ */
export function getSourceRangeSnippet(sourceRange: SourceRange, sourceCode: string): SourceSnippet | null {
const sourceHash = ethUtil.sha3(sourceCode).toString('hex');
if (_.isUndefined(parsedSourceByHash[sourceHash])) {
diff --git a/packages/sol-trace-based-tools-common/src/globals.d.ts b/packages/sol-trace-based-tools-common/src/globals.d.ts
new file mode 100644
index 000000000..e799b3529
--- /dev/null
+++ b/packages/sol-trace-based-tools-common/src/globals.d.ts
@@ -0,0 +1,7 @@
+// tslint:disable:completed-docs
+declare module '*.json' {
+ const json: any;
+ /* tslint:disable */
+ export default json;
+ /* tslint:enable */
+}
diff --git a/packages/sol-trace-based-tools-common/src/index.ts b/packages/sol-trace-based-tools-common/src/index.ts
new file mode 100644
index 000000000..413e5305e
--- /dev/null
+++ b/packages/sol-trace-based-tools-common/src/index.ts
@@ -0,0 +1,39 @@
+export { SolCompilerArtifactAdapter } from './artifact_adapters/sol_compiler_artifact_adapter';
+export { TruffleArtifactAdapter } from './artifact_adapters/truffle_artifact_adapter';
+export { AbstractArtifactAdapter } from './artifact_adapters/abstract_artifact_adapter';
+
+export {
+ ContractData,
+ EvmCallStack,
+ SourceRange,
+ SourceSnippet,
+ StatementCoverage,
+ StatementDescription,
+ BranchCoverage,
+ BranchDescription,
+ Subtrace,
+ TraceInfo,
+ Coverage,
+ LineColumn,
+ LineCoverage,
+ FunctionCoverage,
+ FunctionDescription,
+ SingleFileSourceRange,
+ BranchMap,
+ EvmCallStackEntry,
+ FnMap,
+ LocationByOffset,
+ StatementMap,
+ TraceInfoBase,
+ TraceInfoExistingContract,
+ TraceInfoNewContract,
+} from './types';
+export { collectCoverageEntries } from './collect_coverage_entries';
+export { TraceCollector, SingleFileSubtraceHandler } from './trace_collector';
+export { TraceInfoSubprovider } from './trace_info_subprovider';
+export { utils } from './utils';
+export { constants } from './constants';
+export { parseSourceMap } from './source_maps';
+export { getSourceRangeSnippet } from './get_source_range_snippet';
+export { getRevertTrace } from './revert_trace';
+export { TraceCollectionSubprovider } from './trace_collection_subprovider';
diff --git a/packages/sol-cov/src/instructions.ts b/packages/sol-trace-based-tools-common/src/instructions.ts
index 40987dbe5..40987dbe5 100644
--- a/packages/sol-cov/src/instructions.ts
+++ b/packages/sol-trace-based-tools-common/src/instructions.ts
diff --git a/packages/sol-cov/src/revert_trace.ts b/packages/sol-trace-based-tools-common/src/revert_trace.ts
index d60c6e7d9..4d474120c 100644
--- a/packages/sol-cov/src/revert_trace.ts
+++ b/packages/sol-trace-based-tools-common/src/revert_trace.ts
@@ -6,6 +6,11 @@ import * as _ from 'lodash';
import { EvmCallStack } from './types';
import { utils } from './utils';
+/**
+ * Converts linear trace to a call stack by following calls and returns
+ * @param structLogs Linear trace
+ * @param startAddress The address of initial context
+ */
export function getRevertTrace(structLogs: StructLog[], startAddress: string): EvmCallStack {
const evmCallStack: EvmCallStack = [];
const addressStack = [startAddress];
@@ -55,7 +60,7 @@ export function getRevertTrace(structLogs: StructLog[], startAddress: string): E
// TODO: Refactor this logic to fetch the sub-called contract bytecode before the selfdestruct is called
// in order to handle this edge-case.
logUtils.warn(
- "Detected a selfdestruct. Sol-cov currently doesn't support that scenario. We'll just skip the trace part for a destructed contract",
+ "Detected a selfdestruct. We currently do not support that scenario. We'll just skip the trace part for a destructed contract",
);
}
} else if (structLog.op === OpCode.Revert) {
@@ -67,7 +72,7 @@ export function getRevertTrace(structLogs: StructLog[], startAddress: string): E
} else if (structLog.op === OpCode.Create) {
// TODO: Extract the new contract address from the stack and handle that scenario
logUtils.warn(
- "Detected a contract created from within another contract. Sol-cov currently doesn't support that scenario. We'll just skip that trace",
+ "Detected a contract created from within another contract. We currently do not support that scenario. We'll just skip that trace",
);
return [];
} else {
diff --git a/packages/sol-cov/src/source_maps.ts b/packages/sol-trace-based-tools-common/src/source_maps.ts
index 90b21dda1..7191fb712 100644
--- a/packages/sol-cov/src/source_maps.ts
+++ b/packages/sol-trace-based-tools-common/src/source_maps.ts
@@ -1,7 +1,7 @@
import * as _ from 'lodash';
import { getPcToInstructionIndexMapping } from './instructions';
-import { LineColumn, LocationByOffset, SourceRange } from './types';
+import { LocationByOffset, SourceRange } from './types';
const RADIX = 10;
@@ -11,6 +11,10 @@ export interface SourceLocation {
fileIndex: number;
}
+/**
+ * Receives a string with newlines and returns a hash of byte offset to LineColumn
+ * @param str A string to process
+ */
export function getLocationByOffset(str: string): LocationByOffset {
const locationByOffset: LocationByOffset = { 0: { line: 1, column: 0 } };
let currentOffset = 0;
@@ -26,8 +30,14 @@ export function getLocationByOffset(str: string): LocationByOffset {
return locationByOffset;
}
-// Parses a sourcemap string
-// The solidity sourcemap format is documented here: https://github.com/ethereum/solidity/blob/develop/docs/miscellaneous.rst#source-mappings
+/**
+ * Parses a sourcemap string.
+ * The solidity sourcemap format is documented here: https://github.com/ethereum/solidity/blob/develop/docs/miscellaneous.rst#source-mappings
+ * @param sourceCodes sources contents
+ * @param srcMap source map string
+ * @param bytecodeHex contract bytecode
+ * @param sources sources file names
+ */
export function parseSourceMap(
sourceCodes: string[],
srcMap: string,
diff --git a/packages/sol-cov/src/trace.ts b/packages/sol-trace-based-tools-common/src/trace.ts
index b38dbdce0..770080af3 100644
--- a/packages/sol-cov/src/trace.ts
+++ b/packages/sol-trace-based-tools-common/src/trace.ts
@@ -8,6 +8,11 @@ export interface TraceByContractAddress {
[contractAddress: string]: StructLog[];
}
+/**
+ * Converts linear stack trace to `TraceByContractAddress`.
+ * @param structLogs stack trace
+ * @param startAddress initial context address
+ */
export function getTracesByContractAddress(structLogs: StructLog[], startAddress: string): TraceByContractAddress {
const traceByContractAddress: TraceByContractAddress = {};
let currentTraceSegment = [];
@@ -58,13 +63,13 @@ export function getTracesByContractAddress(structLogs: StructLog[], startAddress
// TODO: Refactor this logic to fetch the sub-called contract bytecode before the selfdestruct is called
// in order to handle this edge-case.
logUtils.warn(
- "Detected a selfdestruct. Sol-cov currently doesn't support that scenario. We'll just skip the trace part for a destructed contract",
+ "Detected a selfdestruct. We currently do not support that scenario. We'll just skip the trace part for a destructed contract",
);
}
} else if (structLog.op === OpCode.Create) {
// TODO: Extract the new contract address from the stack and handle that scenario
logUtils.warn(
- "Detected a contract created from within another contract. Sol-cov currently doesn't support that scenario. We'll just skip that trace",
+ "Detected a contract created from within another contract. We currently do not support that scenario. We'll just skip that trace",
);
return traceByContractAddress;
} else {
diff --git a/packages/sol-cov/src/trace_collection_subprovider.ts b/packages/sol-trace-based-tools-common/src/trace_collection_subprovider.ts
index 25e38768d..25e38768d 100644
--- a/packages/sol-cov/src/trace_collection_subprovider.ts
+++ b/packages/sol-trace-based-tools-common/src/trace_collection_subprovider.ts
diff --git a/packages/sol-cov/src/trace_collector.ts b/packages/sol-trace-based-tools-common/src/trace_collector.ts
index 44cffc238..8ba71f4df 100644
--- a/packages/sol-cov/src/trace_collector.ts
+++ b/packages/sol-trace-based-tools-common/src/trace_collector.ts
@@ -51,7 +51,7 @@ export class TraceCollector {
singleFileSubtraceHandler: SingleFileSubtraceHandler,
) {
this._artifactAdapter = artifactAdapter;
- this._logger = getLogger('sol-cov');
+ this._logger = getLogger('sol-trace-based-tools-common');
this._logger.setLevel(isVerbose ? levels.TRACE : levels.ERROR);
this._singleFileSubtraceHandler = singleFileSubtraceHandler;
}
diff --git a/packages/sol-cov/src/trace_info_subprovider.ts b/packages/sol-trace-based-tools-common/src/trace_info_subprovider.ts
index 635a68f58..635a68f58 100644
--- a/packages/sol-cov/src/trace_info_subprovider.ts
+++ b/packages/sol-trace-based-tools-common/src/trace_info_subprovider.ts
diff --git a/packages/sol-cov/src/types.ts b/packages/sol-trace-based-tools-common/src/types.ts
index 54ade0400..54ade0400 100644
--- a/packages/sol-cov/src/types.ts
+++ b/packages/sol-trace-based-tools-common/src/types.ts
diff --git a/packages/sol-cov/src/utils.ts b/packages/sol-trace-based-tools-common/src/utils.ts
index d8bc65e73..d8bc65e73 100644
--- a/packages/sol-cov/src/utils.ts
+++ b/packages/sol-trace-based-tools-common/src/utils.ts
diff --git a/packages/sol-cov/test/collect_coverage_entries_test.ts b/packages/sol-trace-based-tools-common/test/collect_coverage_entries_test.ts
index 7832ec316..7832ec316 100644
--- a/packages/sol-cov/test/collect_coverage_entries_test.ts
+++ b/packages/sol-trace-based-tools-common/test/collect_coverage_entries_test.ts
diff --git a/packages/sol-cov/test/fixtures/contracts/AllSolidityFeatures.sol b/packages/sol-trace-based-tools-common/test/fixtures/contracts/AllSolidityFeatures.sol
index 21137347e..21137347e 100644
--- a/packages/sol-cov/test/fixtures/contracts/AllSolidityFeatures.sol
+++ b/packages/sol-trace-based-tools-common/test/fixtures/contracts/AllSolidityFeatures.sol
diff --git a/packages/sol-cov/test/fixtures/contracts/SimpleStorage.sol b/packages/sol-trace-based-tools-common/test/fixtures/contracts/SimpleStorage.sol
index e4b4ac246..e4b4ac246 100644
--- a/packages/sol-cov/test/fixtures/contracts/SimpleStorage.sol
+++ b/packages/sol-trace-based-tools-common/test/fixtures/contracts/SimpleStorage.sol
diff --git a/packages/sol-cov/test/fixtures/contracts/Simplest.sol b/packages/sol-trace-based-tools-common/test/fixtures/contracts/Simplest.sol
index d71016e07..d71016e07 100644
--- a/packages/sol-cov/test/fixtures/contracts/Simplest.sol
+++ b/packages/sol-trace-based-tools-common/test/fixtures/contracts/Simplest.sol
diff --git a/packages/sol-cov/test/fixtures/contracts/SolcovIgnore.sol b/packages/sol-trace-based-tools-common/test/fixtures/contracts/SolcovIgnore.sol
index a7977ffb4..a7977ffb4 100644
--- a/packages/sol-cov/test/fixtures/contracts/SolcovIgnore.sol
+++ b/packages/sol-trace-based-tools-common/test/fixtures/contracts/SolcovIgnore.sol
diff --git a/packages/sol-cov/test/instructions_test.ts b/packages/sol-trace-based-tools-common/test/instructions_test.ts
index 058053cf9..058053cf9 100644
--- a/packages/sol-cov/test/instructions_test.ts
+++ b/packages/sol-trace-based-tools-common/test/instructions_test.ts
diff --git a/packages/sol-cov/test/sol_compiler_artifact_adapter_test.ts b/packages/sol-trace-based-tools-common/test/sol_compiler_artifact_adapter_test.ts
index 9c58d2cef..9c58d2cef 100644
--- a/packages/sol-cov/test/sol_compiler_artifact_adapter_test.ts
+++ b/packages/sol-trace-based-tools-common/test/sol_compiler_artifact_adapter_test.ts
diff --git a/packages/sol-cov/test/source_maps_test.ts b/packages/sol-trace-based-tools-common/test/source_maps_test.ts
index 5820bedd7..5820bedd7 100644
--- a/packages/sol-cov/test/source_maps_test.ts
+++ b/packages/sol-trace-based-tools-common/test/source_maps_test.ts
diff --git a/packages/sol-cov/test/trace_test.ts b/packages/sol-trace-based-tools-common/test/trace_test.ts
index 7a034362c..7a034362c 100644
--- a/packages/sol-cov/test/trace_test.ts
+++ b/packages/sol-trace-based-tools-common/test/trace_test.ts
diff --git a/packages/sol-cov/test/utils_test.ts b/packages/sol-trace-based-tools-common/test/utils_test.ts
index 6fc8fcfe1..6fc8fcfe1 100644
--- a/packages/sol-cov/test/utils_test.ts
+++ b/packages/sol-trace-based-tools-common/test/utils_test.ts
diff --git a/packages/sol-cov/tsconfig.json b/packages/sol-trace-based-tools-common/tsconfig.json
index 2ee711adc..2ee711adc 100644
--- a/packages/sol-cov/tsconfig.json
+++ b/packages/sol-trace-based-tools-common/tsconfig.json
diff --git a/packages/sol-trace-based-tools-common/tslint.json b/packages/sol-trace-based-tools-common/tslint.json
new file mode 100644
index 000000000..dd9053357
--- /dev/null
+++ b/packages/sol-trace-based-tools-common/tslint.json
@@ -0,0 +1,3 @@
+{
+ "extends": ["@0x/tslint-config"]
+}
diff --git a/packages/sol-trace/.npmignore b/packages/sol-trace/.npmignore
new file mode 100644
index 000000000..037786e46
--- /dev/null
+++ b/packages/sol-trace/.npmignore
@@ -0,0 +1,6 @@
+.*
+yarn-error.log
+/src/
+/scripts/
+tsconfig.json
+/lib/src/monorepo_scripts/
diff --git a/packages/sol-trace/CHANGELOG.json b/packages/sol-trace/CHANGELOG.json
new file mode 100644
index 000000000..ca6048d99
--- /dev/null
+++ b/packages/sol-trace/CHANGELOG.json
@@ -0,0 +1,12 @@
+[
+ {
+ "version": "1.0.0",
+ "changes": [
+ {
+ "note":
+ "Initial release as a separate package. For historic entries check @0x/sol-trace-based-tools-common",
+ "pr": 1492
+ }
+ ]
+ }
+]
diff --git a/packages/sol-trace/README.md b/packages/sol-trace/README.md
new file mode 100644
index 000000000..dba193426
--- /dev/null
+++ b/packages/sol-trace/README.md
@@ -0,0 +1,75 @@
+## @0x/sol-trace
+
+Prints code traces when revert happens.
+
+### Read the [Documentation](https://0xproject.com/docs/sol-trace).
+
+## Installation
+
+```bash
+yarn add @0x/sol-trace
+```
+
+**Import**
+
+```javascript
+import { RevertTraceSubprovider } from '@0x/sol-trace';
+```
+
+or
+
+```javascript
+var RevertTraceSubprovider = require('@0x/sol-trace').RevertTraceSubprovider;
+```
+
+## Contributing
+
+We welcome improvements and fixes from the wider community! To report bugs within this package, please create an issue in this repository.
+
+Please read our [contribution guidelines](../../CONTRIBUTING.md) before getting started.
+
+### Install dependencies
+
+If you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:
+
+```bash
+yarn config set workspaces-experimental true
+```
+
+Then install dependencies
+
+```bash
+yarn install
+```
+
+### Build
+
+To build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:
+
+```bash
+PKG=@0x/sol-trace yarn build
+```
+
+Or continuously rebuild on change:
+
+```bash
+PKG=@0x/sol-trace yarn watch
+```
+
+### Clean
+
+```bash
+yarn clean
+```
+
+### Lint
+
+```bash
+yarn lint
+```
+
+### Run Tests
+
+```bash
+yarn test
+```
diff --git a/packages/sol-trace/package.json b/packages/sol-trace/package.json
new file mode 100644
index 000000000..fd80c541e
--- /dev/null
+++ b/packages/sol-trace/package.json
@@ -0,0 +1,52 @@
+{
+ "name": "@0x/sol-trace",
+ "version": "1.0.0",
+ "engines": {
+ "node": ">=6.12"
+ },
+ "description": "Prints stack trace on Solidity revert",
+ "main": "lib/src/index.js",
+ "types": "lib/src/index.d.ts",
+ "scripts": {
+ "build": "tsc -b",
+ "build:ci": "yarn build",
+ "lint": "tslint --format stylish --project .",
+ "clean": "shx rm -rf lib src/artifacts generated_docs",
+ "docs:json": "typedoc --excludePrivate --excludeExternals --target ES5 --tsconfig typedoc-tsconfig.json --json $JSON_FILE_PATH $PROJECT_FILES"
+ },
+ "config": {
+ "postpublish": {
+ "assets": []
+ }
+ },
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/0xProject/0x-monorepo.git"
+ },
+ "license": "Apache-2.0",
+ "bugs": {
+ "url": "https://github.com/0xProject/0x-monorepo/issues"
+ },
+ "homepage": "https://github.com/0xProject/0x-monorepo/packages/sol-trace/README.md",
+ "dependencies": {
+ "@0x/subproviders": "^2.1.8",
+ "@0x/typescript-typings": "^3.0.6",
+ "@0x/sol-trace-based-tools-common": "^2.1.16",
+ "ethereum-types": "^1.1.4",
+ "ethereumjs-util": "^5.1.1",
+ "lodash": "^4.17.5",
+ "loglevel": "^1.6.1"
+ },
+ "devDependencies": {
+ "@0x/tslint-config": "^2.0.0",
+ "@types/loglevel": "^1.5.3",
+ "@types/node": "*",
+ "npm-run-all": "^4.1.2",
+ "shx": "^0.2.2",
+ "tslint": "5.11.0",
+ "typescript": "3.0.1"
+ },
+ "publishConfig": {
+ "access": "public"
+ }
+}
diff --git a/packages/sol-trace/src/globals.d.ts b/packages/sol-trace/src/globals.d.ts
new file mode 100644
index 000000000..e799b3529
--- /dev/null
+++ b/packages/sol-trace/src/globals.d.ts
@@ -0,0 +1,7 @@
+// tslint:disable:completed-docs
+declare module '*.json' {
+ const json: any;
+ /* tslint:disable */
+ export default json;
+ /* tslint:enable */
+}
diff --git a/packages/sol-trace/src/index.ts b/packages/sol-trace/src/index.ts
new file mode 100644
index 000000000..1f3ca3a99
--- /dev/null
+++ b/packages/sol-trace/src/index.ts
@@ -0,0 +1,24 @@
+export {
+ AbstractArtifactAdapter,
+ TruffleArtifactAdapter,
+ SolCompilerArtifactAdapter,
+ ContractData,
+} from '@0x/sol-trace-based-tools-common';
+
+export { RevertTraceSubprovider } from './revert_trace_subprovider';
+
+export {
+ JSONRPCRequestPayload,
+ Provider,
+ JSONRPCErrorCallback,
+ JSONRPCResponsePayload,
+ JSONRPCResponseError,
+} from 'ethereum-types';
+
+export {
+ JSONRPCRequestPayloadWithMethod,
+ NextCallback,
+ ErrorCallback,
+ OnNextCompleted,
+ Callback,
+} from '@0x/subproviders';
diff --git a/packages/sol-cov/src/revert_trace_subprovider.ts b/packages/sol-trace/src/revert_trace_subprovider.ts
index 6ccf59653..37e62b3f8 100644
--- a/packages/sol-cov/src/revert_trace_subprovider.ts
+++ b/packages/sol-trace/src/revert_trace_subprovider.ts
@@ -1,16 +1,20 @@
+import {
+ AbstractArtifactAdapter,
+ constants,
+ ContractData,
+ EvmCallStack,
+ getRevertTrace,
+ getSourceRangeSnippet,
+ parseSourceMap,
+ SourceRange,
+ SourceSnippet,
+ TraceCollectionSubprovider,
+ utils,
+} from '@0x/sol-trace-based-tools-common';
import { stripHexPrefix } from 'ethereumjs-util';
import * as _ from 'lodash';
import { getLogger, levels, Logger } from 'loglevel';
-import { AbstractArtifactAdapter } from './artifact_adapters/abstract_artifact_adapter';
-import { constants } from './constants';
-import { getSourceRangeSnippet } from './get_source_range_snippet';
-import { getRevertTrace } from './revert_trace';
-import { parseSourceMap } from './source_maps';
-import { TraceCollectionSubprovider } from './trace_collection_subprovider';
-import { ContractData, EvmCallStack, SourceRange, SourceSnippet } from './types';
-import { utils } from './utils';
-
/**
* This class implements the [web3-provider-engine](https://github.com/MetaMask/provider-engine) subprovider interface.
* It is used to report call stack traces whenever a revert occurs.
@@ -35,7 +39,7 @@ export class RevertTraceSubprovider extends TraceCollectionSubprovider {
};
super(defaultFromAddress, traceCollectionSubproviderConfig);
this._artifactAdapter = artifactAdapter;
- this._logger = getLogger('sol-cov');
+ this._logger = getLogger('sol-trace');
this._logger.setLevel(isVerbose ? levels.TRACE : levels.ERROR);
}
// tslint:disable-next-line:no-unused-variable
diff --git a/packages/sol-trace/tsconfig.json b/packages/sol-trace/tsconfig.json
new file mode 100644
index 000000000..233008d61
--- /dev/null
+++ b/packages/sol-trace/tsconfig.json
@@ -0,0 +1,8 @@
+{
+ "extends": "../../tsconfig",
+ "compilerOptions": {
+ "outDir": "lib",
+ "rootDir": "."
+ },
+ "include": ["./src/**/*"]
+}
diff --git a/packages/sol-trace/tslint.json b/packages/sol-trace/tslint.json
new file mode 100644
index 000000000..dd9053357
--- /dev/null
+++ b/packages/sol-trace/tslint.json
@@ -0,0 +1,3 @@
+{
+ "extends": ["@0x/tslint-config"]
+}
diff --git a/packages/sol-trace/typedoc-tsconfig.json b/packages/sol-trace/typedoc-tsconfig.json
new file mode 100644
index 000000000..a4c669cb6
--- /dev/null
+++ b/packages/sol-trace/typedoc-tsconfig.json
@@ -0,0 +1,7 @@
+{
+ "extends": "../../typedoc-tsconfig",
+ "compilerOptions": {
+ "outDir": "lib"
+ },
+ "include": ["./src/**/*"]
+}
diff --git a/packages/sra-spec/src/md/introduction.md b/packages/sra-spec/src/md/introduction.md
index 824df8998..ce61abff6 100644
--- a/packages/sra-spec/src/md/introduction.md
+++ b/packages/sra-spec/src/md/introduction.md
@@ -1,12 +1,12 @@
# Schemas
-The [JSON schemas](http://json-schema.org/) for the API payloads and responses can be found in [@0xproject/json-schemas](https://github.com/0xProject/0x.js/tree/development/packages/json-schemas). Examples of each payload and response can be found in the library's [test suite](https://github.com/0xProject/0x.js/blob/development/packages/json-schemas/test/schema_test.ts#L1).
+The [JSON schemas](http://json-schema.org/) for the API payloads and responses can be found in [@0xproject/json-schemas](https://github.com/0xProject/0x-monorepo/tree/development/packages/json-schemas). Examples of each payload and response can be found in the library's [test suite](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/test/schema_test.ts#L1).
```bash
npm install @0xproject/json-schemas --save
```
-You can easily validate your API's payloads and responses using the [@0xproject/json-schemas](https://github.com/0xProject/0x.js/tree/development/packages/json-schemas) package:
+You can easily validate your API's payloads and responses using the [@0xproject/json-schemas](https://github.com/0xProject/0x-monorepo/tree/development/packages/json-schemas) package:
```js
import {SchemaValidator, ValidatorResult, schemas} from '@0xproject/json-schemas';
diff --git a/packages/website/md/docs/sol_cov/1/installation.md b/packages/website/md/docs/sol_cov/1/installation.md
deleted file mode 100644
index b9ce25a5f..000000000
--- a/packages/website/md/docs/sol_cov/1/installation.md
+++ /dev/null
@@ -1,17 +0,0 @@
-**Install**
-
-```bash
-yarn add @0xproject/sol-cov
-```
-
-**Import**
-
-```javascript
-import { CoverageSubprovider } from '@0xproject/sol-cov';
-```
-
-or
-
-```javascript
-var CoverageSubprovider = require('@0xproject/sol-cov').CoverageSubprovider;
-```
diff --git a/packages/website/md/docs/sol_cov/1/introduction.md b/packages/website/md/docs/sol_cov/1/introduction.md
deleted file mode 100644
index 7064a3554..000000000
--- a/packages/website/md/docs/sol_cov/1/introduction.md
+++ /dev/null
@@ -1 +0,0 @@
-Welcome to the [@0xproject/sol-cov](https://github.com/0xProject/0x-monorepo/tree/development/packages/sol-cov) documentation! Sol-cov is a Solidity coverage tool for your smart contract tests.
diff --git a/packages/website/md/docs/sol_cov/2/installation.md b/packages/website/md/docs/sol_cov/2/installation.md
deleted file mode 100644
index 1d4557cf5..000000000
--- a/packages/website/md/docs/sol_cov/2/installation.md
+++ /dev/null
@@ -1,17 +0,0 @@
-**Install**
-
-```bash
-yarn add @0x/sol-cov
-```
-
-**Import**
-
-```javascript
-import { CoverageSubprovider } from '@0x/sol-cov';
-```
-
-or
-
-```javascript
-var CoverageSubprovider = require('@0x/sol-cov').CoverageSubprovider;
-```
diff --git a/packages/website/md/docs/sol_cov/2/introduction.md b/packages/website/md/docs/sol_cov/2/introduction.md
deleted file mode 100644
index ac3256845..000000000
--- a/packages/website/md/docs/sol_cov/2/introduction.md
+++ /dev/null
@@ -1 +0,0 @@
-Welcome to the [sol-cov](https://github.com/0xProject/0x-monorepo/tree/development/packages/sol-cov) documentation! Sol-cov is a Solidity coverage tool for your smart contract tests.
diff --git a/packages/website/md/docs/sol_coverage/installation.md b/packages/website/md/docs/sol_coverage/installation.md
new file mode 100644
index 000000000..c7aaf07e9
--- /dev/null
+++ b/packages/website/md/docs/sol_coverage/installation.md
@@ -0,0 +1,17 @@
+**Install**
+
+```bash
+yarn add @0x/sol-coverage
+```
+
+**Import**
+
+```javascript
+import { CoverageSubprovider } from '@0x/sol-coverage';
+```
+
+or
+
+```javascript
+var CoverageSubprovider = require('@0x/sol-coverage').CoverageSubprovider;
+```
diff --git a/packages/website/md/docs/sol_coverage/introduction.md b/packages/website/md/docs/sol_coverage/introduction.md
new file mode 100644
index 000000000..3214e93a9
--- /dev/null
+++ b/packages/website/md/docs/sol_coverage/introduction.md
@@ -0,0 +1 @@
+Welcome to the [sol-coverage](https://github.com/0xProject/0x-monorepo/tree/development/packages/sol-coverage) documentation! Sol-coverage is a Solidity coverage tool for your smart contract tests.
diff --git a/packages/website/md/docs/sol_cov/2/usage.md b/packages/website/md/docs/sol_coverage/usage.md
index 8e33f3bf5..dd3cdf597 100644
--- a/packages/website/md/docs/sol_cov/2/usage.md
+++ b/packages/website/md/docs/sol_coverage/usage.md
@@ -1,4 +1,4 @@
-Sol-cov uses transaction traces in order to figure out which lines of Solidity source code have been covered by your tests. In order for it to gather these traces, you must add the `CoverageSubprovider` to the [ProviderEngine](https://github.com/MetaMask/provider-engine) instance you use when running your Solidity tests. If you're unfamiliar with ProviderEngine, please read the [Web3 Provider explained](https://0x.org/wiki#Web3-Provider-Explained) wiki article.
+Sol-coverage uses transaction traces in order to figure out which lines of Solidity source code have been covered by your tests. In order for it to gather these traces, you must add the `CoverageSubprovider` to the [ProviderEngine](https://github.com/MetaMask/provider-engine) instance you use when running your Solidity tests. If you're unfamiliar with ProviderEngine, please read the [Web3 Provider explained](https://0x.org/wiki#Web3-Provider-Explained) wiki article.
The CoverageSubprovider eavesdrops on the `eth_sendTransaction` and `eth_call` RPC calls and collects traces after each call using `debug_traceTransaction`. `eth_call`'s' don't generate traces - so we take a snapshot, re-submit it as a transaction, get the trace and then revert the snapshot.
@@ -11,7 +11,7 @@ In order to use `CoverageSubprovider` with your favorite framework you need to p
If you are generating your artifacts with [@0x/sol-compiler](https://0x.org/docs/sol-compiler) you can use the `SolCompilerArtifactsAdapter` we've implemented for you.
```typescript
-import { SolCompilerArtifactsAdapter } from '@0x/sol-cov';
+import { SolCompilerArtifactsAdapter } from '@0x/sol-coverage';
const artifactsPath = 'src/artifacts';
const contractsPath = 'src/contracts';
const artifactsAdapter = new SolCompilerArtifactsAdapter(artifactsPath, contractsPath);
@@ -22,7 +22,7 @@ const artifactsAdapter = new SolCompilerArtifactsAdapter(artifactsPath, contract
If your project is using [Truffle](https://truffleframework.com/), we've written a `TruffleArtifactsAdapter`for you.
```typescript
-import { TruffleArtifactAdapter } from '@0x/sol-cov';
+import { TruffleArtifactAdapter } from '@0x/sol-coverage';
const contractsPath = 'src/contracts';
const artifactAdapter = new TruffleArtifactAdapter(contractsDir);
```
@@ -37,7 +37,7 @@ Look at the code of the two adapters above for examples.
### Usage
```typescript
-import { CoverageSubprovider } from '@0x/sol-cov';
+import { CoverageSubprovider } from '@0x/sol-coverage';
import ProviderEngine = require('web3-provider-engine');
const provider = new ProviderEngine();
diff --git a/packages/website/md/docs/sol_profiler/installation.md b/packages/website/md/docs/sol_profiler/installation.md
new file mode 100644
index 000000000..be9a365f5
--- /dev/null
+++ b/packages/website/md/docs/sol_profiler/installation.md
@@ -0,0 +1,17 @@
+**Install**
+
+```bash
+yarn add @0x/sol-profiler
+```
+
+**Import**
+
+```javascript
+import { ProfilerSubprovider } from '@0x/sol-profiler';
+```
+
+or
+
+```javascript
+var ProfilerSubprovider = require('@0x/sol-profiler').ProfilerSubprovider;
+```
diff --git a/packages/website/md/docs/sol_profiler/introduction.md b/packages/website/md/docs/sol_profiler/introduction.md
new file mode 100644
index 000000000..bd53fb0fe
--- /dev/null
+++ b/packages/website/md/docs/sol_profiler/introduction.md
@@ -0,0 +1 @@
+Welcome to the [sol-profiler](https://github.com/0xProject/0x-monorepo/tree/development/packages/sol-profiler) documentation! Sol-profiler is a Solidity profiler tool.
diff --git a/packages/website/md/docs/sol_cov/1/usage.md b/packages/website/md/docs/sol_profiler/usage.md
index c2b8404af..35ea140da 100644
--- a/packages/website/md/docs/sol_cov/1/usage.md
+++ b/packages/website/md/docs/sol_profiler/usage.md
@@ -1,17 +1,17 @@
-Sol-cov uses transaction traces in order to figure out which lines of Solidity source code have been covered by your tests. In order for it to gather these traces, you must add the `CoverageSubprovider` to the [ProviderEngine](https://github.com/MetaMask/provider-engine) instance you use when running your Solidity tests. If you're unfamiliar with ProviderEngine, please read the [Web3 Provider explained](https://0x.org/wiki#Web3-Provider-Explained) wiki article.
+Sol-profiler uses transaction traces in order to figure out which lines of Solidity source code have been covered by your tests. In order for it to gather these traces, you must add the `ProfilerSubprovider` to the [ProviderEngine](https://github.com/MetaMask/provider-engine) instance you use when running your Solidity tests. If you're unfamiliar with ProviderEngine, please read the [Web3 Provider explained](https://0x.org/wiki#Web3-Provider-Explained) wiki article.
-The CoverageSubprovider eavesdrops on the `eth_sendTransaction` and `eth_call` RPC calls and collects traces after each call using `debug_traceTransaction`. `eth_call`'s' don't generate traces - so we take a snapshot, re-submit it as a transaction, get the trace and then revert the snapshot.
+The ProfilerSubprovider eavesdrops on the `eth_sendTransaction` and `eth_call` RPC calls and collects traces after each call using `debug_traceTransaction`. `eth_call`'s' don't generate traces - so we take a snapshot, re-submit it as a transaction, get the trace and then revert the snapshot.
-Coverage subprovider needs some info about your contracts (`srcMap`, `bytecode`). It gets that info from your project's artifacts. Some frameworks have their own artifact format. Some artifact formats don't actually contain all the neccessary data.
+Profiler subprovider needs some info about your contracts (`srcMap`, `bytecode`). It gets that info from your project's artifacts. Some frameworks have their own artifact format. Some artifact formats don't actually contain all the neccessary data.
-In order to use `CoverageSubprovider` with your favorite framework you need to pass an `artifactsAdapter` to it.
+In order to use `ProfilerSubprovider` with your favorite framework you need to pass an `artifactsAdapter` to it.
### Sol-compiler
-If you are generating your artifacts with [@0xproject/sol-compiler](https://0x.org/docs/sol-compiler) you can use the `SolCompilerArtifactsAdapter` we've implemented for you.
+If you are generating your artifacts with [@0x/sol-compiler](https://0x.org/docs/sol-compiler) you can use the `SolCompilerArtifactsAdapter` we've implemented for you.
```typescript
-import { SolCompilerArtifactsAdapter } from '@0xproject/sol-cov';
+import { SolCompilerArtifactsAdapter } from '@0x/sol-profiler';
const artifactsPath = 'src/artifacts';
const contractsPath = 'src/contracts';
const artifactsAdapter = new SolCompilerArtifactsAdapter(artifactsPath, contractsPath);
@@ -22,7 +22,7 @@ const artifactsAdapter = new SolCompilerArtifactsAdapter(artifactsPath, contract
If your project is using [Truffle](https://truffleframework.com/), we've written a `TruffleArtifactsAdapter`for you.
```typescript
-import { TruffleArtifactAdapter } from '@0xproject/sol-cov';
+import { TruffleArtifactAdapter } from '@0x/sol-profiler';
const contractsPath = 'src/contracts';
const artifactAdapter = new TruffleArtifactAdapter(contractsDir);
```
@@ -37,7 +37,7 @@ Look at the code of the two adapters above for examples.
### Usage
```typescript
-import { CoverageSubprovider } from '@0xproject/sol-cov';
+import { ProfilerSubprovider } from '@0x/sol-profiler';
import ProviderEngine = require('web3-provider-engine');
const provider = new ProviderEngine();
@@ -48,15 +48,15 @@ const networkId = 50;
// Some calls might not have `from` address specified. Nevertheless - transactions need to be submitted from an address with at least some funds. defaultFromAddress is the address that will be used to submit those calls as transactions from.
const defaultFromAddress = '0x5409ed021d9299bf6814279a6a1411a7e866a631';
const isVerbose = true;
-const coverageSubprovider = new CoverageSubprovider(artifactsAdapter, defaultFromAddress, isVerbose);
+const profilerSubprovider = new ProfilerSubprovider(artifactsAdapter, defaultFromAddress, isVerbose);
-provider.addProvider(coverageSubprovider);
+provider.addProvider(profilerSubprovider);
```
After your test suite is complete (e.g in the Mocha global `after` hook), you'll need to call:
```typescript
-await coverageSubprovider.writeCoverageAsync();
+await profilerSubprovider.writeProfilerAsync();
```
-This will create a `coverage.json` file in a `coverage` directory. This file has an [Istanbul format](https://github.com/gotwarlost/istanbul/blob/master/coverage.json.md) - so you can use it with any of the existing Istanbul reporters.
+This will create a `profiler.json` file in a `profiler` directory. This file has an [Istanbul format](https://github.com/gotwarlost/istanbul/blob/master/profiler.json.md) - so you can use it with any of the existing Istanbul reporters.
diff --git a/packages/website/md/docs/sol_trace/installation.md b/packages/website/md/docs/sol_trace/installation.md
new file mode 100644
index 000000000..2f794b2f8
--- /dev/null
+++ b/packages/website/md/docs/sol_trace/installation.md
@@ -0,0 +1,17 @@
+**Install**
+
+```bash
+yarn add @0x/sol-trace
+```
+
+**Import**
+
+```javascript
+import { TraceSubprovider } from '@0x/sol-trace';
+```
+
+or
+
+```javascript
+var TraceSubprovider = require('@0x/sol-trace').TraceSubprovider;
+```
diff --git a/packages/website/md/docs/sol_trace/introduction.md b/packages/website/md/docs/sol_trace/introduction.md
new file mode 100644
index 000000000..21fea764e
--- /dev/null
+++ b/packages/website/md/docs/sol_trace/introduction.md
@@ -0,0 +1 @@
+Welcome to the [sol-trace](https://github.com/0xProject/0x-monorepo/tree/development/packages/sol-trace) documentation! Sol-trace is a Solidity trace tool for your smart contract tests.
diff --git a/packages/website/md/docs/sol_trace/usage.md b/packages/website/md/docs/sol_trace/usage.md
new file mode 100644
index 000000000..f3aa6fc35
--- /dev/null
+++ b/packages/website/md/docs/sol_trace/usage.md
@@ -0,0 +1,62 @@
+Sol-trace uses transaction traces in order to figure out which lines of Solidity source code have been covered by your tests. In order for it to gather these traces, you must add the `TraceSubprovider` to the [ProviderEngine](https://github.com/MetaMask/provider-engine) instance you use when running your Solidity tests. If you're unfamiliar with ProviderEngine, please read the [Web3 Provider explained](https://0x.org/wiki#Web3-Provider-Explained) wiki article.
+
+The TraceSubprovider eavesdrops on the `eth_sendTransaction` and `eth_call` RPC calls and collects traces after each call using `debug_traceTransaction`. `eth_call`'s' don't generate traces - so we take a snapshot, re-submit it as a transaction, get the trace and then revert the snapshot.
+
+Trace subprovider needs some info about your contracts (`srcMap`, `bytecode`). It gets that info from your project's artifacts. Some frameworks have their own artifact format. Some artifact formats don't actually contain all the neccessary data.
+
+In order to use `TraceSubprovider` with your favorite framework you need to pass an `artifactsAdapter` to it.
+
+### Sol-compiler
+
+If you are generating your artifacts with [@0x/sol-compiler](https://0x.org/docs/sol-compiler) you can use the `SolCompilerArtifactsAdapter` we've implemented for you.
+
+```typescript
+import { SolCompilerArtifactsAdapter } from '@0x/sol-trace';
+const artifactsPath = 'src/artifacts';
+const contractsPath = 'src/contracts';
+const artifactsAdapter = new SolCompilerArtifactsAdapter(artifactsPath, contractsPath);
+```
+
+### Truffle
+
+If your project is using [Truffle](https://truffleframework.com/), we've written a `TruffleArtifactsAdapter`for you.
+
+```typescript
+import { TruffleArtifactAdapter } from '@0x/sol-trace';
+const contractsPath = 'src/contracts';
+const artifactAdapter = new TruffleArtifactAdapter(contractsDir);
+```
+
+Because truffle artifacts don't have all the data we need - we actually will recompile your contracts under the hood. That's why you don't need to pass an `artifactsPath`.
+
+### Other framework/toolset
+
+You'll need to write your own artifacts adapter. It should extend `AbstractArtifactsAdapter`.
+Look at the code of the two adapters above for examples.
+
+### Usage
+
+```typescript
+import { TraceSubprovider } from '@0x/sol-trace';
+import ProviderEngine = require('web3-provider-engine');
+
+const provider = new ProviderEngine();
+
+const artifactsPath = 'src/artifacts';
+const contractsPath = 'src/contracts';
+const networkId = 50;
+// Some calls might not have `from` address specified. Nevertheless - transactions need to be submitted from an address with at least some funds. defaultFromAddress is the address that will be used to submit those calls as transactions from.
+const defaultFromAddress = '0x5409ed021d9299bf6814279a6a1411a7e866a631';
+const isVerbose = true;
+const traceSubprovider = new TraceSubprovider(artifactsAdapter, defaultFromAddress, isVerbose);
+
+provider.addProvider(traceSubprovider);
+```
+
+After your test suite is complete (e.g in the Mocha global `after` hook), you'll need to call:
+
+```typescript
+await traceSubprovider.writeTraceAsync();
+```
+
+This will create a `trace.json` file in a `trace` directory. This file has an [Istanbul format](https://github.com/gotwarlost/istanbul/blob/master/trace.json.md) - so you can use it with any of the existing Istanbul reporters.
diff --git a/packages/website/ts/containers/asset_buyer_documentation.ts b/packages/website/ts/containers/asset_buyer_documentation.ts
index c93b9332d..815176e47 100644
--- a/packages/website/ts/containers/asset_buyer_documentation.ts
+++ b/packages/website/ts/containers/asset_buyer_documentation.ts
@@ -1,12 +1,10 @@
-import { DocsInfo, DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
+import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
import * as React from 'react';
import { connect } from 'react-redux';
-import { Dispatch } from 'redux';
import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page';
-import { Dispatcher } from 'ts/redux/dispatcher';
-import { State } from 'ts/redux/reducer';
-import { DocPackages, ScreenWidths } from 'ts/types';
-import { Translate } from 'ts/utils/translate';
+import { DocPackages } from 'ts/types';
+
+import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container';
/* tslint:disable:no-var-requires */
const IntroMarkdown = require('md/docs/asset_buyer/introduction');
@@ -25,7 +23,7 @@ const docsInfoConfig: DocsInfoConfig = {
packageName: '@0x/asset-buyer',
type: SupportedDocJson.TypeDoc,
displayName: 'AssetBuyer',
- packageUrl: 'https://github.com/0xProject/0x-monorepo',
+ packageUrl: 'https://github.com/0xProject/0x-monorepo/packages/asset-buyer',
markdownMenu: {
introduction: [markdownSections.introduction],
install: [markdownSections.installation],
@@ -40,31 +38,7 @@ const docsInfoConfig: DocsInfoConfig = {
},
markdownSections,
};
-const docsInfo = new DocsInfo(docsInfoConfig);
-
-interface ConnectedState {
- docsVersion: string;
- availableDocVersions: string[];
- docsInfo: DocsInfo;
- translate: Translate;
- screenWidth: ScreenWidths;
-}
-
-interface ConnectedDispatch {
- dispatcher: Dispatcher;
-}
-
-const mapStateToProps = (state: State, _ownProps: DocPageProps): ConnectedState => ({
- docsVersion: state.docsVersion,
- availableDocVersions: state.availableDocVersions,
- translate: state.translate,
- docsInfo,
- screenWidth: state.screenWidth,
-});
-
-const mapDispatchToProps = (dispatch: Dispatch<State>): ConnectedDispatch => ({
- dispatcher: new Dispatcher(dispatch),
-});
+const mapStateToProps = getMapStateToProps(docsInfoConfig);
export const Documentation: React.ComponentClass<DocPageProps> = connect(mapStateToProps, mapDispatchToProps)(
DocPageComponent,
diff --git a/packages/website/ts/containers/connect_documentation.ts b/packages/website/ts/containers/connect_documentation.ts
index 0f11e0809..19fd0ee56 100644
--- a/packages/website/ts/containers/connect_documentation.ts
+++ b/packages/website/ts/containers/connect_documentation.ts
@@ -1,12 +1,10 @@
-import { DocsInfo, DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
+import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
import * as React from 'react';
import { connect } from 'react-redux';
-import { Dispatch } from 'redux';
import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page';
-import { Dispatcher } from 'ts/redux/dispatcher';
-import { State } from 'ts/redux/reducer';
-import { DocPackages, ScreenWidths } from 'ts/types';
-import { Translate } from 'ts/utils/translate';
+import { DocPackages } from 'ts/types';
+
+import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container';
/* tslint:disable:no-var-requires */
const IntroMarkdown1 = require('md/docs/connect/1/introduction');
@@ -25,7 +23,7 @@ const docsInfoConfig: DocsInfoConfig = {
packageName: '@0x/connect',
type: SupportedDocJson.TypeDoc,
displayName: '0x Connect',
- packageUrl: 'https://github.com/0xProject/0x-monorepo',
+ packageUrl: 'https://github.com/0xProject/0x-monorepo/packages/connect',
markdownMenu: {
'getting-started': [markdownSections.introduction, markdownSections.installation],
},
@@ -45,31 +43,7 @@ const docsInfoConfig: DocsInfoConfig = {
},
markdownSections,
};
-const docsInfo = new DocsInfo(docsInfoConfig);
-
-interface ConnectedState {
- docsVersion: string;
- availableDocVersions: string[];
- docsInfo: DocsInfo;
- translate: Translate;
- screenWidth: ScreenWidths;
-}
-
-interface ConnectedDispatch {
- dispatcher: Dispatcher;
-}
-
-const mapStateToProps = (state: State, _ownProps: DocPageProps): ConnectedState => ({
- docsVersion: state.docsVersion,
- availableDocVersions: state.availableDocVersions,
- translate: state.translate,
- docsInfo,
- screenWidth: state.screenWidth,
-});
-
-const mapDispatchToProps = (dispatch: Dispatch<State>): ConnectedDispatch => ({
- dispatcher: new Dispatcher(dispatch),
-});
+const mapStateToProps = getMapStateToProps(docsInfoConfig);
export const Documentation: React.ComponentClass<DocPageProps> = connect(mapStateToProps, mapDispatchToProps)(
DocPageComponent,
diff --git a/packages/website/ts/containers/contract_wrappers_documentation.ts b/packages/website/ts/containers/contract_wrappers_documentation.ts
index 4c05605e3..dec95ae62 100644
--- a/packages/website/ts/containers/contract_wrappers_documentation.ts
+++ b/packages/website/ts/containers/contract_wrappers_documentation.ts
@@ -1,12 +1,10 @@
-import { DocsInfo, DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
+import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
import * as React from 'react';
import { connect } from 'react-redux';
-import { Dispatch } from 'redux';
import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page';
-import { Dispatcher } from 'ts/redux/dispatcher';
-import { State } from 'ts/redux/reducer';
-import { DocPackages, ScreenWidths } from 'ts/types';
-import { Translate } from 'ts/utils/translate';
+import { DocPackages } from 'ts/types';
+
+import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container';
/* tslint:disable:no-var-requires */
const IntroMarkdown1 = require('md/docs/contract_wrappers/1/introduction');
@@ -24,7 +22,7 @@ const docsInfoConfig: DocsInfoConfig = {
packageName: '@0x/contract-wrappers',
type: SupportedDocJson.TypeDoc,
displayName: 'Contract Wrappers',
- packageUrl: 'https://github.com/0xProject/0x-monorepo',
+ packageUrl: 'https://github.com/0xProject/0x-monorepo/packages/contract-wrappers',
markdownMenu: {
'getting-started': [markdownSections.introduction, markdownSections.installation],
},
@@ -40,31 +38,7 @@ const docsInfoConfig: DocsInfoConfig = {
},
markdownSections,
};
-const docsInfo = new DocsInfo(docsInfoConfig);
-
-interface ConnectedState {
- docsVersion: string;
- availableDocVersions: string[];
- docsInfo: DocsInfo;
- translate: Translate;
- screenWidth: ScreenWidths;
-}
-
-interface ConnectedDispatch {
- dispatcher: Dispatcher;
-}
-
-const mapStateToProps = (state: State, _ownProps: DocPageProps): ConnectedState => ({
- docsVersion: state.docsVersion,
- availableDocVersions: state.availableDocVersions,
- docsInfo,
- translate: state.translate,
- screenWidth: state.screenWidth,
-});
-
-const mapDispatchToProps = (dispatch: Dispatch<State>): ConnectedDispatch => ({
- dispatcher: new Dispatcher(dispatch),
-});
+const mapStateToProps = getMapStateToProps(docsInfoConfig);
export const Documentation: React.ComponentClass<DocPageProps> = connect(mapStateToProps, mapDispatchToProps)(
DocPageComponent,
diff --git a/packages/website/ts/containers/ethereum_types_documentation.ts b/packages/website/ts/containers/ethereum_types_documentation.ts
index 9d1df1d1f..9b668d515 100644
--- a/packages/website/ts/containers/ethereum_types_documentation.ts
+++ b/packages/website/ts/containers/ethereum_types_documentation.ts
@@ -1,12 +1,10 @@
-import { constants as docConstants, DocsInfo, DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
+import { constants as docConstants, DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
import * as React from 'react';
import { connect } from 'react-redux';
-import { Dispatch } from 'redux';
import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page';
-import { Dispatcher } from 'ts/redux/dispatcher';
-import { State } from 'ts/redux/reducer';
-import { DocPackages, ScreenWidths } from 'ts/types';
-import { Translate } from 'ts/utils/translate';
+import { DocPackages } from 'ts/types';
+
+import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container';
/* tslint:disable:no-var-requires */
const IntroMarkdown = require('md/docs/ethereum_types/introduction');
@@ -36,31 +34,7 @@ const docsInfoConfig: DocsInfoConfig = {
},
markdownSections,
};
-const docsInfo = new DocsInfo(docsInfoConfig);
-
-interface ConnectedState {
- docsVersion: string;
- availableDocVersions: string[];
- docsInfo: DocsInfo;
- translate: Translate;
- screenWidth: ScreenWidths;
-}
-
-interface ConnectedDispatch {
- dispatcher: Dispatcher;
-}
-
-const mapStateToProps = (state: State, _ownProps: DocPageProps): ConnectedState => ({
- docsVersion: state.docsVersion,
- availableDocVersions: state.availableDocVersions,
- translate: state.translate,
- docsInfo,
- screenWidth: state.screenWidth,
-});
-
-const mapDispatchToProps = (dispatch: Dispatch<State>): ConnectedDispatch => ({
- dispatcher: new Dispatcher(dispatch),
-});
+const mapStateToProps = getMapStateToProps(docsInfoConfig);
export const Documentation: React.ComponentClass<DocPageProps> = connect(mapStateToProps, mapDispatchToProps)(
DocPageComponent,
diff --git a/packages/website/ts/containers/json_schemas_documentation.ts b/packages/website/ts/containers/json_schemas_documentation.ts
index 9c4bb8e26..3862ba878 100644
--- a/packages/website/ts/containers/json_schemas_documentation.ts
+++ b/packages/website/ts/containers/json_schemas_documentation.ts
@@ -1,12 +1,10 @@
-import { DocsInfo, DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
+import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
import * as React from 'react';
import { connect } from 'react-redux';
-import { Dispatch } from 'redux';
import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page';
-import { Dispatcher } from 'ts/redux/dispatcher';
-import { State } from 'ts/redux/reducer';
-import { DocPackages, ScreenWidths } from 'ts/types';
-import { Translate } from 'ts/utils/translate';
+import { DocPackages } from 'ts/types';
+
+import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container';
/* tslint:disable:no-var-requires */
const IntroMarkdown1 = require('md/docs/json_schemas/1/introduction');
@@ -32,7 +30,7 @@ const docsInfoConfig: DocsInfoConfig = {
packageName: '@0x/json-schemas',
type: SupportedDocJson.TypeDoc,
displayName: 'JSON Schemas',
- packageUrl: 'https://github.com/0xProject/0x-monorepo',
+ packageUrl: 'https://github.com/0xProject/0x-monorepo/packages/json-schemas',
markdownMenu: {
'getting-started': [markdownSections.introduction, markdownSections.installation, markdownSections.usage],
schemas: [markdownSections.schemas],
@@ -65,31 +63,7 @@ const docsInfoConfig: DocsInfoConfig = {
},
markdownSections,
};
-const docsInfo = new DocsInfo(docsInfoConfig);
-
-interface ConnectedState {
- docsVersion: string;
- availableDocVersions: string[];
- docsInfo: DocsInfo;
- translate: Translate;
- screenWidth: ScreenWidths;
-}
-
-interface ConnectedDispatch {
- dispatcher: Dispatcher;
-}
-
-const mapStateToProps = (state: State, _ownProps: DocPageProps): ConnectedState => ({
- docsVersion: state.docsVersion,
- availableDocVersions: state.availableDocVersions,
- translate: state.translate,
- docsInfo,
- screenWidth: state.screenWidth,
-});
-
-const mapDispatchToProps = (dispatch: Dispatch<State>): ConnectedDispatch => ({
- dispatcher: new Dispatcher(dispatch),
-});
+const mapStateToProps = getMapStateToProps(docsInfoConfig);
export const Documentation: React.ComponentClass<DocPageProps> = connect(mapStateToProps, mapDispatchToProps)(
DocPageComponent,
diff --git a/packages/website/ts/containers/migrations_documentation.ts b/packages/website/ts/containers/migrations_documentation.ts
index 02919e06e..dd5db3ac6 100644
--- a/packages/website/ts/containers/migrations_documentation.ts
+++ b/packages/website/ts/containers/migrations_documentation.ts
@@ -23,7 +23,7 @@ const docsInfoConfig: DocsInfoConfig = {
packageName: '@0x/migrations',
type: SupportedDocJson.TypeDoc,
displayName: 'Migrations',
- packageUrl: 'https://github.com/0xProject/0x-monorepo',
+ packageUrl: 'https://github.com/0xProject/0x-monorepo/packages/migrations',
markdownMenu: {
'getting-started': [markdownSections.introduction, markdownSections.installation],
},
diff --git a/packages/website/ts/containers/order_utils_documentation.ts b/packages/website/ts/containers/order_utils_documentation.ts
index f1d794988..4996c329a 100644
--- a/packages/website/ts/containers/order_utils_documentation.ts
+++ b/packages/website/ts/containers/order_utils_documentation.ts
@@ -1,12 +1,10 @@
-import { DocsInfo, DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
+import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
import * as React from 'react';
import { connect } from 'react-redux';
-import { Dispatch } from 'redux';
import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page';
-import { Dispatcher } from 'ts/redux/dispatcher';
-import { State } from 'ts/redux/reducer';
-import { DocPackages, ScreenWidths } from 'ts/types';
-import { Translate } from 'ts/utils/translate';
+import { DocPackages } from 'ts/types';
+
+import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container';
/* tslint:disable:no-var-requires */
const IntroMarkdown1 = require('md/docs/order_utils/1/introduction');
@@ -25,7 +23,7 @@ const docsInfoConfig: DocsInfoConfig = {
packageName: '@0x/order-utils',
type: SupportedDocJson.TypeDoc,
displayName: 'Order utils',
- packageUrl: 'https://github.com/0xProject/0x-monorepo',
+ packageUrl: 'https://github.com/0xProject/0x-monorepo/packages/order-utils',
markdownMenu: {
'getting-started': [markdownSections.introduction, markdownSections.installation],
},
@@ -41,31 +39,7 @@ const docsInfoConfig: DocsInfoConfig = {
},
markdownSections,
};
-const docsInfo = new DocsInfo(docsInfoConfig);
-
-interface ConnectedState {
- docsVersion: string;
- availableDocVersions: string[];
- docsInfo: DocsInfo;
- translate: Translate;
- screenWidth: ScreenWidths;
-}
-
-interface ConnectedDispatch {
- dispatcher: Dispatcher;
-}
-
-const mapStateToProps = (state: State, _ownProps: DocPageProps): ConnectedState => ({
- docsVersion: state.docsVersion,
- availableDocVersions: state.availableDocVersions,
- translate: state.translate,
- docsInfo,
- screenWidth: state.screenWidth,
-});
-
-const mapDispatchToProps = (dispatch: Dispatch<State>): ConnectedDispatch => ({
- dispatcher: new Dispatcher(dispatch),
-});
+const mapStateToProps = getMapStateToProps(docsInfoConfig);
export const Documentation: React.ComponentClass<DocPageProps> = connect(mapStateToProps, mapDispatchToProps)(
DocPageComponent,
diff --git a/packages/website/ts/containers/order_watcher_documentation.ts b/packages/website/ts/containers/order_watcher_documentation.ts
index 683e1fe9f..f3d3bada8 100644
--- a/packages/website/ts/containers/order_watcher_documentation.ts
+++ b/packages/website/ts/containers/order_watcher_documentation.ts
@@ -1,12 +1,10 @@
-import { DocsInfo, DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
+import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
import * as React from 'react';
import { connect } from 'react-redux';
-import { Dispatch } from 'redux';
import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page';
-import { Dispatcher } from 'ts/redux/dispatcher';
-import { State } from 'ts/redux/reducer';
-import { DocPackages, ScreenWidths } from 'ts/types';
-import { Translate } from 'ts/utils/translate';
+import { DocPackages } from 'ts/types';
+
+import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container';
/* tslint:disable:no-var-requires */
const IntroMarkdown1 = require('md/docs/order_watcher/1/introduction');
@@ -25,7 +23,7 @@ const docsInfoConfig: DocsInfoConfig = {
packageName: '@0x/order-watcher',
type: SupportedDocJson.TypeDoc,
displayName: 'Order Watcher',
- packageUrl: 'https://github.com/0xProject/0x-monorepo',
+ packageUrl: 'https://github.com/0xProject/0x-monorepo/packages/order-watcher',
markdownMenu: {
'getting-started': [markdownSections.introduction, markdownSections.installation],
},
@@ -41,31 +39,7 @@ const docsInfoConfig: DocsInfoConfig = {
},
markdownSections,
};
-const docsInfo = new DocsInfo(docsInfoConfig);
-
-interface ConnectedState {
- docsVersion: string;
- availableDocVersions: string[];
- docsInfo: DocsInfo;
- translate: Translate;
- screenWidth: ScreenWidths;
-}
-
-interface ConnectedDispatch {
- dispatcher: Dispatcher;
-}
-
-const mapStateToProps = (state: State, _ownProps: DocPageProps): ConnectedState => ({
- docsVersion: state.docsVersion,
- availableDocVersions: state.availableDocVersions,
- translate: state.translate,
- docsInfo,
- screenWidth: state.screenWidth,
-});
-
-const mapDispatchToProps = (dispatch: Dispatch<State>): ConnectedDispatch => ({
- dispatcher: new Dispatcher(dispatch),
-});
+const mapStateToProps = getMapStateToProps(docsInfoConfig);
export const Documentation: React.ComponentClass<DocPageProps> = connect(mapStateToProps, mapDispatchToProps)(
DocPageComponent,
diff --git a/packages/website/ts/containers/smart_contracts_documentation.ts b/packages/website/ts/containers/smart_contracts_documentation.ts
index 57c98fa3b..7c0de5515 100644
--- a/packages/website/ts/containers/smart_contracts_documentation.ts
+++ b/packages/website/ts/containers/smart_contracts_documentation.ts
@@ -1,13 +1,11 @@
-import { DocsInfo, DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
+import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
import { Networks } from '@0x/react-shared';
import * as React from 'react';
import { connect } from 'react-redux';
-import { Dispatch } from 'redux';
import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page';
-import { Dispatcher } from 'ts/redux/dispatcher';
-import { State } from 'ts/redux/reducer';
-import { DocPackages, ScreenWidths, SmartContractDocSections as Sections } from 'ts/types';
-import { Translate } from 'ts/utils/translate';
+import { DocPackages, SmartContractDocSections as Sections } from 'ts/types';
+
+import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container';
/* tslint:disable:no-var-requires */
const IntroMarkdown1 = require('md/docs/smart_contracts/1/introduction');
@@ -91,31 +89,7 @@ const docsInfoConfig: DocsInfoConfig = {
},
},
};
-const docsInfo = new DocsInfo(docsInfoConfig);
-
-interface ConnectedState {
- docsVersion: string;
- availableDocVersions: string[];
- translate: Translate;
- screenWidth: ScreenWidths;
-}
-
-interface ConnectedDispatch {
- dispatcher: Dispatcher;
- docsInfo: DocsInfo;
-}
-
-const mapStateToProps = (state: State, _ownProps: DocPageProps): ConnectedState => ({
- docsVersion: state.docsVersion,
- availableDocVersions: state.availableDocVersions,
- translate: state.translate,
- screenWidth: state.screenWidth,
-});
-
-const mapDispatchToProps = (dispatch: Dispatch<State>): ConnectedDispatch => ({
- dispatcher: new Dispatcher(dispatch),
- docsInfo,
-});
+const mapStateToProps = getMapStateToProps(docsInfoConfig);
export const Documentation: React.ComponentClass<DocPageProps> = connect(mapStateToProps, mapDispatchToProps)(
DocPageComponent,
diff --git a/packages/website/ts/containers/sol_compiler_documentation.ts b/packages/website/ts/containers/sol_compiler_documentation.ts
index f3a793e80..e899e9627 100644
--- a/packages/website/ts/containers/sol_compiler_documentation.ts
+++ b/packages/website/ts/containers/sol_compiler_documentation.ts
@@ -1,12 +1,10 @@
-import { DocsInfo, DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
+import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
import * as React from 'react';
import { connect } from 'react-redux';
-import { Dispatch } from 'redux';
import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page';
-import { Dispatcher } from 'ts/redux/dispatcher';
-import { State } from 'ts/redux/reducer';
-import { DocPackages, ScreenWidths } from 'ts/types';
-import { Translate } from 'ts/utils/translate';
+import { DocPackages } from 'ts/types';
+
+import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container';
/* tslint:disable:no-var-requires */
const IntroMarkdown1 = require('md/docs/sol-compiler/1/introduction');
@@ -27,7 +25,7 @@ const docsInfoConfig: DocsInfoConfig = {
packageName: '@0x/sol-compiler',
type: SupportedDocJson.TypeDoc,
displayName: 'Solidity Compiler',
- packageUrl: 'https://github.com/0xProject/0x-monorepo',
+ packageUrl: 'https://github.com/0xProject/0x-monorepo/packages/sol-compiler',
markdownMenu: {
'getting-started': [markdownSections.introduction, markdownSections.installation, markdownSections.usage],
},
@@ -45,31 +43,7 @@ const docsInfoConfig: DocsInfoConfig = {
},
markdownSections,
};
-const docsInfo = new DocsInfo(docsInfoConfig);
-
-interface ConnectedState {
- docsVersion: string;
- availableDocVersions: string[];
- docsInfo: DocsInfo;
- translate: Translate;
- screenWidth: ScreenWidths;
-}
-
-interface ConnectedDispatch {
- dispatcher: Dispatcher;
-}
-
-const mapStateToProps = (state: State, _ownProps: DocPageProps): ConnectedState => ({
- docsVersion: state.docsVersion,
- availableDocVersions: state.availableDocVersions,
- translate: state.translate,
- docsInfo,
- screenWidth: state.screenWidth,
-});
-
-const mapDispatchToProps = (dispatch: Dispatch<State>): ConnectedDispatch => ({
- dispatcher: new Dispatcher(dispatch),
-});
+const mapStateToProps = getMapStateToProps(docsInfoConfig);
export const Documentation: React.ComponentClass<DocPageProps> = connect(mapStateToProps, mapDispatchToProps)(
DocPageComponent,
diff --git a/packages/website/ts/containers/sol_cov_documentation.ts b/packages/website/ts/containers/sol_cov_documentation.ts
deleted file mode 100644
index 8944ec70a..000000000
--- a/packages/website/ts/containers/sol_cov_documentation.ts
+++ /dev/null
@@ -1,77 +0,0 @@
-import { DocsInfo, DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
-import * as React from 'react';
-import { connect } from 'react-redux';
-import { Dispatch } from 'redux';
-import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page';
-import { Dispatcher } from 'ts/redux/dispatcher';
-import { State } from 'ts/redux/reducer';
-import { DocPackages, ScreenWidths } from 'ts/types';
-import { Translate } from 'ts/utils/translate';
-
-/* tslint:disable:no-var-requires */
-const IntroMarkdown1 = require('md/docs/sol_cov/1/introduction');
-const InstallationMarkdown1 = require('md/docs/sol_cov/1/installation');
-const UsageMarkdown1 = require('md/docs/sol_cov/1/usage');
-const IntroMarkdown2 = require('md/docs/sol_cov/2/introduction');
-const InstallationMarkdown2 = require('md/docs/sol_cov/2/installation');
-const UsageMarkdown2 = require('md/docs/sol_cov/2/usage');
-/* tslint:enable:no-var-requires */
-
-const markdownSections = {
- introduction: 'introduction',
- installation: 'installation',
- usage: 'usage',
-};
-
-const docsInfoConfig: DocsInfoConfig = {
- id: DocPackages.SolCov,
- packageName: '@0x/sol-cov',
- type: SupportedDocJson.TypeDoc,
- displayName: 'Sol-cov',
- packageUrl: 'https://github.com/0xProject/0x-monorepo',
- markdownMenu: {
- 'getting-started': [markdownSections.introduction, markdownSections.installation, markdownSections.usage],
- },
- sectionNameToMarkdownByVersion: {
- '0.0.1': {
- [markdownSections.introduction]: IntroMarkdown1,
- [markdownSections.installation]: InstallationMarkdown1,
- [markdownSections.usage]: UsageMarkdown1,
- },
- '2.1.8': {
- [markdownSections.introduction]: IntroMarkdown2,
- [markdownSections.installation]: InstallationMarkdown2,
- [markdownSections.usage]: UsageMarkdown2,
- },
- },
- markdownSections,
-};
-const docsInfo = new DocsInfo(docsInfoConfig);
-
-interface ConnectedState {
- docsVersion: string;
- availableDocVersions: string[];
- docsInfo: DocsInfo;
- translate: Translate;
- screenWidth: ScreenWidths;
-}
-
-interface ConnectedDispatch {
- dispatcher: Dispatcher;
-}
-
-const mapStateToProps = (state: State, _ownProps: DocPageProps): ConnectedState => ({
- docsVersion: state.docsVersion,
- availableDocVersions: state.availableDocVersions,
- translate: state.translate,
- docsInfo,
- screenWidth: state.screenWidth,
-});
-
-const mapDispatchToProps = (dispatch: Dispatch<State>): ConnectedDispatch => ({
- dispatcher: new Dispatcher(dispatch),
-});
-
-export const Documentation: React.ComponentClass<DocPageProps> = connect(mapStateToProps, mapDispatchToProps)(
- DocPageComponent,
-);
diff --git a/packages/website/ts/containers/sol_coverage_documentation.ts b/packages/website/ts/containers/sol_coverage_documentation.ts
new file mode 100644
index 000000000..25d67e2d0
--- /dev/null
+++ b/packages/website/ts/containers/sol_coverage_documentation.ts
@@ -0,0 +1,43 @@
+import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
+import * as React from 'react';
+import { connect } from 'react-redux';
+import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page';
+import { DocPackages } from 'ts/types';
+
+import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container';
+
+/* tslint:disable:no-var-requires */
+const IntroMarkdown = require('md/docs/sol_coverage/introduction');
+const InstallationMarkdown = require('md/docs/sol_coverage/installation');
+const UsageMarkdown = require('md/docs/sol_coverage/usage');
+/* tslint:enable:no-var-requires */
+
+const markdownSections = {
+ introduction: 'introduction',
+ installation: 'installation',
+ usage: 'usage',
+};
+
+const docsInfoConfig: DocsInfoConfig = {
+ id: DocPackages.SolCoverage,
+ packageName: '@0x/sol-coverage',
+ type: SupportedDocJson.TypeDoc,
+ displayName: 'Sol-coverage',
+ packageUrl: 'https://github.com/0xProject/0x-monorepo/packages/sol-coverage',
+ markdownMenu: {
+ 'getting-started': [markdownSections.introduction, markdownSections.installation, markdownSections.usage],
+ },
+ sectionNameToMarkdownByVersion: {
+ '1.0.0': {
+ [markdownSections.introduction]: IntroMarkdown,
+ [markdownSections.installation]: InstallationMarkdown,
+ [markdownSections.usage]: UsageMarkdown,
+ },
+ },
+ markdownSections,
+};
+const mapStateToProps = getMapStateToProps(docsInfoConfig);
+
+export const Documentation: React.ComponentClass<DocPageProps> = connect(mapStateToProps, mapDispatchToProps)(
+ DocPageComponent,
+);
diff --git a/packages/website/ts/containers/sol_profiler_documentation.ts b/packages/website/ts/containers/sol_profiler_documentation.ts
new file mode 100644
index 000000000..14839831e
--- /dev/null
+++ b/packages/website/ts/containers/sol_profiler_documentation.ts
@@ -0,0 +1,43 @@
+import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
+import * as React from 'react';
+import { connect } from 'react-redux';
+import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page';
+import { DocPackages } from 'ts/types';
+
+import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container';
+
+/* tslint:disable:no-var-requires */
+const IntroMarkdown = require('md/docs/sol_profiler/introduction');
+const InstallationMarkdown = require('md/docs/sol_profiler/installation');
+const UsageMarkdown = require('md/docs/sol_profiler/usage');
+/* tslint:enable:no-var-requires */
+
+const markdownSections = {
+ introduction: 'introduction',
+ installation: 'installation',
+ usage: 'usage',
+};
+
+const docsInfoConfig: DocsInfoConfig = {
+ id: DocPackages.SolProfiler,
+ packageName: '@0x/sol-profiler',
+ type: SupportedDocJson.TypeDoc,
+ displayName: 'Sol-profiler',
+ packageUrl: 'https://github.com/0xProject/0x-monorepo/packages/sol-profiler',
+ markdownMenu: {
+ 'getting-started': [markdownSections.introduction, markdownSections.installation, markdownSections.usage],
+ },
+ sectionNameToMarkdownByVersion: {
+ '1.0.0': {
+ [markdownSections.introduction]: IntroMarkdown,
+ [markdownSections.installation]: InstallationMarkdown,
+ [markdownSections.usage]: UsageMarkdown,
+ },
+ },
+ markdownSections,
+};
+const mapStateToProps = getMapStateToProps(docsInfoConfig);
+
+export const Documentation: React.ComponentClass<DocPageProps> = connect(mapStateToProps, mapDispatchToProps)(
+ DocPageComponent,
+);
diff --git a/packages/website/ts/containers/sol_trace_documentation.ts b/packages/website/ts/containers/sol_trace_documentation.ts
new file mode 100644
index 000000000..c5286f1ff
--- /dev/null
+++ b/packages/website/ts/containers/sol_trace_documentation.ts
@@ -0,0 +1,43 @@
+import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
+import * as React from 'react';
+import { connect } from 'react-redux';
+import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page';
+import { DocPackages } from 'ts/types';
+
+import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container';
+
+/* tslint:disable:no-var-requires */
+const IntroMarkdown = require('md/docs/sol_trace/introduction');
+const InstallationMarkdown = require('md/docs/sol_trace/installation');
+const UsageMarkdown = require('md/docs/sol_trace/usage');
+/* tslint:enable:no-var-requires */
+
+const markdownSections = {
+ introduction: 'introduction',
+ installation: 'installation',
+ usage: 'usage',
+};
+
+const docsInfoConfig: DocsInfoConfig = {
+ id: DocPackages.SolTrace,
+ packageName: '@0x/sol-trace',
+ type: SupportedDocJson.TypeDoc,
+ displayName: 'Sol-trace',
+ packageUrl: 'https://github.com/0xProject/0x-monorepo/packages/sol-trace',
+ markdownMenu: {
+ 'getting-started': [markdownSections.introduction, markdownSections.installation, markdownSections.usage],
+ },
+ sectionNameToMarkdownByVersion: {
+ '1.0.0': {
+ [markdownSections.introduction]: IntroMarkdown,
+ [markdownSections.installation]: InstallationMarkdown,
+ [markdownSections.usage]: UsageMarkdown,
+ },
+ },
+ markdownSections,
+};
+const mapStateToProps = getMapStateToProps(docsInfoConfig);
+
+export const Documentation: React.ComponentClass<DocPageProps> = connect(mapStateToProps, mapDispatchToProps)(
+ DocPageComponent,
+);
diff --git a/packages/website/ts/containers/subproviders_documentation.ts b/packages/website/ts/containers/subproviders_documentation.ts
index 0e421777b..c7fb807a6 100644
--- a/packages/website/ts/containers/subproviders_documentation.ts
+++ b/packages/website/ts/containers/subproviders_documentation.ts
@@ -1,12 +1,10 @@
-import { DocsInfo, DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
+import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
import * as React from 'react';
import { connect } from 'react-redux';
-import { Dispatch } from 'redux';
import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page';
-import { Dispatcher } from 'ts/redux/dispatcher';
-import { State } from 'ts/redux/reducer';
-import { DocPackages, ScreenWidths } from 'ts/types';
-import { Translate } from 'ts/utils/translate';
+import { DocPackages } from 'ts/types';
+
+import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container';
/* tslint:disable:no-var-requires */
const IntroMarkdown1 = require('md/docs/subproviders/1/introduction');
@@ -26,7 +24,7 @@ const docsInfoConfig: DocsInfoConfig = {
packageName: '@0x/subproviders',
type: SupportedDocJson.TypeDoc,
displayName: 'Subproviders',
- packageUrl: 'https://github.com/0xProject/0x-monorepo',
+ packageUrl: 'https://github.com/0xProject/0x-monorepo/packages/subproviders',
markdownMenu: {
'getting-started': [docSections.introduction, docSections.installation, docSections.ledgerNodeHid],
},
@@ -44,31 +42,7 @@ const docsInfoConfig: DocsInfoConfig = {
},
markdownSections: docSections,
};
-const docsInfo = new DocsInfo(docsInfoConfig);
-
-interface ConnectedState {
- docsVersion: string;
- availableDocVersions: string[];
- docsInfo: DocsInfo;
- translate: Translate;
- screenWidth: ScreenWidths;
-}
-
-interface ConnectedDispatch {
- dispatcher: Dispatcher;
-}
-
-const mapStateToProps = (state: State, _ownProps: DocPageProps): ConnectedState => ({
- docsVersion: state.docsVersion,
- availableDocVersions: state.availableDocVersions,
- translate: state.translate,
- docsInfo,
- screenWidth: state.screenWidth,
-});
-
-const mapDispatchToProps = (dispatch: Dispatch<State>): ConnectedDispatch => ({
- dispatcher: new Dispatcher(dispatch),
-});
+const mapStateToProps = getMapStateToProps(docsInfoConfig);
export const Documentation: React.ComponentClass<DocPageProps> = connect(mapStateToProps, mapDispatchToProps)(
DocPageComponent,
diff --git a/packages/website/ts/containers/web3_wrapper_documentation.ts b/packages/website/ts/containers/web3_wrapper_documentation.ts
index 9c8c34621..ad286da1a 100644
--- a/packages/website/ts/containers/web3_wrapper_documentation.ts
+++ b/packages/website/ts/containers/web3_wrapper_documentation.ts
@@ -1,12 +1,10 @@
-import { DocsInfo, DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
+import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
import * as React from 'react';
import { connect } from 'react-redux';
-import { Dispatch } from 'redux';
import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page';
-import { Dispatcher } from 'ts/redux/dispatcher';
-import { State } from 'ts/redux/reducer';
-import { DocPackages, ScreenWidths } from 'ts/types';
-import { Translate } from 'ts/utils/translate';
+import { DocPackages } from 'ts/types';
+
+import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container';
/* tslint:disable:no-var-requires */
const IntroMarkdown1 = require('md/docs/web3_wrapper/1/introduction');
@@ -24,7 +22,7 @@ const docsInfoConfig: DocsInfoConfig = {
packageName: '@0x/web3-wrapper',
type: SupportedDocJson.TypeDoc,
displayName: 'Web3Wrapper',
- packageUrl: 'https://github.com/0xProject/0x-monorepo',
+ packageUrl: 'https://github.com/0xProject/0x-monorepo/packages/web3-wrapper',
markdownMenu: {
'getting-started': [markdownSections.introduction, markdownSections.installation],
},
@@ -40,31 +38,7 @@ const docsInfoConfig: DocsInfoConfig = {
},
markdownSections,
};
-const docsInfo = new DocsInfo(docsInfoConfig);
-
-interface ConnectedState {
- docsVersion: string;
- availableDocVersions: string[];
- docsInfo: DocsInfo;
- translate: Translate;
- screenWidth: ScreenWidths;
-}
-
-interface ConnectedDispatch {
- dispatcher: Dispatcher;
-}
-
-const mapStateToProps = (state: State, _ownProps: DocPageProps): ConnectedState => ({
- docsVersion: state.docsVersion,
- availableDocVersions: state.availableDocVersions,
- translate: state.translate,
- docsInfo,
- screenWidth: state.screenWidth,
-});
-
-const mapDispatchToProps = (dispatch: Dispatch<State>): ConnectedDispatch => ({
- dispatcher: new Dispatcher(dispatch),
-});
+const mapStateToProps = getMapStateToProps(docsInfoConfig);
export const Documentation: React.ComponentClass<DocPageProps> = connect(mapStateToProps, mapDispatchToProps)(
DocPageComponent,
diff --git a/packages/website/ts/containers/zero_ex_js_documentation.ts b/packages/website/ts/containers/zero_ex_js_documentation.ts
index e0ea6e275..5da8d5e52 100644
--- a/packages/website/ts/containers/zero_ex_js_documentation.ts
+++ b/packages/website/ts/containers/zero_ex_js_documentation.ts
@@ -1,12 +1,10 @@
-import { DocsInfo, DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
+import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
import * as React from 'react';
import { connect } from 'react-redux';
-import { Dispatch } from 'redux';
import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page';
-import { Dispatcher } from 'ts/redux/dispatcher';
-import { State } from 'ts/redux/reducer';
-import { DocPackages, ScreenWidths } from 'ts/types';
-import { Translate } from 'ts/utils/translate';
+import { DocPackages } from 'ts/types';
+
+import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container';
/* tslint:disable:no-var-requires */
const IntroMarkdownV0 = require('md/docs/0xjs/0.0.1/introduction');
@@ -37,7 +35,7 @@ const docsInfoConfig: DocsInfoConfig = {
packageName: '0x.js',
type: SupportedDocJson.TypeDoc,
displayName: '0x.js',
- packageUrl: 'https://github.com/0xProject/0x-monorepo',
+ packageUrl: 'https://github.com/0xProject/0x-monorepo/packages/0x.js',
markdownMenu: {
'getting-started': [
markdownSections.introduction,
@@ -72,31 +70,7 @@ const docsInfoConfig: DocsInfoConfig = {
},
markdownSections,
};
-const docsInfo = new DocsInfo(docsInfoConfig);
-
-interface ConnectedState {
- docsVersion: string;
- availableDocVersions: string[];
- docsInfo: DocsInfo;
- translate: Translate;
- screenWidth: ScreenWidths;
-}
-
-interface ConnectedDispatch {
- dispatcher: Dispatcher;
-}
-
-const mapStateToProps = (state: State, _ownProps: DocPageProps): ConnectedState => ({
- docsVersion: state.docsVersion,
- availableDocVersions: state.availableDocVersions,
- docsInfo,
- translate: state.translate,
- screenWidth: state.screenWidth,
-});
-
-const mapDispatchToProps = (dispatch: Dispatch<State>): ConnectedDispatch => ({
- dispatcher: new Dispatcher(dispatch),
-});
+const mapStateToProps = getMapStateToProps(docsInfoConfig);
export const Documentation: React.ComponentClass<DocPageProps> = connect(mapStateToProps, mapDispatchToProps)(
DocPageComponent,
diff --git a/packages/website/ts/index.tsx b/packages/website/ts/index.tsx
index 45054772c..4ed66c572 100644
--- a/packages/website/ts/index.tsx
+++ b/packages/website/ts/index.tsx
@@ -69,8 +69,14 @@ const LazySolCompilerDocumentation = createLazyComponent('Documentation', async
const LazyJSONSchemasDocumentation = createLazyComponent('Documentation', async () =>
import(/* webpackChunkName: "jsonSchemasDocs" */ 'ts/containers/json_schemas_documentation'),
);
-const LazySolCovDocumentation = createLazyComponent('Documentation', async () =>
- import(/* webpackChunkName: "solCovDocs" */ 'ts/containers/sol_cov_documentation'),
+const LazySolCoverageDocumentation = createLazyComponent('Documentation', async () =>
+ import(/* webpackChunkName: "solCoverageDocs" */ 'ts/containers/sol_coverage_documentation'),
+);
+const LazySolTraceDocumentation = createLazyComponent('Documentation', async () =>
+ import(/* webpackChunkName: "solTraceDocs" */ 'ts/containers/sol_trace_documentation'),
+);
+const LazySolProfilerDocumentation = createLazyComponent('Documentation', async () =>
+ import(/* webpackChunkName: "solProfilerDocs" */ 'ts/containers/sol_profiler_documentation'),
);
const LazySubprovidersDocumentation = createLazyComponent('Documentation', async () =>
import(/* webpackChunkName: "subproviderDocs" */ 'ts/containers/subproviders_documentation'),
@@ -149,7 +155,18 @@ render(
path={`${WebsitePaths.SolCompiler}/:version?`}
component={LazySolCompilerDocumentation}
/>
- <Route path={`${WebsitePaths.SolCov}/:version?`} component={LazySolCovDocumentation} />
+ <Route
+ path={`${WebsitePaths.SolCoverage}/:version?`}
+ component={LazySolCoverageDocumentation}
+ />
+ <Route
+ path={`${WebsitePaths.SolTrace}/:version?`}
+ component={LazySolTraceDocumentation}
+ />
+ <Route
+ path={`${WebsitePaths.SolProfiler}/:version?`}
+ component={LazySolProfilerDocumentation}
+ />
<Route
path={`${WebsitePaths.JSONSchemas}/:version?`}
component={LazyJSONSchemasDocumentation}
diff --git a/packages/website/ts/pages/documentation/doc_page.tsx b/packages/website/ts/pages/documentation/doc_page.tsx
index 3ae071774..14bad7329 100644
--- a/packages/website/ts/pages/documentation/doc_page.tsx
+++ b/packages/website/ts/pages/documentation/doc_page.tsx
@@ -33,7 +33,9 @@ const docIdToSubpackageName: { [id: string]: string } = {
[DocPackages.ContractWrappers]: 'contract-wrappers',
[DocPackages.SolCompiler]: 'sol-compiler',
[DocPackages.JSONSchemas]: 'json-schemas',
- [DocPackages.SolCov]: 'sol-cov',
+ [DocPackages.SolCoverage]: 'sol-coverage',
+ [DocPackages.SolProfiler]: 'sol-profiler',
+ [DocPackages.SolTrace]: 'sol-trace',
[DocPackages.Subproviders]: 'subproviders',
[DocPackages.OrderUtils]: 'order-utils',
[DocPackages.OrderWatcher]: 'order-watcher',
diff --git a/packages/website/ts/pages/documentation/docs_home.tsx b/packages/website/ts/pages/documentation/docs_home.tsx
index fd3932bfa..d11cf02fb 100644
--- a/packages/website/ts/pages/documentation/docs_home.tsx
+++ b/packages/website/ts/pages/documentation/docs_home.tsx
@@ -218,10 +218,26 @@ const CATEGORY_TO_PACKAGES: ObjectMap<Package[]> = {
},
{
description:
- 'A Solidity code coverage tool. Sol-cov uses transaction traces to figure out which lines of your code has been covered by your tests.',
+ 'A Solidity code coverage tool. Sol-coverage uses transaction traces to figure out which lines of your code has been covered by your tests.',
link: {
- title: '@0x/sol-cov',
- to: WebsitePaths.SolCov,
+ title: '@0x/sol-coverage',
+ to: WebsitePaths.SolCoverage,
+ },
+ },
+ {
+ description:
+ 'A Solidity profiler. Sol-profiler uses transaction traces to figure out line-by-line gas consumption.',
+ link: {
+ title: '@0x/sol-profiler',
+ to: WebsitePaths.SolProfiler,
+ },
+ },
+ {
+ description:
+ 'A Solidity revert trace tool. Sol-trace prints human-readable revert trace whenever the revert happens.',
+ link: {
+ title: '@0x/sol-trace',
+ to: WebsitePaths.SolTrace,
},
},
{
diff --git a/packages/website/ts/types.ts b/packages/website/ts/types.ts
index 37bd73063..50114e2d6 100644
--- a/packages/website/ts/types.ts
+++ b/packages/website/ts/types.ts
@@ -370,7 +370,9 @@ export enum WebsitePaths {
OrderWatcher = '/docs/order-watcher',
SolCompiler = '/docs/sol-compiler',
JSONSchemas = '/docs/json-schemas',
- SolCov = '/docs/sol-cov',
+ SolCoverage = '/docs/sol-coverage',
+ SolProfiler = '/docs/sol-profiler',
+ SolTrace = '/docs/sol-trace',
Subproviders = '/docs/subproviders',
OrderUtils = '/docs/order-utils',
EthereumTypes = '/docs/ethereum-types',
@@ -386,7 +388,9 @@ export enum DocPackages {
Web3Wrapper = 'WEB3_WRAPPER',
SolCompiler = 'SOL_COMPILER',
JSONSchemas = 'JSON_SCHEMAS',
- SolCov = 'SOL_COV',
+ SolCoverage = 'SOL_COVERAGE',
+ SolTrace = 'SOL_TRACE',
+ SolProfiler = 'SOL_PROFILER',
Subproviders = 'SUBPROVIDERS',
OrderUtils = 'ORDER_UTILS',
EthereumTypes = 'ETHEREUM_TYPES',
diff --git a/packages/website/ts/utils/documentation_container.ts b/packages/website/ts/utils/documentation_container.ts
new file mode 100644
index 000000000..54e8a2c1a
--- /dev/null
+++ b/packages/website/ts/utils/documentation_container.ts
@@ -0,0 +1,35 @@
+import { DocsInfo, DocsInfoConfig } from '@0x/react-docs';
+import { Dispatch } from 'redux';
+import { DocPageProps } from 'ts/pages/documentation/doc_page';
+import { Dispatcher } from 'ts/redux/dispatcher';
+import { State } from 'ts/redux/reducer';
+import { ScreenWidths } from 'ts/types';
+import { Translate } from 'ts/utils/translate';
+
+export interface ConnectedState {
+ docsVersion: string;
+ availableDocVersions: string[];
+ docsInfo: DocsInfo;
+ translate: Translate;
+ screenWidth: ScreenWidths;
+}
+
+export interface ConnectedDispatch {
+ dispatcher: Dispatcher;
+}
+
+export const mapDispatchToProps = (dispatch: Dispatch<State>): ConnectedDispatch => ({
+ dispatcher: new Dispatcher(dispatch),
+});
+
+export const getMapStateToProps = (docsInfoConfig: DocsInfoConfig) => {
+ const docsInfo = new DocsInfo(docsInfoConfig);
+ const mapStateToProps = (state: State, _ownProps: DocPageProps): ConnectedState => ({
+ docsVersion: state.docsVersion,
+ availableDocVersions: state.availableDocVersions,
+ translate: state.translate,
+ docsInfo,
+ screenWidth: state.screenWidth,
+ });
+ return mapStateToProps;
+};
diff --git a/python-packages/sra_client/README.md b/python-packages/sra_client/README.md
index ab3939b41..abf0dee42 100644
--- a/python-packages/sra_client/README.md
+++ b/python-packages/sra_client/README.md
@@ -4,7 +4,7 @@ A Python client for interacting with servers conforming to [the Standard Relayer
# Schemas
-The [JSON schemas](http://json-schema.org/) for the API payloads and responses can be found in [@0xproject/json-schemas](https://github.com/0xProject/0x.js/tree/development/packages/json-schemas). Examples of each payload and response can be found in the 0x.js library's [test suite](https://github.com/0xProject/0x.js/blob/development/packages/json-schemas/test/schema_test.ts#L1).
+The [JSON schemas](http://json-schema.org/) for the API payloads and responses can be found in [@0xproject/json-schemas](https://github.com/0xProject/0x-monorepo/tree/development/packages/json-schemas). Examples of each payload and response can be found in the 0x.js library's [test suite](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/test/schema_test.ts#L1).
# Pagination
diff --git a/tsconfig.json b/tsconfig.json
index 751115554..1f5da33dc 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -52,7 +52,10 @@
{ "path": "./packages/react-docs" },
{ "path": "./packages/react-shared" },
{ "path": "./packages/sol-compiler" },
- { "path": "./packages/sol-cov" },
+ { "path": "./packages/sol-coverage" },
+ { "path": "./packages/sol-profiler" },
+ { "path": "./packages/sol-trace" },
+ { "path": "./packages/sol-trace-based-tools-common" },
{ "path": "./packages/sol-resolver" },
{ "path": "./packages/sra-spec" },
{ "path": "./packages/subproviders" },
diff --git a/yarn.lock b/yarn.lock
index b86969e3b..0a85e8f5a 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -7771,19 +7771,10 @@ got@^6.7.1:
unzip-response "^2.0.1"
url-parse-lax "^1.0.0"
-graceful-fs@^3.0.0:
- version "3.0.11"
- resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-3.0.11.tgz#7613c778a1afea62f25c630a086d7f3acbbdd818"
- dependencies:
- natives "^1.1.0"
-
-graceful-fs@^4.0.0, graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9:
- version "4.1.11"
- resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
-
-graceful-fs@~1.2.0:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.2.3.tgz#15a4806a57547cb2d2dbf27f42e89a8c3451b364"
+graceful-fs@4.1.15, graceful-fs@^3.0.0, graceful-fs@^4.0.0, graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@~1.2.0:
+ version "4.1.15"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00"
+ integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==
"graceful-readlink@>= 1.0.0":
version "1.0.1"
@@ -11124,10 +11115,6 @@ nanomatch@^1.2.9:
snapdragon "^0.8.1"
to-regex "^3.0.1"
-natives@^1.1.0:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/natives/-/natives-1.1.3.tgz#44a579be64507ea2d6ed1ca04a9415915cf75558"
-
natural-compare@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"