Struct sc_keystore::LocalKeystore [−][src]
A local based keystore that is either memory-based or filesystem-based.
Implementations
impl LocalKeystore
[src]
pub fn open<T: Into<PathBuf>>(
path: T,
password: Option<SecretString>
) -> Result<Self>
[src]
path: T,
password: Option<SecretString>
) -> Result<Self>
Create a local keystore from filesystem.
pub fn in_memory() -> Self
[src]
Create a local keystore in memory.
pub fn key_pair<Pair: AppPair>(
&self,
public: &<Pair as AppKey>::Public
) -> Result<Pair>
[src]
&self,
public: &<Pair as AppKey>::Public
) -> Result<Pair>
Get a key pair for the given public key.
This function is only available for a local keystore. If your application plans to work with remote keystores, you do not want to depend on it.
Trait Implementations
impl CryptoStore for LocalKeystore
[src]
fn keys<'life0, 'async_trait>(
&'life0 self,
id: KeyTypeId
) -> Pin<Box<dyn Future<Output = Result<Vec<CryptoTypePublicPair>, TraitError>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
[src]
&'life0 self,
id: KeyTypeId
) -> Pin<Box<dyn Future<Output = Result<Vec<CryptoTypePublicPair>, TraitError>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn sr25519_public_keys<'life0, 'async_trait>(
&'life0 self,
id: KeyTypeId
) -> Pin<Box<dyn Future<Output = Vec<Public>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
[src]
&'life0 self,
id: KeyTypeId
) -> Pin<Box<dyn Future<Output = Vec<Public>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn sr25519_generate_new<'life0, 'life1, 'async_trait>(
&'life0 self,
id: KeyTypeId,
seed: Option<&'life1 str>
) -> Pin<Box<dyn Future<Output = Result<Public, TraitError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
[src]
&'life0 self,
id: KeyTypeId,
seed: Option<&'life1 str>
) -> Pin<Box<dyn Future<Output = Result<Public, TraitError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn ed25519_public_keys<'life0, 'async_trait>(
&'life0 self,
id: KeyTypeId
) -> Pin<Box<dyn Future<Output = Vec<Public>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
[src]
&'life0 self,
id: KeyTypeId
) -> Pin<Box<dyn Future<Output = Vec<Public>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn ed25519_generate_new<'life0, 'life1, 'async_trait>(
&'life0 self,
id: KeyTypeId,
seed: Option<&'life1 str>
) -> Pin<Box<dyn Future<Output = Result<Public, TraitError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
[src]
&'life0 self,
id: KeyTypeId,
seed: Option<&'life1 str>
) -> Pin<Box<dyn Future<Output = Result<Public, TraitError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn ecdsa_public_keys<'life0, 'async_trait>(
&'life0 self,
id: KeyTypeId
) -> Pin<Box<dyn Future<Output = Vec<Public>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
[src]
&'life0 self,
id: KeyTypeId
) -> Pin<Box<dyn Future<Output = Vec<Public>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn ecdsa_generate_new<'life0, 'life1, 'async_trait>(
&'life0 self,
id: KeyTypeId,
seed: Option<&'life1 str>
) -> Pin<Box<dyn Future<Output = Result<Public, TraitError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
[src]
&'life0 self,
id: KeyTypeId,
seed: Option<&'life1 str>
) -> Pin<Box<dyn Future<Output = Result<Public, TraitError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn insert_unknown<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: KeyTypeId,
suri: &'life1 str,
public: &'life2 [u8]
) -> Pin<Box<dyn Future<Output = Result<(), ()>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
[src]
&'life0 self,
id: KeyTypeId,
suri: &'life1 str,
public: &'life2 [u8]
) -> Pin<Box<dyn Future<Output = Result<(), ()>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn has_keys<'life0, 'life1, 'async_trait>(
&'life0 self,
public_keys: &'life1 [(Vec<u8>, KeyTypeId)]
) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
[src]
&'life0 self,
public_keys: &'life1 [(Vec<u8>, KeyTypeId)]
) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn supported_keys<'life0, 'async_trait>(
&'life0 self,
id: KeyTypeId,
keys: Vec<CryptoTypePublicPair>
) -> Pin<Box<dyn Future<Output = Result<Vec<CryptoTypePublicPair>, TraitError>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
[src]
&'life0 self,
id: KeyTypeId,
keys: Vec<CryptoTypePublicPair>
) -> Pin<Box<dyn Future<Output = Result<Vec<CryptoTypePublicPair>, TraitError>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn sign_with<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: KeyTypeId,
key: &'life1 CryptoTypePublicPair,
msg: &'life2 [u8]
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, TraitError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
[src]
&'life0 self,
id: KeyTypeId,
key: &'life1 CryptoTypePublicPair,
msg: &'life2 [u8]
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, TraitError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn sr25519_vrf_sign<'life0, 'life1, 'async_trait>(
&'life0 self,
key_type: KeyTypeId,
public: &'life1 Public,
transcript_data: VRFTranscriptData
) -> Pin<Box<dyn Future<Output = Result<VRFSignature, TraitError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
[src]
&'life0 self,
key_type: KeyTypeId,
public: &'life1 Public,
transcript_data: VRFTranscriptData
) -> Pin<Box<dyn Future<Output = Result<VRFSignature, TraitError>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
#[must_use]pub fn sign_with_any<'life0, 'life1, 'async_trait>(
&'life0 self,
id: KeyTypeId,
keys: Vec<CryptoTypePublicPair, Global>,
msg: &'life1 [u8]
) -> Pin<Box<dyn Future<Output = Result<(CryptoTypePublicPair, Vec<u8, Global>), Error>> + 'async_trait + Send, Global>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
[src]
&'life0 self,
id: KeyTypeId,
keys: Vec<CryptoTypePublicPair, Global>,
msg: &'life1 [u8]
) -> Pin<Box<dyn Future<Output = Result<(CryptoTypePublicPair, Vec<u8, Global>), Error>> + 'async_trait + Send, Global>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
#[must_use]pub fn sign_with_all<'life0, 'life1, 'async_trait>(
&'life0 self,
id: KeyTypeId,
keys: Vec<CryptoTypePublicPair, Global>,
msg: &'life1 [u8]
) -> Pin<Box<dyn Future<Output = Result<Vec<Result<Vec<u8, Global>, Error>, Global>, ()>> + 'async_trait + Send, Global>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
[src]
&'life0 self,
id: KeyTypeId,
keys: Vec<CryptoTypePublicPair, Global>,
msg: &'life1 [u8]
) -> Pin<Box<dyn Future<Output = Result<Vec<Result<Vec<u8, Global>, Error>, Global>, ()>> + 'async_trait + Send, Global>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
impl Into<Arc<dyn CryptoStore + 'static>> for LocalKeystore
[src]
fn into(self) -> Arc<dyn CryptoStore>
[src]
impl Into<Arc<dyn SyncCryptoStore + 'static>> for LocalKeystore
[src]
fn into(self) -> SyncCryptoStorePtr
[src]
impl SyncCryptoStore for LocalKeystore
[src]
fn keys(&self, id: KeyTypeId) -> Result<Vec<CryptoTypePublicPair>, TraitError>
[src]
fn supported_keys(
&self,
id: KeyTypeId,
keys: Vec<CryptoTypePublicPair>
) -> Result<Vec<CryptoTypePublicPair>, TraitError>
[src]
&self,
id: KeyTypeId,
keys: Vec<CryptoTypePublicPair>
) -> Result<Vec<CryptoTypePublicPair>, TraitError>
fn sign_with(
&self,
id: KeyTypeId,
key: &CryptoTypePublicPair,
msg: &[u8]
) -> Result<Vec<u8>, TraitError>
[src]
&self,
id: KeyTypeId,
key: &CryptoTypePublicPair,
msg: &[u8]
) -> Result<Vec<u8>, TraitError>
fn sr25519_public_keys(&self, key_type: KeyTypeId) -> Vec<Public>
[src]
fn sr25519_generate_new(
&self,
id: KeyTypeId,
seed: Option<&str>
) -> Result<Public, TraitError>
[src]
&self,
id: KeyTypeId,
seed: Option<&str>
) -> Result<Public, TraitError>
fn ed25519_public_keys(&self, key_type: KeyTypeId) -> Vec<Public>
[src]
fn ed25519_generate_new(
&self,
id: KeyTypeId,
seed: Option<&str>
) -> Result<Public, TraitError>
[src]
&self,
id: KeyTypeId,
seed: Option<&str>
) -> Result<Public, TraitError>
fn ecdsa_public_keys(&self, key_type: KeyTypeId) -> Vec<Public>
[src]
fn ecdsa_generate_new(
&self,
id: KeyTypeId,
seed: Option<&str>
) -> Result<Public, TraitError>
[src]
&self,
id: KeyTypeId,
seed: Option<&str>
) -> Result<Public, TraitError>
fn insert_unknown(
&self,
key_type: KeyTypeId,
suri: &str,
public: &[u8]
) -> Result<(), ()>
[src]
&self,
key_type: KeyTypeId,
suri: &str,
public: &[u8]
) -> Result<(), ()>
fn has_keys(&self, public_keys: &[(Vec<u8>, KeyTypeId)]) -> bool
[src]
fn sr25519_vrf_sign(
&self,
key_type: KeyTypeId,
public: &Sr25519Public,
transcript_data: VRFTranscriptData
) -> Result<VRFSignature, TraitError>
[src]
&self,
key_type: KeyTypeId,
public: &Sr25519Public,
transcript_data: VRFTranscriptData
) -> Result<VRFSignature, TraitError>
pub fn sign_with_any(
&self,
id: KeyTypeId,
keys: Vec<CryptoTypePublicPair, Global>,
msg: &[u8]
) -> Result<(CryptoTypePublicPair, Vec<u8, Global>), Error>
[src]
&self,
id: KeyTypeId,
keys: Vec<CryptoTypePublicPair, Global>,
msg: &[u8]
) -> Result<(CryptoTypePublicPair, Vec<u8, Global>), Error>
pub fn sign_with_all(
&self,
id: KeyTypeId,
keys: Vec<CryptoTypePublicPair, Global>,
msg: &[u8]
) -> Result<Vec<Result<Vec<u8, Global>, Error>, Global>, ()>
[src]
&self,
id: KeyTypeId,
keys: Vec<CryptoTypePublicPair, Global>,
msg: &[u8]
) -> Result<Vec<Result<Vec<u8, Global>, Error>, Global>, ()>
Auto Trait Implementations
impl !RefUnwindSafe for LocalKeystore
impl Send for LocalKeystore
impl Sync for LocalKeystore
impl Unpin for LocalKeystore
impl UnwindSafe for LocalKeystore
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, Outer> IsWrappedBy<Outer> for T where
T: From<Outer>,
Outer: AsRef<T> + AsMut<T> + From<T>,
[src]
T: From<Outer>,
Outer: AsRef<T> + AsMut<T> + From<T>,
pub fn from_ref(outer: &Outer) -> &T
[src]
Get a reference to the inner from the outer.
pub fn from_mut(outer: &mut Outer) -> &mut T
[src]
Get a mutable reference to the inner from the outer.
impl<T> MaybeRefUnwindSafe for T where
T: RefUnwindSafe,
[src]
T: RefUnwindSafe,
impl<T> Same<T> for T
[src]
type Output = T
Should always be Self
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
[src]
T: UncheckedFrom<S>,
pub fn unchecked_into(self) -> T
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src]
V: MultiLane<T>,