mirror of
https://github.com/basicswap/basicswap.git
synced 2026-06-11 05:21:40 +02:00
fix: check if offer matches reverse state for incoming messages
This commit is contained in:
+14
-8
@@ -11136,9 +11136,11 @@ class BasicSwap(BaseApp, BSXNetwork, UIApp):
|
|||||||
|
|
||||||
offer_id = bid_data.offer_msg_id
|
offer_id = bid_data.offer_msg_id
|
||||||
offer, xmr_offer = self.getXmrOffer(offer_id)
|
offer, xmr_offer = self.getXmrOffer(offer_id)
|
||||||
ensure(offer and offer.was_sent, f"Offer not found: {self.log.id(offer_id)}.")
|
ensure(offer and offer.was_sent, f"Offer not found: {self.log.id(offer_id)}")
|
||||||
ensure(offer.swap_type == SwapTypes.XMR_SWAP, "Bid/offer swap type mismatch")
|
ensure(offer.swap_type == SwapTypes.XMR_SWAP, "Bid/offer swap type mismatch")
|
||||||
ensure(xmr_offer, f"Adaptor-sig offer not found: {self.log.id(offer_id)}.")
|
ensure(xmr_offer, f"Adaptor-sig offer not found: {self.log.id(offer_id)}")
|
||||||
|
reverse_bid: bool = self.is_reverse_ads_bid(offer.coin_from, offer.coin_to)
|
||||||
|
ensure(reverse_bid is False, f"Offer: {self.log.id(offer_id)} is reversed")
|
||||||
|
|
||||||
ci_from = self.ci(offer.coin_from)
|
ci_from = self.ci(offer.coin_from)
|
||||||
ci_to = self.ci(offer.coin_to)
|
ci_to = self.ci(offer.coin_to)
|
||||||
@@ -12772,9 +12774,11 @@ class BasicSwap(BaseApp, BSXNetwork, UIApp):
|
|||||||
|
|
||||||
offer_id = bid_data.offer_msg_id
|
offer_id = bid_data.offer_msg_id
|
||||||
offer, xmr_offer = self.getXmrOffer(offer_id)
|
offer, xmr_offer = self.getXmrOffer(offer_id)
|
||||||
ensure(offer and offer.was_sent, f"Offer not found: {self.log.id(offer_id)}.")
|
ensure(offer and offer.was_sent, f"Offer not found: {self.log.id(offer_id)}")
|
||||||
ensure(offer.swap_type == SwapTypes.XMR_SWAP, "Bid/offer swap type mismatch")
|
ensure(offer.swap_type == SwapTypes.XMR_SWAP, "Bid/offer swap type mismatch")
|
||||||
ensure(xmr_offer, f"Adaptor-sig offer not found: {self.log.id(offer_id)}.")
|
ensure(xmr_offer, f"Adaptor-sig offer not found: {self.log.id(offer_id)}")
|
||||||
|
reverse_bid: bool = self.is_reverse_ads_bid(offer.coin_from, offer.coin_to)
|
||||||
|
ensure(reverse_bid is True, f"Offer: {self.log.id(offer_id)} not reversed")
|
||||||
|
|
||||||
self.validateMessageNets(bid_data.message_nets)
|
self.validateMessageNets(bid_data.message_nets)
|
||||||
|
|
||||||
@@ -12889,12 +12893,14 @@ class BasicSwap(BaseApp, BSXNetwork, UIApp):
|
|||||||
|
|
||||||
bid_id = msg_data.bid_msg_id
|
bid_id = msg_data.bid_msg_id
|
||||||
bid, xmr_swap = self.getXmrBid(bid_id)
|
bid, xmr_swap = self.getXmrBid(bid_id)
|
||||||
ensure(bid, f"Bid not found: {self.log.id(bid_id)}.")
|
ensure(bid, f"Bid not found: {self.log.id(bid_id)}")
|
||||||
ensure(xmr_swap, f"Adaptor-sig swap not found: {self.log.id(bid_id)}.")
|
ensure(xmr_swap, f"Adaptor-sig swap not found: {self.log.id(bid_id)}")
|
||||||
|
|
||||||
offer, xmr_offer = self.getXmrOffer(bid.offer_id)
|
offer, xmr_offer = self.getXmrOffer(bid.offer_id)
|
||||||
ensure(offer, f"Offer not found: {self.log.id(bid.offer_id)}.")
|
ensure(offer, f"Offer not found: {self.log.id(bid.offer_id)}")
|
||||||
ensure(xmr_offer, f"Adaptor-sig offer not found: {self.log.id(bid.offer_id)}.")
|
ensure(xmr_offer, f"Adaptor-sig offer not found: {self.log.id(bid.offer_id)}")
|
||||||
|
reverse_bid: bool = self.is_reverse_ads_bid(offer.coin_from, offer.coin_to)
|
||||||
|
ensure(reverse_bid is True, f"Offer: {self.log.id(bid.offer_id)} not reversed")
|
||||||
|
|
||||||
ensure(msg["to"] == bid.bid_addr, "Received on incorrect address")
|
ensure(msg["to"] == bid.bid_addr, "Received on incorrect address")
|
||||||
ensure(msg["from"] == offer.addr_from, "Sent from incorrect address")
|
ensure(msg["from"] == offer.addr_from, "Sent from incorrect address")
|
||||||
|
|||||||
Reference in New Issue
Block a user