X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=Novacoin%2FCTxIn.cs;h=067ad4639dabd9b3c46f9df6287e8c30473c4bce;hb=be9d844557911f95165d2c9875c4f5b2822cfc92;hp=af8539feac791b19f035c45b20ceaf5230675f03;hpb=6c6e3b0c68e764ea520dde48d5e44c757f1dabbb;p=NovacoinLibrary.git
diff --git a/Novacoin/CTxIn.cs b/Novacoin/CTxIn.cs
index af8539f..067ad46 100644
--- a/Novacoin/CTxIn.cs
+++ b/Novacoin/CTxIn.cs
@@ -19,6 +19,7 @@
using System;
using System.Text;
using System.Collections.Generic;
+using System.IO;
namespace Novacoin
{
@@ -131,18 +132,19 @@ namespace Novacoin
/// Byte sequence.
public static implicit operator byte[] (CTxIn input)
{
- var inputBytes = new List();
+ var stream = new MemoryStream();
+ var writer = new BinaryWriter(stream);
- inputBytes.AddRange((byte[])input.prevout); // prevout
+ writer.Write(input.prevout); // prevout
+ writer.Write(VarInt.EncodeVarInt(input.scriptSig.Size)); // scriptSig length
+ writer.Write(input.scriptSig); // scriptSig
+ writer.Write(input.nSequence); // nSequence
- var s = (byte[])input.scriptSig;
- inputBytes.AddRange(VarInt.EncodeVarInt(s.Length)); // scriptSig length
- inputBytes.AddRange(s); // scriptSig
- inputBytes.AddRange(BitConverter.GetBytes(input.nSequence)); // Sequence
-
- return inputBytes.ToArray();
+ var inputBytes = stream.ToArray();
+ writer.Close();
+ return inputBytes;
}
-
+
public bool IsFinal
{
get { return (nSequence == uint.MaxValue); }