mirror of
https://github.com/0xfnzero/solana-streamer.git
synced 2026-08-21 21:08:07 +00:00
feat: upgrade to Solana SDK v3.0.0 and
modernize dependencies - Upgrade all Solana SDK dependencies from v2.3.x to v3.0.0 - Update yellowstone-grpc dependencies from v8.0.0 to v9.0.0 - Upgrade tonic from v0.12.3 to v0.14.2 with transport features - Update prost and prost-types to v0.14.1 - Add solana-commitment-config and tonic-prost dependencies - Migrate from solana-sdk::instruction to message::compiled_instruction - Update imports for SPL token pack compatibility - Fix type compatibility issues with new gRPC and protobuf versions - Regenerate proto files with updated codegen and server implementations
This commit is contained in:
@@ -8,8 +8,8 @@ use crate::{
|
||||
use futures::{SinkExt, StreamExt};
|
||||
use log::error;
|
||||
use solana_program::pubkey;
|
||||
use solana_sdk::{pubkey::Pubkey, transaction::VersionedTransaction};
|
||||
use solana_transaction_status::TransactionWithStatusMeta;
|
||||
use solana_sdk::pubkey::Pubkey;
|
||||
use yellowstone_grpc_proto::geyser::SubscribeUpdateTransactionInfo;
|
||||
use yellowstone_grpc_proto::geyser::{
|
||||
subscribe_update::UpdateOneof, SubscribeRequest, SubscribeRequestPing,
|
||||
};
|
||||
@@ -26,7 +26,7 @@ pub enum SystemEvent {
|
||||
pub struct TransferInfo {
|
||||
pub slot: u64,
|
||||
pub signature: String,
|
||||
pub tx: Option<VersionedTransaction>,
|
||||
pub tx: Option<SubscribeUpdateTransactionInfo>,
|
||||
}
|
||||
|
||||
impl YellowstoneGrpc {
|
||||
@@ -100,22 +100,11 @@ impl YellowstoneGrpc {
|
||||
{
|
||||
match event_pretty {
|
||||
EventPretty::Transaction(transaction_pretty) => {
|
||||
let tx = yellowstone_grpc_proto::convert_from::create_tx_with_meta(
|
||||
transaction_pretty.grpc_tx,
|
||||
);
|
||||
if let Ok(tx) = tx {
|
||||
let trade_raw: TransactionWithStatusMeta = tx;
|
||||
let meta = trade_raw.get_status_meta();
|
||||
if meta.is_none() {
|
||||
return Ok(());
|
||||
}
|
||||
let transaction = trade_raw.get_transaction();
|
||||
callback(SystemEvent::NewTransfer(TransferInfo {
|
||||
slot: transaction_pretty.slot,
|
||||
signature: transaction_pretty.signature.to_string(),
|
||||
tx: Some(transaction),
|
||||
}));
|
||||
}
|
||||
callback(SystemEvent::NewTransfer(TransferInfo {
|
||||
slot: transaction_pretty.slot,
|
||||
signature: transaction_pretty.signature.to_string(),
|
||||
tx: Some(transaction_pretty.grpc_tx),
|
||||
}));
|
||||
}
|
||||
_ => {}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user