aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMegan Pearson <megan.e.pearson@gmail.com>2018-10-22 20:24:53 +0800
committerMegan Pearson <megan.e.pearson@gmail.com>2018-10-22 20:28:05 +0800
commit63b53acd482d38d3015419a4996cf5c2bc1fdb50 (patch)
treeb4a36468f8cda1baaeeb1b23f18fe09800104b59
parentdfa03feb43e9398dbfda8aebf96b6fb63dff0989 (diff)
parent50eee9a657fe81fa0af4652f9a5a3f1892a1f1fa (diff)
downloaddexon-sol-tools-63b53acd482d38d3015419a4996cf5c2bc1fdb50.tar
dexon-sol-tools-63b53acd482d38d3015419a4996cf5c2bc1fdb50.tar.gz
dexon-sol-tools-63b53acd482d38d3015419a4996cf5c2bc1fdb50.tar.bz2
dexon-sol-tools-63b53acd482d38d3015419a4996cf5c2bc1fdb50.tar.lz
dexon-sol-tools-63b53acd482d38d3015419a4996cf5c2bc1fdb50.tar.xz
dexon-sol-tools-63b53acd482d38d3015419a4996cf5c2bc1fdb50.tar.zst
dexon-sol-tools-63b53acd482d38d3015419a4996cf5c2bc1fdb50.zip
Merge branch 'dev-tools-pages' into feature/variables
-rw-r--r--packages/dev-tools-pages/ts/components/Content.tsx34
-rw-r--r--packages/dev-tools-pages/ts/components/ContentBlock.tsx20
-rw-r--r--packages/dev-tools-pages/ts/components/Main.tsx41
-rw-r--r--packages/dev-tools-pages/ts/components/Tabs.tsx3
-rw-r--r--packages/dev-tools-pages/ts/pages/Compiler.tsx76
-rw-r--r--packages/dev-tools-pages/ts/pages/Cov.tsx69
-rw-r--r--packages/dev-tools-pages/ts/pages/Profiler.tsx69
-rw-r--r--packages/dev-tools-pages/ts/pages/Trace.tsx59
8 files changed, 187 insertions, 184 deletions
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 000000000..6f46274f7
--- /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 (
+ <StyledMain dark={props.dark}>
+ <Container>{props.children}</Container>
+ </StyledMain>
+ );
+}
+
+export default Main;
diff --git a/packages/dev-tools-pages/ts/components/ContentBlock.tsx b/packages/dev-tools-pages/ts/components/ContentBlock.tsx
index b80fd4550..39c99f6d9 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 <Item>{child}</Item>;
});
+ const Title = props.main ? StyledTitle : Beta;
+
return (
<Base>
- <Beta>{props.title}</Beta>
- <Content>{children}</Content>
+ <Title color={props.colors.main}>{props.title}</Title>
+ {children ? <Content>{children}</Content> : null}
</Base>
);
}
-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 97eb407b9..000000000
--- 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 (
- <StyledMain>
- <Title as="h2" color={props.colors.main}>
- Get started
- </Title>
- {props.children}
- </StyledMain>
- );
-}
-
-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 b51970a7e..5307483e8 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 35c810cb3..96f26a978 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 (
<Base context={context}>
- <Container>
- <CompilerComponent />
- <Main>
- <ContentBlock title="Required steps">
- <List items={['Step 1', 'Step 2']} />
- </ContentBlock>
- <ContentBlock title="Prerequisites">
- <Code>npm install @0x/sol-trace --save</Code>
- <p>
- Sol-trace is a subprovider that needs to be prepended to your{' '}
- <a href="#">provider engine</a>. Depending on your project setup, you will need to use a
- specific ArtifactAdapter. Sol-trace ships with the{' '}
- <InlineCode>SolCompilerArtifactAdapter</InlineCode> for use with Sol-compiler and{' '}
- <InlineCode>TruffleArtifactAdapter</InlineCode> for use with the Truffle framework. You can
- also write your own and support any artifact format.
- </p>
- </ContentBlock>
+ <CompilerComponent />
+ <Content>
+ <ContentBlock main title="Get started" />
+ <ContentBlock title="Required steps">
+ <List items={['Step 1', 'Step 2']} />
+ </ContentBlock>
+ <ContentBlock title="Prerequisites">
+ <Code>npm install @0x/sol-trace --save</Code>
+ <p>
+ Sol-trace is a subprovider that needs to be prepended to your <a href="#">provider engine</a>.
+ Depending on your project setup, you will need to use a specific ArtifactAdapter. Sol-trace
+ ships with the <InlineCode>SolCompilerArtifactAdapter</InlineCode> for use with Sol-compiler and{' '}
+ <InlineCode>TruffleArtifactAdapter</InlineCode> for use with the Truffle framework. You can also
+ write your own and support any artifact format.
+ </p>
+ </ContentBlock>
- <ContentBlock title="Installation">
- <Tabs>
- <TabBlock title="Sol-compiler">
- <Code language="js">
- {`import { SolCompilerArtifactAdapter } from '@0x/sol-trace';
+ <ContentBlock title="Installation">
+ <Tabs>
+ <TabBlock title="Sol-compiler">
+ <Code language="js">
+ {`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);`}
- </Code>
- </TabBlock>
- <TabBlock title="Truffle">Truffle</TabBlock>
- <TabBlock title="Custom">Custom</TabBlock>
- </Tabs>
- </ContentBlock>
- </Main>
- </Container>
+ </Code>
+ </TabBlock>
+ <TabBlock title="Truffle">Truffle</TabBlock>
+ <TabBlock title="Custom">Custom</TabBlock>
+ </Tabs>
+ </ContentBlock>
+ </Content>
+ <Content dark>
+ <ContentBlock main title="Artifacts">
+ <p>
+ Sol compiler uses solidity standard JSON output format for the artifacts. This way, you can
+ define which parts of the artifact you need.
+ </p>
+ </ContentBlock>
+
+ <ContentBlock title="Production">
+ <p>
+ Sol compiler uses solidity standard JSON output format for the artifacts. This way, you can
+ define which parts of the artifact you need.
+ </p>
+ </ContentBlock>
+ </Content>
</Base>
);
}
diff --git a/packages/dev-tools-pages/ts/pages/Cov.tsx b/packages/dev-tools-pages/ts/pages/Cov.tsx
index e835e5c82..c3dfb33c5 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 (
<Base context={context}>
- <Container>
- <Intro title="Measure your tests">
+ <Intro title="Measure your tests">
+ <p>
+ 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.
+ </p>
+ </Intro>
+ <Content>
+ <ContentBlock main title="Get started" />
+ <ContentBlock title="Required steps">
+ <List items={['Step 1', 'Step 2']} />
+ </ContentBlock>
+ <ContentBlock title="Prerequisites">
+ <Code>npm install @0x/sol-trace --save</Code>
<p>
- 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 <a href="#">provider engine</a>.
+ Depending on your project setup, you will need to use a specific ArtifactAdapter. Sol-trace
+ ships with the <InlineCode>SolCompilerArtifactAdapter</InlineCode> for use with Sol-compiler and{' '}
+ <InlineCode>TruffleArtifactAdapter</InlineCode> for use with the Truffle framework. You can also
+ write your own and support any artifact format.
</p>
- </Intro>
- <Main>
- <ContentBlock title="Required steps">
- <List items={['Step 1', 'Step 2']} />
- </ContentBlock>
- <ContentBlock title="Prerequisites">
- <Code>npm install @0x/sol-trace --save</Code>
- <p>
- Sol-trace is a subprovider that needs to be prepended to your{' '}
- <a href="#">provider engine</a>. Depending on your project setup, you will need to use a
- specific ArtifactAdapter. Sol-trace ships with the{' '}
- <InlineCode>SolCompilerArtifactAdapter</InlineCode> for use with Sol-compiler and{' '}
- <InlineCode>TruffleArtifactAdapter</InlineCode> for use with the Truffle framework. You can
- also write your own and support any artifact format.
- </p>
- </ContentBlock>
+ </ContentBlock>
- <ContentBlock title="Installation">
- <Tabs>
- <TabBlock title="Sol-compiler">
- <Code language="js">
- {`import { SolCompilerArtifactAdapter } from '@0x/sol-trace';
+ <ContentBlock title="Installation">
+ <Tabs>
+ <TabBlock title="Sol-compiler">
+ <Code language="js">
+ {`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);`}
- </Code>
- </TabBlock>
- <TabBlock title="Truffle">Truffle</TabBlock>
- <TabBlock title="Custom">Custom</TabBlock>
- </Tabs>
- </ContentBlock>
- </Main>
- </Container>
+ </Code>
+ </TabBlock>
+ <TabBlock title="Truffle">Truffle</TabBlock>
+ <TabBlock title="Custom">Custom</TabBlock>
+ </Tabs>
+ </ContentBlock>
+ </Content>
</Base>
);
}
diff --git a/packages/dev-tools-pages/ts/pages/Profiler.tsx b/packages/dev-tools-pages/ts/pages/Profiler.tsx
index 9f8b46b9c..48c4c122b 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 (
<Base context={context}>
- <Container>
- <Intro title="ra">
+ <Intro title="ra">
+ <p>
+ 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.
+ </p>
+ </Intro>
+ <Content>
+ <ContentBlock main title="Get started" />
+ <ContentBlock title="Required steps">
+ <List items={['Step 1', 'Step 2']} />
+ </ContentBlock>
+ <ContentBlock title="Prerequisites">
+ <Code>npm install @0x/sol-trace --save</Code>
<p>
- 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 <a href="#">provider engine</a>.
+ Depending on your project setup, you will need to use a specific ArtifactAdapter. Sol-trace
+ ships with the <InlineCode>SolCompilerArtifactAdapter</InlineCode> for use with Sol-compiler and{' '}
+ <InlineCode>TruffleArtifactAdapter</InlineCode> for use with the Truffle framework. You can also
+ write your own and support any artifact format.
</p>
- </Intro>
- <Main>
- <ContentBlock title="Required steps">
- <List items={['Step 1', 'Step 2']} />
- </ContentBlock>
- <ContentBlock title="Prerequisites">
- <Code>npm install @0x/sol-trace --save</Code>
- <p>
- Sol-trace is a subprovider that needs to be prepended to your{' '}
- <a href="#">provider engine</a>. Depending on your project setup, you will need to use a
- specific ArtifactAdapter. Sol-trace ships with the{' '}
- <InlineCode>SolCompilerArtifactAdapter</InlineCode> for use with Sol-compiler and{' '}
- <InlineCode>TruffleArtifactAdapter</InlineCode> for use with the Truffle framework. You can
- also write your own and support any artifact format.
- </p>
- </ContentBlock>
+ </ContentBlock>
- <ContentBlock title="Installation">
- <Tabs>
- <TabBlock title="Sol-compiler">
- <Code language="js">
- {`import { SolCompilerArtifactAdapter } from '@0x/sol-trace';
+ <ContentBlock title="Installation">
+ <Tabs>
+ <TabBlock title="Sol-compiler">
+ <Code language="js">
+ {`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);`}
- </Code>
- </TabBlock>
- <TabBlock title="Truffle">Truffle</TabBlock>
- <TabBlock title="Custom">Custom</TabBlock>
- </Tabs>
- </ContentBlock>
- </Main>
- </Container>
+ </Code>
+ </TabBlock>
+ <TabBlock title="Truffle">Truffle</TabBlock>
+ <TabBlock title="Custom">Custom</TabBlock>
+ </Tabs>
+ </ContentBlock>
+ </Content>
</Base>
);
}
diff --git a/packages/dev-tools-pages/ts/pages/Trace.tsx b/packages/dev-tools-pages/ts/pages/Trace.tsx
index be5acdac4..961f4534f 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 (
<Base context={context}>
<TraceComponent />
- <Container>
- <Main>
- <ContentBlock title="Required steps">
- <List items={['Step 1', 'Step 2']} />
- </ContentBlock>
- <ContentBlock title="Prerequisites">
- <Code>npm install @0x/sol-trace --save</Code>
- <p>
- Sol-trace is a subprovider that needs to be prepended to your{' '}
- <a href="#">provider engine</a>. Depending on your project setup, you will need to use a
- specific ArtifactAdapter. Sol-trace ships with the{' '}
- <InlineCode>SolCompilerArtifactAdapter</InlineCode> for use with Sol-compiler and{' '}
- <InlineCode>TruffleArtifactAdapter</InlineCode> for use with the Truffle framework. You can
- also write your own and support any artifact format.
- </p>
- </ContentBlock>
+ <Content>
+ <ContentBlock main title="Get started" />
+ <ContentBlock title="Required steps">
+ <List items={['Step 1', 'Step 2']} />
+ </ContentBlock>
+ <ContentBlock title="Prerequisites">
+ <Code>npm install @0x/sol-trace --save</Code>
+ <p>
+ Sol-trace is a subprovider that needs to be prepended to your <a href="#">provider engine</a>.
+ Depending on your project setup, you will need to use a specific ArtifactAdapter. Sol-trace
+ ships with the <InlineCode>SolCompilerArtifactAdapter</InlineCode> for use with Sol-compiler and{' '}
+ <InlineCode>TruffleArtifactAdapter</InlineCode> for use with the Truffle framework. You can also
+ write your own and support any artifact format.
+ </p>
+ </ContentBlock>
- <ContentBlock title="Installation">
- <Tabs>
- <TabBlock title="Sol-compiler">
- <Code language="js">
- {`import { SolCompilerArtifactAdapter } from '@0x/sol-trace';
+ <ContentBlock title="Installation">
+ <Tabs>
+ <TabBlock title="Sol-compiler">
+ <Code language="js">
+ {`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);`}
- </Code>
- </TabBlock>
- <TabBlock title="Truffle">Truffle</TabBlock>
- <TabBlock title="Custom">Custom</TabBlock>
- </Tabs>
- </ContentBlock>
- </Main>
- </Container>
+ </Code>
+ </TabBlock>
+ <TabBlock title="Truffle">Truffle</TabBlock>
+ <TabBlock title="Custom">Custom</TabBlock>
+ </Tabs>
+ </ContentBlock>
+ </Content>
</Base>
);
}