COOPENOMICS  v1
Кооперативная Экономика
Файл projects.hpp
#include "plan_pool.hpp"
#include "fact_pool.hpp"
#include "crps.hpp"
#include "generation_amounts.hpp"
#include "votes.hpp"
#include "counts.hpp"
#include "global_state.hpp"

См. исходные тексты.

Классы

struct  Capital::project
 Таблица проектов хранит информацию о проектах кооператива, которые станут результатами. Подробнее...
 

Пространства имен

namespace  Capital
 
namespace  Capital::Projects
 
namespace  Capital::Projects::Status
 Константы статусов проекта
 

Определения типов

typedef eosio::multi_index<"projects"_n, project, indexed_by<"bycreatedat"_n, const_mem_fun< project, uint64_t, &project::by_created_at > >, indexed_by<"byhash"_n, const_mem_fun< project, checksum256, &project::by_hash > >, indexed_by<"byparenthash"_n, const_mem_fun< project, checksum256, &project::by_parent_hash > > > Capital::project_index
 

Функции

std::optional< project > Capital::Projects::get_project (eosio::name coopname, const checksum256 &project_hash)
 Получает проект по хэшу Подробнее...
 
project Capital::Projects::get_project_or_fail (eosio::name coopname, const checksum256 &project_hash)
 Получает проект по хэшу, если проект не найден, выбрасывает исключение Подробнее...
 
project Capital::Projects::get_project_by_id_or_fail (eosio::name coopname, const uint64_t project_id)
 Получает проект по id. Подробнее...
 
bool Capital::Projects::has_component_projects (eosio::name coopname, const checksum256 &project_hash)
 Есть ли у проекта дочерние проекты-компоненты (их parent_hash совпадает с хэшем родителя) Подробнее...
 
void Capital::Projects::validate_parent_hash (eosio::name coopname, const checksum256 &parent_hash)
 Проверяет валидность parent_hash согласно правилам проектов Подробнее...
 
void Capital::Projects::create_project (eosio::name coopname, const checksum256 &project_hash, const checksum256 &parent_hash, const std::string &title, const std::string &description, const std::string &invite, const std::string &meta, const std::string &data)
 Создает проект Подробнее...
 
void Capital::Projects::edit_project (eosio::name coopname, uint64_t project_id, const std::string &title, const std::string &description, const std::string &invite, const std::string &meta, const std::string &data)
 Редактирует существующий проект Подробнее...
 
void Capital::Projects::add_property_base (eosio::name coopname, uint64_t project_id, const eosio::asset &property_amount)
 Добавляет имущественный взнос к проекту. Подробнее...
 
void Capital::Projects::add_commit (eosio::name coopname, uint64_t project_id, const generation_amounts &delta)
 Добавляет коммит к проекту, обновляя фактические показатели и счетчик коммитов. Подробнее...
 
void Capital::Projects::set_master (eosio::name coopname, uint64_t project_id, eosio::name master)
 Назначает мастера проекта Подробнее...
 
void Capital::Projects::update_status (eosio::name coopname, uint64_t project_id, eosio::name new_status)
 Обновляет статус проекта. Подробнее...
 
void Capital::Projects::set_plan (eosio::name coopname, uint64_t project_id, const plan_pool &calculated_plan)
 Устанавливает плановые показатели проекта. Подробнее...
 
void Capital::Projects::add_investments (eosio::name coopname, uint64_t project_id, const eosio::asset &amount)
 Добавляет инвестицию к проекту. Подробнее...
 
void Capital::Projects::expand_expense_pool (eosio::name coopname, uint64_t project_id, const eosio::asset &additional_amount)
 Увеличивает целевой размер пула расходов проекта. Подробнее...
 
void Capital::Projects::open_project (eosio::name coopname, uint64_t project_id)
 Открывает проект для инвестиций, копируя плановые показатели расходов в фактические. Подробнее...
 
void Capital::Projects::close_project (eosio::name coopname, uint64_t project_id)
 Закрывает проект от инвестиций, устанавливая флаг is_opened = false. Подробнее...
 
void Capital::Projects::reserve_expense_funds (eosio::name coopname, uint64_t project_id, const eosio::asset &amount)
 Резервирует средства для расхода, уменьшая accumulated_expense_pool. Подробнее...
 
