mirror of
https://github.com/serai-dex/serai.git
synced 2025-12-08 20:29:23 +00:00
Fixes to the validator sets RPC
This commit is contained in:
@@ -109,10 +109,10 @@ impl Serai {
|
||||
Response { result: None, error: Some(error) } => {
|
||||
Err(RpcError::ErrorInResponse(error.message))
|
||||
}
|
||||
Response { result: Some(_), error: Some(_) } | Response { result: None, error: None } => {
|
||||
Err(RpcError::InvalidNode(
|
||||
"node didn't exclusively provide either `result` or `error`".to_string(),
|
||||
))
|
||||
// TODO: https://github.com/core-json/core-json/issues/18
|
||||
Response { result: None, error: None } => Ok(Default::default()),
|
||||
Response { result: Some(_), error: Some(_) } => {
|
||||
Err(RpcError::InvalidNode("node didn't provided both `result` and `error`".to_string()))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -128,7 +128,7 @@ impl<'a> ValidatorSets<'a> {
|
||||
.call::<Option<String>>(
|
||||
"validator-sets/keys",
|
||||
&format!(
|
||||
r#", "set": {{ "network": {}, "session": {} }} "#,
|
||||
r#", "network": {}, "session": {} "#,
|
||||
rpc_network(set.network)?,
|
||||
set.session.0
|
||||
),
|
||||
|
||||
@@ -131,14 +131,22 @@ async fn validator_sets() {
|
||||
serai.as_of(serai.block_by_number(0).await.unwrap().header.hash()).await.unwrap();
|
||||
let serai = serai.validator_sets();
|
||||
for network in NetworkId::all() {
|
||||
assert_eq!(serai.current_session(network).await.unwrap(), Some(Session(0)));
|
||||
assert_eq!(serai.current_stake(network).await.unwrap(), Some(Amount(0)));
|
||||
match network {
|
||||
NetworkId::Serai => {}
|
||||
NetworkId::External(network) => assert_eq!(
|
||||
serai.keys(ExternalValidatorSet { network, session: Session(0) }).await.unwrap(),
|
||||
None
|
||||
),
|
||||
NetworkId::Serai => {
|
||||
assert_eq!(serai.current_session(network).await.unwrap(), Some(Session(0)));
|
||||
assert_eq!(serai.current_stake(network).await.unwrap(), Some(Amount(0)));
|
||||
}
|
||||
NetworkId::External(external) => {
|
||||
assert!(serai.current_session(network).await.unwrap().is_none());
|
||||
assert!(serai.current_stake(network).await.unwrap().is_none());
|
||||
assert_eq!(
|
||||
serai
|
||||
.keys(ExternalValidatorSet { network: external, session: Session(0) })
|
||||
.await
|
||||
.unwrap(),
|
||||
None
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user