Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/release/1.2.1.0' into SidechainM…
Browse files Browse the repository at this point in the history
…asternode
  • Loading branch information
fassadlr committed Feb 18, 2022
2 parents f83d2a2 + b73c2a5 commit db4c3fc
Show file tree
Hide file tree
Showing 43 changed files with 92 additions and 51 deletions.
2 changes: 1 addition & 1 deletion src/FederationSetup/FederationSetup.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<Version>1.2.0.0</Version>
<Version>1.2.1.0</Version>
<Authors>Stratis Group Ltd.</Authors>
</PropertyGroup>

Expand Down
2 changes: 1 addition & 1 deletion src/FodyNlogAdapter/FodyNlogAdapter.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<AssemblyName>FodyNlogAdapter</AssemblyName>
<Version>1.2.0.0</Version>
<Version>1.2.1.0</Version>
<GeneratePackageOnBuild>False</GeneratePackageOnBuild>
<Authors>Stratis Group Ltd.</Authors>
<PackageId>Stratis.Utils.FodyNlogAdapter</PackageId>
Expand Down
2 changes: 1 addition & 1 deletion src/Stratis.Bitcoin.Cli/Stratis.Bitcoin.Cli.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<Version>1.2.0.0</Version>
<Version>1.2.1.0</Version>
<Authors>Stratis Group Ltd.</Authors>
<Company>Stratis Group Ltd.</Company>
<Product />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<AssemblyName>Stratis.Bitcoin.Features.Api</AssemblyName>
<OutputType>Library</OutputType>
<PackageId>Stratis.Features.Api</PackageId>
<Version>1.2.0.0</Version>
<Version>1.2.1.0</Version>
<GeneratePackageOnBuild>False</GeneratePackageOnBuild>
<ApplicationIcon />
<OutputTypeEx>library</OutputTypeEx>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<GenerateAssemblyCopyrightAttribute>false</GenerateAssemblyCopyrightAttribute>
<GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute>
<GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
<Version>1.2.0.0</Version>
<Version>1.2.1.0</Version>
<GeneratePackageOnBuild>False</GeneratePackageOnBuild>
<Authors>Stratis Group Ltd.</Authors>
</PropertyGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
<GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
<Version>1.2.0.0</Version>
<Version>1.2.1.0</Version>
<GeneratePackageOnBuild>False</GeneratePackageOnBuild>
<Authors>Stratis Group Ltd.</Authors>
</PropertyGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<GenerateAssemblyCopyrightAttribute>false</GenerateAssemblyCopyrightAttribute>
<GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute>
<GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
<Version>1.2.0.0</Version>
<Version>1.2.1.0</Version>
<GeneratePackageOnBuild>False</GeneratePackageOnBuild>
<Authors>Stratis Group Ltd.</Authors>
</PropertyGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<GenerateAssemblyCopyrightAttribute>false</GenerateAssemblyCopyrightAttribute>
<GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute>
<GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
<Version>1.2.0.0</Version>
<Version>1.2.1.0</Version>
<GeneratePackageOnBuild>False</GeneratePackageOnBuild>
<Authors>Stratis Group Ltd.</Authors>
</PropertyGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<Version>1.2.0.0</Version>
<Version>1.2.1.0</Version>
<Authors>Stratis Group Ltd.</Authors>
<PackageId>Stratis.Features.ExternalAPI</PackageId>
<Product>Stratis.Features.ExternalAPI</Product>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<Version>1.2.0.0</Version>
<Version>1.2.1.0</Version>
<Authors>Stratis Group Ltd.</Authors>
<PackageId>Stratis.Features.Interop</PackageId>
<Product>Stratis.Features.Interop</Product>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
<GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
<Version>1.2.0.0</Version>
<Version>1.2.1.0</Version>
<GeneratePackageOnBuild>False</GeneratePackageOnBuild>
<Authors>Stratis Group Ltd.</Authors>
</PropertyGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<GenerateAssemblyCopyrightAttribute>false</GenerateAssemblyCopyrightAttribute>
<GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute>
<GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
<Version>1.2.0.0</Version>
<Version>1.2.1.0</Version>
<GeneratePackageOnBuild>False</GeneratePackageOnBuild>
<OutputTypeEx>library</OutputTypeEx>
<Authors>Stratis Group Ltd.</Authors>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<GenerateAssemblyCopyrightAttribute>false</GenerateAssemblyCopyrightAttribute>
<GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute>
<GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
<Version>1.2.0.0</Version>
<Version>1.2.1.0</Version>
<GeneratePackageOnBuild>False</GeneratePackageOnBuild>
<Authors>Stratis Group Ltd.</Authors>
</PropertyGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<GenerateAssemblyCopyrightAttribute>false</GenerateAssemblyCopyrightAttribute>
<GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute>
<GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
<Version>1.2.0.0</Version>
<Version>1.2.1.0</Version>
<GeneratePackageOnBuild>False</GeneratePackageOnBuild>
<Authors>Stratis Group Ltd.</Authors>
</PropertyGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
<GenerateAssemblyCopyrightAttribute>false</GenerateAssemblyCopyrightAttribute>
<GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute>
<GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
<Version>1.2.0.0</Version>
<Version>1.2.1.0</Version>
<GeneratePackageOnBuild>False</GeneratePackageOnBuild>
<Product />
</PropertyGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ public class PoAHeaderSignatureRule : FullValidationConsensusRule

