UNPKG

@lodestar/beacon-node

Version:

A Typescript implementation of the beacon chain

70 lines 2.91 kB
import { toRootHex } from "@lodestar/utils"; export { PendingBlockType }; var PendingBlockType; (function (PendingBlockType) { /** * We got a block root (from a gossip attestation, for exxample) but we don't have the block in forkchoice. */ PendingBlockType["UNKNOWN_BLOCK_ROOT"] = "UnknownBlockRoot"; /** * During gossip time, we may get a block but the parent root is unknown (not in forkchoice). */ PendingBlockType["UNKNOWN_PARENT"] = "unknown_parent"; /** * During gossip we wait for a set amount of time to receive the complete block input but if it does not * arrive in time we turn to req/resp to pull the remainder so that it can be processed */ PendingBlockType["INCOMPLETE_BLOCK_INPUT"] = "IncompleteBlockInput"; PendingBlockType["UNKNOWN_DATA"] = "unknown_data"; })(PendingBlockType || (PendingBlockType = {})); export { PendingBlockInputStatus }; var PendingBlockInputStatus; (function (PendingBlockInputStatus) { PendingBlockInputStatus["pending"] = "pending"; PendingBlockInputStatus["fetching"] = "fetching"; PendingBlockInputStatus["downloaded"] = "downloaded"; PendingBlockInputStatus["processing"] = "processing"; })(PendingBlockInputStatus || (PendingBlockInputStatus = {})); export { PendingPayloadInputStatus }; var PendingPayloadInputStatus; (function (PendingPayloadInputStatus) { PendingPayloadInputStatus["pending"] = "pending"; PendingPayloadInputStatus["fetching"] = "fetching"; PendingPayloadInputStatus["waitingForBlock"] = "waiting_for_block"; PendingPayloadInputStatus["downloaded"] = "downloaded"; PendingPayloadInputStatus["processing"] = "processing"; })(PendingPayloadInputStatus || (PendingPayloadInputStatus = {})); export function isPendingBlockInput(pending) { return "blockInput" in pending; } export function isPendingPayloadInput(pending) { return "payloadInput" in pending; } export function isPendingPayloadEnvelope(pending) { return "envelope" in pending; } export function getBlockInputSyncCacheItemRootHex(block) { return isPendingBlockInput(block) ? block.blockInput.blockRootHex : block.rootHex; } export function getBlockInputSyncCacheItemSlot(block) { return isPendingBlockInput(block) ? block.blockInput.slot : "unknown"; } export function getPayloadSyncCacheItemRootHex(payload) { if (isPendingPayloadInput(payload)) { return payload.payloadInput.blockRootHex; } if (isPendingPayloadEnvelope(payload)) { return toRootHex(payload.envelope.message.beaconBlockRoot); } return payload.rootHex; } export function getPayloadSyncCacheItemSlot(payload) { if (isPendingPayloadInput(payload)) { return payload.payloadInput.slot; } if (isPendingPayloadEnvelope(payload)) { return payload.envelope.message.payload.slotNumber; } return "unknown"; } //# sourceMappingURL=types.js.map