Do not store message payloads in channel db.
Use single primary key for addresses.
This commit is contained in:
@@ -76,8 +76,6 @@ class ChannelInfo(NamedTuple):
|
|||||||
node1_id: bytes
|
node1_id: bytes
|
||||||
node2_id: bytes
|
node2_id: bytes
|
||||||
capacity_sat: int
|
capacity_sat: int
|
||||||
msg_payload: bytes
|
|
||||||
trusted: bool
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def from_msg(payload):
|
def from_msg(payload):
|
||||||
@@ -87,16 +85,12 @@ class ChannelInfo(NamedTuple):
|
|||||||
node_id_1 = payload['node_id_1']
|
node_id_1 = payload['node_id_1']
|
||||||
node_id_2 = payload['node_id_2']
|
node_id_2 = payload['node_id_2']
|
||||||
assert list(sorted([node_id_1, node_id_2])) == [node_id_1, node_id_2]
|
assert list(sorted([node_id_1, node_id_2])) == [node_id_1, node_id_2]
|
||||||
msg_payload = encode_msg('channel_announcement', **payload)
|
|
||||||
capacity_sat = None
|
capacity_sat = None
|
||||||
return ChannelInfo(
|
return ChannelInfo(
|
||||||
short_channel_id = channel_id,
|
short_channel_id = channel_id,
|
||||||
node1_id = node_id_1,
|
node1_id = node_id_1,
|
||||||
node2_id = node_id_2,
|
node2_id = node_id_2,
|
||||||
capacity_sat = capacity_sat,
|
capacity_sat = capacity_sat)
|
||||||
msg_payload = msg_payload,
|
|
||||||
trusted = False)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class Policy(NamedTuple):
|
class Policy(NamedTuple):
|
||||||
@@ -206,17 +200,12 @@ class ChannelInfoBase(Base):
|
|||||||
node1_id = Column(String(66), ForeignKey('node_info.node_id'), nullable=False)
|
node1_id = Column(String(66), ForeignKey('node_info.node_id'), nullable=False)
|
||||||
node2_id = Column(String(66), ForeignKey('node_info.node_id'), nullable=False)
|
node2_id = Column(String(66), ForeignKey('node_info.node_id'), nullable=False)
|
||||||
capacity_sat = Column(Integer)
|
capacity_sat = Column(Integer)
|
||||||
msg_payload = Column(String(1024), nullable=False)
|
|
||||||
trusted = Column(Boolean, nullable=False)
|
|
||||||
|
|
||||||
def to_nametuple(self):
|
def to_nametuple(self):
|
||||||
return ChannelInfo(
|
return ChannelInfo(
|
||||||
short_channel_id=self.short_channel_id,
|
short_channel_id=self.short_channel_id,
|
||||||
node1_id=self.node1_id,
|
node1_id=self.node1_id,
|
||||||
node2_id=self.node2_id,
|
node2_id=self.node2_id,
|
||||||
capacity_sat=self.capacity_sat,
|
capacity_sat=self.capacity_sat
|
||||||
msg_payload=self.msg_payload,
|
|
||||||
trusted=self.trusted
|
|
||||||
)
|
)
|
||||||
|
|
||||||
class PolicyBase(Base):
|
class PolicyBase(Base):
|
||||||
@@ -252,8 +241,8 @@ class NodeInfoBase(Base):
|
|||||||
class AddressBase(Base):
|
class AddressBase(Base):
|
||||||
__tablename__ = 'address'
|
__tablename__ = 'address'
|
||||||
node_id = Column(String(66), primary_key=True, sqlite_on_conflict_primary_key='REPLACE')
|
node_id = Column(String(66), primary_key=True, sqlite_on_conflict_primary_key='REPLACE')
|
||||||
host = Column(String(256), primary_key=True)
|
host = Column(String(256))
|
||||||
port = Column(Integer, primary_key=True)
|
port = Column(Integer)
|
||||||
last_connected_date = Column(Integer(), nullable=True)
|
last_connected_date = Column(Integer(), nullable=True)
|
||||||
|
|
||||||
|
|
||||||
@@ -331,25 +320,17 @@ class ChannelDB(SqlDB):
|
|||||||
except UnknownEvenFeatureBits:
|
except UnknownEvenFeatureBits:
|
||||||
self.logger.info("unknown feature bits")
|
self.logger.info("unknown feature bits")
|
||||||
continue
|
continue
|
||||||
#channel_info.trusted = trusted
|
|
||||||
added += 1
|
added += 1
|
||||||
self._channels[short_channel_id] = channel_info
|
self._channels[short_channel_id] = channel_info
|
||||||
self._channels_for_node[channel_info.node1_id].add(channel_info.short_channel_id)
|
self._channels_for_node[channel_info.node1_id].add(channel_info.short_channel_id)
|
||||||
self._channels_for_node[channel_info.node2_id].add(channel_info.short_channel_id)
|
self._channels_for_node[channel_info.node2_id].add(channel_info.short_channel_id)
|
||||||
self.save_channel(channel_info)
|
self.save_channel(channel_info)
|
||||||
if not trusted:
|
if not trusted:
|
||||||
self.ca_verifier.add_new_channel_info(channel_info.short_channel_id, channel_info.msg_payload)
|
self.ca_verifier.add_new_channel_info(channel_info.short_channel_id, msg)
|
||||||
|
|
||||||
self.update_counts()
|
self.update_counts()
|
||||||
self.logger.debug('add_channel_announcement: %d/%d'%(added, len(msg_payloads)))
|
self.logger.debug('add_channel_announcement: %d/%d'%(added, len(msg_payloads)))
|
||||||
|
|
||||||
|
|
||||||
#def add_verified_channel_info(self, short_id, capacity):
|
|
||||||
# # called from lnchannelverifier
|
|
||||||
# channel_info = self.DBSession.query(ChannelInfoBase).filter_by(short_channel_id = short_id).one_or_none()
|
|
||||||
# channel_info.trusted = True
|
|
||||||
# channel_info.capacity = capacity
|
|
||||||
|
|
||||||
def print_change(self, old_policy, new_policy):
|
def print_change(self, old_policy, new_policy):
|
||||||
# print what changed between policies
|
# print what changed between policies
|
||||||
if old_policy.cltv_expiry_delta != new_policy.cltv_expiry_delta:
|
if old_policy.cltv_expiry_delta != new_policy.cltv_expiry_delta:
|
||||||
|
|||||||
Reference in New Issue
Block a user