diff --git a/packages/dev-tools-pages/ts/components/Content.tsx b/packages/dev-tools-pages/ts/components/Content.tsx
new file mode 100644
index 0000000000..6f46274f78
--- /dev/null
+++ b/packages/dev-tools-pages/ts/components/Content.tsx
@@ -0,0 +1,34 @@
+import * as React from 'react';
+import styled from 'styled-components';
+
+import Container from './Container';
+
+const StyledMain =
+ styled.div <
+ MainProps >
+ `
+ padding-top: 6.25rem;
+ padding-bottom: 6.25rem;
+ ${props =>
+ props.dark
+ ? `
+ background-color: #000;
+ color: #fff;
+ `
+ : ''};
+`;
+
+interface MainProps {
+ dark?: boolean;
+ children: React.ReactNode;
+}
+
+function Main(props: MainProps) {
+ return (
+
+ {props.children}
+
+ );
+}
+
+export default Main;
diff --git a/packages/dev-tools-pages/ts/components/ContentBlock.tsx b/packages/dev-tools-pages/ts/components/ContentBlock.tsx
index b80fd4550a..39c99f6d90 100644
--- a/packages/dev-tools-pages/ts/components/ContentBlock.tsx
+++ b/packages/dev-tools-pages/ts/components/ContentBlock.tsx
@@ -1,8 +1,9 @@
import * as React from 'react';
import styled from 'styled-components';
+import { withContext, Props } from './withContext';
+import { Beta, Alpha } from './Typography';
import { media } from 'ts/variables';
-import { Beta } from './Typography';
const Base = styled.div`
display: flex;
@@ -42,9 +43,14 @@ const Item = styled.div`
}
`;
-interface ContentBlockProps {
+const StyledTitle = styled(Alpha)`
+ color: ${props => props.color};
+`;
+
+interface ContentBlockProps extends Props {
title: string;
- children: React.ReactNode;
+ main?: boolean;
+ children?: React.ReactNode;
}
function ContentBlock(props: ContentBlockProps) {
@@ -52,12 +58,14 @@ function ContentBlock(props: ContentBlockProps) {
return - {child}
;
});
+ const Title = props.main ? StyledTitle : Beta;
+
return (
- {props.title}
- {children}
+
{props.title}
+ {children ? {children} : null}
);
}
-export default ContentBlock;
+export default withContext(ContentBlock);
diff --git a/packages/dev-tools-pages/ts/components/Main.tsx b/packages/dev-tools-pages/ts/components/Main.tsx
deleted file mode 100644
index 97eb407b99..0000000000
--- a/packages/dev-tools-pages/ts/components/Main.tsx
+++ /dev/null
@@ -1,41 +0,0 @@
-import * as React from 'react';
-import styled from 'styled-components';
-
-import { media } from 'ts/variables';
-import { withContext, Props } from './withContext';
-
-import { Alpha } from './Typography';
-
-const StyledMain = styled.div`
- padding-top: 6.25rem;
- padding-bottom: 6.25rem;
- ${media.small`
- padding-top: 2.5rem;
- padding-bottom: 2.5rem;
- `};
-`;
-
-const Title = styled(Alpha)`
- color: ${props => props.color};
- margin-bottom: 6.25rem;
- ${media.small`
- margin-bottom: 3.125rem;
- `};
-`;
-
-interface MainProps extends Props {
- children: React.ReactNode;
-}
-
-function Main(props: MainProps) {
- return (
-
-
- Get started
-
- {props.children}
-
- );
-}
-
-export default withContext(Main);
diff --git a/packages/dev-tools-pages/ts/components/Tabs.tsx b/packages/dev-tools-pages/ts/components/Tabs.tsx
index b51970a7e5..5307483e80 100644
--- a/packages/dev-tools-pages/ts/components/Tabs.tsx
+++ b/packages/dev-tools-pages/ts/components/Tabs.tsx
@@ -1,6 +1,5 @@
import * as React from 'react';
import styled from 'styled-components';
-
import { colors } from 'ts/variables';
import { Tabs as ReactTabs, Tab, TabList, TabPanel } from 'react-tabs';
import Breakout from './Breakout';
@@ -41,7 +40,7 @@ const Root =
}
${StyledTab}[aria-selected="true"] {
background-color: ${colors.gray};
- }
+ }
`;
interface TabsProps extends Props {
diff --git a/packages/dev-tools-pages/ts/pages/Compiler.tsx b/packages/dev-tools-pages/ts/pages/Compiler.tsx
index 35c810cb3e..96f26a9785 100644
--- a/packages/dev-tools-pages/ts/pages/Compiler.tsx
+++ b/packages/dev-tools-pages/ts/pages/Compiler.tsx
@@ -3,8 +3,7 @@ import { render, hydrate } from 'react-dom';
import context from 'ts/context/compiler';
import Base from 'ts/components/Base';
-import Container from 'ts/components/Container';
-import Main from 'ts/components/Main';
+import Content from 'ts/components/Content';
import ContentBlock from 'ts/components/ContentBlock';
import { Tabs, TabBlock } from 'ts/components/Tabs';
import Code from 'ts/components/Code';
@@ -15,40 +14,53 @@ import CompilerComponent from 'ts/components/Compiler';
function Compiler() {
return (
-
-
-
-
-
-
-
- npm install @0x/sol-trace --save
-
- Sol-trace is a subprovider that needs to be prepended to your{' '}
- provider engine. Depending on your project setup, you will need to use a
- specific ArtifactAdapter. Sol-trace ships with the{' '}
- SolCompilerArtifactAdapter for use with Sol-compiler and{' '}
- TruffleArtifactAdapter for use with the Truffle framework. You can
- also write your own and support any artifact format.
-
-
+
+
+
+
+
+
+
+ npm install @0x/sol-trace --save
+
+ Sol-trace is a subprovider that needs to be prepended to your provider engine.
+ Depending on your project setup, you will need to use a specific ArtifactAdapter. Sol-trace
+ ships with the SolCompilerArtifactAdapter for use with Sol-compiler and{' '}
+ TruffleArtifactAdapter for use with the Truffle framework. You can also
+ write your own and support any artifact format.
+
+
-
-
-
-
- {`import { SolCompilerArtifactAdapter } from '@0x/sol-trace';
+
+
+
+
+ {`import { SolCompilerArtifactAdapter } from '@0x/sol-trace';
// Both artifactsDir and contractsDir are optional and will be fetched from compiler.json if not passed in
const artifactAdapter = new SolCompilerArtifactAdapter(artifactsDir, contractsDir);`}
-
-
- Truffle
- Custom
-
-
-
-
+
+
+ Truffle
+ Custom
+
+
+
+
+
+
+ Sol compiler uses solidity standard JSON output format for the artifacts. This way, you can
+ define which parts of the artifact you need.
+
+
+
+
+
+ Sol compiler uses solidity standard JSON output format for the artifacts. This way, you can
+ define which parts of the artifact you need.
+
+
+
);
}
diff --git a/packages/dev-tools-pages/ts/pages/Cov.tsx b/packages/dev-tools-pages/ts/pages/Cov.tsx
index e835e5c821..c3dfb33c5b 100644
--- a/packages/dev-tools-pages/ts/pages/Cov.tsx
+++ b/packages/dev-tools-pages/ts/pages/Cov.tsx
@@ -3,8 +3,7 @@ import { render, hydrate } from 'react-dom';
import context from 'ts/context/cov';
import Base from 'ts/components/Base';
-import Container from 'ts/components/Container';
-import Main from 'ts/components/Main';
+import Content from 'ts/components/Content';
import ContentBlock from 'ts/components/ContentBlock';
import { Tabs, TabBlock } from 'ts/components/Tabs';
import Code from 'ts/components/Code';
@@ -15,46 +14,44 @@ import Intro from 'ts/components/Intro';
function Cov() {
return (
-
-
+
+
+ When it comes to writing smart contracts, testing is one of the most important steps of the process.
+ In order to quantify the robustness of your Solidity testing suite, you need to measure its code
+ coverage.
+
+
+
+
+
+
+
+
+ npm install @0x/sol-trace --save
- When it comes to writing smart contracts, testing is one of the most important steps of the
- process. In order to quantify the robustness of your Solidity testing suite, you need to measure
- its code coverage.
+ Sol-trace is a subprovider that needs to be prepended to your provider engine.
+ Depending on your project setup, you will need to use a specific ArtifactAdapter. Sol-trace
+ ships with the SolCompilerArtifactAdapter for use with Sol-compiler and{' '}
+ TruffleArtifactAdapter for use with the Truffle framework. You can also
+ write your own and support any artifact format.
-
-
-
-
-
-
- npm install @0x/sol-trace --save
-
- Sol-trace is a subprovider that needs to be prepended to your{' '}
- provider engine. Depending on your project setup, you will need to use a
- specific ArtifactAdapter. Sol-trace ships with the{' '}
- SolCompilerArtifactAdapter for use with Sol-compiler and{' '}
- TruffleArtifactAdapter for use with the Truffle framework. You can
- also write your own and support any artifact format.
-
-
+
-
-
-
-
- {`import { SolCompilerArtifactAdapter } from '@0x/sol-trace';
+
+
+
+
+ {`import { SolCompilerArtifactAdapter } from '@0x/sol-trace';
// Both artifactsDir and contractsDir are optional and will be fetched from compiler.json if not passed in
const artifactAdapter = new SolCompilerArtifactAdapter(artifactsDir, contractsDir);`}
-
-
- Truffle
- Custom
-
-
-
-
+
+
+ Truffle
+ Custom
+
+
+
);
}
diff --git a/packages/dev-tools-pages/ts/pages/Profiler.tsx b/packages/dev-tools-pages/ts/pages/Profiler.tsx
index 9f8b46b9c0..48c4c122b3 100644
--- a/packages/dev-tools-pages/ts/pages/Profiler.tsx
+++ b/packages/dev-tools-pages/ts/pages/Profiler.tsx
@@ -3,8 +3,7 @@ import { render, hydrate } from 'react-dom';
import context from 'ts/context/profiler';
import Base from 'ts/components/Base';
-import Container from 'ts/components/Container';
-import Main from 'ts/components/Main';
+import Content from 'ts/components/Content';
import ContentBlock from 'ts/components/ContentBlock';
import { Tabs, TabBlock } from 'ts/components/Tabs';
import Code from 'ts/components/Code';
@@ -15,46 +14,44 @@ import Intro from 'ts/components/Intro';
function Profiler() {
return (
-
-
+
+
+ Sol-profiler gathers line-by-line gas usage for any transaction submitted through your provider.
+ This will help you find unexpected inefficiencies in parts of your smart contract, and take a
+ data-driven approach to optimizing it.
+
+
+
+
+
+
+
+
+ npm install @0x/sol-trace --save
- Sol-profiler gathers line-by-line gas usage for any transaction submitted through your provider.
- This will help you find unexpected inefficiencies in parts of your smart contract, and take a
- data-driven approach to optimizing it.
+ Sol-trace is a subprovider that needs to be prepended to your provider engine.
+ Depending on your project setup, you will need to use a specific ArtifactAdapter. Sol-trace
+ ships with the SolCompilerArtifactAdapter for use with Sol-compiler and{' '}
+ TruffleArtifactAdapter for use with the Truffle framework. You can also
+ write your own and support any artifact format.
-
-
-
-
-
-
- npm install @0x/sol-trace --save
-
- Sol-trace is a subprovider that needs to be prepended to your{' '}
- provider engine. Depending on your project setup, you will need to use a
- specific ArtifactAdapter. Sol-trace ships with the{' '}
- SolCompilerArtifactAdapter for use with Sol-compiler and{' '}
- TruffleArtifactAdapter for use with the Truffle framework. You can
- also write your own and support any artifact format.
-
-
+
-
-
-
-
- {`import { SolCompilerArtifactAdapter } from '@0x/sol-trace';
+
+
+
+
+ {`import { SolCompilerArtifactAdapter } from '@0x/sol-trace';
// Both artifactsDir and contractsDir are optional and will be fetched from compiler.json if not passed in
const artifactAdapter = new SolCompilerArtifactAdapter(artifactsDir, contractsDir);`}
-
-
- Truffle
- Custom
-
-
-
-
+
+
+ Truffle
+ Custom
+
+
+
);
}
diff --git a/packages/dev-tools-pages/ts/pages/Trace.tsx b/packages/dev-tools-pages/ts/pages/Trace.tsx
index be5acdac4c..961f4534ff 100644
--- a/packages/dev-tools-pages/ts/pages/Trace.tsx
+++ b/packages/dev-tools-pages/ts/pages/Trace.tsx
@@ -3,8 +3,7 @@ import { render, hydrate } from 'react-dom';
import context from 'ts/context/trace';
import Base from 'ts/components/Base';
-import Container from 'ts/components/Container';
-import Main from 'ts/components/Main';
+import Content from 'ts/components/Content';
import ContentBlock from 'ts/components/ContentBlock';
import { Tabs, TabBlock } from 'ts/components/Tabs';
import Code from 'ts/components/Code';
@@ -16,39 +15,37 @@ function Trace() {
return (
-
-
-
-
-
-
- npm install @0x/sol-trace --save
-
- Sol-trace is a subprovider that needs to be prepended to your{' '}
- provider engine. Depending on your project setup, you will need to use a
- specific ArtifactAdapter. Sol-trace ships with the{' '}
- SolCompilerArtifactAdapter for use with Sol-compiler and{' '}
- TruffleArtifactAdapter for use with the Truffle framework. You can
- also write your own and support any artifact format.
-
-
+
+
+
+
+
+
+ npm install @0x/sol-trace --save
+
+ Sol-trace is a subprovider that needs to be prepended to your provider engine.
+ Depending on your project setup, you will need to use a specific ArtifactAdapter. Sol-trace
+ ships with the SolCompilerArtifactAdapter for use with Sol-compiler and{' '}
+ TruffleArtifactAdapter for use with the Truffle framework. You can also
+ write your own and support any artifact format.
+
+
-
-
-
-
- {`import { SolCompilerArtifactAdapter } from '@0x/sol-trace';
+
+
+
+
+ {`import { SolCompilerArtifactAdapter } from '@0x/sol-trace';
// Both artifactsDir and contractsDir are optional and will be fetched from compiler.json if not passed in
const artifactAdapter = new SolCompilerArtifactAdapter(artifactsDir, contractsDir);`}
-
-
- Truffle
- Custom
-
-
-
-
+
+
+ Truffle
+ Custom
+
+
+
);
}