spark_rust/signer/traits/
shamir.rs

1use crate::error::SparkSdkError;
2
3use bitcoin::secp256k1::PublicKey;
4use spark_cryptography::secret_sharing::secret_sharing::VerifiableSecretShare;
5
6pub trait SparkSignerShamir {
7    fn split_with_verifiable_secret_sharing(
8        &self,
9        message: Vec<u8>,
10        threshold: usize,
11        num_shares: usize,
12    ) -> Result<Vec<VerifiableSecretShare>, SparkSdkError>;
13
14    fn split_from_public_key_with_verifiable_secret_sharing(
15        &self,
16        public_key: &PublicKey,
17        threshold: usize,
18        num_shares: usize,
19    ) -> Result<Vec<VerifiableSecretShare>, SparkSdkError>;
20}