UNPKG

@lodestar/beacon-node

Version:

A Typescript implementation of the beacon chain

35 lines 1.25 kB
import { BitArray } from "@chainsafe/ssz"; export declare enum IntersectResult { Equal = 0, /** All elements in set B are in set A */ Superset = 1, /** All elements in set A are in set B */ Subset = 2, /** Set A and set B do not share any elements */ Exclusive = 3, /** Set A and set B intersect but are not superset or subset */ Intersect = 4 } /** * For each byte check if a includes b, * | a | b | result | * | -------- | -------- | ------------- | * | 00001111 | 00001111 | A equals B | * | 00001111 | 00000011 | A superset B | * | 00000011 | 00001111 | A subset B | * | 11110000 | 00001111 | A exclude B | * | 11111100 | 00111111 | A intersect B | * * For all bytes in BitArray: * - equals = MAYBE ONLY equals * - excludes = MUST ONLY equals * - superset = MUST superset MAYBE equal * - subset = MUST subset MAYBE equal * - intersect = any other condition */ export declare function intersectUint8Arrays(aUA: Uint8Array, bUA: Uint8Array): IntersectResult; /** * Check if first BitArray is equal to or superset of the second */ export declare function isSuperSetOrEqual(superSet: BitArray, toCheck: BitArray): boolean; //# sourceMappingURL=bitArray.d.ts.map