diff --git a/base_layer/core/src/blocks/pre_mine/mod.rs b/base_layer/core/src/blocks/pre_mine/mod.rs index de52d00aa9..038300541a 100644 --- a/base_layer/core/src/blocks/pre_mine/mod.rs +++ b/base_layer/core/src/blocks/pre_mine/mod.rs @@ -113,6 +113,8 @@ pub struct UpfrontRelease { pub percentage: u64, /// The number of tokens it has to be divided into pub number_of_tokens: u64, + /// This is a tuple of custom valued upfront tokens (Tari value, block_height) + pub custom_upfront_tokens: Vec<(u64, u64)>, } fn get_expected_payout_period_blocks(network: Network) -> u64 { @@ -145,6 +147,8 @@ pub fn get_tokenomics_pre_mine_unlock_schedule(network: Network) -> UnlockSchedu upfront_release: Some(UpfrontRelease { percentage: 40, number_of_tokens: 20, + // 129,600 = 720 (blocks per day) * 30 (days per month) * 6 (months) + custom_upfront_tokens: vec![(1, 0), (1, 0), (1, 129_600), (1, 129_600)], }), expected_payout_period_blocks: get_expected_payout_period_blocks(network), }), @@ -252,6 +256,16 @@ pub fn create_pre_mine_output_values(schedule: UnlockSchedule) -> Result(); - assert_eq!(protocol_tokens_at_start, MicroMinotari::from(756_000_000 * 1_000_000)); + assert_eq!(protocol_tokens_at_start, MicroMinotari::from(756_000_002 * 1_000_000)); let all_tokens_at_start = pre_mine_items .iter() .filter(|item| item.maturity == 0) .map(|item| item.value) .sum::(); - assert_eq!(all_tokens_at_start, MicroMinotari::from(756_000_000 * 1_000_000)); + assert_eq!(all_tokens_at_start, MicroMinotari::from(756_000_002 * 1_000_000)); let community_tokens = pre_mine_items .iter() .filter(|item| item.beneficiary == "community")