UNPKG

@lodestar/beacon-node

Version:

A Typescript implementation of the beacon chain

20 lines (18 loc) 774 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 getSyncCommitteeContributionSignatureSet( config: BeaconConfig, state: IBeaconStateView, contribution: altair.SyncCommitteeContribution, participantIndices: number[] ): ISignatureSet { const domain = config.getDomain(state.slot, DOMAIN_SYNC_COMMITTEE, contribution.slot); return { type: SignatureSetType.aggregate, indices: participantIndices, signingRoot: computeSigningRoot(ssz.Root, contribution.beaconBlockRoot, domain), signature: contribution.signature, }; }