// 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); } }
public void ReadWrite(CoinStream stream) { stream.ReadWriteAsVarString(ref vData); stream.ReadWrite(ref nHashFuncs); stream.ReadWrite(ref nTweak); stream.ReadWrite(ref nFlags); }