예제 #1
0
        public static (bool ok, KzScript script) ParseHex(string rawScriptHex, bool withoutLength = false)
        {
            var bytes = rawScriptHex.HexToBytes();
            var s     = new KzScript();
            var ros   = new ReadOnlySequence <byte>(bytes);
            var sr    = new SequenceReader <byte>(ros);

            return(s.TryReadScript(ref sr, withoutLength), s);
        }
예제 #2
0
파일: KzTxIn.cs 프로젝트: wy000000/KzBsv
        public bool TryReadTxIn(ref SequenceReader<byte> r)
        {
            if (!_prevout.TryReadOutPoint(ref r)) goto fail;
            if (!_scriptSig.TryReadScript(ref r)) goto fail;
            if (!r.TryReadLittleEndian(out _sequence)) goto fail;

            return true;
            fail:
            return false;
        }
예제 #3
0
파일: KzTxOut.cs 프로젝트: wy000000/KzBsv
        public bool TryReadTxOut(ref SequenceReader <byte> r)
        {
            if (!r.TryReadLittleEndian(out _value))
            {
                goto fail;
            }
            if (!_scriptPub.TryReadScript(ref r))
            {
                goto fail;
            }

            return(true);

fail:
            return(false);
        }