Allow BCH as coin_to in ADS swaps.

This commit is contained in:
tecnovert 2024-10-30 23:25:22 +02:00
parent aa9b9c1507
commit f1dcef4971
No known key found for this signature in database
GPG key ID: 8ED6D8750C4E3F93
3 changed files with 12 additions and 10 deletions

View file

@ -678,8 +678,12 @@ class BasicSwap(BaseApp):
return self.coin_clients[use_coinid][interface_ind]
def isBchXmrSwap(self, offer: Offer):
return (offer.coin_from == Coins.BCH or offer.coin_to == Coins.BCH) and offer.swap_type == SwapTypes.XMR_SWAP
def isBchXmrSwap(self, offer: Offer) -> bool:
if offer.swap_type != SwapTypes.XMR_SWAP:
return False
if self.is_reverse_ads_bid(offer.coin_from, offer.coin_to):
return offer.coin_to == Coins.BCH
return offer.coin_from == Coins.BCH
def pi(self, protocol_ind):
if protocol_ind not in self.protocolInterfaces:
@ -1368,8 +1372,6 @@ class BasicSwap(BaseApp):
raise e
def is_reverse_ads_bid(self, coin_from, coin_to) -> bool:
if coin_to == Coins.BCH:
return True
return coin_from in self.scriptless_coins + self.coins_without_segwit
def validateSwapType(self, coin_from, coin_to, swap_type):

View file

@ -1,7 +1,7 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Copyright (c) 2022-2023 tecnovert
# Copyright (c) 2024 The Basicswap developers
# Distributed under the MIT software license, see the accompanying
# file LICENSE or http://www.opensource.org/licenses/mit-license.php.
@ -320,12 +320,12 @@ class BCHInterface(BTCInterface):
def pkh_to_address(self, pkh: bytes) -> str:
# pkh is ripemd160(sha256(pk))
assert (len(pkh) == 20)
prefix = self.chainparams_network()['hrp']
address = Address("P2PKH", b'\x76\xa9\x14' + pkh + b'\x88\xac')
address.prefix = prefix
network = self._network.upper()
address = Address("P2PKH" if network == "MAINNET" else "P2PKH-" + network, pkh)
return address.cash_address()
def encodeSharedAddress(self, Kbv, Kbs):
def encodeSharedAddress(self, Kbv: bytes, Kbs: bytes) -> str:
return self.pkh_to_address(hash160(Kbs))
def addressToLockingBytecode(self, address: str) -> bytes:

View file

@ -1,7 +1,7 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Copyright (c) 2021-2024 tecnovert
# Copyright (c) 2024 The Basicswap developers
# Distributed under the MIT software license, see the accompanying
# file LICENSE or http://www.opensource.org/licenses/mit-license.php.