Contract Events
add_transaction_listener
Add a listener for transaction events to the contract. This will be called
whenever a transaction event is executed from the SDK interface.
def listener(event: TxEvent):
nonlocal event_status
print(event)
if event_status is None:
assert event.status == EventStatus.SUBMITTED
elif event_status == EventStatus.SUBMITTED:
assert event.status == EventStatus.COMPLETED
event_status = event.status
contract.events.add_transaction_listener(listener)
Configuration
listener
The listener function to be called on transaction events.
Must be of type Callable[[TxEvent], Any]
remove_transaction_listener
Remove a listener from transaction events.
contract.events.remove_transaction_listener(listener)
Configuration
add_event_listener
Add an event listener to this contract to listen for a specific event type.
event_name = "MyEvent"
contract.events.add_event_listener(event_name, listener)
Configuration
remove_event_listener
Remove an event listener listening to a specific event type.
event_name = "MyEvent"
contract.events.remove_event_listener(event_name: str, listener)
Configuration
remove_all_listeners
Remove all event listeners from this contract.
contract.events.remove_all_listeners()
get_events
Query past events of a specific type on the contract.
event_name = "MyEvent"
contract.events.get_events(event_name)
Configuration
event_name
The name of the event to query. Must be of type str.
options (optional)
The options to use when querying for events, including block range specifications and filters
Must be an object of type EventQueryOptions.
class EventQueryOptions:
filters: Dict[str, Any] = dataclasses.field(default_factory=dict)
from_block: Optional[BlockIdentifier] = "earliest"
to_block: Optional[BlockIdentifier] = "latest"
Return Value
A Tuple[AttributeDict] representing the list of events.