diff --git a/Cargo.lock b/Cargo.lock index 7ed6d55..1010857 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5636,6 +5636,7 @@ dependencies = [ "reqwest 0.12.7", "secp256k1 0.29.1", "serde", + "serde_with 3.9.0", "teepot", "tokio", "tracing", diff --git a/bin/verify-era-proof-attestation/Cargo.toml b/bin/verify-era-proof-attestation/Cargo.toml index b0b8909..acd88a9 100644 --- a/bin/verify-era-proof-attestation/Cargo.toml +++ b/bin/verify-era-proof-attestation/Cargo.toml @@ -16,6 +16,7 @@ jsonrpsee-types.workspace = true reqwest.workspace = true secp256k1.workspace = true serde.workspace = true +serde_with = { workspace = true, features = ["hex"] } teepot.workspace = true tokio.workspace = true tracing.workspace = true diff --git a/bin/verify-era-proof-attestation/src/proof.rs b/bin/verify-era-proof-attestation/src/proof.rs index 6f1fdb7..3cd0ec1 100644 --- a/bin/verify-era-proof-attestation/src/proof.rs +++ b/bin/verify-era-proof-attestation/src/proof.rs @@ -5,6 +5,7 @@ use anyhow::{bail, Result}; use jsonrpsee_types::error::ErrorObject; use reqwest::Client; use serde::{Deserialize, Serialize}; +use serde_with::{hex::Hex, serde_as}; use std::time::Duration; use tokio::sync::watch; use tracing::{error, warn}; @@ -146,14 +147,19 @@ pub struct GetProofsResponse { pub error: Option>, } +#[serde_as] #[derive(Debug, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] pub struct Proof { pub l1_batch_number: u32, pub tee_type: String, + #[serde_as(as = "Hex")] pub pubkey: Vec, + #[serde_as(as = "Hex")] pub signature: Vec, + #[serde_as(as = "Hex")] pub proof: Vec, pub proved_at: String, + #[serde_as(as = "Hex")] pub attestation: Vec, }