mirror of
https://github.com/status-im/nimbus-eth2.git
synced 2025-02-18 09:27:05 +00:00
more spec v1.0.1 spec ref URL and copyright year updates (#2367)
This commit is contained in:
parent
e661f7d0c7
commit
5653b2e13c
@ -387,20 +387,20 @@ func verifyFinalization(node: BeaconNode, slot: Slot) =
|
|||||||
doAssert finalizedEpoch + 4 >= epoch
|
doAssert finalizedEpoch + 4 >= epoch
|
||||||
|
|
||||||
proc installAttestationSubnetHandlers(node: BeaconNode, subnets: set[uint8]) =
|
proc installAttestationSubnetHandlers(node: BeaconNode, subnets: set[uint8]) =
|
||||||
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.0/specs/phase0/p2p-interface.md#attestations-and-aggregation
|
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.1/specs/phase0/p2p-interface.md#attestations-and-aggregation
|
||||||
# nimbus won't score attestation subnets for now, we just rely on block and aggregate which are more stabe and reliable
|
# nimbus won't score attestation subnets for now, we just rely on block and aggregate which are more stabe and reliable
|
||||||
for subnet in subnets:
|
for subnet in subnets:
|
||||||
node.network.subscribe(getAttestationTopic(node.forkDigest, subnet), TopicParams.init()) # don't score attestation subnets for now
|
node.network.subscribe(getAttestationTopic(node.forkDigest, subnet), TopicParams.init()) # don't score attestation subnets for now
|
||||||
|
|
||||||
proc updateStabilitySubnetMetadata(
|
proc updateStabilitySubnetMetadata(
|
||||||
node: BeaconNode, stabilitySubnets: set[uint8]) =
|
node: BeaconNode, stabilitySubnets: set[uint8]) =
|
||||||
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.0/specs/phase0/p2p-interface.md#metadata
|
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.1/specs/phase0/p2p-interface.md#metadata
|
||||||
node.network.metadata.seq_number += 1
|
node.network.metadata.seq_number += 1
|
||||||
for subnet in 0'u8 ..< ATTESTATION_SUBNET_COUNT:
|
for subnet in 0'u8 ..< ATTESTATION_SUBNET_COUNT:
|
||||||
node.network.metadata.attnets[subnet] = (subnet in stabilitySubnets)
|
node.network.metadata.attnets[subnet] = (subnet in stabilitySubnets)
|
||||||
|
|
||||||
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.0/specs/phase0/validator.md#phase-0-attestation-subnet-stability
|
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.1/specs/phase0/validator.md#phase-0-attestation-subnet-stability
|
||||||
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.0/specs/phase0/p2p-interface.md#attestation-subnet-bitfield
|
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.1/specs/phase0/p2p-interface.md#attestation-subnet-bitfield
|
||||||
let res = node.network.discovery.updateRecord(
|
let res = node.network.discovery.updateRecord(
|
||||||
{"attnets": SSZ.encode(node.network.metadata.attnets)})
|
{"attnets": SSZ.encode(node.network.metadata.attnets)})
|
||||||
if res.isErr():
|
if res.isErr():
|
||||||
@ -431,13 +431,13 @@ proc updateSubscriptionSchedule(node: BeaconNode, epoch: Epoch) {.async.} =
|
|||||||
|
|
||||||
var cache = StateCache()
|
var cache = StateCache()
|
||||||
|
|
||||||
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.0/specs/phase0/validator.md#lookahead
|
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.1/specs/phase0/validator.md#lookahead
|
||||||
# Only subscribe when this node should aggregate; libp2p broadcasting works
|
# Only subscribe when this node should aggregate; libp2p broadcasting works
|
||||||
# on subnet topics regardless.
|
# on subnet topics regardless.
|
||||||
#
|
#
|
||||||
# Committee sizes in any given epoch vary by 1, i.e. committee sizes $n$
|
# Committee sizes in any given epoch vary by 1, i.e. committee sizes $n$
|
||||||
# $n+1$ can exist. Furthermore, according to
|
# $n+1$ can exist. Furthermore, according to
|
||||||
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.0/specs/phase0/validator.md#aggregation-selection
|
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.1/specs/phase0/validator.md#aggregation-selection
|
||||||
# is_aggregator uses `len(committee) div TARGET_AGGREGATORS_PER_COMMITTEE`
|
# is_aggregator uses `len(committee) div TARGET_AGGREGATORS_PER_COMMITTEE`
|
||||||
# to determine whether committee length/slot signature pairs aggregate the
|
# to determine whether committee length/slot signature pairs aggregate the
|
||||||
# attestations in a slot/committee, where TARGET_AGGREGATORS_PER_COMMITTEE
|
# attestations in a slot/committee, where TARGET_AGGREGATORS_PER_COMMITTEE
|
||||||
@ -521,7 +521,7 @@ proc updateSubscriptionSchedule(node: BeaconNode, epoch: Epoch) {.async.} =
|
|||||||
slot - min(slot.uint64, SUBNET_SUBSCRIPTION_LEAD_TIME_SLOTS),
|
slot - min(slot.uint64, SUBNET_SUBSCRIPTION_LEAD_TIME_SLOTS),
|
||||||
node.attestationSubnets.subscribeSlot[subnetIndex])
|
node.attestationSubnets.subscribeSlot[subnetIndex])
|
||||||
|
|
||||||
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.0/specs/phase0/validator.md#phase-0-attestation-subnet-stability
|
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.1/specs/phase0/validator.md#phase-0-attestation-subnet-stability
|
||||||
proc getStabilitySubnetLength(node: BeaconNode): uint64 =
|
proc getStabilitySubnetLength(node: BeaconNode): uint64 =
|
||||||
EPOCHS_PER_RANDOM_SUBNET_SUBSCRIPTION +
|
EPOCHS_PER_RANDOM_SUBNET_SUBSCRIPTION +
|
||||||
node.network.rng[].rand(EPOCHS_PER_RANDOM_SUBNET_SUBSCRIPTION.int).uint64
|
node.network.rng[].rand(EPOCHS_PER_RANDOM_SUBNET_SUBSCRIPTION.int).uint64
|
||||||
@ -532,7 +532,7 @@ proc updateStabilitySubnets(node: BeaconNode, slot: Slot): set[uint8] =
|
|||||||
static: doAssert ATTESTATION_SUBNET_COUNT <= high(uint8)
|
static: doAssert ATTESTATION_SUBNET_COUNT <= high(uint8)
|
||||||
let epoch = slot.epoch
|
let epoch = slot.epoch
|
||||||
|
|
||||||
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.0/specs/phase0/validator.md#phase-0-attestation-subnet-stability
|
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.1/specs/phase0/validator.md#phase-0-attestation-subnet-stability
|
||||||
for i in 0 ..< node.attestationSubnets.stabilitySubnets.len:
|
for i in 0 ..< node.attestationSubnets.stabilitySubnets.len:
|
||||||
if epoch >= node.attestationSubnets.stabilitySubnets[i].expiration:
|
if epoch >= node.attestationSubnets.stabilitySubnets[i].expiration:
|
||||||
node.attestationSubnets.stabilitySubnets[i].subnet =
|
node.attestationSubnets.stabilitySubnets[i].subnet =
|
||||||
@ -660,7 +660,7 @@ proc getInitialAttestationSubnets(node: BeaconNode): Table[uint8, Slot] =
|
|||||||
mergeAttestationSubnets(wallEpoch + 1)
|
mergeAttestationSubnets(wallEpoch + 1)
|
||||||
|
|
||||||
proc getAttestationSubnetHandlers(node: BeaconNode) =
|
proc getAttestationSubnetHandlers(node: BeaconNode) =
|
||||||
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.0/specs/phase0/validator.md#phase-0-attestation-subnet-stability
|
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.1/specs/phase0/validator.md#phase-0-attestation-subnet-stability
|
||||||
# TODO:
|
# TODO:
|
||||||
# We might want to reuse the previous stability subnet if not expired when:
|
# We might want to reuse the previous stability subnet if not expired when:
|
||||||
# - Restarting the node with a presistent netkey
|
# - Restarting the node with a presistent netkey
|
||||||
@ -1125,7 +1125,7 @@ proc installRpcHandlers(rpcServer: RpcServer, node: BeaconNode) =
|
|||||||
rpcServer.installValidatorApiHandlers(node)
|
rpcServer.installValidatorApiHandlers(node)
|
||||||
|
|
||||||
proc installMessageValidators(node: BeaconNode) =
|
proc installMessageValidators(node: BeaconNode) =
|
||||||
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.0/specs/phase0/p2p-interface.md#attestations-and-aggregation
|
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.1/specs/phase0/p2p-interface.md#attestations-and-aggregation
|
||||||
# These validators stay around the whole time, regardless of which specific
|
# These validators stay around the whole time, regardless of which specific
|
||||||
# subnets are subscribed to during any given epoch.
|
# subnets are subscribed to during any given epoch.
|
||||||
for it in 0'u64 ..< ATTESTATION_SUBNET_COUNT.uint64:
|
for it in 0'u64 ..< ATTESTATION_SUBNET_COUNT.uint64:
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# beacon_chain
|
# beacon_chain
|
||||||
# Copyright (c) 2018-2020 Status Research & Development GmbH
|
# Copyright (c) 2018-2021 Status Research & Development GmbH
|
||||||
# Licensed and distributed under either of
|
# Licensed and distributed under either of
|
||||||
# * MIT license (license terms in the root directory or at https://opensource.org/licenses/MIT).
|
# * MIT license (license terms in the root directory or at https://opensource.org/licenses/MIT).
|
||||||
# * Apache v2 license (license terms in the root directory or at https://www.apache.org/licenses/LICENSE-2.0).
|
# * Apache v2 license (license terms in the root directory or at https://www.apache.org/licenses/LICENSE-2.0).
|
||||||
@ -16,7 +16,7 @@ import
|
|||||||
const
|
const
|
||||||
# Misc
|
# Misc
|
||||||
# ---------------------------------------------------------------
|
# ---------------------------------------------------------------
|
||||||
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.0/configs/mainnet/phase0.yaml#L5
|
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.1/configs/mainnet/phase0.yaml#L5
|
||||||
CONFIG_NAME* = "mainnet"
|
CONFIG_NAME* = "mainnet"
|
||||||
|
|
||||||
MAX_COMMITTEES_PER_SLOT* {.intdefine.}: uint64 = 64
|
MAX_COMMITTEES_PER_SLOT* {.intdefine.}: uint64 = 64
|
||||||
@ -47,7 +47,7 @@ const
|
|||||||
|
|
||||||
# Gwei values
|
# Gwei values
|
||||||
# ---------------------------------------------------------------
|
# ---------------------------------------------------------------
|
||||||
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.0/configs/mainnet/phase0.yaml#L60
|
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.1/configs/mainnet/phase0.yaml#L60
|
||||||
|
|
||||||
MIN_DEPOSIT_AMOUNT*: uint64 = 2'u64^0 * 10'u64^9 ##\
|
MIN_DEPOSIT_AMOUNT*: uint64 = 2'u64^0 * 10'u64^9 ##\
|
||||||
## Minimum amounth of ETH that can be deposited in one call - deposits can
|
## Minimum amounth of ETH that can be deposited in one call - deposits can
|
||||||
@ -64,14 +64,14 @@ const
|
|||||||
|
|
||||||
# Initial values
|
# Initial values
|
||||||
# ---------------------------------------------------------------
|
# ---------------------------------------------------------------
|
||||||
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.0/configs/mainnet/phase0.yaml#L72
|
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.1/configs/mainnet/phase0.yaml#L72
|
||||||
# GENESIS_FORK_VERSION is a runtime preset
|
# GENESIS_FORK_VERSION is a runtime preset
|
||||||
|
|
||||||
BLS_WITHDRAWAL_PREFIX*: byte = 0
|
BLS_WITHDRAWAL_PREFIX*: byte = 0
|
||||||
|
|
||||||
# Time parameters
|
# Time parameters
|
||||||
# ---------------------------------------------------------------
|
# ---------------------------------------------------------------
|
||||||
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.0/configs/mainnet/phase0.yaml#L79
|
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.1/configs/mainnet/phase0.yaml#L79
|
||||||
|
|
||||||
# GENESIS_DELAY is a runtime preset
|
# GENESIS_DELAY is a runtime preset
|
||||||
|
|
||||||
@ -118,7 +118,7 @@ const
|
|||||||
|
|
||||||
# State vector lengths
|
# State vector lengths
|
||||||
# ---------------------------------------------------------------
|
# ---------------------------------------------------------------
|
||||||
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.0/configs/mainnet/phase0.yaml#L105
|
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.1/configs/mainnet/phase0.yaml#L105
|
||||||
|
|
||||||
EPOCHS_PER_HISTORICAL_VECTOR*: uint64 = 65536 ##\
|
EPOCHS_PER_HISTORICAL_VECTOR*: uint64 = 65536 ##\
|
||||||
## epochs (~0.8 years)
|
## epochs (~0.8 years)
|
||||||
@ -133,7 +133,7 @@ const
|
|||||||
|
|
||||||
# Reward and penalty quotients
|
# Reward and penalty quotients
|
||||||
# ---------------------------------------------------------------
|
# ---------------------------------------------------------------
|
||||||
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.0/configs/mainnet/phase0.yaml#L117
|
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.1/configs/mainnet/phase0.yaml#L117
|
||||||
BASE_REWARD_FACTOR*: uint64 = 2'u64^6
|
BASE_REWARD_FACTOR*: uint64 = 2'u64^6
|
||||||
WHISTLEBLOWER_REWARD_QUOTIENT*: uint64 = 2'u64^9
|
WHISTLEBLOWER_REWARD_QUOTIENT*: uint64 = 2'u64^9
|
||||||
PROPOSER_REWARD_QUOTIENT*: uint64 = 2'u64^3
|
PROPOSER_REWARD_QUOTIENT*: uint64 = 2'u64^3
|
||||||
@ -143,7 +143,7 @@ const
|
|||||||
|
|
||||||
# Max operations per block
|
# Max operations per block
|
||||||
# ---------------------------------------------------------------
|
# ---------------------------------------------------------------
|
||||||
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.0/configs/mainnet/phase0.yaml#L133
|
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.1/configs/mainnet/phase0.yaml#L133
|
||||||
MAX_PROPOSER_SLASHINGS*: uint64 = 2'u64 ^ 4
|
MAX_PROPOSER_SLASHINGS*: uint64 = 2'u64 ^ 4
|
||||||
MAX_ATTESTER_SLASHINGS*: uint64 = 2'u64 ^ 1
|
MAX_ATTESTER_SLASHINGS*: uint64 = 2'u64 ^ 1
|
||||||
MAX_ATTESTATIONS*: uint64 = 2'u64 ^ 7
|
MAX_ATTESTATIONS*: uint64 = 2'u64 ^ 7
|
||||||
@ -152,12 +152,12 @@ const
|
|||||||
|
|
||||||
# Fork choice
|
# Fork choice
|
||||||
# ---------------------------------------------------------------
|
# ---------------------------------------------------------------
|
||||||
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.0/configs/mainnet/phase0.yaml#L31
|
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.1/configs/mainnet/phase0.yaml#L31
|
||||||
SAFE_SLOTS_TO_UPDATE_JUSTIFIED*: uint64 = 8 # 96 seconds
|
SAFE_SLOTS_TO_UPDATE_JUSTIFIED*: uint64 = 8 # 96 seconds
|
||||||
|
|
||||||
# Validators
|
# Validators
|
||||||
# ---------------------------------------------------------------
|
# ---------------------------------------------------------------
|
||||||
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.0/configs/mainnet/phase0.yaml#L37
|
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.1/configs/mainnet/phase0.yaml#L37
|
||||||
|
|
||||||
# ETH1_FOLLOW_DISTANCE is a runtime preset
|
# ETH1_FOLLOW_DISTANCE is a runtime preset
|
||||||
|
|
||||||
@ -168,7 +168,7 @@ const
|
|||||||
|
|
||||||
# Deposit contract
|
# Deposit contract
|
||||||
# ---------------------------------------------------------------
|
# ---------------------------------------------------------------
|
||||||
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.0/configs/mainnet/phase0.yaml#L51
|
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.1/configs/mainnet/phase0.yaml#L51
|
||||||
|
|
||||||
# Ethereum PoW Mainnet
|
# Ethereum PoW Mainnet
|
||||||
# TODO(zah) These violate the spec (this is a temporary change to allow `make medalla` to work)
|
# TODO(zah) These violate the spec (this is a temporary change to allow `make medalla` to work)
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# beacon_chain
|
# beacon_chain
|
||||||
# Copyright (c) 2018-2020 Status Research & Development GmbH
|
# Copyright (c) 2018-2021 Status Research & Development GmbH
|
||||||
# Licensed and distributed under either of
|
# Licensed and distributed under either of
|
||||||
# * MIT license (license terms in the root directory or at https://opensource.org/licenses/MIT).
|
# * MIT license (license terms in the root directory or at https://opensource.org/licenses/MIT).
|
||||||
# * Apache v2 license (license terms in the root directory or at https://www.apache.org/licenses/LICENSE-2.0).
|
# * Apache v2 license (license terms in the root directory or at https://www.apache.org/licenses/LICENSE-2.0).
|
||||||
@ -16,7 +16,7 @@ import
|
|||||||
const
|
const
|
||||||
# Misc
|
# Misc
|
||||||
# ---------------------------------------------------------------
|
# ---------------------------------------------------------------
|
||||||
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.0/configs/minimal/phase0.yaml#L5
|
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.1/configs/minimal/phase0.yaml#L5
|
||||||
CONFIG_NAME* = "minimal"
|
CONFIG_NAME* = "minimal"
|
||||||
|
|
||||||
# Changed
|
# Changed
|
||||||
@ -40,7 +40,7 @@ const
|
|||||||
|
|
||||||
# Gwei values
|
# Gwei values
|
||||||
# ---------------------------------------------------------------
|
# ---------------------------------------------------------------
|
||||||
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.0/configs/minimal/phase0.yaml#L61
|
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.1/configs/minimal/phase0.yaml#L61
|
||||||
|
|
||||||
# Unchanged
|
# Unchanged
|
||||||
MIN_DEPOSIT_AMOUNT*: uint64 = 2'u64^0 * 10'u64^9
|
MIN_DEPOSIT_AMOUNT*: uint64 = 2'u64^0 * 10'u64^9
|
||||||
@ -50,7 +50,7 @@ const
|
|||||||
|
|
||||||
# Initial values
|
# Initial values
|
||||||
# ---------------------------------------------------------------
|
# ---------------------------------------------------------------
|
||||||
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.0/configs/minimal/phase0.yaml#L73
|
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.1/configs/minimal/phase0.yaml#L73
|
||||||
|
|
||||||
# GENESIS_FORK_VERSION is a runtime preset
|
# GENESIS_FORK_VERSION is a runtime preset
|
||||||
|
|
||||||
@ -58,7 +58,7 @@ const
|
|||||||
|
|
||||||
# Time parameters
|
# Time parameters
|
||||||
# ---------------------------------------------------------------
|
# ---------------------------------------------------------------
|
||||||
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.0/configs/minimal/phase0.yaml#L80
|
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.1/configs/minimal/phase0.yaml#L80
|
||||||
# Changed: Faster to spin up testnets, but does not give validator
|
# Changed: Faster to spin up testnets, but does not give validator
|
||||||
# reasonable warning time for genesis
|
# reasonable warning time for genesis
|
||||||
|
|
||||||
@ -91,7 +91,7 @@ const
|
|||||||
|
|
||||||
# State vector lengths
|
# State vector lengths
|
||||||
# ---------------------------------------------------------------
|
# ---------------------------------------------------------------
|
||||||
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.0/configs/minimal/phase0.yaml#L106
|
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.1/configs/minimal/phase0.yaml#L106
|
||||||
|
|
||||||
# Changed
|
# Changed
|
||||||
EPOCHS_PER_HISTORICAL_VECTOR*: uint64 = 64
|
EPOCHS_PER_HISTORICAL_VECTOR*: uint64 = 64
|
||||||
@ -103,7 +103,7 @@ const
|
|||||||
|
|
||||||
# Reward and penalty quotients
|
# Reward and penalty quotients
|
||||||
# ---------------------------------------------------------------
|
# ---------------------------------------------------------------
|
||||||
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.0/configs/minimal/phase0.yaml#L118
|
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.1/configs/minimal/phase0.yaml#L118
|
||||||
|
|
||||||
BASE_REWARD_FACTOR*: uint64 = 2'u64^6
|
BASE_REWARD_FACTOR*: uint64 = 2'u64^6
|
||||||
WHISTLEBLOWER_REWARD_QUOTIENT*: uint64 = 2'u64^9
|
WHISTLEBLOWER_REWARD_QUOTIENT*: uint64 = 2'u64^9
|
||||||
@ -114,7 +114,7 @@ const
|
|||||||
|
|
||||||
# Max operations per block
|
# Max operations per block
|
||||||
# ---------------------------------------------------------------
|
# ---------------------------------------------------------------
|
||||||
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.0/configs/minimal/phase0.yaml#L134
|
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.1/configs/minimal/phase0.yaml#L134
|
||||||
|
|
||||||
MAX_PROPOSER_SLASHINGS*: uint64 = 2'u64 ^ 4
|
MAX_PROPOSER_SLASHINGS*: uint64 = 2'u64 ^ 4
|
||||||
MAX_ATTESTER_SLASHINGS*: uint64 = 2'u64 ^ 1
|
MAX_ATTESTER_SLASHINGS*: uint64 = 2'u64 ^ 1
|
||||||
@ -124,7 +124,7 @@ const
|
|||||||
|
|
||||||
# Deposit contract
|
# Deposit contract
|
||||||
# ---------------------------------------------------------------
|
# ---------------------------------------------------------------
|
||||||
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.0/configs/minimal/phase0.yaml#L52
|
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.1/configs/minimal/phase0.yaml#L52
|
||||||
|
|
||||||
# Ethereum Goerli testnet
|
# Ethereum Goerli testnet
|
||||||
DEPOSIT_CHAIN_ID* = 5
|
DEPOSIT_CHAIN_ID* = 5
|
||||||
@ -132,14 +132,14 @@ const
|
|||||||
|
|
||||||
# Fork choice
|
# Fork choice
|
||||||
# ---------------------------------------------------------------
|
# ---------------------------------------------------------------
|
||||||
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.0/configs/minimal/phase0.yaml#L32
|
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.1/configs/minimal/phase0.yaml#L32
|
||||||
|
|
||||||
# Changed
|
# Changed
|
||||||
SAFE_SLOTS_TO_UPDATE_JUSTIFIED*: uint64 = 2
|
SAFE_SLOTS_TO_UPDATE_JUSTIFIED*: uint64 = 2
|
||||||
|
|
||||||
# Validators
|
# Validators
|
||||||
# ---------------------------------------------------------------
|
# ---------------------------------------------------------------
|
||||||
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.0/configs/minimal/phase0.yaml#L38
|
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.1/configs/minimal/phase0.yaml#L38
|
||||||
|
|
||||||
# ETH1_FOLLOW_DISTANCE is a runtime preset
|
# ETH1_FOLLOW_DISTANCE is a runtime preset
|
||||||
|
|
||||||
|
@ -399,7 +399,7 @@ proc handleAttestations(node: BeaconNode, head: BlockRef, slot: Slot) =
|
|||||||
# We need to run attestations exactly for the slot that we're attesting to.
|
# We need to run attestations exactly for the slot that we're attesting to.
|
||||||
# In case blocks went missing, this means advancing past the latest block
|
# In case blocks went missing, this means advancing past the latest block
|
||||||
# using empty slots as fillers.
|
# using empty slots as fillers.
|
||||||
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.0/specs/phase0/validator.md#validator-assignments
|
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.1/specs/phase0/validator.md#validator-assignments
|
||||||
let
|
let
|
||||||
epochRef = node.chainDag.getEpochRef(
|
epochRef = node.chainDag.getEpochRef(
|
||||||
attestationHead.blck, slot.compute_epoch_at_slot())
|
attestationHead.blck, slot.compute_epoch_at_slot())
|
||||||
@ -711,7 +711,7 @@ proc handleValidatorDuties*(node: BeaconNode, lastSlot, slot: Slot) {.async.} =
|
|||||||
|
|
||||||
updateValidatorMetrics(node) # the important stuff is done, update the vanity numbers
|
updateValidatorMetrics(node) # the important stuff is done, update the vanity numbers
|
||||||
|
|
||||||
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.0/specs/phase0/validator.md#broadcast-aggregate
|
# https://github.com/ethereum/eth2.0-specs/blob/v1.0.1/specs/phase0/validator.md#broadcast-aggregate
|
||||||
# If the validator is selected to aggregate (is_aggregator), then they
|
# If the validator is selected to aggregate (is_aggregator), then they
|
||||||
# broadcast their best aggregate as a SignedAggregateAndProof to the global
|
# broadcast their best aggregate as a SignedAggregateAndProof to the global
|
||||||
# aggregate channel (beacon_aggregate_and_proof) two-thirds of the way
|
# aggregate channel (beacon_aggregate_and_proof) two-thirds of the way
|
||||||
|
Loading…
x
Reference in New Issue
Block a user