This is a question from ChzChz in the Suinami Riders group (Telegram)
hi. I would like to know about complex filters.
I am trying setup parsing sui’s events using complex filters. Did you test something like this:let contract = config.sui_contract.address.as_str(); info!("Setup SuiEventFilter for contract with id: {contract}"); let lemon_filter = vec![ SuiEventFilter::Package(ObjectID::from_hex_literal(contract)?), SuiEventFilter::Module("lemon".to_string()), SuiEventFilter::MoveEventType(format!("{contract}::lemon::LemonCreated")), ]; let item_filter = vec![ SuiEventFilter::Package(ObjectID::from_hex_literal(contract)?), SuiEventFilter::Module("item".to_string()), SuiEventFilter::MoveEventType(format!("{contract}::item::ItemCreated")), ]; let mut lemon_events = sui .event_api() .subscribe_event(SuiEventFilter::Or( Box::new(SuiEventFilter::All(lemon_filter)), Box::new(SuiEventFilter::All(item_filter)), )) .await .context("Failed to subscribe to events")?;
because I can’t get events for this filter. maybe I do something wrong.