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

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct InputQueueDataV2 {
    #[serde(rename = "leafIndices")]
    pub leaf_indices: Vec<u64>,
    #[serde(rename = "accountHashes")]
    pub account_hashes: Vec<String>,
    #[serde(rename = "leaves")]
    pub leaves: Vec<String>,
    #[serde(rename = "txHashes")]
    pub tx_hashes: Vec<String>,
    #[serde(rename = "nullifiers")]
    pub nullifiers: Vec<String>,
    #[serde(rename = "firstQueueIndex")]
    pub first_queue_index: u64,
    #[serde(rename = "leavesHashChains")]
    pub leaves_hash_chains: Vec<String>,
}

impl InputQueueDataV2 {
    pub fn new(
        leaf_indices: Vec<u64>,
        account_hashes: Vec<String>,
        leaves: Vec<String>,
        tx_hashes: Vec<String>,
        nullifiers: Vec<String>,
        first_queue_index: u64,
        leaves_hash_chains: Vec<String>,
    ) -> InputQueueDataV2 {
        InputQueueDataV2 {
            leaf_indices,
            account_hashes,
            leaves,
            tx_hashes,
            nullifiers,
            first_queue_index,
            leaves_hash_chains,
        }
    }
}
