Skip to content

Commit 87a8473

Browse files
authored
Merge pull request #816 from stratisproject/release/1.1.1.0
Merge hotfix release/1.1.1.0 into release/1.2.0.0
2 parents 3bc6ed1 + 95f6942 commit 87a8473

27 files changed

+376
-266
lines changed

src/Stratis.Bitcoin.Features.PoA/PoAConsensusOptions.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,12 @@ public class PoAConsensusOptions : ConsensusOptions
6464
/// </summary>
6565
public int PollExpiryBlocks { get; set; }
6666

67+
/// <summary>
68+
/// Defines when V2 of the contract serializer will be used.
69+
/// I.e if tip <= ContractSerializerV2ActivationHeight, V1 will be used.
70+
/// </summary>
71+
public int ContractSerializerV2ActivationHeight { get; set; }
72+
6773
/// <summary>Initializes values for networks that use block size rules.</summary>
6874
/// <param name="maxBlockBaseSize">See <see cref="ConsensusOptions.MaxBlockBaseSize"/>.</param>
6975
/// <param name="maxStandardVersion">See <see cref="ConsensusOptions.MaxStandardVersion"/>.</param>

src/Stratis.Bitcoin.Features.SmartContracts.Tests/ApiLogDeserializerTests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public struct TestLog
3535
public void Deserialize_Basic_Log_Success()
3636
{
3737
var network = new SmartContractsRegTest();
38-
var primitiveSerializer = new ContractPrimitiveSerializer(network);
38+
var primitiveSerializer = new ContractPrimitiveSerializerV2(network);
3939

4040
var testStruct = new TestLog
4141
{
@@ -68,7 +68,7 @@ public void Deserialize_Basic_Log_Success()
6868
public void Deserialize_Logs_With_Different_Addresses_From_Cache()
6969
{
7070
var network = new SmartContractsRegTest();
71-
var primitiveSerializer = new ContractPrimitiveSerializer(network);
71+
var primitiveSerializer = new ContractPrimitiveSerializerV2(network);
7272

7373
var testStruct0 = new TestLog
7474
{
@@ -119,7 +119,7 @@ public void Deserialize_Logs_With_Different_Addresses_From_Cache()
119119
public void MapTransferInfo_Success()
120120
{
121121
var network = new SmartContractsRegTest();
122-
var primitiveSerializer = new ContractPrimitiveSerializer(network);
122+
var primitiveSerializer = new ContractPrimitiveSerializerV2(network);
123123

124124
var stateRoot = new Mock<IStateRepositoryRoot>();
125125
stateRoot.Setup(r => r.GetCodeHash(It.IsAny<uint160>())).Returns(uint256.Zero.ToBytes());

src/Stratis.Bitcoin.Features.SmartContracts.Tests/Consensus/Rules/ContractValidationRuleTest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public class ContractValidationRuleTest
2121
public ContractValidationRuleTest()
2222
{
2323
this.network = new SmartContractsRegTest();
24-
this.callDataSerializer = new CallDataSerializer(new ContractPrimitiveSerializer(this.network));
24+
this.callDataSerializer = new CallDataSerializer(new ContractPrimitiveSerializerV2(this.network));
2525
}
2626

2727
private UnspentOutputSet GetMockOutputSet()

src/Stratis.Bitcoin.Features.SmartContracts.Tests/Consensus/Rules/TestRulesContext.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ public static TestRulesContext CreateAsync(Network network, [CallerMemberName] s
108108
testRulesContext.ChainIndexer, deployments, consensusSettings, testRulesContext.Checkpoints, null, testRulesContext.ChainState,
109109
new InvalidBlockHashStore(new DateTimeProvider()), new NodeStats(testRulesContext.DateTimeProvider, testRulesContext.NodeSettings, new Mock<IVersionProvider>().Object), testRulesContext.AsyncProvider, new ConsensusRulesContainer()).SetupRulesEngineParent();
110110

111-
testRulesContext.CallDataSerializer = new CallDataSerializer(new ContractPrimitiveSerializer(network));
111+
testRulesContext.CallDataSerializer = new CallDataSerializer(new ContractPrimitiveSerializerV2(network));
112112
return testRulesContext;
113113
}
114114

src/Stratis.Sidechains.Networks/CirrusMain.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,8 @@ public CirrusMain()
179179
InterFluxV2MainChainActivationHeight = 460_000,
180180
VotingManagerV2ActivationHeight = 1_683_000, // Tuesday, 12 January 2021 9:00:00 AM (Estimated)
181181
Release1100ActivationHeight = 3_426_950, // Monday, 20 December 2021 10:00:00 AM (Estimated)
182-
PollExpiryBlocks = 50_000 // Roughly 9 days
182+
PollExpiryBlocks = 50_000, // Roughly 9 days
183+
ContractSerializerV2ActivationHeight = 3364000
183184
};
184185

185186
var buriedDeployments = new BuriedDeploymentsArray

src/Stratis.Sidechains.Networks/CirrusTest.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,8 @@ public CirrusTest()
130130
EnforcedMinProtocolVersion = ProtocolVersion.CIRRUS_VERSION, // minimum protocol version which will be enforced at block height defined in EnforceMinProtocolVersionAtBlockHeight
131131
VotingManagerV2ActivationHeight = 1_999_500,
132132
Release1100ActivationHeight = 2_796_000,
133-
PollExpiryBlocks = 450 // 2 hours
133+
PollExpiryBlocks = 450, // 2 hours
134+
ContractSerializerV2ActivationHeight = 2842681
134135
};
135136

136137
var buriedDeployments = new BuriedDeploymentsArray

src/Stratis.SmartContracts.CLR.Tests/AuctionTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public AuctionTests()
3434
};
3535
var getBalance = new Func<ulong>(() => Balance);
3636
var persistentState = new TestPersistentState();
37-
var serializer = new Serializer(new ContractPrimitiveSerializer(network));
37+
var serializer = new Serializer(new ContractPrimitiveSerializerV2(network));
3838
this.smartContractState = new TestSmartContractState(
3939
block,
4040
message,

src/Stratis.SmartContracts.CLR.Tests/CallDataSerializerTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ namespace Stratis.SmartContracts.CLR.Tests
1111
{
1212
public sealed class CallDataSerializerTests
1313
{
14-
public ICallDataSerializer Serializer = new CallDataSerializer(new ContractPrimitiveSerializer(new SmartContractsRegTest()));
14+
public ICallDataSerializer Serializer = new CallDataSerializer(new ContractPrimitiveSerializerV2(new SmartContractsRegTest()));
1515

1616
[Fact]
1717
public void SmartContract_CanSerialize_OP_CREATECONTRACT_WithoutMethodParameters()

src/Stratis.SmartContracts.CLR.Tests/ContractExecutorTestContext.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public ContractExecutorTestContext()
4040
this.KeyEncodingStrategy = BasicKeyEncodingStrategy.Default;
4141
this.LoggerFactory = ExtendedLoggerFactory.Create();
4242
this.State = new StateRepositoryRoot(new NoDeleteSource<byte[], byte[]>(new MemoryDictionarySource()));
43-
this.ContractPrimitiveSerializer = new ContractPrimitiveSerializer(this.Network);
43+
this.ContractPrimitiveSerializer = new ContractPrimitiveSerializerV2(this.Network);
4444
this.Serializer = new Serializer(this.ContractPrimitiveSerializer);
4545
this.AddressGenerator = new AddressGenerator();
4646
this.Validator = new SmartContractValidator();

src/Stratis.SmartContracts.CLR.Tests/ContractExecutorTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public ContractExecutorTests()
5454
this.addressGenerator = new AddressGenerator();
5555
this.assemblyLoader = new ContractAssemblyLoader();
5656
this.moduleDefinitionReader = new ContractModuleDefinitionReader();
57-
this.contractPrimitiveSerializer = new ContractPrimitiveSerializer(this.network);
57+
this.contractPrimitiveSerializer = new ContractPrimitiveSerializerV2(this.network);
5858
this.serializer = new Serializer(this.contractPrimitiveSerializer);
5959
this.contractCache = new ContractAssemblyCache();
6060
this.vm = new ReflectionVirtualMachine(this.validator, this.loggerFactory, this.assemblyLoader, this.moduleDefinitionReader, this.contractCache);

0 commit comments

Comments
 (0)