| Crates.io | yellowstone-vixen-parser |
| lib.rs | yellowstone-vixen-parser |
| version | 0.5.0 |
| created_at | 2025-02-28 09:42:51.349806+00 |
| updated_at | 2025-09-15 11:52:42.114307+00 |
| description | Vixen program parsers for the solana program library. |
| homepage | |
| repository | https://github.com/rpcpool/yellowstone-vixen |
| max_upload_size | |
| id | 1572617 |
| size | 404,725 |
This crate provides several account parsers, such as Token and TokenExtension. These parsers can be imported from this crate and used within yellowstone-vixen.
cargo add yellowstone-vixen-parser
use std::path::PathBuf;
use clap::Parser as _;
use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt};
use yellowstone_vixen::{self as vixen, Pipeline};
use yellowstone_vixen_parser::{
token_extension_program::{
AccountParser as TokenExtensionProgramAccParser,
InstructionParser as TokenExtensionProgramIxParser,
},
token_program::{
AccountParser as TokenProgramAccParser, InstructionParser as TokenProgramIxParser,
},
};
fn main() {
tracing_subscriber::registry()
.with(tracing_subscriber::EnvFilter::from_default_env())
.with(tracing_subscriber::fmt::layer())
.init();
let Opts { config } = Opts::parse();
let config = std::fs::read_to_string(config).expect("Error reading config file");
let config = toml::from_str(&config).expect("Error parsing config");
vixen::Runtime::builder()
.account(Pipeline::new(TokenExtensionProgramAccParser, [Handler]))
.account(Pipeline::new(TokenProgramAccParser, [Handler]))
.instruction(Pipeline::new(TokenExtensionProgramIxParser, [Handler]))
.instruction(Pipeline::new(TokenProgramIxParser, [Handler]))
.metrics(vixen::metrics::Prometheus)
.build(config)
.run();
}