From 3da9a640ed8f733dce6a082f1043ef9571ad1bdf Mon Sep 17 00:00:00 2001 From: AHartNtkn Date: Fri, 19 Dec 2025 18:34:11 -0500 Subject: [PATCH 01/10] Add solana feature flag for SHA-256 delta proof hashing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add sha2 dependency (optional) - Add 'solana' feature that enables SHA-256 instead of Keccak-256 - Conditionally select hash function based on feature flag - Default behavior (Keccak-256) unchanged for EVM compatibility 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- Cargo.lock | 1 + arm/Cargo.toml | 2 ++ arm/src/delta_proof.rs | 16 +++++++++++----- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6ed6c2e9..8245c807 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -612,6 +612,7 @@ dependencies = [ "risc0-zkvm", "serde", "serde_with", + "sha2", "sha3", "thiserror 2.0.17", ] diff --git a/arm/Cargo.toml b/arm/Cargo.toml index 66ef6657..437bc3a0 100644 --- a/arm/Cargo.toml +++ b/arm/Cargo.toml @@ -21,6 +21,7 @@ k256 = { version = "=0.13.3", features = [ "ecdsa", "hash2curve", ], default-features = false } +sha2 = { version = "0.10", optional = true } sha3 = { version = "0.10", optional = true } rand = "0.8" bincode = "1.3.3" @@ -32,6 +33,7 @@ thiserror = "2.0.6" [features] default = ["transaction", "prove"] transaction = ["compliance_circuit", "dep:sha3"] +solana = ["transaction", "dep:sha2"] compliance_circuit = [] prove = ["risc0-zkvm/prove"] bonsai = ["risc0-zkvm/bonsai"] diff --git a/arm/src/delta_proof.rs b/arm/src/delta_proof.rs index 465e3126..fcbdd7b5 100644 --- a/arm/src/delta_proof.rs +++ b/arm/src/delta_proof.rs @@ -8,7 +8,13 @@ use k256::{ use serde::{Deserialize, Serialize}; use crate::error::ArmError; -use sha3::{Digest, Keccak256}; + +// Conditionally use SHA-256 for Solana, Keccak-256 for EVM +#[cfg(feature = "solana")] +use sha2::{Digest, Sha256 as HashFunction}; + +#[cfg(not(feature = "solana"))] +use sha3::{Digest, Keccak256 as HashFunction}; /// The delta proof consists of an ECDSA signature and a recovery ID. #[derive(Clone, Debug, PartialEq, Eq)] @@ -36,8 +42,8 @@ pub struct DeltaInstance { impl DeltaProof { /// Generates a delta proof by signing the given message with the provided witness. pub fn prove(message: &[u8], witness: &DeltaWitness) -> Result { - // Hash the message using Keccak256 - let mut digest = Keccak256::new(); + // Hash the message (SHA-256 for Solana, Keccak-256 for EVM) + let mut digest = HashFunction::new(); digest.update(message); // Sign the hashed message using RFC6979 @@ -72,8 +78,8 @@ impl DeltaProof { return Err(ArmError::InvalidDeltaProof); } - // Hash the message using Keccak256 - let mut digest = Keccak256::new(); + // Hash the message (SHA-256 for Solana, Keccak-256 for EVM) + let mut digest = HashFunction::new(); digest.update(message); // Verify the signature From 55c2056dca3aea92ef96cc77108a7d40f12ba84f Mon Sep 17 00:00:00 2001 From: agureev Date: Mon, 12 Jan 2026 19:56:50 +0400 Subject: [PATCH 02/10] Introduce EVM Feature Flag Introduces and EVM feature flag with an optional sha3 dependency Makes it a default for testing --- arm/Cargo.toml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/arm/Cargo.toml b/arm/Cargo.toml index 437bc3a0..629355cf 100644 --- a/arm/Cargo.toml +++ b/arm/Cargo.toml @@ -31,8 +31,9 @@ bytemuck = { version = "1.12", features = ["derive"] } thiserror = "2.0.6" [features] -default = ["transaction", "prove"] -transaction = ["compliance_circuit", "dep:sha3"] +default = ["transaction", "prove", "evm"] +transaction = ["compliance_circuit"] +evm = ["dep:sha3"] solana = ["transaction", "dep:sha2"] compliance_circuit = [] prove = ["risc0-zkvm/prove"] From 8d26d327831de7bbd44376102770505726bfaad9 Mon Sep 17 00:00:00 2001 From: agureev Date: Mon, 12 Jan 2026 19:57:00 +0400 Subject: [PATCH 03/10] Gate EVM-specific Recovery ID Changes to EVM Feature Flag Now operations that bar recovery IDs above 1 or necessitate translation to 27/28 instead of usual 1, 2 for IDs under a specified flag --- arm/src/delta_proof.rs | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/arm/src/delta_proof.rs b/arm/src/delta_proof.rs index fcbdd7b5..c6f3fbad 100644 --- a/arm/src/delta_proof.rs +++ b/arm/src/delta_proof.rs @@ -13,7 +13,7 @@ use crate::error::ArmError; #[cfg(feature = "solana")] use sha2::{Digest, Sha256 as HashFunction}; -#[cfg(not(feature = "solana"))] +#[cfg(feature = "evm")] use sha3::{Digest, Keccak256 as HashFunction}; /// The delta proof consists of an ECDSA signature and a recovery ID. @@ -52,7 +52,8 @@ impl DeltaProof { .sign_digest_recoverable(digest) .map_err(|_| ArmError::DeltaProofGenerationFailed)?; - // On-chain signatures are not supported when recid is 2 or 3. + // On-chain EVM signatures are not supported when recid is 2 or 3. + #[cfg(feature = "evm")] if recid.to_byte() > 1 { return Err(ArmError::InvalidDeltaProof); } @@ -66,7 +67,8 @@ impl DeltaProof { proof: &DeltaProof, instance: DeltaInstance, ) -> Result<(), ArmError> { - // handle recid + // handle recid for EVM verification + #[cfg(feature = "evm")] if proof.recid.to_byte() > 1 { return Err(ArmError::InvalidDeltaProof); } @@ -95,16 +97,29 @@ impl DeltaProof { pub fn to_bytes(&self) -> [u8; 65] { let mut bytes = [0u8; 65]; bytes[0..64].clone_from_slice(&self.signature.to_bytes()); - bytes[64] = self.recid.to_byte() + 27; + + #[cfg(not(feature = "evm"))] + let recid_byte = self.recid.to_byte(); + + #[cfg(feature = "evm")] + let recid_byte = self.recid.to_byte() + 27; + + bytes[64] = recid_byte; bytes } /// Deserializes the delta proof from bytes. pub fn from_bytes(bytes: &[u8]) -> Result { + #[cfg(not(feature = "evm"))] + let recid_byte = bytes[64]; + + #[cfg(feature = "evm")] + let recid_byte = bytes[64] - 27; + Ok(DeltaProof { signature: Signature::from_bytes((&bytes[0..64]).into()) .map_err(|_| ArmError::InvalidSignature)?, - recid: RecoveryId::from_byte(bytes[64] - 27).ok_or(ArmError::InvalidSignature)?, + recid: RecoveryId::from_byte(recid_byte).ok_or(ArmError::InvalidSignature)?, }) } } From ae981cbc8a09f04dcbde1160055b55540fd99dd2 Mon Sep 17 00:00:00 2001 From: agureev Date: Tue, 13 Jan 2026 14:20:44 +0400 Subject: [PATCH 04/10] Compliance Unit Instance Field Deserialized --- arm/src/action.rs | 16 ++++++---------- arm/src/aggregation/mod.rs | 5 ++++- arm/src/compliance.rs | 9 +++++++++ arm/src/compliance_unit.rs | 18 ++++++++++-------- arm/src/transaction.rs | 4 ++-- 5 files changed, 31 insertions(+), 21 deletions(-) diff --git a/arm/src/action.rs b/arm/src/action.rs index fd025263..6d715382 100644 --- a/arm/src/action.rs +++ b/arm/src/action.rs @@ -51,11 +51,11 @@ impl Action { pub(crate) fn get_logic_verifiers(&self) -> Result, ArmError> { let mut logic_verifiers = Vec::new(); - let compliance_intances = self + let compliance_intances: Vec = self .compliance_units .iter() - .map(|unit| unit.get_instance()) - .collect::, ArmError>>()?; + .map(|unit| unit.get_instance().clone()) + .collect(); // Construct the action tree let tags: Vec = compliance_intances @@ -122,15 +122,11 @@ impl Action { /// Constructs the delta message by concatenating the delta messages /// of each compliance unit. - pub fn get_delta_msg(&self) -> Result, ArmError> { + pub fn get_delta_msg(&self) -> Vec { let mut msg = Vec::new(); for unit in &self.compliance_units { - if let Ok(instance) = unit.get_instance() { - msg.extend_from_slice(&instance.delta_msg()); - } else { - return Err(ArmError::InvalidComplianceInstance); - } + msg.extend_from_slice(&unit.instance.delta_msg()); } - Ok(msg) + msg } } diff --git a/arm/src/aggregation/mod.rs b/arm/src/aggregation/mod.rs index 9c94f469..29bf7f59 100644 --- a/arm/src/aggregation/mod.rs +++ b/arm/src/aggregation/mod.rs @@ -57,7 +57,10 @@ impl Transaction { .flat_map(|a| a.get_compliance_units().clone()) .collect(); - let cu_instances: Vec> = cus.iter().map(|cu| cu.instance.clone()).collect(); + let cu_instances: Vec> = cus + .iter() + .map(|cu| cu.instance.to_journal().unwrap()) + .collect(); let inner_receipts: Option> = if self.base_proofs_are_empty() { None diff --git a/arm/src/compliance.rs b/arm/src/compliance.rs index bf24c2e2..b5f9c48e 100644 --- a/arm/src/compliance.rs +++ b/arm/src/compliance.rs @@ -20,6 +20,7 @@ use k256::{ }; use lazy_static::lazy_static; use rand::rngs::OsRng; +use risc0_zkvm::serde::to_vec; use risc0_zkvm::Digest; use serde_with::serde_as; @@ -274,4 +275,12 @@ impl ComplianceInstance { msg.extend_from_slice(self.created_commitment.as_bytes()); msg } + + /// Serializes the instance to a journal format. + pub fn to_journal(&self) -> Result, ArmError> { + Ok( + words_to_bytes(&to_vec(&self).map_err(|_| ArmError::InstanceSerializationFailed)?) + .to_vec(), + ) + } } diff --git a/arm/src/compliance_unit.rs b/arm/src/compliance_unit.rs index c80ca912..31f82f5a 100644 --- a/arm/src/compliance_unit.rs +++ b/arm/src/compliance_unit.rs @@ -22,8 +22,8 @@ use crate::{ pub struct ComplianceUnit { /// The compliance proof (optional, would be absent when aggregation is enabled). pub proof: Option>, - /// The serialized compliance instance. - pub instance: Vec, + /// The compliance instance. + pub instance: ComplianceInstance, } impl ComplianceUnit { @@ -32,7 +32,8 @@ impl ComplianceUnit { /// them as parameters. Instance is generated by proving. #[cfg(feature = "prove")] pub fn create(witness: &ComplianceWitness, proof_type: ProofType) -> Result { - let (proof, instance) = prove(COMPLIANCE_PK, witness, proof_type)?; + let (proof, serialized_instance) = prove(COMPLIANCE_PK, witness, proof_type)?; + let instance = journal_to_instance(&serialized_instance)?; Ok(ComplianceUnit { proof: Some(proof), instance, @@ -42,7 +43,8 @@ impl ComplianceUnit { /// Verifies the compliance proof against the instance using the constant verifying key. pub fn verify(&self) -> Result<(), ArmError> { if let Some(proof) = &self.proof { - verify_proof(&COMPLIANCE_VK, &self.instance, proof) + let journal = &self.instance.to_journal()?; + verify_proof(&COMPLIANCE_VK, journal, proof) } else { Err(ArmError::ProofVerificationFailed( "Missing compliance proof".into(), @@ -52,11 +54,11 @@ impl ComplianceUnit { /// Obtains the delta from the compliance instance. pub fn delta(&self) -> Result { - self.get_instance()?.delta_projective() + self.get_instance().delta_projective() } - /// Retrieves the compliance instance from the serialized instance data. - pub fn get_instance(&self) -> Result { - journal_to_instance(&self.instance) + /// Retrieves the compliance instance. + pub fn get_instance(&self) -> &ComplianceInstance { + &self.instance } } diff --git a/arm/src/transaction.rs b/arm/src/transaction.rs index 52e4b0bc..253a7010 100644 --- a/arm/src/transaction.rs +++ b/arm/src/transaction.rs @@ -105,7 +105,7 @@ impl Transaction { let mut seen_nullifiers = std::collections::HashSet::new(); for action in &self.actions { for cu in action.get_compliance_units() { - let instance = cu.get_instance()?; + let instance = cu.get_instance(); if !seen_nullifiers.insert(instance.consumed_nullifier) { return Err(ArmError::NullifierDuplication); } @@ -128,7 +128,7 @@ impl Transaction { pub fn get_delta_msg(&self) -> Result, ArmError> { let mut msg = Vec::new(); for action in &self.actions { - msg.extend(action.get_delta_msg()?); + msg.extend(action.get_delta_msg()); } Ok(msg) } From ea31dbbd7417e858c73107f6e5cac1bde435d653 Mon Sep 17 00:00:00 2001 From: agureev Date: Tue, 13 Jan 2026 14:25:45 +0400 Subject: [PATCH 05/10] Remove `get_instance` function --- arm/src/action.rs | 2 +- arm/src/compliance_unit.rs | 7 +------ arm/src/transaction.rs | 3 +-- 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/arm/src/action.rs b/arm/src/action.rs index 6d715382..3aaa71e9 100644 --- a/arm/src/action.rs +++ b/arm/src/action.rs @@ -54,7 +54,7 @@ impl Action { let compliance_intances: Vec = self .compliance_units .iter() - .map(|unit| unit.get_instance().clone()) + .map(|unit| unit.instance.clone()) .collect(); // Construct the action tree diff --git a/arm/src/compliance_unit.rs b/arm/src/compliance_unit.rs index 31f82f5a..27a736ba 100644 --- a/arm/src/compliance_unit.rs +++ b/arm/src/compliance_unit.rs @@ -54,11 +54,6 @@ impl ComplianceUnit { /// Obtains the delta from the compliance instance. pub fn delta(&self) -> Result { - self.get_instance().delta_projective() - } - - /// Retrieves the compliance instance. - pub fn get_instance(&self) -> &ComplianceInstance { - &self.instance + self.instance.delta_projective() } } diff --git a/arm/src/transaction.rs b/arm/src/transaction.rs index 253a7010..b9219acd 100644 --- a/arm/src/transaction.rs +++ b/arm/src/transaction.rs @@ -105,8 +105,7 @@ impl Transaction { let mut seen_nullifiers = std::collections::HashSet::new(); for action in &self.actions { for cu in action.get_compliance_units() { - let instance = cu.get_instance(); - if !seen_nullifiers.insert(instance.consumed_nullifier) { + if !seen_nullifiers.insert(cu.instance.consumed_nullifier) { return Err(ArmError::NullifierDuplication); } } From e64b73de18d40760439cbc343217cb1bdde15f5c Mon Sep 17 00:00:00 2001 From: agureev Date: Mon, 19 Jan 2026 17:11:09 +0400 Subject: [PATCH 06/10] Add Risc0 Solana Groth16 Verifier as Optional Dependency --- Cargo.lock | 1602 ++++++++++++++++++++++++++++++++++++++++++++---- arm/Cargo.toml | 3 +- 2 files changed, 1494 insertions(+), 111 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 8245c807..cdbcfe91 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -79,6 +79,17 @@ dependencies = [ "subtle", ] +[[package]] +name = "ahash" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" +dependencies = [ + "getrandom 0.2.16", + "once_cell", + "version_check", +] + [[package]] name = "ahash" version = "0.8.12" @@ -177,7 +188,7 @@ checksum = "6d792e205ed3b72f795a8044c52877d2e6b6e9b1d13f431478121d8d4eaa9028" dependencies = [ "alloy-sol-macro-input", "const-hex", - "heck", + "heck 0.5.0", "indexmap 2.11.4", "proc-macro-error2", "proc-macro2", @@ -195,7 +206,7 @@ checksum = "0bd1247a8f90b465ef3f1207627547ec16940c35597875cdc09c49d58b19693c" dependencies = [ "const-hex", "dunce", - "heck", + "heck 0.5.0", "macro-string", "proc-macro2", "quote", @@ -225,6 +236,182 @@ dependencies = [ "serde", ] +[[package]] +name = "anchor-attribute-access-control" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f70fd141a4d18adf11253026b32504f885447048c7494faf5fa83b01af9c0cf" +dependencies = [ + "anchor-syn", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "anchor-attribute-account" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "715a261c57c7679581e06f07a74fa2af874ac30f86bd8ea07cca4a7e5388a064" +dependencies = [ + "anchor-syn", + "bs58", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "anchor-attribute-constant" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "730d6df8ae120321c5c25e0779e61789e4b70dc8297102248902022f286102e4" +dependencies = [ + "anchor-syn", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "anchor-attribute-error" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27e6e449cc3a37b2880b74dcafb8e5a17b954c0e58e376432d7adc646fb333ef" +dependencies = [ + "anchor-syn", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "anchor-attribute-event" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7710e4c54adf485affcd9be9adec5ef8846d9c71d7f31e16ba86ff9fc1dd49f" +dependencies = [ + "anchor-syn", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "anchor-attribute-program" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05ecfd49b2aeadeb32f35262230db402abed76ce87e27562b34f61318b2ec83c" +dependencies = [ + "anchor-lang-idl", + "anchor-syn", + "anyhow", + "bs58", + "heck 0.3.3", + "proc-macro2", + "quote", + "serde_json", + "syn 1.0.109", +] + +[[package]] +name = "anchor-derive-accounts" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be89d160793a88495af462a7010b3978e48e30a630c91de47ce2c1d3cb7a6149" +dependencies = [ + "anchor-syn", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "anchor-derive-serde" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abc6ee78acb7bfe0c2dd2abc677aaa4789c0281a0c0ef01dbf6fe85e0fd9e6e4" +dependencies = [ + "anchor-syn", + "borsh-derive-internal", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "anchor-derive-space" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "134a01c0703f6fd355a0e472c033f6f3e41fac1ef6e370b20c50f4c8d022cea7" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "anchor-lang" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6bab117055905e930f762c196e08f861f8dfe7241b92cee46677a3b15561a0a" +dependencies = [ + "anchor-attribute-access-control", + "anchor-attribute-account", + "anchor-attribute-constant", + "anchor-attribute-error", + "anchor-attribute-event", + "anchor-attribute-program", + "anchor-derive-accounts", + "anchor-derive-serde", + "anchor-derive-space", + "base64 0.21.7", + "bincode", + "borsh 0.10.4", + "bytemuck", + "solana-program", + "thiserror 1.0.69", +] + +[[package]] +name = "anchor-lang-idl" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32e8599d21995f68e296265aa5ab0c3cef582fd58afec014d01bd0bce18a4418" +dependencies = [ + "anchor-lang-idl-spec", + "anyhow", + "heck 0.3.3", + "serde", + "serde_json", + "sha2 0.10.9", +] + +[[package]] +name = "anchor-lang-idl-spec" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bdf143115440fe621bdac3a29a1f7472e09f6cd82b2aa569429a0c13f103838" +dependencies = [ + "anyhow", + "serde", +] + +[[package]] +name = "anchor-syn" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dc7a6d90cc643df0ed2744862cdf180587d1e5d28936538c18fc8908489ed67" +dependencies = [ + "anyhow", + "bs58", + "heck 0.3.3", + "proc-macro2", + "quote", + "serde", + "serde_json", + "sha2 0.10.9", + "syn 1.0.109", + "thiserror 1.0.69", +] + [[package]] name = "android_system_properties" version = "0.1.5" @@ -279,7 +466,7 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e0c292754729c8a190e50414fd1a37093c786c709899f29c9f7daccecfa855e" dependencies = [ - "ahash", + "ahash 0.8.12", "ark-crypto-primitives-macros", "ark-ec", "ark-ff 0.5.0", @@ -292,7 +479,7 @@ dependencies = [ "digest 0.10.7", "fnv", "merlin", - "sha2", + "sha2 0.10.9", ] [[package]] @@ -312,7 +499,7 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43d68f2d516162846c1238e755a7c4d131b892b70cc70c471a8e3ca3ed818fce" dependencies = [ - "ahash", + "ahash 0.8.12", "ark-ff 0.5.0", "ark-poly", "ark-serialize 0.5.0", @@ -474,7 +661,7 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "579305839da207f02b89cd1679e50e67b4331e2f9294a57693e5051b7703fe27" dependencies = [ - "ahash", + "ahash 0.8.12", "ark-ff 0.5.0", "ark-serialize 0.5.0", "ark-std 0.5.0", @@ -605,6 +792,7 @@ version = "1.0.0" dependencies = [ "bincode", "bytemuck", + "groth_16_verifier", "hex", "k256", "lazy_static", @@ -612,7 +800,7 @@ dependencies = [ "risc0-zkvm", "serde", "serde_with", - "sha2", + "sha2 0.10.9", "sha3", "thiserror 2.0.17", ] @@ -661,6 +849,12 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d902e3d592a523def97af8f317b08ce16b7ab854c1985a0c671e6f15cebc236" +[[package]] +name = "arrayref" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" + [[package]] name = "arrayvec" version = "0.7.6" @@ -720,6 +914,18 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" +[[package]] +name = "base64" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff" + +[[package]] +name = "base64" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + [[package]] name = "base64" version = "0.22.1" @@ -809,12 +1015,36 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "blake3" +version = "1.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2468ef7d57b3fb7e16b576e8377cdbde2320c60e1491e961d11da40fc4f02a2d" +dependencies = [ + "arrayref", + "arrayvec", + "cc", + "cfg-if", + "constant_time_eq", + "cpufeatures", + "digest 0.10.7", +] + [[package]] name = "block" version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" +[[package]] +name = "block-buffer" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" +dependencies = [ + "generic-array", +] + [[package]] name = "block-buffer" version = "0.10.4" @@ -849,16 +1079,39 @@ dependencies = [ "thiserror 2.0.17", ] +[[package]] +name = "borsh" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "115e54d64eb62cdebad391c19efc9dce4981c690c85a33a12199d99bb9546fee" +dependencies = [ + "borsh-derive 0.10.4", + "hashbrown 0.12.3", +] + [[package]] name = "borsh" version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ad8646f98db542e39fc66e68a20b2144f6a732636df7c2354e74645faaa433ce" dependencies = [ - "borsh-derive", + "borsh-derive 1.5.7", "cfg_aliases", ] +[[package]] +name = "borsh-derive" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "831213f80d9423998dd696e2c5345aba6be7a0bd8cd19e31c5243e13df1cef89" +dependencies = [ + "borsh-derive-internal", + "borsh-schema-derive-internal", + "proc-macro-crate 0.1.5", + "proc-macro2", + "syn 1.0.109", +] + [[package]] name = "borsh-derive" version = "1.5.7" @@ -866,18 +1119,59 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdd1d3c0c2f5833f22386f252fe8ed005c7f59fdcddeef025c01b4c3b9fd9ac3" dependencies = [ "once_cell", - "proc-macro-crate", + "proc-macro-crate 3.4.0", "proc-macro2", "quote", "syn 2.0.106", ] +[[package]] +name = "borsh-derive-internal" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65d6ba50644c98714aa2a70d13d7df3cd75cd2b523a2b452bf010443800976b3" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "borsh-schema-derive-internal" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "276691d96f063427be83e6692b86148e488ebba9f48f77788724ca027ba3b6d4" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "bs58" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4" +dependencies = [ + "tinyvec", +] + [[package]] name = "bumpalo" version = "3.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" +[[package]] +name = "bv" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8834bb1d8ee5dc048ee3124f2c7c1afcc6bc9aed03f11e9dfd8c69470a5db340" +dependencies = [ + "feature-probe", + "serde", +] + [[package]] name = "byte-slice-cast" version = "1.2.3" @@ -1068,6 +1362,26 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "console_error_panic_hook" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc" +dependencies = [ + "cfg-if", + "wasm-bindgen", +] + +[[package]] +name = "console_log" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e89f72f65e8501878b8a004d5a1afb780987e2ce2b4532c562e367a72c57499f" +dependencies = [ + "log", + "web-sys", +] + [[package]] name = "const-hex" version = "1.17.0" @@ -1106,6 +1420,12 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "constant_time_eq" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b" + [[package]] name = "core-foundation" version = "0.9.4" @@ -1229,6 +1549,34 @@ dependencies = [ "cipher", ] +[[package]] +name = "curve25519-dalek" +version = "4.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" +dependencies = [ + "cfg-if", + "cpufeatures", + "curve25519-dalek-derive", + "digest 0.10.7", + "fiat-crypto", + "rand_core 0.6.4", + "rustc_version 0.4.1", + "subtle", + "zeroize", +] + +[[package]] +name = "curve25519-dalek-derive" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.106", +] + [[package]] name = "cust" version = "0.3.2" @@ -1455,7 +1803,7 @@ version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "block-buffer", + "block-buffer 0.10.4", "const-oid", "crypto-common", "subtle", @@ -1540,7 +1888,7 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97af9b5f014e228b33e77d75ee0e6e87960124f0f4b16337b586a6bec91867b1" dependencies = [ - "heck", + "heck 0.5.0", "proc-macro2", "proc-macro2-diagnostics", ] @@ -1738,6 +2086,12 @@ dependencies = [ "bytes", ] +[[package]] +name = "feature-probe" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "835a3dc7d1ec9e75e2b5fb4ba75396837112d2060b03f7d43bc1897c7f7211da" + [[package]] name = "ff" version = "0.13.1" @@ -1766,6 +2120,12 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "fiat-crypto" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" + [[package]] name = "find-msvc-tools" version = "0.1.2" @@ -1782,7 +2142,31 @@ dependencies = [ ] [[package]] -name = "fixed-hash" +name = "five8" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75b8549488b4715defcb0d8a8a1c1c76a80661b5fa106b4ca0e7fce59d7d875" +dependencies = [ + "five8_core", +] + +[[package]] +name = "five8_const" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26dec3da8bc3ef08f2c04f61eab298c3ab334523e55f076354d6d6f613799a7b" +dependencies = [ + "five8_core", +] + +[[package]] +name = "five8_core" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2551bf44bc5f776c15044b9b94153a00198be06743e262afaaa61f11ac7523a5" + +[[package]] +name = "fixed-hash" version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" @@ -1993,6 +2377,17 @@ dependencies = [ "zeroize", ] +[[package]] +name = "getrandom" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.9.0+wasi-snapshot-preview1", +] + [[package]] name = "getrandom" version = "0.2.16" @@ -2062,6 +2457,17 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" +[[package]] +name = "groth_16_verifier" +version = "0.1.0" +source = "git+https://github.com/boundless-xyz/risc0-solana?tag=v3.0.0#ee415935d04a948f27a346b563391900bdad6486" +dependencies = [ + "anchor-lang", + "hex-literal", + "risc0-circuit-recursion", + "solana-bn254", +] + [[package]] name = "group" version = "0.13.0" @@ -2087,6 +2493,9 @@ name = "hashbrown" version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +dependencies = [ + "ahash 0.7.8", +] [[package]] name = "hashbrown" @@ -2094,7 +2503,7 @@ version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ - "ahash", + "ahash 0.8.12", ] [[package]] @@ -2140,6 +2549,15 @@ dependencies = [ "stable_deref_trait", ] +[[package]] +name = "heck" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" +dependencies = [ + "unicode-segmentation", +] + [[package]] name = "heck" version = "0.5.0" @@ -2266,7 +2684,7 @@ version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c6995591a8f1380fcb4ba966a252a4b29188d51d2b89e3a252f5305be65aea8" dependencies = [ - "base64", + "base64 0.22.1", "bytes", "futures-channel", "futures-core", @@ -2601,7 +3019,7 @@ dependencies = [ "elliptic-curve", "once_cell", "serdect", - "sha2", + "sha2 0.10.9", ] [[package]] @@ -2707,6 +3125,52 @@ dependencies = [ "libc", ] +[[package]] +name = "libsecp256k1" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9d220bc1feda2ac231cb78c3d26f27676b8cf82c96971f7aeef3d0cf2797c73" +dependencies = [ + "arrayref", + "base64 0.12.3", + "digest 0.9.0", + "libsecp256k1-core", + "libsecp256k1-gen-ecmult", + "libsecp256k1-gen-genmult", + "rand 0.7.3", + "serde", + "sha2 0.9.9", +] + +[[package]] +name = "libsecp256k1-core" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0f6ab710cec28cef759c5f18671a27dae2a5f952cdaaee1d8e2908cb2478a80" +dependencies = [ + "crunchy", + "digest 0.9.0", + "subtle", +] + +[[package]] +name = "libsecp256k1-gen-ecmult" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccab96b584d38fac86a83f07e659f0deafd0253dc096dab5a36d53efe653c5c3" +dependencies = [ + "libsecp256k1-core", +] + +[[package]] +name = "libsecp256k1-gen-genmult" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67abfe149395e3aa1c48a2beb32b068e2334402df8181f818d3aee2b304c4f5d" +dependencies = [ + "libsecp256k1-core", +] + [[package]] name = "linux-raw-sys" version = "0.4.15" @@ -2867,6 +3331,15 @@ dependencies = [ "libc", ] +[[package]] +name = "memoffset" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" +dependencies = [ + "autocfg", +] + [[package]] name = "merlin" version = "3.0.0" @@ -3173,7 +3646,7 @@ version = "3.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34b4653168b563151153c9e4c08ebed57fb8262bebfa79711552fa983c623e7a" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 3.4.0", "proc-macro2", "quote", "syn 2.0.106", @@ -3368,6 +3841,15 @@ dependencies = [ "uint", ] +[[package]] +name = "proc-macro-crate" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" +dependencies = [ + "toml 0.5.11", +] + [[package]] name = "proc-macro-crate" version = "3.4.0" @@ -3457,7 +3939,7 @@ version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be769465445e8c1474e9c5dac2018218498557af32d9ed057325ec9a41ae81bf" dependencies = [ - "heck", + "heck 0.5.0", "itertools 0.14.0", "log", "multimap", @@ -3589,6 +4071,19 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" +[[package]] +name = "rand" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +dependencies = [ + "getrandom 0.1.16", + "libc", + "rand_chacha 0.2.2", + "rand_core 0.5.1", + "rand_hc", +] + [[package]] name = "rand" version = "0.8.5" @@ -3611,6 +4106,16 @@ dependencies = [ "serde", ] +[[package]] +name = "rand_chacha" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" +dependencies = [ + "ppv-lite86", + "rand_core 0.5.1", +] + [[package]] name = "rand_chacha" version = "0.3.1" @@ -3631,6 +4136,15 @@ dependencies = [ "rand_core 0.9.3", ] +[[package]] +name = "rand_core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +dependencies = [ + "getrandom 0.1.16", +] + [[package]] name = "rand_core" version = "0.6.4" @@ -3650,6 +4164,15 @@ dependencies = [ "serde", ] +[[package]] +name = "rand_hc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +dependencies = [ + "rand_core 0.5.1", +] + [[package]] name = "rand_xorshift" version = "0.4.0" @@ -3760,7 +4283,7 @@ version = "0.12.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d429f34c8092b2d42c7c93cec323bb4adeb7c67698f70839adec842ec10c7ceb" dependencies = [ - "base64", + "base64 0.22.1", "bytes", "futures-channel", "futures-core", @@ -3833,7 +4356,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c8f97f81bcdead4101bca06469ecef481a2695cd04e7e877b49dea56a7f6f2a" dependencies = [ "anyhow", - "borsh", + "borsh 1.5.7", "bytemuck", "derive_more", "elf", @@ -3882,7 +4405,7 @@ dependencies = [ "directories", "hex", "rayon", - "sha2", + "sha2 0.10.9", "tempfile", ] @@ -3945,7 +4468,7 @@ dependencies = [ "risc0-sys", "risc0-zkp", "serde", - "sha2", + "sha2 0.10.9", "tracing", "zip", ] @@ -4099,7 +4622,7 @@ checksum = "ffb6bf356f469bb8744f72a07a37134c5812c1d55d6271bba80e87bdb7a58c8e" dependencies = [ "anyhow", "blake2", - "borsh", + "borsh 1.5.7", "bytemuck", "cfg-if", "cust", @@ -4118,7 +4641,7 @@ dependencies = [ "risc0-sys", "risc0-zkvm-platform", "serde", - "sha2", + "sha2 0.10.9", "stability", "tracing", ] @@ -4133,7 +4656,7 @@ dependencies = [ "anyhow", "bincode", "bonsai-sdk", - "borsh", + "borsh 1.5.7", "bytemuck", "bytes", "derive_more", @@ -4166,7 +4689,7 @@ dependencies = [ "rzup", "semver 1.0.27", "serde", - "sha2", + "sha2 0.10.9", "stability", "tempfile", "tracing", @@ -4239,7 +4762,7 @@ dependencies = [ "ark-ff 0.3.0", "ark-ff 0.4.2", "ark-ff 0.5.0", - "borsh", + "borsh 1.5.7", "bytes", "fastrlp 0.3.1", "fastrlp 0.4.0", @@ -4405,11 +4928,11 @@ dependencies = [ "semver 1.0.27", "serde", "serde_with", - "sha2", + "sha2 0.10.9", "strum", "tempfile", "thiserror 2.0.17", - "toml", + "toml 0.8.23", "yaml-rust2", ] @@ -4505,6 +5028,16 @@ dependencies = [ "serde_derive", ] +[[package]] +name = "serde_bytes" +version = "0.11.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5d440709e79d88e51ac01c4b72fc6cb7314017bb7da9eeff678aa94c10e3ea8" +dependencies = [ + "serde", + "serde_core", +] + [[package]] name = "serde_core" version = "1.0.228" @@ -4565,7 +5098,7 @@ version = "3.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c522100790450cf78eeac1507263d0a350d4d5b30df0c8e1fe051a10c22b376e" dependencies = [ - "base64", + "base64 0.22.1", "chrono", "hex", "indexmap 1.9.3", @@ -4601,6 +5134,19 @@ dependencies = [ "serde", ] +[[package]] +name = "sha2" +version = "0.9.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" +dependencies = [ + "block-buffer 0.9.0", + "cfg-if", + "cpufeatures", + "digest 0.9.0", + "opaque-debug", +] + [[package]] name = "sha2" version = "0.10.9" @@ -4677,154 +5223,969 @@ dependencies = [ ] [[package]] -name = "spin" -version = "0.9.8" +name = "solana-account" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +checksum = "0f949fe4edaeaea78c844023bfc1c898e0b1f5a100f8a8d2d0f85d0a7b090258" dependencies = [ - "lock_api", + "solana-account-info", + "solana-clock", + "solana-instruction", + "solana-pubkey", + "solana-sdk-ids", ] [[package]] -name = "spki" -version = "0.7.3" +name = "solana-account-info" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +checksum = "c8f5152a288ef1912300fc6efa6c2d1f9bb55d9398eb6c72326360b8063987da" dependencies = [ - "base64ct", - "der", + "bincode", + "serde", + "solana-program-error", + "solana-program-memory", + "solana-pubkey", ] [[package]] -name = "sppark" -version = "0.1.14" +name = "solana-address-lookup-table-interface" +version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9c900139f3f6fdc8db217881a946adf00e935102fdd82b0e1bc19bacbffa311" +checksum = "d1673f67efe870b64a65cb39e6194be5b26527691ce5922909939961a6e6b395" dependencies = [ - "cc", - "which", + "bincode", + "bytemuck", + "serde", + "serde_derive", + "solana-clock", + "solana-instruction", + "solana-pubkey", + "solana-sdk-ids", + "solana-slot-hashes", ] [[package]] -name = "stability" -version = "0.2.1" +name = "solana-atomic-u64" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d904e7009df136af5297832a3ace3370cd14ff1546a232f4f185036c2736fcac" +checksum = "d52e52720efe60465b052b9e7445a01c17550666beec855cce66f44766697bc2" dependencies = [ - "quote", - "syn 2.0.106", + "parking_lot", ] [[package]] -name = "stable_deref_trait" -version = "1.2.0" +name = "solana-big-mod-exp" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" +checksum = "75db7f2bbac3e62cfd139065d15bcda9e2428883ba61fc8d27ccb251081e7567" +dependencies = [ + "num-bigint 0.4.6", + "num-traits", + "solana-define-syscall 2.3.0", +] [[package]] -name = "static_assertions" -version = "1.1.0" +name = "solana-bincode" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" +checksum = "19a3787b8cf9c9fe3dd360800e8b70982b9e5a8af9e11c354b6665dd4a003adc" +dependencies = [ + "bincode", + "serde", + "solana-instruction", +] [[package]] -name = "strsim" -version = "0.11.1" +name = "solana-blake3-hasher" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" +checksum = "a1a0801e25a1b31a14494fc80882a036be0ffd290efc4c2d640bfcca120a4672" +dependencies = [ + "blake3", + "solana-define-syscall 2.3.0", + "solana-hash", + "solana-sanitize", +] [[package]] -name = "strum" -version = "0.27.2" +name = "solana-bn254" +version = "3.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af23d6f6c1a224baef9d3f61e287d2761385a5b88fdab4eb4c6f11aeb54c4bcf" +checksum = "62ff13a8867fcc7b0f1114764e1bf6191b4551dcaf93729ddc676cd4ec6abc9f" dependencies = [ - "strum_macros", + "ark-bn254", + "ark-ec", + "ark-ff 0.5.0", + "ark-serialize 0.5.0", + "bytemuck", + "solana-define-syscall 5.0.0", + "thiserror 2.0.17", ] [[package]] -name = "strum_macros" -version = "0.27.2" +name = "solana-borsh" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7695ce3845ea4b33927c055a39dc438a45b059f7c1b3d91d38d10355fb8cbca7" +checksum = "718333bcd0a1a7aed6655aa66bef8d7fb047944922b2d3a18f49cbc13e73d004" dependencies = [ - "heck", - "proc-macro2", - "quote", - "syn 2.0.106", + "borsh 0.10.4", + "borsh 1.5.7", ] [[package]] -name = "subtle" -version = "2.6.1" +name = "solana-clock" +version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" +checksum = "1bb482ab70fced82ad3d7d3d87be33d466a3498eb8aa856434ff3c0dfc2e2e31" +dependencies = [ + "serde", + "serde_derive", + "solana-sdk-ids", + "solana-sdk-macro", + "solana-sysvar-id", +] [[package]] -name = "syn" -version = "1.0.109" +name = "solana-cpi" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +checksum = "8dc71126edddc2ba014622fc32d0f5e2e78ec6c5a1e0eb511b85618c09e9ea11" dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", + "solana-account-info", + "solana-define-syscall 2.3.0", + "solana-instruction", + "solana-program-error", + "solana-pubkey", + "solana-stable-layout", ] [[package]] -name = "syn" -version = "2.0.106" +name = "solana-decode-error" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6" +checksum = "8c781686a18db2f942e70913f7ca15dc120ec38dcab42ff7557db2c70c625a35" dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", + "num-traits", ] [[package]] -name = "syn-solidity" -version = "1.4.1" +name = "solana-define-syscall" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff790eb176cc81bb8936aed0f7b9f14fc4670069a2d371b3e3b0ecce908b2cb3" -dependencies = [ - "paste", - "proc-macro2", - "quote", - "syn 2.0.106", -] +checksum = "2ae3e2abcf541c8122eafe9a625d4d194b4023c20adde1e251f94e056bb1aee2" [[package]] -name = "sync_wrapper" -version = "1.0.2" +name = "solana-define-syscall" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" -dependencies = [ - "futures-core", -] +checksum = "03aacdd7a61e2109887a7a7f046caebafce97ddf1150f33722eeac04f9039c73" [[package]] -name = "synstructure" -version = "0.13.2" +name = "solana-epoch-rewards" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" +checksum = "86b575d3dd323b9ea10bb6fe89bf6bf93e249b215ba8ed7f68f1a3633f384db7" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.106", + "serde", + "serde_derive", + "solana-hash", + "solana-sdk-ids", + "solana-sdk-macro", + "solana-sysvar-id", ] [[package]] -name = "tap" -version = "1.0.1" +name = "solana-epoch-schedule" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" +checksum = "3fce071fbddecc55d727b1d7ed16a629afe4f6e4c217bc8d00af3b785f6f67ed" +dependencies = [ + "serde", + "serde_derive", + "solana-sdk-ids", + "solana-sdk-macro", + "solana-sysvar-id", +] [[package]] -name = "tempfile" -version = "3.23.0" +name = "solana-example-mocks" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16" +checksum = "84461d56cbb8bb8d539347151e0525b53910102e4bced875d49d5139708e39d3" +dependencies = [ + "serde", + "serde_derive", + "solana-address-lookup-table-interface", + "solana-clock", + "solana-hash", + "solana-instruction", + "solana-keccak-hasher", + "solana-message", + "solana-nonce", + "solana-pubkey", + "solana-sdk-ids", + "solana-system-interface", + "thiserror 2.0.17", +] + +[[package]] +name = "solana-feature-gate-interface" +version = "2.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43f5c5382b449e8e4e3016fb05e418c53d57782d8b5c30aa372fc265654b956d" +dependencies = [ + "bincode", + "serde", + "serde_derive", + "solana-account", + "solana-account-info", + "solana-instruction", + "solana-program-error", + "solana-pubkey", + "solana-rent", + "solana-sdk-ids", + "solana-system-interface", +] + +[[package]] +name = "solana-fee-calculator" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d89bc408da0fb3812bc3008189d148b4d3e08252c79ad810b245482a3f70cd8d" +dependencies = [ + "log", + "serde", + "serde_derive", +] + +[[package]] +name = "solana-hash" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5b96e9f0300fa287b545613f007dfe20043d7812bee255f418c1eb649c93b63" +dependencies = [ + "borsh 1.5.7", + "bytemuck", + "bytemuck_derive", + "five8", + "js-sys", + "serde", + "serde_derive", + "solana-atomic-u64", + "solana-sanitize", + "wasm-bindgen", +] + +[[package]] +name = "solana-instruction" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bab5682934bd1f65f8d2c16f21cb532526fcc1a09f796e2cacdb091eee5774ad" +dependencies = [ + "bincode", + "borsh 1.5.7", + "getrandom 0.2.16", + "js-sys", + "num-traits", + "serde", + "serde_derive", + "serde_json", + "solana-define-syscall 2.3.0", + "solana-pubkey", + "wasm-bindgen", +] + +[[package]] +name = "solana-instructions-sysvar" +version = "2.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0e85a6fad5c2d0c4f5b91d34b8ca47118fc593af706e523cdbedf846a954f57" +dependencies = [ + "bitflags 2.9.4", + "solana-account-info", + "solana-instruction", + "solana-program-error", + "solana-pubkey", + "solana-sanitize", + "solana-sdk-ids", + "solana-serialize-utils", + "solana-sysvar-id", +] + +[[package]] +name = "solana-keccak-hasher" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7aeb957fbd42a451b99235df4942d96db7ef678e8d5061ef34c9b34cae12f79" +dependencies = [ + "sha3", + "solana-define-syscall 2.3.0", + "solana-hash", + "solana-sanitize", +] + +[[package]] +name = "solana-last-restart-slot" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a6360ac2fdc72e7463565cd256eedcf10d7ef0c28a1249d261ec168c1b55cdd" +dependencies = [ + "serde", + "serde_derive", + "solana-sdk-ids", + "solana-sdk-macro", + "solana-sysvar-id", +] + +[[package]] +name = "solana-loader-v2-interface" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8ab08006dad78ae7cd30df8eea0539e207d08d91eaefb3e1d49a446e1c49654" +dependencies = [ + "serde", + "serde_bytes", + "serde_derive", + "solana-instruction", + "solana-pubkey", + "solana-sdk-ids", +] + +[[package]] +name = "solana-loader-v3-interface" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f7162a05b8b0773156b443bccd674ea78bb9aa406325b467ea78c06c99a63a2" +dependencies = [ + "serde", + "serde_bytes", + "serde_derive", + "solana-instruction", + "solana-pubkey", + "solana-sdk-ids", + "solana-system-interface", +] + +[[package]] +name = "solana-loader-v4-interface" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "706a777242f1f39a83e2a96a2a6cb034cb41169c6ecbee2cf09cb873d9659e7e" +dependencies = [ + "serde", + "serde_bytes", + "serde_derive", + "solana-instruction", + "solana-pubkey", + "solana-sdk-ids", + "solana-system-interface", +] + +[[package]] +name = "solana-message" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1796aabce376ff74bf89b78d268fa5e683d7d7a96a0a4e4813ec34de49d5314b" +dependencies = [ + "bincode", + "blake3", + "lazy_static", + "serde", + "serde_derive", + "solana-bincode", + "solana-hash", + "solana-instruction", + "solana-pubkey", + "solana-sanitize", + "solana-sdk-ids", + "solana-short-vec", + "solana-system-interface", + "solana-transaction-error", + "wasm-bindgen", +] + +[[package]] +name = "solana-msg" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f36a1a14399afaabc2781a1db09cb14ee4cc4ee5c7a5a3cfcc601811379a8092" +dependencies = [ + "solana-define-syscall 2.3.0", +] + +[[package]] +name = "solana-native-token" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61515b880c36974053dd499c0510066783f0cc6ac17def0c7ef2a244874cf4a9" + +[[package]] +name = "solana-nonce" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "703e22eb185537e06204a5bd9d509b948f0066f2d1d814a6f475dafb3ddf1325" +dependencies = [ + "serde", + "serde_derive", + "solana-fee-calculator", + "solana-hash", + "solana-pubkey", + "solana-sha256-hasher", +] + +[[package]] +name = "solana-program" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98eca145bd3545e2fbb07166e895370576e47a00a7d824e325390d33bf467210" +dependencies = [ + "bincode", + "blake3", + "borsh 0.10.4", + "borsh 1.5.7", + "bs58", + "bytemuck", + "console_error_panic_hook", + "console_log", + "getrandom 0.2.16", + "lazy_static", + "log", + "memoffset", + "num-bigint 0.4.6", + "num-derive", + "num-traits", + "rand 0.8.5", + "serde", + "serde_bytes", + "serde_derive", + "solana-account-info", + "solana-address-lookup-table-interface", + "solana-atomic-u64", + "solana-big-mod-exp", + "solana-bincode", + "solana-blake3-hasher", + "solana-borsh", + "solana-clock", + "solana-cpi", + "solana-decode-error", + "solana-define-syscall 2.3.0", + "solana-epoch-rewards", + "solana-epoch-schedule", + "solana-example-mocks", + "solana-feature-gate-interface", + "solana-fee-calculator", + "solana-hash", + "solana-instruction", + "solana-instructions-sysvar", + "solana-keccak-hasher", + "solana-last-restart-slot", + "solana-loader-v2-interface", + "solana-loader-v3-interface", + "solana-loader-v4-interface", + "solana-message", + "solana-msg", + "solana-native-token", + "solana-nonce", + "solana-program-entrypoint", + "solana-program-error", + "solana-program-memory", + "solana-program-option", + "solana-program-pack", + "solana-pubkey", + "solana-rent", + "solana-sanitize", + "solana-sdk-ids", + "solana-sdk-macro", + "solana-secp256k1-recover", + "solana-serde-varint", + "solana-serialize-utils", + "solana-sha256-hasher", + "solana-short-vec", + "solana-slot-hashes", + "solana-slot-history", + "solana-stable-layout", + "solana-stake-interface", + "solana-system-interface", + "solana-sysvar", + "solana-sysvar-id", + "solana-vote-interface", + "thiserror 2.0.17", + "wasm-bindgen", +] + +[[package]] +name = "solana-program-entrypoint" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32ce041b1a0ed275290a5008ee1a4a6c48f5054c8a3d78d313c08958a06aedbd" +dependencies = [ + "solana-account-info", + "solana-msg", + "solana-program-error", + "solana-pubkey", +] + +[[package]] +name = "solana-program-error" +version = "2.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ee2e0217d642e2ea4bee237f37bd61bb02aec60da3647c48ff88f6556ade775" +dependencies = [ + "borsh 1.5.7", + "num-traits", + "serde", + "serde_derive", + "solana-decode-error", + "solana-instruction", + "solana-msg", + "solana-pubkey", +] + +[[package]] +name = "solana-program-memory" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a5426090c6f3fd6cfdc10685322fede9ca8e5af43cd6a59e98bfe4e91671712" +dependencies = [ + "solana-define-syscall 2.3.0", +] + +[[package]] +name = "solana-program-option" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc677a2e9bc616eda6dbdab834d463372b92848b2bfe4a1ed4e4b4adba3397d0" + +[[package]] +name = "solana-program-pack" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "319f0ef15e6e12dc37c597faccb7d62525a509fec5f6975ecb9419efddeb277b" +dependencies = [ + "solana-program-error", +] + +[[package]] +name = "solana-pubkey" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b62adb9c3261a052ca1f999398c388f1daf558a1b492f60a6d9e64857db4ff1" +dependencies = [ + "borsh 0.10.4", + "borsh 1.5.7", + "bytemuck", + "bytemuck_derive", + "curve25519-dalek", + "five8", + "five8_const", + "getrandom 0.2.16", + "js-sys", + "num-traits", + "serde", + "serde_derive", + "solana-atomic-u64", + "solana-decode-error", + "solana-define-syscall 2.3.0", + "solana-sanitize", + "solana-sha256-hasher", + "wasm-bindgen", +] + +[[package]] +name = "solana-rent" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1aea8fdea9de98ca6e8c2da5827707fb3842833521b528a713810ca685d2480" +dependencies = [ + "serde", + "serde_derive", + "solana-sdk-ids", + "solana-sdk-macro", + "solana-sysvar-id", +] + +[[package]] +name = "solana-sanitize" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61f1bc1357b8188d9c4a3af3fc55276e56987265eb7ad073ae6f8180ee54cecf" + +[[package]] +name = "solana-sdk-ids" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c5d8b9cc68d5c88b062a33e23a6466722467dde0035152d8fb1afbcdf350a5f" +dependencies = [ + "solana-pubkey", +] + +[[package]] +name = "solana-sdk-macro" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86280da8b99d03560f6ab5aca9de2e38805681df34e0bb8f238e69b29433b9df" +dependencies = [ + "bs58", + "proc-macro2", + "quote", + "syn 2.0.106", +] + +[[package]] +name = "solana-secp256k1-recover" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baa3120b6cdaa270f39444f5093a90a7b03d296d362878f7a6991d6de3bbe496" +dependencies = [ + "libsecp256k1", + "solana-define-syscall 2.3.0", + "thiserror 2.0.17", +] + +[[package]] +name = "solana-serde-varint" +version = "2.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a7e155eba458ecfb0107b98236088c3764a09ddf0201ec29e52a0be40857113" +dependencies = [ + "serde", +] + +[[package]] +name = "solana-serialize-utils" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "817a284b63197d2b27afdba829c5ab34231da4a9b4e763466a003c40ca4f535e" +dependencies = [ + "solana-instruction", + "solana-pubkey", + "solana-sanitize", +] + +[[package]] +name = "solana-sha256-hasher" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aa3feb32c28765f6aa1ce8f3feac30936f16c5c3f7eb73d63a5b8f6f8ecdc44" +dependencies = [ + "sha2 0.10.9", + "solana-define-syscall 2.3.0", + "solana-hash", +] + +[[package]] +name = "solana-short-vec" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c54c66f19b9766a56fa0057d060de8378676cb64987533fa088861858fc5a69" +dependencies = [ + "serde", +] + +[[package]] +name = "solana-slot-hashes" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c8691982114513763e88d04094c9caa0376b867a29577939011331134c301ce" +dependencies = [ + "serde", + "serde_derive", + "solana-hash", + "solana-sdk-ids", + "solana-sysvar-id", +] + +[[package]] +name = "solana-slot-history" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97ccc1b2067ca22754d5283afb2b0126d61eae734fc616d23871b0943b0d935e" +dependencies = [ + "bv", + "serde", + "serde_derive", + "solana-sdk-ids", + "solana-sysvar-id", +] + +[[package]] +name = "solana-stable-layout" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f14f7d02af8f2bc1b5efeeae71bc1c2b7f0f65cd75bcc7d8180f2c762a57f54" +dependencies = [ + "solana-instruction", + "solana-pubkey", +] + +[[package]] +name = "solana-stake-interface" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5269e89fde216b4d7e1d1739cf5303f8398a1ff372a81232abbee80e554a838c" +dependencies = [ + "borsh 0.10.4", + "borsh 1.5.7", + "num-traits", + "serde", + "serde_derive", + "solana-clock", + "solana-cpi", + "solana-decode-error", + "solana-instruction", + "solana-program-error", + "solana-pubkey", + "solana-system-interface", + "solana-sysvar-id", +] + +[[package]] +name = "solana-system-interface" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94d7c18cb1a91c6be5f5a8ac9276a1d7c737e39a21beba9ea710ab4b9c63bc90" +dependencies = [ + "js-sys", + "num-traits", + "serde", + "serde_derive", + "solana-decode-error", + "solana-instruction", + "solana-pubkey", + "wasm-bindgen", +] + +[[package]] +name = "solana-sysvar" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8c3595f95069f3d90f275bb9bd235a1973c4d059028b0a7f81baca2703815db" +dependencies = [ + "base64 0.22.1", + "bincode", + "bytemuck", + "bytemuck_derive", + "lazy_static", + "serde", + "serde_derive", + "solana-account-info", + "solana-clock", + "solana-define-syscall 2.3.0", + "solana-epoch-rewards", + "solana-epoch-schedule", + "solana-fee-calculator", + "solana-hash", + "solana-instruction", + "solana-instructions-sysvar", + "solana-last-restart-slot", + "solana-program-entrypoint", + "solana-program-error", + "solana-program-memory", + "solana-pubkey", + "solana-rent", + "solana-sanitize", + "solana-sdk-ids", + "solana-sdk-macro", + "solana-slot-hashes", + "solana-slot-history", + "solana-stake-interface", + "solana-sysvar-id", +] + +[[package]] +name = "solana-sysvar-id" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5762b273d3325b047cfda250787f8d796d781746860d5d0a746ee29f3e8812c1" +dependencies = [ + "solana-pubkey", + "solana-sdk-ids", +] + +[[package]] +name = "solana-transaction-error" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "222a9dc8fdb61c6088baab34fc3a8b8473a03a7a5fd404ed8dd502fa79b67cb1" +dependencies = [ + "solana-instruction", + "solana-sanitize", +] + +[[package]] +name = "solana-vote-interface" +version = "2.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b80d57478d6599d30acc31cc5ae7f93ec2361a06aefe8ea79bc81739a08af4c3" +dependencies = [ + "bincode", + "num-derive", + "num-traits", + "serde", + "serde_derive", + "solana-clock", + "solana-decode-error", + "solana-hash", + "solana-instruction", + "solana-pubkey", + "solana-rent", + "solana-sdk-ids", + "solana-serde-varint", + "solana-serialize-utils", + "solana-short-vec", + "solana-system-interface", +] + +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +dependencies = [ + "lock_api", +] + +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der", +] + +[[package]] +name = "sppark" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9c900139f3f6fdc8db217881a946adf00e935102fdd82b0e1bc19bacbffa311" +dependencies = [ + "cc", + "which", +] + +[[package]] +name = "stability" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d904e7009df136af5297832a3ace3370cd14ff1546a232f4f185036c2736fcac" +dependencies = [ + "quote", + "syn 2.0.106", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "strum" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af23d6f6c1a224baef9d3f61e287d2761385a5b88fdab4eb4c6f11aeb54c4bcf" +dependencies = [ + "strum_macros", +] + +[[package]] +name = "strum_macros" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7695ce3845ea4b33927c055a39dc438a45b059f7c1b3d91d38d10355fb8cbca7" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.106", +] + +[[package]] +name = "subtle" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.106" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn-solidity" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff790eb176cc81bb8936aed0f7b9f14fc4670069a2d371b3e3b0ecce908b2cb3" +dependencies = [ + "paste", + "proc-macro2", + "quote", + "syn 2.0.106", +] + +[[package]] +name = "sync_wrapper" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +dependencies = [ + "futures-core", +] + +[[package]] +name = "synstructure" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.106", +] + +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "tempfile" +version = "3.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16" dependencies = [ "fastrand", "getrandom 0.3.3", @@ -4987,6 +6348,15 @@ dependencies = [ "tokio", ] +[[package]] +name = "toml" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" +dependencies = [ + "serde", +] + [[package]] name = "toml" version = "0.8.23" @@ -5233,6 +6603,12 @@ version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d" +[[package]] +name = "unicode-segmentation" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" + [[package]] name = "unicode-width" version = "0.2.1" @@ -5321,6 +6697,12 @@ dependencies = [ "try-lock", ] +[[package]] +name = "wasi" +version = "0.9.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" + [[package]] name = "wasi" version = "0.11.1+wasi-snapshot-preview1" diff --git a/arm/Cargo.toml b/arm/Cargo.toml index 629355cf..a6e3a910 100644 --- a/arm/Cargo.toml +++ b/arm/Cargo.toml @@ -11,6 +11,7 @@ risc0-zkvm = { version = "3.0.3", features = [ "std", "unstable", ], default-features = false } +groth_16_verifier = { git = "https://github.com/boundless-xyz/risc0-solana", package = "groth_16_verifier", tag = "v3.0.0", optional = true} serde = { version = "1.0.197", default-features = false } serde_with = "3.14.1" k256 = { version = "=0.13.3", features = [ @@ -34,7 +35,7 @@ thiserror = "2.0.6" default = ["transaction", "prove", "evm"] transaction = ["compliance_circuit"] evm = ["dep:sha3"] -solana = ["transaction", "dep:sha2"] +solana = ["transaction", "dep:sha2", "dep:groth16_verifier"] compliance_circuit = [] prove = ["risc0-zkvm/prove"] bonsai = ["risc0-zkvm/bonsai"] From 2ab6a2b98ae454e0bd4adb0de85030355215dfc2 Mon Sep 17 00:00:00 2001 From: agureev Date: Mon, 19 Jan 2026 20:41:45 +0400 Subject: [PATCH 07/10] Add Solana Dependencies --- Cargo.lock | 33 ++++++++++++++++++++++++++++++++- arm/Cargo.toml | 7 +++++-- 2 files changed, 37 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index cdbcfe91..a53403b1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -790,6 +790,7 @@ dependencies = [ name = "arm" version = "1.0.0" dependencies = [ + "anchor-lang", "bincode", "bytemuck", "groth_16_verifier", @@ -803,6 +804,7 @@ dependencies = [ "sha2 0.10.9", "sha3", "thiserror 2.0.17", + "verifier_router", ] [[package]] @@ -956,7 +958,7 @@ dependencies = [ "bitflags 2.9.4", "cexpr", "clang-sys", - "itertools 0.13.0", + "itertools 0.11.0", "log", "prettyplease", "proc-macro2", @@ -3624,6 +3626,25 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" +[[package]] +name = "ownable" +version = "0.1.0" +source = "git+https://github.com/boundless-xyz/risc0-solana?tag=v3.0.0#ee415935d04a948f27a346b563391900bdad6486" +dependencies = [ + "anchor-lang", + "ownable-macro", +] + +[[package]] +name = "ownable-macro" +version = "0.1.0" +source = "git+https://github.com/boundless-xyz/risc0-solana?tag=v3.0.0#ee415935d04a948f27a346b563391900bdad6486" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.106", +] + [[package]] name = "parity-scale-codec" version = "3.7.5" @@ -6673,6 +6694,16 @@ dependencies = [ "rustc_version 0.4.1", ] +[[package]] +name = "verifier_router" +version = "0.1.0" +source = "git+https://github.com/boundless-xyz/risc0-solana?tag=v3.0.0#ee415935d04a948f27a346b563391900bdad6486" +dependencies = [ + "anchor-lang", + "groth_16_verifier", + "ownable", +] + [[package]] name = "version_check" version = "0.9.5" diff --git a/arm/Cargo.toml b/arm/Cargo.toml index a6e3a910..63b27025 100644 --- a/arm/Cargo.toml +++ b/arm/Cargo.toml @@ -11,7 +11,10 @@ risc0-zkvm = { version = "3.0.3", features = [ "std", "unstable", ], default-features = false } -groth_16_verifier = { git = "https://github.com/boundless-xyz/risc0-solana", package = "groth_16_verifier", tag = "v3.0.0", optional = true} +solana_groth16_verifier = { git = "https://github.com/boundless-xyz/risc0-solana", package = "groth_16_verifier", tag = "v3.0.0", optional = true} +solana_verifier_router = { git = "https://github.com/boundless-xyz/risc0-solana", package = "verifier_router", tag = "v3.0.0", optional = true} +anchor-lang = {version = "0.31.1", optional = true} + serde = { version = "1.0.197", default-features = false } serde_with = "3.14.1" k256 = { version = "=0.13.3", features = [ @@ -35,7 +38,7 @@ thiserror = "2.0.6" default = ["transaction", "prove", "evm"] transaction = ["compliance_circuit"] evm = ["dep:sha3"] -solana = ["transaction", "dep:sha2", "dep:groth16_verifier"] +solana = ["transaction", "dep:sha2", "dep:solana_groth16_verifier", "dep:solana_verifier_router", "dep:anchor-lang"] compliance_circuit = [] prove = ["risc0-zkvm/prove"] bonsai = ["risc0-zkvm/bonsai"] From 1ec9a185777a6c5e95e68b302257cf560abc9854 Mon Sep 17 00:00:00 2001 From: agureev Date: Mon, 19 Jan 2026 20:42:40 +0400 Subject: [PATCH 08/10] Encode seal for Solana verification --- arm/src/proving_system.rs | 35 ++++++++++++++++++++++++++++++----- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/arm/src/proving_system.rs b/arm/src/proving_system.rs index 2e4a95bf..0a7fa435 100644 --- a/arm/src/proving_system.rs +++ b/arm/src/proving_system.rs @@ -4,10 +4,16 @@ use crate::error::ArmError; use risc0_zkvm::{sha::Digest, InnerReceipt, Receipt}; use serde::de::DeserializeOwned; +#[cfg(feature = "solana")] +use anchor_lang::prelude::AnchorSerialize; #[cfg(feature = "prove")] use risc0_zkvm::{default_prover, ExecutorEnv, ProverOpts, VerifierContext}; #[cfg(feature = "prove")] use serde::Serialize; +#[cfg(feature = "solana")] +use solana_groth16_verifier::{negate_g1, Proof}; +#[cfg(feature = "solana")] +use solana_verifier_router::{Seal, Selector}; /// Types of proofs supported. #[derive(Debug, Clone, Copy, PartialEq, Eq)] @@ -58,11 +64,30 @@ pub fn encode_seal(proof: &[u8]) -> Result, ArmError> { let seal = match inner { InnerReceipt::Groth16(receipt) => { let selector = &receipt.verifier_parameters.as_bytes()[..4]; - // Create a new vector with the capacity to hold both selector and seal - let mut selector_seal = Vec::with_capacity(selector.len() + receipt.seal.len()); - selector_seal.extend_from_slice(selector); - selector_seal.extend_from_slice(receipt.seal.as_ref()); - selector_seal + #[cfg(feature = "evm")] + { + // Create a new vector with the capacity to hold both selector and seal + let mut selector_seal = Vec::with_capacity(selector.len() + receipt.seal.len()); + selector_seal.extend_from_slice(selector); + selector_seal.extend_from_slice(receipt.seal.as_ref()); + selector_seal + } + + #[cfg(feature = "solana")] + { + let proof_raw = receipt.seal; + let mut proof = Proof { + pi_a: proof_raw[0..64].try_into().unwrap(), + pi_b: proof_raw[64..192].try_into().unwrap(), + pi_c: proof_raw[192..256].try_into().unwrap(), + }; + proof.pi_a = negate_g1(&proof.pi_a); + let seal = Seal { + selector: selector.try_into().unwrap(), + proof: proof, + }; + seal.try_to_vec().unwrap() + } } _ => Err(ArmError::UnsupportedProofType)?, }; From 5bc902aae8d1361ba12961b45b462a41734258f2 Mon Sep 17 00:00:00 2001 From: agureev Date: Mon, 19 Jan 2026 20:44:51 +0400 Subject: [PATCH 09/10] Change docstring for encode_seal --- arm/src/proving_system.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arm/src/proving_system.rs b/arm/src/proving_system.rs index 0a7fa435..84d86671 100644 --- a/arm/src/proving_system.rs +++ b/arm/src/proving_system.rs @@ -57,7 +57,7 @@ pub fn journal_to_instance(journal: &[u8]) -> Result Result, ArmError> { let inner: InnerReceipt = bincode::deserialize(proof).map_err(|_| ArmError::InnerReceiptDeserializationError)?; From 7a6c2e7e5c100c50028f46516cecbfa9c9127e52 Mon Sep 17 00:00:00 2001 From: agureev Date: Tue, 20 Jan 2026 17:16:50 +0400 Subject: [PATCH 10/10] Update verifying and proving keys --- arm/elfs/batch_aggregation.bin | Bin 326836 -> 326944 bytes arm/elfs/compliance-guest.bin | Bin 461260 -> 463868 bytes arm/elfs/sequential_aggregation.bin | Bin 325292 -> 325384 bytes arm/src/aggregation/constants.rs | 4 ++-- arm/src/constants.rs | 2 +- 5 files changed, 3 insertions(+), 3 deletions(-) diff --git a/arm/elfs/batch_aggregation.bin b/arm/elfs/batch_aggregation.bin index ca6af2703e52838b8f06292a4670da0c637a6ddd..1a81deeb8299e043dd6d50830a0f084d1424e95b 100644 GIT binary patch delta 61549 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 delta 61402 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

8RHS^W97^%Di4> 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�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 diff --git a/arm/elfs/sequential_aggregation.bin b/arm/elfs/sequential_aggregation.bin index b36a60a1bf344f5b795cfefc75ba85cf5b9b049b..be0ddbb18315ef906a821a1526e618faa4edc28b 100644 GIT binary patch delta 59028 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 delta 58968 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 diff --git a/arm/src/aggregation/constants.rs b/arm/src/aggregation/constants.rs index a7083605..50e4bea9 100644 --- a/arm/src/aggregation/constants.rs +++ b/arm/src/aggregation/constants.rs @@ -13,8 +13,8 @@ pub const BATCH_AGGREGATION_PK: &[u8] = include_bytes!("../../elfs/batch_aggrega lazy_static! { /// Sequential aggregation verification key / sequential aggregation image id. pub static ref SEQUENTIAL_AGGREGATION_VK: Digest = - Digest::from_hex("c5e69eb269d73d061c6ceeffe8da6eadfc3e3b48a5130979ee97a5b9aced6e4c").unwrap(); + Digest::from_hex("25782c2bbe597a2db31fcce28f6cd3e1aa423f2cb987aab0e881ed87b9369d13").unwrap(); /// Batch aggregation verification key / Batch aggregation image id. - pub static ref BATCH_AGGREGATION_VK: Digest = Digest::from_hex("6bd39fd7673afba6dbde9e024875ebce86b93fb49a28b7d0fde61abdf2b5f2bf").unwrap(); + pub static ref BATCH_AGGREGATION_VK: Digest = Digest::from_hex("4297db7ea74c296acd49ca55e160a6e930478da2605931ea0654d466c0f95099").unwrap(); } diff --git a/arm/src/constants.rs b/arm/src/constants.rs index 9d3a0f63..b8b83bf3 100644 --- a/arm/src/constants.rs +++ b/arm/src/constants.rs @@ -12,7 +12,7 @@ pub const PADDING_LOGIC_PK: &[u8] = include_bytes!("../elfs/trivial-logic-guest. lazy_static! { /// compliance verification key / compliance image id pub static ref COMPLIANCE_VK: Digest = - Digest::from_hex("0bccec1401e3bfc1b024f0c3abf520939d0166deba454b54a505582448cc97dd") + Digest::from_hex("1176e7f038c55009f369e2eafd1dd9bc5b51a6f5fc6369cc9f54779258f898fc") .unwrap(); /// padding logic verification key / compliance image id