19 const std::string &rdx,
20 const std::string &alias,
21 const std::string &bundle,
22 const std::string &version,
23 const std::string &content,
24 const std::vector<uint8_t> &bytes,
25 const std::string &subscription_id,
27 std::uint64_t since_timestamp,
28 std::uint32_t pre_key_id,
29 std::uint32_t signed_pre_key_id,
30 std::uint32_t kyber_pre_key_id) {
32 { bridge.get_node_fingerprint() } -> std::convertible_to<std::string>;
33 { bridge.list_contacts() } -> std::convertible_to<std::vector<radix_relay::core::contact_info>>;
36 { bridge.encrypt_message(rdx, bytes) } -> std::convertible_to<std::vector<uint8_t>>;
37 { bridge.decrypt_message(rdx, bytes) } -> std::convertible_to<radix_relay::signal::decryption_result>;
40 { bridge.add_contact_and_establish_session_from_base64(bundle, alias) } -> std::convertible_to<std::string>;
43 { bridge.generate_prekey_bundle_announcement(version) } -> std::convertible_to<radix_relay::signal::bundle_info>;
44 { bridge.generate_empty_bundle_announcement(version) } -> std::convertible_to<std::string>;
45 { bridge.extract_rdx_from_bundle_base64(bundle) } -> std::convertible_to<std::string>;
48 { bridge.assign_contact_alias(rdx, alias) } -> std::same_as<void>;
49 { bridge.lookup_contact(alias) } -> std::convertible_to<radix_relay::core::contact_info>;
52 { bridge.create_and_sign_encrypted_message(rdx, content, timestamp, version) } -> std::convertible_to<std::string>;
53 { bridge.sign_nostr_event(content) } -> std::convertible_to<std::string>;
56 { bridge.create_subscription_for_self(subscription_id, since_timestamp) } -> std::convertible_to<std::string>;
57 { bridge.update_last_message_timestamp(since_timestamp) } -> std::same_as<void>;
60 { bridge.perform_key_maintenance() } -> std::convertible_to<radix_relay::signal::key_maintenance_result>;
61 { bridge.record_published_bundle(pre_key_id, signed_pre_key_id, kyber_pre_key_id) } -> std::same_as<void>;