From 4810d9676389b0768a72039a41d1271d9067c8d3 Mon Sep 17 00:00:00 2001 From: lodekeeper Date: Thu, 16 Jul 2026 10:25:42 +0000 Subject: [PATCH] =?UTF-8?q?feat(beacon-node):=20Gloas=20flamingo=20fork=20?= =?UTF-8?q?banner=20=E2=80=94=20option=202=20(flamboyance=20/=20BAL)?= 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. Two flamingos = a *flamboyance*, with parallel legs for BAL parallelisation. 🤖 Generated with AI assistance Co-Authored-By: Claude Opus 4.8 --- .../src/chain/blocks/utils/flamingoBanner.ts | 24 +++++++++++++++++++ .../src/chain/blocks/verifyBlock.ts | 6 +++++ 2 files changed, 30 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..756db3797649 --- /dev/null +++ b/packages/beacon-node/src/chain/blocks/utils/flamingoBanner.ts @@ -0,0 +1,24 @@ +// ASCII art printed on the Gloas (Glamsterdam) fork transition — a flamboyance (BAL parallelisation). +// String.raw preserves the backslashes in the artwork. +export const GLOAS_FLAMINGO_BANNER = String.raw` + + __ __ + _/ \ _/ \ + ( o | ( o | + \ | \ | + \ |___ \ |___ + \ \___ \ \___ + \ > \ > + / / + | | + / / + ____/ ____/ + / \ / \ + | GLOAS | | BAL | + \______/ \______/ + | | | | + | | | | + | | | | + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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: } }