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 "membership_crps.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)
 Получает проект по хэшу, если проект не найден, выбрасывает исключение Подробнее...
 
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 &meta, bool can_convert_to_project)
 Создает проект Подробнее...
 
void Capital::Projects::add_property_base (eosio::name coopname, const checksum256 &project_hash, const eosio::asset &property_amount)
 Добавляет имущественный взнос к проекту. Подробнее...
 
void Capital::Projects::add_commit (eosio::name coopname, const checksum256 &project_hash, 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, const checksum256 &project_hash, eosio::name new_status)
 Обновляет статус проекта. Подробнее...
 
void Capital::Projects::set_plan (eosio::name coopname, const checksum256 &project_hash, const plan_pool &calculated_plan)
 Устанавливает плановые показатели проекта. Подробнее...
 
void Capital::Projects::add_investments (eosio::name coopname, const checksum256 &project_hash, const eosio::asset &amount)
 Добавляет инвестицию к проекту. Подробнее...
 
void Capital::Projects::expand_expense_pool (eosio::name coopname, const checksum256 &project_hash, const eosio::asset &additional_amount)
 Увеличивает целевой размер пула расходов проекта. Подробнее...
 
void Capital::Projects::open_project (eosio::name coopname, const checksum256 &project_hash)
 Открывает проект для инвестиций, копируя плановые показатели расходов в фактические. Подробнее...
 
void Capital::Projects::reserve_expense_funds (eosio::name coopname, const checksum256 &project_hash, const eosio::asset &amount)
 Резервирует средства для расхода, уменьшая accumulated_expense_pool. Подробнее...
 
void Capital::Projects::return_expense_funds (eosio::name coopname, const checksum256 &project_hash, const eosio::asset &amount)
 Возвращает зарезервированные средства в accumulated_expense_pool. Подробнее...
 
void Capital::Projects::complete_expense (eosio::name coopname, const checksum256 &project_hash, const eosio::asset &amount)
 Завершает расход, добавляя сумму в used_expense_pool. Подробнее...
 
void Capital::Projects::increment_total_propertors (eosio::name coopname, const checksum256 &project_hash)
 Увеличивает количество проперторов в проекте на 1. Подробнее...
 
void Capital::Projects::increment_total_investors (eosio::name coopname, const checksum256 &project_hash)
 Увеличивает количество инвесторов в проекте на 1. Подробнее...
 
void Capital::Projects::increment_total_contributors (eosio::name coopname, const checksum256 &project_hash)
 Увеличивает количество зарегистрированных вкладчиков в проекте на 1. Подробнее...
 
void Capital::Projects::increment_total_contributor_shares (eosio::name coopname, const checksum256 &project_hash, eosio::asset shares)
 Увеличивает количество вкладчических долей в проекте на указанное количество Подробнее...
 
void Capital::Projects::increment_total_authors (eosio::name coopname, const checksum256 &project_hash)
 Увеличивает количество авторов в проекте на 1. Подробнее...
 
void Capital::Projects::increment_total_coordinators (eosio::name coopname, const checksum256 &project_hash)
 Увеличивает количество координаторов в проекте на 1. Подробнее...
 
void Capital::Projects::increment_total_creators (eosio::name coopname, const checksum256 &project_hash)
 Увеличивает количество создателей в проекте на 1. Подробнее...
 
void Capital::Projects::increment_votes_received (eosio::name coopname, const checksum256 &project_hash)
 Увеличивает счетчик полученных голосов в проекте Подробнее...
 
void Capital::Projects::increment_total_voters (eosio::name coopname, const checksum256 &project_hash)
 Увеличивает счетчик общего количества участников голосования в проекте Подробнее...
 
void Capital::Projects::subtract_project_shares (eosio::name coopname, const checksum256 &project_hash, const eosio::asset &shares_amount)
 Уменьшает доли от общего пула долей проекта Подробнее...
 
void Capital::Projects::add_project_membership_shares (eosio::name coopname, const checksum256 &project_hash, const eosio::asset &shares_amount)
 Добавляет доли в общий пул долей проекта (только от конвертации в кошелек проекта) Подробнее...
 
void Capital::Projects::add_project_converted_funds (eosio::name coopname, const checksum256 &project_hash, const eosio::asset &converted_amount)
 Добавляет сконвертированные средства в проект Подробнее...
 
void Capital::Projects::distribute_membership_funds (eosio::name coopname, const checksum256 &project_hash, asset amount)
 
void Capital::Projects::subtract_membership_available (eosio::name coopname, const checksum256 &project_hash, const eosio::asset &amount)
 Вычитает доступные членские средства из проекта Подробнее...
 
void Capital::Projects::add_membership_available (eosio::name coopname, const checksum256 &project_hash, const eosio::asset &amount)
 Добавляет доступные членские средства в проект Подробнее...
 
void Capital::Projects::increase_total_returned_investments (eosio::name coopname, const uint64_t &project_id, const eosio::asset &amount)
 
void Capital::Projects::delete_project (eosio::name coopname, const checksum256 &project_hash)
 Удаляет проект Подробнее...
 

Переменные

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::COMPLETED = "completed"_n
 Проект завершен Подробнее...
 
const eosio::name Capital::Projects::Status::CLOSED = "closed"_n
 Проект закрыт Подробнее...