#[derive(Clone, PartialEq, Eq, Debug)]
pub enum Error {
DepositIndexMismatch,
DepositMerkleInvalid,
DepositProofInvalid,
DepositWithdrawalCredentialsMismatch,
DuplicateIndexes,
DuplicateTransfer,
IndexOutOfRange,
EpochOutOfRange,
SlotOutOfRange,
AttestationShardInvalid,
AttestationBitFieldInvalid,
ValidatorNotWithdrawable,
ValidatorAttestationNotFound,
BlockStateRootInvalid,
BlockSlotInvalid,
BlockProposerSlashed,
BlockPreviousRootInvalid,
BlockSignatureInvalid,
RandaoSignatureInvalid,
ProposerSlashingInvalidProposerIndex,
ProposerSlashingInvalidSlot,
ProposerSlashingSameHeader,
ProposerSlashingAlreadySlashed,
ProposerSlashingInvalidSignature,
AttesterSlashingSameAttestation,
AttesterSlashingNotSlashable,
AttesterSlashingInvalid,
AttesterSlashingEmptyIndices,
AttestationTooFarInHistory,
AttestationSubmittedTooQuickly,
AttestationIncorrectJustifiedEpochOrBlockRoot,
AttestationIncorrectCrosslinkData,
AttestationEmptyAggregation,
AttestationEmptyCustody,
AttestationInvalidData,
AttestationInvalidShard,
AttestationInvalidCustody,
AttestationInvalidSignature,
AttestationInvalidCrosslink,
VoluntaryExitAlreadyExited,
VoluntaryExitAlreadyInitiated,
VoluntaryExitNotYetValid,
VoluntaryExitNotLongEnough,
VoluntaryExitInvalidSignature,
TransferNoFund,
TransferNotValidSlot,
TransferNotWithdrawable,
TransferInvalidPublicKey,
TransferInvalidSignature,
TooManyProposerSlashings,
TooManyAttesterSlashings,
TooManyAttestations,
TooManyDeposits,
TooManyVoluntaryExits,
TooManyTransfers,
InvalidEth1Data,
}