2022-06-19 05:57:52 +00:00
|
|
|
# beacon_chain
|
2024-01-06 14:26:56 +00:00
|
|
|
# Copyright (c) 2021-2024 Status Research & Development GmbH
|
2022-06-19 05:57:52 +00:00
|
|
|
# Licensed and distributed under either of
|
|
|
|
# * 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).
|
|
|
|
# at your option. This file may not be copied, modified, or distributed except according to those terms.
|
|
|
|
|
2023-01-20 14:14:37 +00:00
|
|
|
{.push raises: [].}
|
2022-06-19 05:57:52 +00:00
|
|
|
|
2022-01-11 10:01:54 +00:00
|
|
|
import
|
|
|
|
../spec/beacon_time
|
|
|
|
|
|
|
|
export beacon_time
|
2021-11-30 01:20:21 +00:00
|
|
|
|
|
|
|
const
|
2022-01-11 10:01:54 +00:00
|
|
|
MaxEpoch* = epoch(FAR_FUTURE_SLOT)
|
2021-11-30 01:20:21 +00:00
|
|
|
|
|
|
|
BlockValidationError* =
|
|
|
|
"The block failed validation, but was successfully broadcast anyway. It " &
|
|
|
|
"was not integrated into the beacon node's database."
|
|
|
|
BlockValidationSuccess* =
|
|
|
|
"The block was validated successfully and has been broadcast"
|
|
|
|
BeaconNodeInSyncError* =
|
|
|
|
"Beacon node is currently syncing and not serving request on that endpoint"
|
|
|
|
BlockNotFoundError* =
|
|
|
|
"Block header/data has not been found"
|
2024-09-18 23:34:32 +00:00
|
|
|
BlockParentUnknownError* =
|
|
|
|
"Block parent unknown"
|
|
|
|
BlockOlderThanParentError* =
|
|
|
|
"Block older than parent block"
|
|
|
|
BlockInvalidError* =
|
|
|
|
"Invalid block"
|
2021-11-30 01:20:21 +00:00
|
|
|
EmptyRequestBodyError* =
|
2023-11-29 12:05:03 +00:00
|
|
|
"Empty request body"
|
|
|
|
InvalidRequestBodyError* =
|
|
|
|
"Invalid request body"
|
2021-11-30 01:20:21 +00:00
|
|
|
InvalidBlockObjectError* =
|
|
|
|
"Unable to decode block object(s)"
|
|
|
|
InvalidAttestationObjectError* =
|
|
|
|
"Unable to decode attestation object(s)"
|
|
|
|
AttestationValidationError* =
|
|
|
|
"Some errors happened while validating attestation(s)"
|
|
|
|
AttestationValidationSuccess* =
|
2023-01-19 22:00:40 +00:00
|
|
|
"Attestation object(s) was broadcast"
|
2021-11-30 01:20:21 +00:00
|
|
|
InvalidAttesterSlashingObjectError* =
|
|
|
|
"Unable to decode attester slashing object(s)"
|
|
|
|
AttesterSlashingValidationError* =
|
|
|
|
"Invalid attester slashing, it will never pass validation so it's rejected"
|
|
|
|
AttesterSlashingValidationSuccess* =
|
2023-01-19 22:00:40 +00:00
|
|
|
"Attester slashing object was broadcast"
|
2021-11-30 01:20:21 +00:00
|
|
|
InvalidProposerSlashingObjectError* =
|
|
|
|
"Unable to decode proposer slashing object(s)"
|
|
|
|
ProposerSlashingValidationError* =
|
|
|
|
"Invalid proposer slashing, it will never pass validation so it's rejected"
|
|
|
|
ProposerSlashingValidationSuccess* =
|
2023-01-19 22:00:40 +00:00
|
|
|
"Proposer slashing object was broadcast"
|
2021-11-30 01:20:21 +00:00
|
|
|
InvalidVoluntaryExitObjectError* =
|
|
|
|
"Unable to decode voluntary exit object(s)"
|
2022-07-13 14:45:04 +00:00
|
|
|
InvalidFeeRecipientRequestError* =
|
|
|
|
"Bad request. Request was malformed and could not be processed"
|
2023-02-15 15:10:31 +00:00
|
|
|
InvalidGasLimitRequestError* =
|
|
|
|
"Bad request. Request was malformed and could not be processed"
|
2024-03-14 03:44:00 +00:00
|
|
|
InvalidGraffitiRequestError* =
|
|
|
|
"Bad request. Request was malformed and could not be processed"
|
2021-11-30 01:20:21 +00:00
|
|
|
VoluntaryExitValidationError* =
|
|
|
|
"Invalid voluntary exit, it will never pass validation so it's rejected"
|
|
|
|
VoluntaryExitValidationSuccess* =
|
2023-01-19 22:00:40 +00:00
|
|
|
"Voluntary exit object(s) was broadcast"
|
2021-11-30 01:20:21 +00:00
|
|
|
InvalidAggregateAndProofObjectError* =
|
|
|
|
"Unable to decode aggregate and proof object(s)"
|
|
|
|
AggregateAndProofValidationError* =
|
|
|
|
"Invalid aggregate and proof, it will never pass validation so it's " &
|
|
|
|
"rejected"
|
|
|
|
AggregateAndProofValidationSuccess* =
|
2023-01-19 22:00:40 +00:00
|
|
|
"Aggregate and proof object(s) was broadcast"
|
2021-11-30 01:20:21 +00:00
|
|
|
BeaconCommitteeSubscriptionSuccess* =
|
|
|
|
"Beacon node processed committee subscription request(s)"
|
|
|
|
SyncCommitteeSubscriptionSuccess* =
|
|
|
|
"Beacon node processed sync committee subscription request(s)"
|
|
|
|
InvalidParentRootValueError* =
|
|
|
|
"Invalid parent root value"
|
|
|
|
MissingSlotValueError* =
|
|
|
|
"Missing `slot` value"
|
|
|
|
InvalidSlotValueError* =
|
|
|
|
"Invalid slot value"
|
|
|
|
MissingCommitteeIndexValueError* =
|
|
|
|
"Missing `committee_index` value"
|
|
|
|
InvalidCommitteeIndexValueError* =
|
|
|
|
"Invalid committee index value"
|
|
|
|
MissingAttestationDataRootValueError* =
|
|
|
|
"Missing `attestation_data_root` value"
|
|
|
|
InvalidAttestationDataRootValueError* =
|
|
|
|
"Invalid attestation data root value"
|
|
|
|
UnableToGetAggregatedAttestationError* =
|
|
|
|
"Unable to retrieve an aggregated attestation"
|
|
|
|
MissingRandaoRevealValue* =
|
|
|
|
"Missing `randao_reveal` value"
|
|
|
|
InvalidRandaoRevealValue* =
|
|
|
|
"Invalid randao reveal value"
|
2022-09-21 07:38:08 +00:00
|
|
|
InvalidSkipRandaoVerificationValue* =
|
|
|
|
"Invalid skip_randao_verification value"
|
2022-01-05 15:42:29 +00:00
|
|
|
InvalidGraffitiBytesValue* =
|
2021-11-30 01:20:21 +00:00
|
|
|
"Invalid graffiti bytes value"
|
|
|
|
InvalidEpochValueError* =
|
|
|
|
"Invalid epoch value"
|
|
|
|
EpochFromFutureError* =
|
|
|
|
"Epoch value is far from the future"
|
|
|
|
InvalidStateIdValueError* =
|
|
|
|
"Invalid state identifier value"
|
|
|
|
InvalidBlockIdValueError* =
|
|
|
|
"Invalid block identifier value"
|
|
|
|
InvalidValidatorIdValueError* =
|
2023-11-29 12:05:03 +00:00
|
|
|
"Invalid validator identifier value(s)"
|
|
|
|
NonUniqueValidatorIdError* =
|
|
|
|
"Non-unique validator identifier value(s)"
|
2021-11-30 01:20:21 +00:00
|
|
|
MaximumNumberOfValidatorIdsError* =
|
|
|
|
"Maximum number of validator identifier values exceeded"
|
|
|
|
InvalidValidatorStatusValueError* =
|
|
|
|
"Invalid validator's status value error"
|
|
|
|
InvalidValidatorIndexValueError* =
|
|
|
|
"Invalid validator's index value(s)"
|
|
|
|
EmptyValidatorIndexArrayError* =
|
|
|
|
"Empty validator's index array"
|
2022-10-14 12:19:17 +00:00
|
|
|
DuplicateValidatorIndexArrayError* =
|
|
|
|
"Duplicate validator index found in array"
|
2021-11-30 01:20:21 +00:00
|
|
|
InvalidSubscriptionRequestValueError* =
|
|
|
|
"Invalid subscription request object(s)"
|
|
|
|
ValidatorNotFoundError* =
|
|
|
|
"Could not find validator"
|
2023-06-14 06:46:01 +00:00
|
|
|
ValidatorIndexMissingError* =
|
|
|
|
"Validator missing index value"
|
2021-11-30 01:20:21 +00:00
|
|
|
ValidatorStatusNotFoundError* =
|
|
|
|
"Could not obtain validator's status"
|
|
|
|
TooHighValidatorIndexValueError* =
|
|
|
|
"Validator index exceeds maximum number of validators allowed"
|
|
|
|
UnsupportedValidatorIndexValueError* =
|
|
|
|
"Validator index exceeds maximum supported number of validators"
|
|
|
|
StateNotFoundError* =
|
|
|
|
"Could not get requested state"
|
|
|
|
SlotNotInNextWallSlotEpochError* =
|
|
|
|
"Requested slot not in next wall-slot epoch"
|
|
|
|
SlotFromThePastError* =
|
|
|
|
"Requested slot from the past"
|
|
|
|
SlotFromTheIncorrectForkError* =
|
|
|
|
"Requested slot is from incorrect fork"
|
|
|
|
EpochFromTheIncorrectForkError* =
|
|
|
|
"Requested epoch is from incorrect fork"
|
|
|
|
ProposerNotFoundError* =
|
|
|
|
"Could not find proposer for the head and slot"
|
|
|
|
EpochOverflowValueError* =
|
|
|
|
"Requesting epoch for which slot would overflow"
|
|
|
|
InvalidPeerStateValueError* =
|
|
|
|
"Invalid peer's state value(s) error"
|
|
|
|
InvalidPeerDirectionValueError* =
|
|
|
|
"Invalid peer's direction value(s) error"
|
|
|
|
InvalidPeerIdValueError* =
|
|
|
|
"Invalid peer's id value(s) error"
|
|
|
|
PeerNotFoundError* =
|
|
|
|
"Peer not found"
|
|
|
|
InvalidLogLevelValueError* =
|
|
|
|
"Invalid log level value error"
|
|
|
|
ContentNotAcceptableError* =
|
2022-10-03 21:44:08 +00:00
|
|
|
"Accepted media type not supported"
|
2021-11-30 01:20:21 +00:00
|
|
|
InvalidAcceptError* =
|
|
|
|
"Incorrect accept response type"
|
|
|
|
MissingSubCommitteeIndexValueError* =
|
|
|
|
"Missing `subcommittee_index` value"
|
|
|
|
InvalidSubCommitteeIndexValueError* =
|
|
|
|
"Invalid `subcommittee_index` value"
|
|
|
|
MissingBeaconBlockRootValueError* =
|
|
|
|
"Missing `beacon_block_root` value"
|
|
|
|
InvalidBeaconBlockRootValueError* =
|
|
|
|
"Invalid `beacon_block_root` value"
|
|
|
|
InvalidSyncCommitteeSignatureMessageError* =
|
|
|
|
"Unable to decode sync committee message(s)"
|
|
|
|
InvalidSyncCommitteeSubscriptionRequestError* =
|
|
|
|
"Unable to decode sync committee subscription request(s)"
|
|
|
|
InvalidContributionAndProofMessageError* =
|
|
|
|
"Unable to decode contribute and proof message(s)"
|
2022-07-25 20:12:53 +00:00
|
|
|
InvalidPrepareBeaconProposerError* =
|
|
|
|
"Unable to decode prepare beacon proposer request"
|
2021-11-30 01:20:21 +00:00
|
|
|
SyncCommitteeMessageValidationError* =
|
|
|
|
"Some errors happened while validating sync committee message(s)"
|
|
|
|
SyncCommitteeMessageValidationSuccess* =
|
2023-01-19 22:00:40 +00:00
|
|
|
"Sync committee message(s) was broadcast"
|
2021-11-30 01:20:21 +00:00
|
|
|
ContributionAndProofValidationError* =
|
|
|
|
"Some errors happened while validating contribution and proof(s)"
|
|
|
|
ContributionAndProofValidationSuccess* =
|
2023-01-19 22:00:40 +00:00
|
|
|
"Contribution and proof(s) was broadcast"
|
2021-11-30 01:20:21 +00:00
|
|
|
ProduceContributionError* =
|
|
|
|
"Unable to produce contribution using the passed parameters"
|
|
|
|
InternalServerError* =
|
|
|
|
"Internal server error"
|
2022-12-07 10:24:51 +00:00
|
|
|
NoFinalizedSnapshotAvailableError* =
|
|
|
|
"No Finalized Snapshot Available"
|
2021-11-30 01:20:21 +00:00
|
|
|
NoImplementationError* =
|
|
|
|
"Not implemented yet"
|
|
|
|
InvalidKeystoreObjects* =
|
|
|
|
"Invalid keystore objects found"
|
|
|
|
InvalidValidatorPublicKey* =
|
|
|
|
"Invalid validator's public key(s) found"
|
2022-07-13 14:45:04 +00:00
|
|
|
InvalidAuthorizationError* =
|
2021-12-22 12:37:31 +00:00
|
|
|
"Invalid Authorization Header"
|
2022-01-05 18:38:04 +00:00
|
|
|
PrunedStateError* =
|
|
|
|
"Trying to access a pruned historical state"
|
2022-06-19 05:57:52 +00:00
|
|
|
InvalidBlockRootValueError* =
|
|
|
|
"Invalid block root value"
|
|
|
|
InvalidSyncPeriodError* =
|
|
|
|
"Invalid sync committee period requested"
|
|
|
|
InvalidCountError* =
|
|
|
|
"Invalid count requested"
|
|
|
|
MissingStartPeriodValueError* =
|
|
|
|
"Missing `start_period` value"
|
|
|
|
MissingCountValueError* =
|
|
|
|
"Missing `count` value"
|
|
|
|
LCBootstrapUnavailable* =
|
|
|
|
"LC bootstrap unavailable"
|
|
|
|
LCFinUpdateUnavailable* =
|
|
|
|
"LC finality update unavailable"
|
|
|
|
LCOptUpdateUnavailable* =
|
|
|
|
"LC optimistic update unavailable"
|
2022-11-02 10:56:55 +00:00
|
|
|
DeprecatedRemovalBeaconBlocksDebugStateV1* =
|
|
|
|
"v1/beacon/blocks/{block_id} and v1/debug/beacon/states/{state_id} " &
|
2023-06-15 09:58:38 +00:00
|
|
|
"endpoints were deprecated and replaced by v2: " &
|
2022-11-02 10:56:55 +00:00
|
|
|
"https://github.com/ethereum/beacon-APIs/pull/218"
|
|
|
|
DeprecatedRemovalValidatorBlocksV1* =
|
2023-06-15 09:58:38 +00:00
|
|
|
"v1/validator/blocks/{slot} endpoint was deprecated and replaced by v2: " &
|
2022-11-02 10:56:55 +00:00
|
|
|
"https://github.com/ethereum/beacon-APIs/pull/220"
|
2023-06-15 09:58:38 +00:00
|
|
|
DeprecatedRemovalGetDebugChainHeadsV1* =
|
|
|
|
"v1/debug/beacon/heads endpoint was deprecated and replaced by v2: " &
|
|
|
|
"https://github.com/ethereum/beacon-APIs/pull/319"
|
2022-11-08 18:08:43 +00:00
|
|
|
BlockIncorrectFork* =
|
|
|
|
"Block has incorrect fork"
|
2022-11-22 11:56:05 +00:00
|
|
|
ValidatorNotActive* =
|
|
|
|
"Validator inactive"
|
2023-01-12 12:33:24 +00:00
|
|
|
BlobsOutOfRange* =
|
|
|
|
"Requested slot is outside of blobs window"
|
2024-11-27 04:04:19 +00:00
|
|
|
DataColumnsOutOfRange* =
|
|
|
|
"Requested slot is outside of data columns window"
|
2023-01-19 22:00:40 +00:00
|
|
|
InvalidBlsToExecutionChangeObjectError* =
|
|
|
|
"Unable to decode BLS to execution change object(s)"
|
|
|
|
BlsToExecutionChangeValidationError* =
|
|
|
|
"Invalid BLS to execution change; it won't validate, so it's rejected"
|
|
|
|
BlsToExecutionChangeValidationSuccess* =
|
|
|
|
"BLS to execution change was broadcast"
|
2023-03-21 23:47:36 +00:00
|
|
|
AggregationSelectionNotImplemented* =
|
|
|
|
"Attestation and sync committee aggreggation selection are not implemented"
|
2023-04-06 13:16:21 +00:00
|
|
|
MissingMerkleProofError* =
|
2023-08-07 10:06:47 +00:00
|
|
|
"Required Merkle proof is missing"
|
2023-04-06 13:16:21 +00:00
|
|
|
InvalidMerkleProofError* =
|
2023-08-07 10:06:47 +00:00
|
|
|
"The given Merkle proof is invalid"
|
2023-04-06 13:16:21 +00:00
|
|
|
InvalidMerkleProofIndexError* =
|
2023-08-07 10:06:47 +00:00
|
|
|
"The given Merkle proof index is invalid"
|
2024-02-26 08:48:07 +00:00
|
|
|
FailedToObtainForkVersionError* =
|
|
|
|
"Failed to obtain fork version"
|
|
|
|
FailedToObtainConsensusForkError* =
|
|
|
|
"Failed to obtain consensus fork information"
|
2023-06-14 06:46:01 +00:00
|
|
|
FailedToObtainForkError* =
|
|
|
|
"Failed to obtain fork information"
|
2023-06-28 13:33:07 +00:00
|
|
|
InvalidTimestampValue* =
|
|
|
|
"Invalid or missing timestamp value"
|
2023-10-29 00:06:13 +00:00
|
|
|
InvalidSidecarIndexValueError* =
|
|
|
|
"Invalid blob index"
|
2023-11-01 07:31:18 +00:00
|
|
|
InvalidBroadcastValidationType* =
|
|
|
|
"Invalid broadcast_validation type value"
|
2024-03-14 03:44:00 +00:00
|
|
|
PathNotFoundError* =
|
|
|
|
"Path not found"
|
|
|
|
FileReadError* =
|
|
|
|
"Error reading file"
|
2024-09-18 23:34:32 +00:00
|
|
|
ParentBlockMissingStateError* =
|
|
|
|
"Unable to load state for parent block, database corrupt?"
|
|
|
|
RewardOverflowError* =
|
|
|
|
"Reward value overflow"
|