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

Function insert_chain_mvt

wallet/wallet.c:6944–7003  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6942}
6943
6944static u64 insert_chain_mvt(struct lightningd *ld,
6945 struct db *db,
6946 const struct chain_coin_mvt *chain_mvt)
6947{
6948 struct db_stmt *stmt;
6949 u64 id;
6950
6951 stmt = db_prepare_v2(db,
6952 SQL("INSERT INTO chain_moves ("
6953 " id,"
6954 " account_channel_id,"
6955 " account_nonchannel_id,"
6956 " tag_bitmap,"
6957 " credit_or_debit,"
6958 " timestamp,"
6959 " utxo,"
6960 " spending_txid,"
6961 " peer_id,"
6962 " payment_hash,"
6963 " block_height,"
6964 " output_sat,"
6965 " originating_channel_id,"
6966 " originating_nonchannel_id,"
6967 " output_count) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"));
6968 id = chain_mvt_index_created(ld, db,
6969 &chain_mvt->account,
6970 chain_mvt->credit, chain_mvt->debit);
6971 db_bind_u64(stmt, id);
6972 db_bind_mvt_account_id(stmt, db, &chain_mvt->account);
6973 db_bind_mvt_tags(stmt, chain_mvt->tags);
6974 db_bind_credit_debit(stmt, chain_mvt->credit, chain_mvt->debit);
6975 db_bind_u64(stmt, chain_mvt->timestamp);
6976 db_bind_outpoint(stmt, &chain_mvt->outpoint);
6977 if (chain_mvt->spending_txid)
6978 db_bind_txid(stmt, chain_mvt->spending_txid);
6979 else
6980 db_bind_null(stmt);
6981 if (chain_mvt->peer_id)
6982 db_bind_node_id(stmt, chain_mvt->peer_id);
6983 else
6984 db_bind_null(stmt);
6985 if (chain_mvt->payment_hash)
6986 db_bind_sha256(stmt, chain_mvt->payment_hash);
6987 else
6988 db_bind_null(stmt);
6989 db_bind_int(stmt, chain_mvt->blockheight);
6990 db_bind_amount_sat(stmt, chain_mvt->output_val);
6991 if (chain_mvt->originating_acct) {
6992 db_bind_mvt_account_id(stmt, db, chain_mvt->originating_acct);
6993 } else {
6994 db_bind_null(stmt);
6995 db_bind_null(stmt);
6996 }
6997 if (chain_mvt->output_count > 0)
6998 db_bind_int(stmt, chain_mvt->output_count);
6999 else
7000 db_bind_null(stmt);
7001 db_exec_prepared_v2(take(stmt));

Callers 2

wallet_save_chain_mvtFunction · 0.85
migrate_setup_coinmovesFunction · 0.85

Calls 13

db_bind_u64Function · 0.85
db_bind_mvt_account_idFunction · 0.85
db_bind_mvt_tagsFunction · 0.85
db_bind_credit_debitFunction · 0.85
db_bind_outpointFunction · 0.85
db_bind_txidFunction · 0.85
db_bind_nullFunction · 0.85
db_bind_node_idFunction · 0.85
db_bind_sha256Function · 0.85
db_bind_intFunction · 0.85
db_bind_amount_satFunction · 0.85
db_exec_prepared_v2Function · 0.85

Tested by

no test coverage detected