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/// Transaction/message builder helpers.
9pub mod 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/// Signing boundary types.
15pub mod signing;
16/// Submission client and mode orchestration.
17pub mod submit;
18
19pub use builder::{
20    BuilderError, DEFAULT_DEVELOPER_TIP_LAMPORTS, MAX_TRANSACTION_ACCOUNT_LOCKS,
21    MAX_TRANSACTION_WIRE_BYTES, TxBuilder, TxMessageVersion, UnsignedTx,
22};
23pub use providers::{
24    LeaderProvider, LeaderTarget, RecentBlockhashProvider, RpcRecentBlockhashProvider,
25    RpcRecentBlockhashProviderConfig,
26};
27pub use routing::{RoutingPolicy, SignatureDeduper};
28pub use signing::SignerRef;
29#[cfg(feature = "jito-grpc")]
30pub use submit::JitoGrpcTransport;
31pub use submit::{
32    DirectSubmitConfig, JitoSubmitConfig, RpcSubmitConfig, SignedTx, SubmitError, SubmitMode,
33    SubmitReliability, SubmitResult, SubmitTransportError, TxFlowSafetyIssue, TxFlowSafetyQuality,
34    TxFlowSafetySnapshot, TxFlowSafetySource, TxSubmitClient, TxSubmitClientBuilder,
35    TxSubmitContext, TxSubmitGuardPolicy, TxSubmitOutcome, TxSubmitOutcomeKind,
36    TxSubmitOutcomeReporter, TxSubmitSuppressionKey, TxToxicFlowRejectionReason,
37    TxToxicFlowTelemetry, TxToxicFlowTelemetrySnapshot,
38};
39pub use submit::{
40    JitoBlockEngineEndpoint, JitoBlockEngineRegion, JitoJsonRpcTransport, JitoSubmitResponse,
41    JitoTransportConfig,
42};
43#[cfg(feature = "kernel-bypass")]
44pub use submit::{KernelBypassDatagramSocket, KernelBypassDirectTransport};