lightningd: set "direction" correctly for connect which is already connected.

This means remembering the connection direction.  We also use the address to try
to reconnect, which we shouldn't bother with if they connect to us.

For peers from the database, we currently always save the addr: we shouldn't really
do this if they connected to us, since it's not useful for reconnecting (we don't
show the addr in JSON reply to listpeers unless we're connected, so it's only an
internal issue).  This is left for future work.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
Rusty Russell 2021-03-25 14:43:12 +10:30
parent b0d6996ed6
commit 006300ab96
9 changed files with 136 additions and 117 deletions

View file

@ -842,8 +842,11 @@ static void err_and_reconnect(struct channel *channel,
channel_set_owner(channel, NULL); channel_set_owner(channel, NULL);
/* Their address only useful if we connected to them */
delay_then_reconnect(channel, seconds_before_reconnect, 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, ...) void channel_fail_reconnect_later(struct channel *channel, const char *fmt, ...)

View file

@ -149,8 +149,9 @@ static struct command_result *json_connect(struct command *cmd,
|| (channel && channel->connected)) { || (channel && channel->connected)) {
log_debug(cmd->ld->log, "Already connected via %s", log_debug(cmd->ld->log, "Already connected via %s",
type_to_string(tmpctx, struct wireaddr_internal, &peer->addr)); type_to_string(tmpctx, struct wireaddr_internal, &peer->addr));
/* FIXME: Save connection direction! */ return connect_cmd_succeed(cmd, peer,
return connect_cmd_succeed(cmd, peer, false, &peer->addr); peer->connected_incoming,
&peer->addr);
} }
} }

View file

