Skip to content

Commit e8deebb

Browse files
committed
Merge branch 'master' into post-state-validators
2 parents fe1e7ef + 9c7f3df commit e8deebb

File tree

160 files changed

+7756
-403
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

160 files changed

+7756
-403
lines changed

.circleci/config.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ executors:
6161

6262
machine_executor_amd64:
6363
machine:
64-
image: ubuntu-2204:2023.07.2 # https://circleci.com/developer/machine/image/ubuntu-2204
64+
image: ubuntu-2204:2024.01.1 # https://circleci.com/developer/machine/image/ubuntu-2204
6565
docker_layer_caching: true
6666
working_directory: ~/project
6767
environment:
@@ -70,7 +70,7 @@ executors:
7070

7171
machine_executor_arm64:
7272
machine:
73-
image: ubuntu-2204:2023.07.2 # https://circleci.com/developer/machine/image/ubuntu-2204
73+
image: ubuntu-2204:2024.01.1 # https://circleci.com/developer/machine/image/ubuntu-2204
7474
resource_class: arm.medium
7575
environment:
7676
architecture: "arm64"

.github/workflows/codeql.yml

+16-13
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,14 @@ jobs:
3333
fail-fast: false
3434
matrix:
3535
language: [ 'java' ]
36-
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
36+
# CodeQL supports [ 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift' ]
37+
# Use only 'java-kotlin' to analyze code written in Java, Kotlin or both
38+
# Use only 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both
3739
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
3840

3941
steps:
4042
- name: Checkout repository
41-
uses: actions/checkout@v3
43+
uses: actions/checkout@v4
4244

4345
- name: Set up Java
4446
uses: actions/setup-java@v3
@@ -48,32 +50,33 @@ jobs:
4850

4951
# Initializes the CodeQL tools for scanning.
5052
- name: Initialize CodeQL
51-
uses: github/codeql-action/init@v2
53+
uses: github/codeql-action/init@v3
5254
with:
5355
languages: ${{ matrix.language }}
5456
# If you wish to specify custom queries, you can do so here or in a config file.
5557
# By default, queries listed here will override any specified in a config file.
5658
# Prefix the list here with "+" to use these queries and those in the config file.
5759

58-
# Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
60+
# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
5961
queries: security-extended,security-and-quality
6062

6163

62-
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
64+
# Autobuild attempts to build any compiled languages (C/C++, C#, Go, Java, or Swift).
6365
# If this step fails, then you should remove it and run the build manually (see below)
6466
- name: Autobuild
65-
uses: github/codeql-action/autobuild@v2
67+
uses: github/codeql-action/autobuild@v3
6668

6769
# ℹ️ Command-line programs to run using the OS shell.
6870
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
6971

70-
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
71-
# and modify them (or add more) to build your code if your project
72-
# uses a compiled language
72+
# If the Autobuild fails above, remove it and uncomment the following three lines.
73+
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.
7374

74-
#- run: |
75-
# make bootstrap
76-
# make release
75+
# - run: |
76+
# echo "Run, Build Application using script"
77+
# ./location_of_script_within_repo/buildscript.sh
7778

7879
- name: Perform CodeQL Analysis
79-
uses: github/codeql-action/analyze@v2
80+
uses: github/codeql-action/analyze@v3
81+
with:
82+
category: "/language:${{matrix.language}}"

.github/workflows/gradle-wrapper-validation.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,5 @@ jobs:
66
name: "Validation"
77
runs-on: ubuntu-latest
88
steps:
9-
- uses: actions/checkout@v2
10-
- uses: gradle/wrapper-validation-action@v1
9+
- uses: actions/checkout@v4
10+
- uses: gradle/wrapper-validation-action@v2

.github/workflows/test-path-check.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@ jobs:
66
name: "Check"
77
runs-on: ubuntu-latest
88
steps:
9-
- uses: actions/checkout@v2
9+
- uses: actions/checkout@v4
1010
- name: Check test paths
1111
run: ./scripts/testcheck.sh

beacon/validator/src/main/java/tech/pegasys/teku/validator/coordinator/BlockOperationSelectorFactory.java

+8-4
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,13 @@ private SafeFuture<Void> setExecutionData(
206206
final BeaconState blockSlotState,
207207
final BlockProductionPerformance blockProductionPerformance) {
208208

209+
if (spec.isMergeTransitionComplete(blockSlotState) && executionPayloadContext.isEmpty()) {
210+
throw new IllegalStateException(
211+
String.format(
212+
"ExecutionPayloadContext is not provided for production of post-merge block at slot %s",
213+
blockSlotState.getSlot()));
214+
}
215+
209216
// if requestedBlinded has been specified, we strictly follow it otherwise, we should run
210217
// Builder
211218
// flow (blinded) only if we have a validator registration
@@ -246,10 +253,7 @@ private SafeFuture<Void> setExecutionData(
246253
// Post-Deneb: Execution Payload / Execution Payload Header + KZG Commitments
247254
final ExecutionPayloadResult executionPayloadResult =
248255
executionLayerBlockProductionManager.initiateBlockAndBlobsProduction(
249-
// kzg commitments are supported: we should have already merged by now, so we
250-
// can safely assume we have an executionPayloadContext
251-
executionPayloadContext.orElseThrow(
252-
() -> new IllegalStateException("Cannot provide kzg commitments before The Merge")),
256+
executionPayloadContext.orElseThrow(),
253257
blockSlotState,
254258
shouldTryBuilderFlow,
255259
requestedBuilderBoostFactor,

beacon/validator/src/main/java/tech/pegasys/teku/validator/coordinator/ValidatorApiHandler.java

+14
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,10 @@
4747
import tech.pegasys.teku.bls.BLSPublicKey;
4848
import tech.pegasys.teku.bls.BLSSignature;
4949
import tech.pegasys.teku.ethereum.json.types.beacon.StateValidatorData;
50+
import tech.pegasys.teku.ethereum.json.types.validator.BeaconCommitteeSelectionProof;
5051
import tech.pegasys.teku.ethereum.json.types.validator.ProposerDuties;
5152
import tech.pegasys.teku.ethereum.json.types.validator.ProposerDuty;
53+
import tech.pegasys.teku.ethereum.json.types.validator.SyncCommitteeSelectionProof;
5254
import tech.pegasys.teku.ethereum.performance.trackers.BlockProductionPerformance;
5355
import tech.pegasys.teku.ethereum.performance.trackers.BlockProductionPerformanceFactory;
5456
import tech.pegasys.teku.infrastructure.async.SafeFuture;
@@ -833,4 +835,16 @@ private List<ProposerDuty> getProposalSlotsForEpoch(final BeaconState state, fin
833835
}
834836
return proposerSlots;
835837
}
838+
839+
@Override
840+
public SafeFuture<Optional<List<BeaconCommitteeSelectionProof>>> getBeaconCommitteeSelectionProof(
841+
final List<BeaconCommitteeSelectionProof> requests) {
842+
throw new UnsupportedOperationException("This method is not implemented by the Beacon Node");
843+
}
844+
845+
@Override
846+
public SafeFuture<Optional<List<SyncCommitteeSelectionProof>>> getSyncCommitteeSelectionProof(
847+
final List<SyncCommitteeSelectionProof> requests) {
848+
throw new UnsupportedOperationException("This method is not implemented by the Beacon Node");
849+
}
836850
}

0 commit comments

Comments
 (0)