diff --git a/.all-contributorsrc b/.all-contributorsrc index 71d578f3da7..ed1fa7f63e1 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -11685,7 +11685,8 @@ "avatar_url": "https://avatars.githubusercontent.com/u/6020891?v=4", "profile": "http://www.edukids.cz", "contributions": [ - "eventOrganizing" + "eventOrganizing", + "maintenance" ] }, { @@ -12770,6 +12771,15 @@ "contributions": [ "maintenance" ] + }, + { + "login": "Nik-EpicWeb3", + "name": "Nik-EpicWeb3", + "avatar_url": "https://avatars.githubusercontent.com/u/214466248?v=4", + "profile": "https://github.com/Nik-EpicWeb3", + "contributions": [ + "eventOrganizing" + ] } ], "contributorsPerLine": 7, diff --git a/.env.example b/.env.example index ab2e7047a6e..2a2aa721de9 100644 --- a/.env.example +++ b/.env.example @@ -14,7 +14,7 @@ # NEXT_PUBLIC_ALGOLIA_BASE_SEARCH_INDEX_NAME=insertValue # Github token for read-only use with api functions -# NEXT_PUBLIC_GITHUB_TOKEN_READ_ONLY=insertValue +# GITHUB_TOKEN_READ_ONLY=insertValue # Etherscan API key (required for Etherscan API fetches) # ETHERSCAN_API_KEY=insertValue diff --git a/README.md b/README.md index 64dd9eb666e..2e1749ad430 100644 --- a/README.md +++ b/README.md @@ -1836,7 +1836,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d HΓ©ctor Chong
HΓ©ctor Chong

πŸ–‹ nace.kimura
nace.kimura

πŸ–‹ WuRuiLei2023
WuRuiLei2023

πŸ› - Radek
Radek

πŸ“‹ + Radek
Radek

πŸ“‹ 🚧 Bhargav kakadiya
Bhargav kakadiya

πŸ› @@ -1990,6 +1990,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d Rashell Smith
Rashell Smith

πŸ› Alex Olson
Alex Olson

πŸ› SUCI - Blockchain Hub Team
SUCI - Blockchain Hub Team

🚧 + Nik-EpicWeb3
Nik-EpicWeb3

