COOPENOMICS  v1
Кооперативная Экономика
Файл table_branch_decisions.hpp
#include <algorithm>
#include <eosio/eosio.hpp>
#include <string>
#include <vector>
#include "../consts.hpp"
#include "document_core.hpp"

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

Классы

struct  decision_point
 Точка повестки дня собрания (вход действия createdec). Подробнее...
 
struct  decision_vote_point
 Голос участника по одному вопросу повестки (вход действия votedec). Подробнее...
 
struct  coodecision
 
struct  coodecquest
 

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

typedef eosio::multi_index< "decisions"_n, coodecision, eosio::indexed_by<"byhash"_n, eosio::const_mem_fun< coodecision, eosio::checksum256, &coodecision::by_hash > > > decision_index
 
typedef eosio::multi_index< "decisionq"_n, coodecquest, eosio::indexed_by<"bydecision"_n, eosio::const_mem_fun< coodecquest, uint64_t, &coodecquest::by_decision > > > coodecquest_index
 

Функции

coodecision get_decision_or_fail (eosio::name coopname, eosio::checksum256 hash)
 Получить решение по якорю или упасть. Подробнее...
 
void erase_coodecquests (eosio::name coopname, uint64_t decision_id)
 Удалить все вопросы повестки данного решения (при erase решения). Подробнее...
 

Переменные

static constexpr uint64_t MIN_DECISION_QUORUM = 3
 Минимальный кворум учредительного собрания (число подписанных бюллетеней). Подробнее...
 
static constexpr uint32_t DECISION_VOTING_WINDOW_SECONDS = 15 * 60
 

Подробное описание

Универсальный механизм «собрание пайщиков → решение» на контракте BRANCH. Зеркало Совета: тип решения free (свободное — просто фиксируется протоколом) либо автоматизируемый (createbranch — после утверждения председателем уходит в совет действием exec и по решению совета создаёт кооперативный участок). Якорь записи — hash (byhash). Голос фиксируется бюллетенем-заявлением; протокол утверждает один председатель собрания (секретарь не нужен). Жизненный цикл — Chain-RAM: терминал = erase, история — в журнале действий парсера.

Типы

◆ coodecquest_index

typedef eosio::multi_index< "decisionq"_n, coodecquest, eosio::indexed_by<"bydecision"_n, eosio::const_mem_fun<coodecquest, uint64_t, &coodecquest::by_decision> > > coodecquest_index

◆ decision_index

typedef eosio::multi_index< "decisions"_n, coodecision, eosio::indexed_by<"byhash"_n, eosio::const_mem_fun<coodecision, eosio::checksum256, &coodecision::by_hash> > > decision_index

Функции

◆ erase_coodecquests()

void erase_coodecquests ( eosio::name  coopname,
uint64_t  decision_id 
)
inline

Удалить все вопросы повестки данного решения (при erase решения).

◆ get_decision_or_fail()

coodecision get_decision_or_fail ( eosio::name  coopname,
eosio::checksum256  hash 
)
inline

Получить решение по якорю или упасть.

Переменные

◆ DECISION_VOTING_WINDOW_SECONDS

constexpr uint32_t DECISION_VOTING_WINDOW_SECONDS = 15 * 60
staticconstexpr

Длительность окна голосования собрания пайщиков участка (секунд). Голосование короткое — проходит прямо на собрании: организатор открывает его кнопкой, дедлайн отмеряется автоматически.

◆ MIN_DECISION_QUORUM

constexpr uint64_t MIN_DECISION_QUORUM = 3
staticconstexpr

Минимальный кворум учредительного собрания (число подписанных бюллетеней).