From 169b8807f72f144d6b481e03233e48203dc2dac4 Mon Sep 17 00:00:00 2001 From: David Sun Date: Tue, 19 Feb 2019 16:10:35 -0500 Subject: [PATCH 1/7] removed react-document-title in favor of using react-helmet for consistency and bug fix --- packages/website/package.json | 1 - packages/website/ts/components/documentTitle.tsx | 12 ++++++++++++ packages/website/ts/components/meta_tags.tsx | 2 +- packages/website/ts/components/portal/portal.tsx | 2 +- packages/website/ts/index.tsx | 1 - packages/website/ts/pages/about/jobs.tsx | 2 +- packages/website/ts/pages/about/mission.tsx | 2 +- packages/website/ts/pages/about/press.tsx | 2 +- packages/website/ts/pages/about/team.tsx | 2 +- packages/website/ts/pages/credits.tsx | 2 ++ .../ts/pages/documentation/developers_page.tsx | 2 +- packages/website/ts/pages/ecosystem.tsx | 2 +- packages/website/ts/pages/faq/faq.tsx | 2 +- packages/website/ts/pages/governance/governance.tsx | 2 +- packages/website/ts/pages/instant.tsx | 2 +- packages/website/ts/pages/landing.tsx | 2 +- packages/website/ts/pages/launch_kit.tsx | 3 ++- packages/website/ts/pages/market_maker.tsx | 2 ++ packages/website/ts/pages/vote_placeholder.tsx | 2 +- packages/website/ts/pages/why.tsx | 2 +- 20 files changed, 32 insertions(+), 17 deletions(-) create mode 100644 packages/website/ts/components/documentTitle.tsx diff --git a/packages/website/package.json b/packages/website/package.json index 5dff93c957..e5c5e97b6e 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -57,7 +57,6 @@ "rc-slider": "^8.6.3", "react": "^16.5.2", "react-copy-to-clipboard": "^5.0.0", - "react-document-title": "^2.0.3", "react-dom": "^16.5.2", "react-flickity-component": "^3.1.0", "react-headroom": "2.2.2", diff --git a/packages/website/ts/components/documentTitle.tsx b/packages/website/ts/components/documentTitle.tsx new file mode 100644 index 0000000000..5b19fe5f72 --- /dev/null +++ b/packages/website/ts/components/documentTitle.tsx @@ -0,0 +1,12 @@ +import * as React from 'react'; +import { Helmet } from 'react-helmet'; + +export interface DocumentTitleProps { + title: string; +} + +export const DocumentTitle: React.StatelessComponent = ({ title }) => ( + + {title} + +); diff --git a/packages/website/ts/components/meta_tags.tsx b/packages/website/ts/components/meta_tags.tsx index f6c43d23f6..a191b45c68 100644 --- a/packages/website/ts/components/meta_tags.tsx +++ b/packages/website/ts/components/meta_tags.tsx @@ -9,7 +9,7 @@ export interface MetaTagsProps { export const MetaTags: React.StatelessComponent = ({ title, description, imgSrc }) => ( - {title} + {/* {title} */} diff --git a/packages/website/ts/components/portal/portal.tsx b/packages/website/ts/components/portal/portal.tsx index 6ebbf8d1fb..e57eec11ac 100644 --- a/packages/website/ts/components/portal/portal.tsx +++ b/packages/website/ts/components/portal/portal.tsx @@ -2,13 +2,13 @@ import { colors, Link } from '@0x/react-shared'; import { BigNumber } from '@0x/utils'; import * as _ from 'lodash'; import * as React from 'react'; -import * as DocumentTitle from 'react-document-title'; import { Route, RouteComponentProps, Switch } from 'react-router-dom'; import { Blockchain } from 'ts/blockchain'; import { BlockchainErrDialog } from 'ts/components/dialogs/blockchain_err_dialog'; import { LedgerConfigDialog } from 'ts/components/dialogs/ledger_config_dialog'; import { PortalDisclaimerDialog } from 'ts/components/dialogs/portal_disclaimer_dialog'; +import { DocumentTitle } from 'ts/components/documentTitle'; import { EthWrappers } from 'ts/components/eth_wrappers'; import { FillOrder } from 'ts/components/fill_order'; import { AssetPicker } from 'ts/components/generate_order/asset_picker'; diff --git a/packages/website/ts/index.tsx b/packages/website/ts/index.tsx index 403db1dc22..bd80e4a21e 100644 --- a/packages/website/ts/index.tsx +++ b/packages/website/ts/index.tsx @@ -133,7 +133,6 @@ render( - { public render(): React.ReactNode { return ( + { public render(): React.ReactNode { return ( + Date: Tue, 19 Feb 2019 16:13:26 -0500 Subject: [PATCH 2/7] fixed title comment-out --- packages/website/ts/components/meta_tags.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/website/ts/components/meta_tags.tsx b/packages/website/ts/components/meta_tags.tsx index a191b45c68..f6c43d23f6 100644 --- a/packages/website/ts/components/meta_tags.tsx +++ b/packages/website/ts/components/meta_tags.tsx @@ -9,7 +9,7 @@ export interface MetaTagsProps { export const MetaTags: React.StatelessComponent = ({ title, description, imgSrc }) => ( - {/* {title} */} + {title} From 426190181b322baf566a8c525399dad35294a3a8 Mon Sep 17 00:00:00 2001 From: David Sun Date: Tue, 19 Feb 2019 23:33:48 -0500 Subject: [PATCH 3/7] added metadata for pages (incomplete) --- .../website/ts/document_meta_constants.tsx | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 packages/website/ts/document_meta_constants.tsx diff --git a/packages/website/ts/document_meta_constants.tsx b/packages/website/ts/document_meta_constants.tsx new file mode 100644 index 0000000000..db48fad191 --- /dev/null +++ b/packages/website/ts/document_meta_constants.tsx @@ -0,0 +1,63 @@ +export interface DocumentMetadata { + title: string; + description: string; + keywords: string; +} + +export const documentConstants: { [s: string]: DocumentMetadata } = { + LANDING: { + title: '0x: Powering the decentralized exchange of tokens on Ethereum', + description: '0x is an open protocol that enables the peer-to-peer exchange of assets on the Ethereum blockchain.', + keywords: 'DEX, Decentralized Exchange, Ethereum, 0x, 0x Protocol, Tokens, ZRX, Crypto Exchange, Cryptocurrency, Crypto, DeFi, Decentralized Finance, Open Finance, NFTs, Non Fungible Tokens, Exchange Protocol, Relayer, Exchange Functionality, Crypto Developers, 0x Instant, Crypto Market Maker, Networked Liquidity, 0x Home, Crypto Infrastructure, Build on 0x, Crypto', + }, + WHY: { + title: '0x: Features and Benefits', + description: '0x Protocol is free, open-source infrastructure that developers and businesses utilize to build products that enable the purchasing and trading of crypto tokens.', + keywords: '', + }, + INSTANT: { + title: '0x Instant: Quick and secure crypto purchasing', + description: 'A free and flexible way to offer simple crypto purchasing in any app or website.', + keywords: '', + }, + LAUNCH_KIT: { + title: '0x Launch Kit: Launch a relayer in under a minute', + description: 'Launch Kit includes a set of tools and documentation to build a relayer on 0x.', + keywords: '', + }, + ABOUT: { + title: '0x: Our Mission and Values', + description: 'As more assets become tokenized, 0x provides the critical exchange layer in a new financial stack that is more efficient, transparent, and equitable than any system in the past.', + keywords: '', + }, + TEAM: { + title: '0x: Our Team', + description: 'The 0x Core Team is passionate about accelerating the adoption decentralized technology and believe in its potential to be an equalizing force in the world. Join us and do the most impactful work of your life.', + keywords: '', + }, + PRESS: { + title: '0x: Press Highlights', + description: '0x has been featured in major publications such as Forbes, Fortune, VentureBeat, and TechCrunch.', + keywords: '', + }, + JOBS: { + title: 'Jobs at 0x', + description: 'Join us in building infrastructure upon which the exchange of all tokenized assets will take place.', + keywords: '', + }, + ECOSYSTEM_PROGRAM: { + title: '0x Ecosystem Acceleration Program: Jumpstart your Business on 0x', + description: 'The Ecosystem Acceleration Program gives teams access to a variety of services including funding, dedicated technical support, and recruiting assistance.', + keywords: '', + }, + MARKET_MAKER_PROGRAM: { + title: '0x Market Maker Program: Bring liquidity to the markets of the future', + description: 'The Market Making Program provides a set of resources that help onboard MMs to bring liquidity to the 0x network. The Program includes tutorials, monetary incentives, and 1:1 support from the 0x team.', + keywords: '', + }, + INFRASTRUCTURE_CREDITS: { + title: 'Free Credits - 0x', + description: '', + keywords: '', + }, +}; From 0ddec99704036afe0d20a29da621b3336298507e Mon Sep 17 00:00:00 2001 From: David Sun Date: Tue, 19 Feb 2019 23:57:34 -0500 Subject: [PATCH 4/7] updated documentTitle component --- .../website/ts/components/documentTitle.tsx | 12 --- .../website/ts/components/document_title.tsx | 15 ++++ .../website/ts/components/portal/portal.tsx | 2 - .../website/ts/document_meta_constants.tsx | 63 ------------- packages/website/ts/pages/about/jobs.tsx | 5 +- packages/website/ts/pages/about/mission.tsx | 5 +- packages/website/ts/pages/about/press.tsx | 5 +- packages/website/ts/pages/about/team.tsx | 5 +- packages/website/ts/pages/credits.tsx | 5 +- .../pages/documentation/developers_page.tsx | 5 +- packages/website/ts/pages/ecosystem.tsx | 5 +- packages/website/ts/pages/faq/faq.tsx | 5 +- .../ts/pages/governance/governance.tsx | 5 +- packages/website/ts/pages/instant.tsx | 5 +- packages/website/ts/pages/landing.tsx | 5 +- packages/website/ts/pages/launch_kit.tsx | 13 ++- packages/website/ts/pages/market_maker.tsx | 5 +- .../website/ts/pages/vote_placeholder.tsx | 5 +- packages/website/ts/pages/why.tsx | 5 +- .../ts/utils/document_meta_constants.tsx | 89 +++++++++++++++++++ 20 files changed, 151 insertions(+), 113 deletions(-) delete mode 100644 packages/website/ts/components/documentTitle.tsx create mode 100644 packages/website/ts/components/document_title.tsx delete mode 100644 packages/website/ts/document_meta_constants.tsx create mode 100644 packages/website/ts/utils/document_meta_constants.tsx diff --git a/packages/website/ts/components/documentTitle.tsx b/packages/website/ts/components/documentTitle.tsx deleted file mode 100644 index 5b19fe5f72..0000000000 --- a/packages/website/ts/components/documentTitle.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import * as React from 'react'; -import { Helmet } from 'react-helmet'; - -export interface DocumentTitleProps { - title: string; -} - -export const DocumentTitle: React.StatelessComponent = ({ title }) => ( - - {title} - -); diff --git a/packages/website/ts/components/document_title.tsx b/packages/website/ts/components/document_title.tsx new file mode 100644 index 0000000000..81fb021a5f --- /dev/null +++ b/packages/website/ts/components/document_title.tsx @@ -0,0 +1,15 @@ +import * as React from 'react'; +import { Helmet } from 'react-helmet'; + +import { DocumentMetadata } from '../utils/document_meta_constants'; + +export interface DocumentTitleProps extends DocumentMetadata {} + +export const DocumentTitle: React.StatelessComponent = ({ title, description }) => ( + + {title} + + + + +); diff --git a/packages/website/ts/components/portal/portal.tsx b/packages/website/ts/components/portal/portal.tsx index e57eec11ac..3d7c672583 100644 --- a/packages/website/ts/components/portal/portal.tsx +++ b/packages/website/ts/components/portal/portal.tsx @@ -8,7 +8,6 @@ import { Blockchain } from 'ts/blockchain'; import { BlockchainErrDialog } from 'ts/components/dialogs/blockchain_err_dialog'; import { LedgerConfigDialog } from 'ts/components/dialogs/ledger_config_dialog'; import { PortalDisclaimerDialog } from 'ts/components/dialogs/portal_disclaimer_dialog'; -import { DocumentTitle } from 'ts/components/documentTitle'; import { EthWrappers } from 'ts/components/eth_wrappers'; import { FillOrder } from 'ts/components/fill_order'; import { AssetPicker } from 'ts/components/generate_order/asset_picker'; @@ -234,7 +233,6 @@ export class Portal extends React.Component { return ( - - +
diff --git a/packages/website/ts/pages/about/mission.tsx b/packages/website/ts/pages/about/mission.tsx index 2b7d9a3c33..69fe07f15b 100644 --- a/packages/website/ts/pages/about/mission.tsx +++ b/packages/website/ts/pages/about/mission.tsx @@ -4,11 +4,12 @@ import styled from 'styled-components'; import { AboutPageLayout } from 'ts/components/aboutPageLayout'; import { Definition } from 'ts/components/definition'; -import { DocumentTitle } from 'ts/components/documentTitle'; +import { DocumentTitle } from 'ts/components/document_title'; import { Image } from 'ts/components/image'; import { Column, Section } from 'ts/components/newLayout'; import { Heading } from 'ts/components/text'; import { constants } from 'ts/utils/constants'; +import { documentConstants } from 'ts/utils/document_meta_constants'; const values = [ { @@ -38,7 +39,7 @@ export const NextAboutMission = () => ( linkLabel="Our mission and values" href={constants.URL_MISSION_AND_VALUES_BLOG_POST} > - +
0x Offices diff --git a/packages/website/ts/pages/about/press.tsx b/packages/website/ts/pages/about/press.tsx index 1a757b2792..1ffa11d1fb 100644 --- a/packages/website/ts/pages/about/press.tsx +++ b/packages/website/ts/pages/about/press.tsx @@ -4,9 +4,10 @@ import styled from 'styled-components'; import { AboutPageLayout } from 'ts/components/aboutPageLayout'; import { Button } from 'ts/components/button'; -import { DocumentTitle } from 'ts/components/documentTitle'; +import { DocumentTitle } from 'ts/components/document_title'; import { Column, FlexWrap } from 'ts/components/newLayout'; import { Paragraph } from 'ts/components/text'; +import { documentConstants } from 'ts/utils/document_meta_constants'; interface HighlightProps { logo: string; @@ -66,7 +67,7 @@ export const NextAboutPress = () => ( } > - + ); diff --git a/packages/website/ts/pages/about/team.tsx b/packages/website/ts/pages/about/team.tsx index 072bbffa0c..82506a3cf0 100644 --- a/packages/website/ts/pages/about/team.tsx +++ b/packages/website/ts/pages/about/team.tsx @@ -5,10 +5,11 @@ import styled from 'styled-components'; import { colors } from 'ts/style/colors'; import { AboutPageLayout } from 'ts/components/aboutPageLayout'; -import { DocumentTitle } from 'ts/components/documentTitle'; +import { DocumentTitle } from 'ts/components/document_title'; import { Column, Section } from 'ts/components/newLayout'; import { Heading, Paragraph } from 'ts/components/text'; import { WebsitePaths } from 'ts/types'; +import { documentConstants } from 'ts/utils/document_meta_constants'; interface TeamMember { name: string; @@ -194,7 +195,7 @@ export const NextAboutTeam = () => ( linkLabel="Join the team" to={WebsitePaths.AboutJobs} > - +
0x Team diff --git a/packages/website/ts/pages/credits.tsx b/packages/website/ts/pages/credits.tsx index 6c24a40490..50dc185fc3 100644 --- a/packages/website/ts/pages/credits.tsx +++ b/packages/website/ts/pages/credits.tsx @@ -4,12 +4,13 @@ import * as React from 'react'; import { Banner } from 'ts/components/banner'; import { Button } from 'ts/components/button'; import { CenteredDefinition } from 'ts/components/centeredDefinition'; -import { DocumentTitle } from 'ts/components/documentTitle'; +import { DocumentTitle } from 'ts/components/document_title'; import { Hero } from 'ts/components/hero'; import { ModalContact, ModalContactType } from 'ts/components/modals/modal_contact'; import { FlexWrap, Section } from 'ts/components/newLayout'; import { SiteWrap } from 'ts/components/siteWrap'; import { Heading } from 'ts/components/text'; +import { documentConstants } from 'ts/utils/document_meta_constants'; export interface CreditsProps {} @@ -25,7 +26,7 @@ export class Credits extends React.Component { public render(): React.ReactNode { return ( - + - + diff --git a/packages/website/ts/pages/ecosystem.tsx b/packages/website/ts/pages/ecosystem.tsx index 3f71efa6a3..455fc3a099 100644 --- a/packages/website/ts/pages/ecosystem.tsx +++ b/packages/website/ts/pages/ecosystem.tsx @@ -5,12 +5,13 @@ import styled from 'styled-components'; import { colors } from 'ts/style/colors'; import { Button } from 'ts/components/button'; -import { DocumentTitle } from 'ts/components/documentTitle'; +import { DocumentTitle } from 'ts/components/document_title'; import { Icon } from 'ts/components/icon'; import { Column, Section, WrapGrid } from 'ts/components/newLayout'; import { SiteWrap } from 'ts/components/siteWrap'; import { Heading, Paragraph } from 'ts/components/text'; import { constants } from 'ts/utils/constants'; +import { documentConstants } from 'ts/utils/document_meta_constants'; interface BenefitProps { title: string; @@ -55,7 +56,7 @@ const benefits: BenefitProps[] = [ export const NextEcosystem = () => ( - +
diff --git a/packages/website/ts/pages/faq/faq.tsx b/packages/website/ts/pages/faq/faq.tsx index a318cdafd0..b86a1ca322 100644 --- a/packages/website/ts/pages/faq/faq.tsx +++ b/packages/website/ts/pages/faq/faq.tsx @@ -1,7 +1,7 @@ import { colors, Styles } from '@0x/react-shared'; import * as _ from 'lodash'; import * as React from 'react'; -import { DocumentTitle } from 'ts/components/documentTitle'; +import { DocumentTitle } from 'ts/components/document_title'; import { Footer } from 'ts/components/old_footer'; import { TopBar } from 'ts/components/top_bar/top_bar'; import { Question } from 'ts/pages/faq/question'; @@ -9,6 +9,7 @@ import { Dispatcher } from 'ts/redux/dispatcher'; import { FAQQuestion, FAQSection, WebsitePaths } from 'ts/types'; import { configs } from 'ts/utils/configs'; import { constants } from 'ts/utils/constants'; +import { documentConstants } from 'ts/utils/document_meta_constants'; import { Translate } from 'ts/utils/translate'; export interface FAQProps { @@ -412,7 +413,7 @@ export class FAQ extends React.Component { public render(): React.ReactNode { return (
- +

diff --git a/packages/website/ts/pages/governance/governance.tsx b/packages/website/ts/pages/governance/governance.tsx index 474a7686d2..28604b2ba6 100644 --- a/packages/website/ts/pages/governance/governance.tsx +++ b/packages/website/ts/pages/governance/governance.tsx @@ -5,7 +5,7 @@ import styled from 'styled-components'; import { Banner } from 'ts/components/banner'; import { Button } from 'ts/components/button'; -import { DocumentTitle } from 'ts/components/documentTitle'; +import { DocumentTitle } from 'ts/components/document_title'; import { ModalContact } from 'ts/components/modals/modal_contact'; import { Column, FlexWrap, Section } from 'ts/components/newLayout'; import { SiteWrap } from 'ts/components/siteWrap'; @@ -17,6 +17,7 @@ import { VoteInfo, VoteValue } from 'ts/pages/governance/vote_form'; import { VoteStats } from 'ts/pages/governance/vote_stats'; import { colors } from 'ts/style/colors'; import { configs } from 'ts/utils/configs'; +import { documentConstants } from 'ts/utils/document_meta_constants'; import { utils } from 'ts/utils/utils'; interface LabelInterface { @@ -109,7 +110,7 @@ export class Governance extends React.Component { const { isVoteReceived, tally } = this.state; return ( - +
diff --git a/packages/website/ts/pages/instant.tsx b/packages/website/ts/pages/instant.tsx index d406b48baf..81785e59ca 100644 --- a/packages/website/ts/pages/instant.tsx +++ b/packages/website/ts/pages/instant.tsx @@ -6,7 +6,7 @@ import styled, { keyframes } from 'styled-components'; import { Banner } from 'ts/components/banner'; import { Button } from 'ts/components/button'; import { Definition } from 'ts/components/definition'; -import { DocumentTitle } from 'ts/components/documentTitle'; +import { DocumentTitle } from 'ts/components/document_title'; import { Hero } from 'ts/components/hero'; import { Section, SectionProps } from 'ts/components/newLayout'; import { SiteWrap } from 'ts/components/siteWrap'; @@ -14,6 +14,7 @@ import { Heading, Paragraph } from 'ts/components/text'; import { Configurator } from 'ts/pages/instant/configurator'; import { colors } from 'ts/style/colors'; import { WebsitePaths } from 'ts/types'; +import { documentConstants } from 'ts/utils/document_meta_constants'; import { utils } from 'ts/utils/utils'; import { ModalContact } from '../components/modals/modal_contact'; @@ -88,7 +89,7 @@ export class Next0xInstant extends React.Component { public render(): React.ReactNode { return ( - + { public render(): React.ReactNode { return ( - + diff --git a/packages/website/ts/pages/launch_kit.tsx b/packages/website/ts/pages/launch_kit.tsx index 719124c79c..b3f09e6d2a 100644 --- a/packages/website/ts/pages/launch_kit.tsx +++ b/packages/website/ts/pages/launch_kit.tsx @@ -1,18 +1,15 @@ import * as _ from 'lodash'; import * as React from 'react'; - -import { DocumentTitle } from 'ts/components/documentTitle'; - -import { Hero } from 'ts/components/hero'; - import { Banner } from 'ts/components/banner'; import { Button } from 'ts/components/button'; import { Definition } from 'ts/components/definition'; +import { DocumentTitle } from 'ts/components/document_title'; +import { Hero } from 'ts/components/hero'; import { Icon } from 'ts/components/icon'; -import { SiteWrap } from 'ts/components/siteWrap'; - import { Section } from 'ts/components/newLayout'; +import { SiteWrap } from 'ts/components/siteWrap'; import { constants } from 'ts/utils/constants'; +import { documentConstants } from 'ts/utils/document_meta_constants'; import { ModalContact } from '../components/modals/modal_contact'; @@ -37,7 +34,7 @@ export class NextLaunchKit extends React.Component { public render(): React.ReactNode { return ( - + { public render(): React.ReactNode { return ( - + ( - +
diff --git a/packages/website/ts/pages/why.tsx b/packages/website/ts/pages/why.tsx index 25cc92207f..784d42bd8e 100644 --- a/packages/website/ts/pages/why.tsx +++ b/packages/website/ts/pages/why.tsx @@ -6,12 +6,13 @@ import styled from 'styled-components'; import { Banner } from 'ts/components/banner'; import { Button } from 'ts/components/button'; import { Definition } from 'ts/components/definition'; -import { DocumentTitle } from 'ts/components/documentTitle'; +import { DocumentTitle } from 'ts/components/document_title'; import { Hero } from 'ts/components/hero'; import { Column, Section, WrapSticky } from 'ts/components/newLayout'; import { SiteWrap } from 'ts/components/siteWrap'; import { Slide, Slider } from 'ts/components/slider/slider'; import { Heading } from 'ts/components/text'; +import { documentConstants } from 'ts/utils/document_meta_constants'; import { ModalContact } from '../components/modals/modal_contact'; @@ -99,7 +100,7 @@ export class NextWhy extends React.Component { ); return ( - + Date: Wed, 20 Feb 2019 23:24:05 -0500 Subject: [PATCH 5/7] fixed linting issue --- packages/website/ts/pages/documentation/developers_page.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/website/ts/pages/documentation/developers_page.tsx b/packages/website/ts/pages/documentation/developers_page.tsx index 59cf00db14..006010a0ce 100644 --- a/packages/website/ts/pages/documentation/developers_page.tsx +++ b/packages/website/ts/pages/documentation/developers_page.tsx @@ -2,9 +2,9 @@ import { colors, constants as sharedConstants, utils as sharedUtils } from '@0x/ import * as _ from 'lodash'; import * as React from 'react'; import { Helmet } from 'react-helmet'; +import { DocumentTitle } from 'ts/components/document_title'; import { DocsLogo } from 'ts/components/documentation/docs_logo'; import { DocsTopBar } from 'ts/components/documentation/docs_top_bar'; -import { DocumentTitle } from 'ts/components/document_title'; import { Container } from 'ts/components/ui/container'; import { Dispatcher } from 'ts/redux/dispatcher'; import { media } from 'ts/style/media'; From 8fa0f4a232041d33afe9b7cdd33ed31bd042c14c Mon Sep 17 00:00:00 2001 From: David Sun Date: Thu, 21 Feb 2019 10:20:29 -0500 Subject: [PATCH 6/7] removed default meta tags in public/index.html --- packages/website/public/index.html | 9 --------- 1 file changed, 9 deletions(-) diff --git a/packages/website/public/index.html b/packages/website/public/index.html index fcc1ffe098..1cd35f1332 100644 --- a/packages/website/public/index.html +++ b/packages/website/public/index.html @@ -3,16 +3,7 @@ - - - - - - 0x: The Protocol for Trading Tokens From 6bcc2064a2f642a6aa1e4023240e6a876f61eceb Mon Sep 17 00:00:00 2001 From: "F. Eugene Aumson" Date: Thu, 21 Feb 2019 16:24:54 -0800 Subject: [PATCH 7/7] Demonstrate calling contracts with tuple arrays (#1615) --- .../contract_demo/test/test_exchange.py | 52 +++++++++++++++++++ python-packages/order_utils/setup.py | 2 +- 2 files changed, 53 insertions(+), 1 deletion(-) diff --git a/python-packages/contract_demo/test/test_exchange.py b/python-packages/contract_demo/test/test_exchange.py index 07492a4030..e47fcc78fd 100644 --- a/python-packages/contract_demo/test/test_exchange.py +++ b/python-packages/contract_demo/test/test_exchange.py @@ -63,3 +63,55 @@ def test_get_order_info(): assert isinstance(order_info.order_taker_asset_filled_amount, int) assert order_info.order_taker_asset_filled_amount == 0 + + +def test_get_orders_info(): + """Demonstrate Exchange.getOrderInfo().""" + order: Order = { + "makerAddress": "0x0000000000000000000000000000000000000000", + "takerAddress": "0x0000000000000000000000000000000000000000", + "feeRecipientAddress": "0x0000000000000000000000000000000000000000", + "senderAddress": "0x0000000000000000000000000000000000000000", + "makerAssetAmount": 1000000000000000000, + "takerAssetAmount": 1000000000000000000, + "makerFee": 0, + "takerFee": 0, + "expirationTimeSeconds": 12345, + "salt": 12345, + "makerAssetData": (b"\x00") * 20, + "takerAssetData": (b"\x00") * 20, + } + + web3_instance = Web3(Web3.HTTPProvider("http://127.0.0.1:8545")) + + # false positive from pylint: disable=no-member + contract_address = NETWORK_TO_ADDRESSES[ + NetworkId(int(web3_instance.net.version)) + ].exchange + + assert_valid( + order_to_jsdict(order, exchange_address=contract_address), + "/orderSchema", + ) + + # false positive from pylint: disable=no-member + exchange: datatypes.Contract = web3_instance.eth.contract( + address=to_checksum_address(contract_address), + abi=zero_ex.contract_artifacts.abi_by_name("Exchange"), + ) + + orders_info = exchange.call().getOrdersInfo([order]) + + for order_info in orders_info: + order_info = OrderInfo(*order_info) + assert isinstance(order_info.order_status, int) + assert order_info.order_status == 4 + + assert isinstance(order_info.order_hash, bytes) + assert order_info.order_hash.hex() == generate_order_hash_hex( + order, + exchange_address=NETWORK_TO_ADDRESSES[NetworkId.GANACHE].exchange, + ) + + assert isinstance(order_info.order_taker_asset_filled_amount, int) + assert order_info.order_taker_asset_filled_amount == 0 diff --git a/python-packages/order_utils/setup.py b/python-packages/order_utils/setup.py index 6f94656805..fc361c23b7 100755 --- a/python-packages/order_utils/setup.py +++ b/python-packages/order_utils/setup.py @@ -168,12 +168,12 @@ setup( "0x-contract-addresses", "0x-contract-artifacts", "0x-json-schemas", + "0x-web3", "eth-abi", "eth_utils", "hypothesis>=3.31.2", # HACK! this is web3's dependency! # above works around https://github.com/ethereum/web3.py/issues/1179 "mypy_extensions", - "web3", ], extras_require={ "dev": [