Emitting events
To emit an event from a program, use the emit
statement:
pub contract Events {
event FooEvent(x: Int, y: Int)
// Event with argument labels
event BarEvent(labelA fieldA: Int, labelB fieldB: Int)
fun events() {
emit FooEvent(x: 1, y: 2)
// Emit event with explicit argument labels
// Note that the emitted event will only contain the field names,
// not the argument labels used at the invocation site.
emit FooEvent(labelA: 1, labelB: 2)
}
}
Emitting events has the following restrictions:
Events can only be invoked in an
emit
statement.This means events cannot be assigned to variables or used as function parameters.
Events can only be emitted from the location in which they are declared.
Last updated
Was this helpful?