Skip to content

securecrdt/ISignedCRDTData.hpp

Per-type interface for CRDT-backed values that require quorum-signed updates. Every future registered type (TrustedPeerRegistry, BurnConfig, migrated ValidatorRegistry) implements this. No template - mirrors IInputValidator's per-type virtual-interface style exactly. More...

Namespaces

Name
sgns
sgns::securecrdt

Classes

Name
class sgns::securecrdt::ISignedCRDTData
Interface implemented by every CRDT-backed value that requires a quorum of authorized signers to create/update.

Detailed Description

Per-type interface for CRDT-backed values that require quorum-signed updates. Every future registered type (TrustedPeerRegistry, BurnConfig, migrated ValidatorRegistry) implements this. No template - mirrors IInputValidator's per-type virtual-interface style exactly.

Date: 2026-07-23 Henrique A. Klein ([email protected])

Source code

#ifndef SGNS_SECURECRDT_ISIGNEDCRDTDATA_HPP
#define SGNS_SECURECRDT_ISIGNEDCRDTDATA_HPP

#include <cstdint>
#include <vector>

namespace sgns::securecrdt
{
    class ISignedCRDTData
    {
    public:
        virtual ~ISignedCRDTData() = default;

        virtual std::vector<uint8_t> SerializeToBytes() const = 0;

        virtual bool DeserializeFromBytes( const std::vector<uint8_t> &bytes ) = 0;

        virtual bool Verify( const std::vector<uint8_t> &payload ) const = 0;

        virtual void Apply() = 0;
    };
} // namespace sgns::securecrdt

#endif // SGNS_SECURECRDT_ISIGNEDCRDTDATA_HPP

Updated on 2026-08-06 at 13:59:20 +0000