diff --git a/src/gamma/types/request.rs b/src/gamma/types/request.rs index a6ea9db2..7a27a461 100644 --- a/src/gamma/types/request.rs +++ b/src/gamma/types/request.rs @@ -202,6 +202,7 @@ pub struct MarketsRequest { #[builder(default)] pub question_ids: Vec, pub include_tag: Option, + pub active: Option, pub closed: Option, } diff --git a/tests/gamma.rs b/tests/gamma.rs index 1ad2f69c..d4e2916f 100644 --- a/tests/gamma.rs +++ b/tests/gamma.rs @@ -1279,6 +1279,7 @@ mod query_string { b256!("0x0000000000000000000000000000000000000000000000000000000000000002"), ]) .include_tag(true) + .active(true) .closed(false) .build(); @@ -1323,6 +1324,7 @@ mod query_string { "question_ids=0x0000000000000000000000000000000000000000000000000000000000000002" )); assert!(qs.contains("include_tag=true")); + assert!(qs.contains("active=true")); assert!(qs.contains("closed=false")); } @@ -1348,6 +1350,27 @@ mod query_string { assert!(!qs.contains("question_ids=")); } + #[test] + fn markets_request_active_true() { + let request = MarketsRequest::builder().active(true).build(); + let qs = request.query_params(None); + assert!(qs.contains("active=true")); + } + + #[test] + fn markets_request_active_false() { + let request = MarketsRequest::builder().active(false).build(); + let qs = request.query_params(None); + assert!(qs.contains("active=false")); + } + + #[test] + fn markets_request_active_omitted_when_unset() { + let request = MarketsRequest::default(); + let qs = request.query_params(None); + assert!(!qs.contains("active")); + } + #[test] fn market_by_id_request_with_include_tag() { let request = MarketByIdRequest::builder()