mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-03-01 17:47:30 +01:00
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:
parent
b0d6996ed6
commit
006300ab96
9 changed files with 136 additions and 117 deletions
|
@ -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, ...)
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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);
|
||||
|
|
2
wallet/db_postgres_sqlgen.c
generated
2
wallet/db_postgres_sqlgen.c
generated
|
@ -1888,4 +1888,4 @@ struct db_query db_postgres_queries[] = {
|
|||
|
||||
#endif /* LIGHTNINGD_WALLET_GEN_DB_POSTGRES */
|
||||
|
||||
// SHA256STAMP:08adbcdb1d190901ae39605a2c1cb0d4639f6d88ddff2f1cd370e1fdc9663a2d
|
||||
// SHA256STAMP:3744f07477049e8640c44c9d9d2ba90672e0cc5ca610b6e7cda7b593085a1f63
|
||||
|
|
2
wallet/db_sqlite3_sqlgen.c
generated
2
wallet/db_sqlite3_sqlgen.c
generated
|
@ -1888,4 +1888,4 @@ struct db_query db_sqlite3_queries[] = {
|
|||
|
||||
#endif /* LIGHTNINGD_WALLET_GEN_DB_SQLITE3 */
|
||||
|
||||
// SHA256STAMP:08adbcdb1d190901ae39605a2c1cb0d4639f6d88ddff2f1cd370e1fdc9663a2d
|
||||
// SHA256STAMP:3744f07477049e8640c44c9d9d2ba90672e0cc5ca610b6e7cda7b593085a1f63
|
||||
|
|
206
wallet/statements_gettextgen.po
generated
206
wallet/statements_gettextgen.po
generated
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Add table
Reference in a new issue