Skip to content

Commit

Permalink
Schedule Deneb for Gnosis (#7979)
Browse files Browse the repository at this point in the history
  • Loading branch information
StefanBratanov committed Feb 14, 2024
1 parent d2f79cc commit b544b9e
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 8 deletions.
7 changes: 5 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,12 @@ the [releases page](https://github.com/Consensys/teku/releases).
the existing `block` SSE events.

### Additions and Improvements

- Updated Mainnet configuration with Deneb fork scheduled for epoch 269568 (March 13, 2024, 13:55:35 UTC)
- Updated Gnosis configuration with Deneb fork scheduled for epoch 889856 (March 11, 2024, 18:30:20 UTC)
- Improved compatibility with `/eth/v3/validator/blocks/{slot}` experimental beacon API for block production. It can now respond with blinded and unblinded content based on the block production flow. It also supports the `builder_boost_factor` parameter.
- Add `block_gossip` SSE event as per https://github.com/ethereum/beacon-APIs/pull/405
- Deposit tree snapshots will be downloaded from checkpoint-sync-url when available [#7715](https://github.com/Consensys/teku/issues/7715)
- Updated mainnet configuration with Deneb fork scheduled for epoch 269568 (March 13, 2024, 01:55:35pm UTC)
- Applied fork-choice confirmation rule prerequisite change outlined in PR #3431 in consensus-specs.
- Applied fork-choice confirmation rule prerequisite change outlined in https://github.com/ethereum/consensus-specs/pull/3431.

### Bug Fixes
Original file line number Diff line number Diff line change
Expand Up @@ -754,6 +754,7 @@ public Builder applyGnosisNetworkDefaults() {
.defaultInitialStateFromClasspath("gnosis-genesis.ssz")
.genesisStateFromClasspath("gnosis-genesis.ssz")
.startupTimeoutSeconds(120)
.trustedSetupFromClasspath(MAINNET_TRUSTED_SETUP_FILENAME)
.eth1DepositContractDeployBlock(19469077)
.discoveryBootnodes(
// Gnosis Chain Team bootnodes
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,9 @@ BELLATRIX_FORK_EPOCH: 385536 # 2022-11-30T19:23:40.000Z
# Capella
CAPELLA_FORK_VERSION: 0x03000064
CAPELLA_FORK_EPOCH: 648704 # 2023-08-01T11:34:20.000Z
# Deneb
DENEB_FORK_VERSION: 0x04000064
DENEB_FORK_EPOCH: 889856 # 2024-03-11T18:30:20.000Z


# Time parameters
Expand Down Expand Up @@ -70,6 +73,8 @@ EJECTION_BALANCE: 16000000000
MIN_PER_EPOCH_CHURN_LIMIT: 4
# 2**12 (= 4096)
CHURN_LIMIT_QUOTIENT: 4096
# [New in Deneb:EIP7514] 2*
MAX_PER_EPOCH_ACTIVATION_CHURN_LIMIT: 2


# Fork choice
Expand Down Expand Up @@ -98,8 +103,8 @@ GOSSIP_MAX_SIZE: 10485760
MAX_REQUEST_BLOCKS: 1024
# `2**8` (= 256)
EPOCHS_PER_SUBNET_SUBSCRIPTION: 256
## `MIN_VALIDATOR_WITHDRAWABILITY_DELAY + CHURN_LIMIT_QUOTIENT // 2`
MIN_EPOCHS_FOR_BLOCK_REQUESTS: 2304
# 33024, ~31 days
MIN_EPOCHS_FOR_BLOCK_REQUESTS: 33024
# `10 * 2**20` (=10485760, 10 MiB)
MAX_CHUNK_SIZE: 10485760
# 5s
Expand All @@ -117,4 +122,14 @@ SUBNETS_PER_NODE: 2
ATTESTATION_SUBNET_COUNT: 64
ATTESTATION_SUBNET_EXTRA_BITS: 0
# ceillog2(ATTESTATION_SUBNET_COUNT) + ATTESTATION_SUBNET_EXTRA_BITS
ATTESTATION_SUBNET_PREFIX_BITS: 6
ATTESTATION_SUBNET_PREFIX_BITS: 6

# Deneb
# `2**7` (=128)
MAX_REQUEST_BLOCKS_DENEB: 128
# MAX_REQUEST_BLOCKS_DENEB * MAX_BLOBS_PER_BLOCK
MAX_REQUEST_BLOB_SIDECARS: 768
# `2**14` (= 16384 epochs, ~15 days)
MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS: 16384
# `6`
BLOB_SIDECAR_SUBNET_COUNT: 6
Original file line number Diff line number Diff line change
Expand Up @@ -39,13 +39,13 @@ public class SpecFactoryTest {

private static final Set<String> NON_BELLATRIX_NETWORKS = Set.of("swift", "less-swift");

private static final Set<String> CAPELLA_NETWORKS = Set.of("gnosis", "lukso");
private static final Set<String> CAPELLA_NETWORKS = Set.of("lukso");

private static final Set<String> DENEB_NETWORKS =
Set.of("prater", "chiado", "sepolia", "holesky", "mainnet");
Set.of("prater", "gnosis", "chiado", "sepolia", "holesky", "mainnet");

@Test
public void defaultFactoryShouldScheduleBellatrixAndCapellaForMainNet() {
public void defaultFactoryShouldScheduleBellatrixCapellaAndDenebForMainNet() {
final Spec spec = SpecFactory.create("mainnet");
assertThat(spec.getForkSchedule().getSupportedMilestones())
.containsExactly(PHASE0, ALTAIR, BELLATRIX, CAPELLA, DENEB);
Expand Down

0 comments on commit b544b9e

Please sign in to comment.