openmina_core/snark/
snark_info.rs

1use mina_p2p_messages::{
2    binprot::macros::{BinProtRead, BinProtWrite},
3    v2::{CurrencyFeeStableV1, NonZeroCurvePoint},
4};
5use serde::{Deserialize, Serialize};
6
7use super::SnarkJobId;
8
9#[derive(BinProtWrite, BinProtRead, Serialize, Deserialize, Debug, Clone)]
10pub struct SnarkInfo {
11    pub job_id: SnarkJobId,
12    pub fee: CurrencyFeeStableV1,
13    pub prover: NonZeroCurvePoint,
14}
15
16impl SnarkInfo {
17    pub fn tie_breaker_hash(&self) -> [u8; 32] {
18        super::tie_breaker_hash(&self.job_id, &self.prover)
19    }
20}