1
0

Swaps over Nostr

- Separation between SwapManager and its transport:
   Legacy transpport uses http, Nostr uses websockets
 - The transport uses a context to open/close connections.
   This context is not async, because it needs to be called
   from the GUI
 - Swapserver fees values are initialized to None instead
   of 0, so that any attempt to use them before the swap
   manager is initialized will raise an exception.
 - Remove swapserver fees disk caching (swap_pairs file)
 - Regtests use http transport
 - Android uses http transport (until QML is ready)
This commit is contained in:
ThomasV
2024-10-10 12:30:27 +02:00
parent 7fdf1e0669
commit 60f13a977e
15 changed files with 549 additions and 211 deletions

View File

@@ -79,10 +79,14 @@ class TestLightningSwapserver(TestLightning):
agents = {
'alice': {
'use_gossip': 'false',
'swapserver_url': 'http://localhost:5455',
'nostr_relays': "''",
},
'bob': {
'lightning_listen': 'localhost:9735',
'enable_plugin_swapserver': 'true',
'swapserver_port': '5455',
'nostr_relays': "''",
}
}

View File

@@ -148,22 +148,6 @@ class Test_SimpleConfig(ElectrumTestCase):
config.NETWORK_MAX_INCOMING_MSG_SIZE = None
self.assertEqual(MAX_MSG_SIZE_DEFAULT, config.NETWORK_MAX_INCOMING_MSG_SIZE)
def test_configvars_get_default_value_complex_fn(self):
config = SimpleConfig(self.options)
self.assertEqual("https://swaps.electrum.org/api", config.SWAPSERVER_URL)
config.SWAPSERVER_URL = "http://localhost:9999"
self.assertEqual("http://localhost:9999", config.SWAPSERVER_URL)
config.SWAPSERVER_URL = None
self.assertEqual("https://swaps.electrum.org/api", config.SWAPSERVER_URL)
constants.BitcoinTestnet.set_as_network()
try:
self.assertEqual("https://swaps.electrum.org/testnet", config.SWAPSERVER_URL)
finally:
constants.BitcoinMainnet.set_as_network()
def test_configvars_convert_getter(self):
config = SimpleConfig(self.options)
self.assertEqual(None, config.NETWORK_PROXY)