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::{LeaderProvider, LeaderTarget, RecentBlockhashProvider};
24pub use routing::{RoutingPolicy, SignatureDeduper};
25pub use signing::SignerRef;
26pub use submit::{
27    DirectSubmitConfig, RpcSubmitConfig, SignedTx, SubmitError, SubmitMode, SubmitReliability,
28    SubmitResult, SubmitTransportError, TxFlowSafetyIssue, TxFlowSafetyQuality,
29    TxFlowSafetySnapshot, TxFlowSafetySource, TxSubmitClient, TxSubmitContext, TxSubmitGuardPolicy,
30    TxSubmitOutcome, TxSubmitOutcomeKind, TxSubmitOutcomeReporter, TxSubmitSuppressionKey,
31    TxToxicFlowRejectionReason, TxToxicFlowTelemetry, TxToxicFlowTelemetrySnapshot,
32};
33#[cfg(feature = "kernel-bypass")]
34pub use submit::{KernelBypassDatagramSocket, KernelBypassDirectTransport};