Trait sc_statement_store::StatementStore
pub trait StatementStore: Send + Sync {
// Required methods
fn statements(&self) -> Result<Vec<([u8; 32], Statement)>, Error>;
fn statement(&self, hash: &[u8; 32]) -> Result<Option<Statement>, Error>;
fn broadcasts(
&self,
match_all_topics: &[[u8; 32]],
) -> Result<Vec<Vec<u8>>, Error>;
fn posted(
&self,
match_all_topics: &[[u8; 32]],
dest: [u8; 32],
) -> Result<Vec<Vec<u8>>, Error>;
fn posted_clear(
&self,
match_all_topics: &[[u8; 32]],
dest: [u8; 32],
) -> Result<Vec<Vec<u8>>, Error>;
fn submit(
&self,
statement: Statement,
source: StatementSource,
) -> SubmitResult;
fn remove(&self, hash: &[u8; 32]) -> Result<(), Error>;
}
Expand description
Statement store API.
Required Methods§
fn broadcasts(
&self,
match_all_topics: &[[u8; 32]],
) -> Result<Vec<Vec<u8>>, Error>
fn broadcasts( &self, match_all_topics: &[[u8; 32]], ) -> Result<Vec<Vec<u8>>, Error>
Return the data of all known statements which include all topics and have no DecryptionKey
field.
fn posted(
&self,
match_all_topics: &[[u8; 32]],
dest: [u8; 32],
) -> Result<Vec<Vec<u8>>, Error>
fn posted( &self, match_all_topics: &[[u8; 32]], dest: [u8; 32], ) -> Result<Vec<Vec<u8>>, Error>
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).
fn posted_clear(
&self,
match_all_topics: &[[u8; 32]],
dest: [u8; 32],
) -> Result<Vec<Vec<u8>>, Error>
fn posted_clear( &self, match_all_topics: &[[u8; 32]], dest: [u8; 32], ) -> Result<Vec<Vec<u8>>, Error>
Return the decrypted data of all known statements whose decryption key is identified as
dest
. The key must be available to the client.
fn submit(&self, statement: Statement, source: StatementSource) -> SubmitResult
fn submit(&self, statement: Statement, source: StatementSource) -> SubmitResult
Submit a statement.