Browse Source

fix watchtower regtest flakiness caused by CTN variability. fixes #7961

patch-4
ThomasV 2 years ago
parent
commit
70da10d662
  1. 2
      electrum/commands.py
  2. 11
      electrum/tests/regtest/regtest.sh

2
electrum/commands.py

@ -1134,6 +1134,8 @@ class Commands:
'remote_pubkey': bh2u(chan.node_id),
'local_balance': chan.balance(LOCAL)//1000,
'remote_balance': chan.balance(REMOTE)//1000,
'local_ctn': chan.get_latest_ctn(LOCAL),
'remote_ctn': chan.get_latest_ctn(REMOTE),
'local_reserve': chan.config[REMOTE].reserve_sat, # their config has our reserve
'remote_reserve': chan.config[LOCAL].reserve_sat,
'local_unsettled_sent': chan.balance_tied_up_in_htlcs_by_direction(LOCAL, direction=SENT) // 1000,

11
electrum/tests/regtest/regtest.sh

@ -353,14 +353,15 @@ if [[ $1 == "watchtower" ]]; then
echo "alice pays bob again"
invoice2=$($bob add_request 0.01 -m "invoice2" | jq -r ".lightning_invoice")
$alice lnpay $invoice2
alice_ctn=$($alice list_channels | jq '.[0].local_ctn')
msg="waiting until watchtower is synchronized"
while watchtower_ctn=$($carol get_watchtower_ctn $channel) && [[ $watchtower_ctn != "3" ]]; do
sleep 1
msg="$msg."
printf "$msg\r"
# watchtower needs to be at latest revoked ctn
while watchtower_ctn=$($carol get_watchtower_ctn $channel) && [[ $watchtower_ctn != $((alice_ctn-1)) ]]; do
sleep 0.1
printf "$msg $alice_ctn $watchtower_ctn\r"
done
printf "\n"
echo "alice and bob do nothing"
echo "stopping alice and bob"
$bob stop
$alice stop
ctx_id=$($bitcoin_cli sendrawtransaction $ctx)

Loading…
Cancel
Save