COOPENOMICS  v1
Кооперативная Экономика
Файл crps.hpp
#include <eosio/eosio.hpp>
#include <eosio/asset.hpp>
#include "../../entities/generation_amounts.hpp"
#include "../../entities/projects.hpp"
#include "../../entities/segments.hpp"

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

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

namespace  Capital
 
namespace  Capital::Core
 

Функции

void Capital::Core::increment_authors_crps_in_project (eosio::name coopname, uint64_t project_id, const eosio::asset &base_reward, const eosio::asset &bonus_reward)
 Обновляет CRPS поля в проекте для авторов при добавлении наград Примечание: для авторов CRPS хранит полную сумму награды на автора (не масштабированную), так как количество авторов всегда небольшое число Подробнее...
 
void Capital::Core::increment_contributors_crps_in_project (eosio::name coopname, uint64_t project_id, const eosio::asset &reward_amount)
 Обновляет CRPS поля в проекте для участников при добавлении наград Подробнее...
 
void Capital::Core::refresh_segment (eosio::name coopname, const checksum256 &project_hash, eosio::name username)
 Обновляет сегмент участника - пересчитывает накопленные награды на основе CRPS. Подробнее...
 
void Capital::Core::refresh_provisional_amount (eosio::name coopname, uint64_t segment_id, const Capital::project &project)
 Пересчитывает доступную сумму к компенсации на основе инвестиций с учетом return_base_percent. Подробнее...
 
void Capital::Core::refresh_author_segment (eosio::name coopname, uint64_t segment_id, const Capital::project &project)
 Обновляет награды автора в сегменте Подробнее...
 
void Capital::Core::refresh_coordinator_segment (eosio::name coopname, uint64_t segment_id, const Capital::project &project)
 Обновляет награды координатора в сегменте на основе прямого расчета (O(1) операция) Подробнее...
 
void Capital::Core::refresh_contributor_segment (eosio::name coopname, uint64_t segment_id, const Capital::project &project)
 Обновляет награды участника в сегменте Подробнее...
 
void Capital::Core::upsert_creator_segment (eosio::name coopname, uint64_t segment_id, const Capital::project &project, eosio::name username, const generation_amounts &delta_amounts)
 Создает или обновляет запись генератора для создателя в таблице segments. Подробнее...
 
void Capital::Core::upsert_investor_segment (eosio::name coopname, uint64_t segment_id, uint64_t project_id, eosio::name username, const eosio::asset &investor_amount)
 Создает или обновляет запись инвестора в таблице segments. Подробнее...
 
void Capital::Core::upsert_author_segment (eosio::name coopname, uint64_t segment_id, const Capital::project &project, eosio::name username, uint64_t shares)
 Создает или обновляет запись автора в таблице segments. Подробнее...
 
void Capital::Core::upsert_coordinator_segment (eosio::name coopname, uint64_t segment_id, uint64_t project_id, eosio::name username, const eosio::asset &rised_amount)
 Создает или обновляет запись координатора в таблице segments. Подробнее...
 
void Capital::Core::upsert_propertor_segment (eosio::name coopname, uint64_t segment_id, const Capital::project &project, eosio::name username, const eosio::asset &property_amount)
 Создает или обновляет запись пропертора с имущественным взносом в таблице segments. Подробнее...
 
void Capital::Core::upsert_contributor_segment (eosio::name coopname, uint64_t segment_id, const Capital::project &project, eosio::name username)
 Создает или обновляет запись участника в таблице segments. Подробнее...
 
void Capital::Core::distribute_program_membership_funds (eosio::name coopname, asset amount)
 Функция распределения членских взносов на программу Подробнее...
 
void Capital::Core::refresh_contributor_program_rewards (eosio::name coopname, eosio::name username)
 Обновляет программную CRPS для contributor. Подробнее...
 
void Capital::Core::process_contributor_program_withdrawal (eosio::name coopname, eosio::name username, asset amount, const std::string &memo)
 Обрабатывает вывод средств из программы через contributor. Подробнее...
 
void Capital::Core::add_program_investment_funds (eosio::name coopname, asset amount)
 Добавляет средства в глобальный пул доступных инвестиций программы Подробнее...
 
void Capital::Core::allocate_program_investment_to_project (eosio::name coopname, uint64_t project_id, eosio::asset amount)
 Аллоцирует средства из глобального пула в проект согласно правилу распределения Подробнее...
 
void Capital::Core::deallocate_program_investment_from_project (eosio::name coopname, uint64_t project_id, eosio::asset amount)
 Диаллоцирует средства из проекта обратно в глобальный пул (после закрытия проекта) Подробнее...
 
void Capital::Core::update_investor_used_amount (eosio::name coopname, uint64_t segment_id, const Capital::project &project)
 Обновляет фактически используемую сумму инвестора в сегменте с учетом коэффициента возврата Подробнее...