diff --git a/electrum/channel_db.py b/electrum/channel_db.py index f6bc54417..3b8cd578c 100644 --- a/electrum/channel_db.py +++ b/electrum/channel_db.py @@ -254,7 +254,7 @@ class ChannelDB(SqlDB): # initialized in load_data self._channels = {} # type: Dict[bytes, ChannelInfo] self._policies = {} # type: Dict[Tuple[bytes, bytes], Policy] # (node_id, scid) -> Policy - self._nodes = {} + self._nodes = {} # type: Dict[bytes, NodeInfo] # node_id -> NodeInfo # node_id -> (host, port, ts) self._addresses = defaultdict(set) # type: Dict[bytes, Set[Tuple[str, int, int]]] self._channels_for_node = defaultdict(set) # type: Dict[bytes, Set[ShortChannelID]] diff --git a/electrum/lnonion.py b/electrum/lnonion.py index 7d61f9d02..a198fe364 100644 --- a/electrum/lnonion.py +++ b/electrum/lnonion.py @@ -26,8 +26,8 @@ import hashlib from typing import Sequence, List, Tuple, NamedTuple, TYPE_CHECKING from enum import IntEnum, IntFlag -from Cryptodome.Cipher import ChaCha20 +from Cryptodome.Cipher import ChaCha20 from . import ecc from .crypto import sha256, hmac_oneshot @@ -231,9 +231,10 @@ def generate_cipher_stream(stream_key: bytes, num_bytes: int) -> bytes: return cipher.encrypt(bytes(num_bytes)) -ProcessedOnionPacket = NamedTuple("ProcessedOnionPacket", [("are_we_final", bool), - ("hop_data", OnionHopsDataSingle), - ("next_packet", OnionPacket)]) +class ProcessedOnionPacket(NamedTuple): + are_we_final: bool + hop_data: OnionHopsDataSingle + next_packet: OnionPacket # TODO replay protection diff --git a/electrum/lnpeer.py b/electrum/lnpeer.py index 2bfcfa64d..83cf8ffef 100644 --- a/electrum/lnpeer.py +++ b/electrum/lnpeer.py @@ -320,7 +320,7 @@ class Peer(Logger): try: await asyncio.wait_for(self.initialized, LN_P2P_NETWORK_TIMEOUT) except Exception as e: - raise GracefulDisconnect(f"Failed to initialize: {e}") from e + raise GracefulDisconnect(f"Failed to initialize: {e!r}") from e if self.lnworker == self.lnworker.network.lngossip: try: ids, complete = await asyncio.wait_for(self.get_channel_range(), LN_P2P_NETWORK_TIMEOUT) diff --git a/electrum/lnworker.py b/electrum/lnworker.py index c2d86348b..31a0a7fd4 100644 --- a/electrum/lnworker.py +++ b/electrum/lnworker.py @@ -7,7 +7,7 @@ import os from decimal import Decimal import random import time -from typing import Optional, Sequence, Tuple, List, Dict, TYPE_CHECKING +from typing import Optional, Sequence, Tuple, List, Dict, TYPE_CHECKING, NamedTuple import threading import socket import json @@ -106,8 +106,6 @@ FALLBACK_NODE_LIST_MAINNET = [ ] -from typing import NamedTuple - class PaymentInfo(NamedTuple): payment_hash: bytes amount: int diff --git a/electrum/transaction.py b/electrum/transaction.py index e777611a4..041d5b1d6 100644 --- a/electrum/transaction.py +++ b/electrum/transaction.py @@ -180,7 +180,7 @@ class TxOutpoint(NamedTuple): def to_str(self) -> str: return f"{self.txid.hex()}:{self.out_idx}" - def to_json(self) -> str: + def to_json(self): return [self.txid.hex(), self.out_idx] def serialize_to_network(self) -> bytes: