@lodestar/beacon-node
Version:
A Typescript implementation of the beacon chain
34 lines • 1.46 kB
TypeScript
/**
* We aren't creating the sync committee proofs separately because our ssz library automatically adds leaves to composite types,
* so they're already included in the state proof, currently with no way to specify otherwise
*
* remove two offsets so the # of offsets in the state proof will be the # expected
* This is a hack, but properly setting the offsets in the state proof would require either removing witnesses needed for the committees
* or setting the roots of the committees in the state proof
* this will always be 1, syncProofLeavesLength
*
*
* With empty state (minimal)
* - `genesisTime = 0xffffffff`
* - `genesisValidatorsRoot = Buffer.alloc(32, 1)`
*
* Proof:
* ```
* offsets: [ 5, 4, 3, 2, 1 ]
* leaves: [
* '0xffffffff00000000000000000000000000000000000000000000000000000000',
* '0x0101010101010101010101010101010101010101010101010101010101010101',
* '0xb11b8bcf59425d6c99019cca1d2c2e47b51a2f74917a67ad132274f43e13ec43',
* '0x74bd1f2437cdf74b0904ee525d8da070a3fa27570942bf42cbab3dc5939600f0',
* '0x7f06739e5a42360c56e519a511675901c95402ea9877edc0d9a87471b1374a6a',
* '0x9f534204ba3c0b69fcb42a11987bfcbc5aea0463e5b0614312ded4b62cf3a380'
* ]
* ```
*/
export type SyncCommitteeWitness = {
/** Vector[Bytes32, 4] or Vector[Bytes32, 5] depending on the fork */
witness: Uint8Array[];
currentSyncCommitteeRoot: Uint8Array;
nextSyncCommitteeRoot: Uint8Array;
};
//# sourceMappingURL=types.d.ts.map