substreams_solana/lib.rs
1//! # Substreams Solana Library
2//!
3//! This library provides the Substreams Solana generated Protobuf bindings. As well as a bunch of helpers that
4//! exists to make it easier to work with the generated Protobuf bindings.
5//!
6//! Below you will find information about the most important types, helpers and traits that are provided by this
7//! library.
8//!
9//! ### Block, Transaction and Instruction Views & Helpers
10//!
11//! We provide the following helpers to deal with Solana block and transaction:
12//! - [Block::transactions][substreams_solana_core::pb::sf::solana::type::v1::Block::transactions]
13//! returns an iterator over successful transactions of a block. The iterator element is a reference to
14//! [ConfirmedTransaction][substreams_solana_core::pb::sf::solana::type::v1::ConfirmedTransaction].
15//!
16//! - [Block::transactions_owned][substreams_solana_core::pb::sf::solana::type::v1::Block::transactions_owned]
17//! returns an owned iterator over successful transactions of a block. The iterator element is a owned
18//! [ConfirmedTransaction][substreams_solana_core::pb::sf::solana::type::v1::ConfirmedTransaction].
19//!
20//! - [Transaction::id][substreams_solana_core::pb::sf::solana::type::v1::Transaction::id]
21//! returns the transaction's id (first signature) as a base58 encoded string.
22//!
23//! - [Transaction::hash][substreams_solana_core::pb::sf::solana::type::v1::Transaction::hash]
24//! returns the transaction's hash (first signature) as byte array.
25//!
26//! - [ConfirmedTransaction::id][substreams_solana_core::pb::sf::solana::type::v1::ConfirmedTransaction::id]
27//! returns the transaction's id (first signature) as a base58 encoded string.
28//!
29//! - [ConfirmedTransaction::hash][substreams_solana_core::pb::sf::solana::type::v1::ConfirmedTransaction::hash]
30//! returns the transaction's hash (first signature) as byte array.
31//!
32//! - [ConfirmedTransaction::walk_instructions][substreams_solana_core::pb::sf::solana::type::v1::ConfirmedTransaction::walk_instructions]
33//! returns an iterator over all instructions, including inner instructions, of a transaction. The iterator
34//! element is a view over the instruction, has resolved accounts and provides access to the transaction, compiled
35//! instruction of the transaction. It make it much easier to walk the whole instruction tree of a
36//! transaction. Refer to the method documentation for more information about it.
37pub use substreams_solana_core::{address::Address, base58, block_view, pb, Instruction};
38pub use substreams_solana_macro::b58;