fix(chat): commit global names with signed node and member profiles

This commit is contained in:
evgeny committed 2026-10-27 11:48:09 +01:00
1 parent 0656f24a7c
commit c73090759f
8 files changed
+278 -45

No files matched your search

+6 -3
View File
@@ -26,10 +26,13 @@
/* Создать/обновить nodes, node_addresses, node_snapshots, channels; 0/-1. db открывает и закрывает вызывающий. */
int topo_node_sqlite_init(sqlite3* db);
/* Проверить и сохранить полный подписанный NODEINFO без групповых полей; старый/равный timestamp даёт 0 без замены. */
/* Проверить и сохранить полный подписанный NODEINFO без групповых полей;старый/равный timestamp даёт0 без замены.
* Возврат0/-1,свой savepoint проверяет bind/step/finalize/RELEASE;отказ откатывает запись.
* При неудачном rollback открытая транзакция требует rollback/закрытия БД владельцем. */
int topo_node_sqlite_snapshot_put(sqlite3* db, struct TOPO_NODE* ni);
/* Максимальный сохранённый timestamp (Unix microseconds), в том числе после инвалидирования record; 0 — нет/ошибка. */
uint64_t topo_node_sqlite_snapshot_timestamp(sqlite3* db, uint64_t node_id);
/* Сохранённый timestamp (Unix microseconds),в том числе после инвалидирования record;отсутствие даёт0.
* Возвращает0/-1;при SQL/форматной ошибке *out не меняется. out обязателен. */
int topo_node_sqlite_snapshot_timestamp(sqlite3* db, uint64_t node_id, uint64_t* out);
/* Незарегистрированный проверенный снимок, включая снимок без адресов; NULL — нет/невалиден/ошибка.
* groups и groups->instance->topo_groups должны обозначать один контейнер с пулами. */
struct TOPO_NODE* topo_node_sqlite_snapshot_load(sqlite3* db, struct TOPO_GROUPS* groups, uint64_t node_id);