CatapultServer  v0.5.0.1 (Elephant)
CalculatorUtils.h
Go to the documentation of this file.
1 
21 #pragma once
23 
24 namespace catapult {
25  namespace model { struct BlockChainConfiguration; }
26  namespace state {
27  class AccountActivityBuckets;
28  struct AccountState;
29  }
30 }
31 
32 namespace catapult { namespace importance {
33 
38 
40  uint32_t BeneficiaryCount = 0;
41 
44  };
45 
47  struct AccountSummary {
48  public:
50  AccountSummary(const AccountActivitySummary& activitySummary, state::AccountState& accountState)
51  : ActivitySummary(activitySummary)
52  , pAccountState(&accountState)
53  {}
54 
55  public:
58 
61 
64 
67  };
68 
71  public:
74 
76  uint64_t TotalBeneficiaryCount = 0;
77 
80 
83  };
84 
89  Height::ValueType importanceGrouping,
90  const state::AccountActivityBuckets& buckets);
91 
94 
97  AccountSummary& accountSummary,
98  const ImportanceCalculationContext& context,
99  const model::BlockChainConfiguration& config);
100 }}
catapult::importance::AccountActivitySummary::TotalFeesPaid
Amount TotalFeesPaid
Total fees paid by account.
Definition: CalculatorUtils.h:37
catapult::importance::ImportanceCalculationContext::TotalBeneficiaryCount
uint64_t TotalBeneficiaryCount
Total beneficiary count.
Definition: CalculatorUtils.h:76
catapult::importance::CalculateImportances
void CalculateImportances(AccountSummary &accountSummary, const ImportanceCalculationContext &context, const model::BlockChainConfiguration &config)
Calculates stake and activity importances using context and config and stores resulting importances i...
Definition: CalculatorUtils.cpp:116
catapult::importance::FinalizeAccountActivity
void FinalizeAccountActivity(model::ImportanceHeight height, Importance importance, state::AccountActivityBuckets &buckets)
Finalizes account activity information contained in buckets at height with specified importance.
Definition: CalculatorUtils.cpp:106
ImportanceHeight.h
catapult::importance::AccountActivitySummary::BeneficiaryCount
uint32_t BeneficiaryCount
Number of times account has been used as a beneficiary.
Definition: CalculatorUtils.h:40
catapult::importance::ImportanceCalculationContext::ActiveHarvestingMosaics
Amount ActiveHarvestingMosaics
Total active harvesting mosaics.
Definition: CalculatorUtils.h:73
catapult::model::ImportanceHeight
utils::BaseValue< Height::ValueType, ImportanceHeight_tag > ImportanceHeight
Represents a height at which importance is calculated.
Definition: ImportanceHeight.h:29
catapult::model::BlockChainConfiguration
Block chain configuration settings.
Definition: BlockChainConfiguration.h:33
BlockChainConfiguration.h
catapult::utils::BasicBaseValue< uint64_t, Height_tag, BaseValue< uint64_t, Height_tag > >::ValueType
uint64_t ValueType
Raw value type.
Definition: BaseValue.h:33
catapult::state::AccountState
Account state data.
Definition: AccountState.h:44
catapult::state::AccountActivityBuckets
Stack of account activity buckets.
Definition: AccountActivityBuckets.h:29
catapult::state::AccountBalances::get
Amount get(MosaicId mosaicId) const
Returns amount of funds of a given mosaic (mosaicId).
Definition: AccountBalances.cpp:54
CalculatorUtils.h
catapult::importance::ImportanceCalculationContext
Context for importance calculation.
Definition: CalculatorUtils.h:70
catapult::model::BlockChainConfiguration::MinHarvesterBalance
Amount MinHarvesterBalance
Minimum number of harvesting mosaic atomic units needed for an account to be eligible for harvesting.
Definition: BlockChainConfiguration.h:88
catapult::importance::AccountActivitySummary::PreviousImportance
Importance PreviousImportance
Previous account importance.
Definition: CalculatorUtils.h:43
catapult::importance::AccountSummary::ActivitySummary
AccountActivitySummary ActivitySummary
Account activity summary.
Definition: CalculatorUtils.h:57
catapult::utils::BasicBaseValue::unwrap
constexpr ValueType unwrap() const
Unwraps this value and returns the underlying raw value.
Definition: BaseValue.h:53
catapult::utils::BaseValue< Height::ValueType, ImportanceHeight_tag >
catapult::model::BlockChainConfiguration::TotalChainImportance
Importance TotalChainImportance
Total whole importance units available in the network.
Definition: BlockChainConfiguration.h:85
catapult::importance::ImportanceCalculationContext::TotalActivityImportance
Importance TotalActivityImportance
Total importance due to account activity.
Definition: CalculatorUtils.h:82
m_height
model::ImportanceHeight m_height
Definition: CalculatorUtils.cpp:70
catapult::importance::ImportanceCalculationContext::TotalFeesPaid
Amount TotalFeesPaid
Total fees paid.
Definition: CalculatorUtils.h:79
catapult::importance::SummarizeAccountActivity
AccountActivitySummary SummarizeAccountActivity(model::ImportanceHeight height, Height::ValueType importanceGrouping, const state::AccountActivityBuckets &buckets)
Definition: CalculatorUtils.cpp:75
catapult::importance::AccountSummary
Summarized account information.
Definition: CalculatorUtils.h:47
catapult::importance::AccountActivitySummary
Summarized account activity information.
Definition: CalculatorUtils.h:35
catapult::Rollback_Buffer_Size
constexpr size_t Rollback_Buffer_Size
Number of buffer values required to guarantee deterministic rollbacks.
Definition: src/catapult/constants.h:27
AccountActivityBuckets.h
catapult::cache::CacheId::AccountState
catapult::importance::AccountSummary::pAccountState
state::AccountState * pAccountState
Account state.
Definition: CalculatorUtils.h:60
AccountState.h
catapult::state::AccountActivityBuckets::update
void update(model::ImportanceHeight height, const consumer< HeightDetachedActivityBucket & > &consumer)
Definition: AccountActivityBuckets.cpp:33
catapult::state::AccountState::Balances
AccountBalances Balances
Balances of an account.
Definition: AccountState.h:82
CATAPULT_THROW_INVALID_ARGUMENT
#define CATAPULT_THROW_INVALID_ARGUMENT(MESSAGE)
Macro used to throw a catapult invalid argument.
Definition: exceptions.h:179
catapult::Activity_Bucket_History_Size
constexpr size_t Activity_Bucket_History_Size
Definition: src/catapult/constants.h:34
catapult
Definition: AddressExtractionExtension.cpp:28
catapult::model::BlockChainConfiguration::ImportanceActivityPercentage
uint8_t ImportanceActivityPercentage
Percentage of importance resulting from fee generation and beneficiary usage.
Definition: BlockChainConfiguration.h:64
catapult::importance::AccountSummary::StakeImportance
Importance StakeImportance
Importance due to account stake.
Definition: CalculatorUtils.h:63
m_importanceGrouping
Height::ValueType m_importanceGrouping
Definition: CalculatorUtils.cpp:71
catapult::model::BlockChainConfiguration::HarvestingMosaicId
MosaicId HarvestingMosaicId
Mosaic id used to provide harvesting ability.
Definition: BlockChainConfiguration.h:48
catapult::importance::AccountSummary::AccountSummary
AccountSummary(const AccountActivitySummary &activitySummary, state::AccountState &accountState)
Creates an account summary around activitySummary and accountState.
Definition: CalculatorUtils.h:50
catapult::importance::AccountSummary::ActivityImportance
Importance ActivityImportance
Importance due to account activity.
Definition: CalculatorUtils.h:66