private HashHeightPair lastCheckPoint;

private PoAConsensusOptions poAConsensusOptions;

/// <inheritdoc />
public override void Initialize()
{
Expand All @@ -35,6 +37,7 @@ public override void Initialize()
this.slotsManager = engine.SlotsManager;
this.federationHistory = engine.FederationHistory;
this.validator = engine.PoaHeaderValidator;
this.poAConsensusOptions = engine.Network.Consensus.Options as PoAConsensusOptions;

KeyValuePair<int, CheckpointInfo> lastCheckPoint = engine.Network.Checkpoints.LastOrDefault();
this.lastCheckPoint = (lastCheckPoint.Value != null) ? new HashHeightPair(lastCheckPoint.Value.Hash, lastCheckPoint.Key) : null;
Expand Down Expand Up @@ -72,6 +75,21 @@ public override Task RunAsync(RuleContext context)
PoAConsensusErrors.InvalidHeaderSignature.Throw();
}

if (chainedHeader.Height >= this.poAConsensusOptions.GetMiningTimestampV2ActivationStrictHeight)
{
uint expectedSlot = this.slotsManager.GetMiningTimestamp(chainedHeader.Previous, chainedHeader.Header.Time, pubKey);

if (chainedHeader.Header.Time != expectedSlot)
{
this.Logger.LogWarning("Block {0} was mined in the wrong slot by miner '{1}'. The timestamp on the miner's block is {2} seconds earlier than expected.", chainedHeader.Height, pubKey.ToHex(), expectedSlot - chainedHeader.Header.Time);
this.Logger.LogTrace("(-)[TIME_TOO_EARLY]");
ConsensusErrors.BlockTimestampTooEarly.Throw();
}

return Task.CompletedTask;
}

// TODO: Remove this code once the last checkpoint exceeds 'GetMiningTimestampV2ActivationStrictHeight'.
// Look at the last round of blocks to find the previous time that the miner mined.
TimeSpan roundTime = this.slotsManager.GetRoundLength(this.federationHistory.GetFederationForBlock(chainedHeader).Count);

Expand Down
6 changes: 6 additions & 0 deletions src/Stratis.Bitcoin.Features.PoA/PoAConsensusOptions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,12 @@ public class PoAConsensusOptions : ConsensusOptions
/// </summary>
public int GetMiningTimestampV2ActivationHeight { get; set; }

/// <summary>
/// The height at which inituitive mining slots are enfored without any lenience.
/// Currently errors are sometimes suppressed if a federation change occurred.
/// </summary>
public int GetMiningTimestampV2ActivationStrictHeight { get; set; }

/// <summary>
/// Logic related to release 1.1.0.0 will activate at this height, this includes Poll Expiry and the Join Federation Voting Request consensus rule.
/// </summary>
Expand Down
33 changes: 23 additions & 10 deletions src/Stratis.Bitcoin.Features.PoA/SlotsManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,13 @@ public interface ISlotsManager
/// <returns>The next timestamp at which current node can produce a block.</returns>
uint GetMiningTimestamp(uint currentTime);

/// <summary>Gets next timestamp at which the miner can produce a block.</summary>
/// <param name="tip">The previous/last block produced.</param>
/// <param name="currentTime">The current unix timestamp.</param>
/// <param name="currentMiner">The miner to find the timestamp for.</param>
/// <returns>The next timestamp at which the miner can produce a block.</returns>
uint GetMiningTimestamp(ChainedHeader tip, uint currentTime, PubKey currentMiner);

