pub struct TxSubmitClient { /* private fields */ }Expand description
Transaction submission client that orchestrates RPC and direct submit modes.
Implementations§
Source§impl TxSubmitClient
impl TxSubmitClient
Sourcepub fn new(
blockhash_provider: Arc<dyn RecentBlockhashProvider>,
leader_provider: Arc<dyn LeaderProvider>,
) -> Self
pub fn new( blockhash_provider: Arc<dyn RecentBlockhashProvider>, leader_provider: Arc<dyn LeaderProvider>, ) -> Self
Creates a submission client with no transports preconfigured.
Sourcepub fn with_backups(self, backups: Vec<LeaderTarget>) -> Self
pub fn with_backups(self, backups: Vec<LeaderTarget>) -> Self
Sets optional backup validators.
Sourcepub fn with_routing_policy(self, policy: RoutingPolicy) -> Self
pub fn with_routing_policy(self, policy: RoutingPolicy) -> Self
Sets routing policy.
Sourcepub fn with_dedupe_ttl(self, ttl: Duration) -> Self
pub fn with_dedupe_ttl(self, ttl: Duration) -> Self
Sets dedupe TTL.
Sourcepub fn with_rpc_transport(self, transport: Arc<dyn RpcSubmitTransport>) -> Self
pub fn with_rpc_transport(self, transport: Arc<dyn RpcSubmitTransport>) -> Self
Sets RPC transport.
Sourcepub fn with_direct_transport(
self,
transport: Arc<dyn DirectSubmitTransport>,
) -> Self
pub fn with_direct_transport( self, transport: Arc<dyn DirectSubmitTransport>, ) -> Self
Sets direct transport.
Sourcepub fn with_rpc_config(self, config: RpcSubmitConfig) -> Self
pub fn with_rpc_config(self, config: RpcSubmitConfig) -> Self
Sets RPC submit tuning.
Sourcepub const fn with_direct_config(self, config: DirectSubmitConfig) -> Self
pub const fn with_direct_config(self, config: DirectSubmitConfig) -> Self
Sets direct submit tuning.
Sourcepub const fn with_reliability(self, reliability: SubmitReliability) -> Self
pub const fn with_reliability(self, reliability: SubmitReliability) -> Self
Sets direct/hybrid reliability profile.
Sourcepub async fn submit_builder<T>(
&mut self,
builder: TxBuilder,
signers: &T,
mode: SubmitMode,
) -> Result<SubmitResult, SubmitError>
pub async fn submit_builder<T>( &mut self, builder: TxBuilder, signers: &T, mode: SubmitMode, ) -> Result<SubmitResult, SubmitError>
Builds, signs, and submits a transaction in one API call.
§Errors
Returns SubmitError when blockhash lookup, signing, dedupe, routing, or submission
fails.
Sourcepub async fn submit_transaction(
&mut self,
tx: VersionedTransaction,
mode: SubmitMode,
) -> Result<SubmitResult, SubmitError>
pub async fn submit_transaction( &mut self, tx: VersionedTransaction, mode: SubmitMode, ) -> Result<SubmitResult, SubmitError>
Submits one signed VersionedTransaction.
§Errors
Returns SubmitError when encoding, dedupe, routing, or submission fails.
Sourcepub async fn submit_signed(
&mut self,
signed_tx: SignedTx,
mode: SubmitMode,
) -> Result<SubmitResult, SubmitError>
pub async fn submit_signed( &mut self, signed_tx: SignedTx, mode: SubmitMode, ) -> Result<SubmitResult, SubmitError>
Submits externally signed transaction bytes.
§Errors
Returns SubmitError when decoding, dedupe, routing, or submission fails.
Auto Trait Implementations§
impl Freeze for TxSubmitClient
impl !RefUnwindSafe for TxSubmitClient
impl Send for TxSubmitClient
impl Sync for TxSubmitClient
impl Unpin for TxSubmitClient
impl UnsafeUnpin for TxSubmitClient
impl !UnwindSafe for TxSubmitClient
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more