From: CryptoManiac Date: Sat, 5 Sep 2015 13:39:32 +0000 (+0300) Subject: Static methods for output array serialization/deserialization. X-Git-Url: https://git.novaco.in/?p=NovacoinLibrary.git;a=commitdiff_plain;h=fa431536d8e08b58341e06c29375463e2c056f27 Static methods for output array serialization/deserialization. --- diff --git a/Novacoin/CTxOut.cs b/Novacoin/CTxOut.cs index 43c1f63..4712f42 100644 --- a/Novacoin/CTxOut.cs +++ b/Novacoin/CTxOut.cs @@ -80,6 +80,48 @@ namespace Novacoin } /// + /// Deserialize outputs array. + /// + /// Byte array + /// Outputs array + public static CTxOut[] DeserializeOutputsArray(byte[] outBytes) + { + var stream = new MemoryStream(outBytes); + var reader = new BinaryReader(stream); + + CTxOut[] result = ReadTxOutList(ref reader); + + reader.Close(); + + return result; + } + + /// + /// Create serialized representation of outputs array. + /// + /// Outputs array + /// Byte array + public static byte[] SerializeOutputsArray(CTxOut[] vout) + { + var stream = new MemoryStream(); + var writer = new BinaryWriter(stream); + + writer.Write(VarInt.EncodeVarInt(vout.Length)); + + foreach (var o in vout) + { + writer.Write(o); + } + + var resultBytes = stream.ToArray(); + + writer.Close(); + + return resultBytes; + } + + + /// /// Get raw bytes representation of our output. /// /// Byte sequence.