diff --git a/tendermint/src/rpc/endpoint/abci_query.rs b/tendermint/src/rpc/endpoint/abci_query.rs index 218fee6bf..2995948bc 100644 --- a/tendermint/src/rpc/endpoint/abci_query.rs +++ b/tendermint/src/rpc/endpoint/abci_query.rs @@ -78,12 +78,20 @@ pub struct AbciQuery { pub index: i64, /// Key - // TODO(tarcieri): parse to Vec? - pub key: Option, + #[serde( + default, + serialize_with = "serializers::serialize_option_base64", + deserialize_with = "serializers::parse_option_base64" + )] + pub key: Option>, /// Value - // TODO(tarcieri): parse to Vec? - pub value: Option, + #[serde( + default, + serialize_with = "serializers::serialize_option_base64", + deserialize_with = "serializers::parse_option_base64" + )] + pub value: Option>, /// Proof (if requested) pub proof: Option, diff --git a/tendermint/tests/integration.rs b/tendermint/tests/integration.rs index 1367239d4..d5a83b47f 100644 --- a/tendermint/tests/integration.rs +++ b/tendermint/tests/integration.rs @@ -33,7 +33,7 @@ mod rpc { let abci_query = localhost_rpc_client() .abci_query(Some(key), vec![], None, false) .unwrap(); - assert_eq!(abci_query.key.as_ref().unwrap(), ""); + assert_eq!(abci_query.key.as_ref().unwrap(), &Vec::::new()); assert_eq!(abci_query.value.as_ref(), None); }