title: Sample Ethereum Serenity State Transition Tests summary: Testing full state transition block processing test_suite: prysm fork: sapphire version: 1.0 test_cases: - config: epoch_length: 64 deposits_for_chain_start: 5000 num_slots: 32 # Testing advancing state to slot < EpochLength results: slot: 32 num_validators: 5000 - config: epoch_length: 63 deposits_for_chain_start: 16384 num_slots: 64 # Testing advancing state to exactly slot == EpochLength deposits: - slot: 1 amount: 32 merkle_index: 0 pubkey: !!binary | SlAAbShSkUg7PLiPHZI/rTS1uAvKiieOrifPN6Moso0= - slot: 15 amount: 32 merkle_index: 1 pubkey: !!binary | Oklajsjdkaklsdlkajsdjlajslkdjlkasjlkdjlajdsd - slot: 55 amount: 32 merkle_index: 2 pubkey: !!binary | LkmqmqoodLKAslkjdkajsdljasdkajlksjdasldjasdd proposer_slashings: - slot: 16 # At slot 16, we trigger a proposal slashing occurring proposer_index: 16385 # We penalize the proposer that was just added from slot 15 proposal_1_shard: 0 proposal_1_slot: 15 proposal_1_root: !!binary | LkmqmqoodLKAslkjdkajsdljasdkajlksjdasldjasdd proposal_2_shard: 0 proposal_2_slot: 15 proposal_2_root: !!binary | LkmqmqoodLKAslkjdkajsdljasdkajlksjdasldjasdd attester_slashings: - slot: 59 # At slot 59, we trigger a attester slashing slashable_attestation_1_slot: 55 slashable_attestation_2_slot: 55 slashable_attestation_1_justified_epoch: 0 slashable_attestation_2_justified_epoch: 1 slashable_attestation_1_custody_bitfield: !binary "F" slashable_attestation_1_validator_indices: [16386] slashable_attestation_2_custody_bitfield: !binary "F" slashable_attestation_2_validator_indices: [16386] validator_exits: - epoch: 0 validator_index: 100 # At slot 60, validator at index 100 triggers a voluntary exit results: slot: 64 num_validators: 16387 penalized_validators: [16385, 16386] # We test that the validators at indices 16385, 16386 were indeed penalized exited_validators: [100] # We confirm the indices of validators that willingly exited the registry # TODO(1387): Waiting for spec to stable to proceed with this test case # - config: # skip_slots: [10, 20] # epoch_length: 64 # deposits_for_chain_start: 1000 # num_slots: 128 # Testing advancing state's slot == 2*EpochLength # deposits: # - slot: 10 # amount: 32 # merkle_index: 0 # pubkey: !!binary | # SlAAbShSkUg7PLiPHZI/rTS1uAvKiieOrifPN6Moso0= # - slot: 20 # amount: 32 # merkle_index: 1 # pubkey: !!binary | # Oklajsjdkaklsdlkajsdjlajslkdjlkasjlkdjlajdsd # results: # slot: 128 # num_validators: 1000 # Validator registry should not have grown if slots 10 and 20 were skipped