/*
 * 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;

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct GetBatchAddressUpdateInfoPost200ResponseResult {
    #[serde(rename = "addresses")]
    pub addresses: Vec<models::AddressQueueIndex>,
    #[serde(rename = "context")]
    pub context: Box<models::Context>,
    #[serde(rename = "nonInclusionProofs")]
    pub non_inclusion_proofs: Vec<models::MerkleContextWithNewAddressProof>,
    #[serde(rename = "startIndex")]
    pub start_index: u64,
    #[serde(rename = "subtrees")]
    pub subtrees: Vec<Vec<u8>>,
}

impl GetBatchAddressUpdateInfoPost200ResponseResult {
    pub fn new(
        addresses: Vec<models::AddressQueueIndex>,
        context: models::Context,
        non_inclusion_proofs: Vec<models::MerkleContextWithNewAddressProof>,
        start_index: u64,
        subtrees: Vec<Vec<u8>>,
    ) -> GetBatchAddressUpdateInfoPost200ResponseResult {
        GetBatchAddressUpdateInfoPost200ResponseResult {
            addresses,
            context: Box::new(context),
            non_inclusion_proofs,
            start_index,
            subtrees,
        }
    }
}
