fixed filter deserialization
This commit is contained in:
parent
1f69b60041
commit
b12d0f690d
@ -42,14 +42,14 @@ impl Deserialize for Topic {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Deserialize)]
|
#[derive(Debug, PartialEq, Deserialize)]
|
||||||
pub struct Filter {
|
pub struct Filter {
|
||||||
#[serde(rename="fromBlock")]
|
#[serde(rename="fromBlock")]
|
||||||
pub from_block: BlockNumber,
|
pub from_block: Option<BlockNumber>,
|
||||||
#[serde(rename="toBlock")]
|
#[serde(rename="toBlock")]
|
||||||
pub to_block: BlockNumber,
|
pub to_block: Option<BlockNumber>,
|
||||||
pub address: Address,
|
pub address: Option<Address>,
|
||||||
pub topics: Vec<Topic>
|
pub topics: Option<Vec<Topic>>
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
@ -58,9 +58,10 @@ mod tests {
|
|||||||
use std::str::FromStr;
|
use std::str::FromStr;
|
||||||
use util::hash::*;
|
use util::hash::*;
|
||||||
use super::*;
|
use super::*;
|
||||||
|
use v1::types::BlockNumber;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn filter_deserialization() {
|
fn topic_deserialization() {
|
||||||
let s = r#"["0x000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b", null, ["0x000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b", "0x0000000000000000000000000aff3454fce5edbc8cca8697c15331677e6ebccc"]]"#;
|
let s = r#"["0x000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b", null, ["0x000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b", "0x0000000000000000000000000aff3454fce5edbc8cca8697c15331677e6ebccc"]]"#;
|
||||||
let deserialized: Vec<Topic> = serde_json::from_str(s).unwrap();
|
let deserialized: Vec<Topic> = serde_json::from_str(s).unwrap();
|
||||||
assert_eq!(deserialized, vec![
|
assert_eq!(deserialized, vec![
|
||||||
@ -72,4 +73,16 @@ mod tests {
|
|||||||
])
|
])
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn filter_deserialization() {
|
||||||
|
let s = r#"{"fromBlock":"earliest","toBlock":"latest"}"#;
|
||||||
|
let deserialized: Filter = serde_json::from_str(s).unwrap();
|
||||||
|
assert_eq!(deserialized, Filter {
|
||||||
|
from_block: Some(BlockNumber::Earliest),
|
||||||
|
to_block: Some(BlockNumber::Latest),
|
||||||
|
address: None,
|
||||||
|
topics: None
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user