示例#1
0
 public static void FromBytes(this ICoinSerializable serializable, byte[] bytes, uint version = 70012)
 {
     serializable.ReadWrite(new CoinStream(bytes)
     {
         ProtocolVersion = version
     });
 }
示例#2
0
        public static void ReadWrite(this ICoinSerializable serializable, Stream stream, bool serializing, uint version = 70012)
        {
            CoinStream s = new CoinStream(stream, serializing)
            {
                ProtocolVersion = version
            };

            serializable.ReadWrite(s);
        }
示例#3
0
        public static byte[] ToBytes(this ICoinSerializable serializable, uint version = 70012)
        {
            MemoryStream ms = new MemoryStream();

            serializable.ReadWrite(new CoinStream(ms, true)
            {
                ProtocolVersion = version,
            });
            return(ToArrayEfficient(ms));
        }
示例#4
0
        public static int GetSerializedSize(this ICoinSerializable serializable, TransactionOptions options)
        {
            CoinStream bms = new CoinStream(Stream.Null, true)
            {
                TransactionOptions = options
            };

            serializable.ReadWrite(bms);
            return((int)bms.Counter.WrittenBytes);
        }
示例#5
0
        public static int GetSerializedSize(this ICoinSerializable serializable, uint version, SerializationType serializationType)
        {
            CoinStream s = new CoinStream(Stream.Null, true)
            {
                Type = serializationType
            };

            s.ReadWrite(serializable);
            return((int)s.Counter.WrittenBytes);
        }
示例#6
0
 public virtual bool TryCreateNew(Type type, out ICoinSerializable result)
 {
     result = null;
     if (IsBlock(type))
     {
         result = CreateBlock();
         return(true);
     }
     if (IsBlockHeader(type))
     {
         result = CreateBlockHeader();
         return(true);
     }
     if (IsTransaction(type))
     {
         result = CreateTransaction();
         return(true);
     }
     return(false);
 }
 protected BitcoinExtKeyBase(ICoinSerializable key, Network network)
     : base(key.ToBytes(), network)
 {
 }
示例#8
0
 public static void ReadWrite(this ICoinSerializable serializable, byte[] bytes, uint version = 70012)
 {
     ReadWrite(serializable, new MemoryStream(bytes), false, version);
 }
示例#9
0
 public static int GetSerializedSize(this ICoinSerializable serializable, uint version = 70012)
 {
     return(GetSerializedSize(serializable, version, SerializationType.Disk));
 }