use algonaut_encoding::Bytes;
#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct ApplicationParams {
#[serde(rename = "approval-program")]
pub approval_program: Bytes,
#[serde(rename = "clear-state-program")]
pub clear_state_program: Bytes,
#[serde(rename = "creator")]
pub creator: String,
#[serde(
rename = "extra-program-pages",
skip_serializing_if = "Option::is_none"
)]
pub extra_program_pages: Option<u64>,
#[serde(rename = "global-state", skip_serializing_if = "Option::is_none")]
pub global_state: Option<Vec<crate::models::TealKeyValue>>,
#[serde(
rename = "global-state-schema",
skip_serializing_if = "Option::is_none"
)]
pub global_state_schema: Option<Box<crate::models::ApplicationStateSchema>>,
#[serde(rename = "local-state-schema", skip_serializing_if = "Option::is_none")]
pub local_state_schema: Option<Box<crate::models::ApplicationStateSchema>>,
}
impl ApplicationParams {
pub fn new(
approval_program: Bytes,
clear_state_program: Bytes,
creator: String,
) -> ApplicationParams {
ApplicationParams {
approval_program,
clear_state_program,
creator,
extra_program_pages: None,
global_state: None,
global_state_schema: None,
local_state_schema: None,
}
}
}