RpcClient::get_multiple_accounts() now works (#12426)

(cherry picked from commit ff890c173c)

Co-authored-by: Michael Vines <mvines@gmail.com>
This commit is contained in:
mergify[bot]
2020-09-23 21:58:23 +00:00
committed by GitHub
parent 29f9c1e1f2
commit 0c4743df03

View File

@ -522,14 +522,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,