52#ifndef UDIF_MCEL_MANAGER_H
53#define UDIF_MCEL_MANAGER_H
74#define UDIF_MCEL_BLOCK_HASH_SIZE 32U
75#define UDIF_MCEL_KEYID_SIZE 32U
76#define UDIF_MCEL_DEFAULT_BLOCK_SIZE 100U
144 uint8_t
keyid[UDIF_MCEL_KEYID_SIZE];
145 uint8_t
sigkey[MCEL_ASYMMETRIC_SIGNING_KEY_SIZE];
146 uint8_t
verkey[MCEL_ASYMMETRIC_VERIFY_KEY_SIZE];
176udif_mcel_manager* udif_mcel_open(
const char* basepath,
bool readonly,
const uint8_t* sigkey,
const uint8_t* verkey);
222bool udif_mcel_add_record(
udif_mcel_manager* mgr,
const uint8_t* data,
size_t datalen,
bool encrypted, uint64_t* outseq);
237bool udif_mcel_read_record(
udif_mcel_manager* mgr, uint64_t sequence, uint8_t* data,
size_t datalen,
size_t* outread);
321bool udif_mcel_get_keypair(
const udif_mcel_manager* mgr, uint8_t* sigkey, uint8_t* verkey);
UDIF file-based storage backend for MCEL integration.
udif_ledger_type
Ledger namespace identifiers.
Definition storage.h:108
Configuration for automatic checkpoint creation.
Definition mcelmanager.h:83
uint64_t membinterval
Definition mcelmanager.h:84
bool autocheckpointenabled
Definition mcelmanager.h:88
uint32_t blocksize
Definition mcelmanager.h:87
uint64_t transinterval
Definition mcelmanager.h:85
uint64_t reginterval
Definition mcelmanager.h:86
Coordinated checkpoint across all three ledgers.
Definition mcelmanager.h:96
uint64_t membershipseq
Definition mcelmanager.h:101
uint8_t membcommit[UDIF_MCEL_BLOCK_HASH_SIZE]
Definition mcelmanager.h:97
uint64_t timestamp
Definition mcelmanager.h:103
uint64_t height
Definition mcelmanager.h:100
uint64_t transactionseq
Definition mcelmanager.h:104
uint8_t transcommit[UDIF_MCEL_BLOCK_HASH_SIZE]
Definition mcelmanager.h:99
uint8_t regcommit[UDIF_MCEL_BLOCK_HASH_SIZE]
Definition mcelmanager.h:98
uint64_t registryseq
Definition mcelmanager.h:102
Per-ledger state tracking.
Definition mcelmanager.h:112
mcel_ledger_state mcelstate
Definition mcelmanager.h:113
uint64_t firstrecordincheckpoint
Definition mcelmanager.h:121
uint64_t nextblockseq
Definition mcelmanager.h:118
udif_ledger_type type
Definition mcelmanager.h:114
size_t commitscount
Definition mcelmanager.h:128
uint64_t firstrecordinblock
Definition mcelmanager.h:120
uint8_t * reccommits
Definition mcelmanager.h:123
uint8_t lastblockroot[MCEL_BLOCK_HASH_SIZE]
Definition mcelmanager.h:115
uint64_t totalcheckpoints
Definition mcelmanager.h:125
uint64_t nextrecordseq
Definition mcelmanager.h:122
uint64_t totalrecords
Definition mcelmanager.h:126
uint64_t nextcheckpointseq
Definition mcelmanager.h:119
uint8_t lastblockcommit[MCEL_BLOCK_HASH_SIZE]
Definition mcelmanager.h:116
size_t commitscap
Definition mcelmanager.h:127
char namespaceid[64U]
Definition mcelmanager.h:117
uint64_t totalblocks
Definition mcelmanager.h:124
bool haveblockroot
Definition mcelmanager.h:129
MCEL manager implementation.
Definition mcelmanager.h:137
udif_mcel_ledger * transaction
Definition mcelmanager.h:143
udif_mcel_ledger * registry
Definition mcelmanager.h:142
udif_ledger_type actledger
Definition mcelmanager.h:138
uint8_t sigkey[MCEL_ASYMMETRIC_SIGNING_KEY_SIZE]
Definition mcelmanager.h:145
udif_mcel_ledger * membership
Definition mcelmanager.h:141
uint8_t verkey[MCEL_ASYMMETRIC_VERIFY_KEY_SIZE]
Definition mcelmanager.h:146
uint8_t keyid[UDIF_MCEL_KEYID_SIZE]
Definition mcelmanager.h:144
udif_storage_context storage
Definition mcelmanager.h:140
bool readonly
Definition mcelmanager.h:148
bool initialized
Definition mcelmanager.h:147
udif_checkpoint_config checkconfig
Definition mcelmanager.h:139
File-based storage context for MCEL integration.
Definition storage.h:134