@ -1042,7 +1042,11 @@ static void cs_handle_channel_info_resp(struct chat_sync* cs, uint64_t peer,
sqlite3 * vdb = cs - > inst - > topo_sqlite_db ;
sqlite3 * vdb = cs - > inst - > topo_sqlite_db ;
if ( vdb & & inv_name [ 0 ] ) {
if ( vdb & & inv_name [ 0 ] ) {
sqlite3_stmt * ns = NULL ;
sqlite3_stmt * ns = NULL ;
sqlite3_prepare_v2 ( vdb , " INSERT OR REPLACE INTO nodes(node_id,name,x25519_pubkey,ed25519_pubkey) VALUES(?,?,?,?) " , - 1 , & ns , NULL ) ;
sqlite3_prepare_v2 ( vdb ,
" INSERT INTO nodes(node_id,name,x25519_pubkey,ed25519_pubkey) VALUES(?,?,?,?) "
" ON CONFLICT(node_id) DO UPDATE SET "
" name=excluded.name, x25519_pubkey=excluded.x25519_pubkey, ed25519_pubkey=excluded.ed25519_pubkey " ,
- 1 , & ns , NULL ) ;
if ( ns ) { sqlite3_bind_int64 ( ns , 1 , ( sqlite3_int64 ) peer ) ;
if ( ns ) { sqlite3_bind_int64 ( ns , 1 , ( sqlite3_int64 ) peer ) ;
sqlite3_bind_text ( ns , 2 , inv_name , - 1 , SQLITE_STATIC ) ;
sqlite3_bind_text ( ns , 2 , inv_name , - 1 , SQLITE_STATIC ) ;
sqlite3_bind_blob ( ns , 3 , inv_x25519 , 32 , SQLITE_STATIC ) ;
sqlite3_bind_blob ( ns , 3 , inv_x25519 , 32 , SQLITE_STATIC ) ;
@ -1190,7 +1194,11 @@ static void cs_handle_channel_join(struct chat_sync* cs, uint64_t peer,
/* save joiner node_info to local DB */
/* save joiner node_info to local DB */
if ( db & & joiner_name [ 0 ] ) {
if ( db & & joiner_name [ 0 ] ) {
sqlite3_stmt * ns = NULL ;
sqlite3_stmt * ns = NULL ;
sqlite3_prepare_v2 ( db , " INSERT OR REPLACE INTO nodes(node_id,name,x25519_pubkey,ed25519_pubkey) VALUES(?,?,?,?) " , - 1 , & ns , NULL ) ;
sqlite3_prepare_v2 ( db ,
" INSERT INTO nodes(node_id,name,x25519_pubkey,ed25519_pubkey) VALUES(?,?,?,?) "
" ON CONFLICT(node_id) DO UPDATE SET "
" name=excluded.name, x25519_pubkey=excluded.x25519_pubkey, ed25519_pubkey=excluded.ed25519_pubkey " ,
- 1 , & ns , NULL ) ;
if ( ns ) { sqlite3_bind_int64 ( ns , 1 , ( sqlite3_int64 ) node_id ) ;
if ( ns ) { sqlite3_bind_int64 ( ns , 1 , ( sqlite3_int64 ) node_id ) ;
sqlite3_bind_text ( ns , 2 , joiner_name , - 1 , SQLITE_STATIC ) ;
sqlite3_bind_text ( ns , 2 , joiner_name , - 1 , SQLITE_STATIC ) ;
sqlite3_bind_blob ( ns , 3 , x25519 , 32 , SQLITE_STATIC ) ;
sqlite3_bind_blob ( ns , 3 , x25519 , 32 , SQLITE_STATIC ) ;
@ -1446,7 +1454,11 @@ static void cs_handle_peer_upsert(struct chat_sync* cs, uint64_t peer,
topo_node_sqlite_node_update_verified ( db , node_id , peer_name , x25519 , ed_pub , join_ts ) ;
topo_node_sqlite_node_update_verified ( db , node_id , peer_name , x25519 , ed_pub , join_ts ) ;
if ( db & & peer_name [ 0 ] ) {
if ( db & & peer_name [ 0 ] ) {
sqlite3_stmt * ns = NULL ;
sqlite3_stmt * ns = NULL ;
sqlite3_prepare_v2 ( db , " INSERT OR REPLACE INTO nodes(node_id,name,x25519_pubkey,ed25519_pubkey) VALUES(?,?,?,?) " , - 1 , & ns , NULL ) ;
sqlite3_prepare_v2 ( db ,
" INSERT INTO nodes(node_id,name,x25519_pubkey,ed25519_pubkey) VALUES(?,?,?,?) "
" ON CONFLICT(node_id) DO UPDATE SET "
" name=excluded.name, x25519_pubkey=excluded.x25519_pubkey, ed25519_pubkey=excluded.ed25519_pubkey " ,
- 1 , & ns , NULL ) ;
if ( ns ) { sqlite3_bind_int64 ( ns , 1 , ( sqlite3_int64 ) node_id ) ;
if ( ns ) { sqlite3_bind_int64 ( ns , 1 , ( sqlite3_int64 ) node_id ) ;
sqlite3_bind_text ( ns , 2 , peer_name , - 1 , SQLITE_STATIC ) ;
sqlite3_bind_text ( ns , 2 , peer_name , - 1 , SQLITE_STATIC ) ;
sqlite3_bind_blob ( ns , 3 , x25519 , 32 , SQLITE_STATIC ) ;
sqlite3_bind_blob ( ns , 3 , x25519 , 32 , SQLITE_STATIC ) ;