UNPKG

@chainsafe/eth2.0-ssz-types

Version:
57 lines (43 loc) 1.74 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Transfer = exports.VoluntaryExit = exports.Deposit = exports.Attestation = exports.AttesterSlashing = exports.ProposerSlashing = void 0; var _constants = require("../constants"); /** * @module sszTypes/generators */ const ProposerSlashing = ssz => ({ fields: [["proposerIndex", ssz.ValidatorIndex], ["header1", ssz.BeaconBlockHeader], ["header2", ssz.BeaconBlockHeader]] }); exports.ProposerSlashing = ProposerSlashing; const AttesterSlashing = ssz => ({ fields: [["attestation1", ssz.IndexedAttestation], ["attestation2", ssz.IndexedAttestation]] }); exports.AttesterSlashing = AttesterSlashing; const Attestation = (ssz, params) => ({ fields: [["aggregationBits", { elementType: ssz.bool, maxLength: params.MAX_VALIDATORS_PER_COMMITTEE }], ["data", ssz.AttestationData], ["custodyBits", { elementType: ssz.bool, maxLength: params.MAX_VALIDATORS_PER_COMMITTEE }], ["signature", ssz.BLSSignature]] }); exports.Attestation = Attestation; const Deposit = ssz => ({ fields: [["proof", { elementType: ssz.Hash, length: _constants.DEPOSIT_CONTRACT_TREE_DEPTH + 1 }], ["data", ssz.DepositData]] }); exports.Deposit = Deposit; const VoluntaryExit = ssz => ({ fields: [["epoch", ssz.Epoch], ["validatorIndex", ssz.ValidatorIndex], ["signature", ssz.BLSSignature]] }); exports.VoluntaryExit = VoluntaryExit; const Transfer = ssz => ({ fields: [["sender", ssz.ValidatorIndex], ["recipient", ssz.ValidatorIndex], ["amount", ssz.Gwei], ["fee", ssz.Gwei], ["slot", ssz.Slot], ["pubkey", ssz.BLSPubkey], ["signature", ssz.BLSSignature]] }); exports.Transfer = Transfer; //# sourceMappingURL=operations.js.map