COOPENOMICS  v1
Кооперативная Экономика
Пространство имен Capital::State

Функции

asset ext_or_zero (const eosio::binary_extension< asset > &v, const eosio::symbol &sym)
 Значение binary_extension<asset> или ноль с символом sym. Подробнее...
 
void update_global_state (const global_state &gs)
 Обновляет глобальное состояние новыми значениями. Подробнее...
 
global_state get_global_state (name coopname)
 Получает текущее глобальное состояние. Подробнее...
 
void is_initialized (name coopname)
 Проверяет что контракт инициализирован. Подробнее...
 
void topup_program_expense_pool (eosio::name coopname, const asset &amount)
 Пополняет пул программных расходов на amount из общего пула инвестиций программы. Вызывается из action topupprogexp (председатель). Подробнее...
 
void reserve_program_expense (eosio::name coopname, const asset &amount)
 Резервирует средства под approved/authorized программный расход: program_expense_pool -= amount, program_expense_reserved += amount. Подробнее...
 
void release_program_expense (eosio::name coopname, const asset &amount)
 Освобождает зарезервированное при отклонении программного расхода: program_expense_reserved -= amount, program_expense_pool += amount. Подробнее...
 
void consume_program_expense (eosio::name coopname, const asset &amount)
 Окончательное списание программного расхода (callback onpgexpdone, CLOSED): program_expense_reserved -= amount. Деньги уже ушли через шасси expense, ledger2-проводки сделаны на payexp/reportexp/returnexp. Подробнее...
 
void spend_program_expense_pool (eosio::name coopname, const asset &amount)
 Прямое списание из свободного пула программных расходов — превышение факта над резервом при закрытии расхода с перерасходом (overspendexp в шасси выдал доплату из BLAGOROST_FUND сверх зарезервированного). Подробнее...
 

Функции

◆ consume_program_expense()

void Capital::State::consume_program_expense ( eosio::name  coopname,
const asset &  amount 
)
inline

Окончательное списание программного расхода (callback onpgexpdone, CLOSED): program_expense_reserved -= amount. Деньги уже ушли через шасси expense, ledger2-проводки сделаны на payexp/reportexp/returnexp.

◆ ext_or_zero()

asset Capital::State::ext_or_zero ( const eosio::binary_extension< asset > &  v,
const eosio::symbol &  sym 
)
inline

Значение binary_extension<asset> или ноль с символом sym.

Поле ещё не материализовано (старая запись до program_expense_*) → ноль с sym. Битая запись: материализованный asset с пустым/чужим символом и amount==0 (типичный след default-constructed asset() после инцидента 2026-06-16) → тоже ноль с sym. Ненулевая сумма с чужим символом — ошибка данных, не маскируем.

◆ get_global_state()

global_state Capital::State::get_global_state ( name  coopname)
inline

Получает текущее глобальное состояние.

Возвращает
Текущее глобальное состояние.

◆ is_initialized()

void Capital::State::is_initialized ( name  coopname)
inline

Проверяет что контракт инициализирован.

Аргументы
coopnameИмя кооператива.

◆ release_program_expense()

void Capital::State::release_program_expense ( eosio::name  coopname,
const asset &  amount 
)
inline

Освобождает зарезервированное при отклонении программного расхода: program_expense_reserved -= amount, program_expense_pool += amount.

◆ reserve_program_expense()

void Capital::State::reserve_program_expense ( eosio::name  coopname,
const asset &  amount 
)
inline

Резервирует средства под approved/authorized программный расход: program_expense_pool -= amount, program_expense_reserved += amount.

◆ spend_program_expense_pool()

void Capital::State::spend_program_expense_pool ( eosio::name  coopname,
const asset &  amount 
)
inline

Прямое списание из свободного пула программных расходов — превышение факта над резервом при закрытии расхода с перерасходом (overspendexp в шасси выдал доплату из BLAGOROST_FUND сверх зарезервированного).

◆ topup_program_expense_pool()

void Capital::State::topup_program_expense_pool ( eosio::name  coopname,
const asset &  amount 
)
inline

Пополняет пул программных расходов на amount из общего пула инвестиций программы. Вызывается из action topupprogexp (председатель).

◆ update_global_state()

void Capital::State::update_global_state ( const global_state gs)
inline

Обновляет глобальное состояние новыми значениями.

Полное присваивание s = gs сохраняет битые program_expense_* (asset с пустым символом). Нормализуем их через ext_or_zero, чтобы последующие invest/topup сами лечили хвост binary_extension.