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

Function wallet_update_output_status

wallet/wallet.c:248–275  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

246}
247
248bool wallet_update_output_status(struct wallet *w,
249 const struct bitcoin_outpoint *outpoint,
250 enum output_status oldstatus,
251 enum output_status newstatus)
252{
253 struct db_stmt *stmt;
254 size_t changes;
255 if (oldstatus != OUTPUT_STATE_ANY) {
256 stmt = db_prepare_v2(
257 w->db, SQL("UPDATE outputs SET status=? WHERE status=? AND "
258 "prev_out_tx=? AND prev_out_index=?"));
259 db_bind_int(stmt, 0, output_status_in_db(newstatus));
260 db_bind_int(stmt, 1, output_status_in_db(oldstatus));
261 db_bind_txid(stmt, 2, &outpoint->txid);
262 db_bind_int(stmt, 3, outpoint->n);
263 } else {
264 stmt = db_prepare_v2(w->db,
265 SQL("UPDATE outputs SET status=? WHERE "
266 "prev_out_tx=? AND prev_out_index=?"));
267 db_bind_int(stmt, 0, output_status_in_db(newstatus));
268 db_bind_txid(stmt, 1, &outpoint->txid);
269 db_bind_int(stmt, 2, outpoint->n);
270 }
271 db_exec_prepared_v2(stmt);
272 changes = db_count_changes(stmt);
273 tal_free(stmt);
274 return changes > 0;
275}
276
277struct utxo **wallet_get_utxos(const tal_t *ctx, struct wallet *w, const enum output_status state)
278{

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