pub trait IndexerApiServer:
Sized
+ Send
+ Sync
+ 'static {
// Required methods
fn get_owned_objects<'life0, 'async_trait>(
&'life0 self,
address: SuiAddress,
query: Option<SuiObjectResponseQuery>,
cursor: Option<ObjectID>,
limit: Option<usize>,
) -> Pin<Box<dyn Future<Output = RpcResult<ObjectsPage>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn query_transaction_blocks<'life0, 'async_trait>(
&'life0 self,
query: SuiTransactionBlockResponseQuery,
cursor: Option<TransactionDigest>,
limit: Option<usize>,
descending_order: Option<bool>,
) -> Pin<Box<dyn Future<Output = RpcResult<TransactionBlocksPage>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn query_events<'life0, 'async_trait>(
&'life0 self,
query: EventFilter,
cursor: Option<EventID>,
limit: Option<usize>,
descending_order: Option<bool>,
) -> Pin<Box<dyn Future<Output = RpcResult<EventPage>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_dynamic_fields<'life0, 'async_trait>(
&'life0 self,
parent_object_id: ObjectID,
cursor: Option<ObjectID>,
limit: Option<usize>,
) -> Pin<Box<dyn Future<Output = RpcResult<DynamicFieldPage>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_dynamic_field_object<'life0, 'async_trait>(
&'life0 self,
parent_object_id: ObjectID,
name: DynamicFieldName,
) -> Pin<Box<dyn Future<Output = RpcResult<SuiObjectResponse>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn resolve_name_service_address<'life0, 'async_trait>(
&'life0 self,
name: String,
) -> Pin<Box<dyn Future<Output = RpcResult<Option<SuiAddress>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn resolve_name_service_names<'life0, 'async_trait>(
&'life0 self,
address: SuiAddress,
cursor: Option<ObjectID>,
limit: Option<usize>,
) -> Pin<Box<dyn Future<Output = RpcResult<Page<String, ObjectID>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn subscribe_event(
&self,
subscription_sink: PendingSubscriptionSink,
filter: EventFilter,
) -> SubscriptionResult;
fn subscribe_transaction(
&self,
subscription_sink: PendingSubscriptionSink,
filter: TransactionFilter,
) -> SubscriptionResult;
// Provided method
fn into_rpc(self) -> RpcModule<Self> { ... }
}
Expand description
Server trait implementation for the IndexerApi
RPC API.
Required Methods§
Sourcefn get_owned_objects<'life0, 'async_trait>(
&'life0 self,
address: SuiAddress,
query: Option<SuiObjectResponseQuery>,
cursor: Option<ObjectID>,
limit: Option<usize>,
) -> Pin<Box<dyn Future<Output = RpcResult<ObjectsPage>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_owned_objects<'life0, 'async_trait>(
&'life0 self,
address: SuiAddress,
query: Option<SuiObjectResponseQuery>,
cursor: Option<ObjectID>,
limit: Option<usize>,
) -> Pin<Box<dyn Future<Output = RpcResult<ObjectsPage>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Return the list of objects owned by an address.
Note that if the address owns more than QUERY_MAX_RESULT_LIMIT
objects,
the pagination is not accurate, because previous page may have been updated when
the next page is fetched.
Please use suix_queryObjects if this is a concern.
Sourcefn query_transaction_blocks<'life0, 'async_trait>(
&'life0 self,
query: SuiTransactionBlockResponseQuery,
cursor: Option<TransactionDigest>,
limit: Option<usize>,
descending_order: Option<bool>,
) -> Pin<Box<dyn Future<Output = RpcResult<TransactionBlocksPage>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn query_transaction_blocks<'life0, 'async_trait>(
&'life0 self,
query: SuiTransactionBlockResponseQuery,
cursor: Option<TransactionDigest>,
limit: Option<usize>,
descending_order: Option<bool>,
) -> Pin<Box<dyn Future<Output = RpcResult<TransactionBlocksPage>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Return list of transactions for a specified query criteria.
Sourcefn query_events<'life0, 'async_trait>(
&'life0 self,
query: EventFilter,
cursor: Option<EventID>,
limit: Option<usize>,
descending_order: Option<bool>,
) -> Pin<Box<dyn Future<Output = RpcResult<EventPage>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn query_events<'life0, 'async_trait>(
&'life0 self,
query: EventFilter,
cursor: Option<EventID>,
limit: Option<usize>,
descending_order: Option<bool>,
) -> Pin<Box<dyn Future<Output = RpcResult<EventPage>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Return list of events for a specified query criteria.
Sourcefn get_dynamic_fields<'life0, 'async_trait>(
&'life0 self,
parent_object_id: ObjectID,
cursor: Option<ObjectID>,
limit: Option<usize>,
) -> Pin<Box<dyn Future<Output = RpcResult<DynamicFieldPage>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_dynamic_fields<'life0, 'async_trait>(
&'life0 self,
parent_object_id: ObjectID,
cursor: Option<ObjectID>,
limit: Option<usize>,
) -> Pin<Box<dyn Future<Output = RpcResult<DynamicFieldPage>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Return the list of dynamic field objects owned by an object.
Sourcefn get_dynamic_field_object<'life0, 'async_trait>(
&'life0 self,
parent_object_id: ObjectID,
name: DynamicFieldName,
) -> Pin<Box<dyn Future<Output = RpcResult<SuiObjectResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_dynamic_field_object<'life0, 'async_trait>(
&'life0 self,
parent_object_id: ObjectID,
name: DynamicFieldName,
) -> Pin<Box<dyn Future<Output = RpcResult<SuiObjectResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Return the dynamic field object information for a specified object
Sourcefn resolve_name_service_address<'life0, 'async_trait>(
&'life0 self,
name: String,
) -> Pin<Box<dyn Future<Output = RpcResult<Option<SuiAddress>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn resolve_name_service_address<'life0, 'async_trait>(
&'life0 self,
name: String,
) -> Pin<Box<dyn Future<Output = RpcResult<Option<SuiAddress>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Return the resolved address given resolver and name
Sourcefn resolve_name_service_names<'life0, 'async_trait>(
&'life0 self,
address: SuiAddress,
cursor: Option<ObjectID>,
limit: Option<usize>,
) -> Pin<Box<dyn Future<Output = RpcResult<Page<String, ObjectID>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn resolve_name_service_names<'life0, 'async_trait>(
&'life0 self,
address: SuiAddress,
cursor: Option<ObjectID>,
limit: Option<usize>,
) -> Pin<Box<dyn Future<Output = RpcResult<Page<String, ObjectID>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Return the resolved names given address, if multiple names are resolved, the first one is the primary name.
Sourcefn subscribe_event(
&self,
subscription_sink: PendingSubscriptionSink,
filter: EventFilter,
) -> SubscriptionResult
fn subscribe_event( &self, subscription_sink: PendingSubscriptionSink, filter: EventFilter, ) -> SubscriptionResult
Subscribe to a stream of Sui event
Sourcefn subscribe_transaction(
&self,
subscription_sink: PendingSubscriptionSink,
filter: TransactionFilter,
) -> SubscriptionResult
fn subscribe_transaction( &self, subscription_sink: PendingSubscriptionSink, filter: TransactionFilter, ) -> SubscriptionResult
Subscribe to a stream of Sui transaction effects
Provided Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.