COOPENOMICS  v1
Кооперативная Экономика
voting.hpp
См. документацию.
1#pragma once
2
3#include <eosio/eosio.hpp>
4#include <eosio/asset.hpp>
5#include "../../entities/projects.hpp"
6#include "../../entities/segments.hpp"
7
8using namespace eosio;
9
10namespace Capital::Core::Voting {
11
17 void initialize_project_voting(name coopname, checksum256 project_hash);
18
22 voting_amounts calculate_voting_amounts(const eosio::asset& authors_bonus_pool,
23 const eosio::asset& creators_bonus_pool,
24 uint64_t total_author_shares,
25 uint32_t total_voters,
26 double authors_voting_percent = 38.2,
27 double creators_voting_percent = 38.2);
28
29
37 eosio::asset calculate_voting_final_amount(name coopname, checksum256 project_hash, name participant);
38
45 eosio::asset calculate_equal_author_bonus(const Capital::project& project, const Capital::Segments::segment& segment);
46
53 eosio::asset calculate_direct_creator_bonus(const Capital::project& project, const Capital::Segments::segment& segment);
54
61 bool is_voting_completed(const Capital::project& project);
62
69 void update_voting_status(eosio::name coopname, const checksum256 &project_hash, eosio::name username);
70
71} // namespace Capital::Core
Definition: voting.cpp:6
eosio::asset calculate_equal_author_bonus(const Capital::project &project, const Capital::Segments::segment &segment)
Рассчитывает равную премию автора
Definition: voting.cpp:124
voting_amounts calculate_voting_amounts(const eosio::asset &authors_bonus_pool, const eosio::asset &creators_bonus_pool, uint64_t total_authors, uint32_t total_voters, double authors_voting_percent, double creators_voting_percent)
Рассчитывает все суммы для голосования по пулам
Definition: voting.cpp:33
void initialize_project_voting(name coopname, checksum256 project_hash)
Инициализирует голосование по проекту при его завершении
Definition: voting.cpp:8
eosio::asset calculate_voting_final_amount(name coopname, checksum256 project_hash, name participant)
Рассчитывает итоговые суммы для участника по методу Водянова
Definition: voting.cpp:102
bool is_voting_completed(const Capital::project &project)
Проверяет, завершено ли голосование Досрочно: все проголосовали. По дедлайну: срок истек И хотя бы од...
Definition: voting.cpp:144
eosio::asset calculate_direct_creator_bonus(const Capital::project &project, const Capital::Segments::segment &segment)
Рассчитывает прямую премию создателя
Definition: voting.cpp:132
void update_voting_status(eosio::name coopname, const checksum256 &project_hash, eosio::name username)
Обновляет статус сегмента участника, предоставляя ему право голоса, если это необходимо
Definition: voting.cpp:164
Definition: eosio.msig.hpp:34
Таблица сегментов хранит данные о вкладах участника в проект.
Definition: segments.hpp:30
Таблица проектов хранит информацию о проектах кооператива, которые станут результатами.
Definition: projects.hpp:40
Таблица участников кооператива
Definition: coops.hpp:181