mirror of
https://github.com/darkrenaissance/darkfi.git
synced 2026-04-28 03:00:18 -04:00
20 lines
539 B
Rust
20 lines
539 B
Rust
pub mod circuit;
|
|
|
|
use halo2::{
|
|
arithmetic::{CurveExt, FieldExt},
|
|
pasta::{Ep, Fq},
|
|
};
|
|
use orchard::constants::fixed_bases::{
|
|
VALUE_COMMITMENT_PERSONALIZATION, VALUE_COMMITMENT_R_BYTES, VALUE_COMMITMENT_V_BYTES,
|
|
};
|
|
|
|
#[allow(non_snake_case)]
|
|
pub fn pedersen_commitment(value: u64, blind: Fq) -> Ep {
|
|
let hasher = Ep::hash_to_curve(VALUE_COMMITMENT_PERSONALIZATION);
|
|
let V = hasher(&VALUE_COMMITMENT_V_BYTES);
|
|
let R = hasher(&VALUE_COMMITMENT_R_BYTES);
|
|
let value = Fq::from_u64(value);
|
|
|
|
V * value + R * blind
|
|
}
|