ceremonyclient/node/store/constants.go
Cassandra Heart c797d482f9
v2.1.0.5 (#457)
* wip: conversion of hotstuff from flow into Q-oriented model

* bulk of tests

* remaining non-integration tests

* add integration test, adjust log interface, small tweaks

* further adjustments, restore full pacemaker shape

* add component lifecycle management+supervisor

* further refinements

* resolve timeout hanging

* mostly finalized state for consensus

* bulk of engine swap out

* lifecycle-ify most types

* wiring nearly complete, missing needed hooks for proposals

* plugged in, vetting message validation paths

* global consensus, plugged in and verified

* app shard now wired in too

* do not decode empty keys.yml (#456)

* remove obsolete engine.maxFrames config parameter (#454)

* default to Info log level unless debug is enabled (#453)

* respect config's  "logging" section params, remove obsolete single-file logging (#452)

* Trivial code cleanup aiming to reduce Go compiler warnings (#451)

* simplify range traversal

* simplify channel read for single select case

* delete rand.Seed() deprecated in Go 1.20 and no-op as of Go 1.24

* simplify range traversal

* simplify channel read for single select case

* remove redundant type from array

* simplify range traversal

* simplify channel read for single select case

* RC slate

* finalize 2.1.0.5

* Update comments in StrictMonotonicCounter

Fix comment formatting and clarify description.

---------

Co-authored-by: Black Swan <3999712+blacks1ne@users.noreply.github.com>
2025-11-11 05:00:17 -06:00

171 lines
5.2 KiB
Go

package store
// Store prefixes:
const (
CLOCK_FRAME = 0x00
PROVING_KEY = 0x01
PROVING_KEY_STAGED = 0x02
KEY_BUNDLE = 0x03
DATA_PROOF = 0x04
DATA_TIME_PROOF = 0x05
PEERSTORE = 0x06
COIN = 0x07
PROOF = 0x08
HYPERGRAPH_SHARD = 0x09
SHARD = 0x0A
INBOX = 0x0B
CONSENSUS = 0x0C
MIGRATION = 0xF0
WORKER = 0xFF
)
// Clock store indexes:
const (
CLOCK_GLOBAL_FRAME = 0x00
CLOCK_SHARD_FRAME_SHARD = 0x01
CLOCK_SHARD_FRAME_CANDIDATE_SHARD = 0x02
CLOCK_SHARD_FRAME_FRECENCY_SHARD = 0x03
CLOCK_SHARD_FRAME_DISTANCE_SHARD = 0x04
CLOCK_COMPACTION_SHARD = 0x05
CLOCK_SHARD_FRAME_SENIORITY_SHARD = 0x06
CLOCK_SHARD_FRAME_STATE_TREE = 0x07
CLOCK_GLOBAL_FRAME_REQUEST = 0x08
CLOCK_GLOBAL_CERTIFIED_STATE = 0x09
CLOCK_SHARD_CERTIFIED_STATE = 0x0A
CLOCK_QUORUM_CERTIFICATE = 0x0B
CLOCK_TIMEOUT_CERTIFICATE = 0x0C
CLOCK_PROPOSAL_VOTE = 0x0D
CLOCK_TIMEOUT_VOTE = 0x0E
CLOCK_GLOBAL_FRAME_INDEX_EARLIEST = 0x10 | CLOCK_GLOBAL_FRAME
CLOCK_GLOBAL_FRAME_INDEX_LATEST = 0x20 | CLOCK_GLOBAL_FRAME
CLOCK_GLOBAL_FRAME_INDEX_PARENT = 0x30 | CLOCK_GLOBAL_FRAME
CLOCK_SHARD_FRAME_INDEX_EARLIEST = 0x10 | CLOCK_SHARD_FRAME_SHARD
CLOCK_SHARD_FRAME_INDEX_LATEST = 0x20 | CLOCK_SHARD_FRAME_SHARD
CLOCK_SHARD_FRAME_INDEX_PARENT = 0x30 | CLOCK_SHARD_FRAME_SHARD
CLOCK_GLOBAL_CERTIFIED_STATE_INDEX_EARLIEST = 0x10 |
CLOCK_GLOBAL_CERTIFIED_STATE
CLOCK_GLOBAL_CERTIFIED_STATE_INDEX_LATEST = 0x20 |
CLOCK_GLOBAL_CERTIFIED_STATE
CLOCK_SHARD_CERTIFIED_STATE_INDEX_EARLIEST = 0x10 |
CLOCK_SHARD_CERTIFIED_STATE
CLOCK_SHARD_CERTIFIED_STATE_INDEX_LATEST = 0x20 |
CLOCK_SHARD_CERTIFIED_STATE
CLOCK_QUORUM_CERTIFICATE_INDEX_EARLIEST = 0x10 |
CLOCK_QUORUM_CERTIFICATE
CLOCK_QUORUM_CERTIFICATE_INDEX_LATEST = 0x20 |
CLOCK_QUORUM_CERTIFICATE
CLOCK_TIMEOUT_CERTIFICATE_INDEX_EARLIEST = 0x10 |
CLOCK_TIMEOUT_CERTIFICATE
CLOCK_TIMEOUT_CERTIFICATE_INDEX_LATEST = 0x20 |
CLOCK_TIMEOUT_CERTIFICATE
CLOCK_SHARD_FRAME_CANDIDATE_INDEX_LATEST = 0x20 |
CLOCK_SHARD_FRAME_CANDIDATE_SHARD
)
// Coin store indexes:
const (
COIN_BY_ADDRESS = 0x00
COIN_BY_OWNER = 0x01
TRANSACTION_BY_ADDRESS = 0x02
TRANSACTION_BY_OWNER = 0x03
PENDING_TRANSACTION_BY_ADDRESS = 0x04
PENDING_TRANSACTION_BY_OWNER = 0x05
)
// Data proof store indexes:
const (
DATA_PROOF_METADATA = 0x00
DATA_PROOF_INCLUSION = 0x01
DATA_PROOF_SEGMENT = 0x02
DATA_TIME_PROOF_DATA = 0x00
DATA_TIME_PROOF_LATEST = 0x01
)
// Hypergraph store indexes:
const (
SHARD_COMMIT = 0x00
HYPEREDGE_ADDS = 0x01
HYPEREDGE_REMOVES = 0x11
VERTEX_ADDS_TREE_NODE = 0x02
VERTEX_REMOVES_TREE_NODE = 0x12
HYPEREDGE_ADDS_TREE_NODE = 0x03
HYPEREDGE_REMOVES_TREE_NODE = 0x13
VERTEX_ADDS_TREE_NODE_BY_PATH = 0x22
VERTEX_REMOVES_TREE_NODE_BY_PATH = 0x32
HYPEREDGE_ADDS_TREE_NODE_BY_PATH = 0x23
HYPEREDGE_REMOVES_TREE_NODE_BY_PATH = 0x33
VERTEX_ADDS_CHANGE_RECORD = 0x42
VERTEX_REMOVES_CHANGE_RECORD = 0x52
HYPEREDGE_ADDS_CHANGE_RECORD = 0x43
HYPEREDGE_REMOVES_CHANGE_RECORD = 0x53
HYPERGRAPH_VERTEX_ADDS_SHARD_COMMIT = 0xE0
HYPERGRAPH_VERTEX_REMOVES_SHARD_COMMIT = 0xE1
HYPERGRAPH_HYPEREDGE_ADDS_SHARD_COMMIT = 0xE2
HYPERGRAPH_HYPEREDGE_REMOVES_SHARD_COMMIT = 0xE3
VERTEX_DATA = 0xF0
VERTEX_TOMBSTONE = 0xF1
HYPERGRAPH_COVERED_PREFIX = 0xFA
HYPERGRAPH_COMPLETE = 0xFB
VERTEX_ADDS_TREE_ROOT = 0xFC
VERTEX_REMOVES_TREE_ROOT = 0xFD
HYPEREDGE_ADDS_TREE_ROOT = 0xFE
HYPEREDGE_REMOVES_TREE_ROOT = 0xFF
)
// Key store indexes:
const (
KEY_DATA = 0x00
KEY_BUNDLE_INDEX_EARLIEST = 0x10
KEY_BUNDLE_INDEX_LATEST = 0x20
KEY_IDENTITY = 0x30
KEY_PROVING = 0x31
KEY_CROSS_SIGNATURE = 0x40
KEY_X448_SIGNED_KEY_BY_ID = 0x50
KEY_X448_SIGNED_KEY_BY_PARENT = 0x51
KEY_X448_SIGNED_KEY_BY_PURPOSE = 0x52
KEY_X448_SIGNED_KEY_BY_EXPIRY = 0x53
KEY_DECAF448_SIGNED_KEY_BY_ID = 0x54
KEY_DECAF448_SIGNED_KEY_BY_PARENT = 0x55
KEY_DECAF448_SIGNED_KEY_BY_PURPOSE = 0x56
KEY_DECAF448_SIGNED_KEY_BY_EXPIRY = 0x57
KEY_DEVICE_PRE_KEY_BY_ID = 0x60
KEY_DEVICE_PRE_KEY_BY_DEVICE = 0x61
KEY_DEVICE_PRE_KEY_AVAILABLE = 0x62
KEY_DEVICE_PRE_KEY_ONE_TIME = 0x63
)
// Shard store indexes:
const (
APP_SHARD_DATA = 0x00
)
// Dispatch store indexes:
const (
INBOX_MESSAGE = 0x00
INBOX_MESSAGE_DATA = 0x01
INBOX_MESSAGE_BY_ADDR = 0x02
// Hub associations (2P-Set)
INBOX_HUB_BY_ADDR = 0x10
INBOX_HUB_ADDS = 0x11
INBOX_HUB_DELETES = 0x12
)
// Worker store indexes:
const (
WORKER_BY_CORE = 0x00
WORKER_BY_FILTER = 0x01
)
// Consensus store indexes:
const (
CONSENSUS_STATE = 0x00
CONSENSUS_LIVENESS = 0x01
)