| 1234567891011121314151617181920212223242526272829303132 |
- use pasta_curves::{
- arithmetic::{CurveAffine, Field},
- group::{ff::{PrimeField, PrimeFieldBits}, Curve},
- pallas,
- };
- use halo2_gadgets::{
- ecc::{
- chip::{EccChip, EccConfig},
- FixedPoint, FixedPoints,
- },
- };
- use rand::rngs::OsRng;
- use drk::{
- constants::{
- sinsemilla::{OrchardCommitDomains, OrchardHashDomains, MERKLE_CRH_PERSONALIZATION},
- OrchardFixedBases,
- },
- crypto::pedersen_commitment,
- proof::{Proof, ProvingKey, VerifyingKey},
- spec::i2lebsp,
- };
- fn mod_r_p(x: pallas::Base) -> pallas::Scalar {
- pallas::Scalar::from_repr(x.to_repr()).unwrap()
- }
- fn main() {
- let secret = pallas::Base::random(&mut OsRng);
- let public_key = OrchardFixedBases::SpendAuthG.generator() * mod_r_p(secret);
- }
|