Restructure wallet storage:
- Perform json deserializations in wallet_db - use StoredDict class that keeps tracks of its modifications
This commit is contained in:
@@ -4,18 +4,18 @@ from typing import NamedTuple
|
||||
|
||||
from electrum.lnutil import RECEIVED, LOCAL, REMOTE, SENT, HTLCOwner, Direction
|
||||
from electrum.lnhtlc import HTLCManager
|
||||
from electrum.json_db import StoredDict
|
||||
|
||||
from . import ElectrumTestCase
|
||||
|
||||
|
||||
class H(NamedTuple):
|
||||
owner : str
|
||||
htlc_id : int
|
||||
|
||||
class TestHTLCManager(ElectrumTestCase):
|
||||
def test_adding_htlcs_race(self):
|
||||
A = HTLCManager()
|
||||
B = HTLCManager()
|
||||
A = HTLCManager(StoredDict({}, None, []))
|
||||
B = HTLCManager(StoredDict({}, None, []))
|
||||
A.channel_open_finished()
|
||||
B.channel_open_finished()
|
||||
ah0, bh0 = H('A', 0), H('B', 0)
|
||||
@@ -61,8 +61,8 @@ class TestHTLCManager(ElectrumTestCase):
|
||||
|
||||
def test_single_htlc_full_lifecycle(self):
|
||||
def htlc_lifecycle(htlc_success: bool):
|
||||
A = HTLCManager()
|
||||
B = HTLCManager()
|
||||
A = HTLCManager(StoredDict({}, None, []))
|
||||
B = HTLCManager(StoredDict({}, None, []))
|
||||
A.channel_open_finished()
|
||||
B.channel_open_finished()
|
||||
B.recv_htlc(A.send_htlc(H('A', 0)))
|
||||
@@ -134,8 +134,8 @@ class TestHTLCManager(ElectrumTestCase):
|
||||
|
||||
def test_remove_htlc_while_owing_commitment(self):
|
||||
def htlc_lifecycle(htlc_success: bool):
|
||||
A = HTLCManager()
|
||||
B = HTLCManager()
|
||||
A = HTLCManager(StoredDict({}, None, []))
|
||||
B = HTLCManager(StoredDict({}, None, []))
|
||||
A.channel_open_finished()
|
||||
B.channel_open_finished()
|
||||
ah0 = H('A', 0)
|
||||
@@ -171,8 +171,8 @@ class TestHTLCManager(ElectrumTestCase):
|
||||
htlc_lifecycle(htlc_success=False)
|
||||
|
||||
def test_adding_htlc_between_send_ctx_and_recv_rev(self):
|
||||
A = HTLCManager()
|
||||
B = HTLCManager()
|
||||
A = HTLCManager(StoredDict({}, None, []))
|
||||
B = HTLCManager(StoredDict({}, None, []))
|
||||
A.channel_open_finished()
|
||||
B.channel_open_finished()
|
||||
A.send_ctx()
|
||||
@@ -217,8 +217,8 @@ class TestHTLCManager(ElectrumTestCase):
|
||||
self.assertEqual([(Direction.RECEIVED, ah0)], A.get_htlcs_in_next_ctx(REMOTE))
|
||||
|
||||
def test_unacked_local_updates(self):
|
||||
A = HTLCManager()
|
||||
B = HTLCManager()
|
||||
A = HTLCManager(StoredDict({}, None, []))
|
||||
B = HTLCManager(StoredDict({}, None, []))
|
||||
A.channel_open_finished()
|
||||
B.channel_open_finished()
|
||||
self.assertEqual({}, A.get_unacked_local_updates())
|
||||
|
||||
Reference in New Issue
Block a user