/// <summary>Determines whether timestamp is valid according to the network rules.</summary>
/// <param name="headerUnixTimestamp">The unix timstamp of a block header.</param>
/// <returns><c>True</c> if the timestamp is valid and <c>false</c> otherwise.</returns>
Expand Down Expand Up @@ -46,7 +53,17 @@ public SlotsManager(Network network, IFederationManager federationManager, IFede
this.consensusOptions = (network as PoANetwork).ConsensusOptions;
}

/// <inheritdoc/>
public uint GetMiningTimestamp(uint currentTime)
{
if (!this.federationManager.IsFederationMember)
throw new NotAFederationMemberException();

return GetMiningTimestamp(this.chainIndexer.Tip, currentTime, this.federationManager.CurrentFederationKey?.PubKey);
}

/// <inheritdoc/>
public uint GetMiningTimestamp(ChainedHeader tip, uint currentTime, PubKey currentMiner)
{
/*
A miner can calculate when its expected to mine by looking at the ordered list of federation members
Expand All @@ -56,15 +73,14 @@ public uint GetMiningTimestamp(uint currentTime)
The miner that mined the last block may no longer exist when the next block is about to be mined. As such
we may need to look a bit further back to find a "reference miner" that still occurs in the latest federation.
*/
ChainedHeader tip = this.chainIndexer.Tip;
if (tip.Height < this.consensusOptions.GetMiningTimestampV2ActivationHeight)
return GetMiningTimestampLegacy(currentTime);
return GetMiningTimestampLegacy(tip, currentTime, currentMiner);

List<IFederationMember> federationMembers = this.federationHistory.GetFederationForBlock(tip, 1);
if (federationMembers == null)
throw new Exception($"Could not determine the federation at block { tip.Height } + 1.");

int myIndex = federationMembers.FindIndex(m => m.PubKey == this.federationManager.CurrentFederationKey?.PubKey);
int myIndex = federationMembers.FindIndex(m => m.PubKey == currentMiner);
if (myIndex < 0)
throw new NotAFederationMemberException();

Expand Down Expand Up @@ -110,18 +126,15 @@ public uint GetMiningTimestamp(uint currentTime)
return nextTimestampForMining;
}

