template<typename T>
const std::string &rdx,
const std::string &alias,
const std::string &bundle,
const std::string &version,
const std::string &content,
const std::vector<uint8_t> &bytes,
const std::string &subscription_id,
uint32_t timestamp,
std::uint64_t since_timestamp,
std::uint32_t pre_key_id,
std::uint32_t signed_pre_key_id,
std::uint32_t kyber_pre_key_id) {
{ bridge.get_node_fingerprint() } -> std::convertible_to<std::string>;
{ bridge.list_contacts() } -> std::convertible_to<std::vector<radix_relay::core::contact_info>>;
{ bridge.encrypt_message(rdx, bytes) } -> std::convertible_to<std::vector<uint8_t>>;
{ bridge.decrypt_message(rdx, bytes) } -> std::convertible_to<radix_relay::signal::decryption_result>;
{ bridge.add_contact_and_establish_session_from_base64(bundle, alias) } -> std::convertible_to<std::string>;
{ bridge.generate_prekey_bundle_announcement(version) } -> std::convertible_to<radix_relay::signal::bundle_info>;
{ bridge.generate_empty_bundle_announcement(version) } -> std::convertible_to<std::string>;
{ bridge.extract_rdx_from_bundle_base64(bundle) } -> std::convertible_to<std::string>;
{ bridge.assign_contact_alias(rdx, alias) } -> std::same_as<void>;
{ bridge.lookup_contact(alias) } -> std::convertible_to<radix_relay::core::contact_info>;
{ bridge.create_and_sign_encrypted_message(rdx, content, timestamp, version) } -> std::convertible_to<std::string>;
{ bridge.sign_nostr_event(content) } -> std::convertible_to<std::string>;
{ bridge.create_subscription_for_self(subscription_id, since_timestamp) } -> std::convertible_to<std::string>;
{ bridge.update_last_message_timestamp(since_timestamp) } -> std::same_as<void>;
{ bridge.perform_key_maintenance() } -> std::convertible_to<radix_relay::signal::key_maintenance_result>;
{ bridge.record_published_bundle(pre_key_id, signed_pre_key_id, kyber_pre_key_id) } -> std::same_as<void>;
}
Concept defining the interface for Signal Protocol cryptographic operations.
Concept defining the interface for Signal Protocol cryptographic operations.
Types satisfying this concept provide identity management, session establishment, message encryption/decryption, contact management, Nostr event signing, and key maintenance.
Definition at line 18 of file signal_bridge.hpp.