From e1c08b1d02dd23f42c1179b72b4b2d10ef0afb09 Mon Sep 17 00:00:00 2001 From: Darren Langley Date: Wed, 10 Apr 2019 21:06:25 +1000 Subject: [PATCH] mapped out invalid states... 59 --- .../src/per_block_processing/tests.rs | 75 ++++++++++++++++++- 1 file changed, 74 insertions(+), 1 deletion(-) diff --git a/eth2/state_processing/src/per_block_processing/tests.rs b/eth2/state_processing/src/per_block_processing/tests.rs index 004f84805..c9318bc63 100644 --- a/eth2/state_processing/src/per_block_processing/tests.rs +++ b/eth2/state_processing/src/per_block_processing/tests.rs @@ -13,7 +13,7 @@ fn runs_without_error() { // Set the state and block to be in the last slot of the 4th epoch. let last_slot_of_epoch = (spec.genesis_epoch + 4).end_slot(spec.slots_per_epoch); builder.set_slot(last_slot_of_epoch, &spec); - + builder.build_caches(&spec); let (block, mut state) = builder.build(&spec); @@ -21,3 +21,76 @@ fn runs_without_error() { per_block_processing(&mut state, &block, &spec).unwrap(); } +// process_block_header +// Invalid::StateSlotMismatch +// Invalid::ParentBlockRootMismatch + +// verify_block_signature +// Invalid::BadSignature + +// process_randao +// Invalid::BadRandaoSignature + +// process_proposer_slashings +// Invalid::MaxProposerSlashingsExceeded +// verify_proposer_slashing +// Invalid::ProposerUnknown +// Invalid::ProposalSlotMismatch +// Invalid::ProposalsIdentical +// Invalid::ProposerAlreadySlashed +// Invalid::ProposerAlreadyWithdrawn +// Invalid::BadProposal1Signature +// Invalid::BadProposal2Signature + +// process_attester_slashings +// Invalid::MaxAttesterSlashingsExceed +// verify_attester_slashing +// Invalid::AttestationDataIdentical +// Invalid::NotSlashable +// Invalid::SlashableAttestation1Invalid +// Invalid::SlashableAttestation2Invalid + +// process_attestations +// Invalid::MaxAttestationsExceeded +// validate_attestation +// Invalid::PreGenesis +// Invalid::IncludedTooLate +// Invalid::IncludedTooEarly +// Invalid::BadPreviousCrosslink +// Invalid::AggregationBitfieldIsEmpty +// Invalid::CustodyBitfieldHasSetBits +// Invalid::NoCommitteeForShard +// Invalid::BadCustodyBitfieldLength +// Invalid::BadAggregationBitfieldLength +// Invalid::ShardBlockRootNotZero +// verify_justified_epoch_and_root +// Invalid::WrongJustifiedEpoch (current) +// Invalid::WrongJustifiedRoot (current) +// Invalid::WrongJustifiedEpoch (previous) +// Invalid::WrongJustifiedRoot (previous) +// verify_attestation_signature +// Invalid::BadAggregationBitfieldLength +// Invalid::BadCustodyBitfieldLength +// BeaconStateError::UnknownValidator +// Invalid::BadSignature + +// process_deposits +// Invalid::MaxDepositsExceeded +// verify_deposit +// Invalid::BadProofOfPossession +// Invalid::BadMerkleProof +// verify_deposit_index +// Invalid::BadIndex + +// process_exits +// Invalid::MaxExitsExceeded +// verify_exit +// Invalid::ValidatorUnknown +// Invalid::AlreadyExited +// Invalid::AlreadyInitiatedExited +// Invalid::FutureEpoch +// Invalid::TooYoungToLeave +// Invalid::BadSignature + + +