diff --git a/core/src/rpc.rs b/core/src/rpc.rs index 8025091d6c..5e8a69017f 100644 --- a/core/src/rpc.rs +++ b/core/src/rpc.rs @@ -1765,13 +1765,13 @@ fn verify_filter(input: &RpcFilterType) -> Result<()> { .map_err(|e| Error::invalid_params(format!("Invalid param: {:?}", e))) } -fn verify_pubkey(input: String) -> Result { +fn verify_pubkey(input: &str) -> Result { input .parse() .map_err(|e| Error::invalid_params(format!("Invalid param: {:?}", e))) } -fn verify_hash(input: String) -> Result { +fn verify_hash(input: &str) -> Result { input .parse() .map_err(|e| Error::invalid_params(format!("Invalid param: {:?}", e))) @@ -1788,11 +1788,11 @@ fn verify_token_account_filter( ) -> Result { match token_account_filter { RpcTokenAccountsFilter::Mint(mint_str) => { - let mint = verify_pubkey(mint_str)?; + let mint = verify_pubkey(&mint_str)?; Ok(TokenAccountsFilter::Mint(mint)) } RpcTokenAccountsFilter::ProgramId(program_id_str) => { - let program_id = verify_pubkey(program_id_str)?; + let program_id = verify_pubkey(&program_id_str)?; Ok(TokenAccountsFilter::ProgramId(program_id)) } } @@ -2125,7 +2125,7 @@ pub mod rpc_minimal { commitment: Option, ) -> Result> { debug!("get_balance rpc request received: {:?}", pubkey_str); - let pubkey = verify_pubkey(pubkey_str)?; + let pubkey = verify_pubkey(&pubkey_str)?; Ok(meta.get_balance(&pubkey, commitment)) } @@ -2530,7 +2530,7 @@ pub mod rpc_full { config: Option, ) -> Result>> { debug!("get_account_info rpc request received: {:?}", pubkey_str); - let pubkey = verify_pubkey(pubkey_str)?; + let pubkey = verify_pubkey(&pubkey_str)?; meta.get_account_info(&pubkey, config) } @@ -2557,7 +2557,7 @@ pub mod rpc_full { } let mut pubkeys: Vec = vec![]; for pubkey_str in pubkey_strs { - pubkeys.push(verify_pubkey(pubkey_str)?); + pubkeys.push(verify_pubkey(&pubkey_str)?); } meta.get_multiple_accounts(pubkeys, config) } @@ -2588,7 +2588,7 @@ pub mod rpc_full { "get_program_accounts rpc request received: {:?}", program_id_str ); - let program_id = verify_pubkey(program_id_str)?; + let program_id = verify_pubkey(&program_id_str)?; let (config, filters) = if let Some(config) = config { ( Some(config.account_config), @@ -2820,13 +2820,13 @@ pub mod rpc_full { ); let faucet_addr = meta.config.faucet_addr.ok_or_else(Error::invalid_request)?; - let pubkey = verify_pubkey(pubkey_str)?; + let pubkey = verify_pubkey(&pubkey_str)?; let config = config.unwrap_or_default(); let bank = meta.bank(config.commitment); let blockhash = if let Some(blockhash) = config.recent_blockhash { - verify_hash(blockhash)? + verify_hash(&blockhash)? } else { bank.confirmed_last_blockhash().0 }; @@ -3084,7 +3084,7 @@ pub mod rpc_full { address: String, config: Option, ) -> Result> { - let address = verify_pubkey(address)?; + let address = verify_pubkey(&address)?; let config = config.unwrap_or_default(); let before = config @@ -3124,7 +3124,7 @@ pub mod rpc_full { "get_stake_activation rpc request received: {:?}", pubkey_str ); - let pubkey = verify_pubkey(pubkey_str)?; + let pubkey = verify_pubkey(&pubkey_str)?; meta.get_stake_activation(&pubkey, config) } @@ -3141,7 +3141,7 @@ pub mod rpc_full { let mut addresses: Vec = vec![]; for address_str in address_strs { - addresses.push(verify_pubkey(address_str)?); + addresses.push(verify_pubkey(&address_str)?); } meta.get_inflation_reward(addresses, config) @@ -3157,7 +3157,7 @@ pub mod rpc_full { "get_token_account_balance rpc request received: {:?}", pubkey_str ); - let pubkey = verify_pubkey(pubkey_str)?; + let pubkey = verify_pubkey(&pubkey_str)?; meta.get_token_account_balance(&pubkey, commitment) } @@ -3168,7 +3168,7 @@ pub mod rpc_full { commitment: Option, ) -> Result> { debug!("get_token_supply rpc request received: {:?}", mint_str); - let mint = verify_pubkey(mint_str)?; + let mint = verify_pubkey(&mint_str)?; meta.get_token_supply(&mint, commitment) } @@ -3182,7 +3182,7 @@ pub mod rpc_full { "get_token_largest_accounts rpc request received: {:?}", mint_str ); - let mint = verify_pubkey(mint_str)?; + let mint = verify_pubkey(&mint_str)?; meta.get_token_largest_accounts(&mint, commitment) } @@ -3197,7 +3197,7 @@ pub mod rpc_full { "get_token_accounts_by_owner rpc request received: {:?}", owner_str ); - let owner = verify_pubkey(owner_str)?; + let owner = verify_pubkey(&owner_str)?; let token_account_filter = verify_token_account_filter(token_account_filter)?; meta.get_token_accounts_by_owner(&owner, token_account_filter, config) } @@ -3213,7 +3213,7 @@ pub mod rpc_full { "get_token_accounts_by_delegate rpc request received: {:?}", delegate_str ); - let delegate = verify_pubkey(delegate_str)?; + let delegate = verify_pubkey(&delegate_str)?; let token_account_filter = verify_token_account_filter(token_account_filter)?; meta.get_token_accounts_by_delegate(&delegate, token_account_filter, config) } @@ -3340,7 +3340,7 @@ pub mod rpc_deprecated_v1_7 { address: String, config: Option, ) -> Result> { - let address = verify_pubkey(address)?; + let address = verify_pubkey(&address)?; let config = config.unwrap_or_default(); let before = config @@ -3483,7 +3483,7 @@ pub mod rpc_obsolete_v1_7 { "get_confirmed_signatures_for_address rpc request received: {:?} {:?}-{:?}", pubkey_str, start_slot, end_slot ); - let pubkey = verify_pubkey(pubkey_str)?; + let pubkey = verify_pubkey(&pubkey_str)?; if end_slot < start_slot { return Err(Error::invalid_params(format!( "start_slot {} must be less than or equal to end_slot {}", @@ -5269,10 +5269,10 @@ pub mod tests { #[test] fn test_rpc_verify_pubkey() { let pubkey = solana_sdk::pubkey::new_rand(); - assert_eq!(verify_pubkey(pubkey.to_string()).unwrap(), pubkey); + assert_eq!(verify_pubkey(&pubkey.to_string()).unwrap(), pubkey); let bad_pubkey = "a1b2c3d4"; assert_eq!( - verify_pubkey(bad_pubkey.to_string()), + verify_pubkey(&bad_pubkey.to_string()), Err(Error::invalid_params("Invalid param: WrongSize")) ); }