/// <summary> /// Deserialize. /// </summary> /// <param name="context"></param> public override void FinishDeserializing() { base.FinishDeserializing(); if ((_witnesses != null) && (AreWitnessesSerializable)) { if (this.AreWitnessBasesSerializable) { this.Witnesses = CryptoSerializer.Deserialize <DLRepOfGroupElement>(_witnesses, this.Group); } else { this.Witnesses = CryptoSerializer.Deserialize <DLRepOfGroupElement>(_witnesses, this.Group, this.Generators); } } if ((_publicValues != null) && ArePublicValuesSerializable) { this.PublicValues = CryptoSerializer.DeserializeGroupElementArray(_publicValues, "PublicValues", this.Group); } if ((this.PublicValues == null) && (this.Witnesses != null)) { this.PublicValues = new GroupElement[this.Witnesses.Length]; for (int i = 0; i < this.PublicValues.Length; ++i) { this.PublicValues[i] = this.Witnesses[i].Value; } } }
public void VerifierOnDeserialized(StreamingContext context) { if (this._closedEq == null) { return; } this.Statements = CryptoSerializer.Deserialize <IStatement>(_closedEq, this.Group); }
public void ProverOnDeserialized(StreamingContext context) { this.Witnesses = (IWitness [])CryptoSerializer.Deserialize <IWitness>(_witnesses, this.Group); this.Statements = new IStatement[this.Witnesses.Length]; for (int i = 0; i < Witnesses.Length; ++i) { this.Statements[i] = this.Witnesses[i].GetStatement(); } }