Trait SearcherService

Source
pub trait SearcherService:
    Send
    + Sync
    + 'static {
    type SubscribeBundleResultsStream: Stream<Item = Result<BundleResult, Status>> + Send + 'static;

    // Required methods
    fn subscribe_bundle_results<'life0, 'async_trait>(
        &'life0 self,
        request: Request<SubscribeBundleResultsRequest>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<Self::SubscribeBundleResultsStream>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn send_bundle<'life0, 'async_trait>(
        &'life0 self,
        request: Request<SendBundleRequest>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<SendBundleResponse>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn get_next_scheduled_leader<'life0, 'async_trait>(
        &'life0 self,
        request: Request<NextScheduledLeaderRequest>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<NextScheduledLeaderResponse>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn get_connected_leaders<'life0, 'async_trait>(
        &'life0 self,
        request: Request<ConnectedLeadersRequest>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<ConnectedLeadersResponse>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn get_connected_leaders_regioned<'life0, 'async_trait>(
        &'life0 self,
        request: Request<ConnectedLeadersRegionedRequest>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<ConnectedLeadersRegionedResponse>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn get_tip_accounts<'life0, 'async_trait>(
        &'life0 self,
        request: Request<GetTipAccountsRequest>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<GetTipAccountsResponse>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn get_regions<'life0, 'async_trait>(
        &'life0 self,
        request: Request<GetRegionsRequest>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<GetRegionsResponse>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}
Expand description

Generated trait containing gRPC methods that should be implemented for use with SearcherServiceServer.

Required Associated Types§

Source

type SubscribeBundleResultsStream: Stream<Item = Result<BundleResult, Status>> + Send + 'static

Server streaming response type for the SubscribeBundleResults method.

Required Methods§

Source

fn subscribe_bundle_results<'life0, 'async_trait>( &'life0 self, request: Request<SubscribeBundleResultsRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<Self::SubscribeBundleResultsStream>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Searchers can invoke this endpoint to subscribe to their respective bundle results. A success result would indicate the bundle won its state auction and was submitted to the validator.

Source

fn send_bundle<'life0, 'async_trait>( &'life0 self, request: Request<SendBundleRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<SendBundleResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn get_next_scheduled_leader<'life0, 'async_trait>( &'life0 self, request: Request<NextScheduledLeaderRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<NextScheduledLeaderResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Returns the next scheduled leader connected to the block engine.

Source

fn get_connected_leaders<'life0, 'async_trait>( &'life0 self, request: Request<ConnectedLeadersRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<ConnectedLeadersResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Returns leader slots for connected jito validators during the current epoch. Only returns data for this region.

Source

fn get_connected_leaders_regioned<'life0, 'async_trait>( &'life0 self, request: Request<ConnectedLeadersRegionedRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<ConnectedLeadersRegionedResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Returns leader slots for connected jito validators during the current epoch.

Source

fn get_tip_accounts<'life0, 'async_trait>( &'life0 self, request: Request<GetTipAccountsRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetTipAccountsResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Returns the tip accounts searchers shall transfer funds to for the leader to claim.

Source

fn get_regions<'life0, 'async_trait>( &'life0 self, request: Request<GetRegionsRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetRegionsResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Returns region the client is directly connected to, along with all available regions

Implementors§