public void VerifySignature(byte[] publicKey, byte[] sigHash, Script script, Transaction transaction, int index)
        {
            TestLog.WriteLine(transaction.ToString());
            var verify = TransactionSignatureOperations.VerifySignature(
                publicKey, sigHash, script, transaction, index, SignatureHashType.Unknown);

            Assert.IsTrue(verify);
        }
Ejemplo n.º 2
0
        protected override void ExecuteImpl(ExecutionContext context)
        {
            var key = context.ValueStack.Peek(0);
            var sig = context.ValueStack.Peek(1);

            var subscript = context.CurrentScript.Subscript(context.LastSeparatorAtomIndex,
                                                            context.CurrentAtomIndex - context.LastSeparatorAtomIndex + 1);

            subscript.Atoms.RemoveAllCopies(new ValueAtom(sig));

            bool isValidSignature = TransactionSignatureOperations.VerifySignature(
                key, sig, subscript, context.CurrentTransaction, context.CurrentTransactionInputIndex, 0);

            context.ValueStack.Pop();
            context.ValueStack.Pop();
            context.ValueStack.Push(ExecutionContext.ToStackValue(isValidSignature));
        }