Use LockAsync() instead of Lock() in CcjCoordinator
MODIFY
WalletWasabi.Backend/Controllers/ChaumianCoinJoinController.cs
WalletWasabi.Backend/Controllers/ChaumianCoinJoinController.cs
@@ -211,7 +211,7 @@ namespace WalletWasabi.Backend.Controllers
if (getTxOutResponse.Confirmations <= 0)
{
// If it spends a CJ then it may be acceptable to register.
- if (!Coordinator.ContainsCoinJoin(inputProof.Input.TransactionId))
+ if (!await Coordinator.ContainsCoinJoinAsync(inputProof.Input.TransactionId))
{
return BadRequest("Provided input is neither confirmed, nor is from an unconfirmed coinjoin.");
}

MODIFY
WalletWasabi/Services/CcjCoordinator.cs
WalletWasabi/Services/CcjCoordinator.cs
@@ -433,9 +433,9 @@ namespace WalletWasabi.Services
}
}
- public bool ContainsCoinJoin(uint256 hash)
+ public async Task<bool> ContainsCoinJoinAsync(uint256 hash)
{
- using (CoinJoinsLock.Lock())
+ using (await CoinJoinsLock.LockAsync())
{
return CoinJoins.Contains(hash);
}

Use LockAsync() instead of Lock() in CcjCoordinator