Merge pull request #15 from godmodegalactus/migrate_to_crate

migrate git submodules to cargo
This commit is contained in:
galactus 2023-02-18 15:15:29 +01:00 committed by GitHub
commit 9e13cfcc93
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 1939 additions and 1557 deletions

7
.gitmodules vendored
View File

@ -1,7 +0,0 @@
[submodule "deps/mango-v3"]
path = deps/mango-v3
url = https://github.com/blockworks-foundation/mango-v3
[submodule "deps/solana"]
path = deps/solana
url = https://github.com/solana-labs/solana
branch = v1.14.7

3417
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -23,35 +23,28 @@ serde = "1.0.136"
serde_derive = "1.0.103" serde_derive = "1.0.103"
serde_json = "1.0.79" serde_json = "1.0.79"
serde_yaml = "0.8.23" serde_yaml = "0.8.23"
mango = { path = "deps/mango-v3/program", default-features = false, features = ["no-entrypoint"] }
mango-common = { path = "deps/mango-v3/common" } mango = { git = "https://github.com/blockworks-foundation/mango-v3.git", branch = "mango_bencher_compatible", default-features = false, features = ["no-entrypoint"] }
solana-bench-tps = { path = "deps/solana/bench-tps" } mango-common = { git = "https://github.com/blockworks-foundation/mango-v3.git", branch = "mango_bencher_compatible" }
solana-clap-utils = { path = "deps/solana/clap-utils" }
solana-cli-config = { path = "deps/solana/cli-config" } solana-client = { git = "https://github.com/solana-labs/solana.git", branch="v1.15" }
solana-client = { path = "deps/solana/client" } solana-core = { git = "https://github.com/solana-labs/solana.git", branch="v1.15" }
solana-core = { path = "deps/solana/core" } solana-metrics = { git = "https://github.com/solana-labs/solana.git", branch="v1.15" }
solana-faucet = { path = "deps/solana/faucet" } solana-rpc = { git = "https://github.com/solana-labs/solana.git", branch="v1.15" }
solana-genesis = { path = "deps/solana/genesis" } solana-runtime = { git = "https://github.com/solana-labs/solana.git", branch="v1.15" }
solana-gossip = { path = "deps/solana/gossip" } solana-sdk = { git = "https://github.com/solana-labs/solana.git", branch="v1.15" }
solana-logger = { path = "deps/solana/logger" } solana-clap-utils = { git = "https://github.com/solana-labs/solana.git", branch="v1.15" }
solana-measure = { path = "deps/solana/measure" } solana-cli-config = { git = "https://github.com/solana-labs/solana.git", branch="v1.15" }
solana-metrics = { path = "deps/solana/metrics" } solana-net-utils = { git = "https://github.com/solana-labs/solana.git", branch="v1.15" }
solana-net-utils = { path = "deps/solana/net-utils" } solana-version = { git = "https://github.com/solana-labs/solana.git", branch="v1.15" }
solana-rpc = { path = "deps/solana/rpc" } solana-logger = { git = "https://github.com/solana-labs/solana.git", branch="v1.15" }
solana-runtime = { path = "deps/solana/runtime" } solana-transaction-status = { git = "https://github.com/solana-labs/solana.git", branch="v1.15" }
solana-sdk = { path = "deps/solana/sdk" } solana-quic-client = { git = "https://github.com/solana-labs/solana.git", branch="v1.15" }
solana-streamer = { path = "deps/solana/streamer" }
solana-transaction-status = { path = "deps/solana/transaction-status" }
solana-version = { path = "deps/solana/version" }
thiserror = "1.0" thiserror = "1.0"
solana-program = ">=1.9.0" solana-program = ">=1.9.0"
csv = "1.0.0" csv = "1.0.0"
[dev-dependencies]
serial_test = "0.6.0"
solana-local-cluster = { path = "deps/solana/local-cluster" }
solana-test-validator = { path = "deps/solana/test-validator" }
[package.metadata.docs.rs] [package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"] targets = ["x86_64-unknown-linux-gnu"]

View File

@ -13,8 +13,9 @@ use solana_bench_mango::{
states::{BlockData, PerpMarketCache, TransactionConfirmRecord, TransactionSendRecord}, states::{BlockData, PerpMarketCache, TransactionConfirmRecord, TransactionSendRecord},
}; };
use solana_client::{ use solana_client::{
connection_cache::ConnectionCache, rpc_client::RpcClient, tpu_client::TpuClient, rpc_client::RpcClient, tpu_client::TpuClient, connection_cache::ConnectionCache,
}; };
use solana_quic_client::{QuicPool, QuicConnectionManager, QuicConfig};
use solana_sdk::commitment_config::CommitmentConfig; use solana_sdk::commitment_config::CommitmentConfig;
use std::{ use std::{
@ -23,7 +24,7 @@ use std::{
atomic::{AtomicBool, AtomicU64, Ordering}, atomic::{AtomicBool, AtomicU64, Ordering},
Arc, RwLock, Arc, RwLock,
}, },
thread::{Builder, JoinHandle}, thread::{Builder, JoinHandle}, net::{IpAddr, Ipv4Addr},
}; };
fn main() { fn main() {
@ -76,15 +77,28 @@ fn main() {
)) ))
}); });
let tpu_client_pool = Arc::new(RotatingQueue::<Arc<TpuClient>>::new( let connection_cache = ConnectionCache::new_with_client_options(
4,
None,
Some((id, IpAddr::V4(Ipv4Addr::new(0, 0, 0, 0)))),
None,
);
let quic_connection_cache = if let ConnectionCache::Quic(connection_cache) = connection_cache {
Some(connection_cache)
} else {
None
};
let tpu_client_pool = Arc::new(RotatingQueue::<Arc<TpuClient<QuicPool, QuicConnectionManager, QuicConfig>>>::new(
number_of_tpu_clients, number_of_tpu_clients,
|| { || {
let quic_connection_cache = quic_connection_cache.clone();
Arc::new( Arc::new(
TpuClient::new_with_connection_cache( TpuClient::new_with_connection_cache(
rpc_clients.get().clone(), rpc_clients.get().clone(),
&websocket_url, &websocket_url,
solana_client::tpu_client::TpuClientConfig::default(), solana_client::tpu_client::TpuClientConfig::default(),
Arc::new(ConnectionCache::default()), quic_connection_cache.unwrap(),
) )
.unwrap(), .unwrap(),
) )

View File

@ -17,6 +17,7 @@ use mango::{
}; };
use solana_client::tpu_client::TpuClient; use solana_client::tpu_client::TpuClient;
use solana_program::pubkey::Pubkey; use solana_program::pubkey::Pubkey;
use solana_quic_client::{QuicPool, QuicConnectionManager, QuicConfig};
use solana_sdk::{ use solana_sdk::{
hash::Hash, instruction::Instruction, message::Message, signature::Keypair, signer::Signer, hash::Hash, instruction::Instruction, message::Message, signature::Keypair, signer::Signer,
transaction::Transaction, transaction::Transaction,
@ -119,7 +120,7 @@ pub fn send_mm_transactions(
quotes_per_second: u64, quotes_per_second: u64,
perp_market_caches: &Vec<PerpMarketCache>, perp_market_caches: &Vec<PerpMarketCache>,
tx_record_sx: &Sender<TransactionSendRecord>, tx_record_sx: &Sender<TransactionSendRecord>,
tpu_client_pool: Arc<RotatingQueue<Arc<TpuClient>>>, tpu_client_pool: Arc<RotatingQueue<Arc<TpuClient<QuicPool, QuicConnectionManager, QuicConfig>>>>,
mango_account_pk: Pubkey, mango_account_pk: Pubkey,
mango_account_signer: &Keypair, mango_account_signer: &Keypair,
blockhash: Arc<RwLock<Hash>>, blockhash: Arc<RwLock<Hash>>,
@ -158,7 +159,7 @@ pub fn send_mm_transactions_batched(
quotes_per_second: u64, quotes_per_second: u64,
perp_market_caches: &Vec<PerpMarketCache>, perp_market_caches: &Vec<PerpMarketCache>,
tx_record_sx: &Sender<TransactionSendRecord>, tx_record_sx: &Sender<TransactionSendRecord>,
tpu_client_pool: Arc<RotatingQueue<Arc<TpuClient>>>, tpu_client_pool: Arc<RotatingQueue<Arc<TpuClient<QuicPool, QuicConnectionManager, QuicConfig>>>>,
mango_account_pk: Pubkey, mango_account_pk: Pubkey,
mango_account_signer: &Keypair, mango_account_signer: &Keypair,
blockhash: Arc<RwLock<Hash>>, blockhash: Arc<RwLock<Hash>>,
@ -219,7 +220,7 @@ pub fn start_market_making_threads(
exit_signal: Arc<AtomicBool>, exit_signal: Arc<AtomicBool>,
blockhash: Arc<RwLock<Hash>>, blockhash: Arc<RwLock<Hash>>,
current_slot: Arc<AtomicU64>, current_slot: Arc<AtomicU64>,
tpu_client_pool: Arc<RotatingQueue<Arc<TpuClient>>>, tpu_client_pool: Arc<RotatingQueue<Arc<TpuClient<QuicPool, QuicConnectionManager, QuicConfig>>>>,
duration: &Duration, duration: &Duration,
quotes_per_second: u64, quotes_per_second: u64,
txs_batch_size: Option<usize>, txs_batch_size: Option<usize>,