Skip to content

test: bump spec tests to v1.7.0-alpha.12 in eip-7688 branch#9665

Merged
ensi321 merged 1 commit into
eip-7688from
nc/eip-7688-alpha.12
Jul 16, 2026
Merged

test: bump spec tests to v1.7.0-alpha.12 in eip-7688 branch#9665
ensi321 merged 1 commit into
eip-7688from
nc/eip-7688-alpha.12

Conversation

@ensi321

@ensi321 ensi321 commented Jul 16, 2026

Copy link
Copy Markdown
Member

Do the alpha.12 bump in eip-7688 branch.

@ensi321
ensi321 requested a review from a team as a code owner July 16, 2026 06:49

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the consensus spec version from v1.7.0-alpha.11 to v1.7.0-alpha.12 across comments and configuration files. It also introduces ProgressiveByteListType in SSZ generic type tests, skips several new failing tests related to Gloas and fast-confirmation rules, and ignores certain preset/config fields in the sync tests. Feedback is provided to improve type safety and readability in ensure-config-is-synced.test.ts by casting Object.keys(remotePreset) earlier in the chain to avoid redundant type assertions in the reduce callback.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment on lines +50 to +58
const filteredRemotePreset: Partial<BeaconPreset> = Object.keys(remotePreset)
.filter((key) => !ignoredRemotePresetFields.includes(key))
.reduce(
(acc, key) => {
acc[key as keyof BeaconPreset] = remotePreset[key as keyof BeaconPreset];
return acc;
},
{} as Partial<BeaconPreset>
);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

We can improve type safety and readability by casting Object.keys(remotePreset) to (keyof BeaconPreset)[] at the start of the chain. This allows TypeScript to automatically infer the type of key as keyof BeaconPreset, eliminating the need for redundant type assertions (as keyof BeaconPreset) inside the reduce callback.

  const filteredRemotePreset: Partial<BeaconPreset> = (Object.keys(remotePreset) as (keyof BeaconPreset)[])
    .filter((key) => !ignoredRemotePresetFields.includes(key))
    .reduce(
      (acc, key) => {
        acc[key] = remotePreset[key];
        return acc;
      },
      {} as Partial<BeaconPreset>
    );

@ensi321 ensi321 changed the title test: bump spec tests to v1.7.0-alpha.12 and skip non-EIP-7688 failures test: bump spec tests to v1.7.0-alpha.12 in eip-7688 branch Jul 16, 2026
Enable the v1.7.0-alpha.12 consensus-spec-tests on the EIP-7688 branch.
With progressive containers in place the gloas ssz_static / state-transition
/ fork-choice suites pass; the remaining failures are all NOT EIP-7688 related
and handled elsewhere:

- ALPHA12-MISC (unskip in #9606): builder-deposit / builder-exit processing and
  the alpha.12 constant bumps (PAYLOAD_DUE_BPS, MIN_BUILDER_WITHDRAWABILITY_DELAY,
  MAX_BUILDER_DEPOSIT_REQUESTS_PER_PAYLOAD) land on the follow-up alpha.12-misc branch.
- FCR rework: gloas fast_confirmation suite + two is_one_confirmed cases.
- cell-level DAS: fulu PartialDataColumnGroupID ssz_static.
- ssz 1.6.2: consolidations-at-limit hits an @chainsafe/ssz@1.6.1 stack overflow
  at mainnet scale (issue #9656); clears when ssz 1.6.2 is synced via unstable.

Also:
- Bump spec-tests-version.json to v1.7.0-alpha.12.
- Re-sync ethspecify specrefs to v1.7.0-alpha.12: drop entries for spec objects
  removed/renamed at alpha.12 (get_dependent_root, get_proposer_dependent_root,
  get_proposer_preferences_signature, is_epoch_boundary, BUILDER_REGISTRY_LIMIT,
  BUILDER_PENDING_WITHDRAWALS_LIMIT), source the new gloas/electra SSZ types,
  gloas p2p size-bound presets, and get_shuffling_dependent_root /
  get_signed_proposer_preferences / is_valid_indexed_attestation / is_not_epoch_boundary,
  and except the unimplemented heze + attestation-upgrade + slot-based gindex helpers.
  `ethspecify check` reports 1144 valid references.
- Fix the ProgressiveTestStruct ssz_generic type: field A is ProgressiveList[byte]
  (a byte list, hex JSON) so it must be ProgressiveByteListType, not
  ProgressiveListBasicType. Fixes all phase0/ssz_generic/containers/ProgressiveTestStruct cases.

Verified green: minimal 55235, mainnet 7185, general 5367, bls 90, config-sync,
params-preset; ethspecify check 1144 valid. lint + check-types clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ensi321
ensi321 force-pushed the nc/eip-7688-alpha.12 branch from 7447d51 to 206114a Compare July 16, 2026 07:11
@ensi321
ensi321 merged commit ef8b555 into eip-7688 Jul 16, 2026
16 checks passed
@ensi321
ensi321 deleted the nc/eip-7688-alpha.12 branch July 16, 2026 16:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant