referrerpolicy=no-referrer-when-downgrade
sc_rpc::statement

Trait StatementApiServer

pub trait StatementApiServer:
    Sized
    + Send
    + Sync
    + 'static {
    // Required methods
    fn dump(&self, ext: &Extensions) -> Result<Vec<Bytes>, ErrorObject<'static>>;
    fn broadcasts(
        &self,
        match_all_topics: Vec<[u8; 32]>,
    ) -> Result<Vec<Bytes>, ErrorObject<'static>>;
    fn posted(
        &self,
        match_all_topics: Vec<[u8; 32]>,
        dest: [u8; 32],
    ) -> Result<Vec<Bytes>, ErrorObject<'static>>;
    fn posted_clear(
        &self,
        match_all_topics: Vec<[u8; 32]>,
        dest: [u8; 32],
    ) -> Result<Vec<Bytes>, ErrorObject<'static>>;
    fn broadcasts_stmt(
        &self,
        match_all_topics: Vec<[u8; 32]>,
    ) -> Result<Vec<Bytes>, ErrorObject<'static>>;
    fn posted_stmt(
        &self,
        match_all_topics: Vec<[u8; 32]>,
        dest: [u8; 32],
    ) -> Result<Vec<Bytes>, ErrorObject<'static>>;
    fn posted_clear_stmt(
        &self,
        match_all_topics: Vec<[u8; 32]>,
        dest: [u8; 32],
    ) -> Result<Vec<Bytes>, ErrorObject<'static>>;
    fn submit(&self, encoded: Bytes) -> Result<(), ErrorObject<'static>>;
    fn remove(
        &self,
        statement_hash: [u8; 32],
    ) -> Result<(), ErrorObject<'static>>;

    // Provided method
    fn into_rpc(self) -> RpcModule<Self> { ... }
}
Expand description

Re-export the API for backward compatibility. Server trait implementation for the StatementApi RPC API.

Required Methods§

fn dump(&self, ext: &Extensions) -> Result<Vec<Bytes>, ErrorObject<'static>>

Return all statements, SCALE-encoded.

fn broadcasts( &self, match_all_topics: Vec<[u8; 32]>, ) -> Result<Vec<Bytes>, ErrorObject<'static>>

Return the data of all known statements which include all topics and have no DecryptionKey field.

To get the statement, and not just the data, use statement_broadcastsStatement.

fn posted( &self, match_all_topics: Vec<[u8; 32]>, dest: [u8; 32], ) -> Result<Vec<Bytes>, ErrorObject<'static>>

Return the data of all known statements whose decryption key is identified as dest (this will generally be the public key or a hash thereof for symmetric ciphers, or a hash of the private key for symmetric ciphers).

To get the statement, and not just the data, use statement_postedStatement.

fn posted_clear( &self, match_all_topics: Vec<[u8; 32]>, dest: [u8; 32], ) -> Result<Vec<Bytes>, ErrorObject<'static>>

Return the decrypted data of all known statements whose decryption key is identified as dest. The key must be available to the client.

To get the statement, and not just the data, use statement_postedClearStatement.

fn broadcasts_stmt( &self, match_all_topics: Vec<[u8; 32]>, ) -> Result<Vec<Bytes>, ErrorObject<'static>>

Return all known statements which include all topics and have no DecryptionKey field.

This returns the SCALE-encoded statements not just the data as in rpc statement_broadcasts.

fn posted_stmt( &self, match_all_topics: Vec<[u8; 32]>, dest: [u8; 32], ) -> Result<Vec<Bytes>, ErrorObject<'static>>

Return all known statements whose decryption key is identified as dest (this will generally be the public key or a hash thereof for symmetric ciphers, or a hash of the private key for symmetric ciphers).

This returns the SCALE-encoded statements not just the data as in rpc statement_posted.

fn posted_clear_stmt( &self, match_all_topics: Vec<[u8; 32]>, dest: [u8; 32], ) -> Result<Vec<Bytes>, ErrorObject<'static>>

Return the statement and the decrypted data of all known statements whose decryption key is identified as dest. The key must be available to the client.

This returns for each statement: the SCALE-encoded statement concatenated to the decrypted data. Not just the data as in rpc statement_postedClear.

fn submit(&self, encoded: Bytes) -> Result<(), ErrorObject<'static>>

Submit a pre-encoded statement.

fn remove(&self, statement_hash: [u8; 32]) -> Result<(), ErrorObject<'static>>

Remove a statement from the store.

Provided Methods§

fn into_rpc(self) -> RpcModule<Self>

Collects all the methods and subscriptions defined in the trait and adds them into a single RpcModule.

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.

Implementors§