// serialization implementation

        #region ICoinSerializable Members

        public void ReadWrite(CoinStream stream)
        {
            stream.ReadWrite(ref _TransactionCount);
            stream.ReadWrite(ref _Hashes);
            byte[] vBytes = null;
            if (!stream.Serializing)
            {
                stream.ReadWriteAsVarString(ref vBytes);
                BitWriter writer = new BitWriter();
                for (int p = 0; p < vBytes.Length * 8; p++)
                {
                    writer.Write((vBytes[p / 8] & (1 << (p % 8))) != 0);
                }
                _Flags = writer.ToBitArray();
            }
            else
            {
                vBytes = new byte[(_Flags.Length + 7) / 8];
                for (int p = 0; p < _Flags.Length; p++)
                {
                    vBytes[p / 8] |= (byte)(ToByte(_Flags.Get(p)) << (p % 8));
                }
                stream.ReadWriteAsVarString(ref vBytes);
            }
        }
Exemplo n.º 2
0
 public void ReadWrite(CoinStream stream)
 {
     stream.ReadWriteAsVarString(ref vData);
     stream.ReadWrite(ref nHashFuncs);
     stream.ReadWrite(ref nTweak);
     stream.ReadWrite(ref nFlags);
 }