Using interrupts with I2CSlave on STM32L4

I’m trying to setup a simple interrupt handler for addressed data received on I2C.

If I use InterruptIn, it seems that it is interrupting on every falling edge of the pullup SDA signal. Is there a way to check if I2C is ready to be read and is there a way to check if the data is addressed for this slave? I’m thinking that way, I can just say in the ISR: if it’s not ready to be read, ignore it for now, else call i2cslave.receive().

Is there another way of getting addressed i2c packets to trigger an interrupt?