Skip to content

Commit

Permalink
fix: Fix StructTag conversion for suix_queryEvents Indexer-RPC me…
Browse files Browse the repository at this point in the history
…thod
  • Loading branch information
samuel-rufi committed Nov 28, 2024
1 parent 8bd5399 commit 722353e
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 1 deletion.
3 changes: 2 additions & 1 deletion crates/sui-indexer/src/indexer_reader.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1030,7 +1030,8 @@ impl IndexerReader {
)
}
EventFilter::MoveEventType(struct_tag) => {
format!("event_type = '{}'", struct_tag)
let formatted_struct_tag = struct_tag.to_canonical_string(true);
format!("event_type = '{formatted_struct_tag}'")
}
EventFilter::MoveEventModule { package, module } => {
let package_module_prefix = format!("{}::{}", package.to_hex_literal(), module);
Expand Down
58 changes: 58 additions & 0 deletions crates/sui-indexer/tests/json_rpc_tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -241,3 +241,61 @@ async fn test_events() -> Result<(), anyhow::Error> {

Ok(())
}

#[tokio::test]
async fn test_event_type_filter() {
let cluster = TestClusterBuilder::new()
.with_indexer_backed_rpc()
.build()
.await;

let client = cluster.rpc_client();

cluster.trigger_reconfiguration().await;

let result = client.query_events(EventFilter::MoveEventType("0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorEpochInfoEventV2".parse().unwrap()), None, None, None).await;
assert!(result.is_ok());
assert!(!result.unwrap().data.is_empty());
let result = client
.query_events(
EventFilter::MoveEventType(
"0x3::validator_set::ValidatorEpochInfoEventV2"
.parse()
.unwrap(),
),
None,
None,
None,
)
.await;
assert!(result.is_ok());
assert!(!result.unwrap().data.is_empty());
let result = client
.query_events(
EventFilter::MoveEventType(
"0x0003::validator_set::ValidatorEpochInfoEventV2"
.parse()
.unwrap(),
),
None,
None,
None,
)
.await;
assert!(result.is_ok());
assert!(!result.unwrap().data.is_empty());
let result = client
.query_events(
EventFilter::MoveEventType(
"0x1::validator_set::ValidatorEpochInfoEventV2"
.parse()
.unwrap(),
),
None,
None,
None,
)
.await;
assert!(result.is_ok());
assert!(result.unwrap().data.is_empty());
}

0 comments on commit 722353e

Please sign in to comment.