diff --git a/basicswap/basicswap.py b/basicswap/basicswap.py index 9e1823c..13ad65f 100644 --- a/basicswap/basicswap.py +++ b/basicswap/basicswap.py @@ -3674,7 +3674,7 @@ class BasicSwap(BaseApp, BSXNetwork, UIApp): msg_valid, use_cursor, message_nets=bid.message_nets, - payload_version=bid.smsg_payload_version, + payload_version=offer.smsg_payload_version, ) self.addMessageLink( @@ -3748,7 +3748,8 @@ class BasicSwap(BaseApp, BSXNetwork, UIApp): # Set msg_buf.message_nets to let the remote node know what networks to respond on. # bid.message_nets is a local field denoting the network/s to send to - msg_buf.message_nets = self.getMessageNetsString() + if offer.smsg_payload_version > 1: + msg_buf.message_nets = self.getMessageNetsString() return msg_buf @@ -3797,7 +3798,8 @@ class BasicSwap(BaseApp, BSXNetwork, UIApp): # Set msg_buf.message_nets to let the remote node know what networks to respond on. # bid.message_nets is a local field denoting the network/s to send to - msg_buf.message_nets = self.getMessageNetsString() + if offer.smsg_payload_version > 1: + msg_buf.message_nets = self.getMessageNetsString() return msg_buf @@ -3883,7 +3885,8 @@ class BasicSwap(BaseApp, BSXNetwork, UIApp): # Set msg_buf.message_nets to let the remote node know what networks to respond on. # bid.message_nets is a local field denoting the network/s to send to - msg_buf.message_nets = self.getMessageNetsString() + if offer.smsg_payload_version > 1: + msg_buf.message_nets = self.getMessageNetsString() return msg_buf diff --git a/basicswap/db.py b/basicswap/db.py index e633b21..d228a08 100644 --- a/basicswap/db.py +++ b/basicswap/db.py @@ -260,7 +260,6 @@ class Bid(Table): chain_b_height_start = Column("integer") reject_code = Column("integer") - smsg_payload_version = Column("integer") initiate_tx = None participate_tx = None diff --git a/basicswap/network/bsx_network.py b/basicswap/network/bsx_network.py index 94ada8f..7151359 100644 --- a/basicswap/network/bsx_network.py +++ b/basicswap/network/bsx_network.py @@ -293,17 +293,21 @@ class BSXNetwork: use_cursor = self.openDB(cursor) try: - query: str = "SELECT pk_from FROM offers WHERE addr_from = :addr_to LIMIT 1" - rows = use_cursor.execute(query, {"addr_to": addr}).fetchall() + query: str = ( + "SELECT pk_from FROM offers WHERE addr_from = :addr AND pk_from IS NOT NULL LIMIT 1" + ) + rows = use_cursor.execute(query, {"addr": addr}).fetchall() if len(rows) > 0: return rows[0][0] query: str = ( - "SELECT pk_bid_addr FROM bids WHERE bid_addr = :addr_to LIMIT 1" + "SELECT pk_bid_addr FROM bids WHERE bid_addr = :addr AND pk_bid_addr IS NOT NULL LIMIT 1" ) - rows = use_cursor.execute(query, {"addr_to": addr}).fetchall() + rows = use_cursor.execute(query, {"addr": addr}).fetchall() if len(rows) > 0: return rows[0][0] - query: str = "SELECT pubkey FROM smsgaddresses WHERE addr = :addr LIMIT 1" + query: str = ( + "SELECT pubkey FROM smsgaddresses WHERE addr = :addr AND pubkey IS NOT NULL LIMIT 1" + ) rows = use_cursor.execute(query, {"addr": addr}).fetchall() if len(rows) > 0: return bytes.fromhex(rows[0][0])