private uint GetMiningTimestampLegacy(uint currentTime)
private uint GetMiningTimestampLegacy(ChainedHeader tip, uint currentTime, PubKey currentMiner)
{
if (!this.federationManager.IsFederationMember)
throw new NotAFederationMemberException();

List<IFederationMember> federationMembers = this.federationManager.GetFederationMembers();
List<IFederationMember> federationMembers = this.federationHistory.GetFederationForBlock(tip, 1);

// Round length in seconds.
uint roundTime = (uint)this.GetRoundLength(federationMembers.Count).TotalSeconds;

// Index of a slot that current node can take in each round.
uint slotIndex = (uint)federationMembers.FindIndex(x => x.PubKey == this.federationManager.CurrentFederationKey.PubKey);
uint slotIndex = (uint)federationMembers.FindIndex(x => x.PubKey == currentMiner);

// Time when current round started.
uint roundStartTimestamp = (currentTime / roundTime) * roundTime;
Expand All @@ -131,7 +144,7 @@ private uint GetMiningTimestampLegacy(uint currentTime)
// We still consider ourselves "in a turn" if we are in the first half of the turn and we haven't mined there yet.
// This might happen when starting the node for the first time or if there was a problem when mining.
if (currentTime > nextTimestampForMining + (this.consensusOptions.TargetSpacingSeconds / 2) // We are closer to the next turn than our own
|| this.chainIndexer.Tip.Header.Time == nextTimestampForMining) // We have already mined in that slot
|| tip.Header.Time == nextTimestampForMining) // We have already mined in that slot
{
// Get timestamp for next round.
nextTimestampForMining = roundStartTimestamp + roundTime + slotIndex * this.consensusOptions.TargetSpacingSeconds;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<GenerateAssemblyCopyrightAttribute>false</GenerateAssemblyCopyrightAttribute>
<GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute>
<GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
<Version>1.2.0.0</Version>
<Version>1.2.1.0</Version>
<GeneratePackageOnBuild>False</GeneratePackageOnBuild>
<Authors>Stratis Group Ltd.</Authors>
</PropertyGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<GenerateAssemblyCopyrightAttribute>false</GenerateAssemblyCopyrightAttribute>
<GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute>
<GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
<Version>1.2.0.0</Version>
<Version>1.2.1.0</Version>
<GeneratePackageOnBuild>False</GeneratePackageOnBuild>
<Authors>Stratis Group Ltd.</Authors>
</PropertyGroup>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<Version>1.2.0.0</Version>
<Version>1.2.1.0</Version>
<PackageId>Stratis.Features.SignalR</PackageId>
<Product>Stratis.Features.SignalR</Product>
<Authors>Stratis Group Ltd.</Authors>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<Version>1.2.0.0</Version>
<Version>1.2.1.0</Version>
<Authors>Stratis Group Ltd.</Authors>
<PackageId>Stratis.Features.SmartContracts</PackageId>
<Product>Stratis.Features.SmartContracts</Product>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<GenerateAssemblyCopyrightAttribute>false</GenerateAssemblyCopyrightAttribute>
<GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute>
<GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
<Version>1.2.0.0</Version>
<Version>1.2.1.0</Version>
<GeneratePackageOnBuild>False</GeneratePackageOnBuild>
<Authors>Stratis Group Ltd.</Authors>
</PropertyGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<GenerateAssemblyCopyrightAttribute>false</GenerateAssemblyCopyrightAttribute>
<GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute>
<GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
<Version>1.2.0.0</Version>
<Version>1.2.1.0</Version>
<GeneratePackageOnBuild>False</GeneratePackageOnBuild>
<Authors>Stratis Group Ltd.</Authors>
</PropertyGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
<GenerateAssemblyCopyrightAttribute>false</GenerateAssemblyCopyrightAttribute>
<GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute>
<GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
<Version>1.2.0.0</Version>
<Version>1.2.1.0</Version>
<GeneratePackageOnBuild>False</GeneratePackageOnBuild>
<Product />
</PropertyGroup>
Expand Down
6 changes: 3 additions & 3 deletions src/Stratis.Bitcoin.Networks/Stratis.Bitcoin.Networks.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@
<GenerateAssemblyCopyrightAttribute>false</GenerateAssemblyCopyrightAttribute>
<GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute>
<GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
<AssemblyVersion>1.2.0.0</AssemblyVersion>
<FileVersion>1.2.0.0</FileVersion>
<Version>1.2.0.0</Version>
<AssemblyVersion>1.2.1.0</AssemblyVersion>
<FileVersion>1.2.1.0</FileVersion>
<Version>1.2.1.0</Version>
<GeneratePackageOnBuild>False</GeneratePackageOnBuild>
<Authors>Stratis Group Ltd.</Authors>
</PropertyGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
<GenerateAssemblyCopyrightAttribute>false</GenerateAssemblyCopyrightAttribute>
<GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute>
<GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
<Version>1.2.0.0</Version>
<Version>1.2.1.0</Version>
<GeneratePackageOnBuild>False</GeneratePackageOnBuild>
</PropertyGroup>

Expand Down
4 changes: 2 additions & 2 deletions src/Stratis.Bitcoin/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,6 @@
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.2.0.0")]
[assembly: AssemblyFileVersion("1.2.0.0")]
[assembly: AssemblyVersion("1.2.1.0")]
[assembly: AssemblyFileVersion("1.2.1.0")]
[assembly: InternalsVisibleTo("Stratis.Bitcoin.Tests")]
2 changes: 1 addition & 1 deletion src/Stratis.Bitcoin/Stratis.Bitcoin.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<GenerateAssemblyCopyrightAttribute>false</GenerateAssemblyCopyrightAttribute>
<GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute>
<GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
<Version>1.2.0.0</Version>
<Version>1.2.1.0</Version>
<GeneratePackageOnBuild>False</GeneratePackageOnBuild>
<CodeAnalysisRuleSet>..\Stratis.ruleset</CodeAnalysisRuleSet>
<Authors>Stratis Group Ltd.</Authors>
Expand Down
2 changes: 1 addition & 1 deletion src/Stratis.CirrusD/Stratis.CirrusD.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<Version>1.2.0.0</Version>
<Version>1.2.1.0</Version>
<Authors>Stratis Group Ltd.</Authors>
<Company>Stratis Group Ltd.</Company>
<Product />
Expand Down
2 changes: 1 addition & 1 deletion src/Stratis.CirrusDnsD/Stratis.CirrusDnsD.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
<PropertyGroup>
<LangVersion>latest</LangVersion>
<Authors>Stratis Group Ltd.</Authors>
<Version>1.2.0.0</Version>
<Version>1.2.1.0</Version>
</PropertyGroup>

<ItemGroup>
Expand Down
2 changes: 1 addition & 1 deletion src/Stratis.CirrusMinerD/Stratis.CirrusMinerD.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<Version>1.2.0.0</Version>
<Version>1.2.1.0</Version>
<Authors>Stratis Group Ltd.</Authors>
<Company>Stratis Group Ltd.</Company>
<Product />
Expand Down

0 comments on commit db4c3fc

Please sign in to comment.