mirror of
https://github.com/basicswap/basicswap.git
synced 2025-01-22 02:24:31 +00:00
tests: Improve test_02_leader_recover_a_lock_tx
Some checks are pending
ci / ci (3.12) (push) Waiting to run
Some checks are pending
ci / ci (3.12) (push) Waiting to run
This commit is contained in:
parent
3cea5449c9
commit
159974d414
3 changed files with 32 additions and 4 deletions
|
@ -5125,6 +5125,13 @@ class BasicSwap(BaseApp):
|
|||
|
||||
if TxTypes.XMR_SWAP_A_LOCK_REFUND_SWIPE not in bid.txns:
|
||||
try:
|
||||
if self.haveDebugInd(
|
||||
bid.bid_id,
|
||||
DebugTypes.BID_DONT_SPEND_COIN_A_LOCK_REFUND2,
|
||||
):
|
||||
raise TemporaryError(
|
||||
"Debug: BID_DONT_SPEND_COIN_A_LOCK_REFUND2"
|
||||
)
|
||||
txid = ci_from.publishTx(xmr_swap.a_lock_refund_swipe_tx)
|
||||
self.logBidEvent(
|
||||
bid.bid_id,
|
||||
|
@ -6193,6 +6200,13 @@ class BasicSwap(BaseApp):
|
|||
self.logBidEvent(
|
||||
bid.bid_id, EventLogTypes.LOCK_TX_A_REFUND_TX_SEEN, "", use_cursor
|
||||
)
|
||||
|
||||
if TxTypes.XMR_SWAP_A_LOCK_REFUND not in bid.txns:
|
||||
bid.txns[TxTypes.XMR_SWAP_A_LOCK_REFUND] = SwapTx(
|
||||
bid_id=bid.bid_id,
|
||||
tx_type=TxTypes.XMR_SWAP_A_LOCK_REFUND,
|
||||
txid=xmr_swap.a_lock_refund_tx_id,
|
||||
)
|
||||
else:
|
||||
self.setBidError(
|
||||
bid.bid_id,
|
||||
|
@ -8814,8 +8828,10 @@ class BasicSwap(BaseApp):
|
|||
b_fee_rate: int = xmr_offer.a_fee_rate if reverse_bid else xmr_offer.b_fee_rate
|
||||
|
||||
try:
|
||||
chain_height = ci_to.getChainHeight()
|
||||
lock_tx_depth = chain_height - bid.xmr_b_lock_tx.chain_height
|
||||
if bid.xmr_b_lock_tx is None:
|
||||
raise TemporaryError("Chain B lock tx not found.")
|
||||
chain_height: int = ci_to.getChainHeight()
|
||||
lock_tx_depth: int = chain_height - bid.xmr_b_lock_tx.chain_height
|
||||
if lock_tx_depth < ci_to.depth_spendable():
|
||||
raise TemporaryError(
|
||||
f"Chain B lock tx still confirming {lock_tx_depth} / {ci_to.depth_spendable()}."
|
||||
|
|
|
@ -148,7 +148,7 @@ def stopDaemons(daemons):
|
|||
def wait_for_bid(
|
||||
delay_event, swap_client, bid_id, state=None, sent: bool = False, wait_for: int = 20
|
||||
) -> None:
|
||||
logging.info("wait_for_bid %s", bid_id.hex())
|
||||
swap_client.log.debug(f"TEST: wait_for_bid {bid_id.hex()}")
|
||||
for i in range(wait_for):
|
||||
if delay_event.is_set():
|
||||
raise ValueError("Test stopped.")
|
||||
|
@ -161,6 +161,10 @@ def wait_for_bid(
|
|||
assert len(bids) < 2
|
||||
for bid in bids:
|
||||
if bid[2] == bid_id:
|
||||
if i > 0 and i % 10 == 0:
|
||||
swap_client.log.debug(
|
||||
f"TEST: wait_for_bid {bid_id.hex()}: Bid state {bid[5]}, target {state}."
|
||||
)
|
||||
if isinstance(state, (list, tuple)):
|
||||
if bid[5] in state:
|
||||
return
|
||||
|
@ -169,6 +173,11 @@ def wait_for_bid(
|
|||
elif state is not None and state != bid[5]:
|
||||
continue
|
||||
return
|
||||
else:
|
||||
if i > 0 and i % 10 == 0:
|
||||
swap_client.log.debug(
|
||||
f"TEST: wait_for_bid {bid_id.hex()}: Bid not found."
|
||||
)
|
||||
raise ValueError("wait_for_bid timed out.")
|
||||
|
||||
|
||||
|
|
|
@ -1503,7 +1503,7 @@ class Test(BaseTest):
|
|||
101 * COIN,
|
||||
SwapTypes.XMR_SWAP,
|
||||
lock_type=TxLockTypes.SEQUENCE_LOCK_BLOCKS,
|
||||
lock_value=12,
|
||||
lock_value=16,
|
||||
)
|
||||
wait_for_offer(test_delay_event, swap_clients[1], offer_id)
|
||||
offer = swap_clients[1].getOffer(offer_id)
|
||||
|
@ -1522,6 +1522,9 @@ class Test(BaseTest):
|
|||
assert xmr_swap
|
||||
|
||||
swap_clients[1].setBidDebugInd(bid_id, DebugTypes.BID_STOP_AFTER_COIN_A_LOCK)
|
||||
swap_clients[1].setBidDebugInd(
|
||||
bid_id, DebugTypes.BID_DONT_SPEND_COIN_A_LOCK_REFUND2, False
|
||||
)
|
||||
|
||||
swap_clients[0].acceptXmrBid(bid_id)
|
||||
|
||||
|
|
Loading…
Reference in a new issue