use super::elgamal::WASMElGamal;
#[cfg(not(feature = "elgamal3"))]
use crate::arithmetic::wasm::group_elements::WASMGroupElement;
use crate::arithmetic::wasm::scalars::WASMScalarNonZero;
use crate::core::primitives::*;
use wasm_bindgen::prelude::*;
#[cfg(feature = "elgamal3")]
#[wasm_bindgen(js_name = rerandomize)]
pub fn wasm_rerandomize(v: &WASMElGamal, r: &WASMScalarNonZero) -> WASMElGamal {
rerandomize(v, r).into()
}
#[cfg(not(feature = "elgamal3"))]
#[wasm_bindgen(js_name = rerandomize)]
pub fn wasm_rerandomize(
v: &WASMElGamal,
public_key: &WASMGroupElement,
r: &WASMScalarNonZero,
) -> WASMElGamal {
rerandomize(v, public_key, r).into()
}
#[wasm_bindgen(js_name = rekey)]
pub fn wasm_rekey(v: &WASMElGamal, k: &WASMScalarNonZero) -> WASMElGamal {
rekey(v, k).into()
}
#[wasm_bindgen(js_name = reshuffle)]
pub fn wasm_reshuffle(v: &WASMElGamal, s: &WASMScalarNonZero) -> WASMElGamal {
reshuffle(v, s).into()
}
#[wasm_bindgen(js_name = rekey2)]
pub fn wasm_rekey2(
v: &WASMElGamal,
k_from: &WASMScalarNonZero,
k_to: &WASMScalarNonZero,
) -> WASMElGamal {
rekey2(v, k_from, k_to).into()
}
#[wasm_bindgen(js_name = reshuffle2)]
pub fn wasm_reshuffle2(
v: &WASMElGamal,
n_from: &WASMScalarNonZero,
n_to: &WASMScalarNonZero,
) -> WASMElGamal {
reshuffle2(v, n_from, n_to).into()
}
#[wasm_bindgen(js_name = rsk)]
pub fn wasm_rsk(v: &WASMElGamal, s: &WASMScalarNonZero, k: &WASMScalarNonZero) -> WASMElGamal {
rsk(v, s, k).into()
}
#[wasm_bindgen(js_name = rsk2)]
pub fn wasm_rsk2(
v: &WASMElGamal,
s_from: &WASMScalarNonZero,
s_to: &WASMScalarNonZero,
k_from: &WASMScalarNonZero,
k_to: &WASMScalarNonZero,
) -> WASMElGamal {
rsk2(v, s_from, s_to, k_from, k_to).into()
}
#[cfg(feature = "elgamal3")]
#[wasm_bindgen(js_name = rrsk)]
pub fn wasm_rrsk(
v: &WASMElGamal,
r: &WASMScalarNonZero,
s: &WASMScalarNonZero,
k: &WASMScalarNonZero,
) -> WASMElGamal {
rrsk(v, r, s, k).into()
}
#[cfg(not(feature = "elgamal3"))]
#[wasm_bindgen(js_name = rrsk)]
pub fn wasm_rrsk(
v: &WASMElGamal,
public_key: &WASMGroupElement,
r: &WASMScalarNonZero,
s: &WASMScalarNonZero,
k: &WASMScalarNonZero,
) -> WASMElGamal {
rrsk(v, public_key, r, s, k).into()
}
#[cfg(feature = "elgamal3")]
#[wasm_bindgen(js_name = rrsk2)]
pub fn wasm_rrsk2(
v: &WASMElGamal,
r: &WASMScalarNonZero,
s_from: &WASMScalarNonZero,
s_to: &WASMScalarNonZero,
k_from: &WASMScalarNonZero,
k_to: &WASMScalarNonZero,
) -> WASMElGamal {
rrsk2(v, r, s_from, s_to, k_from, k_to).into()
}
#[cfg(not(feature = "elgamal3"))]
#[wasm_bindgen(js_name = rrsk2)]
pub fn wasm_rrsk2(
v: &WASMElGamal,
public_key: &WASMGroupElement,
r: &WASMScalarNonZero,
s_from: &WASMScalarNonZero,
s_to: &WASMScalarNonZero,
k_from: &WASMScalarNonZero,
k_to: &WASMScalarNonZero,
) -> WASMElGamal {
rrsk2(v, public_key, r, s_from, s_to, k_from, k_to).into()
}