diff --git a/js/package-lock.json b/js/package-lock.json index 691e69576..10c90235b 100644 --- a/js/package-lock.json +++ b/js/package-lock.json @@ -51,9 +51,9 @@ "@parity/api": "2.1.15", "@parity/mobx": "1.1.2", "@parity/ui": "3.0.22", - "mobx": "3.5.1", + "mobx": "3.6.1", "mobx-react": "4.3.5", - "prop-types": "15.6.0", + "prop-types": "15.6.1", "react": "16.2.0", "react-dom": "16.2.0", "react-intl": "2.4.0", @@ -80,15 +80,15 @@ } }, "mobx": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/mobx/-/mobx-3.5.1.tgz", - "integrity": "sha1-jmguxTXPROBABbnjfi32asyXWkI=", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/mobx/-/mobx-3.6.1.tgz", + "integrity": "sha1-rmOo8A4UhadA0Pka4val9o4wO+o=", "dev": true }, "prop-types": { - "version": "15.6.0", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", - "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", + "version": "15.6.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.1.tgz", + "integrity": "sha512-4ec7bY1Y66LymSUOH/zARVYObB23AT2h8cf6e/O6ZALB/N0sqZFEx7rq6EYPX2MkOdKORuooI/H5k9TlR4q7kQ==", "dev": true, "requires": { "fbjs": "0.8.16", @@ -105,7 +105,7 @@ "fbjs": "0.8.16", "loose-envify": "1.3.1", "object-assign": "4.1.1", - "prop-types": "15.6.0" + "prop-types": "15.6.1" } }, "react-dom": { @@ -117,7 +117,7 @@ "fbjs": "0.8.16", "loose-envify": "1.3.1", "object-assign": "4.1.1", - "prop-types": "15.6.0" + "prop-types": "15.6.1" } }, "semantic-ui-react": { @@ -130,7 +130,7 @@ "classnames": "2.2.5", "fbjs": "0.8.16", "lodash": "4.17.4", - "prop-types": "15.6.0" + "prop-types": "15.6.1" } } } @@ -142,9 +142,9 @@ "@parity/api": "2.1.15", "@parity/mobx": "1.1.2", "@parity/ui": "3.0.22", - "mobx": "3.5.1", + "mobx": "3.6.1", "mobx-react": "4.3.5", - "prop-types": "15.6.0", + "prop-types": "15.6.1", "react": "16.2.0", "react-dom": "16.2.0", "react-intl": "2.4.0", @@ -171,15 +171,15 @@ } }, "mobx": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/mobx/-/mobx-3.5.1.tgz", - "integrity": "sha1-jmguxTXPROBABbnjfi32asyXWkI=", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/mobx/-/mobx-3.6.1.tgz", + "integrity": "sha1-rmOo8A4UhadA0Pka4val9o4wO+o=", "dev": true }, "prop-types": { - "version": "15.6.0", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", - "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", + "version": "15.6.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.1.tgz", + "integrity": "sha512-4ec7bY1Y66LymSUOH/zARVYObB23AT2h8cf6e/O6ZALB/N0sqZFEx7rq6EYPX2MkOdKORuooI/H5k9TlR4q7kQ==", "dev": true, "requires": { "fbjs": "0.8.16", @@ -196,7 +196,7 @@ "fbjs": "0.8.16", "loose-envify": "1.3.1", "object-assign": "4.1.1", - "prop-types": "15.6.0" + "prop-types": "15.6.1" } }, "react-dom": { @@ -208,7 +208,7 @@ "fbjs": "0.8.16", "loose-envify": "1.3.1", "object-assign": "4.1.1", - "prop-types": "15.6.0" + "prop-types": "15.6.1" } }, "semantic-ui-react": { @@ -221,7 +221,7 @@ "classnames": "2.2.5", "fbjs": "0.8.16", "lodash": "4.17.4", - "prop-types": "15.6.0" + "prop-types": "15.6.1" } } } @@ -254,9 +254,9 @@ "@parity/mobx": "1.1.2", "@parity/ui": "3.0.22", "format-number": "3.0.0", - "mobx": "3.5.1", + "mobx": "3.6.1", "mobx-react": "4.3.5", - "prop-types": "15.6.0", + "prop-types": "15.6.1", "react": "16.2.0", "react-dom": "16.2.0", "react-intl": "2.4.0", @@ -284,15 +284,15 @@ } }, "mobx": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/mobx/-/mobx-3.5.1.tgz", - "integrity": "sha1-jmguxTXPROBABbnjfi32asyXWkI=", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/mobx/-/mobx-3.6.1.tgz", + "integrity": "sha1-rmOo8A4UhadA0Pka4val9o4wO+o=", "dev": true }, "prop-types": { - "version": "15.6.0", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", - "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", + "version": "15.6.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.1.tgz", + "integrity": "sha512-4ec7bY1Y66LymSUOH/zARVYObB23AT2h8cf6e/O6ZALB/N0sqZFEx7rq6EYPX2MkOdKORuooI/H5k9TlR4q7kQ==", "dev": true, "requires": { "fbjs": "0.8.16", @@ -309,7 +309,7 @@ "fbjs": "0.8.16", "loose-envify": "1.3.1", "object-assign": "4.1.1", - "prop-types": "15.6.0" + "prop-types": "15.6.1" } }, "react-dom": { @@ -321,7 +321,7 @@ "fbjs": "0.8.16", "loose-envify": "1.3.1", "object-assign": "4.1.1", - "prop-types": "15.6.0" + "prop-types": "15.6.1" } } } diff --git a/js/src/Dapps/blacklist.js b/js/src/Dapps/blacklist.js new file mode 100644 index 000000000..c9044defa --- /dev/null +++ b/js/src/Dapps/blacklist.js @@ -0,0 +1,14 @@ +module.exports = [ + // tokendeploy + '0xf9f2d620c2e08f83e45555247146c62185e4ab7cf82a4b9002a265a0d020348f', + // methodreg + '0xf49089046f53f5d2e5f3513c1c32f5ff57d986e46309a42d2b249070e4e72c46', + // dappreg + '0x7bbc4f1a27628781b96213e781a1b8eec6982c1db8fac739af6e4c5a55862c03', + // githubhint + '0x058740ee9a5a3fb9f1cfa10752baec87e09cc45cd7027fd54708271aca300c75', + // console + '0xa635a9326814bded464190eddf0bdb90ce92d40ea2359cf553ea80e3c5a4076c', + // registry + '0xd1adaede68d344519025e2ff574650cd99d3830fe6d274c7a7843cdc00e17938' +]; diff --git a/js/src/Dapps/dapps.js b/js/src/Dapps/dapps.js index f73947a6b..18b384a79 100644 --- a/js/src/Dapps/dapps.js +++ b/js/src/Dapps/dapps.js @@ -29,6 +29,8 @@ import DappCard from './DappCard'; import styles from './dapps.css'; +import BLACKLIST from './blacklist'; + @observer class Dapps extends Component { static contextTypes = { @@ -53,8 +55,10 @@ class Dapps extends Component { } } - renderSection = (apps) => ( - apps && apps.length > 0 && + renderSection = (_apps) => { + const apps = _apps.filter(({ id }) => !BLACKLIST.includes(id)); + + return apps && apps.length > 0 &&
{ apps.map((app, index) => ( @@ -68,8 +72,8 @@ class Dapps extends Component { /> )) } -
- ) + ; + } render () { return ( diff --git a/js/webpack/app.js b/js/webpack/app.js index 1e0aeb5f6..45d8f7762 100644 --- a/js/webpack/app.js +++ b/js/webpack/app.js @@ -29,12 +29,14 @@ const rulesEs6 = require('./rules/es6'); const rulesParity = require('./rules/parity'); const Shared = require('./shared'); +const BLACKLIST = require('../src/Dapps/blacklist'); const DAPPS_BUILTIN = require('@parity/shared/lib/config/dappsBuiltin.json'); const DAPPS_VIEWS = require('@parity/shared/lib/config/dappsViews.json'); const DAPPS_ALL = [] .concat(DAPPS_BUILTIN, DAPPS_VIEWS) .filter((dapp) => !dapp.skipBuild) - .filter((dapp) => dapp.package); + .filter((dapp) => dapp.package) + .filter(({ id }) => !BLACKLIST.includes(id)); const FAVICON = path.resolve(__dirname, '../node_modules/@parity/shared/assets/images/parity-logo-black-no-text.png');