pub trait Storage {
    // Required methods
    fn get(&self, key: &[u8]) -> Option<Vec<u8>>;
    fn set(&mut self, key: &[u8], value: &[u8]);
    fn remove(&mut self, key: &[u8]);
}
Expand description

Storage provides read and write access to a persistent storage. If you only want to provide read access, provide &Storage

Required Methods§

source

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

Returns None when key does not exist. Returns Some(Vec) when key exists.

Note: Support for differentiating between a non-existent key and a key with empty value is not great yet and might not be possible in all backends. But we’re trying to get there.

source

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

source

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

Removes a database entry at key.

The current interface does not allow to differentiate between a key that existed before and one that didn’t exist. See https://github.com/CosmWasm/cosmwasm/issues/290

Implementors§