Blinking a led with increment issue

Hello,

I am trying to Blink an LED with the Blynk app.
Whenever the virtual pin V1 is pushed, it should trigger the Led On & Off 10 times.
Somehow any value that I choosed (10 in this example) is doubled when running the problem.
So here the LED is flashing 20 times.

I cannot figure out what I am doing wrong. I also tried a “for” condition but I have the same issue.

Thanks a lot ,

void setup()
{
// Debug console
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
pinMode (PINOUT, OUTPUT);
}

void loop()
{
  Blynk.run();
}


BLYNK_WRITE(V1)
{
  int buttonState = param.asInt();
  if (param.asInt() == 1);
  {
    i = 0;
    while (i < 10) {
      Serial.println(i);
      digitalWrite(LED, HIGH);
      delay(1000);
      digitalWrite(LED, LOW);
      delay(500);
      i++;
    }
  }
}
  int buttonState = param.asInt();
  if (param.asInt() == 1);

I am not familiar with Blynk but this does not make sense to me

Why set buttonState then never use it ?
What value is returned by param.asInt() when data is available ?
Should that semicolon be there on the end of the if ?