Trait AuthorApiServer
pub trait AuthorApiServer<Hash, BlockHash>:
Sized
+ Send
+ Sync
+ 'static {
// Required methods
fn submit_extrinsic<'life0, 'async_trait>(
&'life0 self,
extrinsic: Bytes,
) -> Pin<Box<dyn Future<Output = Result<Hash, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait,
Self: 'async_trait;
fn insert_key(
&self,
ext: &Extensions,
key_type: String,
suri: String,
public: Bytes,
) -> Result<(), Error>;
fn rotate_keys(&self, ext: &Extensions) -> Result<Bytes, Error>;
fn has_session_keys(
&self,
ext: &Extensions,
session_keys: Bytes,
) -> Result<bool, Error>;
fn has_key(
&self,
ext: &Extensions,
public_key: Bytes,
key_type: String,
) -> Result<bool, Error>;
fn pending_extrinsics(&self) -> Result<Vec<Bytes>, Error>;
fn remove_extrinsic(
&self,
ext: &Extensions,
bytes_or_hash: Vec<ExtrinsicOrHash<Hash>>,
) -> Result<Vec<Hash>, Error>;
fn watch_extrinsic(
&self,
subscription_sink: PendingSubscriptionSink,
bytes: Bytes,
);
// Provided method
fn into_rpc(self) -> RpcModule<Self>
where Hash: Send + Sync + 'static + DeserializeOwned + Clone + Serialize,
BlockHash: Send + Sync + 'static + Serialize { ... }
}
Expand description
Re-export the API for backward compatibility.
Server trait implementation for the AuthorApi
RPC API.
Required Methods§
fn submit_extrinsic<'life0, 'async_trait>(
&'life0 self,
extrinsic: Bytes,
) -> Pin<Box<dyn Future<Output = Result<Hash, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn submit_extrinsic<'life0, 'async_trait>(
&'life0 self,
extrinsic: Bytes,
) -> Pin<Box<dyn Future<Output = Result<Hash, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Submit hex-encoded extrinsic for inclusion in block.
fn insert_key(
&self,
ext: &Extensions,
key_type: String,
suri: String,
public: Bytes,
) -> Result<(), Error>
fn insert_key( &self, ext: &Extensions, key_type: String, suri: String, public: Bytes, ) -> Result<(), Error>
Insert a key into the keystore.
fn rotate_keys(&self, ext: &Extensions) -> Result<Bytes, Error>
fn rotate_keys(&self, ext: &Extensions) -> Result<Bytes, Error>
Generate new session keys and returns the corresponding public keys.
fn has_session_keys(
&self,
ext: &Extensions,
session_keys: Bytes,
) -> Result<bool, Error>
fn has_session_keys( &self, ext: &Extensions, session_keys: Bytes, ) -> Result<bool, Error>
Checks if the keystore has private keys for the given session public keys.
session_keys
is the SCALE encoded session keys object from the runtime.
Returns true
iff all private keys could be found.
fn has_key(
&self,
ext: &Extensions,
public_key: Bytes,
key_type: String,
) -> Result<bool, Error>
fn has_key( &self, ext: &Extensions, public_key: Bytes, key_type: String, ) -> Result<bool, Error>
Checks if the keystore has private keys for the given public key and key type.
Returns true
if a private key could be found.
fn pending_extrinsics(&self) -> Result<Vec<Bytes>, Error>
fn pending_extrinsics(&self) -> Result<Vec<Bytes>, Error>
Returns all pending extrinsics, potentially grouped by sender.
fn remove_extrinsic(
&self,
ext: &Extensions,
bytes_or_hash: Vec<ExtrinsicOrHash<Hash>>,
) -> Result<Vec<Hash>, Error>
fn remove_extrinsic( &self, ext: &Extensions, bytes_or_hash: Vec<ExtrinsicOrHash<Hash>>, ) -> Result<Vec<Hash>, Error>
Remove given extrinsic from the pool and temporarily ban it to prevent reimporting.
fn watch_extrinsic(
&self,
subscription_sink: PendingSubscriptionSink,
bytes: Bytes,
)
fn watch_extrinsic( &self, subscription_sink: PendingSubscriptionSink, bytes: Bytes, )
Submit an extrinsic to watch.
See TransactionStatus
for details on
transaction life cycle.
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.