use crate::mul_triple::arithmetic::MulTriples;
use crate::mul_triple::MTProvider;
use crate::protocols::Ring;
use async_trait::async_trait;
use std::convert::Infallible;
use std::marker::PhantomData;
#[derive(Clone, Default)]
pub struct InsecureMTProvider<R>(PhantomData<R>);
#[async_trait]
impl<R: Ring> MTProvider for InsecureMTProvider<R> {
type Output = MulTriples<R>;
type Error = Infallible;
async fn precompute_mts(&mut self, _amount: usize) -> Result<(), Infallible> {
Ok(())
}
async fn request_mts(&mut self, amount: usize) -> Result<Self::Output, Self::Error> {
Ok(MulTriples::zeros(amount))
}
}