Merge pull request #15 from godmodegalactus/migrate_to_crate
migrate git submodules to cargo
This commit is contained in:
commit
9e13cfcc93
|
@ -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
|
|
File diff suppressed because it is too large
Load Diff
43
Cargo.toml
43
Cargo.toml
|
@ -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"]
|
||||||
|
|
||||||
|
|
22
src/main.rs
22
src/main.rs
|
@ -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(),
|
||||||
)
|
)
|
||||||
|
|
|
@ -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>,
|
||||||
|
|
Loading…
Reference in New Issue