Use internal function for encoding accounts (#22822)
* Use internal function for encoding accounts * fix tests
This commit is contained in:
parent
65f8f43665
commit
4bc3a1195f
|
@ -1800,17 +1800,13 @@ impl JsonRpcRequestProcessor {
|
||||||
} else {
|
} else {
|
||||||
keyed_accounts
|
keyed_accounts
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.map(|(pubkey, account)| RpcKeyedAccount {
|
.map(|(pubkey, account)| {
|
||||||
pubkey: pubkey.to_string(),
|
Ok(RpcKeyedAccount {
|
||||||
account: UiAccount::encode(
|
pubkey: pubkey.to_string(),
|
||||||
&pubkey,
|
account: encode_account(&account, &pubkey, encoding, data_slice_config)?,
|
||||||
&account,
|
})
|
||||||
encoding,
|
|
||||||
None,
|
|
||||||
data_slice_config,
|
|
||||||
),
|
|
||||||
})
|
})
|
||||||
.collect()
|
.collect::<Result<Vec<_>>>()?
|
||||||
};
|
};
|
||||||
Ok(new_response(&bank, accounts))
|
Ok(new_response(&bank, accounts))
|
||||||
}
|
}
|
||||||
|
@ -1857,17 +1853,13 @@ impl JsonRpcRequestProcessor {
|
||||||
} else {
|
} else {
|
||||||
keyed_accounts
|
keyed_accounts
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.map(|(pubkey, account)| RpcKeyedAccount {
|
.map(|(pubkey, account)| {
|
||||||
pubkey: pubkey.to_string(),
|
Ok(RpcKeyedAccount {
|
||||||
account: UiAccount::encode(
|
pubkey: pubkey.to_string(),
|
||||||
&pubkey,
|
account: encode_account(&account, &pubkey, encoding, data_slice_config)?,
|
||||||
&account,
|
})
|
||||||
encoding,
|
|
||||||
None,
|
|
||||||
data_slice_config,
|
|
||||||
),
|
|
||||||
})
|
})
|
||||||
.collect()
|
.collect::<Result<Vec<_>>>()?
|
||||||
};
|
};
|
||||||
Ok(new_response(&bank, accounts))
|
Ok(new_response(&bank, accounts))
|
||||||
}
|
}
|
||||||
|
@ -3617,25 +3609,22 @@ pub mod rpc_full {
|
||||||
if result.is_err() {
|
if result.is_err() {
|
||||||
Some(vec![None; config_accounts.addresses.len()])
|
Some(vec![None; config_accounts.addresses.len()])
|
||||||
} else {
|
} else {
|
||||||
let mut accounts = vec![];
|
Some(
|
||||||
for address_str in config_accounts.addresses {
|
config_accounts
|
||||||
let address = verify_pubkey(&address_str)?;
|
.addresses
|
||||||
accounts.push(
|
.iter()
|
||||||
post_simulation_accounts
|
.map(|address_str| {
|
||||||
.iter()
|
let address = verify_pubkey(address_str)?;
|
||||||
.find(|(key, _account)| key == &address)
|
post_simulation_accounts
|
||||||
.map(|(pubkey, account)| {
|
.iter()
|
||||||
UiAccount::encode(
|
.find(|(key, _account)| key == &address)
|
||||||
pubkey,
|
.map(|(pubkey, account)| {
|
||||||
account,
|
encode_account(account, pubkey, accounts_encoding, None)
|
||||||
accounts_encoding,
|
})
|
||||||
None,
|
.transpose()
|
||||||
None,
|
})
|
||||||
)
|
.collect::<Result<Vec<_>>>()?,
|
||||||
}),
|
)
|
||||||
);
|
|
||||||
}
|
|
||||||
Some(accounts)
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
None
|
None
|
||||||
|
@ -7441,7 +7430,7 @@ pub mod tests {
|
||||||
"jsonrpc":"2.0",
|
"jsonrpc":"2.0",
|
||||||
"id":1,
|
"id":1,
|
||||||
"method":"getTokenAccountsByOwner",
|
"method":"getTokenAccountsByOwner",
|
||||||
"params":["{}", {{"programId": "{}"}}]
|
"params":["{}", {{"programId": "{}"}}, {{"encoding":"base64"}}]
|
||||||
}}"#,
|
}}"#,
|
||||||
owner,
|
owner,
|
||||||
spl_token_id(),
|
spl_token_id(),
|
||||||
|
@ -7493,7 +7482,7 @@ pub mod tests {
|
||||||
r#"{{
|
r#"{{
|
||||||
"jsonrpc":"2.0",
|
"jsonrpc":"2.0",
|
||||||
"id":1,"method":"getTokenAccountsByOwner",
|
"id":1,"method":"getTokenAccountsByOwner",
|
||||||
"params":["{}", {{"mint": "{}"}}]
|
"params":["{}", {{"mint": "{}"}}, {{"encoding":"base64"}}]
|
||||||
}}"#,
|
}}"#,
|
||||||
owner, mint,
|
owner, mint,
|
||||||
);
|
);
|
||||||
|
@ -7558,7 +7547,7 @@ pub mod tests {
|
||||||
"jsonrpc":"2.0",
|
"jsonrpc":"2.0",
|
||||||
"id":1,
|
"id":1,
|
||||||
"method":"getTokenAccountsByDelegate",
|
"method":"getTokenAccountsByDelegate",
|
||||||
"params":["{}", {{"programId": "{}"}}]
|
"params":["{}", {{"programId": "{}"}}, {{"encoding":"base64"}}]
|
||||||
}}"#,
|
}}"#,
|
||||||
delegate,
|
delegate,
|
||||||
spl_token_id(),
|
spl_token_id(),
|
||||||
|
@ -7576,7 +7565,7 @@ pub mod tests {
|
||||||
"jsonrpc":"2.0",
|
"jsonrpc":"2.0",
|
||||||
"id":1,"method":
|
"id":1,"method":
|
||||||
"getTokenAccountsByDelegate",
|
"getTokenAccountsByDelegate",
|
||||||
"params":["{}", {{"mint": "{}"}}]
|
"params":["{}", {{"mint": "{}"}}, {{"encoding":"base64"}}]
|
||||||
}}"#,
|
}}"#,
|
||||||
delegate, mint,
|
delegate, mint,
|
||||||
);
|
);
|
||||||
|
|
Loading…
Reference in New Issue