protected override void DeserializeExclusiveData(BinaryReader reader) { this.AssetId = reader.ReadSerializable <UInt256>(); this.ValueAssetId = reader.ReadSerializable <UInt256>(); if (AssetId == ValueAssetId) { throw new FormatException(); } this.Agent = reader.ReadSerializable <UInt160>(); this.Orders = new Order[reader.ReadVarInt()]; for (int i = 0; i < Orders.Length; i++) { Orders[i] = new Order(); Orders[i].DeserializeInTransaction(reader, this); } ulong count = reader.ReadVarInt(); if (count > 1) { throw new FormatException(); } if (count == 0) { this.SplitOrder = null; } else { this.SplitOrder = reader.ReadSerializable <SplitOrder>(); } }
/// <summary> /// 反序列化交易中的额外数据 /// </summary> /// <param name="reader">数据来源</param> protected override void DeserializeExclusiveData(BinaryReader reader) { this.AssetId = reader.ReadSerializable <UInt256>(); this.ValueAssetId = reader.ReadSerializable <UInt256>(); this.Agent = reader.ReadSerializable <UInt160>(); this.Orders = new Order[reader.ReadVarInt(0x1000)]; for (int i = 0; i < Orders.Length; i++) { Orders[i] = new Order(); Orders[i].DeserializeInTransaction(reader, this); } if (reader.ReadVarInt(1) == 0) { this.SplitOrder = null; } else { this.SplitOrder = reader.ReadSerializable <SplitOrder>(); } }
protected override void DeserializeExclusiveData(BinaryReader reader) { this.AssetId = reader.ReadSerializable<UInt256>(); this.ValueAssetId = reader.ReadSerializable<UInt256>(); if (AssetId == ValueAssetId) throw new FormatException(); this.Agent = reader.ReadSerializable<UInt160>(); this.Orders = new Order[reader.ReadVarInt()]; for (int i = 0; i < Orders.Length; i++) { Orders[i] = new Order(); Orders[i].DeserializeInTransaction(reader, this); } ulong count = reader.ReadVarInt(); if (count > 1) throw new FormatException(); if (count == 0) { this.SplitOrder = null; } else { this.SplitOrder = reader.ReadSerializable<SplitOrder>(); } }