Skip to content

Commit

Permalink
commit light client pool file
Browse files Browse the repository at this point in the history
  • Loading branch information
etan-status committed May 19, 2022
1 parent 01331d9 commit 4395b19
Showing 1 changed file with 37 additions and 0 deletions.
37 changes: 37 additions & 0 deletions beacon_chain/consensus_object_pools/light_client_pool.nim
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# beacon_chain
# Copyright (c) 2022 Status Research & Development GmbH
# Licensed and distributed under either of
# * MIT license (license terms in the root directory or at https://opensource.org/licenses/MIT).
# * Apache v2 license (license terms in the root directory or at https://www.apache.org/licenses/LICENSE-2.0).
# at your option. This file may not be copied, modified, or distributed except according to those terms.

{.push raises: [Defect].}

# This implements the pre-release proposal of the libp2p based light client sync
# protocol. See https://github.com/ethereum/consensus-specs/pull/2802

import
# Status libraries
chronos,
# Beacon chain internals
../spec/datatypes/base

type
LightClientPool* = object
latestForwardedFinalitySlot*: Slot
## Latest finality update that was forwarded on libp2p gossip.
## Tracks `finality_update.finalized_header.slot`.

latestForwardedOptimisticSlot*: Slot
## Latest optimistic update that was forwarded on libp2p gossip.
## Tracks `optimistic_update.attested_header.slot`.

latestBroadcastedSlot*: Slot
## Latest slot for which updates were broadcasted on libp2p gossip.
## Tracks `update.signature_slot`.

broadcastGossipFut*: Future[void]
## Task to broadcast libp2p gossip. Started when a sync committee message
## is sent. Tracked separately from `handleValidatorDuties` to catch the
## case where `node.attachedValidators[].count == 0` at function start,
## and then a sync committee message gets sent from a remote VC via REST.

0 comments on commit 4395b19

Please sign in to comment.