πŸ“‹ diff --git a/app/[locale]/10years/page.tsx b/app/[locale]/10years/page.tsx index 231da40f07e..f14508dc461 100644 --- a/app/[locale]/10years/page.tsx +++ b/app/[locale]/10years/page.tsx @@ -364,7 +364,7 @@ export async function generateMetadata({ return await getMetadata({ locale, - slug: ["10-year-anniversary"], + slug: ["10years"], title: t("page-10-year-anniversary-meta-title"), description: t("page-10-year-anniversary-meta-description"), }) diff --git a/docs/api-keys.md b/docs/api-keys.md index af2b7642bf0..01d6298f7c1 100644 --- a/docs/api-keys.md +++ b/docs/api-keys.md @@ -11,7 +11,7 @@ We recommend setting this up when running the project locally, as we use the Git ```sh # .env Example: -NEXT_PUBLIC_GITHUB_TOKEN_READ_ONLY=48f84de812090000demo00000000697cf6e6a059 +GITHUB_TOKEN_READ_ONLY=48f84de812090000demo00000000697cf6e6a059 ``` 2. Add Etherscan API token (free) diff --git a/public/content/community/online/index.md b/public/content/community/online/index.md index 2ad852a5a40..85bdab8c14f 100644 --- a/public/content/community/online/index.md +++ b/public/content/community/online/index.md @@ -63,7 +63,6 @@ If you believe a community should be added or removed based on these guidelines, @ethereum - Main Ethereum account for the community @ethereumfndn - Official account of the Ethereum Foundation @ethdotorg - The portal to Ethereum, built for our growing global community -List of influential Ethereum twitter accounts diff --git a/public/content/staking/saas/index.md b/public/content/staking/saas/index.md index ef0a6865b73..34d43c0d1bc 100644 --- a/public/content/staking/saas/index.md +++ b/public/content/staking/saas/index.md @@ -74,7 +74,7 @@ Updating withdrawal credentials is a required step to enable withdrawals\*. This -Staking withdrawals were implemented in the Shanghai/Capella upgrade in April 2023. Stakers need to provide a withdrawal address (if not provided on initial deposit), and reward payments will begin being distributed automatically on a periodic basis every few days. +Stakers need to provide a withdrawal address (if not provided on initial deposit), and reward payments will begin being distributed automatically on a periodic basis every few days. Validators can also fully exit as a validator, which will unlock their remaining ETH balance for withdrawal. Accounts that have provided an execution withdrawal address and completed the exiting process will receive their entire balance to the withdrawal address provided during the next validator sweep. diff --git a/public/content/staking/withdrawals/index.md b/public/content/staking/withdrawals/index.md index fb07f152f8a..00375c936e0 100644 --- a/public/content/staking/withdrawals/index.md +++ b/public/content/staking/withdrawals/index.md @@ -13,10 +13,6 @@ summaryPoints: - Validators who fully exit staking will receive their remaining balance --- - -Staking withdrawals were enabled with the Shanghai/Capella upgrade which occurred on April 12, 2023. More about Shanghai/Capella - - **Staking withdrawals** refer to transfers of ETH from a validator account on Ethereum's consensus layer (the Beacon Chain), to the execution layer where it can be transacted with. **Reward payments of excess balance** over 32 ETH will automatically and regularly be sent to a withdrawal address linked to each validator, once provided by the user. Users can also **exit staking entirely**, unlocking their full validator balance. @@ -59,9 +55,9 @@ The process of a validator exiting from staking takes variable amounts of time, Once an account is flagged as "withdrawable", and withdrawal credentials have been provided, there is nothing more a user needs to do aside from wait. Accounts are automatically and continuously swept by block proposers for eligible exited funds, and your account balance will be transferred in full (also known as a "full withdrawal") during the next sweep. -## When are staking withdrawals enabled? {#when} +## When were staking withdrawals enabled? {#when} -Staking withdrawals are live! Withdrawal functionality was enabled as part of the Shanghai/Capella upgrade which occurred on April 12, 2023. +Withdrawal functionality was enabled as part of the Shanghai/Capella upgrade which occurred on** April 12, 2023**. The Shanghai/Capella upgrade enabled previously staked ETH to be reclaimed into regular Ethereum accounts. This closed the loop on staking liquidity, and brought Ethereum one step closer on its journey towards building a sustainable, scalable, secure decentralized ecosystem. diff --git a/public/images/10-year-anniversary/10-year-logo.png b/public/images/10-year-anniversary/10-year-logo.png index 79c8001456d..fef5c61a70b 100644 Binary files a/public/images/10-year-anniversary/10-year-logo.png and b/public/images/10-year-anniversary/10-year-logo.png differ diff --git a/public/images/10-year-anniversary/10-year-og.png b/public/images/10-year-anniversary/10-year-og.png new file mode 100644 index 00000000000..39d344380a6 Binary files /dev/null and b/public/images/10-year-anniversary/10-year-og.png differ diff --git a/src/data/community-events.json b/src/data/community-events.json index 43cd0fd2a46..15346ef096c 100644 --- a/src/data/community-events.json +++ b/src/data/community-events.json @@ -790,5 +790,14 @@ "location": "Istanbul, TR", "description": "ETHIstanbul is a conference and hackathon connecting you with global talents, industry professionals, and web3 companies advancing technology.", "imageUrl": "https://ethistanbul.io/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fistanbul-background.99d6ad2a.webp&w=3840&q=75" + }, + { + "title": "L2con", + "startDate": "2025-07-01", + "endDate": "2025-07-01", + "href": "https://lu.ma/L2conCannes/", + "location": "Cannes, FR", + "description": "​L2con is the largest EthCC[8] conference focused on the future of the scaling ecosystem, General-Purpose Chains and App-Chains, development of dApps, and what unites us all β€” achieving mass adoption.", + "imageUrl": "https://images.lumacdn.com/event-covers/cu/93aa5fca-1515-4a6a-aed3-9d933d8faf73.gif" } ] diff --git a/src/data/community-meetups.json b/src/data/community-meetups.json index 5c58a6d033a..fc34bc9090b 100644 --- a/src/data/community-meetups.json +++ b/src/data/community-meetups.json @@ -468,10 +468,10 @@ "link": "https://lu.ma/user/usr-zgxbPuCTyKGBQq6" }, { - "title": "BeerFi Prague - Web3 on-chain dev Meetup", + "title": "BeerFi Prague - Web3 Builders Meetup", "emoji": ":czech_republic:", "location": "Prague", - "link": "https://www.meetup.com/web3-on-chain-dev-meetup-group/" + "link": "https://www.meetup.com/beerfi/" }, { "title": "NapulETH Meetup", diff --git a/src/intl/en/page-10-year-anniversary.json b/src/intl/en/page-10-year-anniversary.json index 4dfd4973228..72bf31acc3d 100644 --- a/src/intl/en/page-10-year-anniversary.json +++ b/src/intl/en/page-10-year-anniversary.json @@ -1,4 +1,4 @@ { "page-10-year-anniversary-meta-title": "10 Year Anniversary", - "page-10-year-anniversary-meta-description": "10 Year Anniversary" + "page-10-year-anniversary-meta-description": "Celebrating 10 years of censorship resistance, 100% uptime, decentralization, community building, developer growth, global collaboration, cypherpunk values, hackathons, censorship resistance, permissionless finance, credible neutrality, the infinite garden, client diversity and more." } diff --git a/src/lib/api/fetchGFIs.ts b/src/lib/api/fetchGFIs.ts index a237b36661d..61887717771 100644 --- a/src/lib/api/fetchGFIs.ts +++ b/src/lib/api/fetchGFIs.ts @@ -16,7 +16,7 @@ export const fetchGFIs = async () => { try { const response = await fetch(url, { headers: { - Authorization: `token ${process.env.NEXT_PUBLIC_GITHUB_TOKEN_READ_ONLY}`, + Authorization: `token ${process.env.GITHUB_TOKEN_READ_ONLY}`, Accept: "application/vnd.github.v3+json", }, }) diff --git a/src/lib/api/fetchGitHistory.ts b/src/lib/api/fetchGitHistory.ts index edf299252d5..ce63e96c836 100644 --- a/src/lib/api/fetchGitHistory.ts +++ b/src/lib/api/fetchGitHistory.ts @@ -11,7 +11,7 @@ async function fetchWithRateLimit(filepath: string): Promise { url.searchParams.set("path", filepath) url.searchParams.set("sha", "master") - const gitHubToken = process.env.NEXT_PUBLIC_GITHUB_TOKEN_READ_ONLY + const gitHubToken = process.env.GITHUB_TOKEN_READ_ONLY // If no token available, return empty array if (!gitHubToken) return [] diff --git a/src/lib/api/fetchGrowThePie.ts b/src/lib/api/fetchGrowThePie.ts index 08a4c40f5d3..1f8f29d3b5c 100644 --- a/src/lib/api/fetchGrowThePie.ts +++ b/src/lib/api/fetchGrowThePie.ts @@ -14,27 +14,19 @@ const TXCOUNT = "txcount" const ACTIVE_ADDRESSES = "aa_last7d" export const fetchGrowThePie = async (): Promise => { - const url = "https://api.growthepie.xyz/v1/fundamentals.json" + const url = "https://api.growthepie.xyz/v1/fundamentals_7d.json" - const response = await fetch(url, { cache: "no-store" }) + const response = await fetch(url) if (!response.ok) { console.log(response.status, response.statusText) throw new Error("Failed to fetch growthepie data") } const data: DataItem[] = await response.json() - // Get the date 7 days ago - const sevenDaysAgo = new Date() - sevenDaysAgo.setDate(sevenDaysAgo.getDate() - 7) - - // Filter data to only include the last 7 days and the metrics we need - const filteredData = data.filter((item) => { - const itemDate = new Date(item.date) - return ( - itemDate >= sevenDaysAgo && - [TXCOSTS_MEDIAN_USD, TXCOUNT, ACTIVE_ADDRESSES].includes(item.metric_key) - ) - }) + // Filter data to only include the metrics we need + const filteredData = data.filter((item) => + [TXCOSTS_MEDIAN_USD, TXCOUNT, ACTIVE_ADDRESSES].includes(item.metric_key) + ) const mostRecentDate = filteredData.reduce((latest, item) => { const itemDate = new Date(item.date) diff --git a/src/lib/api/ghRepoData.ts b/src/lib/api/ghRepoData.ts index 1a753a65904..db817004806 100644 --- a/src/lib/api/ghRepoData.ts +++ b/src/lib/api/ghRepoData.ts @@ -106,7 +106,7 @@ export const ghRepoData = async (githubUrl: string) => { `https://api.github.com/repos/${repoOwner}/${repoName}`, { headers: { - Authorization: `Bearer ${process.env.NEXT_PUBLIC_GITHUB_TOKEN_READ_ONLY}`, + Authorization: `Bearer ${process.env.GITHUB_TOKEN_READ_ONLY}`, }, } ) @@ -121,7 +121,7 @@ export const ghRepoData = async (githubUrl: string) => { `https://api.github.com/repos/${repoOwner}/${repoName}/languages`, { headers: { - Authorization: `Bearer ${process.env.NEXT_PUBLIC_GITHUB_TOKEN_READ_ONLY}`, + Authorization: `Bearer ${process.env.GITHUB_TOKEN_READ_ONLY}`, }, } ) diff --git a/src/lib/utils/metadata.ts b/src/lib/utils/metadata.ts index fa4ddb627f4..ed8b8523456 100644 --- a/src/lib/utils/metadata.ts +++ b/src/lib/utils/metadata.ts @@ -16,6 +16,7 @@ const imageForSlug = [ { section: "guides", image: "/images/heroes/guides-hub-hero.jpg" }, { section: "community", image: "/images/heroes/community-hero.png" }, { section: "staking", image: "/images/upgrades/upgrade_rhino.png" }, + { section: "10years", image: "/images/10-year-anniversary/10-year-og.png" }, ] as const /**