MCPcopy Create free account
hub / github.com/ElementsProject/lightning / wallet_update_output_status

Function wallet_update_output_status

wallet/wallet.c:426–453  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

424}
425
426bool wallet_update_output_status(struct wallet *w,
427 const struct bitcoin_outpoint *outpoint,
428 enum output_status oldstatus,
429 enum output_status newstatus)
430{
431 struct db_stmt *stmt;
432 size_t changes;
433 if (oldstatus != OUTPUT_STATE_ANY) {
434 stmt = db_prepare_v2(
435 w->db, SQL("UPDATE outputs SET status=? WHERE status=? AND "
436 "prev_out_tx=? AND prev_out_index=?"));
437 db_bind_int(stmt, output_status_in_db(newstatus));
438 db_bind_int(stmt, output_status_in_db(oldstatus));
439 db_bind_txid(stmt, &outpoint->txid);
440 db_bind_int(stmt, outpoint->n);
441 } else {
442 stmt = db_prepare_v2(w->db,
443 SQL("UPDATE outputs SET status=? WHERE "
444 "prev_out_tx=? AND prev_out_index=?"));
445 db_bind_int(stmt, output_status_in_db(newstatus));
446 db_bind_txid(stmt, &outpoint->txid);
447 db_bind_int(stmt, outpoint->n);
448 }
449 db_exec_prepared_v2(stmt);
450 changes = db_count_changes(stmt);
451 tal_free(stmt);
452 return changes > 0;
453}
454
455static int cmp_utxo(struct utxo *const *a,
456 struct utxo *const *b,

Callers 2

process_utxo_resultFunction · 0.85
test_wallet_outputsFunction · 0.85

Calls 6

db_bind_intFunction · 0.85
output_status_in_dbFunction · 0.85
db_bind_txidFunction · 0.85
db_exec_prepared_v2Function · 0.85
db_count_changesFunction · 0.85
tal_freeFunction · 0.85

Tested by 1

test_wallet_outputsFunction · 0.68