use cosmwasm_std::{Binary, ContractInfo};
use serde::{Deserialize, Serialize};
pub static MIGRATED_FROM_KEY: &[u8] = b"migratedFrom";
pub static MIGRATED_TO_KEY: &[u8] = b"migratedTo";
pub static NOTIFY_ON_MIGRATION_COMPLETE_KEY: &[u8; 16] = b"notifyOnMigrated";
pub const CONTRACT_MODE_KEY: &[u8] = b"contractMode";
#[derive(serde_repr::Serialize_repr, serde_repr::Deserialize_repr, Debug, PartialEq)]
#[repr(u8)]
pub enum ContractMode {
MigrateDataIn = 1,
Running = 2,
MigrateOutStarted = 3,
MigratedOut = 4,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub struct MigratedFromState {
pub contract: ContractInfo,
pub migration_secret: Binary,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub struct MigratedToState {
pub contract: ContractInfo,
pub migration_secret: Binary,
}