Browse Source

replace solana-client with its constituent parts where possible (#2086)

Kevin Heavey 1 year ago
parent
commit
0b6f4a0d4d

+ 5 - 1
Cargo.lock

@@ -5439,6 +5439,7 @@ dependencies = [
  "solana-measure",
  "solana-net-utils",
  "solana-rpc-client",
+ "solana-rpc-client-api",
  "solana-runtime",
  "solana-sdk",
  "solana-streamer",
@@ -5845,6 +5846,7 @@ dependencies = [
  "solana-client",
  "solana-compute-budget",
  "solana-config-program",
+ "solana-connection-cache",
  "solana-faucet",
  "solana-loader-v4-program",
  "solana-logger",
@@ -6393,6 +6395,7 @@ dependencies = [
  "solana-net-utils",
  "solana-perf",
  "solana-rayon-threadlimit",
+ "solana-rpc-client",
  "solana-runtime",
  "solana-sanitize",
  "solana-sdk",
@@ -7125,6 +7128,7 @@ dependencies = [
  "serde_json",
  "solana-account-decoder",
  "solana-client",
+ "solana-connection-cache",
  "solana-logger",
  "solana-pubsub-client",
  "solana-rpc",
@@ -7551,7 +7555,6 @@ dependencies = [
  "serde_json",
  "solana-accounts-db",
  "solana-cli-output",
- "solana-client",
  "solana-compute-budget",
  "solana-core",
  "solana-geyser-plugin-manager",
@@ -7562,6 +7565,7 @@ dependencies = [
  "solana-program-test",
  "solana-rpc",
  "solana-rpc-client",
+ "solana-rpc-client-api",
  "solana-runtime",
  "solana-sdk",
  "solana-streamer",

+ 1 - 0
accounts-cluster-bench/Cargo.toml

@@ -23,6 +23,7 @@ solana-logger = { workspace = true }
 solana-measure = { workspace = true }
 solana-net-utils = { workspace = true }
 solana-rpc-client = { workspace = true, features = ["default"] }
+solana-rpc-client-api = { workspace = true }
 solana-runtime = { workspace = true }
 solana-sdk = { workspace = true }
 solana-streamer = { workspace = true }

+ 2 - 1
accounts-cluster-bench/src/main.rs

@@ -8,11 +8,12 @@ use {
         hidden_unless_forced, input_parsers::pubkey_of, input_validators::is_url_or_moniker,
     },
     solana_cli_config::{ConfigInput, CONFIG_FILE},
-    solana_client::{rpc_request::TokenAccountsFilter, transaction_executor::TransactionExecutor},
+    solana_client::transaction_executor::TransactionExecutor,
     solana_gossip::gossip_service::discover,
     solana_inline_spl::token,
     solana_measure::measure::Measure,
     solana_rpc_client::rpc_client::RpcClient,
+    solana_rpc_client_api::request::TokenAccountsFilter,
     solana_sdk::{
         commitment_config::CommitmentConfig,
         hash::Hash,

+ 2 - 1
bench-tps/src/bench.rs

@@ -11,8 +11,9 @@ use {
     log::*,
     rand::distributions::{Distribution, Uniform},
     rayon::prelude::*,
-    solana_client::{nonce_utils, rpc_request::MAX_MULTIPLE_ACCOUNTS},
+    solana_client::nonce_utils,
     solana_metrics::{self, datapoint_info},
+    solana_rpc_client_api::request::MAX_MULTIPLE_ACCOUNTS,
     solana_sdk::{
         account::Account,
         clock::{DEFAULT_MS_PER_SLOT, DEFAULT_S_PER_SLOT, MAX_PROCESSING_AGE},

+ 1 - 1
bench-tps/src/log_transaction_service.rs

@@ -7,8 +7,8 @@ use {
     crossbeam_channel::{select, tick, unbounded, Receiver, Sender},
     log::*,
     serde::Serialize,
-    solana_client::rpc_config::RpcBlockConfig,
     solana_measure::measure::Measure,
+    solana_rpc_client_api::config::RpcBlockConfig,
     solana_sdk::{
         clock::{DEFAULT_MS_PER_SLOT, MAX_PROCESSING_AGE},
         commitment_config::{CommitmentConfig, CommitmentLevel},

+ 1 - 0
cli/Cargo.toml

@@ -36,6 +36,7 @@ solana-cli-output = { workspace = true }
 solana-client = { workspace = true }
 solana-compute-budget = { workspace = true }
 solana-config-program = { workspace = true }
+solana-connection-cache = { workspace = true }
 solana-loader-v4-program = { workspace = true }
 solana-logger = { workspace = true }
 solana-program-runtime = { workspace = true }

+ 1 - 1
cli/src/compute_budget.rs

@@ -1,8 +1,8 @@
 use {
     solana_clap_utils::compute_budget::ComputeUnitLimit,
-    solana_client::rpc_config::RpcSimulateTransactionConfig,
     solana_compute_budget::compute_budget_processor::MAX_COMPUTE_UNIT_LIMIT,
     solana_rpc_client::rpc_client::RpcClient,
+    solana_rpc_client_api::config::RpcSimulateTransactionConfig,
     solana_sdk::{
         borsh1::try_from_slice_unchecked,
         compute_budget::{self, ComputeBudgetInstruction},

+ 2 - 4
cli/tests/program.rs

@@ -11,12 +11,10 @@ use {
         test_utils::wait_n_slots,
     },
     solana_cli_output::{parse_sign_only_reply_string, OutputFormat},
-    solana_client::{
-        rpc_client::GetConfirmedSignaturesForAddress2Config, rpc_config::RpcTransactionConfig,
-    },
     solana_faucet::faucet::run_local_faucet,
     solana_rpc::rpc::JsonRpcConfig,
-    solana_rpc_client::rpc_client::RpcClient,
+    solana_rpc_client::rpc_client::{GetConfirmedSignaturesForAddress2Config, RpcClient},
+    solana_rpc_client_api::config::RpcTransactionConfig,
     solana_rpc_client_nonce_utils::blockhash_query::BlockhashQuery,
     solana_sdk::{
         account::ReadableAccount,

+ 1 - 0
gossip/Cargo.toml

@@ -41,6 +41,7 @@ solana-metrics = { workspace = true }
 solana-net-utils = { workspace = true }
 solana-perf = { workspace = true }
 solana-rayon-threadlimit = { workspace = true }
+solana-rpc-client = { workspace = true }
 solana-runtime = { workspace = true }
 solana-sanitize = { workspace = true }
 solana-sdk = { workspace = true }

+ 2 - 3
gossip/src/gossip_service.rs

@@ -4,11 +4,10 @@ use {
     crate::{cluster_info::ClusterInfo, contact_info::ContactInfo},
     crossbeam_channel::{unbounded, Sender},
     rand::{thread_rng, Rng},
-    solana_client::{
-        connection_cache::ConnectionCache, rpc_client::RpcClient, tpu_client::TpuClientWrapper,
-    },
+    solana_client::{connection_cache::ConnectionCache, tpu_client::TpuClientWrapper},
     solana_net_utils::DEFAULT_IP_ECHO_SERVER_THREADS,
     solana_perf::recycler::Recycler,
+    solana_rpc_client::rpc_client::RpcClient,
     solana_runtime::bank_forks::BankForks,
     solana_sdk::{
         pubkey::Pubkey,

+ 2 - 1
local-cluster/src/local_cluster.rs

@@ -8,7 +8,7 @@ use {
     itertools::izip,
     log::*,
     solana_accounts_db::utils::create_accounts_run_and_snapshot_dirs,
-    solana_client::{connection_cache::ConnectionCache, rpc_client::RpcClient},
+    solana_client::connection_cache::ConnectionCache,
     solana_core::{
         consensus::tower_storage::FileTowerStorage,
         validator::{Validator, ValidatorConfig, ValidatorStartProgress},
@@ -19,6 +19,7 @@ use {
         gossip_service::discover_cluster,
     },
     solana_ledger::{create_new_tmp_ledger, shred::Shred},
+    solana_rpc_client::rpc_client::RpcClient,
     solana_runtime::{
         genesis_utils::{
             create_genesis_config_with_vote_accounts_and_cluster_type, GenesisConfigInfo,

+ 2 - 1
programs/sbf/Cargo.lock

@@ -5045,6 +5045,7 @@ dependencies = [
  "solana-net-utils",
  "solana-perf",
  "solana-rayon-threadlimit",
+ "solana-rpc-client",
  "solana-runtime",
  "solana-sanitize",
  "solana-sdk",
@@ -6331,7 +6332,6 @@ dependencies = [
  "serde_json",
  "solana-accounts-db",
  "solana-cli-output",
- "solana-client",
  "solana-compute-budget",
  "solana-core",
  "solana-geyser-plugin-manager",
@@ -6342,6 +6342,7 @@ dependencies = [
  "solana-program-test",
  "solana-rpc",
  "solana-rpc-client",
+ "solana-rpc-client-api",
  "solana-runtime",
  "solana-sdk",
  "solana-streamer",

+ 1 - 0
rpc-test/Cargo.toml

@@ -33,6 +33,7 @@ solana-transaction-status = { workspace = true }
 tokio = { workspace = true, features = ["full"] }
 
 [dev-dependencies]
+solana-connection-cache = { workspace = true }
 solana-logger = { workspace = true }
 
 [package.metadata.docs.rs]

+ 3 - 5
rpc-test/tests/nonblocking.rs

@@ -1,11 +1,9 @@
 use {
-    solana_client::{
-        connection_cache::Protocol,
-        nonblocking::tpu_client::{LeaderTpuService, TpuClient},
-        tpu_client::TpuClientConfig,
-    },
+    solana_client::nonblocking::tpu_client::{LeaderTpuService, TpuClient},
+    solana_connection_cache::connection_cache::Protocol,
     solana_sdk::{clock::DEFAULT_MS_PER_SLOT, pubkey::Pubkey, system_transaction},
     solana_test_validator::TestValidatorGenesis,
+    solana_tpu_client::tpu_client::TpuClientConfig,
     std::sync::{
         atomic::{AtomicBool, Ordering},
         Arc,

+ 2 - 5
rpc-test/tests/rpc.rs

@@ -6,10 +6,7 @@ use {
     reqwest::{self, header::CONTENT_TYPE},
     serde_json::{json, Value},
     solana_account_decoder::UiAccount,
-    solana_client::{
-        connection_cache::ConnectionCache,
-        tpu_client::{TpuClient, TpuClientConfig},
-    },
+    solana_client::connection_cache::ConnectionCache,
     solana_pubsub_client::nonblocking::pubsub_client::PubsubClient,
     solana_rpc_client::rpc_client::RpcClient,
     solana_rpc_client_api::{
@@ -29,7 +26,7 @@ use {
     },
     solana_streamer::socket::SocketAddrSpace,
     solana_test_validator::TestValidator,
-    solana_tpu_client::tpu_client::DEFAULT_TPU_CONNECTION_POOL_SIZE,
+    solana_tpu_client::tpu_client::{TpuClient, TpuClientConfig, DEFAULT_TPU_CONNECTION_POOL_SIZE},
     solana_transaction_status::TransactionStatus,
     std::{
         collections::HashSet,

+ 4 - 1
send-transaction-service/src/tpu_info.rs

@@ -1,4 +1,7 @@
-use {solana_client::connection_cache::Protocol, solana_sdk::clock::Slot, std::net::SocketAddr};
+use {
+    solana_connection_cache::connection_cache::Protocol, solana_sdk::clock::Slot,
+    std::net::SocketAddr,
+};
 
 pub trait TpuInfo {
     fn refresh_recent_peers(&mut self);

+ 1 - 1
test-validator/Cargo.toml

@@ -18,7 +18,6 @@ serde_derive = { workspace = true }
 serde_json = { workspace = true }
 solana-accounts-db = { workspace = true }
 solana-cli-output = { workspace = true }
-solana-client = { workspace = true }
 solana-compute-budget = { workspace = true }
 solana-core = { workspace = true }
 solana-geyser-plugin-manager = { workspace = true }
@@ -29,6 +28,7 @@ solana-net-utils = { workspace = true }
 solana-program-test = { workspace = true }
 solana-rpc = { workspace = true }
 solana-rpc-client = { workspace = true }
+solana-rpc-client-api = { workspace = true }
 solana-runtime = { workspace = true }
 solana-sdk = { workspace = true }
 solana-streamer = { workspace = true }

+ 1 - 1
test-validator/src/lib.rs

@@ -9,7 +9,6 @@ use {
         utils::create_accounts_run_and_snapshot_dirs,
     },
     solana_cli_output::CliAccount,
-    solana_client::rpc_request::MAX_MULTIPLE_ACCOUNTS,
     solana_compute_budget::compute_budget::ComputeBudget,
     solana_core::{
         admin_rpc_post_init::AdminRpcRequestMetadataPostInit,
@@ -32,6 +31,7 @@ use {
     solana_net_utils::PortRange,
     solana_rpc::{rpc::JsonRpcConfig, rpc_pubsub_service::PubSubConfig},
     solana_rpc_client::{nonblocking, rpc_client::RpcClient},
+    solana_rpc_client_api::request::MAX_MULTIPLE_ACCOUNTS,
     solana_runtime::{
         bank_forks::BankForks, genesis_utils::create_genesis_config_with_leader_ex,
         runtime_config::RuntimeConfig, snapshot_config::SnapshotConfig,