void ISerializable.Deserialize(BinaryReader reader) { this.AssetId = reader.ReadSerializable<UInt256>(); this.Value = reader.ReadSerializable<Fixed8>(); if (Value <= Fixed8.Zero) throw new FormatException(); this.ScriptHash = reader.ReadSerializable<UInt160>(); }
void ISignable.DeserializeUnsigned(BinaryReader reader) { UInt256 asset_id = reader.ReadSerializable<UInt256>(); UInt256 value_asset_id = reader.ReadSerializable<UInt256>(); if (asset_id == value_asset_id) throw new FormatException(); UInt160 agent = reader.ReadSerializable<UInt160>(); DeserializeUnsignedInternal(reader, asset_id, value_asset_id, agent); }
void ISerializable.Deserialize(BinaryReader reader) { this.Amount = reader.ReadSerializable<Fixed8>(); if (Amount == Fixed8.Zero) throw new FormatException(); if (Amount.GetData() % 10000 != 0) throw new FormatException(); this.Price = reader.ReadSerializable<Fixed8>(); if (Price <= Fixed8.Zero) throw new FormatException(); if (Price.GetData() % 10000 != 0) throw new FormatException(); this.Client = reader.ReadSerializable<UInt160>(); }
void ISignable.DeserializeUnsigned(BinaryReader reader) { PrevHash = reader.ReadSerializable<UInt256>(); Miner = ECPoint.DeserializeFrom(reader, ECCurve.Secp256r1); NoncePieces.Clear(); int count = (int)reader.ReadVarInt(); for (int i = 0; i < count; i++) { ECPoint key = ECPoint.DeserializeFrom(reader, ECCurve.Secp256r1); byte[] value = reader.ReadBytes((int)reader.ReadVarInt()); NoncePieces.Add(key, value); } MerkleRoot = reader.ReadSerializable<UInt256>(); }
protected override void DeserializeExclusiveData(BinaryReader reader) { this.AssetType = (AssetType)reader.ReadByte(); if (!Enum.IsDefined(typeof(AssetType), AssetType)) throw new FormatException(); this.Name = reader.ReadVarString(); this.Amount = reader.ReadSerializable<Fixed8>(); if (Amount == Fixed8.Zero || Amount < -Fixed8.Satoshi) throw new FormatException(); if (AssetType == AssetType.Share && Amount <= Fixed8.Zero) throw new FormatException(); if (AssetType == AssetType.Currency && Amount != -Fixed8.Satoshi) throw new FormatException(); this.Issuer = ECPoint.DeserializeFrom(reader, ECCurve.Secp256r1); this.Admin = reader.ReadSerializable<UInt160>(); }
void ISerializable.Deserialize(BinaryReader reader) { this.PrevHash = reader.ReadSerializable<UInt256>(); this.PrevIndex = reader.ReadUInt32(); this.Script = reader.ReadBytes((int)reader.ReadVarInt()); this.Sequence = reader.ReadUInt32(); }
private void DeserializeUnsignedInternal(BinaryReader reader, UInt256 asset_id, UInt256 value_asset_id, UInt160 agent) { AssetId = asset_id; ValueAssetId = value_asset_id; Agent = agent; Amount = reader.ReadSerializable<Fixed8>(); if (Amount == Fixed8.Zero) throw new FormatException(); if (Amount.GetData() % 10000 != 0) throw new FormatException(); Price = reader.ReadSerializable<Fixed8>(); if (Price <= Fixed8.Zero) throw new FormatException(); if (Price.GetData() % 10000 != 0) throw new FormatException(); Client = reader.ReadSerializable<UInt160>(); Inputs = reader.ReadSerializableArray<TransactionInput>(); if (Inputs.Distinct().Count() != Inputs.Length) throw new FormatException(); }
void ISignable.DeserializeUnsigned(BinaryReader reader) { PrevHash = reader.ReadSerializable<UInt256>(); Miner = ECPoint.DeserializeFrom(reader, ECCurve.Secp256r1); IV = reader.ReadBytes(16); NoncePieces.Clear(); int count = (int)reader.ReadVarInt(); for (int i = 0; i < count; i++) { ECPoint key = ECPoint.DeserializeFrom(reader, ECCurve.Secp256r1); if (key == Miner) throw new FormatException(); byte[] value = reader.ReadBytes((int)reader.ReadVarInt()); NoncePieces.Add(key, value); } NonceHash = reader.ReadSerializable<UInt256>(); TransactionHashes = reader.ReadSerializableArray<UInt256>(); }
public override void Deserialize(BinaryReader reader) { this.PrevHash = reader.ReadSerializable<UInt256>(); this.Miner = Secp256r1Point.DeserializeFrom(reader); this.NoncePieces.Clear(); int count = (int)reader.ReadVarInt(); for (int i = 0; i < count; i++) { Secp256r1Point key = Secp256r1Point.DeserializeFrom(reader); if (key == Miner) throw new FormatException(); byte[] value = reader.ReadBytes((int)reader.ReadVarInt()); NoncePieces.Add(key, value); } this.NonceHash = reader.ReadSerializable<UInt256>(); this.TransactionHashes = reader.ReadSerializableArray<UInt256>(); this.Script = reader.ReadBytes((int)reader.ReadVarInt()); }
public override void Deserialize(BinaryReader reader) { this.m = (int)reader.ReadVarInt(); this.publicKeys = new ECPoint[reader.ReadVarInt()]; for (int i = 0; i < publicKeys.Length; i++) { publicKeys[i] = ECPoint.DeserializeFrom(reader, ECCurve.Secp256r1); } base.RedeemScript = CreateMultiSigRedeemScript(m, publicKeys); base.PublicKeyHash = reader.ReadSerializable<UInt160>(); }
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>(); } }
void ISignable.FromUnsignedArray(byte[] value) { using (MemoryStream ms = new MemoryStream(value, false)) using (BinaryReader reader = new BinaryReader(ms)) { this.AssetId = reader.ReadSerializable<UInt256>(); this.ValueAssetId = reader.ReadSerializable<UInt256>(); this.Agent = reader.ReadSerializable<UInt160>(); this.Amount = reader.ReadSerializable<Fixed8>(); this.Price = reader.ReadSerializable<Fixed8>(); this.Client = reader.ReadSerializable<UInt160>(); this.Inputs = reader.ReadSerializableArray<TransactionInput>(); } }
void ISignable.FromUnsignedArray(byte[] value) { using (MemoryStream ms = new MemoryStream(value, false)) using (BinaryReader reader = new BinaryReader(ms)) { this.PrevHash = reader.ReadSerializable<UInt256>(); this.Miner = Secp256r1Point.DeserializeFrom(reader); this.NoncePieces.Clear(); int count = (int)reader.ReadVarInt(); for (int i = 0; i < count; i++) { Secp256r1Point key = Secp256r1Point.DeserializeFrom(reader); if (key == Miner) throw new FormatException(); value = reader.ReadBytes((int)reader.ReadVarInt()); NoncePieces.Add(key, value); } this.NonceHash = reader.ReadSerializable<UInt256>(); this.TransactionHashes = reader.ReadSerializableArray<UInt256>(); } }
void ISerializable.Deserialize(BinaryReader reader) { this.Version = reader.ReadUInt32(); this.HashStart = reader.ReadSerializableArray<UInt256>(); this.HashStop = reader.ReadSerializable<UInt256>(); }
public override void Deserialize(BinaryReader reader) { ((ISignable)this).DeserializeUnsigned(reader); Script = reader.ReadSerializable<Script>(); }
private Message ReceiveMessage(TimeSpan timeout) { if (timeout == Timeout.InfiniteTimeSpan) timeout = TimeSpan.Zero; using (BinaryReader reader = new BinaryReader(stream, Encoding.UTF8, true)) { try { tcp.ReceiveTimeout = (int)timeout.TotalMilliseconds; return reader.ReadSerializable<Message>(); } catch (ObjectDisposedException) { } catch (FormatException) { Disconnect(true); } catch (IOException) { Disconnect(true); } } return null; }
void ISerializable.Deserialize(BinaryReader reader) { HashStart = reader.ReadSerializableArray<UInt256>(); HashStop = reader.ReadSerializable<UInt256>(); }
void ISerializable.Deserialize(BinaryReader reader) { this.Value = reader.ReadSerializable<Fixed8>(); this.Script = reader.ReadBytes((int)reader.ReadVarInt()); }
void ISerializable.Deserialize(BinaryReader reader) { this.AssetId = reader.ReadSerializable<UInt256>(); this.Value = reader.ReadSerializable<Fixed8>(); this.ScriptHash = reader.ReadSerializable<UInt160>(); }