diff --git a/lightningd/channel.c b/lightningd/channel.c index 690bcd49d..094a66eb3 100644 --- a/lightningd/channel.c +++ b/lightningd/channel.c @@ -842,8 +842,11 @@ static void err_and_reconnect(struct channel *channel, channel_set_owner(channel, NULL); + /* Their address only useful if we connected to them */ delay_then_reconnect(channel, seconds_before_reconnect, - &channel->peer->addr); + channel->peer->connected_incoming + ? NULL + : &channel->peer->addr); } void channel_fail_reconnect_later(struct channel *channel, const char *fmt, ...) diff --git a/lightningd/connect_control.c b/lightningd/connect_control.c index 1a4351f87..a3698cc6a 100644 --- a/lightningd/connect_control.c +++ b/lightningd/connect_control.c @@ -149,8 +149,9 @@ static struct command_result *json_connect(struct command *cmd, || (channel && channel->connected)) { log_debug(cmd->ld->log, "Already connected via %s", type_to_string(tmpctx, struct wireaddr_internal, &peer->addr)); - /* FIXME: Save connection direction! */ - return connect_cmd_succeed(cmd, peer, false, &peer->addr); + return connect_cmd_succeed(cmd, peer, + peer->connected_incoming, + &peer->addr); } } diff --git a/lightningd/peer_control.c b/lightningd/peer_control.c index 1e8ed7c7b..d07691c98 100644 --- a/lightningd/peer_control.c +++ b/lightningd/peer_control.c @@ -87,7 +87,8 @@ static void peer_update_features(struct peer *peer, struct peer *new_peer(struct lightningd *ld, u64 dbid, const struct node_id *id, - const struct wireaddr_internal *addr) + const struct wireaddr_internal *addr, + bool connected_incoming) { /* We are owned by our channels, and freed manually by destroy_channel */ struct peer *peer = tal(NULL, struct peer); @@ -97,6 +98,7 @@ struct peer *new_peer(struct lightningd *ld, u64 dbid, peer->id = *id; peer->uncommitted_channel = NULL; peer->addr = *addr; + peer->connected_incoming = connected_incoming; peer->their_features = NULL; list_head_init(&peer->channels); peer->direction = node_id_idx(&peer->ld->id, &peer->id); @@ -1062,6 +1064,7 @@ static void peer_connected_hook_final(struct peer_connected_hook_payload *payloa case DUALOPEND_AWAITING_LOCKIN: assert(!channel->owner); channel->peer->addr = addr; + channel->peer->connected_incoming = payload->incoming; peer_restart_dualopend(peer, payload->pps, channel, NULL); return; case CHANNELD_AWAITING_LOCKIN: @@ -1069,12 +1072,14 @@ static void peer_connected_hook_final(struct peer_connected_hook_payload *payloa case CHANNELD_SHUTTING_DOWN: assert(!channel->owner); channel->peer->addr = addr; + channel->peer->connected_incoming = payload->incoming; peer_start_channeld(channel, payload->pps, NULL, true); return; case CLOSINGD_SIGEXCHANGE: assert(!channel->owner); channel->peer->addr = addr; + channel->peer->connected_incoming = payload->incoming; peer_start_closingd(channel, payload->pps, true, NULL); return; } @@ -1097,6 +1102,7 @@ send_error: assert(channel->state == DUALOPEND_OPEN_INIT || channel->state == DUALOPEND_AWAITING_LOCKIN); channel->peer->addr = addr; + channel->peer->connected_incoming = payload->incoming; peer_restart_dualopend(peer, payload->pps, channel, error); } else peer_start_dualopend(peer, payload->pps, error); @@ -1183,7 +1189,8 @@ void peer_connected(struct lightningd *ld, const u8 *msg, * subdaemon. Otherwise, we'll hand to openingd to wait there. */ peer = peer_by_id(ld, &id); if (!peer) - peer = new_peer(ld, 0, &id, &hook_payload->addr); + peer = new_peer(ld, 0, &id, &hook_payload->addr, + hook_payload->incoming); tal_steal(peer, hook_payload); hook_payload->peer = peer; @@ -1748,11 +1755,16 @@ static void activate_peer(struct peer *peer, u32 delay) "Will attempt reconnect " "in %u seconds", delay)); - delay_then_reconnect(channel, delay, &peer->addr); + delay_then_reconnect(channel, delay, + peer->connected_incoming + ? NULL + : &peer->addr); } else { msg = towire_connectd_connect_to_peer(NULL, - &peer->id, 0, - &peer->addr); + &peer->id, 0, + peer->connected_incoming + ? NULL + : &peer->addr); subd_send_msg(ld->connectd, take(msg)); channel_set_billboard(channel, false, "Attempting to reconnect"); diff --git a/lightningd/peer_control.h b/lightningd/peer_control.h index b2cc8fadf..281538ea9 100644 --- a/lightningd/peer_control.h +++ b/lightningd/peer_control.h @@ -39,6 +39,7 @@ struct peer { /* Where we connected to, or it connected from. */ struct wireaddr_internal addr; + bool connected_incoming; /* We keep a copy of their feature bits */ const u8 *their_features; @@ -56,7 +57,8 @@ struct peer *find_peer_by_dbid(struct lightningd *ld, u64 dbid); struct peer *new_peer(struct lightningd *ld, u64 dbid, const struct node_id *id, - const struct wireaddr_internal *addr); + const struct wireaddr_internal *addr, + bool connected_incoming); /* Last one out deletes peer. Also removes from db. */ void maybe_delete_peer(struct peer *peer); diff --git a/wallet/db_postgres_sqlgen.c b/wallet/db_postgres_sqlgen.c index 50fc21767..bf37ff7a8 100644 --- a/wallet/db_postgres_sqlgen.c +++ b/wallet/db_postgres_sqlgen.c @@ -1888,4 +1888,4 @@ struct db_query db_postgres_queries[] = { #endif /* LIGHTNINGD_WALLET_GEN_DB_POSTGRES */ -// SHA256STAMP:08adbcdb1d190901ae39605a2c1cb0d4639f6d88ddff2f1cd370e1fdc9663a2d +// SHA256STAMP:3744f07477049e8640c44c9d9d2ba90672e0cc5ca610b6e7cda7b593085a1f63 diff --git a/wallet/db_sqlite3_sqlgen.c b/wallet/db_sqlite3_sqlgen.c index e7e6ca455..c30a603f4 100644 --- a/wallet/db_sqlite3_sqlgen.c +++ b/wallet/db_sqlite3_sqlgen.c @@ -1888,4 +1888,4 @@ struct db_query db_sqlite3_queries[] = { #endif /* LIGHTNINGD_WALLET_GEN_DB_SQLITE3 */ -// SHA256STAMP:08adbcdb1d190901ae39605a2c1cb0d4639f6d88ddff2f1cd370e1fdc9663a2d +// SHA256STAMP:3744f07477049e8640c44c9d9d2ba90672e0cc5ca610b6e7cda7b593085a1f63 diff --git a/wallet/statements_gettextgen.po b/wallet/statements_gettextgen.po index 1e8aae9fe..38fc958b9 100644 --- a/wallet/statements_gettextgen.po +++ b/wallet/statements_gettextgen.po @@ -822,411 +822,411 @@ msgstr "" msgid "SELECT id, node_id, address FROM peers WHERE id=?;" msgstr "" -#: wallet/wallet.c:841 +#: wallet/wallet.c:842 msgid "SELECT signature FROM htlc_sigs WHERE channelid = ?" msgstr "" -#: wallet/wallet.c:875 +#: wallet/wallet.c:876 msgid "SELECT remote_ann_node_sig, remote_ann_bitcoin_sig FROM channels WHERE id = ?" msgstr "" -#: wallet/wallet.c:919 +#: wallet/wallet.c:920 msgid "SELECT hstate, feerate_per_kw FROM channel_feerates WHERE channel_id = ?" msgstr "" -#: wallet/wallet.c:952 +#: wallet/wallet.c:953 msgid "INSERT INTO channel_funding_inflights ( channel_id, funding_tx_id, funding_tx_outnum, funding_feerate, funding_satoshi, our_funding_satoshi, funding_psbt, last_tx, last_sig) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?);" msgstr "" -#: wallet/wallet.c:987 +#: wallet/wallet.c:988 msgid "UPDATE channel_funding_inflights SET funding_psbt=?, funding_tx_remote_sigs_received=? WHERE channel_id=? AND funding_tx_id=? AND funding_tx_outnum=?" msgstr "" -#: wallet/wallet.c:1040 +#: wallet/wallet.c:1041 msgid "SELECT funding_tx_id, funding_tx_outnum, funding_feerate, funding_satoshi, our_funding_satoshi, funding_psbt, last_tx, last_sig, funding_tx_remote_sigs_received FROM channel_funding_inflights WHERE channel_id = ?" msgstr "" -#: wallet/wallet.c:1268 +#: wallet/wallet.c:1269 msgid "SELECT id FROM channels ORDER BY id DESC LIMIT 1;" msgstr "" -#: wallet/wallet.c:1285 +#: wallet/wallet.c:1286 msgid "SELECT id, peer_id, short_channel_id, full_channel_id, channel_config_local, channel_config_remote, state, funder, channel_flags, minimum_depth, next_index_local, next_index_remote, next_htlc_id, funding_tx_id, funding_tx_outnum, funding_satoshi, our_funding_satoshi, funding_locked_remote, push_msatoshi, msatoshi_local, fundingkey_remote, revocation_basepoint_remote, payment_basepoint_remote, htlc_basepoint_remote, delayed_payment_basepoint_remote, per_commit_remote, old_per_commit_remote, local_feerate_per_kw, remote_feerate_per_kw, shachain_remote_id, shutdown_scriptpubkey_remote, shutdown_keyidx_local, last_sent_commit_state, last_sent_commit_id, last_tx, last_sig, last_was_revoke, first_blocknum, min_possible_feerate, max_possible_feerate, msatoshi_to_us_min, msatoshi_to_us_max, future_per_commitment_point, last_sent_commit, feerate_base, feerate_ppm, remote_upfront_shutdown_script, option_static_remotekey, option_anchor_outputs, shutdown_scriptpubkey_local, closer, state_change_reason, revocation_basepoint_local, payment_basepoint_local, htlc_basepoint_local, delayed_payment_basepoint_local, funding_pubkey_local, shutdown_wrong_txid, shutdown_wrong_outnum FROM channels WHERE state != ?;" msgstr "" -#: wallet/wallet.c:1383 +#: wallet/wallet.c:1384 msgid "UPDATE channels SET in_payments_offered = COALESCE(in_payments_offered, 0) + 1 , in_msatoshi_offered = COALESCE(in_msatoshi_offered, 0) + ? WHERE id = ?;" msgstr "" -#: wallet/wallet.c:1388 +#: wallet/wallet.c:1389 msgid "UPDATE channels SET in_payments_fulfilled = COALESCE(in_payments_fulfilled, 0) + 1 , in_msatoshi_fulfilled = COALESCE(in_msatoshi_fulfilled, 0) + ? WHERE id = ?;" msgstr "" -#: wallet/wallet.c:1393 +#: wallet/wallet.c:1394 msgid "UPDATE channels SET out_payments_offered = COALESCE(out_payments_offered, 0) + 1 , out_msatoshi_offered = COALESCE(out_msatoshi_offered, 0) + ? WHERE id = ?;" msgstr "" -#: wallet/wallet.c:1398 +#: wallet/wallet.c:1399 msgid "UPDATE channels SET out_payments_fulfilled = COALESCE(out_payments_fulfilled, 0) + 1 , out_msatoshi_fulfilled = COALESCE(out_msatoshi_fulfilled, 0) + ? WHERE id = ?;" msgstr "" -#: wallet/wallet.c:1440 +#: wallet/wallet.c:1441 msgid "SELECT in_payments_offered, in_payments_fulfilled, in_msatoshi_offered, in_msatoshi_fulfilled, out_payments_offered, out_payments_fulfilled, out_msatoshi_offered, out_msatoshi_fulfilled FROM channels WHERE id = ?" msgstr "" -#: wallet/wallet.c:1469 +#: wallet/wallet.c:1470 msgid "SELECT MIN(height), MAX(height) FROM blocks;" msgstr "" -#: wallet/wallet.c:1491 +#: wallet/wallet.c:1492 msgid "INSERT INTO channel_configs DEFAULT VALUES;" msgstr "" -#: wallet/wallet.c:1503 +#: wallet/wallet.c:1504 msgid "UPDATE channel_configs SET dust_limit_satoshis=?, max_htlc_value_in_flight_msat=?, channel_reserve_satoshis=?, htlc_minimum_msat=?, to_self_delay=?, max_accepted_htlcs=? WHERE id=?;" msgstr "" -#: wallet/wallet.c:1527 +#: wallet/wallet.c:1528 msgid "SELECT id, dust_limit_satoshis, max_htlc_value_in_flight_msat, channel_reserve_satoshis, htlc_minimum_msat, to_self_delay, max_accepted_htlcs FROM channel_configs WHERE id= ? ;" msgstr "" -#: wallet/wallet.c:1561 +#: wallet/wallet.c:1562 msgid "UPDATE channels SET remote_ann_node_sig=?, remote_ann_bitcoin_sig=? WHERE id=?" msgstr "" -#: wallet/wallet.c:1580 +#: wallet/wallet.c:1581 msgid "UPDATE channels SET shachain_remote_id=?, short_channel_id=?, full_channel_id=?, state=?, funder=?, channel_flags=?, minimum_depth=?, next_index_local=?, next_index_remote=?, next_htlc_id=?, funding_tx_id=?, funding_tx_outnum=?, funding_satoshi=?, our_funding_satoshi=?, funding_locked_remote=?, push_msatoshi=?, msatoshi_local=?, shutdown_scriptpubkey_remote=?, shutdown_keyidx_local=?, channel_config_local=?, last_tx=?, last_sig=?, last_was_revoke=?, min_possible_feerate=?, max_possible_feerate=?, msatoshi_to_us_min=?, msatoshi_to_us_max=?, feerate_base=?, feerate_ppm=?, remote_upfront_shutdown_script=?, option_static_remotekey=?, option_anchor_outputs=?, shutdown_scriptpubkey_local=?, closer=?, state_change_reason=?, shutdown_wrong_txid=?, shutdown_wrong_outnum=? WHERE id=?" msgstr "" -#: wallet/wallet.c:1672 +#: wallet/wallet.c:1673 msgid "UPDATE channels SET fundingkey_remote=?, revocation_basepoint_remote=?, payment_basepoint_remote=?, htlc_basepoint_remote=?, delayed_payment_basepoint_remote=?, per_commit_remote=?, old_per_commit_remote=?, channel_config_remote=?, future_per_commitment_point=? WHERE id=?" msgstr "" -#: wallet/wallet.c:1699 +#: wallet/wallet.c:1700 msgid "DELETE FROM channel_feerates WHERE channel_id=?" msgstr "" -#: wallet/wallet.c:1709 +#: wallet/wallet.c:1710 msgid "INSERT INTO channel_feerates VALUES(?, ?, ?)" msgstr "" -#: wallet/wallet.c:1726 +#: wallet/wallet.c:1727 msgid "UPDATE channels SET last_sent_commit=? WHERE id=?" msgstr "" -#: wallet/wallet.c:1749 +#: wallet/wallet.c:1750 msgid "INSERT INTO channel_state_changes ( channel_id, timestamp, old_state, new_state, cause, message) VALUES (?, ?, ?, ?, ?, ?);" msgstr "" -#: wallet/wallet.c:1777 +#: wallet/wallet.c:1778 msgid "SELECT timestamp, old_state, new_state, cause, message FROM channel_state_changes WHERE channel_id = ? ORDER BY timestamp ASC;" msgstr "" -#: wallet/wallet.c:1806 +#: wallet/wallet.c:1807 msgid "SELECT id FROM peers WHERE node_id = ?" msgstr "" -#: wallet/wallet.c:1818 +#: wallet/wallet.c:1819 msgid "UPDATE peers SET address = ? WHERE id = ?" msgstr "" -#: wallet/wallet.c:1827 +#: wallet/wallet.c:1828 msgid "INSERT INTO peers (node_id, address) VALUES (?, ?);" msgstr "" -#: wallet/wallet.c:1848 +#: wallet/wallet.c:1849 msgid "INSERT INTO channels ( peer_id, first_blocknum, id, revocation_basepoint_local, payment_basepoint_local, htlc_basepoint_local, delayed_payment_basepoint_local, funding_pubkey_local) VALUES (?, ?, ?, ?, ?, ?, ?, ?);" msgstr "" -#: wallet/wallet.c:1889 +#: wallet/wallet.c:1890 msgid "DELETE FROM channel_htlcs WHERE channel_id=?" msgstr "" -#: wallet/wallet.c:1895 +#: wallet/wallet.c:1896 msgid "DELETE FROM htlc_sigs WHERE channelid=?" msgstr "" -#: wallet/wallet.c:1901 +#: wallet/wallet.c:1902 msgid "DELETE FROM channeltxs WHERE channel_id=?" msgstr "" -#: wallet/wallet.c:1908 +#: wallet/wallet.c:1909 msgid "DELETE FROM channel_funding_inflights WHERE channel_id=?" msgstr "" -#: wallet/wallet.c:1914 +#: wallet/wallet.c:1915 msgid "DELETE FROM shachains WHERE id IN ( SELECT shachain_remote_id FROM channels WHERE channels.id=?)" msgstr "" -#: wallet/wallet.c:1924 +#: wallet/wallet.c:1925 msgid "UPDATE channels SET state=?, peer_id=? WHERE channels.id=?" msgstr "" -#: wallet/wallet.c:1938 +#: wallet/wallet.c:1939 msgid "SELECT * FROM channels WHERE peer_id = ?;" msgstr "" -#: wallet/wallet.c:1946 +#: wallet/wallet.c:1947 msgid "DELETE FROM peers WHERE id=?" msgstr "" -#: wallet/wallet.c:1957 +#: wallet/wallet.c:1958 msgid "UPDATE outputs SET confirmation_height = ? WHERE prev_out_tx = ?" msgstr "" -#: wallet/wallet.c:2060 +#: wallet/wallet.c:2061 msgid "INSERT INTO channel_htlcs ( channel_id, channel_htlc_id, direction, msatoshi, cltv_expiry, payment_hash, payment_key, hstate, shared_secret, routing_onion, received_time) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);" msgstr "" -#: wallet/wallet.c:2113 +#: wallet/wallet.c:2114 msgid "INSERT INTO channel_htlcs ( channel_id, channel_htlc_id, direction, origin_htlc, msatoshi, cltv_expiry, payment_hash, payment_key, hstate, routing_onion, malformed_onion, partid) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 0, ?);" msgstr "" -#: wallet/wallet.c:2174 +#: wallet/wallet.c:2175 msgid "UPDATE channel_htlcs SET hstate=?, payment_key=?, malformed_onion=?, failuremsg=?, localfailmsg=?, we_filled=? WHERE id=?" msgstr "" -#: wallet/wallet.c:2390 +#: wallet/wallet.c:2391 msgid "SELECT id, channel_htlc_id, msatoshi, cltv_expiry, hstate, payment_hash, payment_key, routing_onion, failuremsg, malformed_onion, origin_htlc, shared_secret, received_time, we_filled FROM channel_htlcs WHERE direction= ? AND channel_id= ? AND hstate != ?" msgstr "" -#: wallet/wallet.c:2437 +#: wallet/wallet.c:2438 msgid "SELECT id, channel_htlc_id, msatoshi, cltv_expiry, hstate, payment_hash, payment_key, routing_onion, failuremsg, malformed_onion, origin_htlc, shared_secret, received_time, partid, localfailmsg FROM channel_htlcs WHERE direction = ? AND channel_id = ? AND hstate != ?" msgstr "" -#: wallet/wallet.c:2568 +#: wallet/wallet.c:2569 msgid "SELECT channel_id, direction, cltv_expiry, channel_htlc_id, payment_hash FROM channel_htlcs WHERE channel_id = ?;" msgstr "" -#: wallet/wallet.c:2602 +#: wallet/wallet.c:2603 msgid "DELETE FROM channel_htlcs WHERE direction = ? AND origin_htlc = ? AND payment_hash = ? AND partid = ?;" msgstr "" -#: wallet/wallet.c:2655 +#: wallet/wallet.c:2656 msgid "SELECT status FROM payments WHERE payment_hash=? AND partid = ?;" msgstr "" -#: wallet/wallet.c:2673 +#: wallet/wallet.c:2674 msgid "INSERT INTO payments ( status, payment_hash, destination, msatoshi, timestamp, path_secrets, route_nodes, route_channels, msatoshi_sent, description, bolt11, total_msat, partid, local_offer_id) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);" msgstr "" -#: wallet/wallet.c:2762 +#: wallet/wallet.c:2763 msgid "DELETE FROM payments WHERE payment_hash = ? AND partid = ?" msgstr "" -#: wallet/wallet.c:2776 +#: wallet/wallet.c:2777 msgid "DELETE FROM payments WHERE payment_hash = ?" msgstr "" -#: wallet/wallet.c:2877 +#: wallet/wallet.c:2878 msgid "SELECT id, status, destination, msatoshi, payment_hash, timestamp, payment_preimage, path_secrets, route_nodes, route_channels, msatoshi_sent, description, bolt11, failonionreply, total_msat, partid, local_offer_id FROM payments WHERE payment_hash = ? AND partid = ?" msgstr "" -#: wallet/wallet.c:2927 +#: wallet/wallet.c:2928 msgid "UPDATE payments SET status=? WHERE payment_hash=? AND partid=?" msgstr "" -#: wallet/wallet.c:2937 +#: wallet/wallet.c:2938 msgid "UPDATE payments SET payment_preimage=? WHERE payment_hash=? AND partid=?" msgstr "" -#: wallet/wallet.c:2947 +#: wallet/wallet.c:2948 msgid "UPDATE payments SET path_secrets = NULL , route_nodes = NULL , route_channels = NULL WHERE payment_hash = ? AND partid = ?;" msgstr "" -#: wallet/wallet.c:2979 +#: wallet/wallet.c:2980 msgid "SELECT failonionreply, faildestperm, failindex, failcode, failnode, failchannel, failupdate, faildetail, faildirection FROM payments WHERE payment_hash=? AND partid=?;" msgstr "" -#: wallet/wallet.c:3046 +#: wallet/wallet.c:3047 msgid "UPDATE payments SET failonionreply=? , faildestperm=? , failindex=? , failcode=? , failnode=? , failchannel=? , failupdate=? , faildetail=? , faildirection=? WHERE payment_hash=? AND partid=?;" msgstr "" -#: wallet/wallet.c:3105 +#: wallet/wallet.c:3106 msgid "SELECT id, status, destination, msatoshi, payment_hash, timestamp, payment_preimage, path_secrets, route_nodes, route_channels, msatoshi_sent, description, bolt11, failonionreply, total_msat, partid, local_offer_id FROM payments WHERE payment_hash = ?;" msgstr "" -#: wallet/wallet.c:3127 +#: wallet/wallet.c:3128 msgid "SELECT id, status, destination, msatoshi, payment_hash, timestamp, payment_preimage, path_secrets, route_nodes, route_channels, msatoshi_sent, description, bolt11, failonionreply, total_msat, partid, local_offer_id FROM payments ORDER BY id;" msgstr "" -#: wallet/wallet.c:3178 +#: wallet/wallet.c:3179 msgid "SELECT id, status, destination, msatoshi, payment_hash, timestamp, payment_preimage, path_secrets, route_nodes, route_channels, msatoshi_sent, description, bolt11, failonionreply, total_msat, partid, local_offer_id FROM payments WHERE local_offer_id = ?;" msgstr "" -#: wallet/wallet.c:3223 +#: wallet/wallet.c:3224 msgid "DELETE FROM htlc_sigs WHERE channelid = ?" msgstr "" -#: wallet/wallet.c:3230 +#: wallet/wallet.c:3231 msgid "INSERT INTO htlc_sigs (channelid, signature) VALUES (?, ?)" msgstr "" -#: wallet/wallet.c:3242 +#: wallet/wallet.c:3243 msgid "SELECT blobval FROM vars WHERE name='genesis_hash'" msgstr "" -#: wallet/wallet.c:3266 +#: wallet/wallet.c:3267 msgid "INSERT INTO vars (name, blobval) VALUES ('genesis_hash', ?);" msgstr "" -#: wallet/wallet.c:3284 +#: wallet/wallet.c:3285 msgid "SELECT txid, outnum FROM utxoset WHERE spendheight < ?" msgstr "" -#: wallet/wallet.c:3296 +#: wallet/wallet.c:3297 msgid "DELETE FROM utxoset WHERE spendheight < ?" msgstr "" -#: wallet/wallet.c:3304 wallet/wallet.c:3418 +#: wallet/wallet.c:3305 wallet/wallet.c:3419 msgid "INSERT INTO blocks (height, hash, prev_hash) VALUES (?, ?, ?);" msgstr "" -#: wallet/wallet.c:3323 +#: wallet/wallet.c:3324 msgid "DELETE FROM blocks WHERE hash = ?" msgstr "" -#: wallet/wallet.c:3329 +#: wallet/wallet.c:3330 msgid "SELECT * FROM blocks WHERE height >= ?;" msgstr "" -#: wallet/wallet.c:3338 +#: wallet/wallet.c:3339 msgid "DELETE FROM blocks WHERE height > ?" msgstr "" -#: wallet/wallet.c:3350 +#: wallet/wallet.c:3351 msgid "UPDATE outputs SET spend_height = ?, status = ? WHERE prev_out_tx = ? AND prev_out_index = ?" msgstr "" -#: wallet/wallet.c:3368 +#: wallet/wallet.c:3369 msgid "UPDATE utxoset SET spendheight = ? WHERE txid = ? AND outnum = ?" msgstr "" -#: wallet/wallet.c:3391 wallet/wallet.c:3429 +#: wallet/wallet.c:3392 wallet/wallet.c:3430 msgid "INSERT INTO utxoset ( txid, outnum, blockheight, spendheight, txindex, scriptpubkey, satoshis) VALUES(?, ?, ?, ?, ?, ?, ?);" msgstr "" -#: wallet/wallet.c:3455 +#: wallet/wallet.c:3456 msgid "SELECT height FROM blocks WHERE height = ?" msgstr "" -#: wallet/wallet.c:3468 +#: wallet/wallet.c:3469 msgid "SELECT txid, spendheight, scriptpubkey, satoshis FROM utxoset WHERE blockheight = ? AND txindex = ? AND outnum = ? AND spendheight IS NULL" msgstr "" -#: wallet/wallet.c:3510 +#: wallet/wallet.c:3511 msgid "SELECT blockheight, txindex, outnum FROM utxoset WHERE spendheight = ?" msgstr "" -#: wallet/wallet.c:3541 wallet/wallet.c:3701 +#: wallet/wallet.c:3542 wallet/wallet.c:3702 msgid "SELECT blockheight FROM transactions WHERE id=?" msgstr "" -#: wallet/wallet.c:3551 +#: wallet/wallet.c:3552 msgid "INSERT INTO transactions ( id, blockheight, txindex, rawtx) VALUES (?, ?, ?, ?);" msgstr "" -#: wallet/wallet.c:3572 +#: wallet/wallet.c:3573 msgid "UPDATE transactions SET blockheight = ?, txindex = ? WHERE id = ?" msgstr "" -#: wallet/wallet.c:3589 +#: wallet/wallet.c:3590 msgid "INSERT INTO transaction_annotations (txid, idx, location, type, channel) VALUES (?, ?, ?, ?, ?) ON CONFLICT(txid,idx) DO NOTHING;" msgstr "" -#: wallet/wallet.c:3621 +#: wallet/wallet.c:3622 msgid "SELECT type, channel_id FROM transactions WHERE id=?" msgstr "" -#: wallet/wallet.c:3637 +#: wallet/wallet.c:3638 msgid "UPDATE transactions SET type = ?, channel_id = ? WHERE id = ?" msgstr "" -#: wallet/wallet.c:3656 +#: wallet/wallet.c:3657 msgid "SELECT type FROM transactions WHERE id=?" msgstr "" -#: wallet/wallet.c:3679 +#: wallet/wallet.c:3680 msgid "SELECT rawtx FROM transactions WHERE id=?" msgstr "" -#: wallet/wallet.c:3725 +#: wallet/wallet.c:3726 msgid "SELECT blockheight, txindex FROM transactions WHERE id=?" msgstr "" -#: wallet/wallet.c:3753 +#: wallet/wallet.c:3754 msgid "SELECT id FROM transactions WHERE blockheight=?" msgstr "" -#: wallet/wallet.c:3772 +#: wallet/wallet.c:3773 msgid "INSERT INTO channeltxs ( channel_id, type, transaction_id, input_num, blockheight) VALUES (?, ?, ?, ?, ?);" msgstr "" -#: wallet/wallet.c:3796 +#: wallet/wallet.c:3797 msgid "SELECT DISTINCT(channel_id) FROM channeltxs WHERE type = ?;" msgstr "" -#: wallet/wallet.c:3817 +#: wallet/wallet.c:3818 msgid "SELECT c.type, c.blockheight, t.rawtx, c.input_num, c.blockheight - t.blockheight + 1 AS depth, t.id as txid FROM channeltxs c JOIN transactions t ON t.id = c.transaction_id WHERE c.channel_id = ? ORDER BY c.id ASC;" msgstr "" -#: wallet/wallet.c:3862 +#: wallet/wallet.c:3863 msgid "UPDATE forwarded_payments SET in_msatoshi=?, out_msatoshi=?, state=?, resolved_time=?, failcode=? WHERE in_htlc_id=?" msgstr "" -#: wallet/wallet.c:3920 +#: wallet/wallet.c:3921 msgid "INSERT INTO forwarded_payments ( in_htlc_id, out_htlc_id, in_channel_scid, out_channel_scid, in_msatoshi, out_msatoshi, state, received_time, resolved_time, failcode) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?);" msgstr "" -#: wallet/wallet.c:3979 +#: wallet/wallet.c:3980 msgid "SELECT CAST(COALESCE(SUM(in_msatoshi - out_msatoshi), 0) AS BIGINT)FROM forwarded_payments WHERE state = ?;" msgstr "" -#: wallet/wallet.c:4028 +#: wallet/wallet.c:4029 msgid "SELECT f.state, in_msatoshi, out_msatoshi, hin.payment_hash as payment_hash, in_channel_scid, out_channel_scid, f.received_time, f.resolved_time, f.failcode FROM forwarded_payments f LEFT JOIN channel_htlcs hin ON (f.in_htlc_id = hin.id) WHERE (1 = ? OR f.state = ?) AND (1 = ? OR f.in_channel_scid = ?) AND (1 = ? OR f.out_channel_scid = ?)" msgstr "" -#: wallet/wallet.c:4150 +#: wallet/wallet.c:4151 msgid "SELECT t.id, t.rawtx, t.blockheight, t.txindex, t.type as txtype, c2.short_channel_id as txchan, a.location, a.idx as ann_idx, a.type as annotation_type, c.short_channel_id FROM transactions t LEFT JOIN transaction_annotations a ON (a.txid = t.id) LEFT JOIN channels c ON (a.channel = c.id) LEFT JOIN channels c2 ON (t.channel_id = c2.id) ORDER BY t.blockheight, t.txindex ASC" msgstr "" -#: wallet/wallet.c:4244 +#: wallet/wallet.c:4245 msgid "INSERT INTO penalty_bases ( channel_id, commitnum, txid, outnum, amount) VALUES (?, ?, ?, ?, ?);" msgstr "" -#: wallet/wallet.c:4269 +#: wallet/wallet.c:4270 msgid "SELECT commitnum, txid, outnum, amount FROM penalty_bases WHERE channel_id = ?" msgstr "" -#: wallet/wallet.c:4293 +#: wallet/wallet.c:4294 msgid "DELETE FROM penalty_bases WHERE channel_id = ? AND commitnum = ?" msgstr "" -#: wallet/wallet.c:4311 +#: wallet/wallet.c:4312 msgid "SELECT 1 FROM offers WHERE offer_id = ?;" msgstr "" -#: wallet/wallet.c:4324 +#: wallet/wallet.c:4325 msgid "INSERT INTO offers ( offer_id, bolt12, label, status) VALUES (?, ?, ?, ?);" msgstr "" -#: wallet/wallet.c:4351 +#: wallet/wallet.c:4352 msgid "SELECT bolt12, label, status FROM offers WHERE offer_id = ?;" msgstr "" -#: wallet/wallet.c:4379 +#: wallet/wallet.c:4380 msgid "SELECT offer_id FROM offers;" msgstr "" -#: wallet/wallet.c:4405 +#: wallet/wallet.c:4406 msgid "UPDATE offers SET status=? WHERE offer_id = ?;" msgstr "" -#: wallet/wallet.c:4416 +#: wallet/wallet.c:4417 msgid "UPDATE invoices SET state=? WHERE state=? AND local_offer_id = ?;" msgstr "" -#: wallet/wallet.c:4444 +#: wallet/wallet.c:4445 msgid "SELECT status FROM offers WHERE offer_id = ?;" msgstr "" @@ -1245,4 +1245,4 @@ msgstr "" #: wallet/test/run-wallet.c:1643 msgid "INSERT INTO channels (id) VALUES (1);" msgstr "" -# SHA256STAMP:b110e3333958e18759ec9a2cf17840a3ded609edbdd6001962888a0152ac879c +# SHA256STAMP:20d1dab0cbcccd97d272a24875a28c235580a45f422db8ae2c375dab07361a86 diff --git a/wallet/test/run-wallet.c b/wallet/test/run-wallet.c index 749cb15b0..a6c720a84 100644 --- a/wallet/test/run-wallet.c +++ b/wallet/test/run-wallet.c @@ -1319,7 +1319,7 @@ static bool test_channel_crud(struct lightningd *ld, const tal_t *ctx) parse_wireaddr_internal("localhost:1234", &addr, 0, false, false, false, NULL); c1.final_key_idx = 1337; - p = new_peer(ld, 0, &id, &addr); + p = new_peer(ld, 0, &id, &addr, false); c1.peer = p; c1.dbid = wallet_get_channel_dbid(w); c1.state = CHANNELD_NORMAL; @@ -1481,7 +1481,7 @@ static bool test_channel_inflight_crud(struct lightningd *ld, const tal_t *ctx) NULL); /* new channel! */ - p = new_peer(ld, 0, &id, &addr); + p = new_peer(ld, 0, &id, &addr, false); funding_sats = AMOUNT_SAT(4444444); our_sats = AMOUNT_SAT(3333333); diff --git a/wallet/wallet.c b/wallet/wallet.c index d1e5b82f3..33b689aa2 100644 --- a/wallet/wallet.c +++ b/wallet/wallet.c @@ -823,7 +823,8 @@ static struct peer *wallet_peer_load(struct wallet *w, const u64 dbid) if (!parse_wireaddr_internal((const char*)addrstr, &addr, DEFAULT_PORT, false, false, true, NULL)) goto done; - peer = new_peer(w->ld, db_column_u64(stmt, 0), &id, &addr); + /* FIXME: save incoming in db! */ + peer = new_peer(w->ld, db_column_u64(stmt, 0), &id, &addr, false); done: tal_free(stmt);