Esempio n. 1
0
        private PoABlockHeader CreateHeader()
        {
            var header = new PoABlockHeader();

            header.HashMerkleRoot = new uint256(RandomUtils.GetBytes(32));

            return(header);
        }
Esempio n. 2
0
        public void VerifyHeaderSignature_SignatureIsInvalid()
        {
            PoABlockHeader header = this.CreateHeader();

            this.validator.Sign(this.tool.GeneratePrivateKey(), header);

            bool validSig = this.validator.VerifySignature(this.tool.GeneratePrivateKey().PubKey, header);

            Assert.False(validSig);
        }
Esempio n. 3
0
        public void VerifyHeaderSignature_SignatureIsValid()
        {
            Key            key    = this.tool.GeneratePrivateKey();
            PoABlockHeader header = this.CreateHeader();

            this.validator.Sign(key, header);

            bool validSig = this.validator.VerifySignature(key.PubKey, header);

            Assert.True(validSig);
        }
Esempio n. 4
0
        public void SignatureDoesntAffectHeaderHash()
        {
            Key            key    = this.tool.GeneratePrivateKey();
            PoABlockHeader header = this.CreateHeader();

            uint256 hashBefore = header.GetHash();

            this.validator.Sign(key, header);

            uint256 hashAfter = header.GetHash();

            Assert.Equal(hashBefore, hashAfter);
        }