1
0

sqlite in lnrouter: request missing channel_announcements and node_announcements

This commit is contained in:
Janus
2019-02-20 21:03:53 +01:00
committed by ThomasV
parent d2d67f1fe1
commit 945e1dc4ee
2 changed files with 17 additions and 1 deletions

View File

@@ -30,7 +30,7 @@ import os
import json
import threading
from collections import defaultdict
from typing import Sequence, List, Tuple, Optional, Dict, NamedTuple, TYPE_CHECKING
from typing import Sequence, List, Tuple, Optional, Dict, NamedTuple, TYPE_CHECKING, Set
import binascii
import base64
import asyncio
@@ -345,6 +345,10 @@ class ChannelDB:
rows = DBSession.query(ChannelInfoInDB).filter(condition).all()
return [bytes.fromhex(x.short_channel_id) for x in rows]
def missing_short_chan_ids(self) -> Set[int]:
expr = not_(Policy.short_channel_id.in_(DBSession.query(ChannelInfoInDB.short_channel_id)))
return set(DBSession.query(Policy.short_channel_id).filter(expr).all())
def add_verified_channel_info(self, short_id, capacity):
# called from lnchannelverifier
channel_info = self.get_channel_info(short_id)