Add great boy example (#48)

* Progress towards mock MainPod verification

* add MockMainPod.pub_statements logic so that when originid==SELF it is replaced by self.id()

* Basic op checking for mock MainPOD

* More op checking

* wip

* feat: add great boy example

* feat: put examples under cfg(test)

---------

Co-authored-by: Ahmad <root@ahmadafuni.com>
Co-authored-by: arnaucube <git@arnaucube.com>
This commit is contained in:
Eduard S. 2025-02-11 13:54:26 +01:00 committed by GitHub
parent 90e9782e62
commit f2575d1524
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 283 additions and 68 deletions

View file

@ -486,14 +486,14 @@ impl MainPod for MockMainPod {
pub mod tests {
use super::*;
use crate::backends::mock_signed::MockSigner;
use crate::frontend;
use crate::examples::{great_boy_pod_full_flow, zu_kyc_pod_builder, zu_kyc_sign_pod_builders};
use crate::middleware;
#[test]
fn test_mock_main_0() {
fn test_mock_main_zu_kyc() {
let params = middleware::Params::default();
let (gov_id_builder, pay_stub_builder) = frontend::tests::zu_kyc_sign_pod_builders(&params);
let (gov_id_builder, pay_stub_builder) = zu_kyc_sign_pod_builders(&params);
let mut signer = MockSigner {
pk: "ZooGov".into(),
};
@ -502,7 +502,7 @@ pub mod tests {
pk: "ZooDeel".into(),
};
let pay_stub_pod = pay_stub_builder.sign(&mut signer).unwrap();
let kyc_builder = frontend::tests::zu_kyc_pod_builder(&params, &gov_id_pod, &pay_stub_pod);
let kyc_builder = zu_kyc_pod_builder(&params, &gov_id_pod, &pay_stub_pod);
let mut prover = MockProver {};
let kyc_pod = kyc_builder.prove(&mut prover).unwrap();
@ -514,4 +514,21 @@ pub mod tests {
// println!("id: {}", pod.id());
// println!("pub_statements: {:?}", pod.pub_statements());
}
#[test]
fn test_mock_main_great_boy() {
let great_boy_builder = great_boy_pod_full_flow();
let mut prover = MockProver {};
let great_boy_pod = great_boy_builder.prove(&mut prover).unwrap();
let pod = great_boy_pod
.pod
.into_any()
.downcast::<MockMainPod>()
.unwrap();
println!("{}", pod);
assert_eq!(pod.verify(), true);
}
}