diff --git a/Cargo.lock b/Cargo.lock index e62edb02..272c3962 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -7437,7 +7437,7 @@ dependencies = [ [[package]] name = "orbinum-zk-verifier" -version = "0.6.0" +version = "0.6.1" dependencies = [ "ark-bn254", "ark-ec 0.5.0", diff --git a/primitives/zk-verifier/Cargo.toml b/primitives/zk-verifier/Cargo.toml index 13f7e929..d792914e 100644 --- a/primitives/zk-verifier/Cargo.toml +++ b/primitives/zk-verifier/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "orbinum-zk-verifier" -version = "0.6.0" +version = "0.6.1" authors = ["Orbinum Network "] edition = "2021" license = "Apache-2.0 OR GPL-3.0-or-later" diff --git a/primitives/zk-verifier/src/infrastructure/storage/verification_keys/disclosure.rs b/primitives/zk-verifier/src/infrastructure/storage/verification_keys/disclosure.rs index c6449502..f4bec1ca 100644 --- a/primitives/zk-verifier/src/infrastructure/storage/verification_keys/disclosure.rs +++ b/primitives/zk-verifier/src/infrastructure/storage/verification_keys/disclosure.rs @@ -1,5 +1,5 @@ //! Auto-generated Verification Key for disclosure circuit -//! Generated on: 2026-03-06 11:30:34 -03 +//! Generated on: 2026-03-07 13:53:24 -03 //! Source: artifacts/verification_key_disclosure.json //! //! DO NOT EDIT MANUALLY - Run sync-circuit-artifacts.sh to regenerate @@ -86,21 +86,21 @@ pub fn get_vk() -> VerifyingKey { let delta_g2 = G2Affine::new_unchecked( Fq2::new( Fq::from_str( - "3206276217260361595481793508853284750402422152671604776989575287423476104269", + "6458690554090723549328247765892557833537066127680437443969602199194547582584", ) .unwrap(), Fq::from_str( - "7631747384853902460664967521543155868991166764222053253093017957540938334392", + "1279423990289170932731856254329239306695140952240325774420624179906719292882", ) .unwrap(), ), Fq2::new( Fq::from_str( - "1315736626707762138289399134507660238847527772864111688734249969354839349763", + "19147311628227816545899783990217260111438413763172530724258156015654281895019", ) .unwrap(), Fq::from_str( - "13007248231956190625731466221524250435067067612777017226899945000235029993336", + "8847985232669353761723456578981038235570046710079600779269086852640422746532", ) .unwrap(), ), diff --git a/primitives/zk-verifier/src/infrastructure/storage/verification_keys/private_link.rs b/primitives/zk-verifier/src/infrastructure/storage/verification_keys/private_link.rs index f635c607..efdac25b 100644 --- a/primitives/zk-verifier/src/infrastructure/storage/verification_keys/private_link.rs +++ b/primitives/zk-verifier/src/infrastructure/storage/verification_keys/private_link.rs @@ -1,5 +1,5 @@ //! Auto-generated Verification Key for private_link circuit -//! Generated on: 2026-03-07 01:21:28 -03 +//! Generated on: 2026-03-07 13:53:24 -03 //! Source: artifacts/verification_key_private_link.json //! //! DO NOT EDIT MANUALLY - Run sync-circuit-artifacts.sh to regenerate @@ -86,21 +86,21 @@ pub fn get_vk() -> VerifyingKey { let delta_g2 = G2Affine::new_unchecked( Fq2::new( Fq::from_str( - "2565234234239597894477767752957328294706065628533483134015556951878191186940", + "7382918560590775790629129380054855648748025722408040026670020476829648261165", ) .unwrap(), Fq::from_str( - "8483364959845595109279475140305812836298387099255485870422752648849759396051", + "6423278422243644905968333794390763918351826301466003547301539672223475432589", ) .unwrap(), ), Fq2::new( Fq::from_str( - "11691054892072623793550814582824415856906815287133539594126281557791174112842", + "15702288816565247430871824949162664935409234651102163465949861085930167480255", ) .unwrap(), Fq::from_str( - "16346382950154383395909238016212011279689014921920459803554530379130109824762", + "7697667125149703738887476895244485608088588156825032239637755507695444897011", ) .unwrap(), ), diff --git a/primitives/zk-verifier/src/infrastructure/storage/verification_keys/registry.rs b/primitives/zk-verifier/src/infrastructure/storage/verification_keys/registry.rs index 0ae75f14..779b6347 100644 --- a/primitives/zk-verifier/src/infrastructure/storage/verification_keys/registry.rs +++ b/primitives/zk-verifier/src/infrastructure/storage/verification_keys/registry.rs @@ -36,6 +36,7 @@ pub fn get_vk_by_circuit_id(circuit_id: u8) -> Result, Verif CIRCUIT_ID_TRANSFER => Ok(super::transfer::get_vk()), CIRCUIT_ID_UNSHIELD => Ok(super::unshield::get_vk()), CIRCUIT_ID_DISCLOSURE => Ok(super::disclosure::get_vk()), + CIRCUIT_ID_PRIVATE_LINK => Ok(super::private_link::get_vk()), _ => Err(VerifierError::InvalidCircuitId(circuit_id)), } } diff --git a/primitives/zk-verifier/src/infrastructure/storage/verification_keys/transfer.rs b/primitives/zk-verifier/src/infrastructure/storage/verification_keys/transfer.rs index ebee3712..05500e93 100644 --- a/primitives/zk-verifier/src/infrastructure/storage/verification_keys/transfer.rs +++ b/primitives/zk-verifier/src/infrastructure/storage/verification_keys/transfer.rs @@ -1,5 +1,5 @@ //! Auto-generated Verification Key for transfer circuit -//! Generated on: 2026-03-06 11:30:35 -03 +//! Generated on: 2026-03-07 13:53:24 -03 //! Source: artifacts/verification_key_transfer.json //! //! DO NOT EDIT MANUALLY - Run sync-circuit-artifacts.sh to regenerate @@ -86,21 +86,21 @@ pub fn get_vk() -> VerifyingKey { let delta_g2 = G2Affine::new_unchecked( Fq2::new( Fq::from_str( - "21288944529661557469672422705557159068094267422651824241917478140990622096224", + "1960676019192598459983476466798839360430497741900429833840295539553075321739", ) .unwrap(), Fq::from_str( - "21189770105809850421822299960373888134179868258348867092557256045711186362185", + "20567556255657311090735235994403509602958088683027380688346623718969122019219", ) .unwrap(), ), Fq2::new( Fq::from_str( - "21381531167402160909176932968047439104775642314508271622621584209404202122222", + "6633620463839310256505549788938004956620395937534540016293332064874807232542", ) .unwrap(), Fq::from_str( - "8807364154706141681018827860148590990916867586874031919777663563213093978165", + "12000787273208604172629940526608384279780578594663734165591007566021446256505", ) .unwrap(), ), diff --git a/primitives/zk-verifier/src/infrastructure/storage/verification_keys/unshield.rs b/primitives/zk-verifier/src/infrastructure/storage/verification_keys/unshield.rs index f9fbde7e..36a265f6 100644 --- a/primitives/zk-verifier/src/infrastructure/storage/verification_keys/unshield.rs +++ b/primitives/zk-verifier/src/infrastructure/storage/verification_keys/unshield.rs @@ -1,5 +1,5 @@ //! Auto-generated Verification Key for unshield circuit -//! Generated on: 2026-03-06 11:30:35 -03 +//! Generated on: 2026-03-07 13:53:24 -03 //! Source: artifacts/verification_key_unshield.json //! //! DO NOT EDIT MANUALLY - Run sync-circuit-artifacts.sh to regenerate @@ -86,21 +86,21 @@ pub fn get_vk() -> VerifyingKey { let delta_g2 = G2Affine::new_unchecked( Fq2::new( Fq::from_str( - "5366741149662063188266137377962915507572865199781677781989129371421156725687", + "4386179620596883358984619421641553834391564820333871092909126192839078707962", ) .unwrap(), Fq::from_str( - "6681995908313451802157835590696574494457884096128656590141338524934422338374", + "18032934174859036286138025310278066035294348257119261303253516499160982318490", ) .unwrap(), ), Fq2::new( Fq::from_str( - "12379514915304873009905993938394648346383109249883866397023842744782617281064", + "7299217140240643498094626431396206384614823045106700537903431298982095436521", ) .unwrap(), Fq::from_str( - "9530901712062734541139784071987871413548881368245087348176540295539151383884", + "17694127312975227469687375101595562898582739775777790998728166428809038232022", ) .unwrap(), ), diff --git a/primitives/zk-verifier/src/infrastructure/verification/groth16_verifier.rs b/primitives/zk-verifier/src/infrastructure/verification/groth16_verifier.rs index 8004d593..78f87f88 100644 --- a/primitives/zk-verifier/src/infrastructure/verification/groth16_verifier.rs +++ b/primitives/zk-verifier/src/infrastructure/verification/groth16_verifier.rs @@ -546,7 +546,7 @@ mod tests { // Proof comprimido (128 bytes) generado por compress_snarkjs_proof_wasm // Capturado de npm run test:24 en 2026-03-07 - let proof_hex = "a6d78479b00b00ba96405d7bde4ebc75b351db85108caba6b2d278c7e1ad5a0a25b56fbae893764cf38d01e84dbb6a458802f414a2ababcd346f33e0018a4e303fd9f74b8e5cbbb4730e8e01e8ecd6e7e04769154b427916b684e75a54e78b28981f861372008124ce74cd44c281b6d24dc7e04d070ce6246f5ce17cb8d09426"; + let proof_hex = "94c177a4516a446219f11d948f431db57e540252a5dbac43081199cc72ffbd04f99df60b2fdd2cb1af7e4a919e10d00defbef63562047b6898f55949b19e5f0f7a83adb71ccdeed329353e190d28d0b5be46905e47574127d2959559bb8423a946dc13483ecaa0ff4c311f14848502660960f8ef5d842485f6a618e712a39982"; let proof_bytes: alloc::vec::Vec = (0..proof_hex.len()) .step_by(2) .map(|i| u8::from_str_radix(&proof_hex[i..i + 2], 16).unwrap())