# Trait ethstore::SimpleSecretStore [−] [src]

    pub trait SimpleSecretStore: Send + Sync {
        fn insert_account(&self,
                      vault: SecretVaultRef,
                      secret: Secret,
                      password: &str)
                      -> Result<StoreAccountRef, Error>;
        fn change_password(&self,
                       account: &StoreAccountRef,
                       old_password: &str,
                       new_password: &str)
                       -> Result<(), Error>;
        fn remove_account(&self,
                      account: &StoreAccountRef,
                      password: &str)
                      -> Result<(), Error>;
        fn sign(&self,
            account: &StoreAccountRef,
            password: &str,
            message: &Message)
            -> Result<Signature, Error>;
        fn decrypt(&self,
               account: &StoreAccountRef,
               password: &str,
               shared_mac: &[u8],
               message: &[u8])
               -> Result<Vec<u8>, Error>;
        fn accounts(&self) -> Result<Vec<StoreAccountRef>, Error>;
        fn create_vault(&self, name: &str, password: &str) -> Result<(), Error>;
        fn open_vault(&self, name: &str, password: &str) -> Result<(), Error>;
        fn close_vault(&self, name: &str) -> Result<(), Error>;
        fn change_vault_password(&self,
                             name: &str,
                             password: &str,
                             new_password: &str)
                             -> Result<(), Error>;
    }

## Required Methods

### `fn insert_account(&self,
vault: SecretVaultRef,
secret: Secret,
password: &str)
-> Result<StoreAccountRef, Error>`

### `fn change_password(&self,
account: &StoreAccountRef,
old_password: &str,
new_password: &str)
-> Result<(), Error>`

### `fn remove_account(&self,
account: &StoreAccountRef,
password: &str)
-> Result<(), Error>`

### `fn sign(&self,
account: &StoreAccountRef,
password: &str,
message: &Message)
-> Result<Signature, Error>`

### `fn decrypt(&self,
account: &StoreAccountRef,
password: &str,
shared_mac: &[u8],
message: &[u8])
-> Result<Vec<u8>, Error>`

### `fn accounts(&self) -> Result<Vec<StoreAccountRef>, Error>`

### `fn create_vault(&self, name: &str, password: &str) -> Result<(), Error>`

Create new vault with given password

### `fn open_vault(&self, name: &str, password: &str) -> Result<(), Error>`

Open vault with given password

### `fn close_vault(&self, name: &str) -> Result<(), Error>`

Close vault

### `fn change_vault_password(&self,
name: &str,
password: &str,
new_password: &str)
-> Result<(), Error>`

Change vault password

## Implementors

- `impl SimpleSecretStore for EthStore`
- `impl SimpleSecretStore for EthMultiStore`

# Help

## Keyboard Shortcuts

?
  Show this help dialog
S
  Focus the search field
⇤
  Move up in search results
⇥
  Move down in search results
⏎
  Go to active search result
+
  Collapse/expand all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)