@lodestar/beacon-node
Version:
A Typescript implementation of the beacon chain
15 lines • 862 B
JavaScript
import { DOMAIN_CONTRIBUTION_AND_PROOF } from "@lodestar/params";
import { SignatureSetType, computeSigningRoot, } from "@lodestar/state-transition";
import { ssz } from "@lodestar/types";
export function getContributionAndProofSignatureSet(state, signedContributionAndProof) {
const { epochCtx } = state;
const domain = state.config.getDomain(state.slot, DOMAIN_CONTRIBUTION_AND_PROOF, signedContributionAndProof.message.contribution.slot);
const signingData = signedContributionAndProof.message;
return {
type: SignatureSetType.single,
pubkey: epochCtx.index2pubkey[signedContributionAndProof.message.aggregatorIndex],
signingRoot: computeSigningRoot(ssz.altair.ContributionAndProof, signingData, domain),
signature: signedContributionAndProof.signature,
};
}
//# sourceMappingURL=contributionAndProof.js.map