@ -87,7 +87,8 @@ static void peer_update_features(struct peer *peer,
struct peer *new_peer(struct lightningd *ld, u64 dbid, struct peer *new_peer(struct lightningd *ld, u64 dbid,
const struct node_id *id, 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 */ /* We are owned by our channels, and freed manually by destroy_channel */
struct peer *peer = tal(NULL, struct peer); struct peer *peer = tal(NULL, struct peer);
@ -97,6 +98,7 @@ struct peer *new_peer(struct lightningd *ld, u64 dbid,
peer->id = *id; peer->id = *id;
peer->uncommitted_channel = NULL; peer->uncommitted_channel = NULL;
peer->addr = *addr; peer->addr = *addr;
peer->connected_incoming = connected_incoming;
peer->their_features = NULL; peer->their_features = NULL;
list_head_init(&peer->channels); list_head_init(&peer->channels);
peer->direction = node_id_idx(&peer->ld->id, &peer->id); 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: case DUALOPEND_AWAITING_LOCKIN:
assert(!channel->owner); assert(!channel->owner);
channel->peer->addr = addr; channel->peer->addr = addr;
channel->peer->connected_incoming = payload->incoming;
peer_restart_dualopend(peer, payload->pps, channel, NULL); peer_restart_dualopend(peer, payload->pps, channel, NULL);
return; return;
case CHANNELD_AWAITING_LOCKIN: case CHANNELD_AWAITING_LOCKIN:
@ -1069,12 +1072,14 @@ static void peer_connected_hook_final(struct peer_connected_hook_payload *payloa
case CHANNELD_SHUTTING_DOWN: case CHANNELD_SHUTTING_DOWN:
assert(!channel->owner); assert(!channel->owner);
channel->peer->addr = addr; channel->peer->addr = addr;
channel->peer->connected_incoming = payload->incoming;
peer_start_channeld(channel, payload->pps, NULL, true); peer_start_channeld(channel, payload->pps, NULL, true);
return; return;
case CLOSINGD_SIGEXCHANGE: case CLOSINGD_SIGEXCHANGE:
assert(!channel->owner); assert(!channel->owner);
channel->peer->addr = addr; channel->peer->addr = addr;
channel->peer->connected_incoming = payload->incoming;
peer_start_closingd(channel, payload->pps, true, NULL); peer_start_closingd(channel, payload->pps, true, NULL);
return; return;
} }
@ -1097,6 +1102,7 @@ send_error:
assert(channel->state == DUALOPEND_OPEN_INIT assert(channel->state == DUALOPEND_OPEN_INIT
|| channel->state == DUALOPEND_AWAITING_LOCKIN); || channel->state == DUALOPEND_AWAITING_LOCKIN);
channel->peer->addr = addr; channel->peer->addr = addr;
channel->peer->connected_incoming = payload->incoming;
peer_restart_dualopend(peer, payload->pps, channel, error); peer_restart_dualopend(peer, payload->pps, channel, error);
} else } else
peer_start_dualopend(peer, payload->pps, error); 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. */ * subdaemon. Otherwise, we'll hand to openingd to wait there. */
peer = peer_by_id(ld, &id); peer = peer_by_id(ld, &id);
if (!peer) 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); tal_steal(peer, hook_payload);
hook_payload->peer = peer; hook_payload->peer = peer;
@ -1748,11 +1755,16 @@ static void activate_peer(struct peer *peer, u32 delay)
"Will attempt reconnect " "Will attempt reconnect "
"in %u seconds", "in %u seconds",
delay)); delay));
delay_then_reconnect(channel, delay, &peer->addr); delay_then_reconnect(channel, delay,
peer->connected_incoming
? NULL
: &peer->addr);
} else { } else {
msg = towire_connectd_connect_to_peer(NULL, msg = towire_connectd_connect_to_peer(NULL,
&peer->id, 0, &peer->id, 0,
&peer->addr); peer->connected_incoming
? NULL
: &peer->addr);
subd_send_msg(ld->connectd, take(msg)); subd_send_msg(ld->connectd, take(msg));
channel_set_billboard(channel, false, channel_set_billboard(channel, false,
"Attempting to reconnect"); "Attempting to reconnect");

View file

@ -39,6 +39,7 @@ struct peer {
/* Where we connected to, or it connected from. */ /* Where we connected to, or it connected from. */
struct wireaddr_internal addr; struct wireaddr_internal addr;
bool connected_incoming;
/* We keep a copy of their feature bits */ /* We keep a copy of their feature bits */
const u8 *their_features; 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, struct peer *new_peer(struct lightningd *ld, u64 dbid,
const struct node_id *id, 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. */ /* Last one out deletes peer. Also removes from db. */
void maybe_delete_peer(struct peer *peer); void maybe_delete_peer(struct peer *peer);

View file

@ -1888,4 +1888,4 @@ struct db_query db_postgres_queries[] = {
#endif /* LIGHTNINGD_WALLET_GEN_DB_POSTGRES */ #endif /* LIGHTNINGD_WALLET_GEN_DB_POSTGRES */
// SHA256STAMP:08adbcdb1d190901ae39605a2c1cb0d4639f6d88ddff2f1cd370e1fdc9663a2d // SHA256STAMP:3744f07477049e8640c44c9d9d2ba90672e0cc5ca610b6e7cda7b593085a1f63

View file

@ -1888,4 +1888,4 @@ struct db_query db_sqlite3_queries[] = {
#endif /* LIGHTNINGD_WALLET_GEN_DB_SQLITE3 */ #endif /* LIGHTNINGD_WALLET_GEN_DB_SQLITE3 */
// SHA256STAMP:08adbcdb1d190901ae39605a2c1cb0d4639f6d88ddff2f1cd370e1fdc9663a2d // SHA256STAMP:3744f07477049e8640c44c9d9d2ba90672e0cc5ca610b6e7cda7b593085a1f63

View file

@ -822,411 +822,411 @@ msgstr ""
msgid "SELECT id, node_id, address FROM peers WHERE id=?;" msgid "SELECT id, node_id, address FROM peers WHERE id=?;"
msgstr "" msgstr ""
#: wallet/wallet.c:841 #: wallet/wallet.c:842
msgid "SELECT signature FROM htlc_sigs WHERE channelid = ?" msgid "SELECT signature FROM htlc_sigs WHERE channelid = ?"
msgstr "" msgstr ""
#: wallet/wallet.c:875 #: wallet/wallet.c:876
msgid "SELECT remote_ann_node_sig, remote_ann_bitcoin_sig FROM channels WHERE id = ?" msgid "SELECT remote_ann_node_sig, remote_ann_bitcoin_sig FROM channels WHERE id = ?"
msgstr "" msgstr ""
#: wallet/wallet.c:919 #: wallet/wallet.c:920
msgid "SELECT hstate, feerate_per_kw FROM channel_feerates WHERE channel_id = ?" msgid "SELECT hstate, feerate_per_kw FROM channel_feerates WHERE channel_id = ?"
msgstr "" 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 (?, ?, ?, ?, ?, ?, ?, ?, ?);" 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 "" 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=?" 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 "" 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 = ?" 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 "" msgstr ""
#: wallet/wallet.c:1268 #: wallet/wallet.c:1269
msgid "SELECT id FROM channels ORDER BY id DESC LIMIT 1;" msgid "SELECT id FROM channels ORDER BY id DESC LIMIT 1;"
msgstr "" 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 != ?;" 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 "" 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 = ?;" msgid "UPDATE channels SET in_payments_offered = COALESCE(in_payments_offered, 0) + 1 , in_msatoshi_offered = COALESCE(in_msatoshi_offered, 0) + ? WHERE id = ?;"
msgstr "" 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 = ?;" msgid "UPDATE channels SET in_payments_fulfilled = COALESCE(in_payments_fulfilled, 0) + 1 , in_msatoshi_fulfilled = COALESCE(in_msatoshi_fulfilled, 0) + ? WHERE id = ?;"
msgstr "" 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 = ?;" msgid "UPDATE channels SET out_payments_offered = COALESCE(out_payments_offered, 0) + 1 , out_msatoshi_offered = COALESCE(out_msatoshi_offered, 0) + ? WHERE id = ?;"
msgstr "" 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 = ?;" msgid "UPDATE channels SET out_payments_fulfilled = COALESCE(out_payments_fulfilled, 0) + 1 , out_msatoshi_fulfilled = COALESCE(out_msatoshi_fulfilled, 0) + ? WHERE id = ?;"
msgstr "" 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 = ?" 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 "" msgstr ""
#: wallet/wallet.c:1469 #: wallet/wallet.c:1470
msgid "SELECT MIN(height), MAX(height) FROM blocks;" msgid "SELECT MIN(height), MAX(height) FROM blocks;"
msgstr "" msgstr ""
#: wallet/wallet.c:1491 #: wallet/wallet.c:1492
msgid "INSERT INTO channel_configs DEFAULT VALUES;" msgid "INSERT INTO channel_configs DEFAULT VALUES;"
msgstr "" 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=?;" 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 "" 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= ? ;" 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 "" msgstr ""
#: wallet/wallet.c:1561 #: wallet/wallet.c:1562
msgid "UPDATE channels SET remote_ann_node_sig=?, remote_ann_bitcoin_sig=? WHERE id=?" msgid "UPDATE channels SET remote_ann_node_sig=?, remote_ann_bitcoin_sig=? WHERE id=?"
msgstr "" 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=?" 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 "" 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=?" 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 "" msgstr ""
#: wallet/wallet.c:1699 #: wallet/wallet.c:1700
msgid "DELETE FROM channel_feerates WHERE channel_id=?" msgid "DELETE FROM channel_feerates WHERE channel_id=?"
msgstr "" msgstr ""
#: wallet/wallet.c:1709 #: wallet/wallet.c:1710
msgid "INSERT INTO channel_feerates VALUES(?, ?, ?)" msgid "INSERT INTO channel_feerates VALUES(?, ?, ?)"
msgstr "" msgstr ""
#: wallet/wallet.c:1726 #: wallet/wallet.c:1727
msgid "UPDATE channels SET last_sent_commit=? WHERE id=?" msgid "UPDATE channels SET last_sent_commit=? WHERE id=?"
msgstr "" 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 (?, ?, ?, ?, ?, ?);" msgid "INSERT INTO channel_state_changes ( channel_id, timestamp, old_state, new_state, cause, message) VALUES (?, ?, ?, ?, ?, ?);"
msgstr "" 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;" msgid "SELECT timestamp, old_state, new_state, cause, message FROM channel_state_changes WHERE channel_id = ? ORDER BY timestamp ASC;"
msgstr "" msgstr ""
#: wallet/wallet.c:1806 #: wallet/wallet.c:1807
msgid "SELECT id FROM peers WHERE node_id = ?" msgid "SELECT id FROM peers WHERE node_id = ?"
msgstr "" msgstr ""
#: wallet/wallet.c:1818 #: wallet/wallet.c:1819
msgid "UPDATE peers SET address = ? WHERE id = ?" msgid "UPDATE peers SET address = ? WHERE id = ?"
msgstr "" msgstr ""
#: wallet/wallet.c:1827 #: wallet/wallet.c:1828
msgid "INSERT INTO peers (node_id, address) VALUES (?, ?);" msgid "INSERT INTO peers (node_id, address) VALUES (?, ?);"
msgstr "" 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 (?, ?, ?, ?, ?, ?, ?, ?);" 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 "" msgstr ""
#: wallet/wallet.c:1889 #: wallet/wallet.c:1890
msgid "DELETE FROM channel_htlcs WHERE channel_id=?" msgid "DELETE FROM channel_htlcs WHERE channel_id=?"
msgstr "" msgstr ""
#: wallet/wallet.c:1895 #: wallet/wallet.c:1896
msgid "DELETE FROM htlc_sigs WHERE channelid=?" msgid "DELETE FROM htlc_sigs WHERE channelid=?"
msgstr "" msgstr ""
#: wallet/wallet.c:1901 #: wallet/wallet.c:1902
msgid "DELETE FROM channeltxs WHERE channel_id=?" msgid "DELETE FROM channeltxs WHERE channel_id=?"
msgstr "" msgstr ""
#: wallet/wallet.c:1908 #: wallet/wallet.c:1909
msgid "DELETE FROM channel_funding_inflights WHERE channel_id=?" msgid "DELETE FROM channel_funding_inflights WHERE channel_id=?"
msgstr "" 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=?)" msgid "DELETE FROM shachains WHERE id IN ( SELECT shachain_remote_id FROM channels WHERE channels.id=?)"
msgstr "" msgstr ""
#: wallet/wallet.c:1924 #: wallet/wallet.c:1925
msgid "UPDATE channels SET state=?, peer_id=? WHERE channels.id=?" msgid "UPDATE channels SET state=?, peer_id=? WHERE channels.id=?"
msgstr "" msgstr ""
#: wallet/wallet.c:1938 #: wallet/wallet.c:1939
msgid "SELECT * FROM channels WHERE peer_id = ?;" msgid "SELECT * FROM channels WHERE peer_id = ?;"
msgstr "" msgstr ""
#: wallet/wallet.c:1946 #: wallet/wallet.c:1947
msgid "DELETE FROM peers WHERE id=?" msgid "DELETE FROM peers WHERE id=?"
msgstr "" msgstr ""
#: wallet/wallet.c:1957 #: wallet/wallet.c:1958
msgid "UPDATE outputs SET confirmation_height = ? WHERE prev_out_tx = ?" msgid "UPDATE outputs SET confirmation_height = ? WHERE prev_out_tx = ?"
msgstr "" 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 (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);" 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 "" 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, ?);" 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 "" 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=?" msgid "UPDATE channel_htlcs SET hstate=?, payment_key=?, malformed_onion=?, failuremsg=?, localfailmsg=?, we_filled=? WHERE id=?"
msgstr "" 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 != ?" 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 "" 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 != ?" 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 "" 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 = ?;" msgid "SELECT channel_id, direction, cltv_expiry, channel_htlc_id, payment_hash FROM channel_htlcs WHERE channel_id = ?;"
msgstr "" msgstr ""
#: wallet/wallet.c:2602 #: wallet/wallet.c:2603
msgid "DELETE FROM channel_htlcs WHERE direction = ? AND origin_htlc = ? AND payment_hash = ? AND partid = ?;" msgid "DELETE FROM channel_htlcs WHERE direction = ? AND origin_htlc = ? AND payment_hash = ? AND partid = ?;"
msgstr "" msgstr ""
#: wallet/wallet.c:2655 #: wallet/wallet.c:2656
msgid "SELECT status FROM payments WHERE payment_hash=? AND partid = ?;" msgid "SELECT status FROM payments WHERE payment_hash=? AND partid = ?;"
msgstr "" 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 (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);" 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 "" msgstr ""
#: wallet/wallet.c:2762 #: wallet/wallet.c:2763
msgid "DELETE FROM payments WHERE payment_hash = ? AND partid = ?" msgid "DELETE FROM payments WHERE payment_hash = ? AND partid = ?"
msgstr "" msgstr ""
#: wallet/wallet.c:2776 #: wallet/wallet.c:2777
msgid "DELETE FROM payments WHERE payment_hash = ?" msgid "DELETE FROM payments WHERE payment_hash = ?"
msgstr "" 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 = ?" 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 "" msgstr ""
#: wallet/wallet.c:2927 #: wallet/wallet.c:2928
msgid "UPDATE payments SET status=? WHERE payment_hash=? AND partid=?" msgid "UPDATE payments SET status=? WHERE payment_hash=? AND partid=?"
msgstr "" msgstr ""
#: wallet/wallet.c:2937 #: wallet/wallet.c:2938
msgid "UPDATE payments SET payment_preimage=? WHERE payment_hash=? AND partid=?" msgid "UPDATE payments SET payment_preimage=? WHERE payment_hash=? AND partid=?"
msgstr "" 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 = ?;" msgid "UPDATE payments SET path_secrets = NULL , route_nodes = NULL , route_channels = NULL WHERE payment_hash = ? AND partid = ?;"
msgstr "" 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=?;" msgid "SELECT failonionreply, faildestperm, failindex, failcode, failnode, failchannel, failupdate, faildetail, faildirection FROM payments WHERE payment_hash=? AND partid=?;"
msgstr "" 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=?;" msgid "UPDATE payments SET failonionreply=? , faildestperm=? , failindex=? , failcode=? , failnode=? , failchannel=? , failupdate=? , faildetail=? , faildirection=? WHERE payment_hash=? AND partid=?;"
msgstr "" 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 = ?;" 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 "" 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;" 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 "" 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 = ?;" 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 "" msgstr ""
#: wallet/wallet.c:3223 #: wallet/wallet.c:3224
msgid "DELETE FROM htlc_sigs WHERE channelid = ?" msgid "DELETE FROM htlc_sigs WHERE channelid = ?"
msgstr "" msgstr ""
#: wallet/wallet.c:3230 #: wallet/wallet.c:3231
msgid "INSERT INTO htlc_sigs (channelid, signature) VALUES (?, ?)" msgid "INSERT INTO htlc_sigs (channelid, signature) VALUES (?, ?)"
msgstr "" msgstr ""
#: wallet/wallet.c:3242 #: wallet/wallet.c:3243
msgid "SELECT blobval FROM vars WHERE name='genesis_hash'" msgid "SELECT blobval FROM vars WHERE name='genesis_hash'"
msgstr "" msgstr ""
#: wallet/wallet.c:3266 #: wallet/wallet.c:3267
msgid "INSERT INTO vars (name, blobval) VALUES ('genesis_hash', ?);" msgid "INSERT INTO vars (name, blobval) VALUES ('genesis_hash', ?);"
msgstr "" msgstr ""
#: wallet/wallet.c:3284 #: wallet/wallet.c:3285
msgid "SELECT txid, outnum FROM utxoset WHERE spendheight < ?" msgid "SELECT txid, outnum FROM utxoset WHERE spendheight < ?"
msgstr "" msgstr ""
#: wallet/wallet.c:3296 #: wallet/wallet.c:3297
msgid "DELETE FROM utxoset WHERE spendheight < ?" msgid "DELETE FROM utxoset WHERE spendheight < ?"
msgstr "" 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 (?, ?, ?);" msgid "INSERT INTO blocks (height, hash, prev_hash) VALUES (?, ?, ?);"
msgstr "" msgstr ""
#: wallet/wallet.c:3323 #: wallet/wallet.c:3324
msgid "DELETE FROM blocks WHERE hash = ?" msgid "DELETE FROM blocks WHERE hash = ?"
msgstr "" msgstr ""
#: wallet/wallet.c:3329 #: wallet/wallet.c:3330
msgid "SELECT * FROM blocks WHERE height >= ?;" msgid "SELECT * FROM blocks WHERE height >= ?;"
msgstr "" msgstr ""
#: wallet/wallet.c:3338 #: wallet/wallet.c:3339
msgid "DELETE FROM blocks WHERE height > ?" msgid "DELETE FROM blocks WHERE height > ?"
msgstr "" msgstr ""
#: wallet/wallet.c:3350 #: wallet/wallet.c:3351
msgid "UPDATE outputs SET spend_height = ?, status = ? WHERE prev_out_tx = ? AND prev_out_index = ?" msgid "UPDATE outputs SET spend_height = ?, status = ? WHERE prev_out_tx = ? AND prev_out_index = ?"
msgstr "" msgstr ""
#: wallet/wallet.c:3368 #: wallet/wallet.c:3369
msgid "UPDATE utxoset SET spendheight = ? WHERE txid = ? AND outnum = ?" msgid "UPDATE utxoset SET spendheight = ? WHERE txid = ? AND outnum = ?"
msgstr "" 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(?, ?, ?, ?, ?, ?, ?);" msgid "INSERT INTO utxoset ( txid, outnum, blockheight, spendheight, txindex, scriptpubkey, satoshis) VALUES(?, ?, ?, ?, ?, ?, ?);"
msgstr "" msgstr ""
#: wallet/wallet.c:3455 #: wallet/wallet.c:3456
msgid "SELECT height FROM blocks WHERE height = ?" msgid "SELECT height FROM blocks WHERE height = ?"
msgstr "" 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" msgid "SELECT txid, spendheight, scriptpubkey, satoshis FROM utxoset WHERE blockheight = ? AND txindex = ? AND outnum = ? AND spendheight IS NULL"
msgstr "" msgstr ""
#: wallet/wallet.c:3510 #: wallet/wallet.c:3511
msgid "SELECT blockheight, txindex, outnum FROM utxoset WHERE spendheight = ?" msgid "SELECT blockheight, txindex, outnum FROM utxoset WHERE spendheight = ?"
msgstr "" msgstr ""
#: wallet/wallet.c:3541 wallet/wallet.c:3701 #: wallet/wallet.c:3542 wallet/wallet.c:3702
msgid "SELECT blockheight FROM transactions WHERE id=?" msgid "SELECT blockheight FROM transactions WHERE id=?"
msgstr "" msgstr ""
#: wallet/wallet.c:3551 #: wallet/wallet.c:3552
msgid "INSERT INTO transactions ( id, blockheight, txindex, rawtx) VALUES (?, ?, ?, ?);" msgid "INSERT INTO transactions ( id, blockheight, txindex, rawtx) VALUES (?, ?, ?, ?);"
msgstr "" msgstr ""
#: wallet/wallet.c:3572 #: wallet/wallet.c:3573
msgid "UPDATE transactions SET blockheight = ?, txindex = ? WHERE id = ?" msgid "UPDATE transactions SET blockheight = ?, txindex = ? WHERE id = ?"
msgstr "" 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;" msgid "INSERT INTO transaction_annotations (txid, idx, location, type, channel) VALUES (?, ?, ?, ?, ?) ON CONFLICT(txid,idx) DO NOTHING;"
msgstr "" msgstr ""
#: wallet/wallet.c:3621 #: wallet/wallet.c:3622
msgid "SELECT type, channel_id FROM transactions WHERE id=?" msgid "SELECT type, channel_id FROM transactions WHERE id=?"
msgstr "" msgstr ""
#: wallet/wallet.c:3637 #: wallet/wallet.c:3638
msgid "UPDATE transactions SET type = ?, channel_id = ? WHERE id = ?" msgid "UPDATE transactions SET type = ?, channel_id = ? WHERE id = ?"
msgstr "" msgstr ""
#: wallet/wallet.c:3656 #: wallet/wallet.c:3657
msgid "SELECT type FROM transactions WHERE id=?" msgid "SELECT type FROM transactions WHERE id=?"
msgstr "" msgstr ""
#: wallet/wallet.c:3679 #: wallet/wallet.c:3680
msgid "SELECT rawtx FROM transactions WHERE id=?" msgid "SELECT rawtx FROM transactions WHERE id=?"
msgstr "" msgstr ""
#: wallet/wallet.c:3725 #: wallet/wallet.c:3726
msgid "SELECT blockheight, txindex FROM transactions WHERE id=?" msgid "SELECT blockheight, txindex FROM transactions WHERE id=?"
msgstr "" msgstr ""
#: wallet/wallet.c:3753 #: wallet/wallet.c:3754
msgid "SELECT id FROM transactions WHERE blockheight=?" msgid "SELECT id FROM transactions WHERE blockheight=?"
msgstr "" msgstr ""
#: wallet/wallet.c:3772 #: wallet/wallet.c:3773
msgid "INSERT INTO channeltxs ( channel_id, type, transaction_id, input_num, blockheight) VALUES (?, ?, ?, ?, ?);" msgid "INSERT INTO channeltxs ( channel_id, type, transaction_id, input_num, blockheight) VALUES (?, ?, ?, ?, ?);"
msgstr "" msgstr ""
#: wallet/wallet.c:3796 #: wallet/wallet.c:3797
msgid "SELECT DISTINCT(channel_id) FROM channeltxs WHERE type = ?;" msgid "SELECT DISTINCT(channel_id) FROM channeltxs WHERE type = ?;"
msgstr "" 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;" 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 "" 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=?" msgid "UPDATE forwarded_payments SET in_msatoshi=?, out_msatoshi=?, state=?, resolved_time=?, failcode=? WHERE in_htlc_id=?"
msgstr "" 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 (?, ?, ?, ?, ?, ?, ?, ?, ?, ?);" 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 "" 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 = ?;" msgid "SELECT CAST(COALESCE(SUM(in_msatoshi - out_msatoshi), 0) AS BIGINT)FROM forwarded_payments WHERE state = ?;"
msgstr "" 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 = ?)" 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 "" 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" 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 "" msgstr ""
#: wallet/wallet.c:4244 #: wallet/wallet.c:4245
msgid "INSERT INTO penalty_bases ( channel_id, commitnum, txid, outnum, amount) VALUES (?, ?, ?, ?, ?);" msgid "INSERT INTO penalty_bases ( channel_id, commitnum, txid, outnum, amount) VALUES (?, ?, ?, ?, ?);"
msgstr "" msgstr ""
#: wallet/wallet.c:4269 #: wallet/wallet.c:4270
msgid "SELECT commitnum, txid, outnum, amount FROM penalty_bases WHERE channel_id = ?" msgid "SELECT commitnum, txid, outnum, amount FROM penalty_bases WHERE channel_id = ?"
msgstr "" msgstr ""
#: wallet/wallet.c:4293 #: wallet/wallet.c:4294
msgid "DELETE FROM penalty_bases WHERE channel_id = ? AND commitnum = ?" msgid "DELETE FROM penalty_bases WHERE channel_id = ? AND commitnum = ?"
msgstr "" msgstr ""
#: wallet/wallet.c:4311 #: wallet/wallet.c:4312
msgid "SELECT 1 FROM offers WHERE offer_id = ?;" msgid "SELECT 1 FROM offers WHERE offer_id = ?;"
msgstr "" msgstr ""
#: wallet/wallet.c:4324 #: wallet/wallet.c:4325
msgid "INSERT INTO offers ( offer_id, bolt12, label, status) VALUES (?, ?, ?, ?);" msgid "INSERT INTO offers ( offer_id, bolt12, label, status) VALUES (?, ?, ?, ?);"
msgstr "" msgstr ""
#: wallet/wallet.c:4351 #: wallet/wallet.c:4352
msgid "SELECT bolt12, label, status FROM offers WHERE offer_id = ?;" msgid "SELECT bolt12, label, status FROM offers WHERE offer_id = ?;"
msgstr "" msgstr ""
#: wallet/wallet.c:4379 #: wallet/wallet.c:4380
msgid "SELECT offer_id FROM offers;" msgid "SELECT offer_id FROM offers;"
msgstr "" msgstr ""
#: wallet/wallet.c:4405 #: wallet/wallet.c:4406
msgid "UPDATE offers SET status=? WHERE offer_id = ?;" msgid "UPDATE offers SET status=? WHERE offer_id = ?;"
msgstr "" msgstr ""
#: wallet/wallet.c:4416 #: wallet/wallet.c:4417
msgid "UPDATE invoices SET state=? WHERE state=? AND local_offer_id = ?;" msgid "UPDATE invoices SET state=? WHERE state=? AND local_offer_id = ?;"
msgstr "" msgstr ""
#: wallet/wallet.c:4444 #: wallet/wallet.c:4445
msgid "SELECT status FROM offers WHERE offer_id = ?;" msgid "SELECT status FROM offers WHERE offer_id = ?;"
msgstr "" msgstr ""
@ -1245,4 +1245,4 @@ msgstr ""
#: wallet/test/run-wallet.c:1643 #: wallet/test/run-wallet.c:1643
msgid "INSERT INTO channels (id) VALUES (1);" msgid "INSERT INTO channels (id) VALUES (1);"
msgstr "" msgstr ""
# SHA256STAMP:b110e3333958e18759ec9a2cf17840a3ded609edbdd6001962888a0152ac879c # SHA256STAMP:20d1dab0cbcccd97d272a24875a28c235580a45f422db8ae2c375dab07361a86

View file

@ -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, parse_wireaddr_internal("localhost:1234", &addr, 0, false, false, false,
NULL); NULL);
c1.final_key_idx = 1337; c1.final_key_idx = 1337;
p = new_peer(ld, 0, &id, &addr); p = new_peer(ld, 0, &id, &addr, false);
c1.peer = p; c1.peer = p;
c1.dbid = wallet_get_channel_dbid(w); c1.dbid = wallet_get_channel_dbid(w);
c1.state = CHANNELD_NORMAL; c1.state = CHANNELD_NORMAL;
@ -1481,7 +1481,7 @@ static bool test_channel_inflight_crud(struct lightningd *ld, const tal_t *ctx)
NULL); NULL);
/* new channel! */ /* new channel! */
p = new_peer(ld, 0, &id, &addr); p = new_peer(ld, 0, &id, &addr, false);
funding_sats = AMOUNT_SAT(4444444); funding_sats = AMOUNT_SAT(4444444);
our_sats = AMOUNT_SAT(3333333); our_sats = AMOUNT_SAT(3333333);

View file

@ -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)) if (!parse_wireaddr_internal((const char*)addrstr, &addr, DEFAULT_PORT, false, false, true, NULL))
goto done; 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: done:
tal_free(stmt); tal_free(stmt);