diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 53cbd058c..b480abe9b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -293,7 +293,7 @@ jobs: strategy: fail-fast: false matrix: - fork: ["deneb"] + fork: ["electra"] config: ["minimal", "general", "mainnet"] runs-on: ubuntu-24.04 steps: diff --git a/config/networks/mainnet/config.yaml b/config/networks/mainnet/config.yaml index 4bc84c29a..6db16ed68 100644 --- a/config/networks/mainnet/config.yaml +++ b/config/networks/mainnet/config.yaml @@ -159,3 +159,5 @@ EIP7594_FORK_EPOCH: 18446744073709551615 MIN_PER_EPOCH_CHURN_LIMIT_ELECTRA: 128000000000 # 2**8 * 10**9) (= 256,000,000,000) Gwei MAX_PER_EPOCH_ACTIVATION_EXIT_CHURN_LIMIT: 256000000000 +# 9 +MAX_BLOBS_PER_BLOCK_ELECTRA: 9 diff --git a/config/networks/minimal/config.yaml b/config/networks/minimal/config.yaml index 291883bef..ed4f79b87 100644 --- a/config/networks/minimal/config.yaml +++ b/config/networks/minimal/config.yaml @@ -157,3 +157,5 @@ EIP7594_FORK_EPOCH: 18446744073709551615 MIN_PER_EPOCH_CHURN_LIMIT_ELECTRA: 64000000000 # [customized] 2**8 * 10**9) (= 256,000,000,000) Gwei MAX_PER_EPOCH_ACTIVATION_EXIT_CHURN_LIMIT: 128000000000 +# 9 +MAX_BLOBS_PER_BLOCK_ELECTRA: 9 diff --git a/electra-gap.md b/electra-gap.md index 1091d2711..d89f5e6c1 100644 --- a/electra-gap.md +++ b/electra-gap.md @@ -36,8 +36,7 @@ Here we will detail the current implementation gaps with the specs and the way t ### Phase 1: Beacon Chain Implementation -We are at `54/58` (91%) of the [beacon chain changes](docs/specs/electra/beacon-chain.md), and most of the remaining functions are already in progress. We have still `4/11370` spec test failures, but we are working on them. The skipped tests were there previous to the electra upgrade, so we will work on them if needed after we finish the first phase. Our aim as mentioned before is to reach `0` failures before going to the next phase. - +We are at `54/58` (91%) of the [beacon chain changes](docs/specs/electra/beacon-chain.md), and most of the remaining functions are already in progress. We have fixed all `11370` spec tests. The skipped tests were there previous to the electra upgrade, so we will work on them if needed after we finish the first phase. The current status of the implementation in the [electra-support](https://github.com/lambdaclass/lambda_ethereum_consensus/tree/electra-support) branch is as follows: diff --git a/lib/lambda_ethereum_consensus/state_transition/operations.ex b/lib/lambda_ethereum_consensus/state_transition/operations.ex index 3a845be61..7625fdb77 100644 --- a/lib/lambda_ethereum_consensus/state_transition/operations.ex +++ b/lib/lambda_ethereum_consensus/state_transition/operations.ex @@ -241,7 +241,7 @@ defmodule LambdaEthereumConsensus.StateTransition.Operations do payload.timestamp != Misc.compute_timestamp_at_slot(state, state.slot) -> {:error, "Timestamp verification failed"} - body.blob_kzg_commitments |> length() > ChainSpec.get("MAX_BLOBS_PER_BLOCK") -> + body.blob_kzg_commitments |> length() > ChainSpec.get("MAX_BLOBS_PER_BLOCK_ELECTRA") -> {:error, "Too many commitments"} # Cache execution payload header diff --git a/test/spec/runners/fork_choice.ex b/test/spec/runners/fork_choice.ex index 5f7702601..aa7ed969a 100644 --- a/test/spec/runners/fork_choice.ex +++ b/test/spec/runners/fork_choice.ex @@ -172,7 +172,7 @@ defmodule ForkChoiceTestRunner do # TODO: validate the filename's hash defp load_blob_data(case_dir, block, %{blobs: "blobs_0x" <> _hash = blobs_file, proofs: proofs}) do - schema = {:list, TypeAliases.blob(), ChainSpec.get("MAX_BLOBS_PER_BLOCK")} + schema = {:list, TypeAliases.blob(), ChainSpec.get("MAX_BLOBS_PER_BLOCK_ELECTRA")} blobs = SpecTestUtils.read_ssz_ex_from_file!(case_dir <> "/#{blobs_file}.ssz_snappy", schema)