Skip to content

Commit

Permalink
Merge pull request #6290 from ethereum/dev
Browse files Browse the repository at this point in the history
Deploy v3.23.0
  • Loading branch information
corwintines authored May 10, 2022
2 parents 701b724 + a0fdba1 commit e1920ad
Show file tree
Hide file tree
Showing 33 changed files with 1,974 additions and 168 deletions.
6 changes: 5 additions & 1 deletion .github/ISSUE_TEMPLATE/suggest_layer2.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,14 @@ If it does, complete the following information which we need to accurately list

<!-- If yes, please provide a link to the repository -->

**What category of layer 2 is it? (Optimistic, ZK, State channel)**
**What category of layer 2 is it? (Optimistic, ZK)**

<!-- Please provide some information on what kind of layer 2 this is -->

**Does the layer 2 use Ethereum Mainnet for data availability?**

<!-- Please provide proof thats the layer 2 uses Ethereum for data availability -->

**Which bridges are used to onboard?**

<!-- Please provide some information on how to bridge assets onto this layer 2 -->
Expand Down
5 changes: 5 additions & 0 deletions gatsby-node.js
Original file line number Diff line number Diff line change
Expand Up @@ -429,6 +429,11 @@ exports.createSchemaCustomization = ({ actions }) => {
name: String,
score: Int
}
type ExecutionBountyHuntersCsv implements Node {
username: String,
name: String,
score: Int
}
`
createTypes(typeDefs)

Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "ethereum-org-website",
"version": "3.22.0",
"version": "3.23.0",
"description": "Website of ethereum.org",
"main": "index.js",
"repository": "[email protected]:ethereum/ethereum-org-website.git",
Expand Down
6 changes: 5 additions & 1 deletion redirects.json
Original file line number Diff line number Diff line change
Expand Up @@ -309,7 +309,11 @@
},
{
"fromPath": "/*/eth2/get-involved/bug-bounty/",
"toPath": "/:splat/upgrades/get-involved/bug-bounty/"
"toPath": "/:splat/bug-bounty/"
},
{
"fromPath": "/*/upgrades/get-involved/bug-bounty/",
"toPath": "/:splat/bug-bounty/"
},
{
"fromPath": "/*/eth2/deposit-contract/",
Expand Down
Binary file added src/assets/upgrades/besu.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/upgrades/erigon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/upgrades/geth.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/upgrades/nethermind.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
15 changes: 11 additions & 4 deletions src/components/BugBountyCards.js
Original file line number Diff line number Diff line change
Expand Up @@ -110,9 +110,10 @@ const Text = styled.div`

