pub mod post;
mod registered_proof;
mod seal;
use std::fmt;
use fvm_ipld_encoding::repr::*;
use fvm_ipld_encoding::tuple::*;
use num_bigint::BigInt;
use num_derive::FromPrimitive;
pub use self::post::*;
pub use self::registered_proof::*;
pub use self::seal::*;
use crate::ActorID;
pub type SectorNumber = u64;
pub const MAX_SECTOR_NUMBER: SectorNumber = i64::MAX as u64;
pub type StoragePower = BigInt;
pub type Spacetime = BigInt;
pub type SectorQuality = BigInt;
#[derive(Clone, Debug, PartialEq, Eq, Copy, FromPrimitive, Serialize_repr, Deserialize_repr)]
#[repr(u64)]
pub enum SectorSize {
_2KiB = 2 << 10,
_8MiB = 8 << 20,
_512MiB = 512 << 20,
_32GiB = 32 << 30,
_64GiB = 2 * (32 << 30),
}
impl fmt::Display for SectorSize {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(f, "{}", *self as u64)
}
}
#[derive(Clone, Debug, Default, PartialEq, Eq, Serialize_tuple, Deserialize_tuple)]
pub struct SectorID {
pub miner: ActorID,
pub number: SectorNumber,
}