use crate::types::primitives::AccountId; use borsh::{BorshDeserialize, BorshSerialize}; use serde::{Deserialize, Serialize}; use std::collections::BTreeMap; type Sha256Digest = [u8; 32]; #[derive( Debug, Clone, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize, BorshSerialize, BorshDeserialize, )] #[cfg_attr( all(feature = "abi", not(target_arch = "wasm32")), derive(schemars::JsonSchema) )] pub struct ProposedUpdates { pub votes: BTreeMap, pub updates: BTreeMap, } /// An update hash #[derive( Debug, Clone, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize, BorshSerialize, BorshDeserialize, )] #[cfg_attr( all(feature = "abi", not(target_arch = "wasm32")), derive(schemars::JsonSchema) )] pub enum UpdateHash { Code(Sha256Digest), Config(Sha256Digest), }