UNPKG

@lodestar/beacon-node

Version:

A Typescript implementation of the beacon chain

20 lines (17 loc) 736 B
import {BeaconConfig} from "@lodestar/config"; import {DOMAIN_SYNC_COMMITTEE} from "@lodestar/params"; import {IBeaconStateView, ISignatureSet, SignatureSetType, computeSigningRoot} from "@lodestar/state-transition"; import {altair, ssz} from "@lodestar/types"; export function getSyncCommitteeSignatureSet( config: BeaconConfig, state: IBeaconStateView, syncCommittee: altair.SyncCommitteeMessage ): ISignatureSet { const domain = config.getDomain(state.slot, DOMAIN_SYNC_COMMITTEE, syncCommittee.slot); return { type: SignatureSetType.indexed, index: syncCommittee.validatorIndex, signingRoot: computeSigningRoot(ssz.Root, syncCommittee.beaconBlockRoot, domain), signature: syncCommittee.signature, }; }