const bugBountyCardsInfo = [
{
lowLabelTranslationId: "page-upgrades-bug-bounty-card-label-1",
lowLabelTranslationId: "page-upgrades-bug-bounty-card-label-2",
h2TranslationId: "page-upgrades-bug-bounty-card-low",
descriptionTranslationId: "page-upgrades-bug-bounty-card-label-2",
subDescriptionTranslationId: "page-upgrades-bug-bounty-card-label-1",
subHeader1TranslationId: "page-upgrades-bug-bounty-card-subheader",
severityList: [
"page-upgrades-bug-bounty-card-li-1",
Expand All @@ -123,9 +124,10 @@ const bugBountyCardsInfo = [
styledButtonTranslationId: "page-upgrades-bug-bounty-card-low-risk",
},
{
mediumLabelTranslationId: "page-upgrades-bug-bounty-card-label-3",
mediumLabelTranslationId: "page-upgrades-bug-bounty-card-label-4",
h2TranslationId: "page-upgrades-bug-bounty-card-h2",
descriptionTranslationId: "page-upgrades-bug-bounty-card-label-4",
subDescriptionTranslationId: "page-upgrades-bug-bounty-card-label-3",
subHeader1TranslationId: "page-upgrades-bug-bounty-card-subheader",
severityList: [
"page-upgrades-bug-bounty-card-li-3",
Expand All @@ -137,9 +139,10 @@ const bugBountyCardsInfo = [
styledButtonTranslationId: "page-upgrades-bug-bounty-card-medium-risk",
},
{
highLabelTranslationId: "page-upgrades-bug-bounty-card-label-5",
highLabelTranslationId: "page-upgrades-bug-bounty-card-label-6",
h2TranslationId: "page-upgrades-bug-bounty-card-high",
descriptionTranslationId: "page-upgrades-bug-bounty-card-label-6",
subDescriptionTranslationId: "page-upgrades-bug-bounty-card-label-5",
subHeader1TranslationId: "page-upgrades-bug-bounty-card-subheader",
severityList: [
"page-upgrades-bug-bounty-card-li-6",
Expand All @@ -150,9 +153,10 @@ const bugBountyCardsInfo = [
styledButtonTranslationId: "page-upgrades-bug-bounty-card-high-risk",
},
{
criticalLabelTranslationId: "page-upgrades-bug-bounty-card-label-7",
criticalLabelTranslationId: "page-upgrades-bug-bounty-card-label-8",
h2TranslationId: "page-upgrades-bug-bounty-card-critical",
descriptionTranslationId: "page-upgrades-bug-bounty-card-label-8",
subDescriptionTranslationId: "page-upgrades-bug-bounty-card-label-7",
subHeader1TranslationId: "page-upgrades-bug-bounty-card-subheader",
severityList: ["page-upgrades-bug-bounty-card-li-8"],
subHeader2TranslationId: "page-upgrades-bug-bounty-card-subheader-2",
Expand Down Expand Up @@ -191,6 +195,9 @@ const BugBountyCards = () => (
<Description>
<Translation id={card.descriptionTranslationId} />
</Description>
<SubHeader>
<Translation id={card.subDescriptionTranslationId} />
</SubHeader>
<Divider />
<SubHeader>
<Translation id={card.subHeader1TranslationId} />
Expand Down
4 changes: 4 additions & 0 deletions src/components/Footer.js
Original file line number Diff line number Diff line change
Expand Up @@ -259,6 +259,10 @@ const Footer = () => {
to: "https://esp.ethereum.foundation",
text: "esp",
},
{
to: "/bug-bounty/",
text: "ethereum-bug-bounty",
},
{
to: "/community/grants",
text: "grant-programs",
Expand Down
9 changes: 7 additions & 2 deletions src/components/Leaderboard.js
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,11 @@ const Leaderboard = ({ content, limit = 100 }) => (
.filter((_, idx) => idx < limit)
.map((item, idx) => {
const { name, username, score } = item
const hasGitHub = username !== ""
const avatarImg = hasGitHub
? `${githubUrl}${username}.png?size=40`
: "https://github.com/random.png?size=40"
const avatarAlt = hasGitHub ? `${username} GitHub avatar` : ""
let emoji = null
if (idx === 0) {
emoji = ":trophy:"
Expand All @@ -77,9 +82,9 @@ const Leaderboard = ({ content, limit = 100 }) => (
emoji = ":3rd_place_medal:"
}
return (
<Item key={idx} to={`${githubUrl}${username}`}>
<Item key={idx} to={hasGitHub ? `${githubUrl}${username}` : "#"}>
<ItemNumber>{idx + 1}</ItemNumber>
<Avatar src={`${githubUrl}${username}.png?size=40`} />
<Avatar src={avatarImg} alt={avatarAlt} />
<TextContainer>
<ItemTitle>{name}</ItemTitle>
<ItemDesc>
Expand Down
2 changes: 1 addition & 1 deletion src/components/StablecoinAccordion.js
Original file line number Diff line number Diff line change
Expand Up @@ -481,7 +481,7 @@ const StablecoinAccordion = () => {
intl
),
image: getImage(data.eth),
link: "/upgrades/get-involved/bug-bounty/",
link: "/bug-bounty/",
description: translateMessageId(
"page-stablecoins-accordion-earn-project-3-description",
intl
Expand Down
145 changes: 77 additions & 68 deletions src/components/Staking/StakingProductsCardGrid.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import React, { useContext } from "react"
import React, { useContext, useEffect, useState } from "react"
import styled, { ThemeContext } from "styled-components"
import { shuffle } from "lodash"
// Data imports
Expand Down Expand Up @@ -289,6 +289,7 @@ const StakingProductCard = ({

const StakingProductCardGrid = ({ category }) => {
const themeContext = useContext(ThemeContext)
const [rankedProducts, updateRankedProducts] = useState([])
const isDarkTheme = themeContext.isDark
const [VALID_FLAG, CAUTION_FLAG, WARNING_FLAG, FALSE_FLAG, UNKNOWN_FLAG] = [
"green-check",
Expand Down Expand Up @@ -422,79 +423,87 @@ const StakingProductCardGrid = ({ category }) => {
trustless: getFlagFromBoolean(isTrustless),
})

const categoryProducts = stakingProducts[category]

const products = []

// Solo staking products
if (category === "nodeTools") {
products.push(
...categoryProducts.map((listing) => ({
...getBrandProperties(listing),
...getTagProperties(listing),
...getSharedSecurityProperties(listing),
permissionless: getFlagFromBoolean(listing.isPermissionless),
multiClient: getFlagFromBoolean(listing.multiClient),
selfCustody: getFlagFromBoolean(true),
economical: getFlagFromBoolean(listing.minEth < 32),
minEth: listing.minEth,
}))
)
}
// Staking as a service
if (category === "saas") {
products.push(
...categoryProducts.map((listing) => ({
...getBrandProperties(listing),
...getTagProperties(listing),
...getSharedSecurityProperties(listing),
permissionless: getFlagFromBoolean(listing.isPermissionless),
diverseClients: getDiversityOfClients(listing.pctMajorityClient),
selfCustody: getFlagFromBoolean(listing.isSelfCustody),
minEth: listing.minEth,
}))
)
}
// Pooled staking services
if (category === "pools") {
products.push(
...categoryProducts.map((listing) => ({
...getBrandProperties(listing),
...getTagProperties(listing),
...getSharedSecurityProperties(listing),
permissionlessNodes: getFlagFromBoolean(listing.hasPermissionlessNodes),
diverseClients: getDiversityOfClients(listing.pctMajorityClient),
selfCustody: getFlagFromBoolean(listing.tokens?.length),
minEth: listing.minEth,
}))
)
}
// Key generators
if (category === "keyGen") {
products.push(
...categoryProducts.map((listing) => ({
...getBrandProperties(listing),
...getTagProperties(listing),
...getSharedSecurityProperties(listing),
permissionless: getFlagFromBoolean(listing.isPermissionless),
selfCustody: getFlagFromBoolean(listing.isSelfCustody),
}))
)
}
useEffect(() => {
const categoryProducts = stakingProducts[category]
const products = []

// Pooled staking services
if (category === "pools") {
products.push(
...categoryProducts.map((listing) => ({
...getBrandProperties(listing),
...getTagProperties(listing),
...getSharedSecurityProperties(listing),
permissionlessNodes: getFlagFromBoolean(
listing.hasPermissionlessNodes
),
diverseClients: getDiversityOfClients(listing.pctMajorityClient),
selfCustody: getFlagFromBoolean(listing.tokens?.length),
minEth: listing.minEth,
}))
)
}

if (!products) return null
// Solo staking products
if (category === "nodeTools") {
products.push(
...categoryProducts.map((listing) => ({
...getBrandProperties(listing),
...getTagProperties(listing),
...getSharedSecurityProperties(listing),
permissionless: getFlagFromBoolean(listing.isPermissionless),
multiClient: getFlagFromBoolean(listing.multiClient),
selfCustody: getFlagFromBoolean(true),
economical: getFlagFromBoolean(listing.minEth < 32),
minEth: listing.minEth,
}))
)
}
// Staking as a service
if (category === "saas") {
products.push(
...categoryProducts.map((listing) => ({
...getBrandProperties(listing),
...getTagProperties(listing),
...getSharedSecurityProperties(listing),
permissionless: getFlagFromBoolean(listing.isPermissionless),
diverseClients: getDiversityOfClients(listing.pctMajorityClient),
selfCustody: getFlagFromBoolean(listing.isSelfCustody),
minEth: listing.minEth,
}))
)
}
// Key generators
if (category === "keyGen") {
products.push(
...categoryProducts.map((listing) => ({
...getBrandProperties(listing),
...getTagProperties(listing),
...getSharedSecurityProperties(listing),
permissionless: getFlagFromBoolean(listing.isPermissionless),
selfCustody: getFlagFromBoolean(listing.isSelfCustody),
}))
)
}

if (products) {
updateRankedProducts(
shuffle(products)
.map((product) => ({
...product,
rankingScore: getRankingScore(product),
}))
.sort((a, b) => b.rankingScore - a.rankingScore)
)
}
}, [])

const rankedProducts = shuffle(products)
.map((product) => ({
...product,
rankingScore: getRankingScore(product),
}))
.sort((a, b) => b.rankingScore - a.rankingScore)
if (!rankedProducts) return null

return (
<CardGrid>
{rankedProducts.map((product) => (
<StakingProductCard id={product.name} product={product} />
<StakingProductCard key={product.name} product={product} />
))}
</CardGrid>
)
Expand Down
10 changes: 6 additions & 4 deletions src/content/contributing/adding-layer-2/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,7 @@ We currently list L2s on the following pages:

- [Optimistic rollups](/developers/docs/scaling/optimistic-rollups/)
- [Zero-knowledge rollups](/developers/docs/scaling/zk-rollups/)
- [State channels](/developers/docs/scaling/state-channels/)
<!-- TODO: Add layer-2 page -->
- [Layer 2](/layer-2/)

Layer 2 is a relatively new and exciting paradigm for Ethereum. We've tried to create a fair framework for consideration on ethereum.org but the listing criteria will change and evolve over time.

Expand All @@ -39,9 +38,12 @@ We currently consider the following to be layer 2 solutions:

- Optimistic rollup
- Zero-knowledge rollup
- State channel

_We do not consider other scaling solutions to be layer 2._
_We do not consider other scaling solutions that don't use Ethereum for data availability or security to be layer 2._

**Ethereum for data availability**

- Data availability is an important differentiating factor between other scaling solutions and layer 2. A project **must** use Ethereum Mainnet for data availability to be considered for listing.

**Bridges**

Expand Down
5 changes: 3 additions & 2 deletions src/content/contributing/translation-program/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,10 @@ The Translation Program is a collaborative effort to translate ethereum.org into

Our progress so far:

- [**3,350 +** translators](/contributing/translation-program/acknowledgements/)
- [**45** languages live on site](/languages/)
- [**3,500 +** translators](/contributing/translation-program/contributors/)
- [**46** languages live on site](/languages/)
- [**2.9 million** words translated in 2021](/contributing/translation-program/acknowledgements/)
- [**1.3 million** words translated in 2022 so far](/contributing/translation-program/acknowledgements/)

If you want to get involved and help us grow the global Ethereum community by translating the website into your language, follow the steps below!

Expand Down
Loading

0 comments on commit e1920ad

Please sign in to comment.