spark_rust/signer/traits/
shamir.rs1use 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}