mod bid;
mod constants;
mod delegator;
mod entry_points;
mod era_info;
mod error;
mod seigniorage_recipient;
mod unbonding_purse;
mod withdraw_purse;
use alloc::{collections::BTreeMap, vec::Vec};
pub use bid::{Bid, VESTING_SCHEDULE_LENGTH_MILLIS};
pub use constants::*;
pub use delegator::Delegator;
pub use entry_points::auction_entry_points;
pub use era_info::{EraInfo, SeigniorageAllocation};
pub use error::Error;
pub use seigniorage_recipient::SeigniorageRecipient;
pub use unbonding_purse::UnbondingPurse;
pub use withdraw_purse::WithdrawPurse;
#[cfg(any(feature = "testing", test))]
pub(crate) mod gens {
pub use super::era_info::gens::*;
}
use crate::{account::AccountHash, EraId, PublicKey, U512};
pub type DelegationRate = u8;
pub type Bids = BTreeMap<PublicKey, Bid>;
pub type ValidatorWeights = BTreeMap<PublicKey, U512>;
pub type EraValidators = BTreeMap<EraId, ValidatorWeights>;
pub type SeigniorageRecipients = BTreeMap<PublicKey, SeigniorageRecipient>;
pub type SeigniorageRecipientsSnapshot = BTreeMap<EraId, SeigniorageRecipients>;
pub type UnbondingPurses = BTreeMap<AccountHash, Vec<UnbondingPurse>>;
pub type WithdrawPurses = BTreeMap<AccountHash, Vec<WithdrawPurse>>;