Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 8 additions & 2 deletions src/backends/plonky2/mock_main/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -485,7 +485,8 @@ pub mod tests {
fn test_mock_main_zu_kyc() -> Result<()> {
let params = middleware::Params::default();

let (gov_id_builder, pay_stub_builder) = zu_kyc_sign_pod_builders(&params);
let (gov_id_builder, pay_stub_builder, sanction_list_builder) =
zu_kyc_sign_pod_builders(&params);
let mut signer = MockSigner {
pk: "ZooGov".into(),
};
Expand All @@ -494,7 +495,12 @@ pub mod tests {
pk: "ZooDeel".into(),
};
let pay_stub_pod = pay_stub_builder.sign(&mut signer)?;
let kyc_builder = zu_kyc_pod_builder(&params, &gov_id_pod, &pay_stub_pod)?;
let mut signer = MockSigner {
pk: "ZooOFAC".into(),
};
let sanction_list_pod = sanction_list_builder.sign(&mut signer)?;
let kyc_builder =
zu_kyc_pod_builder(&params, &gov_id_pod, &pay_stub_pod, &sanction_list_pod)?;

let mut prover = MockProver {};
let kyc_pod = kyc_builder.prove(&mut prover)?;
Expand Down
24 changes: 20 additions & 4 deletions src/examples.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,16 @@ use std::collections::HashMap;

use crate::backends::plonky2::mock_signed::MockSigner;
use crate::frontend::{MainPodBuilder, SignedPod, SignedPodBuilder, Value};
use crate::middleware::containers::Set;
use crate::middleware::hash_str;
use crate::middleware::{containers::Dictionary, Params, PodType, KEY_SIGNER, KEY_TYPE};
use crate::op;

// ZuKYC

pub fn zu_kyc_sign_pod_builders(params: &Params) -> (SignedPodBuilder, SignedPodBuilder) {
pub fn zu_kyc_sign_pod_builders(
params: &Params,
) -> (SignedPodBuilder, SignedPodBuilder, SignedPodBuilder) {
let mut gov_id = SignedPodBuilder::new(params);
gov_id.insert("idNumber", "4242424242");
gov_id.insert("dateOfBirth", 1169909384);
Expand All @@ -18,22 +22,34 @@ pub fn zu_kyc_sign_pod_builders(params: &Params) -> (SignedPodBuilder, SignedPod
pay_stub.insert("socialSecurityNumber", "G2121210");
pay_stub.insert("startDate", 1706367566);

(gov_id, pay_stub)
let mut sanction_list = SignedPodBuilder::new(params);
let sanctions_values = ["A343434340"].map(|s| crate::middleware::Value::from(hash_str(s)));
sanction_list.insert(
"sanctionList",
Value::Set(Set::new(&sanctions_values.to_vec()).unwrap()),
);

(gov_id, pay_stub, sanction_list)
}

pub fn zu_kyc_pod_builder(
params: &Params,
gov_id: &SignedPod,
pay_stub: &SignedPod,
sanction_list: &SignedPod,
) -> Result<MainPodBuilder> {
let sanction_list = Value::Dictionary(Dictionary::new(&HashMap::new())?); // empty dictionary
let now_minus_18y: i64 = 1169909388;
let now_minus_1y: i64 = 1706367566;

let mut kyc = MainPodBuilder::new(params);
kyc.add_signed_pod(&gov_id);
kyc.add_signed_pod(&pay_stub);
kyc.pub_op(op!(not_contains, &sanction_list, (gov_id, "idNumber")));
kyc.add_signed_pod(&sanction_list);
kyc.pub_op(op!(
not_contains,
(sanction_list, "sanctionList"),
(gov_id, "idNumber")
));
kyc.pub_op(op!(lt, (gov_id, "dateOfBirth"), now_minus_18y));
kyc.pub_op(op!(
eq,
Expand Down
10 changes: 8 additions & 2 deletions src/frontend/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -529,7 +529,7 @@ pub mod tests {
#[test]
fn test_front_zu_kyc() -> Result<()> {
let params = Params::default();
let (gov_id, pay_stub) = zu_kyc_sign_pod_builders(&params);
let (gov_id, pay_stub, sanction_list) = zu_kyc_sign_pod_builders(&params);

println!("{}", gov_id);
println!("{}", pay_stub);
Expand All @@ -546,7 +546,13 @@ pub mod tests {
let pay_stub = pay_stub.sign(&mut signer).unwrap();
println!("{}", pay_stub);

let kyc = zu_kyc_pod_builder(&params, &gov_id, &pay_stub)?;
let mut signer = MockSigner {
pk: "ZooOFAC".into(),
};
let sanction_list = sanction_list.sign(&mut signer).unwrap();
println!("{}", sanction_list);

let kyc = zu_kyc_pod_builder(&params, &gov_id, &pay_stub, &sanction_list)?;
println!("{}", kyc);

let mut prover = MockProver {};
Expand Down
Loading