Skip to main content

sof_tx/
lib.rs

1#![forbid(unsafe_code)]
2
3//! Transaction SDK for building, signing, routing, and submitting Solana transactions.
4
5#[cfg(feature = "sof-adapters")]
6/// Optional adapters bridging SOF runtime signals into transaction SDK providers.
7pub mod adapters;
8#[allow(dead_code)]
9mod builder;
10/// Leader/blockhash provider traits and simple provider adapters.
11pub mod providers;
12/// Leader-target routing policy and signature dedupe primitives.
13pub mod routing;
14#[allow(dead_code)]
15mod signing;
16/// Submission client and mode orchestration.
17pub mod submit;
18
19pub use providers::{
20    LeaderProvider, LeaderTarget, RecentBlockhashProvider, RpcRecentBlockhashProvider,
21    RpcRecentBlockhashProviderConfig,
22};
23pub use routing::{RoutingPolicy, SignatureDeduper};
24pub use sof_types::{PubkeyBytes, SignatureBytes};
25#[cfg(feature = "jito-grpc")]
26pub use submit::JitoGrpcTransport;
27pub use submit::{
28    DirectSubmitConfig, JitoSubmitConfig, RpcSubmitConfig, SignedTx, SubmitError, SubmitMode,
29    SubmitReliability, SubmitResult, SubmitTransportError, TxFlowSafetyIssue, TxFlowSafetyQuality,
30    TxFlowSafetySnapshot, TxFlowSafetySource, TxSubmitClient, TxSubmitClientBuilder,
31    TxSubmitContext, TxSubmitGuardPolicy, TxSubmitOutcome, TxSubmitOutcomeKind,
32    TxSubmitOutcomeReporter, TxSubmitSuppressionKey, TxToxicFlowRejectionReason,
33    TxToxicFlowTelemetry, TxToxicFlowTelemetrySnapshot,
34};
35pub use submit::{
36    JitoBlockEngineEndpoint, JitoBlockEngineRegion, JitoJsonRpcTransport, JitoSubmitResponse,
37    JitoTransportConfig,
38};
39#[cfg(feature = "kernel-bypass")]
40pub use submit::{KernelBypassDatagramSocket, KernelBypassDirectTransport};