| 15 | #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] |
| 16 | #[cfg_attr(feature = "serde", serde(bound = ""))] |
| 17 | pub struct PedersenCommitment<G: AffineRepr> { |
| 18 | /// The Pedersen commitment `C` in `g_0 * s_0 + g_1 * s_1 + ... + g_{n-1} * s_{n-1} = C` |
| 19 | #[cfg_attr(feature = "serde", serde_as(as = "ArkObjectBytes"))] |
| 20 | pub commitment: G, |
| 21 | /// Commitment key `g_i` in `g_0 * s_0 + g_1 * s_1 + ... + g_{n-1} * s_{n-1} = C` |
| 22 | #[cfg_attr(feature = "serde", serde_as(as = "Option<Vec<ArkObjectBytes>>"))] |
| 23 | pub key: Option<Vec<G>>, |
| 24 | pub key_ref: Option<usize>, |
| 25 | } |
| 26 | |
| 27 | macro_rules! impl_common_funcs { |
| 28 | ($fn_from_params: ident, $fn_from_params_refs: ident, $fn_get_comm_key: ident, $group: ident, $stmt_variant: ident, $setup_param_variant: ident) => { |
no outgoing calls