diff --git a/neo.UnitTests/Consensus/UT_ConsensusContext.cs b/neo.UnitTests/Consensus/UT_ConsensusContext.cs index 9a0dd39ba7..821b6f8da5 100644 --- a/neo.UnitTests/Consensus/UT_ConsensusContext.cs +++ b/neo.UnitTests/Consensus/UT_ConsensusContext.cs @@ -4,7 +4,6 @@ using Neo.Consensus; using Neo.IO; using Neo.Network.P2P.Payloads; -using Neo.SmartContract; using Neo.SmartContract.Native; using Neo.Wallets; using System; @@ -119,6 +118,8 @@ private Block SignBlock(ConsensusContext context) { context.Block.MerkleRoot = null; + // Fake commits + for (int x = 0; x < _validatorKeys.Length; x++) { _context.MyIndex = x; @@ -127,19 +128,7 @@ private Block SignBlock(ConsensusContext context) _context.CommitPayloads[_context.MyIndex] = com; } - // Manual block sign - - Contract contract = Contract.CreateMultiSigContract(context.M, context.Validators); - ContractParametersContext sc = new ContractParametersContext(context.Block); - for (int i = 0, j = 0; i < context.Validators.Length && j < context.M; i++) - { - if (context.CommitPayloads[i]?.ConsensusMessage.ViewNumber != context.ViewNumber) continue; - sc.AddSignature(contract, context.Validators[i], context.CommitPayloads[i].GetDeserializedMessage().Signature); - j++; - } - context.Block.Witness = sc.GetWitnesses()[0]; - context.Block.Transactions = context.TransactionHashes.Select(p => context.Transactions[p]).ToArray(); - return context.Block; + return context.CreateBlock(); } private void EnsureContext(ConsensusContext context, params Transaction[] expected) diff --git a/neo/Consensus/ConsensusContext.cs b/neo/Consensus/ConsensusContext.cs index e7c2649782..d05b4a64ea 100644 --- a/neo/Consensus/ConsensusContext.cs +++ b/neo/Consensus/ConsensusContext.cs @@ -82,6 +82,7 @@ public ConsensusContext(Wallet wallet, Store store) public Block CreateBlock() { + EnsureHeader(); Contract contract = Contract.CreateMultiSigContract(M, Validators); ContractParametersContext sc = new ContractParametersContext(Block); for (int i = 0, j = 0; i < Validators.Length && j < M; i++)