RpcClient::get_multiple_accounts() now works

This commit is contained in:
Michael Vines
2020-09-23 11:11:56 -07:00
parent a713e3c92d
commit ff890c173c

View File

@ -517,14 +517,14 @@ impl RpcClient {
data_slice: None, data_slice: None,
}; };
let pubkeys: Vec<_> = pubkeys.iter().map(|pubkey| pubkey.to_string()).collect(); let pubkeys: Vec<_> = pubkeys.iter().map(|pubkey| pubkey.to_string()).collect();
let response = self.send(RpcRequest::GetMultipleAccounts, json!([[pubkeys], config]))?; let response = self.send(RpcRequest::GetMultipleAccounts, json!([pubkeys, config]))?;
let Response { let Response {
context, context,
value: accounts, value: accounts,
} = serde_json::from_value::<Response<Option<UiAccount>>>(response)?; } = serde_json::from_value::<Response<Vec<Option<UiAccount>>>>(response)?;
let accounts: Vec<Option<Account>> = accounts let accounts: Vec<Option<Account>> = accounts
.iter() .into_iter()
.map(|rpc_account| rpc_account.decode()) .map(|rpc_account| rpc_account.map(|a| a.decode()).flatten())
.collect(); .collect();
Ok(Response { Ok(Response {
context, context,