Closed tersec closed 3 years ago
The list is automatically generated from https://raw.githubusercontent.com/ethereum/eth2.0-specs/v1.0.0-rc.0/specs/phase0/beacon-chain.md
Fork
ForkData
Checkpoint
Validator
AttestationData
IndexedAttestation
PendingAttestation
Eth1Data
HistoricalBatch
DepositMessage
DepositData
BeaconBlockHeader
SigningData
ProposerSlashing
AttesterSlashing
Attestation
Deposit
VoluntaryExit
BeaconBlockBody
BeaconBlock
BeaconState
SignedVoluntaryExit
SignedBeaconBlock
SignedBeaconBlockHeader
integer_squareroot
uint_to_bytes
bytes_to_uint64
hash
hash_tree_root
is_active_validator
is_eligible_for_activation_queue
is_eligible_for_activation
is_slashable_validator
is_slashable_attestation_data
is_valid_indexed_attestation
is_valid_merkle_branch
compute_shuffled_index
compute_proposer_index
compute_committee
compute_epoch_at_slot
compute_start_slot_at_epoch
compute_activation_exit_epoch
compute_fork_data_root
compute_fork_digest
compute_domain
compute_signing_root
get_current_epoch
get_previous_epoch
get_block_root
get_block_root_at_slot
get_randao_mix
get_active_validator_indices
get_validator_churn_limit
get_seed
get_committee_count_per_slot
get_beacon_committee
get_beacon_proposer_index
get_total_balance
get_total_active_balance
get_domain
get_indexed_attestation
get_attesting_indices
increase_balance
decrease_balance
initiate_validator_exit
slash_validator
get_attesting_balance
get_attestation_deltas
process_rewards_and_penalties
Everything in https://raw.githubusercontent.com/ethereum/eth2.0-specs/v1.0.0-rc.0/specs/phase0/beacon-chain.md has been implemented and is, to varying degrees, tested by the official EF test suite.
The list is automatically generated from https://raw.githubusercontent.com/ethereum/eth2.0-specs/v1.0.0-rc.0/specs/phase0/beacon-chain.md
Fork
https://github.com/status-im/nimbus-eth2/blob/23bec993414df904e9d7ea9d26e65005b981aee0/beacon_chain/spec/datatypes.nim#L378-L379ForkData
https://github.com/status-im/nimbus-eth2/blob/23bec993414df904e9d7ea9d26e65005b981aee0/beacon_chain/spec/datatypes.nim#L143-L144Checkpoint
https://github.com/status-im/nimbus-eth2/blob/23bec993414df904e9d7ea9d26e65005b981aee0/beacon_chain/spec/datatypes.nim#L148-L149Validator
https://github.com/status-im/nimbus-eth2/blob/23bec993414df904e9d7ea9d26e65005b981aee0/beacon_chain/spec/datatypes.nim#L341-L342AttestationData
https://github.com/status-im/nimbus-eth2/blob/23bec993414df904e9d7ea9d26e65005b981aee0/beacon_chain/spec/datatypes.nim#L153-L154IndexedAttestation
https://github.com/status-im/nimbus-eth2/blob/23bec993414df904e9d7ea9d26e65005b981aee0/beacon_chain/spec/datatypes.nim#L115-L116PendingAttestation
https://github.com/status-im/nimbus-eth2/blob/23bec993414df904e9d7ea9d26e65005b981aee0/beacon_chain/spec/datatypes.nim#L363-L364Eth1Data
https://github.com/status-im/nimbus-eth2/blob/23bec993414df904e9d7ea9d26e65005b981aee0/beacon_chain/spec/datatypes.nim#L388-L389HistoricalBatch
https://github.com/status-im/nimbus-eth2/blob/23bec993414df904e9d7ea9d26e65005b981aee0/beacon_chain/spec/datatypes.nim#L373-L374DepositMessage
https://github.com/status-im/nimbus-eth2/blob/23bec993414df904e9d7ea9d26e65005b981aee0/beacon_chain/spec/datatypes.nim#L175-L176DepositData
https://github.com/status-im/nimbus-eth2/blob/23bec993414df904e9d7ea9d26e65005b981aee0/beacon_chain/spec/datatypes.nim#L181-L182BeaconBlockHeader
https://github.com/status-im/nimbus-eth2/blob/23bec993414df904e9d7ea9d26e65005b981aee0/beacon_chain/spec/datatypes.nim#L239-L240SigningData
https://github.com/status-im/nimbus-eth2/blob/23bec993414df904e9d7ea9d26e65005b981aee0/beacon_chain/spec/datatypes.nim#L247-L248ProposerSlashing
https://github.com/status-im/nimbus-eth2/blob/23bec993414df904e9d7ea9d26e65005b981aee0/beacon_chain/spec/datatypes.nim#L105-L106AttesterSlashing
https://github.com/status-im/nimbus-eth2/blob/23bec993414df904e9d7ea9d26e65005b981aee0/beacon_chain/spec/datatypes.nim#L110-L111Attestation
https://github.com/status-im/nimbus-eth2/blob/23bec993414df904e9d7ea9d26e65005b981aee0/beacon_chain/spec/datatypes.nim#L130-L131Deposit
https://github.com/status-im/nimbus-eth2/blob/23bec993414df904e9d7ea9d26e65005b981aee0/beacon_chain/spec/datatypes.nim#L168-L169VoluntaryExit
https://github.com/status-im/nimbus-eth2/blob/23bec993414df904e9d7ea9d26e65005b981aee0/beacon_chain/spec/datatypes.nim#L190-L191BeaconBlockBody
https://github.com/status-im/nimbus-eth2/blob/23bec993414df904e9d7ea9d26e65005b981aee0/beacon_chain/spec/datatypes.nim#L254-L255BeaconBlock
https://github.com/status-im/nimbus-eth2/blob/23bec993414df904e9d7ea9d26e65005b981aee0/beacon_chain/spec/datatypes.nim#L197-L198BeaconState
https://github.com/status-im/nimbus-eth2/blob/23bec993414df904e9d7ea9d26e65005b981aee0/beacon_chain/spec/datatypes.nim#L285-L286SignedVoluntaryExit
https://github.com/status-im/nimbus-eth2/blob/23bec993414df904e9d7ea9d26e65005b981aee0/beacon_chain/spec/datatypes.nim#L401-L402SignedBeaconBlock
https://github.com/status-im/nimbus-eth2/blob/23bec993414df904e9d7ea9d26e65005b981aee0/beacon_chain/spec/datatypes.nim#L406-L407SignedBeaconBlockHeader
https://github.com/status-im/nimbus-eth2/blob/23bec993414df904e9d7ea9d26e65005b981aee0/beacon_chain/spec/datatypes.nim#L419-L420integer_squareroot
https://github.com/status-im/nimbus-eth2/blob/180bad3a331b7a28e42525fb778f73c761b46906/beacon_chain/spec/helpers.nim#L25-L26uint_to_bytes
https://github.com/status-im/nimbus-eth2/blob/23bec993414df904e9d7ea9d26e65005b981aee0/beacon_chain/spec/helpers.nim#L89-92bytes_to_uint64
https://github.com/status-im/nimbus-eth2/blob/180bad3a331b7a28e42525fb778f73c761b46906/beacon_chain/spec/helpers.nim#L84hash
https://github.com/status-im/nimbus-eth2/blob/c5a58555efdef09cd18d2d68b62316fedced156e/beacon_chain/spec/digest.nim#L56hash_tree_root
https://github.com/status-im/nimbus-eth2/blob/dba39c54d9bb3ded5f624ce026345c3a72f658dd/beacon_chain/ssz/merkleization.nim#L444is_active_validator
https://github.com/status-im/nimbus-eth2/blob/180bad3a331b7a28e42525fb778f73c761b46906/beacon_chain/spec/helpers.nim#L54-L55is_eligible_for_activation_queue
https://github.com/status-im/nimbus-eth2/blob/180bad3a331b7a28e42525fb778f73c761b46906/beacon_chain/spec/beaconstate.nim#L349-L350is_eligible_for_activation
https://github.com/status-im/nimbus-eth2/blob/180bad3a331b7a28e42525fb778f73c761b46906/beacon_chain/spec/beaconstate.nim#L355-L356is_slashable_validator
https://github.com/status-im/nimbus-eth2/blob/c5a58555efdef09cd18d2d68b62316fedced156e/beacon_chain/spec/state_transition_block.nim#L129-L130is_slashable_attestation_data
https://github.com/status-im/nimbus-eth2/blob/c5a58555efdef09cd18d2d68b62316fedced156e/beacon_chain/spec/state_transition_block.nim#L190-L191is_valid_indexed_attestation
https://github.com/status-im/nimbus-eth2/blob/6cf7e837ceb6cfb764b3d95a71fc3b31e2c7a2d3/beacon_chain/block_pools/spec_cache.nim#L85-L86 https://github.com/status-im/nimbus-eth2/blob/180bad3a331b7a28e42525fb778f73c761b46906/beacon_chain/spec/beaconstate.nim#L424-L425is_valid_merkle_branch
https://github.com/status-im/nimbus-eth2/blob/180bad3a331b7a28e42525fb778f73c761b46906/beacon_chain/spec/beaconstate.nim#L17-L18compute_shuffled_index
https://github.com/status-im/nimbus-eth2/blob/6cf7e837ceb6cfb764b3d95a71fc3b31e2c7a2d3/beacon_chain/spec/validator.nim#L257-L258compute_proposer_index
https://github.com/status-im/nimbus-eth2/blob/6cf7e837ceb6cfb764b3d95a71fc3b31e2c7a2d3/beacon_chain/spec/validator.nim#L295-L296compute_committee
https://github.com/status-im/nimbus-eth2/blob/6cf7e837ceb6cfb764b3d95a71fc3b31e2c7a2d3/beacon_chain/spec/validator.nim#L203compute_epoch_at_slot
https://github.com/status-im/nimbus-eth2/blob/180bad3a331b7a28e42525fb778f73c761b46906/beacon_chain/spec/helpers.nim#L38-L39compute_start_slot_at_epoch
https://github.com/status-im/nimbus-eth2/blob/180bad3a331b7a28e42525fb778f73c761b46906/beacon_chain/spec/helpers.nim#L49-L50compute_activation_exit_epoch
https://github.com/status-im/nimbus-eth2/blob/180bad3a331b7a28e42525fb778f73c761b46906/beacon_chain/spec/beaconstate.nim#L124-L125compute_fork_data_root
https://github.com/status-im/nimbus-eth2/blob/180bad3a331b7a28e42525fb778f73c761b46906/beacon_chain/spec/helpers.nim#L106-L107compute_fork_digest
https://github.com/status-im/nimbus-eth2/blob/180bad3a331b7a28e42525fb778f73c761b46906/beacon_chain/spec/helpers.nim#L118-L119compute_domain
https://github.com/status-im/nimbus-eth2/blob/180bad3a331b7a28e42525fb778f73c761b46906/beacon_chain/spec/helpers.nim#L129-L130compute_signing_root
https://github.com/status-im/nimbus-eth2/blob/180bad3a331b7a28e42525fb778f73c761b46906/beacon_chain/spec/helpers.nim#L158-L159get_current_epoch
https://github.com/status-im/nimbus-eth2/blob/180bad3a331b7a28e42525fb778f73c761b46906/beacon_chain/spec/helpers.nim#L72-L73get_previous_epoch
https://github.com/status-im/nimbus-eth2/blob/6cf7e837ceb6cfb764b3d95a71fc3b31e2c7a2d3/beacon_chain/spec/validator.nim#L180-L181get_block_root
https://github.com/status-im/nimbus-eth2/blob/180bad3a331b7a28e42525fb778f73c761b46906/beacon_chain/spec/beaconstate.nim#L335-L336get_block_root_at_slot
https://github.com/status-im/nimbus-eth2/blob/180bad3a331b7a28e42525fb778f73c761b46906/beacon_chain/spec/beaconstate.nim#L322-L323get_randao_mix
https://github.com/status-im/nimbus-eth2/blob/180bad3a331b7a28e42525fb778f73c761b46906/beacon_chain/spec/helpers.nim#L78-L79get_active_validator_indices
https://github.com/status-im/nimbus-eth2/blob/180bad3a331b7a28e42525fb778f73c761b46906/beacon_chain/spec/helpers.nim#L59-60get_validator_churn_limit
https://github.com/status-im/nimbus-eth2/blob/180bad3a331b7a28e42525fb778f73c761b46906/beacon_chain/spec/beaconstate.nim#L130-L131get_seed
https://github.com/status-im/nimbus-eth2/blob/180bad3a331b7a28e42525fb778f73c761b46906/beacon_chain/spec/helpers.nim#L168-L169get_committee_count_per_slot
https://github.com/status-im/nimbus-eth2/blob/6cf7e837ceb6cfb764b3d95a71fc3b31e2c7a2d3/beacon_chain/block_pools/spec_cache.nim#L20-L21 https://github.com/status-im/nimbus-eth2/blob/6cf7e837ceb6cfb764b3d95a71fc3b31e2c7a2d3/beacon_chain/spec/validator.nim#L153-L154get_beacon_committee
https://github.com/status-im/nimbus-eth2/blob/6cf7e837ceb6cfb764b3d95a71fc3b31e2c7a2d3/beacon_chain/block_pools/spec_cache.nim#L24-L25get_beacon_proposer_index
https://github.com/status-im/nimbus-eth2/blob/6cf7e837ceb6cfb764b3d95a71fc3b31e2c7a2d3/beacon_chain/spec/validator.nim#L322-L323get_total_balance
https://github.com/status-im/nimbus-eth2/blob/180bad3a331b7a28e42525fb778f73c761b46906/beacon_chain/spec/beaconstate.nim#L340-L341get_total_active_balance
https://github.com/status-im/nimbus-eth2/blob/6cf7e837ceb6cfb764b3d95a71fc3b31e2c7a2d3/beacon_chain/spec/state_transition_epoch.nim#L56-L57get_domain
https://github.com/status-im/nimbus-eth2/blob/180bad3a331b7a28e42525fb778f73c761b46906/beacon_chain/spec/helpers.nim#L140-L141get_indexed_attestation
https://github.com/status-im/nimbus-eth2/blob/6cf7e837ceb6cfb764b3d95a71fc3b31e2c7a2d3/beacon_chain/block_pools/spec_cache.nim#L46-L47 https://github.com/status-im/nimbus-eth2/blob/180bad3a331b7a28e42525fb778f73c761b46906/beacon_chain/spec/beaconstate.nim#L493-L494get_attesting_indices
https://github.com/status-im/nimbus-eth2/blob/6cf7e837ceb6cfb764b3d95a71fc3b31e2c7a2d3/beacon_chain/block_pools/spec_cache.nim#L37-L38 https://github.com/status-im/nimbus-eth2/blob/180bad3a331b7a28e42525fb778f73c761b46906/beacon_chain/spec/beaconstate.nim#L463-L464increase_balance
https://github.com/status-im/nimbus-eth2/blob/180bad3a331b7a28e42525fb778f73c761b46906/beacon_chain/spec/beaconstate.nim#L37decrease_balance
https://github.com/status-im/nimbus-eth2/blob/180bad3a331b7a28e42525fb778f73c761b46906/beacon_chain/spec/beaconstate.nim#L43-L44initiate_validator_exit
https://github.com/status-im/nimbus-eth2/blob/180bad3a331b7a28e42525fb778f73c761b46906/beacon_chain/spec/beaconstate.nim#L138-L139slash_validator
https://github.com/status-im/nimbus-eth2/blob/180bad3a331b7a28e42525fb778f73c761b46906/beacon_chain/spec/beaconstate.nim#L167-L168get_attesting_balance
is passed around as a paramater to avoid O(n^2) recalculation.get_attestation_deltas
https://github.com/status-im/nimbus-eth2/blob/6cf7e837ceb6cfb764b3d95a71fc3b31e2c7a2d3/beacon_chain/spec/state_transition_epoch.nim#L401-L402process_rewards_and_penalties
https://github.com/status-im/nimbus-eth2/blob/6cf7e837ceb6cfb764b3d95a71fc3b31e2c7a2d3/beacon_chain/spec/state_transition_epoch.nim#L416-L417