From 8aa0a46068a685903fe5eada0440bc82d8f45d19 Mon Sep 17 00:00:00 2001 From: lodekeeper Date: Thu, 16 Jul 2026 10:25:37 +0000 Subject: [PATCH] =?UTF-8?q?feat(beacon-node):=20Gloas=20flamingo=20fork=20?= =?UTF-8?q?banner=20=E2=80=94=20option=201=20(one-leg=20ePBS)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds the Gloas (Glamsterdam) fork-activation banner (🦩 flamingo mascot) in the style of the existing per-fork animal banners (Capella owl, Deneb blowfish, Electra giraffe, Fulu zebra), wired into verifyBlocksInEpoch. Single flamingo on one leg — a nod to ePBS (block, then payload: one leg at a time). 🤖 Generated with AI assistance Co-Authored-By: Claude Opus 4.8 --- .../src/chain/blocks/utils/flamingoBanner.ts | 29 +++++++++++++++++++ .../src/chain/blocks/verifyBlock.ts | 6 ++++ 2 files changed, 35 insertions(+) create mode 100644 packages/beacon-node/src/chain/blocks/utils/flamingoBanner.ts diff --git a/packages/beacon-node/src/chain/blocks/utils/flamingoBanner.ts b/packages/beacon-node/src/chain/blocks/utils/flamingoBanner.ts new file mode 100644 index 000000000000..56e57ee0f959 --- /dev/null +++ b/packages/beacon-node/src/chain/blocks/utils/flamingoBanner.ts @@ -0,0 +1,29 @@ +// ASCII art printed on the Gloas (Glamsterdam) fork transition — enshrined PBS. +// String.raw preserves the backslashes in the artwork. +export const GLOAS_FLAMINGO_BANNER = String.raw` + + __ + _/ \ + ( o | + \ | + \ |___ + \ \___ + \ > + / + / + | + \ + \ + ___|___ + / \ + / G L O A S \ + | e P B S | + \ _/ + \___ ___/ + | | + | | + | | + | \___ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~ tricky.eth ~~~~~~~ + +`; diff --git a/packages/beacon-node/src/chain/blocks/verifyBlock.ts b/packages/beacon-node/src/chain/blocks/verifyBlock.ts index c420c661cc73..d0e9c32cfbe0 100644 --- a/packages/beacon-node/src/chain/blocks/verifyBlock.ts +++ b/packages/beacon-node/src/chain/blocks/verifyBlock.ts @@ -11,6 +11,7 @@ import {DAType, IBlockInput} from "./blockInput/index.js"; import {PayloadEnvelopeInput} from "./payloadEnvelopeInput/payloadEnvelopeInput.js"; import {ImportBlockOpts} from "./types.js"; import {DENEB_BLOWFISH_BANNER} from "./utils/blowfishBanner.js"; +import {GLOAS_FLAMINGO_BANNER} from "./utils/flamingoBanner.js"; import {ELECTRA_GIRAFFE_BANNER} from "./utils/giraffeBanner.js"; import {CAPELLA_OWL_BANNER} from "./utils/ownBanner.js"; import {FULU_ZEBRA_BANNER} from "./utils/zebraBanner.js"; @@ -230,6 +231,11 @@ export async function verifyBlocksInEpoch( this.logger.info("Activating peerDAS", {epoch: this.config.FULU_FORK_EPOCH}); break; + case ForkName.gloas: + this.logger.info(GLOAS_FLAMINGO_BANNER); + this.logger.info("Activating ePBS", {epoch: this.config.GLOAS_FORK_EPOCH}); + break; + default: } }