Signet Forge 0.1.0
C++20 Parquet library with AI-native extensions
DEMO
Loading...
Searching...
No Matches
audit_chain.hpp File Reference
#include "signet/crypto/sha256.hpp"
#include "signet/error.hpp"
#include "signet/types.hpp"
#include <array>
#include <atomic>
#include <chrono>
#include <cstdint>
#include <cstring>
#include <iomanip>
#include <sstream>
#include <stdexcept>
#include <string>
#include <vector>

Go to the source code of this file.

Classes

struct  signet::forge::ClockSyncStatus
 NTP/PTP clock synchronization status for MiFID II RTS 25 Art.3. More...
 
struct  signet::forge::HashChainEntry
 A single link in the cryptographic hash chain. More...
 
class  signet::forge::AuditChainWriter
 Builds SHA-256 hash chains during Parquet writes. More...
 
class  signet::forge::AuditChainVerifier
 Verifies hash chain integrity. More...
 
struct  signet::forge::AuditChainVerifier::VerificationResult
 Result of a full chain verification. More...
 
struct  signet::forge::AuditMetadata
 Chain summary stored in Parquet key-value metadata. More...
 

Namespaces

namespace  signet
 
namespace  signet::forge
 
namespace  signet::forge::detail
 Internal implementation details for dictionary encoding.
 
namespace  signet::forge::detail::audit
 

Functions

int64_t signet::forge::now_ns ()
 Return the current time as nanoseconds since the Unix epoch (UTC).
 
std::string signet::forge::hash_to_hex (const std::array< uint8_t, 32 > &hash)
 Convert a 32-byte SHA-256 hash to a lowercase hexadecimal string (64 chars).
 
expected< std::array< uint8_t, 32 > > signet::forge::hex_to_hash (const std::string &hex)
 Convert a 64-character lowercase hex string back to a 32-byte hash.
 
std::string signet::forge::generate_chain_id ()
 Generate a simple chain identifier based on the current timestamp.
 
void signet::forge::detail::audit::write_le64 (uint8_t *dst, int64_t value)
 Write an int64_t as 8 little-endian bytes to the output buffer.
 
int64_t signet::forge::detail::audit::read_le64 (const uint8_t *src)
 Read an int64_t from 8 little-endian bytes.
 
void signet::forge::detail::audit::write_le32 (uint8_t *dst, uint32_t value)
 Write a uint32_t as 4 little-endian bytes.
 
uint32_t signet::forge::detail::audit::read_le32 (const uint8_t *src)
 Read a uint32_t from 4 little-endian bytes.
 
expected< AuditMetadatasignet::forge::build_audit_metadata (const AuditChainWriter &writer, const std::string &chain_id)
 Build an AuditMetadata from a populated AuditChainWriter.
 
expected< std::vector< HashChainEntry > > signet::forge::deserialize_and_verify_chain (const uint8_t *chain_data, size_t chain_size)
 Deserialize and verify a chain from serialized bytes in one call.
 

Variables

constexpr size_t signet::forge::HASH_CHAIN_ENTRY_SIZE = 112
 Chain summary stored in Parquet key-value metadata.