diff --git a/next.config.js b/next.config.js index ae887958d3..f89c308fff 100644 --- a/next.config.js +++ b/next.config.js @@ -1,7 +1,7 @@ /** @type {import('next').NextConfig} */ const nextConfig = { reactStrictMode: true, - swcMinify: true, -} + swcMinify: true +}; -module.exports = nextConfig +module.exports = nextConfig; diff --git a/package.json b/package.json index 47e53957e0..bb7707c3f6 100644 --- a/package.json +++ b/package.json @@ -6,9 +6,10 @@ "author": "Nicolás Quiroz ", "scripts": { "dev": "next dev", - "build": "next build", + "build": "npm run lint && next build && npm run format:fix", "start": "next start", - "lint": "next lint" + "lint": "next lint", + "format:fix": "prettier . --write --config .prettierrc --ignore-path .prettierignore --loglevel warn" }, "dependencies": { "@chakra-ui/react": "^2.3.2", @@ -25,6 +26,8 @@ "@types/react-dom": "18.0.6", "eslint": "8.23.0", "eslint-config-next": "12.2.5", + "eslint-config-prettier": "^8.5.0", + "prettier": "^2.7.1", "typescript": "4.8.2" } } diff --git a/pages/_app.tsx b/pages/_app.tsx index 7a11bda4c9..f590e5a887 100644 --- a/pages/_app.tsx +++ b/pages/_app.tsx @@ -1,11 +1,10 @@ -import { ChakraProvider } from '@chakra-ui/react' -import { AppProps } from 'next/app' +import { ChakraProvider } from '@chakra-ui/react'; +import { AppProps } from 'next/app'; export default function App({ Component, pageProps }: AppProps) { return ( - ) + ); } - diff --git a/pages/api/hello.ts b/pages/api/hello.ts index f8bcc7e5ca..eb4cc6657b 100644 --- a/pages/api/hello.ts +++ b/pages/api/hello.ts @@ -1,13 +1,10 @@ // Next.js API route support: https://nextjs.org/docs/api-routes/introduction -import type { NextApiRequest, NextApiResponse } from 'next' +import type { NextApiRequest, NextApiResponse } from 'next'; type Data = { - name: string -} + name: string; +}; -export default function handler( - req: NextApiRequest, - res: NextApiResponse -) { - res.status(200).json({ name: 'John Doe' }) +export default function handler(req: NextApiRequest, res: NextApiResponse) { + res.status(200).json({ name: 'John Doe' }); } diff --git a/pages/index.tsx b/pages/index.tsx index 86b5b3b5bf..817ca2ac72 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -1,72 +1,62 @@ -import type { NextPage } from 'next' -import Head from 'next/head' -import Image from 'next/image' -import styles from '../styles/Home.module.css' +import type { NextPage } from 'next'; +import Head from 'next/head'; +import Image from 'next/image'; const Home: NextPage = () => { return ( -
+
Create Next App - - + + -
-

- Welcome to Next.js! +
+

+ Welcome to Next.js!

-

- Get started by editing{' '} - pages/index.tsx +

+ Get started by editing pages/index.tsx

-
-

