throw if already signed
MODIFY
WalletWasabi/WabiSabi/Backend/Models/WabiSabiProtocolErrorCode.cs
WalletWasabi/WabiSabi/Backend/Models/WabiSabiProtocolErrorCode.cs
@@ -37,6 +37,7 @@ namespace WalletWasabi.WabiSabi.Backend.Models
VsizeQuotaExceeded,
DeltaNotZero,
WrongNumberOfCreds,
- CryptoException
+ CryptoException,
+ AlreadySigned
}
}

MODIFY
WalletWasabi/WabiSabi/Backend/Rounds/Arena.cs
WalletWasabi/WabiSabi/Backend/Rounds/Arena.cs
@@ -342,6 +342,11 @@ namespace WalletWasabi.WabiSabi.Backend.Rounds
}
}
+ if (alice.ReadyToSign)
+ {
+ throw new WabiSabiProtocolException(WabiSabiProtocolErrorCode.AlreadySigned);
+ }
+
var coinJoinInputCommitmentData = new CoinJoinInputCommitmentData("CoinJoinCoordinatorIdentifier", request.RoundId);
if (!OwnershipProof.VerifyCoinJoinInputProof(request.OwnershipProof, alice.Coin.TxOut.ScriptPubKey, coinJoinInputCommitmentData))
{

throw if already signed