pub trait IndexerApiServer:
Sized
+ Send
+ Sync
+ 'static {
// Required methods
fn get_owned_objects<'life0, 'async_trait>(
&'life0 self,
address: IotaAddress,
query: Option<IotaObjectResponseQuery>,
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: IotaTransactionBlockResponseQuery,
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<IotaObjectResponse>> + 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: IotaAddress,
query: Option<IotaObjectResponseQuery>,
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: IotaAddress,
query: Option<IotaObjectResponseQuery>,
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 iotax_queryObjects if this is a concern.
Sourcefn query_transaction_blocks<'life0, 'async_trait>(
&'life0 self,
query: IotaTransactionBlockResponseQuery,
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: IotaTransactionBlockResponseQuery,
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<IotaObjectResponse>> + 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<IotaObjectResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Return the dynamic field object information for a specified object
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 IOTA 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 IOTA 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.