/// Creates a `PreSignatureQuadruple` which is a collection of four transcripts
/// that can be used in the threshold ECDSA protocol.
///
/// A `PreSignatureQuadruple` can only be created if the following invariants hold:
/// * All transcripts use the same algorithm ID (error: `InconsistentAlgorithms`)
/// * All transcripts have the same receiver set (error: `InconsistentReceivers`)
/// * The `kappa_unmasked` transcript is of type `Unmasked` with origin
///   `ReshareMasked` (error: `InvalidTranscriptOrigin`)
/// * The `lambda_masked` transcript is of type `Masked` with origin
///   `Random` (error: `InvalidTranscriptOrigin`)
/// * The `kappa_times_lambda` transcript is of type `Masked` with origin
///   `UnmaskedTimesMasked(left,right)`, where `left` and `right` are the
///   transcript IDs of `kappa_unmasked` and `lambda_masked`, respectively (error: `InvalidTranscriptOrigin`)
/// * The `key_times_lambda` transcript is of type `Masked` with origin
///   `UnmaskedTimesMasked(left,right)`, where `right` is the
///   transcript ID of `lambda_masked` (error: `InvalidTranscriptOrigin`)
Creates a `PreSignatureQuadruple` which is a collection of four transcripts
that can be used in the threshold ECDSA protocol.


Creates a ` PreSignatureQuadruple ` which is a collection of four transcripts that can be used in the threshold ECDSA protocol .
pub fn new(
        kappa_unmasked: IDkgTranscript,
        lambda_masked: IDkgTranscript,
        kappa_times_lambda: IDkgTranscript,
        key_times_lambda: IDkgTranscript,
    ) -> Result<Self, error::PresignatureQuadrupleCreationError> {
        Self::check_algorithm_ids(
            &kappa_unmasked,
            &lambda_masked,
            &kappa_times_lambda,
            &key_times_lambda,
        )?;
        Self::check_receivers_are_equal(
            &kappa_unmasked,
            &lambda_masked,
            &kappa_times_lambda,
            &key_times_lambda,
        )?;
        Self::check_consistency_of_transcripts(
            &kappa_unmasked,
            &lambda_masked,
            &kappa_times_lambda,
            &key_times_lambda,
        )?;
        Ok(Self {
            kappa_unmasked,
            lambda_masked,
            kappa_times_lambda,
            key_times_lambda,
        })
    }
pub fn new ( kappa_unmasked : IDkgTranscript , lambda_masked : IDkgTranscript , kappa_times_lambda : IDkgTranscript , key_times_lambda : IDkgTranscript , ) -> Result < Self , error :: PresignatureQuadrupleCreationError > { Self :: check_algorithm_ids ( & kappa_unmasked , & lambda_masked , & kappa_times_lambda , & key_times_lambda , ) ? ; Self :: check_receivers_are_equal ( & kappa_unmasked , & lambda_masked , & kappa_times_lambda , & key_times_lambda , ) ? ; Self :: check_consistency_of_transcripts ( & kappa_unmasked , & lambda_masked , & kappa_times_lambda , & key_times_lambda , ) ? ; Ok ( Self { kappa_unmasked , lambda_masked , kappa_times_lambda , key_times_lambda , } ) }
Creates a `PreSignatureQuadruple` which is a collection of four transcripts
that can be used in the threshold ECDSA protocol.
Creates a ` PreSignatureQuadruple ` which is a collection of four transcripts that can be used in the threshold ECDSA protocol .
kappa_unmasked
IDkgTranscript
lambda_masked
IDkgTranscript
kappa_times_lambda
IDkgTranscript
key_times_lambda
IDkgTranscript