/** * Converts an amcl.BN256.ECP into an ECP protobuf object. * * @param w an ECP to be transformed into a protobuf object * @return a protobuf representation of the ECP */ public static Protos.Idemix.ECP ToProto(this ECP w) { byte[] valueX = new byte[FIELD_BYTES]; byte[] valueY = new byte[FIELD_BYTES]; w.X.ToBytes(valueX); w.Y.ToBytes(valueY); Protos.Idemix.ECP ecp = new Protos.Idemix.ECP(); ecp.X = ByteString.CopyFrom(valueX); ecp.Y = ByteString.CopyFrom(valueY); return(ecp); }
/** * Returns an amcl.BN256.ECP on input of an ECP protobuf object. * * @param w a protobuf object representing an ECP * @return a ECP created from the protobuf object */ public static ECP ToECP(this Protos.Idemix.ECP w) { byte[] valuex = w.X.ToByteArray(); byte[] valuey = w.Y.ToByteArray(); return(new ECP(BIG.FromBytes(valuex), BIG.FromBytes(valuey))); }