From b8b3d723da8b2d35b948c5e0abb4c37d6d862710 Mon Sep 17 00:00:00 2001 From: Tyera Eulberg Date: Wed, 24 Aug 2022 09:47:02 -0700 Subject: [PATCH] Use new client crates (#27360) * Update ancillary cli crates * Update cli * Update command-line tools * Update rpc, etc * Update client-test * Update core, validator * Update local-cluster --- Cargo.lock | 64 ++++++++++++++----- accounts-cluster-bench/Cargo.toml | 1 + accounts-cluster-bench/src/main.rs | 3 +- banking-bench/Cargo.toml | 2 +- banking-bench/src/main.rs | 2 +- banks-server/Cargo.toml | 1 + banks-server/src/banks_server.rs | 2 +- banks-server/src/rpc_banks_service.rs | 2 +- bench-tps/Cargo.toml | 5 ++ bench-tps/src/bench.rs | 3 +- bench-tps/src/bench_tps_client.rs | 3 +- bench-tps/src/bench_tps_client/rpc_client.rs | 2 +- bench-tps/src/bench_tps_client/thin_client.rs | 2 +- bench-tps/src/bench_tps_client/tpu_client.rs | 2 +- bench-tps/src/cli.rs | 2 +- bench-tps/src/main.rs | 12 ++-- bench-tps/tests/bench_tps.rs | 12 ++-- cli-config/src/lib.rs | 2 +- cli-output/Cargo.toml | 2 +- cli-output/src/cli_output.rs | 2 +- cli/Cargo.toml | 5 +- cli/src/address_lookup_table.rs | 3 +- cli/src/checks.rs | 12 ++-- cli/src/cli.rs | 35 +++++----- cli/src/cluster_query.rs | 32 +++++----- cli/src/feature.rs | 5 +- cli/src/inflation.rs | 2 +- cli/src/main.rs | 2 +- cli/src/nonce.rs | 3 +- cli/src/program.rs | 18 +++--- cli/src/spend_utils.rs | 2 +- cli/src/stake.rs | 27 ++++---- cli/src/test_utils.rs | 2 +- cli/src/validator_info.rs | 2 +- cli/src/vote.rs | 19 +++--- cli/src/wallet.rs | 9 ++- cli/tests/nonce.rs | 11 ++-- cli/tests/program.rs | 2 +- cli/tests/request_airdrop.rs | 2 +- cli/tests/stake.rs | 45 ++++++------- cli/tests/transfer.rs | 19 +++--- cli/tests/vote.rs | 6 +- client-test/Cargo.toml | 4 +- client-test/tests/client.rs | 19 +++--- core/Cargo.toml | 3 +- core/benches/banking_stage.rs | 2 +- core/src/banking_stage.rs | 2 +- core/src/replay_stage.rs | 2 +- core/src/retransmit_stage.rs | 2 +- core/src/tpu.rs | 2 +- core/src/tvu.rs | 2 +- core/src/validator.rs | 6 +- core/src/warm_quic_cache_service.rs | 2 +- dos/Cargo.toml | 4 +- dos/src/main.rs | 12 ++-- gossip/Cargo.toml | 3 +- gossip/src/gossip_service.rs | 3 +- install/Cargo.toml | 2 +- install/src/command.rs | 2 +- local-cluster/Cargo.toml | 6 +- local-cluster/src/cluster.rs | 2 +- local-cluster/src/cluster_tests.rs | 3 +- local-cluster/src/local_cluster.rs | 10 ++- local-cluster/tests/common.rs | 2 +- local-cluster/tests/local_cluster.rs | 14 ++-- programs/bpf/Cargo.lock | 20 ++++-- rpc-test/Cargo.toml | 5 +- rpc-test/tests/nonblocking.rs | 6 +- rpc-test/tests/rpc.rs | 23 ++++--- rpc/Cargo.toml | 3 +- .../optimistically_confirmed_bank_tracker.rs | 2 +- rpc/src/parsed_token_accounts.rs | 2 +- rpc/src/rpc.rs | 46 ++++++------- rpc/src/rpc_cache.rs | 2 +- rpc/src/rpc_completed_slots_service.rs | 2 +- rpc/src/rpc_pubsub.rs | 8 +-- rpc/src/rpc_service.rs | 4 +- rpc/src/rpc_subscription_tracker.rs | 2 +- rpc/src/rpc_subscriptions.rs | 10 +-- send-transaction-service/Cargo.toml | 2 +- .../src/send_transaction_service.rs | 2 +- stake-accounts/Cargo.toml | 3 +- stake-accounts/src/main.rs | 3 +- test-validator/Cargo.toml | 2 + test-validator/src/lib.rs | 7 +- tokens/Cargo.toml | 3 +- tokens/src/commands.rs | 10 +-- tokens/src/main.rs | 2 +- tokens/src/spl_token.rs | 2 +- tokens/tests/commands.rs | 2 +- transaction-dos/Cargo.toml | 1 + transaction-dos/src/main.rs | 3 +- validator/Cargo.toml | 4 +- validator/src/bin/solana-test-validator.rs | 2 +- validator/src/bootstrap.rs | 2 +- validator/src/dashboard.rs | 23 +++---- validator/src/main.rs | 7 +- watchtower/Cargo.toml | 3 +- watchtower/src/main.rs | 5 +- 99 files changed, 390 insertions(+), 331 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 304eeb2449..bcc0fc2848 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4561,6 +4561,7 @@ dependencies = [ "solana-logger 1.12.0", "solana-measure", "solana-net-utils", + "solana-rpc-client", "solana-runtime", "solana-sdk 1.12.0", "solana-streamer", @@ -4609,7 +4610,6 @@ dependencies = [ "log", "rand 0.7.3", "rayon", - "solana-client", "solana-core", "solana-gossip", "solana-ledger", @@ -4620,6 +4620,7 @@ dependencies = [ "solana-runtime", "solana-sdk 1.12.0", "solana-streamer", + "solana-tpu-client", "solana-version", ] @@ -4661,6 +4662,7 @@ dependencies = [ "solana-runtime", "solana-sdk 1.12.0", "solana-send-transaction-service", + "solana-tpu-client", "tarpc", "tokio", "tokio-serde", @@ -4703,10 +4705,15 @@ dependencies = [ "solana-metrics", "solana-net-utils", "solana-rpc", + "solana-rpc-client", + "solana-rpc-client-api", + "solana-rpc-client-nonce-utils", "solana-runtime", "solana-sdk 1.12.0", "solana-streamer", "solana-test-validator", + "solana-thin-client", + "solana-tpu-client", "solana-version", "thiserror", ] @@ -4878,16 +4885,19 @@ dependencies = [ "solana-clap-utils", "solana-cli-config", "solana-cli-output", - "solana-client", "solana-config-program", "solana-faucet", "solana-logger 1.12.0", "solana-program-runtime", + "solana-pubsub-client", "solana-remote-wallet", "solana-rpc-client", + "solana-rpc-client-api", + "solana-rpc-client-nonce-utils", "solana-sdk 1.12.0", "solana-streamer", "solana-test-validator", + "solana-tpu-client", "solana-transaction-status", "solana-version", "solana-vote-program", @@ -4932,7 +4942,7 @@ dependencies = [ "solana-account-decoder", "solana-clap-utils", "solana-cli-config", - "solana-client", + "solana-rpc-client-api", "solana-sdk 1.12.0", "solana-transaction-status", "solana-vote-program", @@ -4961,15 +4971,17 @@ dependencies = [ "futures-util", "serde_json", "serial_test", - "solana-client", "solana-ledger", "solana-logger 1.12.0", "solana-measure", "solana-merkle-tree", "solana-metrics", "solana-perf", + "solana-pubsub-client", "solana-rayon-threadlimit", "solana-rpc", + "solana-rpc-client", + "solana-rpc-client-api", "solana-runtime", "solana-sdk 1.12.0", "solana-streamer", @@ -5033,7 +5045,6 @@ dependencies = [ "serial_test", "solana-address-lookup-table-program", "solana-bloom", - "solana-client", "solana-entry", "solana-frozen-abi 1.12.0", "solana-frozen-abi-macro 1.12.0", @@ -5049,11 +5060,13 @@ dependencies = [ "solana-program-runtime", "solana-rayon-threadlimit", "solana-rpc", + "solana-rpc-client-api", "solana-runtime", "solana-sdk 1.12.0", "solana-send-transaction-service", "solana-stake-program", "solana-streamer", + "solana-tpu-client", "solana-transaction-status", "solana-version", "solana-vote-program", @@ -5081,7 +5094,6 @@ dependencies = [ "serde", "serial_test", "solana-bench-tps", - "solana-client", "solana-core", "solana-faucet", "solana-gossip", @@ -5091,8 +5103,11 @@ dependencies = [ "solana-net-utils", "solana-perf", "solana-rpc", + "solana-rpc-client", "solana-sdk 1.12.0", "solana-streamer", + "solana-thin-client", + "solana-tpu-client", "solana-version", ] @@ -5341,7 +5356,6 @@ dependencies = [ "serial_test", "solana-bloom", "solana-clap-utils", - "solana-client", "solana-entry", "solana-frozen-abi 1.12.0", "solana-frozen-abi-macro 1.12.0", @@ -5355,6 +5369,8 @@ dependencies = [ "solana-runtime", "solana-sdk 1.12.0", "solana-streamer", + "solana-thin-client", + "solana-tpu-client", "solana-version", "solana-vote-program", "thiserror", @@ -5381,9 +5397,9 @@ dependencies = [ "serde", "serde_yaml", "solana-clap-utils", - "solana-client", "solana-config-program", "solana-logger 1.12.0", + "solana-rpc-client", "solana-sdk 1.12.0", "solana-version", "tar", @@ -5522,7 +5538,6 @@ dependencies = [ "rand 0.7.3", "rayon", "serial_test", - "solana-client", "solana-config-program", "solana-core", "solana-download-utils", @@ -5530,10 +5545,15 @@ dependencies = [ "solana-gossip", "solana-ledger", "solana-logger 1.12.0", + "solana-pubsub-client", + "solana-rpc-client", + "solana-rpc-client-api", "solana-runtime", "solana-sdk 1.12.0", "solana-stake-program", "solana-streamer", + "solana-thin-client", + "solana-tpu-client", "solana-vote-program", "tempfile", ] @@ -5944,7 +5964,6 @@ dependencies = [ "soketto", "solana-account-decoder", "solana-address-lookup-table-program", - "solana-client", "solana-entry", "solana-faucet", "solana-gossip", @@ -5955,12 +5974,14 @@ dependencies = [ "solana-perf", "solana-poh", "solana-rayon-threadlimit", + "solana-rpc-client-api", "solana-runtime", "solana-sdk 1.12.0", "solana-send-transaction-service", "solana-stake-program", "solana-storage-bigtable", "solana-streamer", + "solana-tpu-client", "solana-transaction-status", "solana-version", "solana-vote-program", @@ -6052,12 +6073,15 @@ dependencies = [ "serde", "serde_json", "solana-account-decoder", - "solana-client", "solana-logger 1.12.0", + "solana-pubsub-client", "solana-rpc", + "solana-rpc-client", + "solana-rpc-client-api", "solana-sdk 1.12.0", "solana-streamer", "solana-test-validator", + "solana-tpu-client", "solana-transaction-status", "tokio", ] @@ -6260,12 +6284,12 @@ version = "1.12.0" dependencies = [ "crossbeam-channel", "log", - "solana-client", "solana-logger 1.12.0", "solana-measure", "solana-metrics", "solana-runtime", "solana-sdk 1.12.0", + "solana-tpu-client", ] [[package]] @@ -6275,8 +6299,9 @@ dependencies = [ "clap 2.33.3", "solana-clap-utils", "solana-cli-config", - "solana-client", "solana-remote-wallet", + "solana-rpc-client", + "solana-rpc-client-api", "solana-runtime", "solana-sdk 1.12.0", "solana-stake-program", @@ -6430,9 +6455,11 @@ dependencies = [ "solana-program-runtime", "solana-program-test", "solana-rpc", + "solana-rpc-client", "solana-runtime", "solana-sdk 1.12.0", "solana-streamer", + "solana-tpu-client", "tokio", ] @@ -6467,9 +6494,10 @@ dependencies = [ "solana-account-decoder", "solana-clap-utils", "solana-cli-config", - "solana-client", "solana-logger 1.12.0", "solana-remote-wallet", + "solana-rpc-client", + "solana-rpc-client-api", "solana-sdk 1.12.0", "solana-streamer", "solana-test-validator", @@ -6537,6 +6565,7 @@ dependencies = [ "solana-logger 1.12.0", "solana-measure", "solana-net-utils", + "solana-rpc-client", "solana-runtime", "solana-sdk 1.12.0", "solana-streamer", @@ -6606,7 +6635,6 @@ dependencies = [ "signal-hook", "solana-clap-utils", "solana-cli-config", - "solana-client", "solana-core", "solana-download-utils", "solana-entry", @@ -6620,12 +6648,15 @@ dependencies = [ "solana-perf", "solana-poh", "solana-rpc", + "solana-rpc-client", + "solana-rpc-client-api", "solana-runtime", "solana-sdk 1.12.0", "solana-send-transaction-service", "solana-storage-bigtable", "solana-streamer", "solana-test-validator", + "solana-tpu-client", "solana-version", "solana-vote-program", "symlink", @@ -6677,10 +6708,11 @@ dependencies = [ "solana-clap-utils", "solana-cli-config", "solana-cli-output", - "solana-client", "solana-logger 1.12.0", "solana-metrics", "solana-notifier", + "solana-rpc-client", + "solana-rpc-client-api", "solana-sdk 1.12.0", "solana-version", ] diff --git a/accounts-cluster-bench/Cargo.toml b/accounts-cluster-bench/Cargo.toml index 59e08b4739..9fd69a6281 100644 --- a/accounts-cluster-bench/Cargo.toml +++ b/accounts-cluster-bench/Cargo.toml @@ -21,6 +21,7 @@ solana-gossip = { path = "../gossip", version = "=1.12.0" } solana-logger = { path = "../logger", version = "=1.12.0" } solana-measure = { path = "../measure", version = "=1.12.0" } solana-net-utils = { path = "../net-utils", version = "=1.12.0" } +solana-rpc-client = { path = "../rpc-client", version = "=1.12.0" } solana-runtime = { path = "../runtime", version = "=1.12.0" } solana-sdk = { path = "../sdk", version = "=1.12.0" } solana-streamer = { path = "../streamer", version = "=1.12.0" } diff --git a/accounts-cluster-bench/src/main.rs b/accounts-cluster-bench/src/main.rs index 2ec800b4f5..e77bdf68f5 100644 --- a/accounts-cluster-bench/src/main.rs +++ b/accounts-cluster-bench/src/main.rs @@ -6,9 +6,10 @@ use { rayon::prelude::*, solana_account_decoder::parse_token::spl_token_pubkey, solana_clap_utils::input_parsers::pubkey_of, - solana_client::{rpc_client::RpcClient, transaction_executor::TransactionExecutor}, + solana_client::transaction_executor::TransactionExecutor, solana_faucet::faucet::{request_airdrop_transaction, FAUCET_PORT}, solana_gossip::gossip_service::discover, + solana_rpc_client::rpc_client::RpcClient, solana_runtime::inline_spl_token, solana_sdk::{ commitment_config::CommitmentConfig, diff --git a/banking-bench/Cargo.toml b/banking-bench/Cargo.toml index 18ab239a5e..b6873141c4 100644 --- a/banking-bench/Cargo.toml +++ b/banking-bench/Cargo.toml @@ -14,7 +14,6 @@ crossbeam-channel = "0.5" log = "0.4.17" rand = "0.7.0" rayon = "1.5.3" -solana-client = { path = "../client", version = "=1.12.0" } solana-core = { path = "../core", version = "=1.12.0" } solana-gossip = { path = "../gossip", version = "=1.12.0" } solana-ledger = { path = "../ledger", version = "=1.12.0" } @@ -25,6 +24,7 @@ solana-poh = { path = "../poh", version = "=1.12.0" } solana-runtime = { path = "../runtime", version = "=1.12.0" } solana-sdk = { path = "../sdk", version = "=1.12.0" } solana-streamer = { path = "../streamer", version = "=1.12.0" } +solana-tpu-client = { path = "../tpu-client", version = "=1.12.0" } solana-version = { path = "../version", version = "=1.12.0" } [package.metadata.docs.rs] diff --git a/banking-bench/src/main.rs b/banking-bench/src/main.rs index 2806a8a9e0..65b48d2505 100644 --- a/banking-bench/src/main.rs +++ b/banking-bench/src/main.rs @@ -5,7 +5,6 @@ use { log::*, rand::{thread_rng, Rng}, rayon::prelude::*, - solana_client::connection_cache::{ConnectionCache, DEFAULT_TPU_CONNECTION_POOL_SIZE}, solana_core::banking_stage::BankingStage, solana_gossip::cluster_info::{ClusterInfo, Node}, solana_ledger::{ @@ -29,6 +28,7 @@ use { transaction::Transaction, }, solana_streamer::socket::SocketAddrSpace, + solana_tpu_client::connection_cache::{ConnectionCache, DEFAULT_TPU_CONNECTION_POOL_SIZE}, std::{ sync::{atomic::Ordering, Arc, RwLock}, thread::sleep, diff --git a/banks-server/Cargo.toml b/banks-server/Cargo.toml index 5a53cd7a41..7881e62b0a 100644 --- a/banks-server/Cargo.toml +++ b/banks-server/Cargo.toml @@ -18,6 +18,7 @@ solana-client = { path = "../client", version = "=1.12.0" } solana-runtime = { path = "../runtime", version = "=1.12.0" } solana-sdk = { path = "../sdk", version = "=1.12.0" } solana-send-transaction-service = { path = "../send-transaction-service", version = "=1.12.0" } +solana-tpu-client = { path = "../tpu-client", version = "=1.12.0" } tarpc = { version = "0.29.0", features = ["full"] } tokio = { version = "1", features = ["full"] } tokio-serde = { version = "0.8", features = ["bincode"] } diff --git a/banks-server/src/banks_server.rs b/banks-server/src/banks_server.rs index 604582fbf6..d33eebdbdb 100644 --- a/banks-server/src/banks_server.rs +++ b/banks-server/src/banks_server.rs @@ -6,7 +6,6 @@ use { Banks, BanksRequest, BanksResponse, BanksTransactionResultWithSimulation, TransactionConfirmationStatus, TransactionSimulationDetails, TransactionStatus, }, - solana_client::connection_cache::ConnectionCache, solana_runtime::{ bank::{Bank, TransactionSimulationResult}, bank_forks::BankForks, @@ -28,6 +27,7 @@ use { send_transaction_service::{SendTransactionService, TransactionInfo}, tpu_info::NullTpuInfo, }, + solana_tpu_client::connection_cache::ConnectionCache, std::{ convert::TryFrom, io, diff --git a/banks-server/src/rpc_banks_service.rs b/banks-server/src/rpc_banks_service.rs index 8a2f481562..85ab418885 100644 --- a/banks-server/src/rpc_banks_service.rs +++ b/banks-server/src/rpc_banks_service.rs @@ -3,8 +3,8 @@ use { crate::banks_server::start_tcp_server, futures::{future::FutureExt, pin_mut, prelude::stream::StreamExt, select}, - solana_client::connection_cache::ConnectionCache, solana_runtime::{bank_forks::BankForks, commitment::BlockCommitmentCache}, + solana_tpu_client::connection_cache::ConnectionCache, std::{ net::SocketAddr, sync::{ diff --git a/bench-tps/Cargo.toml b/bench-tps/Cargo.toml index f0c71fcb6e..8b6db2fb9e 100644 --- a/bench-tps/Cargo.toml +++ b/bench-tps/Cargo.toml @@ -28,9 +28,14 @@ solana-measure = { path = "../measure", version = "=1.12.0" } solana-metrics = { path = "../metrics", version = "=1.12.0" } solana-net-utils = { path = "../net-utils", version = "=1.12.0" } solana-rpc = { path = "../rpc", version = "=1.12.0" } +solana-rpc-client = { path = "../rpc-client", version = "=1.12.0" } +solana-rpc-client-api = { path = "../rpc-client-api", version = "=1.12.0" } +solana-rpc-client-nonce-utils = { path = "../rpc-client-nonce-utils", version = "=1.12.0" } solana-runtime = { path = "../runtime", version = "=1.12.0" } solana-sdk = { path = "../sdk", version = "=1.12.0" } solana-streamer = { path = "../streamer", version = "=1.12.0" } +solana-thin-client = { path = "../thin-client", version = "=1.12.0" } +solana-tpu-client = { path = "../tpu-client", version = "=1.12.0" } solana-version = { path = "../version", version = "=1.12.0" } thiserror = "1.0" diff --git a/bench-tps/src/bench.rs b/bench-tps/src/bench.rs index 33ff5bc51f..8fd7f77226 100644 --- a/bench-tps/src/bench.rs +++ b/bench-tps/src/bench.rs @@ -8,7 +8,6 @@ use { log::*, rand::distributions::{Distribution, Uniform}, rayon::prelude::*, - solana_client::nonce_utils, solana_metrics::{self, datapoint_info}, solana_sdk::{ clock::{DEFAULT_MS_PER_SLOT, DEFAULT_S_PER_SLOT, MAX_PROCESSING_AGE}, @@ -547,7 +546,7 @@ fn get_nonce_blockhash( let nonce_account = client .get_account(&nonce_account_pubkey) .unwrap_or_else(|error| panic!("{:?}", error)); - let nonce_data = nonce_utils::data_from_account(&nonce_account) + let nonce_data = solana_rpc_client_nonce_utils::data_from_account(&nonce_account) .unwrap_or_else(|error| panic!("{:?}", error)); nonce_data.blockhash() } diff --git a/bench-tps/src/bench_tps_client.rs b/bench-tps/src/bench_tps_client.rs index 0ecca308ef..329eced8e9 100644 --- a/bench-tps/src/bench_tps_client.rs +++ b/bench-tps/src/bench_tps_client.rs @@ -1,10 +1,11 @@ use { - solana_client::{client_error::ClientError, tpu_client::TpuSenderError}, + solana_rpc_client_api::client_error::Error as ClientError, solana_sdk::{ account::Account, commitment_config::CommitmentConfig, epoch_info::EpochInfo, hash::Hash, message::Message, pubkey::Pubkey, signature::Signature, transaction::Transaction, transport::TransportError, }, + solana_tpu_client::tpu_client::TpuSenderError, thiserror::Error, }; diff --git a/bench-tps/src/bench_tps_client/rpc_client.rs b/bench-tps/src/bench_tps_client/rpc_client.rs index 158fddd0a4..e3fdcf211c 100644 --- a/bench-tps/src/bench_tps_client/rpc_client.rs +++ b/bench-tps/src/bench_tps_client/rpc_client.rs @@ -1,6 +1,6 @@ use { crate::bench_tps_client::{BenchTpsClient, BenchTpsError, Result}, - solana_client::rpc_client::RpcClient, + solana_rpc_client::rpc_client::RpcClient, solana_sdk::{ account::Account, commitment_config::CommitmentConfig, epoch_info::EpochInfo, hash::Hash, message::Message, pubkey::Pubkey, signature::Signature, transaction::Transaction, diff --git a/bench-tps/src/bench_tps_client/thin_client.rs b/bench-tps/src/bench_tps_client/thin_client.rs index 16686b8186..08681c291b 100644 --- a/bench-tps/src/bench_tps_client/thin_client.rs +++ b/bench-tps/src/bench_tps_client/thin_client.rs @@ -1,6 +1,5 @@ use { crate::bench_tps_client::{BenchTpsClient, BenchTpsError, Result}, - solana_client::thin_client::ThinClient, solana_sdk::{ account::Account, client::{AsyncClient, Client, SyncClient}, @@ -12,6 +11,7 @@ use { signature::Signature, transaction::Transaction, }, + solana_thin_client::thin_client::ThinClient, }; impl BenchTpsClient for ThinClient { diff --git a/bench-tps/src/bench_tps_client/tpu_client.rs b/bench-tps/src/bench_tps_client/tpu_client.rs index aa86e793a2..52b1e74356 100644 --- a/bench-tps/src/bench_tps_client/tpu_client.rs +++ b/bench-tps/src/bench_tps_client/tpu_client.rs @@ -1,10 +1,10 @@ use { crate::bench_tps_client::{BenchTpsClient, BenchTpsError, Result}, - solana_client::tpu_client::TpuClient, solana_sdk::{ account::Account, commitment_config::CommitmentConfig, epoch_info::EpochInfo, hash::Hash, message::Message, pubkey::Pubkey, signature::Signature, transaction::Transaction, }, + solana_tpu_client::tpu_client::TpuClient, }; impl BenchTpsClient for TpuClient { diff --git a/bench-tps/src/cli.rs b/bench-tps/src/cli.rs index 9c583642d7..a8affe4cc5 100644 --- a/bench-tps/src/cli.rs +++ b/bench-tps/src/cli.rs @@ -2,12 +2,12 @@ use { clap::{crate_description, crate_name, App, Arg, ArgMatches}, solana_clap_utils::input_validators::{is_url, is_url_or_moniker}, solana_cli_config::{ConfigInput, CONFIG_FILE}, - solana_client::connection_cache::{DEFAULT_TPU_CONNECTION_POOL_SIZE, DEFAULT_TPU_USE_QUIC}, solana_sdk::{ fee_calculator::FeeRateGovernor, pubkey::Pubkey, signature::{read_keypair_file, Keypair}, }, + solana_tpu_client::connection_cache::{DEFAULT_TPU_CONNECTION_POOL_SIZE, DEFAULT_TPU_USE_QUIC}, std::{net::SocketAddr, process::exit, time::Duration}, }; diff --git a/bench-tps/src/main.rs b/bench-tps/src/main.rs index ab0fc099f3..a51f49700a 100644 --- a/bench-tps/src/main.rs +++ b/bench-tps/src/main.rs @@ -10,19 +10,19 @@ use { keypairs::get_keypairs, send_batch::{generate_durable_nonce_accounts, generate_keypairs}, }, - solana_client::{ - connection_cache::ConnectionCache, - rpc_client::RpcClient, - thin_client::ThinClient, - tpu_client::{TpuClient, TpuClientConfig}, - }, solana_genesis::Base64Account, solana_gossip::gossip_service::{discover_cluster, get_client, get_multi_client}, + solana_rpc_client::rpc_client::RpcClient, solana_sdk::{ commitment_config::CommitmentConfig, fee_calculator::FeeRateGovernor, pubkey::Pubkey, system_program, }, solana_streamer::socket::SocketAddrSpace, + solana_thin_client::thin_client::ThinClient, + solana_tpu_client::{ + connection_cache::ConnectionCache, + tpu_client::{TpuClient, TpuClientConfig}, + }, std::{ collections::HashMap, fs::File, io::prelude::*, net::SocketAddr, path::Path, process::exit, sync::Arc, diff --git a/bench-tps/tests/bench_tps.rs b/bench-tps/tests/bench_tps.rs index ec12c8b7aa..23402b0ed6 100644 --- a/bench-tps/tests/bench_tps.rs +++ b/bench-tps/tests/bench_tps.rs @@ -7,12 +7,6 @@ use { cli::Config, send_batch::generate_durable_nonce_accounts, }, - solana_client::{ - connection_cache::ConnectionCache, - rpc_client::RpcClient, - thin_client::ThinClient, - tpu_client::{TpuClient, TpuClientConfig}, - }, solana_core::validator::ValidatorConfig, solana_faucet::faucet::run_local_faucet, solana_local_cluster::{ @@ -20,12 +14,18 @@ use { validator_configs::make_identical_validator_configs, }, solana_rpc::rpc::JsonRpcConfig, + solana_rpc_client::rpc_client::RpcClient, solana_sdk::{ commitment_config::CommitmentConfig, signature::{Keypair, Signer}, }, solana_streamer::socket::SocketAddrSpace, solana_test_validator::TestValidator, + solana_thin_client::thin_client::ThinClient, + solana_tpu_client::{ + connection_cache::ConnectionCache, + tpu_client::{TpuClient, TpuClientConfig}, + }, std::{sync::Arc, time::Duration}, }; diff --git a/cli-config/src/lib.rs b/cli-config/src/lib.rs index 0073262eb1..835c252015 100644 --- a/cli-config/src/lib.rs +++ b/cli-config/src/lib.rs @@ -23,7 +23,7 @@ //! Two important fields of `Config` are //! //! - [`json_rpc_url`], the URL to pass to -//! `solana_client::rpc_client::RpcClient`. +//! `solana_rpc_client::rpc_client::RpcClient`. //! - [`keypair_path`], a signing source, which may be a keypair file, but //! may also represent several other types of signers, as described in //! the documentation for `solana_clap_utils::keypair::signer_from_path`. diff --git a/cli-output/Cargo.toml b/cli-output/Cargo.toml index 3a492dc447..bc637cd2c9 100644 --- a/cli-output/Cargo.toml +++ b/cli-output/Cargo.toml @@ -24,7 +24,7 @@ serde_json = "1.0.83" solana-account-decoder = { path = "../account-decoder", version = "=1.12.0" } solana-clap-utils = { path = "../clap-utils", version = "=1.12.0" } solana-cli-config = { path = "../cli-config", version = "=1.12.0" } -solana-client = { path = "../client", version = "=1.12.0" } +solana-rpc-client-api = { path = "../rpc-client-api", version = "=1.12.0" } solana-sdk = { path = "../sdk", version = "=1.12.0" } solana-transaction-status = { path = "../transaction-status", version = "=1.12.0" } solana-vote-program = { path = "../programs/vote", version = "=1.12.0" } diff --git a/cli-output/src/cli_output.rs b/cli-output/src/cli_output.rs index 645b7b66fb..17ea91deae 100644 --- a/cli-output/src/cli_output.rs +++ b/cli-output/src/cli_output.rs @@ -17,7 +17,7 @@ use { serde_json::{Map, Value}, solana_account_decoder::parse_token::UiTokenAccount, solana_clap_utils::keypair::SignOnly, - solana_client::rpc_response::{ + solana_rpc_client_api::response::{ RpcAccountBalance, RpcContactInfo, RpcInflationGovernor, RpcInflationRate, RpcKeyedAccount, RpcSupply, RpcVoteAccountInfo, }, diff --git a/cli/Cargo.toml b/cli/Cargo.toml index 726643aeb1..21e75b4034 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -33,14 +33,17 @@ solana-bpf-loader-program = { path = "../programs/bpf_loader", version = "=1.12. solana-clap-utils = { path = "../clap-utils", version = "=1.12.0" } solana-cli-config = { path = "../cli-config", version = "=1.12.0" } solana-cli-output = { path = "../cli-output", version = "=1.12.0" } -solana-client = { path = "../client", version = "=1.12.0" } solana-config-program = { path = "../programs/config", version = "=1.12.0" } solana-faucet = { path = "../faucet", version = "=1.12.0" } solana-logger = { path = "../logger", version = "=1.12.0" } solana-program-runtime = { path = "../program-runtime", version = "=1.12.0" } +solana-pubsub-client = { path = "../pubsub-client", version = "=1.12.0" } solana-remote-wallet = { path = "../remote-wallet", version = "=1.12.0" } solana-rpc-client = { path = "../rpc-client", version = "=1.12.0" } +solana-rpc-client-api = { path = "../rpc-client-api", version = "=1.12.0" } +solana-rpc-client-nonce-utils = { path = "../rpc-client-nonce-utils", version = "=1.12.0" } solana-sdk = { path = "../sdk", version = "=1.12.0" } +solana-tpu-client = { path = "../tpu-client", version = "=1.12.0" } solana-transaction-status = { path = "../transaction-status", version = "=1.12.0" } solana-version = { path = "../version", version = "=1.12.0" } solana-vote-program = { path = "../programs/vote", version = "=1.12.0" } diff --git a/cli/src/address_lookup_table.rs b/cli/src/address_lookup_table.rs index 9096fc1d49..3b0c341bb3 100644 --- a/cli/src/address_lookup_table.rs +++ b/cli/src/address_lookup_table.rs @@ -10,8 +10,9 @@ use { }, solana_clap_utils::{self, input_parsers::*, input_validators::*, keypair::*}, solana_cli_output::{CliAddressLookupTable, CliAddressLookupTableCreated, CliSignature}, - solana_client::{rpc_client::RpcClient, rpc_config::RpcSendTransactionConfig}, solana_remote_wallet::remote_wallet::RemoteWalletManager, + solana_rpc_client::rpc_client::RpcClient, + solana_rpc_client_api::config::RpcSendTransactionConfig, solana_sdk::{ account::from_account, clock::Clock, commitment_config::CommitmentConfig, message::Message, pubkey::Pubkey, signer::Signer, sysvar, transaction::Transaction, diff --git a/cli/src/checks.rs b/cli/src/checks.rs index 8c45f6e048..23be57cc07 100644 --- a/cli/src/checks.rs +++ b/cli/src/checks.rs @@ -1,9 +1,7 @@ use { crate::cli::CliError, - solana_client::{ - client_error::{ClientError, Result as ClientResult}, - rpc_client::RpcClient, - }, + solana_rpc_client::rpc_client::RpcClient, + solana_rpc_client_api::client_error::{Error as ClientError, Result as ClientResult}, solana_sdk::{ commitment_config::CommitmentConfig, message::Message, native_token::lamports_to_sol, pubkey::Pubkey, @@ -167,9 +165,9 @@ mod tests { use { super::*, serde_json::json, - solana_client::{ - rpc_request::RpcRequest, - rpc_response::{Response, RpcResponseContext}, + solana_rpc_client_api::{ + request::RpcRequest, + response::{Response, RpcResponseContext}, }, solana_sdk::system_instruction, std::collections::HashMap, diff --git a/cli/src/cli.rs b/cli/src/cli.rs index e3b5b2967f..c4c9f4b3c0 100644 --- a/cli/src/cli.rs +++ b/cli/src/cli.rs @@ -12,16 +12,13 @@ use { solana_cli_output::{ display::println_name_value, CliSignature, CliValidatorsSortOrder, OutputFormat, }, - solana_client::{ - blockhash_query::BlockhashQuery, - client_error::{ClientError, Result as ClientResult}, - nonce_utils, - rpc_client::RpcClient, - rpc_config::{ - RpcLargestAccountsFilter, RpcSendTransactionConfig, RpcTransactionLogsFilter, - }, - }, solana_remote_wallet::remote_wallet::RemoteWalletManager, + solana_rpc_client::rpc_client::RpcClient, + solana_rpc_client_api::{ + client_error::{Error as ClientError, Result as ClientResult}, + config::{RpcLargestAccountsFilter, RpcSendTransactionConfig, RpcTransactionLogsFilter}, + }, + solana_rpc_client_nonce_utils::blockhash_query::BlockhashQuery, solana_sdk::{ clock::{Epoch, Slot}, commitment_config::CommitmentConfig, @@ -465,7 +462,7 @@ pub enum CliError { #[error("Account {2} has insufficient funds for spend ({0} SOL) + fee ({1} SOL)")] InsufficientFundsForSpendAndFee(f64, f64, Pubkey), #[error(transparent)] - InvalidNonce(nonce_utils::Error), + InvalidNonce(solana_rpc_client_nonce_utils::Error), #[error("Dynamic program error: {0}")] DynamicProgramError(String), #[error("RPC request error: {0}")] @@ -480,10 +477,12 @@ impl From> for CliError { } } -impl From for CliError { - fn from(error: nonce_utils::Error) -> Self { +impl From for CliError { + fn from(error: solana_rpc_client_nonce_utils::Error) -> Self { match error { - nonce_utils::Error::Client(client_error) => Self::RpcRequestError(client_error), + solana_rpc_client_nonce_utils::Error::Client(client_error) => { + Self::RpcRequestError(client_error) + } _ => Self::InvalidNonce(error), } } @@ -1711,12 +1710,12 @@ mod tests { use { super::*, serde_json::{json, Value}, - solana_client::{ - blockhash_query, - rpc_request::RpcRequest, - rpc_response::{Response, RpcResponseContext}, - }, solana_rpc_client::mock_sender_for_cli::SIGNATURE, + solana_rpc_client_api::{ + request::RpcRequest, + response::{Response, RpcResponseContext}, + }, + solana_rpc_client_nonce_utils::blockhash_query, solana_sdk::{ pubkey::Pubkey, signature::{ diff --git a/cli/src/cluster_query.rs b/cli/src/cluster_query.rs index c6b08e3a28..363c856b96 100644 --- a/cli/src/cluster_query.rs +++ b/cli/src/cluster_query.rs @@ -23,20 +23,20 @@ use { }, *, }, - solana_client::{ - client_error::ClientErrorKind, - pubsub_client::PubsubClient, - rpc_client::{GetConfirmedSignaturesForAddress2Config, RpcClient}, - rpc_config::{ + solana_pubsub_client::pubsub_client::PubsubClient, + solana_remote_wallet::remote_wallet::RemoteWalletManager, + solana_rpc_client::rpc_client::{GetConfirmedSignaturesForAddress2Config, RpcClient}, + solana_rpc_client_api::{ + client_error::ErrorKind as ClientErrorKind, + config::{ RpcAccountInfoConfig, RpcBlockConfig, RpcGetVoteAccountsConfig, RpcLargestAccountsConfig, RpcLargestAccountsFilter, RpcProgramAccountsConfig, RpcTransactionConfig, RpcTransactionLogsConfig, RpcTransactionLogsFilter, }, - rpc_filter, - rpc_request::DELINQUENT_VALIDATOR_SLOT_DISTANCE, - rpc_response::SlotInfo, + filter::{Memcmp, RpcFilterType}, + request::DELINQUENT_VALIDATOR_SLOT_DISTANCE, + response::SlotInfo, }, - solana_remote_wallet::remote_wallet::RemoteWalletManager, solana_sdk::{ account::from_account, account_utils::StateMut, @@ -1770,12 +1770,9 @@ pub fn process_show_stakes( if vote_account_pubkeys.len() == 1 { program_accounts_config.filters = Some(vec![ // Filter by `StakeState::Stake(_, _)` - rpc_filter::RpcFilterType::Memcmp(rpc_filter::Memcmp::new_base58_encoded( - 0, - &[2, 0, 0, 0], - )), + RpcFilterType::Memcmp(Memcmp::new_base58_encoded(0, &[2, 0, 0, 0])), // Filter by `Delegation::voter_pubkey`, which begins at byte offset 124 - rpc_filter::RpcFilterType::Memcmp(rpc_filter::Memcmp::new_base58_encoded( + RpcFilterType::Memcmp(Memcmp::new_base58_encoded( 124, vote_account_pubkeys[0].as_ref(), )), @@ -1785,9 +1782,10 @@ pub fn process_show_stakes( if let Some(withdraw_authority_pubkey) = withdraw_authority_pubkey { // withdrawer filter - let withdrawer_filter = rpc_filter::RpcFilterType::Memcmp( - rpc_filter::Memcmp::new_base58_encoded(44, withdraw_authority_pubkey.as_ref()), - ); + let withdrawer_filter = RpcFilterType::Memcmp(Memcmp::new_base58_encoded( + 44, + withdraw_authority_pubkey.as_ref(), + )); let filters = program_accounts_config.filters.get_or_insert(vec![]); filters.push(withdrawer_filter); diff --git a/cli/src/feature.rs b/cli/src/feature.rs index e843d549e6..c75ac6abc1 100644 --- a/cli/src/feature.rs +++ b/cli/src/feature.rs @@ -8,10 +8,9 @@ use { serde::{Deserialize, Serialize}, solana_clap_utils::{input_parsers::*, input_validators::*, keypair::*}, solana_cli_output::{cli_version::CliVersion, QuietDisplay, VerboseDisplay}, - solana_client::{ - client_error::ClientError, rpc_client::RpcClient, rpc_request::MAX_MULTIPLE_ACCOUNTS, - }, solana_remote_wallet::remote_wallet::RemoteWalletManager, + solana_rpc_client::rpc_client::RpcClient, + solana_rpc_client_api::{client_error::Error as ClientError, request::MAX_MULTIPLE_ACCOUNTS}, solana_sdk::{ account::Account, clock::Slot, diff --git a/cli/src/inflation.rs b/cli/src/inflation.rs index c8b39dbd01..58b34d422a 100644 --- a/cli/src/inflation.rs +++ b/cli/src/inflation.rs @@ -9,8 +9,8 @@ use { solana_cli_output::{ CliEpochRewardshMetadata, CliInflation, CliKeyedEpochReward, CliKeyedEpochRewards, }, - solana_client::rpc_client::RpcClient, solana_remote_wallet::remote_wallet::RemoteWalletManager, + solana_rpc_client::rpc_client::RpcClient, solana_sdk::{clock::Epoch, pubkey::Pubkey}, std::sync::Arc, }; diff --git a/cli/src/main.rs b/cli/src/main.rs index e80ac7c2aa..acb8df5431 100644 --- a/cli/src/main.rs +++ b/cli/src/main.rs @@ -15,8 +15,8 @@ use { display::{println_name_value, println_name_value_or}, OutputFormat, }, - solana_client::rpc_config::RpcSendTransactionConfig, solana_remote_wallet::remote_wallet::RemoteWalletManager, + solana_rpc_client_api::config::RpcSendTransactionConfig, std::{collections::HashMap, error, path::PathBuf, sync::Arc, time::Duration}, }; diff --git a/cli/src/nonce.rs b/cli/src/nonce.rs index 1d7324bf30..33bc01d8a9 100644 --- a/cli/src/nonce.rs +++ b/cli/src/nonce.rs @@ -20,8 +20,9 @@ use { nonce::*, }, solana_cli_output::CliNonceAccount, - solana_client::{nonce_utils::*, rpc_client::RpcClient}, solana_remote_wallet::remote_wallet::RemoteWalletManager, + solana_rpc_client::rpc_client::RpcClient, + solana_rpc_client_nonce_utils::*, solana_sdk::{ account::Account, feature_set::merge_nonce_error_into_system_error, diff --git a/cli/src/program.rs b/cli/src/program.rs index c90eeb9c27..72016db9e9 100644 --- a/cli/src/program.rs +++ b/cli/src/program.rs @@ -17,14 +17,6 @@ use { CliUpgradeableBuffer, CliUpgradeableBuffers, CliUpgradeableProgram, CliUpgradeableProgramClosed, CliUpgradeablePrograms, }, - solana_client::{ - client_error::ClientErrorKind, - connection_cache::ConnectionCache, - rpc_client::RpcClient, - rpc_config::{RpcAccountInfoConfig, RpcProgramAccountsConfig, RpcSendTransactionConfig}, - rpc_filter::{Memcmp, RpcFilterType}, - tpu_client::{TpuClient, TpuClientConfig}, - }, solana_program_runtime::invoke_context::InvokeContext, solana_rbpf::{ elf::Executable, @@ -32,6 +24,12 @@ use { vm::{Config, VerifiedExecutable}, }, solana_remote_wallet::remote_wallet::RemoteWalletManager, + solana_rpc_client::rpc_client::RpcClient, + solana_rpc_client_api::{ + client_error::ErrorKind as ClientErrorKind, + config::{RpcAccountInfoConfig, RpcProgramAccountsConfig, RpcSendTransactionConfig}, + filter::{Memcmp, RpcFilterType}, + }, solana_sdk::{ account::Account, account_utils::StateMut, @@ -50,6 +48,10 @@ use { transaction::{Transaction, TransactionError}, transaction_context::TransactionContext, }, + solana_tpu_client::{ + connection_cache::ConnectionCache, + tpu_client::{TpuClient, TpuClientConfig}, + }, std::{ fs::File, io::{Read, Write}, diff --git a/cli/src/spend_utils.rs b/cli/src/spend_utils.rs index e2486ada99..c9ca3356a9 100644 --- a/cli/src/spend_utils.rs +++ b/cli/src/spend_utils.rs @@ -5,7 +5,7 @@ use { }, clap::ArgMatches, solana_clap_utils::{input_parsers::lamports_of_sol, offline::SIGN_ONLY_ARG}, - solana_client::rpc_client::RpcClient, + solana_rpc_client::rpc_client::RpcClient, solana_sdk::{ commitment_config::CommitmentConfig, hash::Hash, message::Message, native_token::lamports_to_sol, pubkey::Pubkey, diff --git a/cli/src/stake.rs b/cli/src/stake.rs index 03425f474c..430cad30ba 100644 --- a/cli/src/stake.rs +++ b/cli/src/stake.rs @@ -27,11 +27,12 @@ use { CliEpochReward, CliStakeHistory, CliStakeHistoryEntry, CliStakeState, CliStakeType, OutputFormat, ReturnSignersConfig, }, - solana_client::{ - blockhash_query::BlockhashQuery, nonce_utils, rpc_client::RpcClient, - rpc_request::DELINQUENT_VALIDATOR_SLOT_DISTANCE, rpc_response::RpcInflationReward, - }, solana_remote_wallet::remote_wallet::RemoteWalletManager, + solana_rpc_client::rpc_client::RpcClient, + solana_rpc_client_api::{ + request::DELINQUENT_VALIDATOR_SLOT_DISTANCE, response::RpcInflationReward, + }, + solana_rpc_client_nonce_utils::blockhash_query::BlockhashQuery, solana_sdk::{ account::from_account, account_utils::StateMut, @@ -1421,7 +1422,7 @@ pub fn process_create_stake_account( } if let Some(nonce_account) = &nonce_account { - let nonce_account = nonce_utils::get_account_with_commitment( + let nonce_account = solana_rpc_client_nonce_utils::get_account_with_commitment( rpc_client, nonce_account, config.commitment, @@ -1562,7 +1563,7 @@ pub fn process_stake_authorize( } else { tx.try_sign(&config.signers, recent_blockhash)?; if let Some(nonce_account) = &nonce_account { - let nonce_account = nonce_utils::get_account_with_commitment( + let nonce_account = solana_rpc_client_nonce_utils::get_account_with_commitment( rpc_client, nonce_account, config.commitment, @@ -1708,7 +1709,7 @@ pub fn process_deactivate_stake_account( } else { tx.try_sign(&config.signers, recent_blockhash)?; if let Some(nonce_account) = &nonce_account { - let nonce_account = nonce_utils::get_account_with_commitment( + let nonce_account = solana_rpc_client_nonce_utils::get_account_with_commitment( rpc_client, nonce_account, config.commitment, @@ -1807,7 +1808,7 @@ pub fn process_withdraw_stake( } else { tx.try_sign(&config.signers, recent_blockhash)?; if let Some(nonce_account) = &nonce_account { - let nonce_account = nonce_utils::get_account_with_commitment( + let nonce_account = solana_rpc_client_nonce_utils::get_account_with_commitment( rpc_client, nonce_account, config.commitment, @@ -1953,7 +1954,7 @@ pub fn process_split_stake( } else { tx.try_sign(&config.signers, recent_blockhash)?; if let Some(nonce_account) = &nonce_account { - let nonce_account = nonce_utils::get_account_with_commitment( + let nonce_account = solana_rpc_client_nonce_utils::get_account_with_commitment( rpc_client, nonce_account, config.commitment, @@ -2060,7 +2061,7 @@ pub fn process_merge_stake( } else { tx.try_sign(&config.signers, recent_blockhash)?; if let Some(nonce_account) = &nonce_account { - let nonce_account = nonce_utils::get_account_with_commitment( + let nonce_account = solana_rpc_client_nonce_utils::get_account_with_commitment( rpc_client, nonce_account, config.commitment, @@ -2156,7 +2157,7 @@ pub fn process_stake_set_lockup( } else { tx.try_sign(&config.signers, recent_blockhash)?; if let Some(nonce_account) = &nonce_account { - let nonce_account = nonce_utils::get_account_with_commitment( + let nonce_account = solana_rpc_client_nonce_utils::get_account_with_commitment( rpc_client, nonce_account, config.commitment, @@ -2626,7 +2627,7 @@ pub fn process_delegate_stake( } else { tx.try_sign(&config.signers, recent_blockhash)?; if let Some(nonce_account) = &nonce_account { - let nonce_account = nonce_utils::get_account_with_commitment( + let nonce_account = solana_rpc_client_nonce_utils::get_account_with_commitment( rpc_client, nonce_account, config.commitment, @@ -2671,7 +2672,7 @@ mod tests { use { super::*, crate::{clap_app::get_clap_app, cli::parse_command}, - solana_client::blockhash_query, + solana_rpc_client_nonce_utils::blockhash_query, solana_sdk::{ hash::Hash, signature::{ diff --git a/cli/src/test_utils.rs b/cli/src/test_utils.rs index 287ebce277..5f5fcbd4ad 100644 --- a/cli/src/test_utils.rs +++ b/cli/src/test_utils.rs @@ -1,5 +1,5 @@ use { - solana_client::rpc_client::RpcClient, + solana_rpc_client::rpc_client::RpcClient, solana_sdk::{ clock::{Epoch, DEFAULT_MS_PER_SLOT}, commitment_config::CommitmentConfig, diff --git a/cli/src/validator_info.rs b/cli/src/validator_info.rs index 64c5a6bb00..135942aa80 100644 --- a/cli/src/validator_info.rs +++ b/cli/src/validator_info.rs @@ -16,9 +16,9 @@ use { keypair::DefaultSigner, }, solana_cli_output::{CliValidatorInfo, CliValidatorInfoVec}, - solana_client::rpc_client::RpcClient, solana_config_program::{config_instruction, get_config_data, ConfigKeys, ConfigState}, solana_remote_wallet::remote_wallet::RemoteWalletManager, + solana_rpc_client::rpc_client::RpcClient, solana_sdk::{ account::Account, message::Message, diff --git a/cli/src/vote.rs b/cli/src/vote.rs index 59603cd3ee..269948473c 100644 --- a/cli/src/vote.rs +++ b/cli/src/vote.rs @@ -26,11 +26,10 @@ use { return_signers_with_config, CliEpochVotingHistory, CliLockout, CliVoteAccount, ReturnSignersConfig, }, - solana_client::{ - blockhash_query::BlockhashQuery, nonce_utils, rpc_client::RpcClient, - rpc_config::RpcGetVoteAccountsConfig, - }, solana_remote_wallet::remote_wallet::RemoteWalletManager, + solana_rpc_client::rpc_client::RpcClient, + solana_rpc_client_api::config::RpcGetVoteAccountsConfig, + solana_rpc_client_nonce_utils::blockhash_query::BlockhashQuery, solana_sdk::{ account::Account, commitment_config::CommitmentConfig, message::Message, native_token::lamports_to_sol, pubkey::Pubkey, system_instruction::SystemError, @@ -873,7 +872,7 @@ pub fn process_create_vote_account( } if let Some(nonce_account) = &nonce_account { - let nonce_account = nonce_utils::get_account_with_commitment( + let nonce_account = solana_rpc_client_nonce_utils::get_account_with_commitment( rpc_client, nonce_account, config.commitment, @@ -1010,7 +1009,7 @@ pub fn process_vote_authorize( } else { tx.try_sign(&config.signers, recent_blockhash)?; if let Some(nonce_account) = &nonce_account { - let nonce_account = nonce_utils::get_account_with_commitment( + let nonce_account = solana_rpc_client_nonce_utils::get_account_with_commitment( rpc_client, nonce_account, config.commitment, @@ -1086,7 +1085,7 @@ pub fn process_vote_update_validator( } else { tx.try_sign(&config.signers, recent_blockhash)?; if let Some(nonce_account) = &nonce_account { - let nonce_account = nonce_utils::get_account_with_commitment( + let nonce_account = solana_rpc_client_nonce_utils::get_account_with_commitment( rpc_client, nonce_account, config.commitment, @@ -1155,7 +1154,7 @@ pub fn process_vote_update_commission( } else { tx.try_sign(&config.signers, recent_blockhash)?; if let Some(nonce_account) = &nonce_account { - let nonce_account = nonce_utils::get_account_with_commitment( + let nonce_account = solana_rpc_client_nonce_utils::get_account_with_commitment( rpc_client, nonce_account, config.commitment, @@ -1346,7 +1345,7 @@ pub fn process_withdraw_from_vote_account( } else { tx.try_sign(&config.signers, recent_blockhash)?; if let Some(nonce_account) = &nonce_account { - let nonce_account = nonce_utils::get_account_with_commitment( + let nonce_account = solana_rpc_client_nonce_utils::get_account_with_commitment( rpc_client, nonce_account, config.commitment, @@ -1428,7 +1427,7 @@ mod tests { use { super::*, crate::{clap_app::get_clap_app, cli::parse_command}, - solana_client::blockhash_query, + solana_rpc_client_nonce_utils::blockhash_query, solana_sdk::{ hash::Hash, signature::{read_keypair_file, write_keypair, Keypair, Signer}, diff --git a/cli/src/wallet.rs b/cli/src/wallet.rs index b7c0e17dc7..f8600c6667 100644 --- a/cli/src/wallet.rs +++ b/cli/src/wallet.rs @@ -26,11 +26,10 @@ use { return_signers_with_config, CliAccount, CliBalance, CliSignatureVerificationStatus, CliTransaction, CliTransactionConfirmation, OutputFormat, ReturnSignersConfig, }, - solana_client::{ - blockhash_query::BlockhashQuery, nonce_utils, rpc_client::RpcClient, - rpc_config::RpcTransactionConfig, rpc_response::RpcKeyedAccount, - }, solana_remote_wallet::remote_wallet::RemoteWalletManager, + solana_rpc_client::rpc_client::RpcClient, + solana_rpc_client_api::{config::RpcTransactionConfig, response::RpcKeyedAccount}, + solana_rpc_client_nonce_utils::blockhash_query::BlockhashQuery, solana_sdk::{ commitment_config::CommitmentConfig, message::Message, @@ -763,7 +762,7 @@ pub fn process_transfer( ) } else { if let Some(nonce_account) = &nonce_account { - let nonce_account = nonce_utils::get_account_with_commitment( + let nonce_account = solana_rpc_client_nonce_utils::get_account_with_commitment( rpc_client, nonce_account, config.commitment, diff --git a/cli/tests/nonce.rs b/cli/tests/nonce.rs index a5c36197fa..d4160ad6ab 100644 --- a/cli/tests/nonce.rs +++ b/cli/tests/nonce.rs @@ -7,12 +7,9 @@ use { test_utils::check_ready, }, solana_cli_output::{parse_sign_only_reply_string, OutputFormat}, - solana_client::{ - blockhash_query::{self, BlockhashQuery}, - nonce_utils, - rpc_client::RpcClient, - }, solana_faucet::faucet::run_local_faucet, + solana_rpc_client::rpc_client::RpcClient, + solana_rpc_client_nonce_utils::blockhash_query::{self, BlockhashQuery}, solana_sdk::{ commitment_config::CommitmentConfig, hash::Hash, @@ -326,12 +323,12 @@ fn test_create_account_with_seed() { check_balance!(0, &rpc_client, &to_address); // Fetch nonce hash - let nonce_hash = nonce_utils::get_account_with_commitment( + let nonce_hash = solana_rpc_client_nonce_utils::get_account_with_commitment( &rpc_client, &nonce_address, CommitmentConfig::processed(), ) - .and_then(|ref a| nonce_utils::data_from_account(a)) + .and_then(|ref a| solana_rpc_client_nonce_utils::data_from_account(a)) .unwrap() .blockhash(); diff --git a/cli/tests/program.rs b/cli/tests/program.rs index 315e9213f0..0b388091f4 100644 --- a/cli/tests/program.rs +++ b/cli/tests/program.rs @@ -7,8 +7,8 @@ use { program::{ProgramCliCommand, CLOSE_PROGRAM_WARNING}, }, solana_cli_output::OutputFormat, - solana_client::rpc_client::RpcClient, solana_faucet::faucet::run_local_faucet, + solana_rpc_client::rpc_client::RpcClient, solana_sdk::{ account_utils::StateMut, bpf_loader, diff --git a/cli/tests/request_airdrop.rs b/cli/tests/request_airdrop.rs index ae668206f2..daf0a6afd1 100644 --- a/cli/tests/request_airdrop.rs +++ b/cli/tests/request_airdrop.rs @@ -1,8 +1,8 @@ #![allow(clippy::integer_arithmetic)] use { solana_cli::cli::{process_command, CliCommand, CliConfig}, - solana_client::rpc_client::RpcClient, solana_faucet::faucet::run_local_faucet, + solana_rpc_client::rpc_client::RpcClient, solana_sdk::{ commitment_config::CommitmentConfig, native_token::sol_to_lamports, diff --git a/cli/tests/stake.rs b/cli/tests/stake.rs index cb7db3666f..19cc288629 100644 --- a/cli/tests/stake.rs +++ b/cli/tests/stake.rs @@ -9,13 +9,10 @@ use { test_utils::{check_ready, wait_for_next_epoch}, }, solana_cli_output::{parse_sign_only_reply_string, OutputFormat}, - solana_client::{ - blockhash_query::{self, BlockhashQuery}, - nonce_utils, - rpc_client::RpcClient, - rpc_response::{RpcStakeActivation, StakeActivationState}, - }, solana_faucet::faucet::run_local_faucet, + solana_rpc_client::rpc_client::RpcClient, + solana_rpc_client_api::response::{RpcStakeActivation, StakeActivationState}, + solana_rpc_client_nonce_utils::blockhash_query::{self, BlockhashQuery}, solana_sdk::{ account_utils::StateMut, commitment_config::CommitmentConfig, @@ -814,12 +811,12 @@ fn test_nonced_stake_delegation_and_deactivation() { process_command(&config).unwrap(); // Fetch nonce hash - let nonce_hash = nonce_utils::get_account_with_commitment( + let nonce_hash = solana_rpc_client_nonce_utils::get_account_with_commitment( &rpc_client, &nonce_account.pubkey(), CommitmentConfig::processed(), ) - .and_then(|ref a| nonce_utils::data_from_account(a)) + .and_then(|ref a| solana_rpc_client_nonce_utils::data_from_account(a)) .unwrap() .blockhash(); @@ -846,12 +843,12 @@ fn test_nonced_stake_delegation_and_deactivation() { process_command(&config).unwrap(); // Fetch nonce hash - let nonce_hash = nonce_utils::get_account_with_commitment( + let nonce_hash = solana_rpc_client_nonce_utils::get_account_with_commitment( &rpc_client, &nonce_account.pubkey(), CommitmentConfig::processed(), ) - .and_then(|ref a| nonce_utils::data_from_account(a)) + .and_then(|ref a| solana_rpc_client_nonce_utils::data_from_account(a)) .unwrap() .blockhash(); @@ -1123,12 +1120,12 @@ fn test_stake_authorize() { process_command(&config).unwrap(); // Fetch nonce hash - let nonce_hash = nonce_utils::get_account_with_commitment( + let nonce_hash = solana_rpc_client_nonce_utils::get_account_with_commitment( &rpc_client, &nonce_account.pubkey(), CommitmentConfig::processed(), ) - .and_then(|ref a| nonce_utils::data_from_account(a)) + .and_then(|ref a| solana_rpc_client_nonce_utils::data_from_account(a)) .unwrap() .blockhash(); @@ -1193,12 +1190,12 @@ fn test_stake_authorize() { }; assert_eq!(current_authority, online_authority_pubkey); - let new_nonce_hash = nonce_utils::get_account_with_commitment( + let new_nonce_hash = solana_rpc_client_nonce_utils::get_account_with_commitment( &rpc_client, &nonce_account.pubkey(), CommitmentConfig::processed(), ) - .and_then(|ref a| nonce_utils::data_from_account(a)) + .and_then(|ref a| solana_rpc_client_nonce_utils::data_from_account(a)) .unwrap() .blockhash(); assert_ne!(nonce_hash, new_nonce_hash); @@ -1481,12 +1478,12 @@ fn test_stake_split() { check_balance!(minimum_nonce_balance, &rpc_client, &nonce_account.pubkey()); // Fetch nonce hash - let nonce_hash = nonce_utils::get_account_with_commitment( + let nonce_hash = solana_rpc_client_nonce_utils::get_account_with_commitment( &rpc_client, &nonce_account.pubkey(), CommitmentConfig::processed(), ) - .and_then(|ref a| nonce_utils::data_from_account(a)) + .and_then(|ref a| solana_rpc_client_nonce_utils::data_from_account(a)) .unwrap() .blockhash(); @@ -1759,12 +1756,12 @@ fn test_stake_set_lockup() { check_balance!(minimum_nonce_balance, &rpc_client, &nonce_account_pubkey); // Fetch nonce hash - let nonce_hash = nonce_utils::get_account_with_commitment( + let nonce_hash = solana_rpc_client_nonce_utils::get_account_with_commitment( &rpc_client, &nonce_account.pubkey(), CommitmentConfig::processed(), ) - .and_then(|ref a| nonce_utils::data_from_account(a)) + .and_then(|ref a| solana_rpc_client_nonce_utils::data_from_account(a)) .unwrap() .blockhash(); @@ -1888,12 +1885,12 @@ fn test_offline_nonced_create_stake_account_and_withdraw() { process_command(&config).unwrap(); // Fetch nonce hash - let nonce_hash = nonce_utils::get_account_with_commitment( + let nonce_hash = solana_rpc_client_nonce_utils::get_account_with_commitment( &rpc_client, &nonce_account.pubkey(), CommitmentConfig::processed(), ) - .and_then(|ref a| nonce_utils::data_from_account(a)) + .and_then(|ref a| solana_rpc_client_nonce_utils::data_from_account(a)) .unwrap() .blockhash(); @@ -1951,12 +1948,12 @@ fn test_offline_nonced_create_stake_account_and_withdraw() { check_balance!(50_000_000_000, &rpc_client, &stake_pubkey); // Fetch nonce hash - let nonce_hash = nonce_utils::get_account_with_commitment( + let nonce_hash = solana_rpc_client_nonce_utils::get_account_with_commitment( &rpc_client, &nonce_account.pubkey(), CommitmentConfig::processed(), ) - .and_then(|ref a| nonce_utils::data_from_account(a)) + .and_then(|ref a| solana_rpc_client_nonce_utils::data_from_account(a)) .unwrap() .blockhash(); @@ -2007,12 +2004,12 @@ fn test_offline_nonced_create_stake_account_and_withdraw() { check_balance!(50_000_000_000, &rpc_client, &recipient_pubkey); // Fetch nonce hash - let nonce_hash = nonce_utils::get_account_with_commitment( + let nonce_hash = solana_rpc_client_nonce_utils::get_account_with_commitment( &rpc_client, &nonce_account.pubkey(), CommitmentConfig::processed(), ) - .and_then(|ref a| nonce_utils::data_from_account(a)) + .and_then(|ref a| solana_rpc_client_nonce_utils::data_from_account(a)) .unwrap() .blockhash(); diff --git a/cli/tests/transfer.rs b/cli/tests/transfer.rs index 33abc5d4e3..76d44f0c11 100644 --- a/cli/tests/transfer.rs +++ b/cli/tests/transfer.rs @@ -8,12 +8,9 @@ use { test_utils::check_ready, }, solana_cli_output::{parse_sign_only_reply_string, OutputFormat}, - solana_client::{ - blockhash_query::{self, BlockhashQuery}, - nonce_utils, - rpc_client::RpcClient, - }, solana_faucet::faucet::run_local_faucet, + solana_rpc_client::rpc_client::RpcClient, + solana_rpc_client_nonce_utils::blockhash_query::{self, BlockhashQuery}, solana_sdk::{ commitment_config::CommitmentConfig, fee::FeeStructure, @@ -198,12 +195,12 @@ fn test_transfer() { ); // Fetch nonce hash - let nonce_hash = nonce_utils::get_account_with_commitment( + let nonce_hash = solana_rpc_client_nonce_utils::get_account_with_commitment( &rpc_client, &nonce_account.pubkey(), CommitmentConfig::processed(), ) - .and_then(|ref a| nonce_utils::data_from_account(a)) + .and_then(|ref a| solana_rpc_client_nonce_utils::data_from_account(a)) .unwrap() .blockhash(); @@ -236,12 +233,12 @@ fn test_transfer() { &sender_pubkey, ); check_balance!(sol_to_lamports(2.5), &rpc_client, &recipient_pubkey); - let new_nonce_hash = nonce_utils::get_account_with_commitment( + let new_nonce_hash = solana_rpc_client_nonce_utils::get_account_with_commitment( &rpc_client, &nonce_account.pubkey(), CommitmentConfig::processed(), ) - .and_then(|ref a| nonce_utils::data_from_account(a)) + .and_then(|ref a| solana_rpc_client_nonce_utils::data_from_account(a)) .unwrap() .blockhash(); assert_ne!(nonce_hash, new_nonce_hash); @@ -263,12 +260,12 @@ fn test_transfer() { ); // Fetch nonce hash - let nonce_hash = nonce_utils::get_account_with_commitment( + let nonce_hash = solana_rpc_client_nonce_utils::get_account_with_commitment( &rpc_client, &nonce_account.pubkey(), CommitmentConfig::processed(), ) - .and_then(|ref a| nonce_utils::data_from_account(a)) + .and_then(|ref a| solana_rpc_client_nonce_utils::data_from_account(a)) .unwrap() .blockhash(); diff --git a/cli/tests/vote.rs b/cli/tests/vote.rs index 1ec3d99fa4..1acd66d825 100644 --- a/cli/tests/vote.rs +++ b/cli/tests/vote.rs @@ -6,11 +6,9 @@ use { spend_utils::SpendAmount, }, solana_cli_output::{parse_sign_only_reply_string, OutputFormat}, - solana_client::{ - blockhash_query::{self, BlockhashQuery}, - rpc_client::RpcClient, - }, solana_faucet::faucet::run_local_faucet, + solana_rpc_client::rpc_client::RpcClient, + solana_rpc_client_nonce_utils::blockhash_query::{self, BlockhashQuery}, solana_sdk::{ account_utils::StateMut, commitment_config::CommitmentConfig, diff --git a/client-test/Cargo.toml b/client-test/Cargo.toml index e7727cefcd..b4efc4bfe9 100644 --- a/client-test/Cargo.toml +++ b/client-test/Cargo.toml @@ -14,14 +14,16 @@ publish = false futures-util = "0.3.21" serde_json = "1.0.83" serial_test = "0.9.0" -solana-client = { path = "../client", version = "=1.12.0" } solana-ledger = { path = "../ledger", version = "=1.12.0" } solana-measure = { path = "../measure", version = "=1.12.0" } solana-merkle-tree = { path = "../merkle-tree", version = "=1.12.0" } solana-metrics = { path = "../metrics", version = "=1.12.0" } solana-perf = { path = "../perf", version = "=1.12.0" } +solana-pubsub-client = { path = "../pubsub-client", version = "=1.12.0" } solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "=1.12.0" } solana-rpc = { path = "../rpc", version = "=1.12.0" } +solana-rpc-client = { path = "../rpc-client", version = "=1.12.0" } +solana-rpc-client-api = { path = "../rpc-client-api", version = "=1.12.0" } solana-runtime = { path = "../runtime", version = "=1.12.0" } solana-sdk = { path = "../sdk", version = "=1.12.0" } solana-streamer = { path = "../streamer", version = "=1.12.0" } diff --git a/client-test/tests/client.rs b/client-test/tests/client.rs index 9cf1e5ab85..f4ad2a6a8f 100644 --- a/client-test/tests/client.rs +++ b/client-test/tests/client.rs @@ -2,23 +2,22 @@ use { futures_util::StreamExt, serde_json::{json, Value}, serial_test::serial, - solana_client::{ - nonblocking, - pubsub_client::PubsubClient, - rpc_client::RpcClient, - rpc_config::{ - RpcAccountInfoConfig, RpcBlockSubscribeConfig, RpcBlockSubscribeFilter, - RpcProgramAccountsConfig, - }, - rpc_response::SlotInfo, - }, solana_ledger::{blockstore::Blockstore, get_tmp_ledger_path}, + solana_pubsub_client::{nonblocking, pubsub_client::PubsubClient}, solana_rpc::{ optimistically_confirmed_bank_tracker::OptimisticallyConfirmedBank, rpc::{create_test_transaction_entries, populate_blockstore_for_tests}, rpc_pubsub_service::{PubSubConfig, PubSubService}, rpc_subscriptions::RpcSubscriptions, }, + solana_rpc_client::rpc_client::RpcClient, + solana_rpc_client_api::{ + config::{ + RpcAccountInfoConfig, RpcBlockSubscribeConfig, RpcBlockSubscribeFilter, + RpcProgramAccountsConfig, + }, + response::SlotInfo, + }, solana_runtime::{ bank::Bank, bank_forks::BankForks, diff --git a/core/Cargo.toml b/core/Cargo.toml index 63185dee1e..43b6025857 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -37,7 +37,6 @@ serde = "1.0.143" serde_derive = "1.0.103" solana-address-lookup-table-program = { path = "../programs/address-lookup-table", version = "=1.12.0" } solana-bloom = { path = "../bloom", version = "=1.12.0" } -solana-client = { path = "../client", version = "=1.12.0" } solana-entry = { path = "../entry", version = "=1.12.0" } solana-frozen-abi = { path = "../frozen-abi", version = "=1.12.0" } solana-frozen-abi-macro = { path = "../frozen-abi/macro", version = "=1.12.0" } @@ -52,10 +51,12 @@ solana-poh = { path = "../poh", version = "=1.12.0" } solana-program-runtime = { path = "../program-runtime", version = "=1.12.0" } solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "=1.12.0" } solana-rpc = { path = "../rpc", version = "=1.12.0" } +solana-rpc-client-api = { path = "../rpc-client-api", version = "=1.12.0" } solana-runtime = { path = "../runtime", version = "=1.12.0" } solana-sdk = { path = "../sdk", version = "=1.12.0" } solana-send-transaction-service = { path = "../send-transaction-service", version = "=1.12.0" } solana-streamer = { path = "../streamer", version = "=1.12.0" } +solana-tpu-client = { path = "../tpu-client", version = "=1.12.0" } solana-transaction-status = { path = "../transaction-status", version = "=1.12.0" } solana-version = { path = "../version", version = "=1.12.0" } solana-vote-program = { path = "../programs/vote", version = "=1.12.0" } diff --git a/core/benches/banking_stage.rs b/core/benches/banking_stage.rs index fb506be8c5..bb4a15c075 100644 --- a/core/benches/banking_stage.rs +++ b/core/benches/banking_stage.rs @@ -8,7 +8,6 @@ use { log::*, rand::{thread_rng, Rng}, rayon::prelude::*, - solana_client::connection_cache::ConnectionCache, solana_core::{ banking_stage::{BankingStage, BankingStageStats}, leader_slot_banking_stage_metrics::LeaderSlotMetricsTracker, @@ -37,6 +36,7 @@ use { transaction::{Transaction, VersionedTransaction}, }, solana_streamer::socket::SocketAddrSpace, + solana_tpu_client::connection_cache::ConnectionCache, std::{ sync::{atomic::Ordering, Arc, RwLock}, time::{Duration, Instant}, diff --git a/core/src/banking_stage.rs b/core/src/banking_stage.rs index 9ce1596005..0d0b49d6c9 100644 --- a/core/src/banking_stage.rs +++ b/core/src/banking_stage.rs @@ -22,7 +22,6 @@ use { histogram::Histogram, itertools::Itertools, min_max_heap::MinMaxHeap, - solana_client::{connection_cache::ConnectionCache, tpu_connection::TpuConnection}, solana_entry::entry::hash_transactions, solana_gossip::{cluster_info::ClusterInfo, contact_info::ContactInfo}, solana_ledger::{ @@ -61,6 +60,7 @@ use { transport::TransportError, }, solana_streamer::sendmmsg::batch_send, + solana_tpu_client::{connection_cache::ConnectionCache, tpu_connection::TpuConnection}, solana_transaction_status::token_balances::TransactionTokenBalancesSet, std::{ cmp, diff --git a/core/src/replay_stage.rs b/core/src/replay_stage.rs index e88d13e25b..27d3ccae45 100644 --- a/core/src/replay_stage.rs +++ b/core/src/replay_stage.rs @@ -31,7 +31,6 @@ use { crossbeam_channel::{Receiver, RecvTimeoutError, Sender}, lazy_static::lazy_static, rayon::{prelude::*, ThreadPool}, - solana_client::rpc_response::SlotUpdate, solana_entry::entry::VerifyRecyclers, solana_geyser_plugin_manager::block_metadata_notifier_interface::BlockMetadataNotifierLock, solana_gossip::cluster_info::ClusterInfo, @@ -52,6 +51,7 @@ use { optimistically_confirmed_bank_tracker::{BankNotification, BankNotificationSender}, rpc_subscriptions::RpcSubscriptions, }, + solana_rpc_client_api::response::SlotUpdate, solana_runtime::{ accounts_background_service::AbsRequestSender, bank::{Bank, NewBankOptions}, diff --git a/core/src/retransmit_stage.rs b/core/src/retransmit_stage.rs index bf4e9c2e76..408f68a0ea 100644 --- a/core/src/retransmit_stage.rs +++ b/core/src/retransmit_stage.rs @@ -10,7 +10,6 @@ use { itertools::{izip, Itertools}, lru::LruCache, rayon::{prelude::*, ThreadPool, ThreadPoolBuilder}, - solana_client::rpc_response::SlotUpdate, solana_gossip::{ cluster_info::{ClusterInfo, DATA_PLANE_FANOUT}, contact_info::ContactInfo, @@ -22,6 +21,7 @@ use { solana_measure::measure::Measure, solana_rayon_threadlimit::get_thread_count, solana_rpc::{max_slots::MaxSlots, rpc_subscriptions::RpcSubscriptions}, + solana_rpc_client_api::response::SlotUpdate, solana_runtime::{bank::Bank, bank_forks::BankForks}, solana_sdk::{clock::Slot, pubkey::Pubkey, timing::timestamp}, solana_streamer::{ diff --git a/core/src/tpu.rs b/core/src/tpu.rs index 6885f43332..e2378929cf 100644 --- a/core/src/tpu.rs +++ b/core/src/tpu.rs @@ -16,7 +16,6 @@ use { staked_nodes_updater_service::StakedNodesUpdaterService, }, crossbeam_channel::{unbounded, Receiver}, - solana_client::connection_cache::ConnectionCache, solana_gossip::cluster_info::ClusterInfo, solana_ledger::{blockstore::Blockstore, blockstore_processor::TransactionStatusSender}, solana_poh::poh_recorder::{PohRecorder, WorkingBankEntry}, @@ -34,6 +33,7 @@ use { quic::{spawn_server, StreamStats, MAX_STAKED_CONNECTIONS, MAX_UNSTAKED_CONNECTIONS}, streamer::StakedNodes, }, + solana_tpu_client::connection_cache::ConnectionCache, std::{ collections::HashMap, net::UdpSocket, diff --git a/core/src/tvu.rs b/core/src/tvu.rs index 501464530c..89e8a86bb7 100644 --- a/core/src/tvu.rs +++ b/core/src/tvu.rs @@ -28,7 +28,6 @@ use { window_service::WindowService, }, crossbeam_channel::{unbounded, Receiver}, - solana_client::connection_cache::ConnectionCache, solana_geyser_plugin_manager::block_metadata_notifier_interface::BlockMetadataNotifierLock, solana_gossip::cluster_info::ClusterInfo, solana_ledger::{ @@ -46,6 +45,7 @@ use { vote_sender_types::ReplayVoteSender, }, solana_sdk::{clock::Slot, pubkey::Pubkey, signature::Keypair}, + solana_tpu_client::connection_cache::ConnectionCache, std::{ collections::HashSet, net::UdpSocket, diff --git a/core/src/validator.rs b/core/src/validator.rs index c271e0aa17..2a54a30fae 100644 --- a/core/src/validator.rs +++ b/core/src/validator.rs @@ -25,7 +25,6 @@ use { }, crossbeam_channel::{bounded, unbounded, Receiver}, rand::{thread_rng, Rng}, - solana_client::connection_cache::ConnectionCache, solana_entry::poh::compute_hash_time_ns, solana_geyser_plugin_manager::geyser_plugin_service::GeyserPluginService, solana_gossip::{ @@ -99,6 +98,7 @@ use { }, solana_send_transaction_service::send_transaction_service, solana_streamer::{socket::SocketAddrSpace, streamer::StakedNodes}, + solana_tpu_client::connection_cache::ConnectionCache, solana_vote_program::vote_state, std::{ collections::{HashMap, HashSet}, @@ -2127,9 +2127,11 @@ mod tests { use { super::*, crossbeam_channel::{bounded, RecvTimeoutError}, - solana_client::connection_cache::{DEFAULT_TPU_CONNECTION_POOL_SIZE, DEFAULT_TPU_USE_QUIC}, solana_ledger::{create_new_tmp_ledger, genesis_utils::create_genesis_config_with_leader}, solana_sdk::{genesis_config::create_genesis_config, poh_config::PohConfig}, + solana_tpu_client::connection_cache::{ + DEFAULT_TPU_CONNECTION_POOL_SIZE, DEFAULT_TPU_USE_QUIC, + }, std::{fs::remove_dir_all, thread, time::Duration}, }; diff --git a/core/src/warm_quic_cache_service.rs b/core/src/warm_quic_cache_service.rs index 08428d5898..01d1187d2d 100644 --- a/core/src/warm_quic_cache_service.rs +++ b/core/src/warm_quic_cache_service.rs @@ -3,9 +3,9 @@ use { rand::{thread_rng, Rng}, - solana_client::{connection_cache::ConnectionCache, tpu_connection::TpuConnection}, solana_gossip::cluster_info::ClusterInfo, solana_poh::poh_recorder::PohRecorder, + solana_tpu_client::{connection_cache::ConnectionCache, tpu_connection::TpuConnection}, std::{ sync::{ atomic::{AtomicBool, Ordering}, diff --git a/dos/Cargo.toml b/dos/Cargo.toml index edbeea1dae..15121252db 100644 --- a/dos/Cargo.toml +++ b/dos/Cargo.toml @@ -18,7 +18,6 @@ log = "0.4.17" rand = "0.7.0" serde = "1.0.143" solana-bench-tps = { path = "../bench-tps", version = "=1.12.0" } -solana-client = { path = "../client", version = "=1.12.0" } solana-core = { path = "../core", version = "=1.12.0" } solana-faucet = { path = "../faucet", version = "=1.12.0" } solana-gossip = { path = "../gossip", version = "=1.12.0" } @@ -27,8 +26,10 @@ solana-measure = { path = "../measure", version = "=1.12.0" } solana-net-utils = { path = "../net-utils", version = "=1.12.0" } solana-perf = { path = "../perf", version = "=1.12.0" } solana-rpc = { path = "../rpc", version = "=1.12.0" } +solana-rpc-client = { path = "../rpc-client", version = "=1.12.0" } solana-sdk = { path = "../sdk", version = "=1.12.0" } solana-streamer = { path = "../streamer", version = "=1.12.0" } +solana-tpu-client = { path = "../tpu-client", version = "=1.12.0" } solana-version = { path = "../version", version = "=1.12.0" } [package.metadata.docs.rs] @@ -37,3 +38,4 @@ targets = ["x86_64-unknown-linux-gnu"] [dev-dependencies] serial_test = "0.9.0" solana-local-cluster = { path = "../local-cluster", version = "=1.12.0" } +solana-thin-client = { path = "../thin-client", version = "=1.12.0" } diff --git a/dos/src/main.rs b/dos/src/main.rs index baadc5c001..30c6f17f9e 100644 --- a/dos/src/main.rs +++ b/dos/src/main.rs @@ -45,11 +45,6 @@ use { log::*, rand::{thread_rng, Rng}, solana_bench_tps::{bench::generate_and_fund_keypairs, bench_tps_client::BenchTpsClient}, - solana_client::{ - connection_cache::{ConnectionCache, DEFAULT_TPU_CONNECTION_POOL_SIZE}, - rpc_client::RpcClient, - tpu_connection::TpuConnection, - }, solana_core::serve_repair::{RepairProtocol, RepairRequestHeader, ServeRepair}, solana_dos::cli::*, solana_gossip::{ @@ -57,6 +52,7 @@ use { gossip_service::{discover, get_multi_client}, }, solana_measure::measure::Measure, + solana_rpc_client::rpc_client::RpcClient, solana_sdk::{ hash::Hash, instruction::CompiledInstruction, @@ -70,6 +66,10 @@ use { transaction::Transaction, }, solana_streamer::socket::SocketAddrSpace, + solana_tpu_client::{ + connection_cache::{ConnectionCache, DEFAULT_TPU_CONNECTION_POOL_SIZE}, + tpu_connection::TpuConnection, + }, std::{ net::{SocketAddr, UdpSocket}, process::exit, @@ -786,7 +786,6 @@ fn main() { pub mod test { use { super::*, - solana_client::thin_client::ThinClient, solana_core::validator::ValidatorConfig, solana_faucet::faucet::run_local_faucet, solana_local_cluster::{ @@ -796,6 +795,7 @@ pub mod test { }, solana_rpc::rpc::JsonRpcConfig, solana_sdk::timing::timestamp, + solana_thin_client::thin_client::ThinClient, }; const TEST_SEND_BATCH_SIZE: usize = 1; diff --git a/gossip/Cargo.toml b/gossip/Cargo.toml index 74e01fcfae..7296e9eae5 100644 --- a/gossip/Cargo.toml +++ b/gossip/Cargo.toml @@ -29,7 +29,6 @@ serde_bytes = "0.11" serde_derive = "1.0.103" solana-bloom = { path = "../bloom", version = "=1.12.0" } solana-clap-utils = { path = "../clap-utils", version = "=1.12.0" } -solana-client = { path = "../client", version = "=1.12.0" } solana-entry = { path = "../entry", version = "=1.12.0" } solana-frozen-abi = { path = "../frozen-abi", version = "=1.12.0" } solana-frozen-abi-macro = { path = "../frozen-abi/macro", version = "=1.12.0" } @@ -43,6 +42,8 @@ solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "=1.12.0" solana-runtime = { path = "../runtime", version = "=1.12.0" } solana-sdk = { path = "../sdk", version = "=1.12.0" } solana-streamer = { path = "../streamer", version = "=1.12.0" } +solana-thin-client = { path = "../thin-client", version = "=1.12.0" } +solana-tpu-client = { path = "../tpu-client", version = "=1.12.0" } solana-version = { path = "../version", version = "=1.12.0" } solana-vote-program = { path = "../programs/vote", version = "=1.12.0" } thiserror = "1.0" diff --git a/gossip/src/gossip_service.rs b/gossip/src/gossip_service.rs index d487cf546e..bed9b11ec0 100644 --- a/gossip/src/gossip_service.rs +++ b/gossip/src/gossip_service.rs @@ -4,7 +4,6 @@ use { crate::{cluster_info::ClusterInfo, contact_info::ContactInfo}, crossbeam_channel::{unbounded, Sender}, rand::{thread_rng, Rng}, - solana_client::{connection_cache::ConnectionCache, thin_client::ThinClient}, solana_perf::recycler::Recycler, solana_runtime::bank_forks::BankForks, solana_sdk::{ @@ -15,6 +14,8 @@ use { socket::SocketAddrSpace, streamer::{self, StreamerReceiveStats}, }, + solana_thin_client::thin_client::ThinClient, + solana_tpu_client::connection_cache::ConnectionCache, std::{ collections::HashSet, net::{SocketAddr, TcpListener, UdpSocket}, diff --git a/install/Cargo.toml b/install/Cargo.toml index af4cffd7de..80c142bb9d 100644 --- a/install/Cargo.toml +++ b/install/Cargo.toml @@ -27,9 +27,9 @@ semver = "1.0.13" serde = { version = "1.0.143", features = ["derive"] } serde_yaml = "0.8.26" solana-clap-utils = { path = "../clap-utils", version = "=1.12.0" } -solana-client = { path = "../client", version = "=1.12.0" } solana-config-program = { path = "../programs/config", version = "=1.12.0" } solana-logger = { path = "../logger", version = "=1.12.0" } +solana-rpc-client = { path = "../rpc-client", version = "=1.12.0" } solana-sdk = { path = "../sdk", version = "=1.12.0" } solana-version = { path = "../version", version = "=1.12.0" } tar = "0.4.38" diff --git a/install/src/command.rs b/install/src/command.rs index c3ddd601e9..e95b8fdd28 100644 --- a/install/src/command.rs +++ b/install/src/command.rs @@ -9,8 +9,8 @@ use { crossbeam_channel::unbounded, indicatif::{ProgressBar, ProgressStyle}, serde::{Deserialize, Serialize}, - solana_client::rpc_client::RpcClient, solana_config_program::{config_instruction, get_config_data, ConfigState}, + solana_rpc_client::rpc_client::RpcClient, solana_sdk::{ hash::{Hash, Hasher}, message::Message, diff --git a/local-cluster/Cargo.toml b/local-cluster/Cargo.toml index fadf50500f..f33197df36 100644 --- a/local-cluster/Cargo.toml +++ b/local-cluster/Cargo.toml @@ -16,16 +16,20 @@ itertools = "0.10.3" log = "0.4.17" rand = "0.7.0" rayon = "1.5.3" -solana-client = { path = "../client", version = "=1.12.0" } solana-config-program = { path = "../programs/config", version = "=1.12.0" } solana-core = { path = "../core", version = "=1.12.0" } solana-entry = { path = "../entry", version = "=1.12.0" } solana-gossip = { path = "../gossip", version = "=1.12.0" } solana-ledger = { path = "../ledger", version = "=1.12.0" } +solana-pubsub-client = { path = "../pubsub-client", version = "=1.12.0" } +solana-rpc-client = { path = "../rpc-client", version = "=1.12.0" } +solana-rpc-client-api = { path = "../rpc-client-api", version = "=1.12.0" } solana-runtime = { path = "../runtime", version = "=1.12.0" } solana-sdk = { path = "../sdk", version = "=1.12.0" } solana-stake-program = { path = "../programs/stake", version = "=1.12.0" } solana-streamer = { path = "../streamer", version = "=1.12.0" } +solana-thin-client = { path = "../thin-client", version = "=1.12.0" } +solana-tpu-client = { path = "../tpu-client", version = "=1.12.0" } solana-vote-program = { path = "../programs/vote", version = "=1.12.0" } tempfile = "3.3.0" diff --git a/local-cluster/src/cluster.rs b/local-cluster/src/cluster.rs index b5bcf658fb..021b1ae5ab 100644 --- a/local-cluster/src/cluster.rs +++ b/local-cluster/src/cluster.rs @@ -1,9 +1,9 @@ use { - solana_client::thin_client::ThinClient, solana_core::validator::{Validator, ValidatorConfig}, solana_gossip::{cluster_info::Node, contact_info::ContactInfo}, solana_sdk::{pubkey::Pubkey, signature::Keypair}, solana_streamer::socket::SocketAddrSpace, + solana_thin_client::thin_client::ThinClient, std::{path::PathBuf, sync::Arc}, }; diff --git a/local-cluster/src/cluster_tests.rs b/local-cluster/src/cluster_tests.rs index 7f8c4331a9..024b2bb357 100644 --- a/local-cluster/src/cluster_tests.rs +++ b/local-cluster/src/cluster_tests.rs @@ -6,7 +6,6 @@ use log::*; use { rand::{thread_rng, Rng}, rayon::prelude::*, - solana_client::{connection_cache::ConnectionCache, thin_client::ThinClient}, solana_core::consensus::VOTE_THRESHOLD_DEPTH, solana_entry::entry::{Entry, EntrySlice}, solana_gossip::{ @@ -32,6 +31,8 @@ use { transport::TransportError, }, solana_streamer::socket::SocketAddrSpace, + solana_thin_client::thin_client::ThinClient, + solana_tpu_client::connection_cache::ConnectionCache, solana_vote_program::vote_transaction, std::{ collections::{HashMap, HashSet}, diff --git a/local-cluster/src/local_cluster.rs b/local-cluster/src/local_cluster.rs index 0f1ca19f87..6f2c619abd 100644 --- a/local-cluster/src/local_cluster.rs +++ b/local-cluster/src/local_cluster.rs @@ -6,12 +6,6 @@ use { }, itertools::izip, log::*, - solana_client::{ - connection_cache::{ - ConnectionCache, DEFAULT_TPU_CONNECTION_POOL_SIZE, DEFAULT_TPU_USE_QUIC, - }, - thin_client::ThinClient, - }, solana_core::{ tower_storage::FileTowerStorage, validator::{Validator, ValidatorConfig, ValidatorStartProgress}, @@ -47,6 +41,10 @@ use { }, solana_stake_program::{config::create_account as create_stake_config_account, stake_state}, solana_streamer::socket::SocketAddrSpace, + solana_thin_client::thin_client::ThinClient, + solana_tpu_client::connection_cache::{ + ConnectionCache, DEFAULT_TPU_CONNECTION_POOL_SIZE, DEFAULT_TPU_USE_QUIC, + }, solana_vote_program::{ vote_instruction, vote_state::{self, VoteInit}, diff --git a/local-cluster/tests/common.rs b/local-cluster/tests/common.rs index 17eb16c912..1e436ea600 100644 --- a/local-cluster/tests/common.rs +++ b/local-cluster/tests/common.rs @@ -1,7 +1,6 @@ #![allow(clippy::integer_arithmetic, dead_code)] use { log::*, - solana_client::rpc_client::RpcClient, solana_core::{ broadcast_stage::BroadcastStageType, consensus::{Tower, SWITCH_FORK_THRESHOLD}, @@ -21,6 +20,7 @@ use { local_cluster::{ClusterConfig, LocalCluster}, validator_configs::*, }, + solana_rpc_client::rpc_client::RpcClient, solana_runtime::snapshot_config::SnapshotConfig, solana_sdk::{ account::AccountSharedData, diff --git a/local-cluster/tests/local_cluster.rs b/local-cluster/tests/local_cluster.rs index 6fad4c541c..66ba534ad2 100644 --- a/local-cluster/tests/local_cluster.rs +++ b/local-cluster/tests/local_cluster.rs @@ -6,13 +6,6 @@ use { gag::BufferRedirect, log::*, serial_test::serial, - solana_client::{ - pubsub_client::PubsubClient, - rpc_client::RpcClient, - rpc_config::{RpcProgramAccountsConfig, RpcSignatureSubscribeConfig}, - rpc_response::RpcSignatureResult, - thin_client::ThinClient, - }, solana_core::{ broadcast_stage::BroadcastStageType, consensus::{Tower, SWITCH_FORK_THRESHOLD, VOTE_THRESHOLD_DEPTH}, @@ -33,6 +26,12 @@ use { local_cluster::{ClusterConfig, LocalCluster}, validator_configs::*, }, + solana_pubsub_client::pubsub_client::PubsubClient, + solana_rpc_client::rpc_client::RpcClient, + solana_rpc_client_api::{ + config::{RpcProgramAccountsConfig, RpcSignatureSubscribeConfig}, + response::RpcSignatureResult, + }, solana_runtime::{ hardened_unpack::open_genesis_config, snapshot_archive_info::SnapshotArchiveInfoGetter, @@ -54,6 +53,7 @@ use { system_program, system_transaction, }, solana_streamer::socket::SocketAddrSpace, + solana_thin_client::thin_client::ThinClient, solana_vote_program::vote_state::MAX_LOCKOUT_HISTORY, std::{ collections::{HashMap, HashSet}, diff --git a/programs/bpf/Cargo.lock b/programs/bpf/Cargo.lock index cd6acd53eb..ce05fa3e6b 100644 --- a/programs/bpf/Cargo.lock +++ b/programs/bpf/Cargo.lock @@ -4151,6 +4151,7 @@ dependencies = [ "solana-runtime", "solana-sdk 1.12.0", "solana-send-transaction-service", + "solana-tpu-client", "tarpc", "tokio", "tokio-serde", @@ -4638,7 +4639,7 @@ dependencies = [ "solana-account-decoder", "solana-clap-utils", "solana-cli-config", - "solana-client", + "solana-rpc-client-api", "solana-sdk 1.12.0", "solana-transaction-status", "solana-vote-program", @@ -4708,7 +4709,6 @@ dependencies = [ "serde_derive", "solana-address-lookup-table-program", "solana-bloom", - "solana-client", "solana-entry", "solana-frozen-abi 1.12.0", "solana-frozen-abi-macro 1.12.0", @@ -4723,10 +4723,12 @@ dependencies = [ "solana-program-runtime", "solana-rayon-threadlimit", "solana-rpc", + "solana-rpc-client-api", "solana-runtime", "solana-sdk 1.12.0", "solana-send-transaction-service", "solana-streamer", + "solana-tpu-client", "solana-transaction-status", "solana-version", "solana-vote-program", @@ -4944,7 +4946,6 @@ dependencies = [ "serde_derive", "solana-bloom", "solana-clap-utils", - "solana-client", "solana-entry", "solana-frozen-abi 1.12.0", "solana-frozen-abi-macro 1.12.0", @@ -4958,6 +4959,8 @@ dependencies = [ "solana-runtime", "solana-sdk 1.12.0", "solana-streamer", + "solana-thin-client", + "solana-tpu-client", "solana-version", "solana-vote-program", "thiserror", @@ -5346,7 +5349,6 @@ dependencies = [ "serde_json", "soketto", "solana-account-decoder", - "solana-client", "solana-entry", "solana-faucet", "solana-gossip", @@ -5356,12 +5358,14 @@ dependencies = [ "solana-perf", "solana-poh", "solana-rayon-threadlimit", + "solana-rpc-client-api", "solana-runtime", "solana-sdk 1.12.0", "solana-send-transaction-service", "solana-stake-program", "solana-storage-bigtable", "solana-streamer", + "solana-tpu-client", "solana-transaction-status", "solana-version", "solana-vote-program", @@ -5616,11 +5620,11 @@ version = "1.12.0" dependencies = [ "crossbeam-channel", "log", - "solana-client", "solana-measure", "solana-metrics", "solana-runtime", "solana-sdk 1.12.0", + "solana-tpu-client", ] [[package]] @@ -5753,9 +5757,11 @@ dependencies = [ "solana-program-runtime", "solana-program-test", "solana-rpc", + "solana-rpc-client", "solana-runtime", "solana-sdk 1.12.0", "solana-streamer", + "solana-tpu-client", "tokio", ] @@ -5858,7 +5864,6 @@ dependencies = [ "signal-hook", "solana-clap-utils", "solana-cli-config", - "solana-client", "solana-core", "solana-download-utils", "solana-entry", @@ -5872,12 +5877,15 @@ dependencies = [ "solana-perf", "solana-poh", "solana-rpc", + "solana-rpc-client", + "solana-rpc-client-api", "solana-runtime", "solana-sdk 1.12.0", "solana-send-transaction-service", "solana-storage-bigtable", "solana-streamer", "solana-test-validator", + "solana-tpu-client", "solana-version", "solana-vote-program", "symlink", diff --git a/rpc-test/Cargo.toml b/rpc-test/Cargo.toml index 8cd38a9077..a8e0776b73 100644 --- a/rpc-test/Cargo.toml +++ b/rpc-test/Cargo.toml @@ -20,11 +20,14 @@ reqwest = { version = "0.11.11", default-features = false, features = ["blocking serde = "1.0.143" serde_json = "1.0.83" solana-account-decoder = { path = "../account-decoder", version = "=1.12.0" } -solana-client = { path = "../client", version = "=1.12.0" } +solana-pubsub-client = { path = "../pubsub-client", version = "=1.12.0" } solana-rpc = { path = "../rpc", version = "=1.12.0" } +solana-rpc-client = { path = "../rpc-client", version = "=1.12.0" } +solana-rpc-client-api = { path = "../rpc-client-api", version = "=1.12.0" } solana-sdk = { path = "../sdk", version = "=1.12.0" } solana-streamer = { path = "../streamer", version = "=1.12.0" } solana-test-validator = { path = "../test-validator", version = "=1.12.0" } +solana-tpu-client = { path = "../tpu-client", version = "=1.12.0" } solana-transaction-status = { path = "../transaction-status", version = "=1.12.0" } tokio = { version = "~1.14.1", features = ["full"] } diff --git a/rpc-test/tests/nonblocking.rs b/rpc-test/tests/nonblocking.rs index ecb9ee5199..d75fc7a1cd 100644 --- a/rpc-test/tests/nonblocking.rs +++ b/rpc-test/tests/nonblocking.rs @@ -1,10 +1,10 @@ use { - solana_client::{ + solana_sdk::{clock::DEFAULT_MS_PER_SLOT, pubkey::Pubkey, system_transaction}, + solana_test_validator::TestValidatorGenesis, + solana_tpu_client::{ nonblocking::tpu_client::{LeaderTpuService, TpuClient}, tpu_client::TpuClientConfig, }, - solana_sdk::{clock::DEFAULT_MS_PER_SLOT, pubkey::Pubkey, system_transaction}, - solana_test_validator::TestValidatorGenesis, std::sync::{ atomic::{AtomicBool, Ordering}, Arc, diff --git a/rpc-test/tests/rpc.rs b/rpc-test/tests/rpc.rs index 6135aecbd4..d6c68d9425 100644 --- a/rpc-test/tests/rpc.rs +++ b/rpc-test/tests/rpc.rs @@ -6,15 +6,13 @@ use { reqwest::{self, header::CONTENT_TYPE}, serde_json::{json, Value}, solana_account_decoder::UiAccount, - solana_client::{ - client_error::{ClientErrorKind, Result as ClientResult}, - connection_cache::{ConnectionCache, DEFAULT_TPU_CONNECTION_POOL_SIZE}, - nonblocking::pubsub_client::PubsubClient, - rpc_client::RpcClient, - rpc_config::{RpcAccountInfoConfig, RpcSignatureSubscribeConfig}, - rpc_request::RpcError, - rpc_response::{Response as RpcResponse, RpcSignatureResult, SlotUpdate}, - tpu_client::{TpuClient, TpuClientConfig}, + solana_pubsub_client::nonblocking::pubsub_client::PubsubClient, + solana_rpc_client::rpc_client::RpcClient, + solana_rpc_client_api::{ + client_error::{ErrorKind as ClientErrorKind, Result as ClientResult}, + config::{RpcAccountInfoConfig, RpcSignatureSubscribeConfig}, + request::RpcError, + response::{Response as RpcResponse, RpcSignatureResult, SlotUpdate}, }, solana_sdk::{ commitment_config::CommitmentConfig, @@ -27,6 +25,10 @@ use { }, solana_streamer::socket::SocketAddrSpace, solana_test_validator::TestValidator, + solana_tpu_client::{ + connection_cache::{ConnectionCache, DEFAULT_TPU_CONNECTION_POOL_SIZE}, + tpu_client::{TpuClient, TpuClientConfig}, + }, solana_transaction_status::TransactionStatus, std::{ collections::HashSet, @@ -116,7 +118,8 @@ fn test_rpc_send_tx() { assert!(confirmed_tx); use { - solana_account_decoder::UiAccountEncoding, solana_client::rpc_config::RpcAccountInfoConfig, + solana_account_decoder::UiAccountEncoding, + solana_rpc_client_api::config::RpcAccountInfoConfig, }; let config = RpcAccountInfoConfig { encoding: Some(UiAccountEncoding::Base64), diff --git a/rpc/Cargo.toml b/rpc/Cargo.toml index 3c55e8b25a..6ce560984b 100644 --- a/rpc/Cargo.toml +++ b/rpc/Cargo.toml @@ -30,7 +30,6 @@ serde_derive = "1.0.103" serde_json = "1.0.83" soketto = "0.7" solana-account-decoder = { path = "../account-decoder", version = "=1.12.0" } -solana-client = { path = "../client", version = "=1.12.0" } solana-entry = { path = "../entry", version = "=1.12.0" } solana-faucet = { path = "../faucet", version = "=1.12.0" } solana-gossip = { path = "../gossip", version = "=1.12.0" } @@ -40,12 +39,14 @@ solana-metrics = { path = "../metrics", version = "=1.12.0" } solana-perf = { path = "../perf", version = "=1.12.0" } solana-poh = { path = "../poh", version = "=1.12.0" } solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "=1.12.0" } +solana-rpc-client-api = { path = "../rpc-client-api", version = "=1.12.0" } solana-runtime = { path = "../runtime", version = "=1.12.0" } solana-sdk = { path = "../sdk", version = "=1.12.0" } solana-send-transaction-service = { path = "../send-transaction-service", version = "=1.12.0" } solana-stake-program = { path = "../programs/stake", version = "=1.12.0" } solana-storage-bigtable = { path = "../storage-bigtable", version = "=1.12.0" } solana-streamer = { path = "../streamer", version = "=1.12.0" } +solana-tpu-client = { path = "../tpu-client", version = "=1.12.0" } solana-transaction-status = { path = "../transaction-status", version = "=1.12.0" } solana-version = { path = "../version", version = "=1.12.0" } solana-vote-program = { path = "../programs/vote", version = "=1.12.0" } diff --git a/rpc/src/optimistically_confirmed_bank_tracker.rs b/rpc/src/optimistically_confirmed_bank_tracker.rs index 3dbc25473c..9caedb810a 100644 --- a/rpc/src/optimistically_confirmed_bank_tracker.rs +++ b/rpc/src/optimistically_confirmed_bank_tracker.rs @@ -5,7 +5,7 @@ use { crate::rpc_subscriptions::RpcSubscriptions, crossbeam_channel::{Receiver, RecvTimeoutError, Sender}, - solana_client::rpc_response::{SlotTransactionStats, SlotUpdate}, + solana_rpc_client_api::response::{SlotTransactionStats, SlotUpdate}, solana_runtime::{bank::Bank, bank_forks::BankForks}, solana_sdk::{clock::Slot, timing::timestamp}, std::{ diff --git a/rpc/src/parsed_token_accounts.rs b/rpc/src/parsed_token_accounts.rs index 06843d1ff9..e67c377513 100644 --- a/rpc/src/parsed_token_accounts.rs +++ b/rpc/src/parsed_token_accounts.rs @@ -7,7 +7,7 @@ use { }, UiAccount, UiAccountData, UiAccountEncoding, }, - solana_client::rpc_response::RpcKeyedAccount, + solana_rpc_client_api::response::RpcKeyedAccount, solana_runtime::bank::Bank, solana_sdk::{ account::{AccountSharedData, ReadableAccount}, diff --git a/rpc/src/rpc.rs b/rpc/src/rpc.rs index 03c74aa1ba..8d5d12f033 100644 --- a/rpc/src/rpc.rs +++ b/rpc/src/rpc.rs @@ -14,21 +14,6 @@ use { parse_token::{is_known_spl_token_id, token_amount_to_ui_amount, UiTokenAmount}, UiAccount, UiAccountEncoding, UiDataSliceConfig, MAX_BASE58_BYTES, }, - solana_client::{ - connection_cache::ConnectionCache, - rpc_config::*, - rpc_custom_error::RpcCustomError, - rpc_deprecated_config::*, - rpc_filter::{Memcmp, MemcmpEncodedBytes, RpcFilterType}, - rpc_request::{ - TokenAccountsFilter, DELINQUENT_VALIDATOR_SLOT_DISTANCE, - MAX_GET_CONFIRMED_BLOCKS_RANGE, MAX_GET_CONFIRMED_SIGNATURES_FOR_ADDRESS2_LIMIT, - MAX_GET_CONFIRMED_SIGNATURES_FOR_ADDRESS_SLOT_RANGE, MAX_GET_PROGRAM_ACCOUNT_FILTERS, - MAX_GET_SIGNATURE_STATUSES_QUERY_ITEMS, MAX_GET_SLOT_LEADERS, MAX_MULTIPLE_ACCOUNTS, - NUM_LARGEST_ACCOUNTS, - }, - rpc_response::{Response as RpcResponse, *}, - }, solana_entry::entry::Entry, solana_faucet::faucet::request_airdrop_transaction, solana_gossip::{cluster_info::ClusterInfo, contact_info::ContactInfo}, @@ -40,6 +25,20 @@ use { }, solana_metrics::inc_new_counter_info, solana_perf::packet::PACKET_DATA_SIZE, + solana_rpc_client_api::{ + config::*, + custom_error::RpcCustomError, + deprecated_config::*, + filter::{Memcmp, MemcmpEncodedBytes, RpcFilterType}, + request::{ + TokenAccountsFilter, DELINQUENT_VALIDATOR_SLOT_DISTANCE, + MAX_GET_CONFIRMED_BLOCKS_RANGE, MAX_GET_CONFIRMED_SIGNATURES_FOR_ADDRESS2_LIMIT, + MAX_GET_CONFIRMED_SIGNATURES_FOR_ADDRESS_SLOT_RANGE, MAX_GET_PROGRAM_ACCOUNT_FILTERS, + MAX_GET_SIGNATURE_STATUSES_QUERY_ITEMS, MAX_GET_SLOT_LEADERS, MAX_MULTIPLE_ACCOUNTS, + NUM_LARGEST_ACCOUNTS, + }, + response::{Response as RpcResponse, *}, + }, solana_runtime::{ accounts::AccountAddressFilter, accounts_index::{AccountIndex, AccountSecondaryIndexes, IndexKey, ScanConfig}, @@ -82,6 +81,7 @@ use { solana_stake_program, solana_storage_bigtable::Error as StorageError, solana_streamer::socket::SocketAddrSpace, + solana_tpu_client::connection_cache::ConnectionCache, solana_transaction_status::{ BlockEncodingOptions, ConfirmedBlock, ConfirmedTransactionStatusWithSignature, ConfirmedTransactionWithStatusMeta, EncodedConfirmedTransactionWithStatusMeta, Reward, @@ -4572,14 +4572,6 @@ pub mod tests { jsonrpc_core_client::transports::local, serde::de::DeserializeOwned, solana_address_lookup_table_program::state::{AddressLookupTable, LookupTableMeta}, - solana_client::{ - rpc_custom_error::{ - JSON_RPC_SERVER_ERROR_BLOCK_NOT_AVAILABLE, - JSON_RPC_SERVER_ERROR_TRANSACTION_HISTORY_NOT_AVAILABLE, - JSON_RPC_SERVER_ERROR_UNSUPPORTED_TRANSACTION_VERSION, - }, - rpc_filter::{Memcmp, MemcmpEncodedBytes}, - }, solana_entry::entry::next_versioned_entry, solana_gossip::{contact_info::ContactInfo, socketaddr}, solana_ledger::{ @@ -4587,6 +4579,14 @@ pub mod tests { blockstore_processor::fill_blockstore_slot_with_ticks, genesis_utils::{create_genesis_config, GenesisConfigInfo}, }, + solana_rpc_client_api::{ + custom_error::{ + JSON_RPC_SERVER_ERROR_BLOCK_NOT_AVAILABLE, + JSON_RPC_SERVER_ERROR_TRANSACTION_HISTORY_NOT_AVAILABLE, + JSON_RPC_SERVER_ERROR_UNSUPPORTED_TRANSACTION_VERSION, + }, + filter::{Memcmp, MemcmpEncodedBytes}, + }, solana_runtime::{ accounts_background_service::AbsRequestSender, commitment::BlockCommitment, inline_spl_token, non_circulating_supply::non_circulating_accounts, diff --git a/rpc/src/rpc_cache.rs b/rpc/src/rpc_cache.rs index 0f92a3336d..e47d6a4dcf 100644 --- a/rpc/src/rpc_cache.rs +++ b/rpc/src/rpc_cache.rs @@ -1,5 +1,5 @@ use { - solana_client::{rpc_config::RpcLargestAccountsFilter, rpc_response::RpcAccountBalance}, + solana_rpc_client_api::{config::RpcLargestAccountsFilter, response::RpcAccountBalance}, std::{ collections::HashMap, time::{Duration, SystemTime}, diff --git a/rpc/src/rpc_completed_slots_service.rs b/rpc/src/rpc_completed_slots_service.rs index fb1c20f319..cb9059b1a5 100644 --- a/rpc/src/rpc_completed_slots_service.rs +++ b/rpc/src/rpc_completed_slots_service.rs @@ -1,8 +1,8 @@ use { crate::rpc_subscriptions::RpcSubscriptions, crossbeam_channel::RecvTimeoutError, - solana_client::rpc_response::SlotUpdate, solana_ledger::blockstore::CompletedSlotsReceiver, + solana_rpc_client_api::response::SlotUpdate, solana_sdk::timing::timestamp, std::{ sync::{ diff --git a/rpc/src/rpc_pubsub.rs b/rpc/src/rpc_pubsub.rs index 162a8a06ff..453187422b 100644 --- a/rpc/src/rpc_pubsub.rs +++ b/rpc/src/rpc_pubsub.rs @@ -16,13 +16,13 @@ use { jsonrpc_derive::rpc, jsonrpc_pubsub::{typed::Subscriber, SubscriptionId as PubSubSubscriptionId}, solana_account_decoder::{UiAccount, UiAccountEncoding}, - solana_client::{ - rpc_config::{ + solana_rpc_client_api::{ + config::{ RpcAccountInfoConfig, RpcBlockSubscribeConfig, RpcBlockSubscribeFilter, RpcProgramAccountsConfig, RpcSignatureSubscribeConfig, RpcTransactionLogsConfig, RpcTransactionLogsFilter, }, - rpc_response::{ + response::{ Response as RpcResponse, RpcBlockUpdate, RpcKeyedAccount, RpcLogsResponse, RpcSignatureResult, RpcVersionInfo, RpcVote, SlotInfo, SlotUpdate, }, @@ -601,7 +601,7 @@ mod tests { jsonrpc_core::{IoHandler, Response}, serial_test::serial, solana_account_decoder::{parse_account_data::parse_account_data, UiAccountEncoding}, - solana_client::rpc_response::{ + solana_rpc_client_api::response::{ ProcessedSignatureResult, ReceivedSignatureResult, RpcSignatureResult, SlotInfo, }, solana_runtime::{ diff --git a/rpc/src/rpc_service.rs b/rpc/src/rpc_service.rs index 37fc44bcbf..97b6fb45b7 100644 --- a/rpc/src/rpc_service.rs +++ b/rpc/src/rpc_service.rs @@ -19,7 +19,6 @@ use { RequestMiddlewareAction, ServerBuilder, }, regex::Regex, - solana_client::connection_cache::ConnectionCache, solana_gossip::cluster_info::ClusterInfo, solana_ledger::{ bigtable_upload::ConfirmedBlockUploadConfig, @@ -40,6 +39,7 @@ use { }, solana_send_transaction_service::send_transaction_service::{self, SendTransactionService}, solana_storage_bigtable::CredentialType, + solana_tpu_client::connection_cache::ConnectionCache, std::{ collections::HashSet, net::SocketAddr, @@ -570,7 +570,6 @@ mod tests { use { super::*, crate::rpc::create_validator_exit, - solana_client::rpc_config::RpcContextConfig, solana_gossip::{ contact_info::ContactInfo, crds::GossipRoute, @@ -580,6 +579,7 @@ mod tests { genesis_utils::{create_genesis_config, GenesisConfigInfo}, get_tmp_ledger_path, }, + solana_rpc_client_api::config::RpcContextConfig, solana_runtime::bank::Bank, solana_sdk::{ genesis_config::{ClusterType, DEFAULT_GENESIS_ARCHIVE}, diff --git a/rpc/src/rpc_subscription_tracker.rs b/rpc/src/rpc_subscription_tracker.rs index e0bc041bd5..41a2f3506c 100644 --- a/rpc/src/rpc_subscription_tracker.rs +++ b/rpc/src/rpc_subscription_tracker.rs @@ -2,8 +2,8 @@ use { crate::rpc_subscriptions::{NotificationEntry, RpcNotification, TimestampedNotificationEntry}, dashmap::{mapref::entry::Entry as DashEntry, DashMap}, solana_account_decoder::{UiAccountEncoding, UiDataSliceConfig}, - solana_client::rpc_filter::RpcFilterType, solana_metrics::{CounterToken, TokenCounter}, + solana_rpc_client_api::filter::RpcFilterType, solana_runtime::{ bank::{TransactionLogCollectorConfig, TransactionLogCollectorFilter}, bank_forks::BankForks, diff --git a/rpc/src/rpc_subscriptions.rs b/rpc/src/rpc_subscriptions.rs index 1b5023fe5f..27390494b9 100644 --- a/rpc/src/rpc_subscriptions.rs +++ b/rpc/src/rpc_subscriptions.rs @@ -16,14 +16,14 @@ use { rayon::prelude::*, serde::Serialize, solana_account_decoder::{parse_token::is_known_spl_token_id, UiAccount, UiAccountEncoding}, - solana_client::rpc_response::{ + solana_ledger::{blockstore::Blockstore, get_tmp_ledger_path}, + solana_measure::measure::Measure, + solana_rayon_threadlimit::get_thread_count, + solana_rpc_client_api::response::{ ProcessedSignatureResult, ReceivedSignatureResult, Response as RpcResponse, RpcBlockUpdate, RpcBlockUpdateError, RpcKeyedAccount, RpcLogsResponse, RpcResponseContext, RpcSignatureResult, RpcVote, SlotInfo, SlotUpdate, }, - solana_ledger::{blockstore::Blockstore, get_tmp_ledger_path}, - solana_measure::measure::Measure, - solana_rayon_threadlimit::get_thread_count, solana_runtime::{ bank::{Bank, TransactionLogInfo}, bank_forks::BankForks, @@ -1240,7 +1240,7 @@ pub(crate) mod tests { rpc_pubsub_service, }, serial_test::serial, - solana_client::rpc_config::{ + solana_rpc_client_api::config::{ RpcAccountInfoConfig, RpcBlockSubscribeConfig, RpcBlockSubscribeFilter, RpcProgramAccountsConfig, RpcSignatureSubscribeConfig, RpcTransactionLogsConfig, RpcTransactionLogsFilter, diff --git a/send-transaction-service/Cargo.toml b/send-transaction-service/Cargo.toml index 0634a3cd7e..ce2bf7ddfb 100644 --- a/send-transaction-service/Cargo.toml +++ b/send-transaction-service/Cargo.toml @@ -12,11 +12,11 @@ edition = "2021" [dependencies] crossbeam-channel = "0.5" log = "0.4.17" -solana-client = { path = "../client", version = "=1.12.0" } solana-measure = { path = "../measure", version = "=1.12.0" } solana-metrics = { path = "../metrics", version = "=1.12.0" } solana-runtime = { path = "../runtime", version = "=1.12.0" } solana-sdk = { path = "../sdk", version = "=1.12.0" } +solana-tpu-client = { path = "../tpu-client", version = "=1.12.0" } [dev-dependencies] solana-logger = { path = "../logger", version = "=1.12.0" } diff --git a/send-transaction-service/src/send_transaction_service.rs b/send-transaction-service/src/send_transaction_service.rs index 97b29ee82e..f579211b2b 100644 --- a/send-transaction-service/src/send_transaction_service.rs +++ b/send-transaction-service/src/send_transaction_service.rs @@ -2,7 +2,6 @@ use { crate::tpu_info::TpuInfo, crossbeam_channel::{Receiver, RecvTimeoutError}, log::*, - solana_client::{connection_cache::ConnectionCache, tpu_connection::TpuConnection}, solana_measure::measure::Measure, solana_metrics::datapoint_warn, solana_runtime::{bank::Bank, bank_forks::BankForks}, @@ -10,6 +9,7 @@ use { hash::Hash, nonce_account, pubkey::Pubkey, saturating_add_assign, signature::Signature, timing::AtomicInterval, transport::TransportError, }, + solana_tpu_client::{connection_cache::ConnectionCache, tpu_connection::TpuConnection}, std::{ collections::{ hash_map::{Entry, HashMap}, diff --git a/stake-accounts/Cargo.toml b/stake-accounts/Cargo.toml index b27771d2f5..3d3b269c2c 100644 --- a/stake-accounts/Cargo.toml +++ b/stake-accounts/Cargo.toml @@ -13,8 +13,9 @@ documentation = "https://docs.rs/solana-stake-accounts" clap = "2.33.1" solana-clap-utils = { path = "../clap-utils", version = "=1.12.0" } solana-cli-config = { path = "../cli-config", version = "=1.12.0" } -solana-client = { path = "../client", version = "=1.12.0" } solana-remote-wallet = { path = "../remote-wallet", version = "=1.12.0" } +solana-rpc-client = { path = "../rpc-client", version = "=1.12.0" } +solana-rpc-client-api = { path = "../rpc-client-api", version = "=1.12.0" } solana-sdk = { path = "../sdk", version = "=1.12.0" } solana-stake-program = { path = "../programs/stake", version = "=1.12.0" } diff --git a/stake-accounts/src/main.rs b/stake-accounts/src/main.rs index 250bc34ccc..bc6debf03d 100644 --- a/stake-accounts/src/main.rs +++ b/stake-accounts/src/main.rs @@ -11,7 +11,8 @@ use { }, }, solana_cli_config::Config, - solana_client::{client_error::ClientError, rpc_client::RpcClient}, + solana_rpc_client::rpc_client::RpcClient, + solana_rpc_client_api::client_error::Error as ClientError, solana_sdk::{ message::Message, native_token::lamports_to_sol, diff --git a/test-validator/Cargo.toml b/test-validator/Cargo.toml index 339ff46a1b..8b62efab57 100644 --- a/test-validator/Cargo.toml +++ b/test-validator/Cargo.toml @@ -25,9 +25,11 @@ solana-net-utils = { path = "../net-utils", version = "=1.12.0" } solana-program-runtime = { path = "../program-runtime", version = "=1.12.0" } solana-program-test = { path = "../program-test", version = "=1.12.0" } solana-rpc = { path = "../rpc", version = "=1.12.0" } +solana-rpc-client = { path = "../rpc-client", version = "=1.12.0" } solana-runtime = { path = "../runtime", version = "=1.12.0" } solana-sdk = { path = "../sdk", version = "=1.12.0" } solana-streamer = { path = "../streamer", version = "=1.12.0" } +solana-tpu-client = { path = "../tpu-client", version = "=1.12.0" } tokio = { version = "1", features = ["full"] } [package.metadata.docs.rs] diff --git a/test-validator/src/lib.rs b/test-validator/src/lib.rs index f2fb1f37a3..a0eb6e2842 100644 --- a/test-validator/src/lib.rs +++ b/test-validator/src/lib.rs @@ -3,11 +3,6 @@ use { log::*, solana_cli_output::CliAccount, - solana_client::{ - connection_cache::{DEFAULT_TPU_CONNECTION_POOL_SIZE, DEFAULT_TPU_USE_QUIC}, - nonblocking, - rpc_client::RpcClient, - }, solana_core::{ tower_storage::TowerStorage, validator::{Validator, ValidatorConfig, ValidatorStartProgress}, @@ -24,6 +19,7 @@ use { solana_net_utils::PortRange, solana_program_runtime::compute_budget::ComputeBudget, solana_rpc::{rpc::JsonRpcConfig, rpc_pubsub_service::PubSubConfig}, + solana_rpc_client::{nonblocking, rpc_client::RpcClient}, solana_runtime::{ accounts_db::AccountsDbConfig, accounts_index::AccountsIndexConfig, bank_forks::BankForks, genesis_utils::create_genesis_config_with_leader_ex, @@ -47,6 +43,7 @@ use { signature::{read_keypair_file, write_keypair_file, Keypair, Signer}, }, solana_streamer::socket::SocketAddrSpace, + solana_tpu_client::connection_cache::{DEFAULT_TPU_CONNECTION_POOL_SIZE, DEFAULT_TPU_USE_QUIC}, std::{ collections::{HashMap, HashSet}, ffi::OsStr, diff --git a/tokens/Cargo.toml b/tokens/Cargo.toml index 98f35f3566..cf653f67fb 100644 --- a/tokens/Cargo.toml +++ b/tokens/Cargo.toml @@ -22,8 +22,9 @@ serde = { version = "1.0", features = ["derive"] } solana-account-decoder = { path = "../account-decoder", version = "=1.12.0" } solana-clap-utils = { path = "../clap-utils", version = "=1.12.0" } solana-cli-config = { path = "../cli-config", version = "=1.12.0" } -solana-client = { path = "../client", version = "=1.12.0" } solana-remote-wallet = { path = "../remote-wallet", version = "=1.12.0" } +solana-rpc-client = { path = "../rpc-client", version = "=1.12.0" } +solana-rpc-client-api = { path = "../rpc-client-api", version = "=1.12.0" } solana-sdk = { path = "../sdk", version = "=1.12.0" } solana-transaction-status = { path = "../transaction-status", version = "=1.12.0" } solana-version = { path = "../version", version = "=1.12.0" } diff --git a/tokens/src/commands.rs b/tokens/src/commands.rs index 7447704864..0a55f08bfa 100644 --- a/tokens/src/commands.rs +++ b/tokens/src/commands.rs @@ -17,11 +17,11 @@ use { solana_account_decoder::parse_token::{ pubkey_from_spl_token, real_number_string, spl_token_pubkey, }, - solana_client::{ - client_error::{ClientError, Result as ClientResult}, - rpc_client::RpcClient, - rpc_config::RpcSendTransactionConfig, - rpc_request::MAX_GET_SIGNATURE_STATUSES_QUERY_ITEMS, + solana_rpc_client::rpc_client::RpcClient, + solana_rpc_client_api::{ + client_error::{Error as ClientError, Result as ClientResult}, + config::RpcSendTransactionConfig, + request::MAX_GET_SIGNATURE_STATUSES_QUERY_ITEMS, }, solana_sdk::{ clock::{Slot, DEFAULT_MS_PER_SLOT}, diff --git a/tokens/src/main.rs b/tokens/src/main.rs index 1bf81b01fe..4b4dd58f0e 100644 --- a/tokens/src/main.rs +++ b/tokens/src/main.rs @@ -1,6 +1,6 @@ use { solana_cli_config::{Config, CONFIG_FILE}, - solana_client::rpc_client::RpcClient, + solana_rpc_client::rpc_client::RpcClient, solana_tokens::{arg_parser::parse_args, args::Command, commands, spl_token}, std::{ env, diff --git a/tokens/src/spl_token.rs b/tokens/src/spl_token.rs index 8d6f4be0a6..5b80c850c2 100644 --- a/tokens/src/spl_token.rs +++ b/tokens/src/spl_token.rs @@ -7,7 +7,7 @@ use { solana_account_decoder::parse_token::{ pubkey_from_spl_token, real_number_string, real_number_string_trimmed, spl_token_pubkey, }, - solana_client::rpc_client::RpcClient, + solana_rpc_client::rpc_client::RpcClient, solana_sdk::{instruction::Instruction, message::Message, native_token::lamports_to_sol}, solana_transaction_status::parse_token::spl_token_instruction, spl_associated_token_account::{ diff --git a/tokens/tests/commands.rs b/tokens/tests/commands.rs index ea0288283e..c3a960e770 100644 --- a/tokens/tests/commands.rs +++ b/tokens/tests/commands.rs @@ -1,5 +1,5 @@ use { - solana_client::rpc_client::RpcClient, + solana_rpc_client::rpc_client::RpcClient, solana_sdk::signature::{Keypair, Signer}, solana_streamer::socket::SocketAddrSpace, solana_test_validator::TestValidator, diff --git a/transaction-dos/Cargo.toml b/transaction-dos/Cargo.toml index d5d5d6ac01..ff444236d8 100644 --- a/transaction-dos/Cargo.toml +++ b/transaction-dos/Cargo.toml @@ -23,6 +23,7 @@ solana-gossip = { path = "../gossip", version = "=1.12.0" } solana-logger = { path = "../logger", version = "=1.12.0" } solana-measure = { path = "../measure", version = "=1.12.0" } solana-net-utils = { path = "../net-utils", version = "=1.12.0" } +solana-rpc-client = { path = "../rpc-client", version = "=1.12.0" } solana-runtime = { path = "../runtime", version = "=1.12.0" } solana-sdk = { path = "../sdk", version = "=1.12.0" } solana-streamer = { path = "../streamer", version = "=1.12.0" } diff --git a/transaction-dos/src/main.rs b/transaction-dos/src/main.rs index c75d3b8d13..8fb8f75777 100644 --- a/transaction-dos/src/main.rs +++ b/transaction-dos/src/main.rs @@ -6,9 +6,10 @@ use { rayon::prelude::*, solana_clap_utils::input_parsers::pubkey_of, solana_cli::{cli::CliConfig, program::process_deploy}, - solana_client::{rpc_client::RpcClient, transaction_executor::TransactionExecutor}, + solana_client::transaction_executor::TransactionExecutor, solana_faucet::faucet::{request_airdrop_transaction, FAUCET_PORT}, solana_gossip::gossip_service::discover, + solana_rpc_client::rpc_client::RpcClient, solana_sdk::{ commitment_config::CommitmentConfig, instruction::{AccountMeta, Instruction}, diff --git a/validator/Cargo.toml b/validator/Cargo.toml index 3d1b79478d..362911d181 100644 --- a/validator/Cargo.toml +++ b/validator/Cargo.toml @@ -32,7 +32,6 @@ serde_json = "1.0.83" serde_yaml = "0.8.26" solana-clap-utils = { path = "../clap-utils", version = "=1.12.0" } solana-cli-config = { path = "../cli-config", version = "=1.12.0" } -solana-client = { path = "../client", version = "=1.12.0" } solana-core = { path = "../core", version = "=1.12.0" } solana-download-utils = { path = "../download-utils", version = "=1.12.0" } solana-entry = { path = "../entry", version = "=1.12.0" } @@ -46,12 +45,15 @@ solana-net-utils = { path = "../net-utils", version = "=1.12.0" } solana-perf = { path = "../perf", version = "=1.12.0" } solana-poh = { path = "../poh", version = "=1.12.0" } solana-rpc = { path = "../rpc", version = "=1.12.0" } +solana-rpc-client = { path = "../rpc-client", version = "=1.12.0" } +solana-rpc-client-api = { path = "../rpc-client-api", version = "=1.12.0" } solana-runtime = { path = "../runtime", version = "=1.12.0" } solana-sdk = { path = "../sdk", version = "=1.12.0" } solana-send-transaction-service = { path = "../send-transaction-service", version = "=1.12.0" } solana-storage-bigtable = { path = "../storage-bigtable", version = "=1.12.0" } solana-streamer = { path = "../streamer", version = "=1.12.0" } solana-test-validator = { path = "../test-validator", version = "=1.12.0" } +solana-tpu-client = { path = "../tpu-client", version = "=1.12.0" } solana-version = { path = "../version", version = "=1.12.0" } solana-vote-program = { path = "../programs/vote", version = "=1.12.0" } symlink = "0.1.0" diff --git a/validator/src/bin/solana-test-validator.rs b/validator/src/bin/solana-test-validator.rs index 46092b651c..c152d9421c 100644 --- a/validator/src/bin/solana-test-validator.rs +++ b/validator/src/bin/solana-test-validator.rs @@ -9,13 +9,13 @@ use { normalize_to_url_if_moniker, }, }, - solana_client::rpc_client::RpcClient, solana_core::tower_storage::FileTowerStorage, solana_faucet::faucet::{run_local_faucet_with_port, FAUCET_PORT}, solana_rpc::{ rpc::{JsonRpcConfig, RpcBigtableConfig}, rpc_pubsub_service::PubSubConfig, }, + solana_rpc_client::rpc_client::RpcClient, solana_sdk::{ account::AccountSharedData, clock::Slot, diff --git a/validator/src/bootstrap.rs b/validator/src/bootstrap.rs index c5a4b65d4b..7f54db69b0 100644 --- a/validator/src/bootstrap.rs +++ b/validator/src/bootstrap.rs @@ -2,7 +2,6 @@ use { log::*, rand::{seq::SliceRandom, thread_rng, Rng}, rayon::prelude::*, - solana_client::rpc_client::RpcClient, solana_core::validator::{ValidatorConfig, ValidatorStartProgress}, solana_download_utils::{download_snapshot_archive, DownloadProgressRecord}, solana_genesis_utils::download_then_check_genesis_hash, @@ -12,6 +11,7 @@ use { crds_value, gossip_service::GossipService, }, + solana_rpc_client::rpc_client::RpcClient, solana_runtime::{ snapshot_archive_info::SnapshotArchiveInfoGetter, snapshot_package::SnapshotType, diff --git a/validator/src/dashboard.rs b/validator/src/dashboard.rs index ec94e0d5a7..11b3e35fa2 100644 --- a/validator/src/dashboard.rs +++ b/validator/src/dashboard.rs @@ -4,10 +4,9 @@ use { ProgressBar, }, console::style, - solana_client::{ - client_error, rpc_client::RpcClient, rpc_request, rpc_response::RpcContactInfo, - }, solana_core::validator::ValidatorStartProgress, + solana_rpc_client::rpc_client::RpcClient, + solana_rpc_client_api::{client_error, request, response::RpcContactInfo}, solana_sdk::{ clock::Slot, commitment_config::CommitmentConfig, exit::Exit, native_token::Sol, pubkey::Pubkey, @@ -273,16 +272,14 @@ fn get_validator_stats( let health = match rpc_client.get_health() { Ok(()) => "ok".to_string(), Err(err) => { - if let client_error::ClientErrorKind::RpcError( - rpc_request::RpcError::RpcResponseError { - code: _, - message: _, - data: - rpc_request::RpcResponseErrorData::NodeUnhealthy { - num_slots_behind: Some(num_slots_behind), - }, - }, - ) = &err.kind + if let client_error::ErrorKind::RpcError(request::RpcError::RpcResponseError { + code: _, + message: _, + data: + request::RpcResponseErrorData::NodeUnhealthy { + num_slots_behind: Some(num_slots_behind), + }, + }) = &err.kind { format!("{} slots behind", num_slots_behind) } else { diff --git a/validator/src/main.rs b/validator/src/main.rs index 5d0a824fea..8938002f6c 100644 --- a/validator/src/main.rs +++ b/validator/src/main.rs @@ -18,10 +18,6 @@ use { }, keypair::SKIP_SEED_PHRASE_VALIDATION_ARG, }, - solana_client::{ - connection_cache::DEFAULT_TPU_CONNECTION_POOL_SIZE, rpc_client::RpcClient, - rpc_config::RpcLeaderScheduleConfig, rpc_request::MAX_MULTIPLE_ACCOUNTS, - }, solana_core::{ ledger_cleanup_service::{DEFAULT_MAX_LEDGER_SHREDS, DEFAULT_MIN_MAX_LEDGER_SHREDS}, system_monitor_service::SystemMonitorService, @@ -41,6 +37,8 @@ use { rpc::{JsonRpcConfig, RpcBigtableConfig, MAX_REQUEST_BODY_SIZE}, rpc_pubsub_service::PubSubConfig, }, + solana_rpc_client::rpc_client::RpcClient, + solana_rpc_client_api::{config::RpcLeaderScheduleConfig, request::MAX_MULTIPLE_ACCOUNTS}, solana_runtime::{ accounts_db::{ AccountShrinkThreshold, AccountsDbConfig, FillerAccountsConfig, @@ -72,6 +70,7 @@ use { self, MAX_BATCH_SEND_RATE_MS, MAX_TRANSACTION_BATCH_SIZE, }, solana_streamer::socket::SocketAddrSpace, + solana_tpu_client::connection_cache::DEFAULT_TPU_CONNECTION_POOL_SIZE, solana_validator::{ admin_rpc_service, admin_rpc_service::{load_staked_nodes_overrides, StakedNodesOverrides}, diff --git a/watchtower/Cargo.toml b/watchtower/Cargo.toml index ffe2b050ec..7f3d9de105 100644 --- a/watchtower/Cargo.toml +++ b/watchtower/Cargo.toml @@ -16,10 +16,11 @@ log = "0.4.17" solana-clap-utils = { path = "../clap-utils", version = "=1.12.0" } solana-cli-config = { path = "../cli-config", version = "=1.12.0" } solana-cli-output = { path = "../cli-output", version = "=1.12.0" } -solana-client = { path = "../client", version = "=1.12.0" } solana-logger = { path = "../logger", version = "=1.12.0" } solana-metrics = { path = "../metrics", version = "=1.12.0" } solana-notifier = { path = "../notifier", version = "=1.12.0" } +solana-rpc-client = { path = "../rpc-client", version = "=1.12.0" } +solana-rpc-client-api = { path = "../rpc-client-api", version = "=1.12.0" } solana-sdk = { path = "../sdk", version = "=1.12.0" } solana-version = { path = "../version", version = "=1.12.0" } diff --git a/watchtower/src/main.rs b/watchtower/src/main.rs index 15504001e5..f76fd08d85 100644 --- a/watchtower/src/main.rs +++ b/watchtower/src/main.rs @@ -9,9 +9,10 @@ use { input_validators::{is_parsable, is_pubkey_or_keypair, is_url}, }, solana_cli_output::display::format_labeled_address, - solana_client::{client_error, rpc_client::RpcClient, rpc_response::RpcVoteAccountStatus}, solana_metrics::{datapoint_error, datapoint_info}, solana_notifier::Notifier, + solana_rpc_client::rpc_client::RpcClient, + solana_rpc_client_api::{client_error, response::RpcVoteAccountStatus}, solana_sdk::{ hash::Hash, native_token::{sol_to_lamports, Sol}, @@ -321,7 +322,7 @@ fn main() -> Result<(), Box> { Err(err) => { let mut failure = Some(("rpc-error", err.to_string())); - if let client_error::ClientErrorKind::Reqwest(reqwest_err) = err.kind() { + if let client_error::ErrorKind::Reqwest(reqwest_err) = err.kind() { if let Some(client_error::reqwest::StatusCode::BAD_GATEWAY) = reqwest_err.status() {