From 23ba2a003117dda1a65a603a7ec2ffd695477089 Mon Sep 17 00:00:00 2001 From: mango-dee Date: Mon, 9 Dec 2024 08:52:57 +0800 Subject: [PATCH 1/6] Adds protobuf-compiler to workflow --- .github/workflows/build_test.yml | 2 +- .github/workflows/clippy_test.yml | 2 +- Cargo.lock | 21 ++++------------ Cargo.toml | 2 +- .../tests/quic_proxy_tpu_integrationtest.rs | 24 ++++++------------- quic-forward-proxy/src/outbound/tx_forward.rs | 9 +++---- .../tests/proxy_request_format.rs | 20 +++++++++------- 7 files changed, 30 insertions(+), 50 deletions(-) diff --git a/.github/workflows/build_test.yml b/.github/workflows/build_test.yml index 1de7bb4d..7c096b23 100644 --- a/.github/workflows/build_test.yml +++ b/.github/workflows/build_test.yml @@ -20,7 +20,7 @@ jobs: - name: Install Linux Packages run: | sudo apt-get update -y - sudo apt-get install libssl-dev openssl -y + sudo apt-get install libssl-dev openssl protobuf-compiler -y - uses: actions/checkout@v4 diff --git a/.github/workflows/clippy_test.yml b/.github/workflows/clippy_test.yml index 625a9515..31617818 100644 --- a/.github/workflows/clippy_test.yml +++ b/.github/workflows/clippy_test.yml @@ -20,7 +20,7 @@ jobs: - name: Install Linux Packages run: | sudo apt-get update -y - sudo apt-get install libssl-dev openssl -y + sudo apt-get install libssl-dev openssl protobuf-compiler -y - uses: actions/checkout@v4 diff --git a/Cargo.lock b/Cargo.lock index 2dea1211..46d29ea2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3505,16 +3505,6 @@ dependencies = [ "base64 0.13.1", ] -[[package]] -name = "pem" -version = "3.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e459365e590736a54c3fa561947c84837534b8e9af6fc5bf781307e82658fae" -dependencies = [ - "base64 0.22.1", - "serde", -] - [[package]] name = "percent-encoding" version = "2.3.1" @@ -4095,13 +4085,12 @@ dependencies = [ [[package]] name = "rcgen" -version = "0.13.1" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54077e1872c46788540de1ea3d7f4ccb1983d12f9aa909b234468676c1a36779" +checksum = "6413f3de1edee53342e6138e75b56d32e7bc6e332b3bd62d497b1929d4cfbcdd" dependencies = [ - "pem 3.0.4", - "ring 0.17.8", - "rustls-pki-types", + "pem", + "ring 0.16.20", "time", "yasna", ] @@ -6000,7 +5989,7 @@ dependencies = [ "libc", "log", "nix", - "pem 1.1.1", + "pem", "percentage", "quinn", "quinn-proto", diff --git a/Cargo.toml b/Cargo.toml index d2eaa551..cf669411 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -75,7 +75,7 @@ jemallocator = "0.5" quinn = "0.10.2" quinn-proto = "0.10.5" rustls = { version = "0.21.7", default-features = false, features = ["quic"] } -rcgen = "0.13.1" +rcgen = "0.9.3" solana-lite-rpc-services = {path = "services", version="0.2.4"} solana-lite-rpc-core = {path = "core", version="0.2.4"} diff --git a/quic-forward-proxy-integration-test/tests/quic_proxy_tpu_integrationtest.rs b/quic-forward-proxy-integration-test/tests/quic_proxy_tpu_integrationtest.rs index 5cdc6319..a97c6fb6 100644 --- a/quic-forward-proxy-integration-test/tests/quic_proxy_tpu_integrationtest.rs +++ b/quic-forward-proxy-integration-test/tests/quic_proxy_tpu_integrationtest.rs @@ -19,11 +19,11 @@ use solana_streamer::nonblocking::quic::{ConnectionPeerType, SpawnNonBlockingSer use solana_streamer::packet::PacketBatch; use solana_streamer::quic::StreamStats; use solana_streamer::streamer::StakedNodes; -use solana_streamer::tls_certificates::new_self_signed_tls_certificate; use std::collections::{HashMap, HashSet}; -use std::net::{IpAddr, Ipv4Addr, SocketAddr, UdpSocket}; +use std::net::{SocketAddr, UdpSocket}; use itertools::Itertools; +use solana_streamer::tls_certificates::new_dummy_x509_certificate; use std::str::FromStr; use std::sync::atomic::{AtomicBool, Ordering}; use std::sync::{Arc, RwLock}; @@ -423,13 +423,11 @@ async fn solana_quic_streamer_start() { // keypair to derive the server tls certificate let keypair = Keypair::new(); // gossip_host is used in the server certificate - let gossip_host = "127.0.0.1".parse().unwrap(); let SpawnNonBlockingServerResult { stats, thread, .. } = solana_streamer::nonblocking::quic::spawn_server( "test-quic-server", sock.try_clone().unwrap(), &keypair, - gossip_host, sender, exit.clone(), 1, @@ -437,6 +435,7 @@ async fn solana_quic_streamer_start() { 10, 10, 9999, // max_streams_per_ms + 10, Duration::from_millis(1000), Duration::from_millis(1000), ) @@ -467,11 +466,7 @@ async fn start_literpc_client_direct_mode( // (String, Vec) (signature, transaction) let (sender, _) = tokio::sync::broadcast::channel(MAXIMUM_TRANSACTIONS_IN_QUEUE); let broadcast_sender = Arc::new(sender); - let (certificate, key) = new_self_signed_tls_certificate( - literpc_validator_identity.as_ref(), - IpAddr::V4(Ipv4Addr::new(0, 0, 0, 0)), - ) - .expect("Failed to initialize QUIC connection certificates"); + let (certificate, key) = new_dummy_x509_certificate(literpc_validator_identity.as_ref()); let tpu_connection_manager = TpuConnectionManager::new(certificate, key, fanout_slots as usize).await; @@ -568,11 +563,7 @@ async fn start_literpc_client_proxy_mode( // (String, Vec) (signature, transaction) let (sender, _) = tokio::sync::broadcast::channel(MAXIMUM_TRANSACTIONS_IN_QUEUE); let broadcast_sender = Arc::new(sender); - let (certificate, key) = new_self_signed_tls_certificate( - validator_identity.as_ref(), - IpAddr::V4(Ipv4Addr::new(0, 0, 0, 0)), - ) - .expect("Failed to initialize QUIC connection certificates"); + let (certificate, key) = new_dummy_x509_certificate(validator_identity.as_ref()); let quic_proxy_connection_manager = QuicProxyConnectionManager::new(certificate, key, forward_proxy_address).await; @@ -707,14 +698,12 @@ impl SolanaQuicStreamer { let exit = Arc::new(AtomicBool::new(false)); // keypair to derive the server tls certificate let keypair = Keypair::new(); - // gossip_host is used in the server certificate - let gossip_host = "127.0.0.1".parse().unwrap(); + let SpawnNonBlockingServerResult { stats, thread, .. } = solana_streamer::nonblocking::quic::spawn_server( "test-quic-server", udp_socket.try_clone().unwrap(), &keypair, - gossip_host, sender, exit.clone(), MAX_QUIC_CONNECTIONS_PER_PEER, @@ -722,6 +711,7 @@ impl SolanaQuicStreamer { 10, 10, 9999, // max_streams_per_ms + 10, Duration::from_millis(1000), Duration::from_millis(1000), ) diff --git a/quic-forward-proxy/src/outbound/tx_forward.rs b/quic-forward-proxy/src/outbound/tx_forward.rs index 46b225f8..2648c352 100644 --- a/quic-forward-proxy/src/outbound/tx_forward.rs +++ b/quic-forward-proxy/src/outbound/tx_forward.rs @@ -14,7 +14,7 @@ use quinn::{ use solana_lite_rpc_core::network_utils::apply_gso_workaround; use solana_sdk::quic::QUIC_MAX_TIMEOUT; use solana_streamer::nonblocking::quic::ALPN_TPU_PROTOCOL_ID; -use solana_streamer::tls_certificates::new_self_signed_tls_certificate; +use solana_streamer::tls_certificates::new_dummy_x509_certificate; use std::collections::HashMap; use std::net::{IpAddr, Ipv4Addr, SocketAddr}; use std::sync::atomic::{AtomicBool, Ordering}; @@ -267,11 +267,8 @@ async fn new_endpoint_with_validator_identity(validator_identity: ValidatorIdent validator_identity ); // the counterpart of this function is get_remote_pubkey+get_pubkey_from_tls_certificate - let (certificate, key) = new_self_signed_tls_certificate( - &validator_identity.get_keypair_for_tls(), - IpAddr::V4(Ipv4Addr::new(0, 0, 0, 0)), - ) - .expect("Failed to initialize QUIC connection certificates"); + let (certificate, key) = + new_dummy_x509_certificate(validator_identity.get_keypair_for_tls().as_ref()); create_tpu_client_endpoint(certificate, key) } diff --git a/quic-forward-proxy/tests/proxy_request_format.rs b/quic-forward-proxy/tests/proxy_request_format.rs index 6bc4628d..2b6665d5 100644 --- a/quic-forward-proxy/tests/proxy_request_format.rs +++ b/quic-forward-proxy/tests/proxy_request_format.rs @@ -1,17 +1,21 @@ -use solana_lite_rpc_quic_forward_proxy::proxy_request_format::TpuForwardingRequest; +use std::str::FromStr; + +use solana_sdk::address_lookup_table::program::id; +use solana_sdk::instruction::{AccountMeta, Instruction}; use solana_sdk::pubkey::Pubkey; -use solana_sdk::signature::{Keypair, Signer}; use solana_sdk::transaction::Transaction; -use std::str::FromStr; + +use solana_lite_rpc_quic_forward_proxy::proxy_request_format::TpuForwardingRequest; #[test] fn roundtrip() { - let payer = Keypair::from_base58_string( - "rKiJ7H5UUp3JR18kNyTF1XPuwPKHEM7gMLWHZPWP5djrW1vSjfwjhvJrevxF9MPmUmN9gJMLHZdLMgc9ao78eKr", - ); - let payer_pubkey = payer.pubkey(); + let payer_pubkey = Pubkey::from_str("Bm8rtweCQ19ksNebrLY92H7x4bCaeDJSSmEeWqkdCeop").unwrap(); - let memo_ix = spl_memo::build_memo("Hello world".as_bytes(), &[&payer_pubkey]); + let memo_ix = Instruction { + program_id: id(), + accounts: vec![AccountMeta::new_readonly(payer_pubkey, true)], + data: Vec::new(), + }; let tx = Transaction::new_with_payer(&[memo_ix], Some(&payer_pubkey)); From 057c343a14da1a79e265f4c40d4ae37d74ee0343 Mon Sep 17 00:00:00 2001 From: GroovieGermanikus Date: Mon, 9 Dec 2024 12:37:39 +0100 Subject: [PATCH 2/6] bump version --- Cargo.lock | 97 +++++++------------------------- Cargo.toml | 44 ++++++++------- accounts-on-demand/Cargo.toml | 2 +- accounts/Cargo.toml | 2 +- address-lookup-tables/Cargo.toml | 2 +- bench/Cargo.toml | 2 +- benchrunner-service/Cargo.toml | 2 +- blockstore/Cargo.toml | 2 +- cluster-endpoints/Cargo.toml | 2 +- core/Cargo.toml | 2 +- lite-rpc/Cargo.toml | 2 +- prioritization_fees/Cargo.toml | 2 +- services/Cargo.toml | 2 +- stake_vote/Cargo.toml | 2 +- util/Cargo.toml | 2 +- 15 files changed, 56 insertions(+), 111 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 46d29ea2..6af8902f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -577,7 +577,7 @@ dependencies = [ [[package]] name = "bench" -version = "0.2.4" +version = "0.3.0" dependencies = [ "anyhow", "bincode", @@ -1300,7 +1300,7 @@ dependencies = [ [[package]] name = "custom-tpu-send-transactions" -version = "0.2.4" +version = "0.3.0" dependencies = [ "anyhow", "bincode", @@ -1881,8 +1881,8 @@ dependencies = [ "regex", "solana-sdk", "tokio", - "tonic 0.12.3", - "tonic-health 0.12.3", + "tonic", + "tonic-health", "tracing", "url", "yellowstone-grpc-client", @@ -2907,7 +2907,7 @@ checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" [[package]] name = "lite-rpc" -version = "0.2.4" +version = "0.3.0" dependencies = [ "anyhow", "async-channel", @@ -3765,16 +3765,6 @@ dependencies = [ "prost-derive 0.11.9", ] -[[package]] -name = "prost" -version = "0.12.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" -dependencies = [ - "bytes", - "prost-derive 0.12.6", -] - [[package]] name = "prost" version = "0.13.3" @@ -3841,19 +3831,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "prost-derive" -version = "0.12.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" -dependencies = [ - "anyhow", - "itertools 0.12.1", - "proc-macro2", - "quote", - "syn 2.0.89", -] - [[package]] name = "prost-derive" version = "0.13.3" @@ -5067,7 +5044,7 @@ dependencies = [ [[package]] name = "solana-lite-rpc-accounts" -version = "0.2.4" +version = "0.3.0" dependencies = [ "anyhow", "async-trait", @@ -5108,7 +5085,7 @@ dependencies = [ [[package]] name = "solana-lite-rpc-accounts-on-demand" -version = "0.2.4" +version = "0.3.0" dependencies = [ "anyhow", "async-trait", @@ -5151,7 +5128,7 @@ dependencies = [ [[package]] name = "solana-lite-rpc-address-lookup-tables" -version = "0.2.4" +version = "0.3.0" dependencies = [ "anyhow", "async-trait", @@ -5189,7 +5166,7 @@ dependencies = [ [[package]] name = "solana-lite-rpc-benchrunner-service" -version = "0.2.4" +version = "0.3.0" dependencies = [ "anyhow", "async-trait", @@ -5220,7 +5197,7 @@ dependencies = [ [[package]] name = "solana-lite-rpc-blockstore" -version = "0.2.4" +version = "0.3.0" dependencies = [ "anyhow", "async-trait", @@ -5254,7 +5231,7 @@ dependencies = [ [[package]] name = "solana-lite-rpc-cluster-endpoints" -version = "0.2.4" +version = "0.3.0" dependencies = [ "anyhow", "async-channel", @@ -5290,14 +5267,14 @@ dependencies = [ "thiserror", "tokio", "tokio-stream", - "tonic-health 0.10.2", + "tonic-health", "tracing", "yellowstone-grpc-proto", ] [[package]] name = "solana-lite-rpc-core" -version = "0.2.4" +version = "0.3.0" dependencies = [ "anyhow", "async-trait", @@ -5332,7 +5309,7 @@ dependencies = [ [[package]] name = "solana-lite-rpc-prioritization-fees" -version = "0.2.4" +version = "0.3.0" dependencies = [ "dashmap", "itertools 0.10.5", @@ -5431,7 +5408,7 @@ dependencies = [ [[package]] name = "solana-lite-rpc-services" -version = "0.2.4" +version = "0.3.0" dependencies = [ "anyhow", "async-channel", @@ -5471,7 +5448,7 @@ dependencies = [ [[package]] name = "solana-lite-rpc-util" -version = "0.2.4" +version = "0.3.0" dependencies = [ "anyhow", "async-channel", @@ -6956,27 +6933,6 @@ dependencies = [ "winnow 0.6.20", ] -[[package]] -name = "tonic" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d560933a0de61cf715926b9cac824d4c883c2c43142f787595e48280c40a1d0e" -dependencies = [ - "async-trait", - "base64 0.21.7", - "bytes", - "http 0.2.12", - "http-body 0.4.6", - "percent-encoding", - "pin-project", - "prost 0.12.6", - "tokio", - "tokio-stream", - "tower-layer", - "tower-service", - "tracing", -] - [[package]] name = "tonic" version = "0.12.3" @@ -7025,19 +6981,6 @@ dependencies = [ "syn 2.0.89", ] -[[package]] -name = "tonic-health" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f80db390246dfb46553481f6024f0082ba00178ea495dbb99e70ba9a4fafb5e1" -dependencies = [ - "async-stream", - "prost 0.12.6", - "tokio", - "tokio-stream", - "tonic 0.10.2", -] - [[package]] name = "tonic-health" version = "0.12.3" @@ -7048,7 +6991,7 @@ dependencies = [ "prost 0.13.3", "tokio", "tokio-stream", - "tonic 0.12.3", + "tonic", ] [[package]] @@ -7861,8 +7804,8 @@ dependencies = [ "bytes", "futures", "thiserror", - "tonic 0.12.3", - "tonic-health 0.12.3", + "tonic", + "tonic-health", "yellowstone-grpc-proto", ] @@ -7878,7 +7821,7 @@ dependencies = [ "solana-account-decoder", "solana-sdk", "solana-transaction-status", - "tonic 0.12.3", + "tonic", "tonic-build", ] diff --git a/Cargo.toml b/Cargo.toml index cf669411..9a7bcf1e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -21,13 +21,26 @@ members = [ ] [workspace.package] -version = "0.2.4" +version = "0.3.0" authors = ["gmgalactus ", "GroovieGermanikus "] repository = "https://github.com/blockworks-foundation/lite-rpc" license = "AGPL" edition = "2021" [workspace.dependencies] + +solana-lite-rpc-services = { path = "services", version="0.3.0" } +solana-lite-rpc-core = { path = "core", version="0.3.0" } +solana-lite-rpc-util = { path = "util", version="0.3.0" } +solana-lite-rpc-cluster-endpoints = { path = "cluster-endpoints", version="0.3.0" } +solana-lite-rpc-blockstore = { path = "blockstore", version="0.3.0" } +solana-lite-rpc-stakevote = { path = "stake_vote", version="0.3.0" } +solana-lite-rpc-prioritization-fees = { path = "prioritization_fees", version="0.3.0" } +solana-lite-rpc-address-lookup-tables = { path = "address-lookup-tables", version="0.3.0" } +solana-lite-rpc-accounts = { path = "accounts", version = "0.3.0"} +solana-lite-rpc-accounts-on-demand = { path = "accounts-on-demand", version = "0.3.0"} +bench = { path = "bench", version="0.3.0" } + solana-sdk = "~2.0.16" solana-rpc-client = "~2.0.16" solana-rpc-client-api = "~2.0.16" @@ -42,6 +55,11 @@ solana-ledger = "~2.0.16" solana-program = "~2.0.16" solana-accounts-db = "~2.0.16" solana-address-lookup-table-program = "~2.0.16" + +yellowstone-grpc-proto = { git = "https://github.com/rpcpool/yellowstone-grpc.git", tag = "v2.0.0+solana.2.0.16" } +geyser-grpc-connector = { git = "https://github.com/blockworks-foundation/geyser-grpc-connector.git", branch = "2.0.16" } # FIXME use tag instead of branch + + itertools = "0.10.5" rangetools = "0.1.4" serde = { version = "1.0.160", features = ["derive"] } @@ -51,6 +69,7 @@ bs58 = "0.4.0" base64 = "0.21.0" borsh = "0.10.3" thiserror = "1.0.40" +async-trait = "0.1.68" futures = "0.3.28" futures-util = "0.3.28" bytes = "1.4.0" @@ -71,31 +90,14 @@ dotenv = "0.15.0" async-channel = "1.8.0" merge-streams = "0.1.2" jemallocator = "0.5" - quinn = "0.10.2" quinn-proto = "0.10.5" rustls = { version = "0.21.7", default-features = false, features = ["quic"] } rcgen = "0.9.3" -solana-lite-rpc-services = {path = "services", version="0.2.4"} -solana-lite-rpc-core = {path = "core", version="0.2.4"} -solana-lite-rpc-util = {path = "util", version="0.2.4"} -solana-lite-rpc-cluster-endpoints = {path = "cluster-endpoints", version="0.2.4"} -solana-lite-rpc-blockstore = {path = "blockstore", version="0.2.4"} -solana-lite-rpc-stakevote = {path = "stake_vote", version="0.2.4"} -solana-lite-rpc-prioritization-fees = {path = "prioritization_fees", version="0.2.4"} -solana-lite-rpc-address-lookup-tables = {path = "address-lookup-tables", version="0.2.4"} -solana-lite-rpc-accounts = {path = "accounts", version = "0.2.4"} -solana-lite-rpc-accounts-on-demand = {path = "accounts-on-demand", version = "0.2.4"} -bench = { path = "bench", version="0.2.4" } - -yellowstone-grpc-proto = { git = "https://github.com/rpcpool/yellowstone-grpc.git", tag = "v2.0.0+solana.2.0.16" } -geyser-grpc-connector = { git = "https://github.com/blockworks-foundation/geyser-grpc-connector.git", branch = "2.0.16" } # FIXME use tag instead of branch - - -async-trait = "0.1.68" -tonic-health = "0.10" +tonic = "0.12" +tonic-health = "0.12" [patch.crates-io.curve25519-dalek] git = "https://github.com/anza-xyz/curve25519-dalek.git" -rev = "b500cdc2a920cd5bff9e2dd974d7b97349d61464" \ No newline at end of file +rev = "b500cdc2a920cd5bff9e2dd974d7b97349d61464" diff --git a/accounts-on-demand/Cargo.toml b/accounts-on-demand/Cargo.toml index 21219332..d16e4591 100644 --- a/accounts-on-demand/Cargo.toml +++ b/accounts-on-demand/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "solana-lite-rpc-accounts-on-demand" -version = "0.2.4" +version = "0.3.0" edition = "2021" description = "Library which implements accounts on demand service in lite-rpc. Whenever account is not available it will fetch from rpc and create a geyser stream to update it automatically." rust-version = "1.73.0" diff --git a/accounts/Cargo.toml b/accounts/Cargo.toml index a0635736..aa1b8b3b 100644 --- a/accounts/Cargo.toml +++ b/accounts/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "solana-lite-rpc-accounts" -version = "0.2.4" +version = "0.3.0" edition = "2021" description = "Library which implements accounts in lite-rpc" rust-version = "1.73.0" diff --git a/address-lookup-tables/Cargo.toml b/address-lookup-tables/Cargo.toml index 1d34b6f2..0d57c2bf 100644 --- a/address-lookup-tables/Cargo.toml +++ b/address-lookup-tables/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "solana-lite-rpc-address-lookup-tables" -version = "0.2.4" +version = "0.3.0" edition = "2021" description = "Library to save and update address lookup tables in lite-rpc" rust-version = "1.73.0" diff --git a/bench/Cargo.toml b/bench/Cargo.toml index ebd586a7..3a501f3d 100644 --- a/bench/Cargo.toml +++ b/bench/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "bench" -version = "0.2.4" +version = "0.3.0" edition = "2021" [[bin]] diff --git a/benchrunner-service/Cargo.toml b/benchrunner-service/Cargo.toml index 6949df82..0c5c6668 100644 --- a/benchrunner-service/Cargo.toml +++ b/benchrunner-service/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "solana-lite-rpc-benchrunner-service" -version = "0.2.4" +version = "0.3.0" edition = "2021" description = "Service for running recurring benchmarks" rust-version = "1.73.0" diff --git a/blockstore/Cargo.toml b/blockstore/Cargo.toml index 2e5c6846..a6cf8f33 100644 --- a/blockstore/Cargo.toml +++ b/blockstore/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "solana-lite-rpc-blockstore" -version = "0.2.4" +version = "0.3.0" edition = "2021" description = "History implementations used by solana lite rpc" rust-version = "1.75.0" diff --git a/cluster-endpoints/Cargo.toml b/cluster-endpoints/Cargo.toml index 2c0619e3..a7a8b914 100644 --- a/cluster-endpoints/Cargo.toml +++ b/cluster-endpoints/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "solana-lite-rpc-cluster-endpoints" -version = "0.2.4" +version = "0.3.0" edition = "2021" description = "Core classes and methods used by solana lite rpc" rust-version = "1.75.0" diff --git a/core/Cargo.toml b/core/Cargo.toml index dd62a55f..92aa5ef1 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "solana-lite-rpc-core" -version = "0.2.4" +version = "0.3.0" edition = "2021" description = "Core classes and methods used by solana lite rpc" rust-version = "1.75.0" diff --git a/lite-rpc/Cargo.toml b/lite-rpc/Cargo.toml index 0ad19bb2..5a0b391e 100644 --- a/lite-rpc/Cargo.toml +++ b/lite-rpc/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "lite-rpc" -version = "0.2.4" +version = "0.3.0" edition = "2021" description = "A lite version of solana rpc to send and confirm transactions" rust-version = "1.73.0" diff --git a/prioritization_fees/Cargo.toml b/prioritization_fees/Cargo.toml index b65f6334..84859b9d 100644 --- a/prioritization_fees/Cargo.toml +++ b/prioritization_fees/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "solana-lite-rpc-prioritization-fees" -version = "0.2.4" +version = "0.3.0" edition = "2021" description = "Expose priority fees stats per block via RPC and WebSocket" diff --git a/services/Cargo.toml b/services/Cargo.toml index 47b09909..2f6e21b3 100644 --- a/services/Cargo.toml +++ b/services/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "solana-lite-rpc-services" -version = "0.2.4" +version = "0.3.0" edition = "2021" description = "Services used by solana lite rpc" rust-version = "1.73.0" diff --git a/stake_vote/Cargo.toml b/stake_vote/Cargo.toml index 84811433..68407faa 100644 --- a/stake_vote/Cargo.toml +++ b/stake_vote/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "solana-lite-rpc-stakevote" -version = "0.2.4" +version = "0.3.0" edition = "2021" description = "History implementations used by solana lite rpc" rust-version = "1.75.0" diff --git a/util/Cargo.toml b/util/Cargo.toml index b00e5ea7..901f676a 100644 --- a/util/Cargo.toml +++ b/util/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "solana-lite-rpc-util" -version = "0.2.4" +version = "0.3.0" edition = "2021" description = "Utility for non-domain functions" rust-version = "1.73.0" From 715a56dc2625dfe8e9b1af422565c29ed7a4a679 Mon Sep 17 00:00:00 2001 From: GroovieGermanikus Date: Mon, 9 Dec 2024 13:01:32 +0100 Subject: [PATCH 3/6] cargo lock --- Cargo.lock | 145 +++++++++++++++++++++++++++-------------------------- 1 file changed, 74 insertions(+), 71 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6af8902f..d926ab0b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -490,7 +490,7 @@ dependencies = [ "axum-core", "bytes", "futures-util", - "http 1.1.0", + "http 1.2.0", "http-body 1.0.1", "http-body-util", "itoa", @@ -516,7 +516,7 @@ dependencies = [ "async-trait", "bytes", "futures-util", - "http 1.1.0", + "http 1.2.0", "http-body 1.0.1", "http-body-util", "mime", @@ -583,7 +583,7 @@ dependencies = [ "bincode", "clap 4.5.21", "csv", - "dashmap", + "dashmap 5.5.3", "dirs", "futures", "itertools 0.10.5", @@ -600,7 +600,7 @@ dependencies = [ "solana-rpc-client-api", "solana-sdk", "solana-transaction-status", - "spl-memo 4.0.4", + "spl-memo 4.0.0", "tokio", "tracing", "tracing-subscriber", @@ -1305,7 +1305,7 @@ dependencies = [ "anyhow", "bincode", "clap 4.5.21", - "dashmap", + "dashmap 5.5.3", "futures", "itertools 0.10.5", "log", @@ -1369,6 +1369,20 @@ dependencies = [ "rayon", ] +[[package]] +name = "dashmap" +version = "6.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" +dependencies = [ + "cfg-if", + "crossbeam-utils", + "hashbrown 0.14.5", + "lock_api", + "once_cell", + "parking_lot_core", +] + [[package]] name = "data-encoding" version = "2.6.0" @@ -1862,8 +1876,8 @@ dependencies = [ [[package]] name = "geyser-grpc-connector" -version = "2.0.0" -source = "git+https://github.com/blockworks-foundation/geyser-grpc-connector.git?branch=2.0.16#214886a27da719807fbc3cbdbf7fb717bc280e7e" +version = "0.11.0+yellowstone.2.0.0" +source = "git+https://github.com/blockworks-foundation/geyser-grpc-connector.git?branch=2.0.16#9ce723fb06cdcd1981f7da7acffda59f5b4a613d" dependencies = [ "anyhow", "async-stream", @@ -1871,7 +1885,7 @@ dependencies = [ "bincode", "clap 4.5.21", "csv", - "dashmap", + "dashmap 6.1.0", "derive_more", "futures", "itertools 0.10.5", @@ -1982,7 +1996,7 @@ dependencies = [ "fnv", "futures-core", "futures-sink", - "http 1.1.0", + "http 1.2.0", "indexmap 2.6.0", "slab", "tokio", @@ -2120,9 +2134,9 @@ dependencies = [ [[package]] name = "http" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +checksum = "f16ca2af56261c99fba8bac40a10251ce8188205a4c448fbb745a2e4daa76fea" dependencies = [ "bytes", "fnv", @@ -2147,7 +2161,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", - "http 1.1.0", + "http 1.2.0", ] [[package]] @@ -2158,7 +2172,7 @@ checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" dependencies = [ "bytes", "futures-util", - "http 1.1.0", + "http 1.2.0", "http-body 1.0.1", "pin-project-lite", ] @@ -2221,7 +2235,7 @@ dependencies = [ "futures-channel", "futures-util", "h2 0.4.7", - "http 1.1.0", + "http 1.2.0", "http-body 1.0.1", "httparse", "httpdate", @@ -2283,7 +2297,7 @@ dependencies = [ "bytes", "futures-channel", "futures-util", - "http 1.1.0", + "http 1.2.0", "http-body 1.0.1", "hyper 1.5.1", "pin-project-lite", @@ -2479,9 +2493,9 @@ dependencies = [ [[package]] name = "index_list" -version = "0.2.13" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e6ba961c14e98151cd6416dd3685efe786a94c38bc1a535c06ceff0a1600813" +checksum = "fa38453685e5fe724fd23ff6c1a158c1e2ca21ce0c2718fa11e96e70e99fd4de" [[package]] name = "indexmap" @@ -2565,15 +2579,6 @@ dependencies = [ "either", ] -[[package]] -name = "itertools" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" -dependencies = [ - "either", -] - [[package]] name = "itoa" version = "1.0.13" @@ -2921,7 +2926,7 @@ dependencies = [ "chrono", "clap 4.5.21", "const_env", - "dashmap", + "dashmap 5.5.3", "dotenv", "futures", "futures-util", @@ -3767,12 +3772,12 @@ dependencies = [ [[package]] name = "prost" -version = "0.13.3" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b0487d90e047de87f984913713b85c601c05609aad5b0df4b4573fbf69aa13f" +checksum = "2c0fef6c4230e4ccf618a35c59d7ede15dea37de8427500f50aff708806e42ec" dependencies = [ "bytes", - "prost-derive 0.13.3", + "prost-derive 0.13.4", ] [[package]] @@ -3799,20 +3804,19 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.13.3" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c1318b19085f08681016926435853bbf7858f9c082d0999b80550ff5d9abe15" +checksum = "d0f3e5beed80eb580c68e2c600937ac2c4eedabdfd5ef1e5b7ea4f3fba84497b" dependencies = [ - "bytes", "heck 0.5.0", - "itertools 0.13.0", + "itertools 0.12.1", "log", "multimap 0.10.0", "once_cell", "petgraph", "prettyplease 0.2.25", - "prost 0.13.3", - "prost-types 0.13.3", + "prost 0.13.4", + "prost-types 0.13.4", "regex", "syn 2.0.89", "tempfile", @@ -3833,12 +3837,12 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.13.3" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9552f850d5f0964a4e4d0bf306459ac29323ddfbae05e35a7c0d35cb0803cc5" +checksum = "157c5a9d7ea5c2ed2d9fb8f495b64759f7816c7eaea54ba3978f0d63000162e3" dependencies = [ "anyhow", - "itertools 0.13.0", + "itertools 0.12.1", "proc-macro2", "quote", "syn 2.0.89", @@ -3855,11 +3859,11 @@ dependencies = [ [[package]] name = "prost-types" -version = "0.13.3" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4759aa0d3a6232fb8dbdb97b61de2c20047c68aca932c7ed76da9d788508d670" +checksum = "cc2f1e56baa61e93533aebc21af4d2134b70f66275e0fcdf3cbe43d77ff7e8fc" dependencies = [ - "prost 0.13.3", + "prost 0.13.4", ] [[package]] @@ -4312,9 +4316,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.18" +version = "0.23.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c9cc1d47e243d655ace55ed38201c19ae02c148ae56412ab8750e8f0166ab7f" +checksum = "934b404430bb06b3fae2cba809eb45a1ab1aecd64491213d7c3301b88393f8d1" dependencies = [ "log", "once_cell", @@ -4795,7 +4799,7 @@ dependencies = [ "bytemuck_derive", "bzip2", "crossbeam-channel", - "dashmap", + "dashmap 5.5.3", "index_list", "indexmap 2.6.0", "itertools 0.12.1", @@ -4911,7 +4915,7 @@ checksum = "e4042e0b2c2b44db89d59eab832b4a66c6fc03e2a7e9383e7b75faf76d162c61" dependencies = [ "async-trait", "bincode", - "dashmap", + "dashmap 5.5.3", "futures", "futures-util", "indexmap 2.6.0", @@ -5053,7 +5057,7 @@ dependencies = [ "bs58 0.4.0", "bytes", "chrono", - "dashmap", + "dashmap 5.5.3", "futures", "itertools 0.10.5", "lazy_static", @@ -5094,7 +5098,7 @@ dependencies = [ "bs58 0.4.0", "bytes", "chrono", - "dashmap", + "dashmap 5.5.3", "futures", "itertools 0.10.5", "lazy_static", @@ -5137,7 +5141,7 @@ dependencies = [ "bs58 0.4.0", "bytes", "chrono", - "dashmap", + "dashmap 5.5.3", "futures", "itertools 0.10.5", "lazy_static", @@ -5205,7 +5209,7 @@ dependencies = [ "bincode", "bytes", "chrono", - "dashmap", + "dashmap 5.5.3", "futures", "futures-util", "itertools 0.10.5", @@ -5241,7 +5245,7 @@ dependencies = [ "bs58 0.4.0", "bytes", "chrono", - "dashmap", + "dashmap 5.5.3", "derive_more", "futures", "geyser-grpc-connector", @@ -5283,7 +5287,7 @@ dependencies = [ "bs58 0.4.0", "bytes", "chrono", - "dashmap", + "dashmap 5.5.3", "futures", "itertools 0.10.5", "log", @@ -5311,7 +5315,7 @@ dependencies = [ name = "solana-lite-rpc-prioritization-fees" version = "0.3.0" dependencies = [ - "dashmap", + "dashmap 5.5.3", "itertools 0.10.5", "jsonrpsee", "lazy_static", @@ -5338,7 +5342,7 @@ dependencies = [ "bytes", "chrono", "clap 4.5.21", - "dashmap", + "dashmap 5.5.3", "dotenv", "futures", "itertools 0.10.5", @@ -5379,7 +5383,7 @@ dependencies = [ "clap 4.5.21", "countmap", "crossbeam-channel", - "dashmap", + "dashmap 5.5.3", "dotenv", "futures", "itertools 0.10.5", @@ -5420,7 +5424,7 @@ dependencies = [ "chrono", "countmap", "crossbeam-channel", - "dashmap", + "dashmap 5.5.3", "futures", "itertools 0.10.5", "lazy_static", @@ -5458,7 +5462,7 @@ dependencies = [ "bs58 0.4.0", "bytes", "chrono", - "dashmap", + "dashmap 5.5.3", "derive_more", "futures", "itertools 0.10.5", @@ -5958,7 +5962,7 @@ dependencies = [ "async-channel", "bytes", "crossbeam-channel", - "dashmap", + "dashmap 5.5.3", "futures-util", "histogram", "indexmap 2.6.0", @@ -6304,9 +6308,9 @@ dependencies = [ [[package]] name = "spl-memo" -version = "4.0.4" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a49f49f95f2d02111ded31696ab38a081fab623d4c76bd4cb074286db4560836" +checksum = "f0f180b03318c3dbab3ef4e1e4d46d5211ae3c780940dd0a28695aba4b59a75a" dependencies = [ "solana-program 1.18.26", ] @@ -6832,12 +6836,11 @@ dependencies = [ [[package]] name = "tokio-rustls" -version = "0.26.0" +version = "0.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" +checksum = "5f6d0975eaace0cf0fcadee4e4aaa5da15b5c079146f2cffb67c113be122bf37" dependencies = [ - "rustls 0.23.18", - "rustls-pki-types", + "rustls 0.23.19", "tokio", ] @@ -6946,7 +6949,7 @@ dependencies = [ "bytes", "flate2", "h2 0.4.7", - "http 1.1.0", + "http 1.2.0", "http-body 1.0.1", "http-body-util", "hyper 1.5.1", @@ -6954,12 +6957,12 @@ dependencies = [ "hyper-util", "percent-encoding", "pin-project", - "prost 0.13.3", + "prost 0.13.4", "rustls-native-certs 0.8.1", "rustls-pemfile 2.2.0", "socket2", "tokio", - "tokio-rustls 0.26.0", + "tokio-rustls 0.26.1", "tokio-stream", "tower 0.4.13", "tower-layer", @@ -6975,8 +6978,8 @@ checksum = "9557ce109ea773b399c9b9e5dca39294110b74f1f342cb347a80d1fce8c26a11" dependencies = [ "prettyplease 0.2.25", "proc-macro2", - "prost-build 0.13.3", - "prost-types 0.13.3", + "prost-build 0.13.4", + "prost-types 0.13.4", "quote", "syn 2.0.89", ] @@ -6988,7 +6991,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1eaf34ddb812120f5c601162d5429933c9b527d901ab0e7f930d3147e33a09b2" dependencies = [ "async-stream", - "prost 0.13.3", + "prost 0.13.4", "tokio", "tokio-stream", "tonic", @@ -7816,7 +7819,7 @@ source = "git+https://github.com/rpcpool/yellowstone-grpc.git?tag=v2.0.0+solana. dependencies = [ "anyhow", "bincode", - "prost 0.13.3", + "prost 0.13.4", "protobuf-src", "solana-account-decoder", "solana-sdk", From 56c5fd852c83007db1e9c4d293165265bd099c8a Mon Sep 17 00:00:00 2001 From: GroovieGermanikus Date: Mon, 9 Dec 2024 13:04:30 +0100 Subject: [PATCH 4/6] use connector tag --- Cargo.lock | 78 +++++++++++++----------------------------------------- Cargo.toml | 5 ++-- 2 files changed, 20 insertions(+), 63 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d926ab0b..2732f4e8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -583,7 +583,7 @@ dependencies = [ "bincode", "clap 4.5.21", "csv", - "dashmap 5.5.3", + "dashmap", "dirs", "futures", "itertools 0.10.5", @@ -1305,7 +1305,7 @@ dependencies = [ "anyhow", "bincode", "clap 4.5.21", - "dashmap 5.5.3", + "dashmap", "futures", "itertools 0.10.5", "log", @@ -1369,20 +1369,6 @@ dependencies = [ "rayon", ] -[[package]] -name = "dashmap" -version = "6.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" -dependencies = [ - "cfg-if", - "crossbeam-utils", - "hashbrown 0.14.5", - "lock_api", - "once_cell", - "parking_lot_core", -] - [[package]] name = "data-encoding" version = "2.6.0" @@ -1877,22 +1863,14 @@ dependencies = [ [[package]] name = "geyser-grpc-connector" version = "0.11.0+yellowstone.2.0.0" -source = "git+https://github.com/blockworks-foundation/geyser-grpc-connector.git?branch=2.0.16#9ce723fb06cdcd1981f7da7acffda59f5b4a613d" +source = "git+https://github.com/blockworks-foundation/geyser-grpc-connector.git?tag=v0.11.0+yellowstone.2.0.0+solana.2.0#78d33f3d3c55d0af6d0c02e4e0de8317f93c5c54" dependencies = [ "anyhow", "async-stream", - "base64 0.21.7", - "bincode", - "clap 4.5.21", - "csv", - "dashmap 6.1.0", - "derive_more", "futures", "itertools 0.10.5", "log", - "lz4_flex", "merge-streams", - "regex", "solana-sdk", "tokio", "tonic", @@ -2926,7 +2904,7 @@ dependencies = [ "chrono", "clap 4.5.21", "const_env", - "dashmap 5.5.3", + "dashmap", "dotenv", "futures", "futures-util", @@ -3007,15 +2985,6 @@ dependencies = [ "libc", ] -[[package]] -name = "lz4_flex" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75761162ae2b0e580d7e7c390558127e5f01b4194debd6221fd8c207fc80e3f5" -dependencies = [ - "twox-hash", -] - [[package]] name = "matchers" version = "0.1.0" @@ -4799,7 +4768,7 @@ dependencies = [ "bytemuck_derive", "bzip2", "crossbeam-channel", - "dashmap 5.5.3", + "dashmap", "index_list", "indexmap 2.6.0", "itertools 0.12.1", @@ -4915,7 +4884,7 @@ checksum = "e4042e0b2c2b44db89d59eab832b4a66c6fc03e2a7e9383e7b75faf76d162c61" dependencies = [ "async-trait", "bincode", - "dashmap 5.5.3", + "dashmap", "futures", "futures-util", "indexmap 2.6.0", @@ -5057,7 +5026,7 @@ dependencies = [ "bs58 0.4.0", "bytes", "chrono", - "dashmap 5.5.3", + "dashmap", "futures", "itertools 0.10.5", "lazy_static", @@ -5098,7 +5067,7 @@ dependencies = [ "bs58 0.4.0", "bytes", "chrono", - "dashmap 5.5.3", + "dashmap", "futures", "itertools 0.10.5", "lazy_static", @@ -5141,7 +5110,7 @@ dependencies = [ "bs58 0.4.0", "bytes", "chrono", - "dashmap 5.5.3", + "dashmap", "futures", "itertools 0.10.5", "lazy_static", @@ -5209,7 +5178,7 @@ dependencies = [ "bincode", "bytes", "chrono", - "dashmap 5.5.3", + "dashmap", "futures", "futures-util", "itertools 0.10.5", @@ -5245,7 +5214,7 @@ dependencies = [ "bs58 0.4.0", "bytes", "chrono", - "dashmap 5.5.3", + "dashmap", "derive_more", "futures", "geyser-grpc-connector", @@ -5287,7 +5256,7 @@ dependencies = [ "bs58 0.4.0", "bytes", "chrono", - "dashmap 5.5.3", + "dashmap", "futures", "itertools 0.10.5", "log", @@ -5315,7 +5284,7 @@ dependencies = [ name = "solana-lite-rpc-prioritization-fees" version = "0.3.0" dependencies = [ - "dashmap 5.5.3", + "dashmap", "itertools 0.10.5", "jsonrpsee", "lazy_static", @@ -5342,7 +5311,7 @@ dependencies = [ "bytes", "chrono", "clap 4.5.21", - "dashmap 5.5.3", + "dashmap", "dotenv", "futures", "itertools 0.10.5", @@ -5383,7 +5352,7 @@ dependencies = [ "clap 4.5.21", "countmap", "crossbeam-channel", - "dashmap 5.5.3", + "dashmap", "dotenv", "futures", "itertools 0.10.5", @@ -5424,7 +5393,7 @@ dependencies = [ "chrono", "countmap", "crossbeam-channel", - "dashmap 5.5.3", + "dashmap", "futures", "itertools 0.10.5", "lazy_static", @@ -5462,7 +5431,7 @@ dependencies = [ "bs58 0.4.0", "bytes", "chrono", - "dashmap 5.5.3", + "dashmap", "derive_more", "futures", "itertools 0.10.5", @@ -5962,7 +5931,7 @@ dependencies = [ "async-channel", "bytes", "crossbeam-channel", - "dashmap 5.5.3", + "dashmap", "futures-util", "histogram", "indexmap 2.6.0", @@ -6947,7 +6916,6 @@ dependencies = [ "axum", "base64 0.22.1", "bytes", - "flate2", "h2 0.4.7", "http 1.2.0", "http-body 1.0.1", @@ -7182,16 +7150,6 @@ dependencies = [ "webpki-roots 0.24.0", ] -[[package]] -name = "twox-hash" -version = "1.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" -dependencies = [ - "cfg-if", - "static_assertions", -] - [[package]] name = "typenum" version = "1.17.0" diff --git a/Cargo.toml b/Cargo.toml index 9a7bcf1e..dbf72a3e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -57,7 +57,7 @@ solana-accounts-db = "~2.0.16" solana-address-lookup-table-program = "~2.0.16" yellowstone-grpc-proto = { git = "https://github.com/rpcpool/yellowstone-grpc.git", tag = "v2.0.0+solana.2.0.16" } -geyser-grpc-connector = { git = "https://github.com/blockworks-foundation/geyser-grpc-connector.git", branch = "2.0.16" } # FIXME use tag instead of branch +geyser-grpc-connector = { git = "https://github.com/blockworks-foundation/geyser-grpc-connector.git", tag = "v0.11.0+yellowstone.2.0.0+solana.2.0" } itertools = "0.10.5" @@ -93,10 +93,9 @@ jemallocator = "0.5" quinn = "0.10.2" quinn-proto = "0.10.5" rustls = { version = "0.21.7", default-features = false, features = ["quic"] } -rcgen = "0.9.3" - tonic = "0.12" tonic-health = "0.12" +rcgen = "0.9.3" [patch.crates-io.curve25519-dalek] git = "https://github.com/anza-xyz/curve25519-dalek.git" From 4b68f6b52cf55219046c87d5341777f5066d55b7 Mon Sep 17 00:00:00 2001 From: GroovieGermanikus Date: Mon, 9 Dec 2024 13:17:23 +0100 Subject: [PATCH 5/6] clippy+fmt --- accounts/src/inmemory_account_store.rs | 8 +++++--- .../src/address_lookup_table_store.rs | 14 ++++---------- .../examples/bench_postgres_simple_select.rs | 2 +- 3 files changed, 10 insertions(+), 14 deletions(-) diff --git a/accounts/src/inmemory_account_store.rs b/accounts/src/inmemory_account_store.rs index 065366b6..d2dbfb14 100644 --- a/accounts/src/inmemory_account_store.rs +++ b/accounts/src/inmemory_account_store.rs @@ -92,10 +92,12 @@ impl AccountDataByCommitment { .unwrap_or(true); let mut updated = false; - if !self.processed_accounts.contains_key(&data.updated_slot) { + + if let std::collections::btree_map::Entry::Vacant(e) = + self.processed_accounts.entry(data.updated_slot) + { // processed not present for the slot - self.processed_accounts - .insert(data.updated_slot, data.clone()); + e.insert(data.clone()); updated = true; } diff --git a/address-lookup-tables/src/address_lookup_table_store.rs b/address-lookup-tables/src/address_lookup_table_store.rs index e0e28d33..4f359a73 100644 --- a/address-lookup-tables/src/address_lookup_table_store.rs +++ b/address-lookup-tables/src/address_lookup_table_store.rs @@ -170,17 +170,11 @@ impl AddressLookupTableStore { } pub async fn get_accounts(&self, alt: &Pubkey, accounts: &[u8]) -> Vec { - match self - .get_accounts_in_address_lookup_table(alt, accounts) + self.get_accounts_in_address_lookup_table(alt, accounts) .await - { - Some(x) => x, - None => { - // forget alt for now, start loading it for next blocks - // loading should be on its way - vec![] - } - } + // fallback to empty vec; forget alt for now, start loading it for next blocks + // loading should be on its way + .unwrap_or_default() } pub fn serialize_binary(&self) -> Vec { diff --git a/blockstore/examples/bench_postgres_simple_select.rs b/blockstore/examples/bench_postgres_simple_select.rs index 268c0696..ee070aad 100644 --- a/blockstore/examples/bench_postgres_simple_select.rs +++ b/blockstore/examples/bench_postgres_simple_select.rs @@ -27,7 +27,7 @@ pub async fn main() -> anyhow::Result<()> { } async fn parallel_queries(pg_session_config: PostgresSessionConfig) { - let many_sessions = vec![ + let many_sessions = [ PostgresSession::new(pg_session_config.clone()) .await .unwrap(), From 3b91ec7b0b800aeec56cea3b08eab1a782adec7e Mon Sep 17 00:00:00 2001 From: GroovieGermanikus Date: Mon, 9 Dec 2024 13:25:01 +0100 Subject: [PATCH 6/6] docker: use 1.81.0 for building --- Dockerfile | 2 +- Dockerfile-benchrunner | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 1e9e42c5..e949214a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # syntax = docker/dockerfile:1.2 -FROM rust:1.75.0 as base +FROM rust:1.81.0 as base RUN cargo install cargo-chef@0.1.62 --locked RUN rustup component add rustfmt RUN apt-get update && apt-get install -y clang cmake ssh diff --git a/Dockerfile-benchrunner b/Dockerfile-benchrunner index 866eb7d0..64035b8f 100644 --- a/Dockerfile-benchrunner +++ b/Dockerfile-benchrunner @@ -1,5 +1,5 @@ # syntax = docker/dockerfile:1.2 -FROM rust:1.75.0 as base +FROM rust:1.81.0 as base RUN cargo install cargo-chef@0.1.62 --locked RUN rustup component add rustfmt RUN apt-get update && apt-get install -y clang cmake ssh