From 8598f75a8d7d59a4d82e67f1b4deb9956147066d Mon Sep 17 00:00:00 2001 From: Thibault Martinez Date: Wed, 6 Dec 2023 13:21:37 +0100 Subject: [PATCH 1/3] Add ManaParameters::annual_decay_factor_percentage --- sdk/src/types/block/mana/parameters.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sdk/src/types/block/mana/parameters.rs b/sdk/src/types/block/mana/parameters.rs index fd5ffd44c8..49eba76c00 100644 --- a/sdk/src/types/block/mana/parameters.rs +++ b/sdk/src/types/block/mana/parameters.rs @@ -21,11 +21,13 @@ use crate::types::block::{ pub struct ManaParameters { /// The number of bits used to represent Mana. pub(crate) bits_count: u8, - /// The amount of potential Mana generated by 1 IOTA in 1 slot. + /// The amount of potential Mana generated by 1 microIOTA in 1 slot multiplied by 2^generation_rate_exponent. pub(crate) generation_rate: u8, /// The scaling of `mana_generation_rate` expressed as an exponent of 2. + /// The actual generation rate of Mana is given by generation_rate * 2^(-generation_rate_exponent). pub(crate) generation_rate_exponent: u8, /// A lookup table of epoch index diff to mana decay factor. + /// The actual decay factor is given by decay_factors[epoch_diff] * 2^(-decay_factors_exponent). #[packable(unpack_error_with = |_| Error::InvalidManaDecayFactors)] #[cfg_attr(feature = "serde", serde(with = "crate::utils::serde::boxed_slice_prefix"))] #[getset(skip)] @@ -36,6 +38,8 @@ pub struct ManaParameters { pub(crate) decay_factor_epochs_sum: u32, /// The scaling of `mana_decay_factor_epochs_sum` expressed as an exponent of 2. pub(crate) decay_factor_epochs_sum_exponent: u8, + // Decay factor for 1 year. + pub(crate) annual_decay_factor_percentage: u8, } impl ManaParameters { @@ -99,6 +103,7 @@ impl Default for ManaParameters { decay_factors_exponent: Default::default(), decay_factor_epochs_sum: Default::default(), decay_factor_epochs_sum_exponent: Default::default(), + annual_decay_factor_percentage: Default::default(), } } } From da35377ca82d97a9b22b4abf9cd969fce528eb3f Mon Sep 17 00:00:00 2001 From: Thibault Martinez Date: Wed, 6 Dec 2023 15:10:29 +0100 Subject: [PATCH 2/3] Out of date docs --- sdk/src/types/block/mana/parameters.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk/src/types/block/mana/parameters.rs b/sdk/src/types/block/mana/parameters.rs index 49eba76c00..65e8ca8d04 100644 --- a/sdk/src/types/block/mana/parameters.rs +++ b/sdk/src/types/block/mana/parameters.rs @@ -23,7 +23,7 @@ pub struct ManaParameters { pub(crate) bits_count: u8, /// The amount of potential Mana generated by 1 microIOTA in 1 slot multiplied by 2^generation_rate_exponent. pub(crate) generation_rate: u8, - /// The scaling of `mana_generation_rate` expressed as an exponent of 2. + /// The scaling of `generation_rate` expressed as an exponent of 2. /// The actual generation rate of Mana is given by generation_rate * 2^(-generation_rate_exponent). pub(crate) generation_rate_exponent: u8, /// A lookup table of epoch index diff to mana decay factor. @@ -36,7 +36,7 @@ pub struct ManaParameters { pub(crate) decay_factors_exponent: u8, /// An integer approximation of the sum of decay over epochs. pub(crate) decay_factor_epochs_sum: u32, - /// The scaling of `mana_decay_factor_epochs_sum` expressed as an exponent of 2. + /// The scaling of `decay_factor_epochs_sum` expressed as an exponent of 2. pub(crate) decay_factor_epochs_sum_exponent: u8, // Decay factor for 1 year. pub(crate) annual_decay_factor_percentage: u8, From 9e68f58cb14d3ccdb871be78afc1a672fa12f80a Mon Sep 17 00:00:00 2001 From: Thibault Martinez Date: Wed, 6 Dec 2023 15:20:16 +0100 Subject: [PATCH 3/3] fmt --- sdk/src/types/block/protocol/mod.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sdk/src/types/block/protocol/mod.rs b/sdk/src/types/block/protocol/mod.rs index 2c200bc596..43a6ebd316 100644 --- a/sdk/src/types/block/protocol/mod.rs +++ b/sdk/src/types/block/protocol/mod.rs @@ -91,7 +91,8 @@ pub struct ProtocolParameters { /// Defines the target size of the committee. If there's fewer candidates the actual committee size could be /// smaller in a given epoch. pub(crate) target_committee_size: u8, - /// Defines the number of heavier slots that a chain needs to be ahead of the current chain to be considered for switching. + /// Defines the number of heavier slots that a chain needs to be ahead of the current chain to be considered for + /// switching. pub(crate) chain_switching_threshold: u8, }