| 1008 | } |
| 1009 | |
| 1010 | void wallet_inflight_add(struct wallet *w, struct channel_inflight *inflight) |
| 1011 | { |
| 1012 | struct db_stmt *stmt; |
| 1013 | stmt = db_prepare_v2(w->db, |
| 1014 | SQL("INSERT INTO channel_funding_inflights (" |
| 1015 | " channel_id" |
| 1016 | ", funding_tx_id" |
| 1017 | ", funding_tx_outnum" |
| 1018 | ", funding_feerate" |
| 1019 | ", funding_satoshi" |
| 1020 | ", our_funding_satoshi" |
| 1021 | ", funding_psbt" |
| 1022 | ", funding_tx_remote_sigs_received" |
| 1023 | ", last_tx" |
| 1024 | ", last_sig" |
| 1025 | ", lease_commit_sig" |
| 1026 | ", lease_chan_max_msat" |
| 1027 | ", lease_chan_max_ppt" |
| 1028 | ", lease_expiry" |
| 1029 | ", lease_blockheight_start" |
| 1030 | ", lease_fee" |
| 1031 | ") VALUES (" |
| 1032 | "?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);")); |
| 1033 | |
| 1034 | db_bind_u64(stmt, 0, inflight->channel->dbid); |
| 1035 | db_bind_txid(stmt, 1, &inflight->funding->outpoint.txid); |
| 1036 | db_bind_int(stmt, 2, inflight->funding->outpoint.n); |
| 1037 | db_bind_int(stmt, 3, inflight->funding->feerate); |
| 1038 | db_bind_amount_sat(stmt, 4, &inflight->funding->total_funds); |
| 1039 | db_bind_amount_sat(stmt, 5, &inflight->funding->our_funds); |
| 1040 | db_bind_psbt(stmt, 6, inflight->funding_psbt); |
| 1041 | db_bind_int(stmt, 7, inflight->remote_tx_sigs ? 1 : 0); |
| 1042 | db_bind_psbt(stmt, 8, inflight->last_tx->psbt); |
| 1043 | db_bind_signature(stmt, 9, &inflight->last_sig.s); |
| 1044 | |
| 1045 | if (inflight->lease_expiry != 0) { |
| 1046 | db_bind_signature(stmt, 10, inflight->lease_commit_sig); |
| 1047 | db_bind_int(stmt, 11, inflight->lease_chan_max_msat); |
| 1048 | db_bind_int(stmt, 12, inflight->lease_chan_max_ppt); |
| 1049 | db_bind_int(stmt, 13, inflight->lease_expiry); |
| 1050 | db_bind_int(stmt, 14, inflight->lease_blockheight_start); |
| 1051 | db_bind_amount_msat(stmt, 15, &inflight->lease_fee); |
| 1052 | } else { |
| 1053 | db_bind_null(stmt, 10); |
| 1054 | db_bind_null(stmt, 11); |
| 1055 | db_bind_null(stmt, 12); |
| 1056 | db_bind_int(stmt, 13, 0); |
| 1057 | db_bind_null(stmt, 14); |
| 1058 | db_bind_null(stmt, 15); |
| 1059 | } |
| 1060 | |
| 1061 | db_exec_prepared_v2(stmt); |
| 1062 | assert(!stmt->error); |
| 1063 | tal_free(stmt); |
| 1064 | } |
| 1065 | |
| 1066 | void wallet_inflight_save(struct wallet *w, |
| 1067 | struct channel_inflight *inflight) |