pub trait OffchainStorage: Clone + Send + Sync {
    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>>;
    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>>

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§