void Capital::Projects::return_expense_funds (eosio::name coopname, uint64_t project_id, const eosio::asset &amount)
 Возвращает зарезервированные средства в accumulated_expense_pool. Подробнее...
 
void Capital::Projects::complete_expense (eosio::name coopname, uint64_t project_id, const eosio::asset &amount)
 Завершает расход, добавляя сумму в used_expense_pool. Подробнее...
 
void Capital::Projects::increment_total_propertors (eosio::name coopname, uint64_t project_id)
 Увеличивает количество проперторов в проекте на 1. Подробнее...
 
void Capital::Projects::increment_total_investors (eosio::name coopname, uint64_t project_id)
 Увеличивает количество инвесторов в проекте на 1. Подробнее...
 
void Capital::Projects::increment_total_contributors (eosio::name coopname, uint64_t project_id)
 Увеличивает количество зарегистрированных участников в проекте на 1. Подробнее...
 
void Capital::Projects::increment_total_contributor_shares (eosio::name coopname, uint64_t project_id, eosio::asset shares)
 Увеличивает количество вкладчических долей в проекте на указанное количество Подробнее...
 
void Capital::Projects::increment_total_authors (eosio::name coopname, uint64_t project_id)
 Увеличивает количество авторов в проекте на 1. Подробнее...
 
void Capital::Projects::increment_total_coordinators (eosio::name coopname, uint64_t project_id)
 Увеличивает количество координаторов в проекте на 1. Подробнее...
 
void Capital::Projects::increment_total_creators (eosio::name coopname, uint64_t project_id)
 Увеличивает количество создателей в проекте на 1. Подробнее...
 
void Capital::Projects::increment_total_unique_participants (eosio::name coopname, uint64_t project_id)
 Увеличивает количество уникальных участников в проекте на 1. Подробнее...
 
void Capital::Projects::increment_votes_received (eosio::name coopname, uint64_t project_id)
 Увеличивает счетчик полученных голосов в проекте Подробнее...
 
void Capital::Projects::increase_total_returned_investments (eosio::name coopname, const uint64_t &project_id, const eosio::asset &amount)
 
void Capital::Projects::add_used_for_compensation (eosio::name coopname, uint64_t project_id, const eosio::asset &amount)
 Увеличивает сумму использованных для компенсации инвестиций Подробнее...
 
void Capital::Projects::subtract_used_for_compensation (eosio::name coopname, uint64_t project_id, const eosio::asset &amount)
 Уменьшает сумму использованных для компенсации инвестиций Подробнее...
 
void Capital::Projects::increment_converted_segments (eosio::name coopname, uint64_t project_id)
 Инкрементирует счётчик сконвертированных сегментов Подробнее...
 
bool Capital::Projects::are_all_segments_converted (eosio::name coopname, uint64_t project_id)
 Проверяет завершили ли все участники конвертацию сегментов Подробнее...
 
void Capital::Projects::delete_project (eosio::name coopname, uint64_t project_id)
 Удаляет проект Подробнее...
 
void Capital::Projects::authorize_project (eosio::name coopname, uint64_t project_id, const document2 &decision)
 Устанавливает авторизацию проекта советом Подробнее...
 
void Capital::Projects::revoke_authorization (eosio::name coopname, uint64_t project_id)
 Сбрасывает авторизацию проекта Устанавливает флаг авторизации в false и очищает документ авторизации Подробнее...
 
void Capital::Projects::increment_total_voters (eosio::name coopname, uint64_t project_id)
 Увеличивает счетчик общего количества участников голосования в проекте Подробнее...
 

Переменные

const eosio::name Capital::Projects::Status::PENDING = "pending"_n
 Проект создан Подробнее...
 
const eosio::name Capital::Projects::Status::ACTIVE = "active"_n
 Проект активен для коммитов Подробнее...
 
const eosio::name Capital::Projects::Status::VOTING = "voting"_n
 Проект на голосовании Подробнее...
 
const eosio::name Capital::Projects::Status::RESULT = "result"_n
 Проект завершен Подробнее...
 
const eosio::name Capital::Projects::Status::FINALIZED = "finalized"_n
 Проект финализирован (все конвертации завершены, неиспользованные средства возвращены) Подробнее...
 
const eosio::name Capital::Projects::Status::CANCELLED = "cancelled"_n
 Проект отменен Подробнее...