pub trait OffchainStorage: Clone + Send + Sync {
    // Required methods
    fn set(&mut self, prefix: &[u8], key: &[u8], value: &[u8]);
    fn remove(&mut self, prefix: &[u8], key: &[u8]);
    fn get(&self, prefix: &[u8], key: &[u8]) -> Option<Vec<u8, Global>>;
    fn compare_and_set(
        &mut self,
        prefix: &[u8],
        key: &[u8],
        old_value: Option<&[u8]>,
        new_value: &[u8]
    ) -> bool;
}
Expand description

Offchain DB persistent (non-fork-aware) storage.

Required Methods§

source

fn set(&mut self, prefix: &[u8], key: &[u8], value: &[u8])

Persist a value in storage under given key and prefix.

source

fn remove(&mut self, prefix: &[u8], key: &[u8])

Clear a storage entry under given key and prefix.

source

fn get(&self, prefix: &[u8], key: &[u8]) -> Option<Vec<u8, Global>>

Retrieve a value from storage under given key and prefix.

source

fn compare_and_set( &mut self, prefix: &[u8], key: &[u8], old_value: Option<&[u8]>, new_value: &[u8] ) -> bool

Replace the value in storage if given old_value matches the current one.

Returns true if the value has been set and false otherwise.

Implementors§