swaps: add some type hints, and force kwargs
This commit is contained in:
@@ -1910,7 +1910,7 @@ class Commands(Logger):
|
||||
lightning_amount_sat = satoshis(lightning_amount)
|
||||
onchain_amount_sat = satoshis(onchain_amount)
|
||||
txid = await wallet.lnworker.swap_manager.normal_swap(
|
||||
transport,
|
||||
transport=transport,
|
||||
lightning_amount_sat=lightning_amount_sat,
|
||||
expected_onchain_amount_sat=onchain_amount_sat,
|
||||
password=password,
|
||||
@@ -1946,7 +1946,7 @@ class Commands(Logger):
|
||||
claim_fee = sm.get_fee_for_txbatcher()
|
||||
onchain_amount_sat = satoshis(onchain_amount) + claim_fee
|
||||
funding_txid = await wallet.lnworker.swap_manager.reverse_swap(
|
||||
transport,
|
||||
transport=transport,
|
||||
lightning_amount_sat=lightning_amount_sat,
|
||||
expected_onchain_amount_sat=onchain_amount_sat,
|
||||
)
|
||||
|
||||
@@ -623,13 +623,14 @@ class QESwapHelper(AuthMixin, QObject, QtEventListener):
|
||||
self.userinfo = _('Performing swap...')
|
||||
self.state = QESwapHelper.State.Started
|
||||
self._swap, invoice = await self._wallet.wallet.lnworker.swap_manager.request_normal_swap(
|
||||
self.swap_transport,
|
||||
transport=self.swap_transport,
|
||||
lightning_amount_sat=lightning_amount,
|
||||
expected_onchain_amount_sat=onchain_amount,
|
||||
)
|
||||
|
||||
tx = self._wallet.wallet.lnworker.swap_manager.create_funding_tx(self._swap, dummy_tx, password=self._wallet.password)
|
||||
coro2 = self._wallet.wallet.lnworker.swap_manager.wait_for_htlcs_and_broadcast(self.swap_transport, swap=self._swap, invoice=invoice, tx=tx)
|
||||
coro2 = self._wallet.wallet.lnworker.swap_manager.wait_for_htlcs_and_broadcast(
|
||||
transport=self.swap_transport, swap=self._swap, invoice=invoice, tx=tx)
|
||||
self._fut_htlc_wait = fut = asyncio.create_task(coro2)
|
||||
|
||||
self.canCancel = True
|
||||
@@ -703,7 +704,7 @@ class QESwapHelper(AuthMixin, QObject, QtEventListener):
|
||||
self.state = QESwapHelper.State.Started
|
||||
await swap_manager.is_initialized.wait()
|
||||
txid = await swap_manager.reverse_swap(
|
||||
self.swap_transport,
|
||||
transport=self.swap_transport,
|
||||
lightning_amount_sat=lightning_amount,
|
||||
expected_onchain_amount_sat=onchain_amount + swap_manager.get_fee_for_txbatcher(),
|
||||
)
|
||||
|
||||
@@ -336,7 +336,7 @@ class SendTab(QWidget, MessageBoxMixin, Logger):
|
||||
with self.window.create_sm_transport() as transport:
|
||||
if not self.window.initialize_swap_manager(transport):
|
||||
return
|
||||
coro = sm.request_swap_for_amount(transport, swap_dummy_output.value)
|
||||
coro = sm.request_swap_for_amount(transport=transport, onchain_amount=swap_dummy_output.value)
|
||||
try:
|
||||
swap, swap_invoice = self.window.run_coroutine_dialog(coro, _('Requesting swap invoice...'))
|
||||
except SwapServerError as e:
|
||||
@@ -726,7 +726,8 @@ class SendTab(QWidget, MessageBoxMixin, Logger):
|
||||
sm = self.wallet.lnworker.swap_manager
|
||||
swap = sm.get_swap(tx.swap_payment_hash)
|
||||
with sm.create_transport() as transport:
|
||||
coro = sm.wait_for_htlcs_and_broadcast(transport, swap=swap, invoice=tx.swap_invoice, tx=tx)
|
||||
coro = sm.wait_for_htlcs_and_broadcast(
|
||||
transport=transport, swap=swap, invoice=tx.swap_invoice, tx=tx)
|
||||
try:
|
||||
funding_txid = self.window.run_coroutine_dialog(coro, _('Awaiting lightning payment...'))
|
||||
except UserCancelled:
|
||||
|
||||
@@ -304,7 +304,7 @@ class SwapDialog(WindowModalDialog, QtEventListener):
|
||||
return
|
||||
sm = self.swap_manager
|
||||
coro = sm.reverse_swap(
|
||||
transport,
|
||||
transport=transport,
|
||||
lightning_amount_sat=lightning_amount,
|
||||
expected_onchain_amount_sat=onchain_amount + self.swap_manager.get_fee_for_txbatcher(),
|
||||
)
|
||||
|
||||
@@ -687,8 +687,8 @@ class SwapManager(Logger):
|
||||
|
||||
async def normal_swap(
|
||||
self,
|
||||
transport: 'SwapServerTransport',
|
||||
*,
|
||||
transport: 'SwapServerTransport',
|
||||
lightning_amount_sat: int,
|
||||
expected_onchain_amount_sat: int,
|
||||
password,
|
||||
@@ -726,7 +726,9 @@ class SwapManager(Logger):
|
||||
return await self.wait_for_htlcs_and_broadcast(transport=transport, swap=swap, invoice=invoice, tx=tx)
|
||||
|
||||
async def request_normal_swap(
|
||||
self, transport, *,
|
||||
self,
|
||||
*,
|
||||
transport: 'SwapServerTransport',
|
||||
lightning_amount_sat: int,
|
||||
expected_onchain_amount_sat: int,
|
||||
channels: Optional[Sequence['Channel']] = None,
|
||||
@@ -782,7 +784,9 @@ class SwapManager(Logger):
|
||||
return swap, invoice
|
||||
|
||||
async def wait_for_htlcs_and_broadcast(
|
||||
self, transport, *,
|
||||
self,
|
||||
*,
|
||||
transport: 'SwapServerTransport',
|
||||
swap: SwapData,
|
||||
invoice: str,
|
||||
tx: Transaction,
|
||||
@@ -839,7 +843,12 @@ class SwapManager(Logger):
|
||||
return tx
|
||||
|
||||
@log_exceptions
|
||||
async def request_swap_for_amount(self, transport, onchain_amount) -> Optional[Tuple[SwapData, str]]:
|
||||
async def request_swap_for_amount(
|
||||
self,
|
||||
*,
|
||||
transport: 'SwapServerTransport',
|
||||
onchain_amount: int,
|
||||
) -> Optional[Tuple[SwapData, str]]:
|
||||
await self.is_initialized.wait()
|
||||
lightning_amount_sat = self.get_recv_amount(onchain_amount, is_reverse=False)
|
||||
if lightning_amount_sat is None:
|
||||
@@ -847,7 +856,7 @@ class SwapManager(Logger):
|
||||
+ _("min") + f": {self.get_min_amount()}\n"
|
||||
+ _("max") + f": {self.get_provider_max_reverse_amount()}")
|
||||
swap, invoice = await self.request_normal_swap(
|
||||
transport,
|
||||
transport=transport,
|
||||
lightning_amount_sat=lightning_amount_sat,
|
||||
expected_onchain_amount_sat=onchain_amount)
|
||||
return swap, invoice
|
||||
@@ -858,8 +867,9 @@ class SwapManager(Logger):
|
||||
await self.network.broadcast_transaction(tx)
|
||||
|
||||
async def reverse_swap(
|
||||
self, transport,
|
||||
self,
|
||||
*,
|
||||
transport: 'SwapServerTransport',
|
||||
lightning_amount_sat: int,
|
||||
expected_onchain_amount_sat: int,
|
||||
channels: Optional[Sequence['Channel']] = None,
|
||||
@@ -1422,7 +1432,7 @@ class NostrTransport(SwapServerTransport):
|
||||
self.nostr_pubkey = keypair.pubkey.hex()[2:]
|
||||
self.dm_replies = defaultdict(asyncio.Future) # type: Dict[str, asyncio.Future]
|
||||
self.ssl_context = ssl.create_default_context(purpose=ssl.Purpose.SERVER_AUTH, cafile=ca_path)
|
||||
self.relay_manager = None
|
||||
self.relay_manager = None # type: Optional[aionostr.Manager]
|
||||
self.taskgroup = OldTaskGroup()
|
||||
self._last_swapserver_relays = self._load_last_swapserver_relays() # type: Optional[Sequence[str]]
|
||||
|
||||
@@ -1486,7 +1496,7 @@ class NostrTransport(SwapServerTransport):
|
||||
last_swapserver_relays = self._last_swapserver_relays or []
|
||||
return list(set(our_relays + last_swapserver_relays))
|
||||
|
||||
def get_relay_manager(self):
|
||||
def get_relay_manager(self) -> aionostr.Manager:
|
||||
assert get_running_loop() == get_asyncio_loop(), f"this must be run on the asyncio thread!"
|
||||
if not self.relay_manager:
|
||||
if self.uses_proxy:
|
||||
|
||||
Reference in New Issue
Block a user