Struct sp_keystore::testing::KeyStore
source · pub struct KeyStore { /* private fields */ }
Expand description
A keystore implementation usable in tests.
Implementations§
Trait Implementations§
source§impl CryptoStore for KeyStore
impl CryptoStore for KeyStore
source§fn keys<'life0, 'async_trait>(
&'life0 self,
id: KeyTypeId
) -> Pin<Box<dyn Future<Output = Result<Vec<CryptoTypePublicPair>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn keys<'life0, 'async_trait>( &'life0 self, id: KeyTypeId ) -> Pin<Box<dyn Future<Output = Result<Vec<CryptoTypePublicPair>, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
List all supported keys Read more
source§fn sr25519_public_keys<'life0, 'async_trait>(
&'life0 self,
id: KeyTypeId
) -> Pin<Box<dyn Future<Output = Vec<Public>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn sr25519_public_keys<'life0, 'async_trait>( &'life0 self, id: KeyTypeId ) -> Pin<Box<dyn Future<Output = Vec<Public>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Returns all sr25519 public keys for the given key type.
source§fn sr25519_generate_new<'life0, 'life1, 'async_trait>(
&'life0 self,
id: KeyTypeId,
seed: Option<&'life1 str>
) -> Pin<Box<dyn Future<Output = Result<Public, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: '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, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Generate a new sr25519 key pair for the given key type and an optional seed. Read more
source§fn ed25519_public_keys<'life0, 'async_trait>(
&'life0 self,
id: KeyTypeId
) -> Pin<Box<dyn Future<Output = Vec<Public>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn ed25519_public_keys<'life0, 'async_trait>( &'life0 self, id: KeyTypeId ) -> Pin<Box<dyn Future<Output = Vec<Public>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Returns all ed25519 public keys for the given key type.
source§fn ed25519_generate_new<'life0, 'life1, 'async_trait>(
&'life0 self,
id: KeyTypeId,
seed: Option<&'life1 str>
) -> Pin<Box<dyn Future<Output = Result<Public, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: '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, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Generate a new ed25519 key pair for the given key type and an optional seed. Read more
source§fn ecdsa_public_keys<'life0, 'async_trait>(
&'life0 self,
id: KeyTypeId
) -> Pin<Box<dyn Future<Output = Vec<Public>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn ecdsa_public_keys<'life0, 'async_trait>( &'life0 self, id: KeyTypeId ) -> Pin<Box<dyn Future<Output = Vec<Public>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Returns all ecdsa public keys for the given key type.
source§fn ecdsa_generate_new<'life0, 'life1, 'async_trait>(
&'life0 self,
id: KeyTypeId,
seed: Option<&'life1 str>
) -> Pin<Box<dyn Future<Output = Result<Public, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: '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, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Generate a new ecdsa key pair for the given key type and an optional seed. Read more
source§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
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: '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 Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
Insert a new key. This doesn’t require any known of the crypto; but a public key must be
manually provided. Read more
source§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
Self: 'async_trait,
'life0: 'async_trait,
'life1: '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 Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Checks if the private keys for the given public key and key type combinations exist. Read more
source§fn supported_keys<'life0, 'async_trait>(
&'life0 self,
id: KeyTypeId,
keys: Vec<CryptoTypePublicPair>
) -> Pin<Box<dyn Future<Output = Result<Vec<CryptoTypePublicPair>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn supported_keys<'life0, 'async_trait>( &'life0 self, id: KeyTypeId, keys: Vec<CryptoTypePublicPair> ) -> Pin<Box<dyn Future<Output = Result<Vec<CryptoTypePublicPair>, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Find intersection between provided keys and supported keys Read more
source§fn sign_with<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: KeyTypeId,
key: &'life1 CryptoTypePublicPair,
msg: &'life2 [u8]
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: '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<Option<Vec<u8>>, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
Sign with key Read more
source§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<Option<VRFSignature>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: '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<Option<VRFSignature>, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Generate VRF signature for given transcript data. Read more
source§fn ecdsa_sign_prehashed<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: KeyTypeId,
public: &'life1 Public,
msg: &'life2 [u8; 32]
) -> Pin<Box<dyn Future<Output = Result<Option<Signature>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn ecdsa_sign_prehashed<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, id: KeyTypeId, public: &'life1 Public, msg: &'life2 [u8; 32] ) -> Pin<Box<dyn Future<Output = Result<Option<Signature>, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
Generate an ECDSA signature for a given pre-hashed message. Read more
source§fn sign_with_any<'life0, 'life1, 'async_trait>(
&'life0 self,
id: KeyTypeId,
keys: Vec<CryptoTypePublicPair>,
msg: &'life1 [u8]
) -> Pin<Box<dyn Future<Output = Result<Option<(CryptoTypePublicPair, Vec<u8>)>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn sign_with_any<'life0, 'life1, 'async_trait>( &'life0 self, id: KeyTypeId, keys: Vec<CryptoTypePublicPair>, msg: &'life1 [u8] ) -> Pin<Box<dyn Future<Output = Result<Option<(CryptoTypePublicPair, Vec<u8>)>, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Sign with any key Read more
source§fn sign_with_all<'life0, 'life1, 'async_trait>(
&'life0 self,
id: KeyTypeId,
keys: Vec<CryptoTypePublicPair>,
msg: &'life1 [u8]
) -> Pin<Box<dyn Future<Output = Result<Vec<Result<Option<Vec<u8>>, Error>>, ()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn sign_with_all<'life0, 'life1, 'async_trait>( &'life0 self, id: KeyTypeId, keys: Vec<CryptoTypePublicPair>, msg: &'life1 [u8] ) -> Pin<Box<dyn Future<Output = Result<Vec<Result<Option<Vec<u8>>, Error>>, ()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Sign with all keys Read more
source§impl Into<Arc<dyn CryptoStore + 'static>> for KeyStore
impl Into<Arc<dyn CryptoStore + 'static>> for KeyStore
source§fn into(self) -> Arc<dyn CryptoStore>
fn into(self) -> Arc<dyn CryptoStore>
Converts this type into the (usually inferred) input type.
source§impl Into<Arc<dyn SyncCryptoStore + 'static>> for KeyStore
impl Into<Arc<dyn SyncCryptoStore + 'static>> for KeyStore
source§fn into(self) -> SyncCryptoStorePtr
fn into(self) -> SyncCryptoStorePtr
Converts this type into the (usually inferred) input type.
source§impl SyncCryptoStore for KeyStore
impl SyncCryptoStore for KeyStore
source§fn keys(&self, id: KeyTypeId) -> Result<Vec<CryptoTypePublicPair>, Error>
fn keys(&self, id: KeyTypeId) -> Result<Vec<CryptoTypePublicPair>, Error>
List all supported keys Read more
source§fn sr25519_public_keys(&self, id: KeyTypeId) -> Vec<Public> ⓘ
fn sr25519_public_keys(&self, id: KeyTypeId) -> Vec<Public> ⓘ
Returns all sr25519 public keys for the given key type.
source§fn sr25519_generate_new(
&self,
id: KeyTypeId,
seed: Option<&str>
) -> Result<Public, Error>
fn sr25519_generate_new( &self, id: KeyTypeId, seed: Option<&str> ) -> Result<Public, Error>
Generate a new sr25519 key pair for the given key type and an optional seed. Read more
source§fn ed25519_public_keys(&self, id: KeyTypeId) -> Vec<Public> ⓘ
fn ed25519_public_keys(&self, id: KeyTypeId) -> Vec<Public> ⓘ
Returns all ed25519 public keys for the given key type.
source§fn ed25519_generate_new(
&self,
id: KeyTypeId,
seed: Option<&str>
) -> Result<Public, Error>
fn ed25519_generate_new( &self, id: KeyTypeId, seed: Option<&str> ) -> Result<Public, Error>
Generate a new ed25519 key pair for the given key type and an optional seed. Read more
source§fn ecdsa_public_keys(&self, id: KeyTypeId) -> Vec<Public> ⓘ
fn ecdsa_public_keys(&self, id: KeyTypeId) -> Vec<Public> ⓘ
Returns all ecdsa public keys for the given key type.
source§fn ecdsa_generate_new(
&self,
id: KeyTypeId,
seed: Option<&str>
) -> Result<Public, Error>
fn ecdsa_generate_new( &self, id: KeyTypeId, seed: Option<&str> ) -> Result<Public, Error>
Generate a new ecdsa key pair for the given key type and an optional seed. Read more
source§fn insert_unknown(
&self,
id: KeyTypeId,
suri: &str,
public: &[u8]
) -> Result<(), ()>
fn insert_unknown( &self, id: KeyTypeId, suri: &str, public: &[u8] ) -> Result<(), ()>
Insert a new key. This doesn’t require any known of the crypto; but a public key must be
manually provided. Read more
source§fn has_keys(&self, public_keys: &[(Vec<u8>, KeyTypeId)]) -> bool
fn has_keys(&self, public_keys: &[(Vec<u8>, KeyTypeId)]) -> bool
Checks if the private keys for the given public key and key type combinations exist. Read more
source§fn supported_keys(
&self,
id: KeyTypeId,
keys: Vec<CryptoTypePublicPair>
) -> Result<Vec<CryptoTypePublicPair>, Error>
fn supported_keys( &self, id: KeyTypeId, keys: Vec<CryptoTypePublicPair> ) -> Result<Vec<CryptoTypePublicPair>, Error>
Find intersection between provided keys and supported keys Read more
source§fn sign_with(
&self,
id: KeyTypeId,
key: &CryptoTypePublicPair,
msg: &[u8]
) -> Result<Option<Vec<u8>>, Error>
fn sign_with( &self, id: KeyTypeId, key: &CryptoTypePublicPair, msg: &[u8] ) -> Result<Option<Vec<u8>>, Error>
Sign with key Read more
source§fn sr25519_vrf_sign(
&self,
key_type: KeyTypeId,
public: &Public,
transcript_data: VRFTranscriptData
) -> Result<Option<VRFSignature>, Error>
fn sr25519_vrf_sign( &self, key_type: KeyTypeId, public: &Public, transcript_data: VRFTranscriptData ) -> Result<Option<VRFSignature>, Error>
Generate VRF signature for given transcript data. Read more
source§fn ecdsa_sign_prehashed(
&self,
id: KeyTypeId,
public: &Public,
msg: &[u8; 32]
) -> Result<Option<Signature>, Error>
fn ecdsa_sign_prehashed( &self, id: KeyTypeId, public: &Public, msg: &[u8; 32] ) -> Result<Option<Signature>, Error>
Generate an ECDSA signature for a given pre-hashed message. Read more
source§fn sign_with_any(
&self,
id: KeyTypeId,
keys: Vec<CryptoTypePublicPair>,
msg: &[u8]
) -> Result<Option<(CryptoTypePublicPair, Vec<u8>)>, Error>
fn sign_with_any( &self, id: KeyTypeId, keys: Vec<CryptoTypePublicPair>, msg: &[u8] ) -> Result<Option<(CryptoTypePublicPair, Vec<u8>)>, Error>
Sign with any key Read more
Auto Trait Implementations§
impl !RefUnwindSafe for KeyStore
impl Send for KeyStore
impl Sync for KeyStore
impl Unpin for KeyStore
impl !UnwindSafe for KeyStore
Blanket Implementations§
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
§fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T, Outer> IsWrappedBy<Outer> for Twhere
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
impl<T, Outer> IsWrappedBy<Outer> for Twhere Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,
source§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere T: UncheckedFrom<S>,
source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
The counterpart to
unchecked_from
.