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

Function do_account_close_checks

plugins/bkpr/bookkeeper.c:924–957  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

922}
923
924static char *do_account_close_checks(const tal_t *ctx,
925 struct chain_event *e,
926 struct account *acct)
927{
928 struct account *closed_acct;
929
930 db_begin_transaction(db);
931
932 /* If is an external acct event, might be close channel related */
933 if (!is_channel_account(acct) && e->origin_acct) {
934 closed_acct = find_account(ctx, db, e->origin_acct);
935 } else if (!is_channel_account(acct) && !e->spending_txid)
936 closed_acct = find_close_account(ctx, db, &e->outpoint.txid);
937 else
938 /* Get most up to date account entry */
939 closed_acct = find_account(ctx, db, acct->name);
940
941
942 if (closed_acct && closed_acct->closed_event_db_id) {
943 maybe_mark_account_onchain(db, closed_acct);
944 if (closed_acct->onchain_resolved_block > 0) {
945 char *err;
946 err = update_channel_onchain_fees(ctx, db, closed_acct);
947 if (err) {
948 db_commit_transaction(db);
949 return err;
950 }
951 }
952 }
953
954 db_commit_transaction(db);
955
956 return NULL;
957}
958
959static struct command_result *json_balance_snapshot(struct command *cmd,
960 const char *buf,

Callers 2

listpeers_doneFunction · 0.85
parse_and_log_chain_moveFunction · 0.85

Calls 6

is_channel_accountFunction · 0.85
find_accountFunction · 0.85
find_close_accountFunction · 0.85
db_commit_transactionFunction · 0.50

Tested by

no test coverage detected