From 36e37bda4079a33e96e6a1a7198c0226c208cfac Mon Sep 17 00:00:00 2001 From: tersec Date: Wed, 27 Oct 2021 18:40:17 +0000 Subject: [PATCH] v1.1.3 spec refs URLs (#3036) --- beacon_chain/beacon_chain_db_immutable.nim | 2 +- beacon_chain/consensus_object_pools/README.md | 4 ++-- beacon_chain/consensus_object_pools/spec_cache.nim | 6 +++--- beacon_chain/spec/beaconstate.nim | 4 ++-- beacon_chain/spec/datatypes/altair.nim | 2 +- beacon_chain/spec/datatypes/base.nim | 4 ++-- beacon_chain/spec/helpers.nim | 12 ++++++------ beacon_chain/spec/network.nim | 2 +- beacon_chain/spec/presets.nim | 4 ++-- beacon_chain/spec/presets/minimal/altair_preset.nim | 2 +- beacon_chain/spec/state_transition.nim | 2 +- beacon_chain/spec/state_transition_block.nim | 2 +- beacon_chain/spec/state_transition_epoch.nim | 4 ++-- beacon_chain/spec/validator.nim | 6 +++--- beacon_chain/validators/validator_pool.nim | 2 +- docs/block_flow.md | 2 +- tests/mocking/mock_blocks.nim | 4 ++-- 17 files changed, 32 insertions(+), 32 deletions(-) diff --git a/beacon_chain/beacon_chain_db_immutable.nim b/beacon_chain/beacon_chain_db_immutable.nim index 42ca27010..cf627f81f 100644 --- a/beacon_chain/beacon_chain_db_immutable.nim +++ b/beacon_chain/beacon_chain_db_immutable.nim @@ -131,7 +131,7 @@ type current_sync_committee*: SyncCommittee # [New in Altair] next_sync_committee*: SyncCommittee # [New in Altair] - # https://github.com/ethereum/consensus-specs/blob/v1.1.2/specs/merge/beacon-chain.md#beaconstate + # https://github.com/ethereum/consensus-specs/blob/v1.1.3/specs/merge/beacon-chain.md#beaconstate # Memory-representation-equivalent to a Merge BeaconState for in-place SSZ # reading and writing MergeBeaconStateNoImmutableValidators* = object diff --git a/beacon_chain/consensus_object_pools/README.md b/beacon_chain/consensus_object_pools/README.md index 165ff22c9..904a992b6 100644 --- a/beacon_chain/consensus_object_pools/README.md +++ b/beacon_chain/consensus_object_pools/README.md @@ -8,8 +8,8 @@ to specs: - aggregate attestations: https://github.com/ethereum/consensus-specs/blob/v1.1.3/specs/phase0/p2p-interface.md#beacon_aggregate_and_proof - unaggregated attestation: https://github.com/ethereum/consensus-specs/blob/v1.1.3/specs/phase0/p2p-interface.md#beacon_attestation_subnet_id - voluntary exits: https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/p2p-interface.md#voluntary_exit -- Attester slashings: https://github.com/ethereum/consensus-specs/blob/v1.1.0/specs/phase0/p2p-interface.md#attester_slashing -- Proposer slashings: https://github.com/ethereum/consensus-specs/blob/v1.1.0/specs/phase0/p2p-interface.md#proposer_slashing +- Attester slashings: https://github.com/ethereum/consensus-specs/blob/v1.1.3/specs/phase0/p2p-interface.md#attester_slashing +- Proposer slashings: https://github.com/ethereum/consensus-specs/blob/v1.1.3/specs/phase0/p2p-interface.md#proposer_slashing After "gossip validation" the consensus objects can be rebroadcasted as they are optimistically good, however for internal processing further verification is needed. For blocks, this means verifying state transition and all contained cryptographic signatures (instead of just the proposer signature). diff --git a/beacon_chain/consensus_object_pools/spec_cache.nim b/beacon_chain/consensus_object_pools/spec_cache.nim index 8dc53e960..c9ef87571 100644 --- a/beacon_chain/consensus_object_pools/spec_cache.nim +++ b/beacon_chain/consensus_object_pools/spec_cache.nim @@ -30,7 +30,7 @@ iterator get_committee_indices*(epochRef: EpochRef): CommitteeIndex = for i in 0'u64..= GENESIS_SLOT, $state.slot compute_epoch_at_slot(state.slot) -# https://github.com/ethereum/consensus-specs/blob/v1.1.0/specs/phase0/beacon-chain.md#get_randao_mix +# https://github.com/ethereum/consensus-specs/blob/v1.1.3/specs/phase0/beacon-chain.md#get_randao_mix func get_randao_mix*(state: SomeBeaconState, epoch: Epoch): Eth2Digest = ## Returns the randao mix at a recent ``epoch``. state.randao_mixes[epoch mod EPOCHS_PER_HISTORICAL_VECTOR] @@ -433,7 +433,7 @@ func compute_fork_data_root(current_version: Version, genesis_validators_root: genesis_validators_root )) -# https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#compute_fork_digest +# https://github.com/ethereum/consensus-specs/blob/v1.1.3/specs/phase0/beacon-chain.md#compute_fork_digest func compute_fork_digest*(current_version: Version, genesis_validators_root: Eth2Digest): ForkDigest = ## Return the 4-byte fork digest for the ``current_version`` and @@ -509,7 +509,7 @@ func add_flag*(flags: ParticipationFlags, flag_index: int): ParticipationFlags = let flag = ParticipationFlags(1'u8 shl flag_index) flags or flag -# https://github.com/ethereum/consensus-specs/blob/v1.1.0/specs/altair/beacon-chain.md#has_flag +# https://github.com/ethereum/consensus-specs/blob/v1.1.3/specs/altair/beacon-chain.md#has_flag func has_flag*(flags: ParticipationFlags, flag_index: int): bool = let flag = ParticipationFlags(1'u8 shl flag_index) (flags and flag) == flag @@ -519,7 +519,7 @@ func get_subtree_index*(idx: GeneralizedIndex): uint64 = doAssert idx > 0 uint64(idx mod (type(idx)(1) shl log2trunc(idx))) -# https://github.com/ethereum/consensus-specs/blob/v1.1.0-beta.4/specs/merge/beacon-chain.md#is_merge_complete +# https://github.com/ethereum/consensus-specs/blob/v1.1.3/specs/merge/beacon-chain.md#is_merge_complete func is_merge_complete*(state: merge.BeaconState): bool = state.latest_execution_payload_header != default(ExecutionPayloadHeader) diff --git a/beacon_chain/spec/network.nim b/beacon_chain/spec/network.nim index cf404f45c..95a74e774 100644 --- a/beacon_chain/spec/network.nim +++ b/beacon_chain/spec/network.nim @@ -21,7 +21,7 @@ const topicAttesterSlashingsSuffix* = "attester_slashing/ssz_snappy" topicAggregateAndProofsSuffix* = "beacon_aggregate_and_proof/ssz_snappy" - # https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/p2p-interface.md#eth2-network-interaction-domains + # https://github.com/ethereum/consensus-specs/blob/v1.1.3/specs/phase0/p2p-interface.md#configuration MAX_CHUNK_SIZE* = 1 * 1024 * 1024 # bytes GOSSIP_MAX_SIZE* = 1 * 1024 * 1024 # bytes TTFB_TIMEOUT* = 5.seconds diff --git a/beacon_chain/spec/presets.nim b/beacon_chain/spec/presets.nim index ee6424d62..13c80d0a7 100644 --- a/beacon_chain/spec/presets.nim +++ b/beacon_chain/spec/presets.nim @@ -157,7 +157,7 @@ when const_preset == "mainnet": # TODO Move this to RuntimeConfig const SECONDS_PER_SLOT* {.intdefine.}: uint64 = 12 - # https://github.com/ethereum/consensus-specs/blob/v1.1.2/configs/mainnet.yaml + # https://github.com/ethereum/consensus-specs/blob/v1.1.3/configs/mainnet.yaml # TODO Read these from yaml file const defaultRuntimeConfig* = RuntimeConfig( PRESET_BASE: "mainnet", @@ -245,7 +245,7 @@ elif const_preset == "minimal": const SECONDS_PER_SLOT* {.intdefine.}: uint64 = 6 - # https://github.com/ethereum/consensus-specs/blob/v1.1.1/configs/minimal.yaml + # https://github.com/ethereum/consensus-specs/blob/v1.1.3/configs/minimal.yaml const defaultRuntimeConfig* = RuntimeConfig( # Minimal config diff --git a/beacon_chain/spec/presets/minimal/altair_preset.nim b/beacon_chain/spec/presets/minimal/altair_preset.nim index 7f57a0ae3..6b5af120c 100644 --- a/beacon_chain/spec/presets/minimal/altair_preset.nim +++ b/beacon_chain/spec/presets/minimal/altair_preset.nim @@ -1,5 +1,5 @@ # Minimal preset - Altair -# https://github.com/ethereum/consensus-specs/blob/v1.1.0-beta.5/presets/minimal/altair.yaml +# https://github.com/ethereum/consensus-specs/blob/v1.1.3/presets/minimal/altair.yaml const # Updated penalty values # --------------------------------------------------------------- diff --git a/beacon_chain/spec/state_transition.nim b/beacon_chain/spec/state_transition.nim index e91a1ecb3..89ea046ea 100644 --- a/beacon_chain/spec/state_transition.nim +++ b/beacon_chain/spec/state_transition.nim @@ -56,7 +56,7 @@ export extras, phase0, altair type Foo = phase0.SignedBeaconBlock | altair.SignedBeaconBlock | phase0.TrustedSignedBeaconBlock | altair.TrustedSignedBeaconBlock | phase0.SigVerifiedSignedBeaconBlock | altair.SigVerifiedSignedBeaconBlock | merge.TrustedSignedBeaconBlock | merge.SigVerifiedSignedBeaconBlock | merge.SignedBeaconBlock -# https://github.com/ethereum/consensus-specs/blob/v1.1.0/specs/phase0/beacon-chain.md#beacon-chain-state-transition-function +# https://github.com/ethereum/consensus-specs/blob/v1.1.3/specs/phase0/beacon-chain.md#beacon-chain-state-transition-function proc verify_block_signature( #state: SomeBeaconState, signed_block: SomeSomeSignedBeaconBlock): bool {.nbench.} = state: SomeBeaconState, signed_block: Foo): bool {.nbench.} = diff --git a/beacon_chain/spec/state_transition_block.nim b/beacon_chain/spec/state_transition_block.nim index d7f37aed5..6b40a94c3 100644 --- a/beacon_chain/spec/state_transition_block.nim +++ b/beacon_chain/spec/state_transition_block.nim @@ -29,7 +29,7 @@ import export extras, phase0, altair -# https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#block-header +# https://github.com/ethereum/consensus-specs/blob/v1.1.3/specs/phase0/beacon-chain.md#block-header func process_block_header*( state: var SomeBeaconState, blck: SomeSomeBeaconBlock, flags: UpdateFlags, cache: var StateCache): Result[void, cstring] {.nbench.} = diff --git a/beacon_chain/spec/state_transition_epoch.nim b/beacon_chain/spec/state_transition_epoch.nim index 19080e8d7..c249b9062 100644 --- a/beacon_chain/spec/state_transition_epoch.nim +++ b/beacon_chain/spec/state_transition_epoch.nim @@ -464,7 +464,7 @@ func is_in_inactivity_leak(finality_delay: uint64): bool = func get_finality_delay(state: SomeBeaconState): uint64 = get_previous_epoch(state) - state.finalized_checkpoint.epoch -# https://github.com/ethereum/consensus-specs/blob/v1.1.0-alpha.8/specs/phase0/beacon-chain.md#rewards-and-penalties-1 +# https://github.com/ethereum/consensus-specs/blob/v1.1.3/specs/phase0/beacon-chain.md#rewards-and-penalties-1 func is_in_inactivity_leak(state: altair.BeaconState | merge.BeaconState): bool = # TODO remove this, see above get_finality_delay(state) > MIN_EPOCHS_TO_INACTIVITY_PENALTY @@ -902,7 +902,7 @@ func process_participation_flag_updates*(state: var (altair.BeaconState | merge. state.current_epoch_participation.resetCache() -# https://github.com/ethereum/consensus-specs/blob/v1.1.0/specs/altair/beacon-chain.md#sync-committee-updates +# https://github.com/ethereum/consensus-specs/blob/v1.1.3/specs/altair/beacon-chain.md#sync-committee-updates proc process_sync_committee_updates*(state: var (altair.BeaconState | merge.BeaconState)) = let next_epoch = get_current_epoch(state) + 1 if next_epoch mod EPOCHS_PER_SYNC_COMMITTEE_PERIOD == 0: diff --git a/beacon_chain/spec/validator.nim b/beacon_chain/spec/validator.nim index 7a2cde9c0..9c2d701b6 100644 --- a/beacon_chain/spec/validator.nim +++ b/beacon_chain/spec/validator.nim @@ -153,7 +153,7 @@ func count_active_validators*(state: SomeBeaconState, cache: var StateCache): uint64 = cache.get_shuffled_active_validator_indices(state, epoch).lenu64 -# https://github.com/ethereum/consensus-specs/blob/v1.1.0/specs/phase0/beacon-chain.md#get_committee_count_per_slot +# https://github.com/ethereum/consensus-specs/blob/v1.1.3/specs/phase0/beacon-chain.md#get_committee_count_per_slot func get_committee_count_per_slot*(num_active_validators: uint64): uint64 = clamp( num_active_validators div SLOTS_PER_EPOCH div TARGET_COMMITTEE_SIZE, @@ -162,7 +162,7 @@ func get_committee_count_per_slot*(num_active_validators: uint64): uint64 = func get_committee_count_per_slot*(state: SomeBeaconState, epoch: Epoch, cache: var StateCache): uint64 = - # Return the number of committees at ``slot``. + ## Return the number of committees at ``slot``. let active_validator_count = count_active_validators(state, epoch, cache) @@ -182,7 +182,7 @@ func get_committee_count_per_slot*(state: SomeBeaconState, cache: var StateCache): uint64 = get_committee_count_per_slot(state, slot.compute_epoch_at_slot, cache) -# https://github.com/ethereum/consensus-specs/blob/v1.1.0/specs/phase0/beacon-chain.md#get_previous_epoch +# https://github.com/ethereum/consensus-specs/blob/v1.1.3/specs/phase0/beacon-chain.md#get_previous_epoch func get_previous_epoch*(current_epoch: Epoch): Epoch = ## Return the previous epoch (unless the current epoch is ``GENESIS_EPOCH``). if current_epoch == GENESIS_EPOCH: diff --git a/beacon_chain/validators/validator_pool.nim b/beacon_chain/validators/validator_pool.nim index 41030c896..1ee474a27 100644 --- a/beacon_chain/validators/validator_pool.nim +++ b/beacon_chain/validators/validator_pool.nim @@ -238,7 +238,7 @@ proc getSyncCommitteeSelectionProof*( of ValidatorKind.Remote: await signWithRemoteValidator(v, signing_root) -# https://github.com/ethereum/consensus-specs/blob/v1.1.0-beta.4/specs/altair/validator.md#signature +# https://github.com/ethereum/consensus-specs/blob/v1.1.3/specs/altair/validator.md#signature proc sign*( v: AttachedValidator, msg: ref SignedContributionAndProof, diff --git a/docs/block_flow.md b/docs/block_flow.md index 5bdc31121..0b9adb54b 100644 --- a/docs/block_flow.md +++ b/docs/block_flow.md @@ -6,7 +6,7 @@ This is a WIP document to explain the beacon block flows. Important distinction: - We distinguish block `validation` which is defined in the P2P specs: - https://github.com/ethereum/consensus-specs/blob/v1.1.0/specs/phase0/p2p-interface.md#beacon_block. + https://github.com/ethereum/consensus-specs/blob/v1.1.3/specs/phase0/p2p-interface.md#beacon_block. A validated block can be forwarded on gossipsub. - and we distinguish `verification` which is defined in consensus specs: https://github.com/ethereum/consensus-specs/blob/v1.1.3/specs/phase0/beacon-chain.md#block-processing diff --git a/tests/mocking/mock_blocks.nim b/tests/mocking/mock_blocks.nim index 91baa79b4..4dfb8170c 100644 --- a/tests/mocking/mock_blocks.nim +++ b/tests/mocking/mock_blocks.nim @@ -16,7 +16,7 @@ import # Routines for mocking blocks # --------------------------------------------------------------- -# https://github.com/ethereum/consensus-specs/blob/v1.1.1/tests/core/pyspec/eth2spec/test/helpers/block.py#L26-L35 +# https://github.com/ethereum/consensus-specs/blob/v1.1.3/tests/core/pyspec/eth2spec/test/helpers/block.py#L26-L35 func apply_randao_reveal( state: SomeBeaconState, blck: var (phase0.SignedBeaconBlock | altair.SignedBeaconBlock | @@ -49,7 +49,7 @@ func sign_block( blck.root, privkey).toValidatorSig() -# https://github.com/ethereum/consensus-specs/blob/v1.1.1/tests/core/pyspec/eth2spec/test/helpers/execution_payload.py#L1-L31 +# https://github.com/ethereum/consensus-specs/blob/v1.1.3/tests/core/pyspec/eth2spec/test/helpers/execution_payload.py#L1-L31 func build_empty_execution_payload( state: merge.BeaconState): ExecutionPayload = ## Assuming a pre-state of the same slot, build a valid ExecutionPayload