Use different BitcoinSecret cast
MODIFY
WalletWasabi/CoinJoin/Client/Clients/CoinJoinClient.cs
WalletWasabi/CoinJoin/Client/Clients/CoinJoinClient.cs
@@ -389,7 +389,14 @@ namespace WalletWasabi.CoinJoin.Client.Clients
}
var signedCoinJoin = unsignedCoinJoin.Clone();
- signedCoinJoin.Sign((IEnumerable<BitcoinSecret>)ongoingRound.CoinsRegistered.Select(x => x.Secret ??= KeyManager.GetSecrets(SaltSoup(), x.ScriptPubKey).Single()).ToArray(), ongoingRound.Registration.CoinsRegistered.Select(x => x.GetCoin()).ToArray());
+ signedCoinJoin.Sign(
+ ongoingRound
+ .CoinsRegistered
+ .Select(x => (x.Secret ??= KeyManager.GetSecrets(SaltSoup(), x.ScriptPubKey).Single()) as BitcoinSecret),
+ ongoingRound
+ .Registration
+ .CoinsRegistered
+ .Select(x => x.GetCoin()));
// Old way of signing, which randomly fails! https://github.com/zkSNACKs/WalletWasabi/issues/716#issuecomment-435498906
// Must be fixed in NBitcoin.

Use different BitcoinSecret cast