예제 #1
0
        static void AssertWriteSameAsRead(string hex)
        {
            var reader = new TransactionReader(hex);
            var script = reader.ReadScript();

            Assert.Equal(hex, GetResult(w => w.Write(script)));
        }
예제 #2
0
        public void ReadUnlockScriptTest()
        {
            var reader = new TransactionReader(unlockHex);
            var script = reader.ReadScript();

            Assert.Equal(2, script.Commands.Count);
            Assert.IsType <byte[]>(script.Commands[0]);
            Assert.Equal(71, ((byte[])script.Commands[0]).Length);
            Assert.IsType <byte[]>(script.Commands[1]);
            Assert.Equal(33, ((byte[])script.Commands[1]).Length);
        }
예제 #3
0
        public void ReadLockScriptTest()
        {
            var reader = new TransactionReader(lockHex);
            var script = reader.ReadScript();

            Assert.Equal(5, script.Commands.Count);
            Assert.Equal(OpCode.OP_DUP, script.Commands[0]);
            Assert.Equal(OpCode.OP_HASH160, script.Commands[1]);
            Assert.IsType <byte[]>(script.Commands[2]);
            Assert.Equal(20, ((byte[])script.Commands[2]).Length);
            Assert.Equal(OpCode.OP_EQUALVERIFY, script.Commands[3]);
            Assert.Equal(OpCode.OP_CHECKSIG, script.Commands[4]);
        }