Add a client for BankForks (#10728)
Also: * Use BanksClient in solana-tokens
This commit is contained in:
@ -1,11 +1,9 @@
|
||||
use solana_cli_config::Config;
|
||||
use solana_cli_config::CONFIG_FILE;
|
||||
use solana_client::rpc_client::RpcClient;
|
||||
use solana_tokens::{arg_parser::parse_args, args::Command, commands, thin_client::ThinClient};
|
||||
use std::env;
|
||||
use std::error::Error;
|
||||
use std::path::Path;
|
||||
use std::process;
|
||||
use solana_banks_client::start_tcp_client;
|
||||
use solana_cli_config::{Config, CONFIG_FILE};
|
||||
use solana_tokens::{arg_parser::parse_args, args::Command, commands};
|
||||
use std::{env, error::Error, path::Path, process};
|
||||
use tokio::runtime::Runtime;
|
||||
use url::Url;
|
||||
|
||||
fn main() -> Result<(), Box<dyn Error>> {
|
||||
let command_args = parse_args(env::args_os())?;
|
||||
@ -20,16 +18,22 @@ fn main() -> Result<(), Box<dyn Error>> {
|
||||
Config::default()
|
||||
};
|
||||
let json_rpc_url = command_args.url.unwrap_or(config.json_rpc_url);
|
||||
let client = RpcClient::new(json_rpc_url);
|
||||
let rpc_banks_url = Config::compute_rpc_banks_url(&json_rpc_url);
|
||||
let url = Url::parse(&rpc_banks_url)?;
|
||||
let host_port = (url.host_str().unwrap(), url.port().unwrap());
|
||||
|
||||
let mut runtime = Runtime::new().unwrap();
|
||||
let mut banks_client = runtime.block_on(start_tcp_client(&host_port))?;
|
||||
|
||||
match command_args.command {
|
||||
Command::DistributeTokens(args) => {
|
||||
let thin_client = ThinClient::new(client, args.dry_run);
|
||||
commands::process_distribute_tokens(&thin_client, &args)?;
|
||||
runtime.block_on(commands::process_distribute_tokens(
|
||||
&mut banks_client,
|
||||
&args,
|
||||
))?;
|
||||
}
|
||||
Command::Balances(args) => {
|
||||
let thin_client = ThinClient::new(client, false);
|
||||
commands::process_balances(&thin_client, &args)?;
|
||||
runtime.block_on(commands::process_balances(&mut banks_client, &args))?;
|
||||
}
|
||||
Command::TransactionLog(args) => {
|
||||
commands::process_transaction_log(&args)?;
|
||||
|
Reference in New Issue
Block a user