public void AddSignature(BlockSignatures signatures, BlockProposalSignatures proposalSignatures, short issuer) { var block = Block; if (block != null) { var memeberKey = _members.GetKey(issuer); if (signatures.IsSignatureValid(memeberKey?.PublicKey, issuer, block) && proposalSignatures.IsSignatureValid(memeberKey?.PublicKey, issuer, block)) { lock (_votes) { if (Signatures == null) { Signatures = new BlockSignatures(block); } if (ProposalSignatures == null) { ProposalSignatures = new BlockProposalSignatures(block); } Signatures.AddSignature(signatures.GetSignature(issuer)); ProposalSignatures.AddSignature(proposalSignatures.GetSignature(issuer)); } } } }