@lodestar/beacon-node
Version:
A Typescript implementation of the beacon chain
22 lines • 1.34 kB
TypeScript
import { routes } from "@lodestar/api";
import { BeaconStateAllForks } from "@lodestar/state-transition";
import { BLSPubkey, CommitteeIndex, Slot, SubnetID, ValidatorIndex } from "@lodestar/types";
import { BlockSelectionResult } from "./index.js";
export declare function computeSubnetForCommitteesAtSlot(slot: Slot, committeesAtSlot: number, committeeIndex: CommitteeIndex): SubnetID;
/**
* Precompute all pubkeys for given `validatorIndices`. Ensures that all `validatorIndices` are known
* before doing other expensive logic.
*
* Uses special BranchNodeStruct state.validators data structure to optimize getting pubkeys.
* Type-unsafe: assumes state.validators[i] is of BranchNodeStruct type.
* Note: This is the fastest way of getting compressed pubkeys.
* See benchmark -> packages/beacon-node/test/perf/api/impl/validator/attester.test.ts
*/
export declare function getPubkeysForIndices(validators: BeaconStateAllForks["validators"], indexes: ValidatorIndex[]): BLSPubkey[];
export declare function selectBlockProductionSource({ builderSelection, engineBlockValue, builderBlockValue, builderBoostFactor, }: {
builderSelection: routes.validator.BuilderSelection;
engineBlockValue: bigint;
builderBlockValue: bigint;
builderBoostFactor: bigint;
}): BlockSelectionResult;
//# sourceMappingURL=utils.d.ts.map