@chainsafe/eth2.0-ssz-types
Version:
SSZ types required for eth2.0
40 lines (35 loc) • 1.23 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.BeaconBlock = exports.BeaconBlockBody = void 0;
/**
* @module sszTypes/generators
*/
const BeaconBlockBody = (ssz, params) => ({
fields: [["randaoReveal", ssz.BLSSignature], ["eth1Data", ssz.Eth1Data], ["graffiti", ssz.bytes32], ["proposerSlashings", {
elementType: ssz.ProposerSlashing,
maxLength: params.MAX_PROPOSER_SLASHINGS
}], ["attesterSlashings", {
elementType: ssz.AttesterSlashing,
maxLength: params.MAX_ATTESTER_SLASHINGS
}], ["attestations", {
elementType: ssz.Attestation,
maxLength: params.MAX_ATTESTATIONS
}], ["deposits", {
elementType: ssz.Deposit,
maxLength: params.MAX_DEPOSITS
}], ["voluntaryExits", {
elementType: ssz.VoluntaryExit,
maxLength: params.MAX_VOLUNTARY_EXITS
}], ["transfers", {
elementType: ssz.Transfer,
maxLength: params.MAX_TRANSFERS
}]]
});
exports.BeaconBlockBody = BeaconBlockBody;
const BeaconBlock = ssz => ({
fields: [["slot", ssz.Slot], ["parentRoot", ssz.Hash], ["stateRoot", ssz.Hash], ["body", ssz.BeaconBlockBody], ["signature", ssz.BLSSignature]]
});
exports.BeaconBlock = BeaconBlock;
//# sourceMappingURL=block.js.map