mirror of
https://github.com/aljazceru/lightning.git
synced 2025-12-20 07:34:24 +01:00
bkpr: exclude non-wallet events in the balance snapshot
Anchor outputs are ignored by the clightning wallet, but we keep track of them in the bookkeeper. This causes problems when we do the balance checks on restart w/ the balance_snapshot -- it results in us printing out a journal_entry to 'get rid of' the anchors that the clightning node doesnt know about. Instead, we mark some outputs as 'ignored' and exclude these from our account balance sums when we're comparing to the clightning snapshot.
This commit is contained in:
@@ -593,8 +593,8 @@ def test_penalty_inhtlc(node_factory, bitcoind, executor, chainparams):
|
||||
if anchor_expected():
|
||||
expected_1['B'].append(('external', ['anchor'], None, None))
|
||||
expected_2['B'].append(('external', ['anchor'], None, None))
|
||||
expected_1['B'].append(('wallet', ['anchor'], None, None))
|
||||
expected_2['B'].append(('wallet', ['anchor'], None, None))
|
||||
expected_1['B'].append(('wallet', ['anchor', 'ignored'], None, None))
|
||||
expected_2['B'].append(('wallet', ['anchor', 'ignored'], None, None))
|
||||
|
||||
# We use a subset of tags in expected_2 that are used in expected_1
|
||||
tags = check_utxos_channel(l1, [channel_id], expected_1)
|
||||
@@ -720,8 +720,8 @@ def test_penalty_outhtlc(node_factory, bitcoind, executor, chainparams):
|
||||
if anchor_expected():
|
||||
expected_1['B'].append(('external', ['anchor'], None, None))
|
||||
expected_2['B'].append(('external', ['anchor'], None, None))
|
||||
expected_1['B'].append(('wallet', ['anchor'], None, None))
|
||||
expected_2['B'].append(('wallet', ['anchor'], None, None))
|
||||
expected_1['B'].append(('wallet', ['anchor', 'ignored'], None, None))
|
||||
expected_2['B'].append(('wallet', ['anchor', 'ignored'], None, None))
|
||||
|
||||
# We use a subset of tags in expected_2 that are used in expected_1
|
||||
tags = check_utxos_channel(l1, [channel_id], expected_1)
|
||||
@@ -983,6 +983,10 @@ def test_channel_lease_unilat_closes(node_factory, bitcoind):
|
||||
# l3 cleans up their to-self after their lease expires
|
||||
assert l3.daemon.is_in_log('Broadcasting OUR_DELAYED_RETURN_TO_WALLET')
|
||||
|
||||
# We were making a journal_entry for anchors, but now we ignore them
|
||||
incomes = l2.rpc.listincome()['income_events']
|
||||
assert 'journal_entry' not in [x['tag'] for x in incomes]
|
||||
|
||||
|
||||
@unittest.skipIf(TEST_NETWORK != 'regtest', 'elementsd doesnt yet support PSBT features we need')
|
||||
@pytest.mark.openchannel('v2')
|
||||
@@ -1284,8 +1288,8 @@ def test_penalty_htlc_tx_fulfill(node_factory, bitcoind, chainparams):
|
||||
if anchor_expected():
|
||||
expected_2['B'].append(('external', ['anchor'], None, None))
|
||||
expected_3['B'].append(('external', ['anchor'], None, None))
|
||||
expected_2['B'].append(('wallet', ['anchor'], None, None))
|
||||
expected_3['B'].append(('wallet', ['anchor'], None, None))
|
||||
expected_2['B'].append(('wallet', ['anchor', 'ignored'], None, None))
|
||||
expected_3['B'].append(('wallet', ['anchor', 'ignored'], None, None))
|
||||
|
||||
tags = check_utxos_channel(l2, [channel_id], expected_2, filter_channel=channel_id)
|
||||
check_utxos_channel(l3, [channel_id], expected_3, tags, filter_channel=channel_id)
|
||||
@@ -1504,8 +1508,8 @@ def test_penalty_htlc_tx_timeout(node_factory, bitcoind, chainparams):
|
||||
if anchor_expected():
|
||||
expected_2['B'].append(('external', ['anchor'], None, None))
|
||||
expected_3['B'].append(('external', ['anchor'], None, None))
|
||||
expected_2['B'].append(('wallet', ['anchor'], None, None))
|
||||
expected_3['B'].append(('wallet', ['anchor'], None, None))
|
||||
expected_2['B'].append(('wallet', ['anchor', 'ignored'], None, None))
|
||||
expected_3['B'].append(('wallet', ['anchor', 'ignored'], None, None))
|
||||
|
||||
tags = check_utxos_channel(l2, [channel_id], expected_2, filter_channel=channel_id)
|
||||
check_utxos_channel(l3, [channel_id], expected_3, tags, filter_channel=channel_id)
|
||||
@@ -1630,7 +1634,7 @@ def test_penalty_rbf_normal(node_factory, bitcoind, executor, chainparams):
|
||||
|
||||
if anchor_expected():
|
||||
expected_2['B'].append(('external', ['anchor'], None, None))
|
||||
expected_2['B'].append(('wallet', ['anchor'], None, None))
|
||||
expected_2['B'].append(('wallet', ['anchor', 'ignored'], None, None))
|
||||
|
||||
check_utxos_channel(l2, [channel_id], expected_2)
|
||||
|
||||
@@ -1751,7 +1755,7 @@ def test_penalty_rbf_burn(node_factory, bitcoind, executor, chainparams):
|
||||
|
||||
if anchor_expected():
|
||||
expected_2['B'].append(('external', ['anchor'], None, None))
|
||||
expected_2['B'].append(('wallet', ['anchor'], None, None))
|
||||
expected_2['B'].append(('wallet', ['anchor', 'ignored'], None, None))
|
||||
|
||||
check_utxos_channel(l2, [channel_id], expected_2)
|
||||
|
||||
@@ -2083,8 +2087,8 @@ def test_onchain_timeout(node_factory, bitcoind, executor):
|
||||
if anchor_expected():
|
||||
expected_1['B'].append(('external', ['anchor'], None, None))
|
||||
expected_2['B'].append(('external', ['anchor'], None, None))
|
||||
expected_1['B'].append(('wallet', ['anchor'], None, None))
|
||||
expected_2['B'].append(('wallet', ['anchor'], None, None))
|
||||
expected_1['B'].append(('wallet', ['anchor', 'ignored'], None, None))
|
||||
expected_2['B'].append(('wallet', ['anchor', 'ignored'], None, None))
|
||||
|
||||
# We use a subset of tags in expected_2 that are used in expected_1
|
||||
tags = check_utxos_channel(l1, [channel_id], expected_1)
|
||||
@@ -2202,8 +2206,8 @@ def test_onchain_middleman_simple(node_factory, bitcoind):
|
||||
if anchor_expected():
|
||||
expected_1['B'].append(('external', ['anchor'], None, None))
|
||||
expected_2['B'].append(('external', ['anchor'], None, None))
|
||||
expected_1['B'].append(('wallet', ['anchor'], None, None))
|
||||
expected_2['B'].append(('wallet', ['anchor'], None, None))
|
||||
expected_1['B'].append(('wallet', ['anchor', 'ignored'], None, None))
|
||||
expected_2['B'].append(('wallet', ['anchor', 'ignored'], None, None))
|
||||
|
||||
chan2_id = first_channel_id(l2, l3)
|
||||
tags = check_utxos_channel(l2, [channel_id, chan2_id], expected_2)
|
||||
@@ -2322,8 +2326,8 @@ def test_onchain_middleman_their_unilateral_in(node_factory, bitcoind):
|
||||
if anchor_expected():
|
||||
expected_1['B'].append(('external', ['anchor'], None, None))
|
||||
expected_2['B'].append(('external', ['anchor'], None, None))
|
||||
expected_1['B'].append(('wallet', ['anchor'], None, None))
|
||||
expected_2['B'].append(('wallet', ['anchor'], None, None))
|
||||
expected_1['B'].append(('wallet', ['anchor', 'ignored'], None, None))
|
||||
expected_2['B'].append(('wallet', ['anchor', 'ignored'], None, None))
|
||||
|
||||
chan2_id = first_channel_id(l2, l3)
|
||||
tags = check_utxos_channel(l2, [channel_id, chan2_id], expected_2)
|
||||
@@ -2412,8 +2416,8 @@ def test_onchain_their_unilateral_out(node_factory, bitcoind):
|
||||
if anchor_expected():
|
||||
expected_1['B'].append(('external', ['anchor'], None, None))
|
||||
expected_2['B'].append(('external', ['anchor'], None, None))
|
||||
expected_1['B'].append(('wallet', ['anchor'], None, None))
|
||||
expected_2['B'].append(('wallet', ['anchor'], None, None))
|
||||
expected_1['B'].append(('wallet', ['anchor', 'ignored'], None, None))
|
||||
expected_2['B'].append(('wallet', ['anchor', 'ignored'], None, None))
|
||||
|
||||
tags = check_utxos_channel(l1, [channel_id], expected_1)
|
||||
check_utxos_channel(l2, [channel_id], expected_2, tags)
|
||||
@@ -2614,8 +2618,8 @@ def test_onchain_all_dust(node_factory, bitcoind, executor):
|
||||
if anchor_expected():
|
||||
expected_1['B'].append(('external', ['anchor'], None, None))
|
||||
expected_2['B'].append(('external', ['anchor'], None, None))
|
||||
expected_1['B'].append(('wallet', ['anchor'], None, None))
|
||||
expected_2['B'].append(('wallet', ['anchor'], None, None))
|
||||
expected_1['B'].append(('wallet', ['anchor', 'ignored'], None, None))
|
||||
expected_2['B'].append(('wallet', ['anchor', 'ignored'], None, None))
|
||||
|
||||
tags = check_utxos_channel(l1, [channel_id], expected_1)
|
||||
check_utxos_channel(l2, [channel_id], expected_2, tags)
|
||||
|
||||
Reference in New Issue
Block a user