mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-20 05:14:35 +00:00
Spec v1.7.0 alpha.3 (#8988)
Update spec code for compliance with spec v1.7.0-alpha.3: https://github.com/ethereum/consensus-specs/releases/tag/v1.7.0-alpha.3 The actual consensus changes are minimal. There are few more changes that are only relevant to fork choice or P2P validation that we will pick up in future PRs. The change "Ignore beacon block if parent payload unknown" is currently covered in a hacky way by `load_parent` and can be improved once we have fork choice. The change "Add parent_block_root to bid filtering key" is relevant to bid gossip validation, which we don't have at all in unstable yet. Co-Authored-By: Michael Sproul <michael@sigmaprime.io>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# To download/extract nightly tests, run:
|
||||
# CONSENSUS_SPECS_TEST_VERSION=nightly make
|
||||
CONSENSUS_SPECS_TEST_VERSION ?= v1.7.0-alpha.2
|
||||
CONSENSUS_SPECS_TEST_VERSION ?= v1.7.0-alpha.3
|
||||
REPO_NAME := consensus-spec-tests
|
||||
OUTPUT_DIR := ./$(REPO_NAME)
|
||||
|
||||
|
||||
@@ -47,6 +47,8 @@ excluded_paths = [
|
||||
"bls12-381-tests/hash_to_G2",
|
||||
"tests/.*/eip7732",
|
||||
"tests/.*/eip7805",
|
||||
# Heze fork is not implemented
|
||||
"tests/.*/heze/.*",
|
||||
# TODO(gloas): remove these ignores as Gloas consensus is implemented
|
||||
"tests/.*/gloas/fork_choice/.*",
|
||||
# Ignore MatrixEntry SSZ tests for now.
|
||||
|
||||
@@ -10,7 +10,7 @@ if [[ "$version" == "nightly" || "$version" =~ ^nightly-[0-9]+$ ]]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
for cmd in unzip jq; do
|
||||
for cmd in jq; do
|
||||
if ! command -v "${cmd}" >/dev/null 2>&1; then
|
||||
echo "Error ${cmd} is not installed"
|
||||
exit 1
|
||||
@@ -48,13 +48,10 @@ if [[ "$version" == "nightly" || "$version" =~ ^nightly-[0-9]+$ ]]; then
|
||||
echo "Downloading artifact: ${name}"
|
||||
curl --progress-bar --location --show-error --retry 3 --retry-all-errors --fail \
|
||||
-H "${auth_header}" -H "Accept: application/vnd.github+json" \
|
||||
--output "${name}.zip" "${url}" || {
|
||||
--output "${name}" "${url}" || {
|
||||
echo "Failed to download ${name}"
|
||||
exit 1
|
||||
}
|
||||
|
||||
unzip -qo "${name}.zip"
|
||||
rm -f "${name}.zip"
|
||||
done
|
||||
else
|
||||
for test in "${TESTS[@]}"; do
|
||||
|
||||
@@ -716,8 +716,13 @@ impl<E: EthSpec, O: Operation<E>> LoadCase for Operations<E, O> {
|
||||
|
||||
// Check BLS setting here before SSZ deserialization, as most types require signatures
|
||||
// to be valid.
|
||||
let (operation, bls_error) = if metadata.bls_setting.unwrap_or_default().check().is_ok() {
|
||||
match O::decode(&path.join(O::filename()), fork_name, spec) {
|
||||
let operation_path = path.join(O::filename());
|
||||
let (operation, bls_error) = if !operation_path.is_file() {
|
||||
// Some test cases (e.g. builder_voluntary_exit__success) have no operation file.
|
||||
// TODO(gloas): remove this once the test vectors are fixed
|
||||
(None, None)
|
||||
} else if metadata.bls_setting.unwrap_or_default().check().is_ok() {
|
||||
match O::decode(&operation_path, fork_name, spec) {
|
||||
Ok(op) => (Some(op), None),
|
||||
Err(Error::InvalidBLSInput(error)) => (None, Some(error)),
|
||||
Err(e) => return Err(e),
|
||||
|
||||
@@ -537,11 +537,6 @@ impl<E: EthSpec + TypeName> Handler for RandomHandler<E> {
|
||||
fn handler_name(&self) -> String {
|
||||
"random".into()
|
||||
}
|
||||
|
||||
fn disabled_forks(&self) -> Vec<ForkName> {
|
||||
// TODO(gloas): remove once we have Gloas random tests
|
||||
vec![ForkName::Gloas]
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Educe)]
|
||||
|
||||
Reference in New Issue
Block a user