Include coordinator identifier in round parameters
MODIFY
WalletWasabi/WabiSabi/Backend/Rounds/Round.cs
WalletWasabi/WabiSabi/Backend/Rounds/Round.cs
@@ -156,6 +156,7 @@ public class Round
Parameters.MaxVsizeCredentialValue,
Parameters.MaxVsizeAllocationPerAlice,
Parameters.MaxSuggestedAmount,
+ Parameters.CoordinationIdentifier,
AmountCredentialIssuerParameters,
VsizeCredentialIssuerParameters);
}

MODIFY
WalletWasabi/WabiSabi/Backend/Rounds/RoundParameters.cs
WalletWasabi/WabiSabi/Backend/Rounds/RoundParameters.cs
@@ -23,7 +23,8 @@ public record RoundParameters
TimeSpan connectionConfirmationTimeout,
TimeSpan outputRegistrationTimeout,
TimeSpan transactionSigningTimeout,
- TimeSpan blameInputRegistrationTimeout)
+ TimeSpan blameInputRegistrationTimeout,
+ string coordinationIdentifier)
{
Network = network;
MiningFeeRate = miningFeeRate;
@@ -42,6 +43,7 @@ public record RoundParameters
InitialInputVsizeAllocation = MaxTransactionSize - MultipartyTransactionParameters.SharedOverhead;
MaxVsizeCredentialValue = Math.Min(InitialInputVsizeAllocation / MaxInputCountByRound, (int)ProtocolConstants.MaxVsizeCredentialValue);
MaxVsizeAllocationPerAlice = MaxVsizeCredentialValue;
+ CoordinationIdentifier = coordinationIdentifier;
}
public Network Network { get; init; }
@@ -68,6 +70,8 @@ public record RoundParameters
public int MaxVsizeCredentialValue { get; init; }
public int MaxVsizeAllocationPerAlice { get; init; }
+ public string CoordinationIdentifier { get; init; }
+
private static StandardTransactionPolicy StandardTransactionPolicy { get; } = new();
// Limitation of 100kb maximum transaction size had been changed as a function of transaction weight
@@ -98,7 +102,8 @@ public record RoundParameters
wabiSabiConfig.ConnectionConfirmationTimeout,
wabiSabiConfig.OutputRegistrationTimeout,
wabiSabiConfig.TransactionSigningTimeout,
- wabiSabiConfig.BlameInputRegistrationTimeout);
+ wabiSabiConfig.BlameInputRegistrationTimeout,
+ wabiSabiConfig.CoordinatorIdentifier);
}
public Transaction CreateTransaction()

MODIFY
WalletWasabi/WabiSabi/Crypto/RoundHasher.cs
WalletWasabi/WabiSabi/Crypto/RoundHasher.cs
@@ -28,6 +28,7 @@ public static class RoundHasher
long maxVsizeCredentialValue,
long maxVsizeAllocationPerAlice,
long maxSuggestedAmount,
+ string coordinationIdentifier,
CredentialIssuerParameters amountCredentialIssuerParameters,
CredentialIssuerParameters vsizeCredentialIssuerParameters)
{
@@ -50,6 +51,7 @@ public static class RoundHasher
.Append(ProtocolConstants.RoundMaxVsizeCredentialValueStrobeLabel, maxVsizeCredentialValue)
.Append(ProtocolConstants.RoundMaxVsizePerAliceStrobeLabel, maxVsizeAllocationPerAlice)
.Append(ProtocolConstants.RoundMaxSuggestedAmountLabel, maxSuggestedAmount)
+ .Append(ProtocolConstants.RoundCoordinationIdentifier, coordinationIdentifier)
.Append(ProtocolConstants.RoundAmountCredentialIssuerParametersStrobeLabel, amountCredentialIssuerParameters)
.Append(ProtocolConstants.RoundVsizeCredentialIssuerParametersStrobeLabel, vsizeCredentialIssuerParameters)
.GetHash();

MODIFY
WalletWasabi/WabiSabi/ProtocolConstants.cs
WalletWasabi/WabiSabi/ProtocolConstants.cs
@@ -33,6 +33,7 @@ public static class ProtocolConstants
public const string RoundOutputRegistrationTimeoutStrobeLabel = "output-registration-timeout";
public const string RoundTransactionSigningTimeoutStrobeLabel = "transaction-signing-timeout";
public const string RoundMaxSuggestedAmountLabel = "maximum-suggested-amount";
+ public const string RoundCoordinationIdentifier = "coordination-identifier";
// Alice hashing labels
public const string AliceStrobeDomain = "alice-parameters";

Include coordinator identifier in round parameters