2019-08-12 19:33:07 +00:00
|
|
|
package kv
|
|
|
|
|
|
|
|
// The schema will define how to store and retrieve data from the db.
|
|
|
|
// we can prefix or suffix certain values such as `block` with attributes
|
|
|
|
// for prefix-wide scans across the underlying BoltDB buckets when filtering data.
|
|
|
|
// For example, we might store attestations as shard + attestation_root -> attestation, making
|
|
|
|
// it easy to scan for keys that have a certain shard number as a prefix and return those
|
|
|
|
// corresponding attestations.
|
|
|
|
var (
|
2024-02-21 19:08:13 +00:00
|
|
|
blocksBucket = []byte("blocks")
|
|
|
|
stateBucket = []byte("state")
|
|
|
|
stateSummaryBucket = []byte("state-summary")
|
|
|
|
chainMetadataBucket = []byte("chain-metadata")
|
|
|
|
checkpointBucket = []byte("check-point")
|
|
|
|
powchainBucket = []byte("powchain")
|
|
|
|
stateValidatorsBucket = []byte("state-validators")
|
|
|
|
feeRecipientBucket = []byte("fee-recipient")
|
|
|
|
registrationBucket = []byte("registration")
|
2020-07-18 18:05:04 +00:00
|
|
|
|
|
|
|
// Deprecated: This bucket was migrated in PR 6461. Do not use, except for migrations.
|
|
|
|
slotsHasObjectBucket = []byte("slots-has-objects")
|
|
|
|
// Deprecated: This bucket was migrated in PR 6461. Do not use, except for migrations.
|
|
|
|
archivedRootBucket = []byte("archived-index-root")
|
2019-08-13 16:49:27 +00:00
|
|
|
|
2019-08-20 00:34:53 +00:00
|
|
|
// Key indices buckets.
|
2024-02-21 19:08:13 +00:00
|
|
|
blockParentRootIndicesBucket = []byte("block-parent-root-indices")
|
|
|
|
blockSlotIndicesBucket = []byte("block-slot-indices")
|
|
|
|
stateSlotIndicesBucket = []byte("state-slot-indices")
|
|
|
|
finalizedBlockRootsIndexBucket = []byte("finalized-block-roots-index")
|
|
|
|
blockRootValidatorHashesBucket = []byte("block-root-validator-hashes")
|
2019-08-16 00:57:43 +00:00
|
|
|
|
2019-08-21 21:11:50 +00:00
|
|
|
// Specific item keys.
|
2022-03-15 20:52:59 +00:00
|
|
|
headBlockRootKey = []byte("head-root")
|
|
|
|
genesisBlockRootKey = []byte("genesis-root")
|
|
|
|
depositContractAddressKey = []byte("deposit-contract")
|
|
|
|
justifiedCheckpointKey = []byte("justified-checkpoint")
|
|
|
|
finalizedCheckpointKey = []byte("finalized-checkpoint")
|
|
|
|
powchainDataKey = []byte("powchain-data")
|
|
|
|
lastValidatedCheckpointKey = []byte("last-validated-checkpoint")
|
2021-12-07 18:51:05 +00:00
|
|
|
|
|
|
|
// Below keys are used to identify objects are to be fork compatible.
|
|
|
|
// Objects that are only compatible with specific forks should be prefixed with such keys.
|
2023-03-01 00:07:23 +00:00
|
|
|
altairKey = []byte("altair")
|
|
|
|
bellatrixKey = []byte("merge")
|
|
|
|
bellatrixBlindKey = []byte("blind-bellatrix")
|
|
|
|
capellaKey = []byte("capella")
|
|
|
|
capellaBlindKey = []byte("blind-capella")
|
|
|
|
saveBlindedBeaconBlocksKey = []byte("save-blinded-beacon-blocks")
|
2023-05-11 17:20:47 +00:00
|
|
|
denebKey = []byte("deneb")
|
|
|
|
denebBlindKey = []byte("blind-deneb")
|
|
|
|
|
2021-12-09 22:23:00 +00:00
|
|
|
// block root included in the beacon state used by weak subjectivity initial sync
|
2022-03-28 21:01:55 +00:00
|
|
|
originCheckpointBlockRootKey = []byte("origin-checkpoint-block-root")
|
2024-01-23 07:54:30 +00:00
|
|
|
// tracking data about an ongoing backfill
|
|
|
|
backfillStatusKey = []byte("backfill-status")
|
2020-07-18 18:05:04 +00:00
|
|
|
|
|
|
|
// Deprecated: This index key was migrated in PR 6461. Do not use, except for migrations.
|
|
|
|
lastArchivedIndexKey = []byte("last-archived")
|
|
|
|
// Deprecated: This index key was migrated in PR 6461. Do not use, except for migrations.
|
|
|
|
savedStateSlotsKey = []byte("saved-state-slots")
|
2019-11-27 06:32:56 +00:00
|
|
|
|
2020-07-18 18:05:04 +00:00
|
|
|
// Migrations
|
|
|
|
migrationsBucket = []byte("migrations")
|
2019-08-12 19:33:07 +00:00
|
|
|
)
|