pub const CRUZBITS_PER_CRUZ: u64 = 100000000;
pub const INITIAL_COINBASE_REWARD: u64 = 50 * CRUZBITS_PER_CRUZ;
pub const COINBASE_MATURITY: u64 = 100;
pub const INITIAL_TARGET: &str = "00000000ffff0000000000000000000000000000000000000000000000000000";
pub const MAX_FUTURE_SECONDS: u64 = 2 * 60 * 60;
pub const MAX_MONEY: u64 = 21000000 * CRUZBITS_PER_CRUZ;
pub const RETARGET_INTERVAL: u64 = 2016;
pub const RETARGET_TIME: u64 = 1209600;
pub const TARGET_SPACING: u64 = 600;
pub const NUM_BLOCKS_FOR_MEDIAN_TIMESTAMP: u64 = 11;
pub const BLOCKS_UNTIL_REWARD_HALVING: u64 = 210000;
pub const RETARGET_SMA_WINDOW: u64 = 144;
pub const INITIAL_MAX_TRANSACTIONS_PER_BLOCK: u32 = 10000;
pub const BLOCKS_UNTIL_TRANSACTIONS_PER_BLOCK_DOUBLING: u64 = 105000;
pub const MAX_TRANSACTIONS_PER_BLOCK: u32 = (1 << 31) - 1;
pub const MAX_TRANSACTIONS_PER_BLOCK_EXCEEDED_AT_HEIGHT: u64 = 1852032;
pub const BLOCKS_UNTIL_NEW_SERIES: u64 = 1008;
pub const MAX_MEMO_LENGTH: usize = 100;
pub const MAX_NUMBER: u64 = (1 << 53) - 1;
pub const BITCOIN_CASH_RETARGET_ALGORITHM_HEIGHT: u64 = 28861;
pub const DEFAULT_CRUZBIT_PORT: u16 = 8831;
pub const MAX_OUTBOUND_PEER_CONNECTIONS: usize = 8;
pub const MAX_INBOUND_PEER_CONNECTIONS: usize = 128;
pub const MAX_INBOUND_PEER_CONNECTIONS_FROM_SAME_HOST: usize = 4;
pub const MAX_TIP_AGE: u64 = 24 * 60 * 60;
pub const MAX_PROTOCOL_MESSAGE_LENGTH: usize = 2 * 1024 * 1024;
pub const MAX_TRANSACTIONS_TO_INCLUDE_PER_BLOCK: u32 = INITIAL_MAX_TRANSACTIONS_PER_BLOCK;
pub const MAX_TRANSACTION_QUEUE_LENGTH: u32 = MAX_TRANSACTIONS_TO_INCLUDE_PER_BLOCK * 10;
pub const MIN_FEE_CRUZBITS: u64 = 1000000;
pub const MIN_AMOUNT_CRUZBITS: u64 = 1000000;