- ) -} + ); +}; -export default Home +export default Home; diff --git a/styles/Home.module.css b/styles/Home.module.css deleted file mode 100644 index bd50f42ffe..0000000000 --- a/styles/Home.module.css +++ /dev/null @@ -1,129 +0,0 @@ -.container { - padding: 0 2rem; -} - -.main { - min-height: 100vh; - padding: 4rem 0; - flex: 1; - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; -} - -.footer { - display: flex; - flex: 1; - padding: 2rem 0; - border-top: 1px solid #eaeaea; - justify-content: center; - align-items: center; -} - -.footer a { - display: flex; - justify-content: center; - align-items: center; - flex-grow: 1; -} - -.title a { - color: #0070f3; - text-decoration: none; -} - -.title a:hover, -.title a:focus, -.title a:active { - text-decoration: underline; -} - -.title { - margin: 0; - line-height: 1.15; - font-size: 4rem; -} - -.title, -.description { - text-align: center; -} - -.description { - margin: 4rem 0; - line-height: 1.5; - font-size: 1.5rem; -} - -.code { - background: #fafafa; - border-radius: 5px; - padding: 0.75rem; - font-size: 1.1rem; - font-family: Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, - Bitstream Vera Sans Mono, Courier New, monospace; -} - -.grid { - display: flex; - align-items: center; - justify-content: center; - flex-wrap: wrap; - max-width: 800px; -} - -.card { - margin: 1rem; - padding: 1.5rem; - text-align: left; - color: inherit; - text-decoration: none; - border: 1px solid #eaeaea; - border-radius: 10px; - transition: color 0.15s ease, border-color 0.15s ease; - max-width: 300px; -} - -.card:hover, -.card:focus, -.card:active { - color: #0070f3; - border-color: #0070f3; -} - -.card h2 { - margin: 0 0 1rem 0; - font-size: 1.5rem; -} - -.card p { - margin: 0; - font-size: 1.25rem; - line-height: 1.5; -} - -.logo { - height: 1em; - margin-left: 0.5rem; -} - -@media (max-width: 600px) { - .grid { - width: 100%; - flex-direction: column; - } -} - -@media (prefers-color-scheme: dark) { - .card, - .footer { - border-color: #222; - } - .code { - background: #111; - } - .logo img { - filter: invert(1); - } -} diff --git a/styles/globals.css b/styles/globals.css deleted file mode 100644 index 4f1842163d..0000000000 --- a/styles/globals.css +++ /dev/null @@ -1,26 +0,0 @@ -html, -body { - padding: 0; - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, - Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; -} - -a { - color: inherit; - text-decoration: none; -} - -* { - box-sizing: border-box; -} - -@media (prefers-color-scheme: dark) { - html { - color-scheme: dark; - } - body { - color: white; - background: black; - } -} diff --git a/vulnerabilities/vulnerabilities.json b/vulnerabilities/vulnerabilities.json index bee0e66dd8..b1168cacae 100644 --- a/vulnerabilities/vulnerabilities.json +++ b/vulnerabilities/vulnerabilities.json @@ -93,9 +93,7 @@ "fixed": "v1.9.20", "summary": "A consensus-vulnerability in Geth could cause a chain split, where vulnerable versions refuse to accept the canonical chain.", "description": "A flaw was repoted at 2020-08-11 by John Youngseok Yang (Software Platform Lab), where a particular sequence of transactions could cause a consensus failure.\n\n- Tx 1:\n - `sender` invokes `caller`.\n - `caller` invokes `0xaa`. `0xaa` has 3 wei, does a self-destruct-to-self\n - `caller` does a `1 wei` -call to `0xaa`, who thereby has 1 wei (the code in `0xaa` still executed, since the tx is still ongoing, but doesn't redo the selfdestruct, it takes a different path if callvalue is non-zero)\n\n-Tx 2:\n - `sender` does a 5-wei call to 0xaa. No exec (since no code). \n\nIn geth, the result would be that `0xaa` had `6 wei`, whereas OE reported (correctly) `5` wei. Furthermore, in geth, if the second tx was not executed, the `0xaa` would be destructed, resulting in `0 wei`. Thus obviously wrong. \n\nIt was determined that the root cause was this [commit](https://github.com/ethereum/go-ethereum/commit/223b950944f494a5b4e0957fd9f92c48b09037ad) from [this PR](https://github.com/ethereum/go-ethereum/pull/19953). The semantics of `createObject` was subtly changd, into returning a non-nil object (with `deleted=true`) where it previously did not if the account had been destructed. This return value caused the new object to inherit the old `balance`.\n", - "links": [ - "https://github.com/ethereum/go-ethereum/security/advisories/GHSA-xw37-57qp-9mm4" - ], + "links": ["https://github.com/ethereum/go-ethereum/security/advisories/GHSA-xw37-57qp-9mm4"], "published": "2020-12-10", "severity": "High", "CVE": "CVE-2020-26265", diff --git a/vulnerabilities/vulnerabilities.md b/vulnerabilities/vulnerabilities.md index 07d7baf86d..bec5e4c9e3 100644 --- a/vulnerabilities/vulnerabilities.md +++ b/vulnerabilities/vulnerabilities.md @@ -13,15 +13,15 @@ Vulnerabilies typically take two forms: 1. Vulnerabilies that, if exploited, would harm the software operator. In the case of go-ethereum, examples would be: - - A bug that would allow remote reading or writing of OS files, or - - Remote command execution, or - - Bugs that would leak cryptographic keys + - A bug that would allow remote reading or writing of OS files, or + - Remote command execution, or + - Bugs that would leak cryptographic keys 2. Vulnerabilies that, if exploited, would harm the Ethereum mainnet. In the case of go-ethereum, examples would be: - - Consensus vulnerabilities, which would cause a chain split, - - Denial-of-service during block processing, whereby a malicious transaction could cause the geth-portion of the network to crash. - - Denial-of-service via p2p networking, whereby portions of the network could be made - inaccessible due to crashes or resource consumption. + - Consensus vulnerabilities, which would cause a chain split, + - Denial-of-service during block processing, whereby a malicious transaction could cause the geth-portion of the network to crash. + - Denial-of-service via p2p networking, whereby portions of the network could be made + inaccessible due to crashes or resource consumption. In most cases so far, vulnerabilities in `geth` have been of the second type, where the health of the network is a concern, rather than individual node operators. For such diff --git a/yarn.lock b/yarn.lock index 9715ac034d..05fc549423 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1632,6 +1632,11 @@ eslint-config-next@12.2.5: eslint-plugin-react "^7.29.4" eslint-plugin-react-hooks "^4.5.0" +eslint-config-prettier@^8.5.0: + version "8.5.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1" + integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q== + eslint-import-resolver-node@^0.3.6: version "0.3.6" resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" @@ -2598,6 +2603,11 @@ prelude-ls@^1.2.1: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== +prettier@^2.7.1: + version "2.7.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64" + integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== + prop-types@^15.6.2, prop-types@^15.8.1: version "15.8.1" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5"