pub struct SparkSigner { /* private fields */ }Implementations§
Source§impl SparkSigner
impl SparkSigner
pub fn new(signer: Arc<dyn BreezSigner>) -> Self
Trait Implementations§
Source§impl Signer for SparkSigner
impl Signer for SparkSigner
fn sign_message_ecdsa_with_identity_key<'life0, 'life1, 'async_trait>(
&'life0 self,
message: &'life1 [u8],
) -> Pin<Box<dyn Future<Output = Result<Signature, SignerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn sign_hash_schnorr_with_identity_key<'life0, 'life1, 'async_trait>(
&'life0 self,
hash: &'life1 [u8],
) -> Pin<Box<dyn Future<Output = Result<Signature, SignerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn generate_random_signing_commitment<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<FrostSigningCommitmentsWithNonces, SignerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_public_key_for_node<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 TreeNodeId,
) -> Pin<Box<dyn Future<Output = Result<PublicKey, SignerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn generate_random_secret<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<EncryptedSecret, SignerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_identity_public_key<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<PublicKey, SignerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn static_deposit_secret_encrypted<'life0, 'async_trait>(
&'life0 self,
index: u32,
) -> Pin<Box<dyn Future<Output = Result<SecretSource, SignerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn static_deposit_secret<'life0, 'async_trait>(
&'life0 self,
index: u32,
) -> Pin<Box<dyn Future<Output = Result<SecretKey, SignerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn static_deposit_signing_key<'life0, 'async_trait>(
&'life0 self,
index: u32,
) -> Pin<Box<dyn Future<Output = Result<PublicKey, SignerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn subtract_secrets<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
signing_key: &'life1 SecretSource,
new_signing_key: &'life2 SecretSource,
) -> Pin<Box<dyn Future<Output = Result<SecretSource, SignerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn subtract_secrets<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
signing_key: &'life1 SecretSource,
new_signing_key: &'life2 SecretSource,
) -> Pin<Box<dyn Future<Output = Result<SecretSource, SignerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Subtract two private keys Read more
Source§fn split_secret_with_proofs<'life0, 'life1, 'async_trait>(
&'life0 self,
secret: &'life1 SecretToSplit,
threshold: u32,
num_shares: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<VerifiableSecretShare>, SignerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn split_secret_with_proofs<'life0, 'life1, 'async_trait>(
&'life0 self,
secret: &'life1 SecretToSplit,
threshold: u32,
num_shares: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<VerifiableSecretShare>, SignerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Split a secret into threshold shares with proofs
Source§fn encrypt_secret_for_receiver<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
private_key: &'life1 EncryptedSecret,
receiver_public_key: &'life2 PublicKey,
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, SignerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn encrypt_secret_for_receiver<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
private_key: &'life1 EncryptedSecret,
receiver_public_key: &'life2 PublicKey,
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, SignerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Takes an encrypted private key (encrypted for us) and returns an encrypted private key (encrypted for receiver)
fn public_key_from_secret<'life0, 'life1, 'async_trait>(
&'life0 self,
private_key: &'life1 SecretSource,
) -> Pin<Box<dyn Future<Output = Result<PublicKey, SignerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn sign_frost<'a, 'life0, 'async_trait>(
&'life0 self,
request: SignFrostRequest<'a>,
) -> Pin<Box<dyn Future<Output = Result<SignatureShare, SignerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait,
fn sign_frost<'a, 'life0, 'async_trait>(
&'life0 self,
request: SignFrostRequest<'a>,
) -> Pin<Box<dyn Future<Output = Result<SignatureShare, SignerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait,
Creates a FROST signature share for threshold signing Read more
Source§fn aggregate_frost<'a, 'life0, 'async_trait>(
&'life0 self,
request: AggregateFrostRequest<'a>,
) -> Pin<Box<dyn Future<Output = Result<Signature, SignerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait,
fn aggregate_frost<'a, 'life0, 'async_trait>(
&'life0 self,
request: AggregateFrostRequest<'a>,
) -> Pin<Box<dyn Future<Output = Result<Signature, SignerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait,
Aggregates FROST (Flexible Round-Optimized Schnorr Threshold) signature shares into a complete signature Read more
Auto Trait Implementations§
impl Freeze for SparkSigner
impl !RefUnwindSafe for SparkSigner
impl Send for SparkSigner
impl Sync for SparkSigner
impl Unpin for SparkSigner
impl !UnwindSafe for SparkSigner
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request