use cosmwasm_std::Uint128;
use schemars::JsonSchema;
use serde::{Deserialize, Serialize};
use super::handle_msg::NetworkSettings;
#[derive(Serialize, Deserialize, Clone, Debug, Eq, PartialEq, JsonSchema)]
pub struct InstantiateMsg {
pub owner: Option<String>,
pub bulk_distributor_settings: BulkSettings,
pub dx_token_settings: DxTokenSettings,
pub network_settings: NetworkSettings,
pub validators: Vec<ValidatorSetting>,
pub external_source_operator: Option<String>, }
#[derive(Serialize, Deserialize, Eq, PartialEq, Debug, Clone, JsonSchema)]
pub struct BulkSettings {
pub existing_address: Option<String>,
pub code_id: Option<u64>,
pub distribute_rewards_over: u64,
}
#[derive(Serialize, Deserialize, Eq, PartialEq, Debug, Clone, JsonSchema)]
pub struct DxTokenSettings {
pub existing_address: Option<String>,
pub create_token: Option<CreateDxTokenSettings>,
}
#[derive(Serialize, Deserialize, Eq, PartialEq, Debug, Clone, JsonSchema)]
pub struct CreateDxTokenSettings {
pub code_id: u64,
pub name: String,
pub symbol: String,
pub label: String,
pub decimals: u8,
}
#[derive(Serialize, Deserialize, Eq, PartialEq, Debug, Clone, JsonSchema)]
pub struct ValidatorSetting {
pub address: String,
pub per: Uint128, }