Skip to content

/eth/v1/beacon/light_client/update as ssz does not follow the spec #7759

@simon-jentzsch

Description

@simon-jentzsch

The spec defines the response when called with application/octet-stream as:

Sequence of zero or more response_chunk. Each successful response_chunk MUST contain a single LightClientUpdate payload:

 (
   response_chunk_len: Little-endian Uint64 byte length of `response_chunk`
   response_chunk: (
     context: 4 byte `ForkDigest`
     payload: SSZ serialized payload bytes
   )
 )

For each response_chunk, a ForkDigest-context based on compute_fork_version(compute_epoch_at_slot(update.attested_header.beacon.slot)) is used to select the fork namespace of the Response type. Note that this fork_version may be different from the one used to verify the update.sync_aggregate, which is based on update.signature_slot.

Currnetly the light client updates returned by lighthouse fail while others like nimbus or lodestar follow this spec and work fine.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions