mirror of
https://github.com/QuilibriumNetwork/ceremonyclient.git
synced 2026-02-24 20:07:26 +08:00
* 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>
171 lines
5.2 KiB
Go
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
|
|
)
|