photon-api 0.54.0

Solana indexer for general compression
Documentation
/*
 * photon-indexer
 *
 * Solana indexer for general compression
 *
 * The version of the OpenAPI document: 0.50.0
 *
 * Generated by: https://openapi-generator.tech
 */

use crate::models;

/// State queue data with shared tree nodes for output and input queues
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
#[allow(clippy::too_many_arguments)]
pub struct StateQueueDataV2 {
    /// Shared deduplicated tree nodes for state queues (output + input)
    #[serde(skip_serializing_if = "Vec::is_empty", default)]
    pub nodes: Vec<models::Node>,
    /// Initial root for the state tree (shared by output and input queues)
    pub initial_root: String,
    /// Sequence number of the root
    pub root_seq: u64,
    #[serde(skip_serializing_if = "Option::is_none")]
    pub output_queue: Option<Box<models::OutputQueueDataV2>>,
    #[serde(skip_serializing_if = "Option::is_none")]
    pub input_queue: Option<Box<models::InputQueueDataV2>>,
}

impl StateQueueDataV2 {
    pub fn new(initial_root: String, root_seq: u64) -> StateQueueDataV2 {
        StateQueueDataV2 {
            nodes: Vec::new(),
            initial_root,
            root_seq,
            output_queue: None,
            input_queue: None,
        }
    }
}