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

Классы

struct  coop
 Запись каталога: кооператив, зарегистрированный в каталоге. Подробнее...
 
struct  package
 Запись каталога: один зарегистрированный пакет. Подробнее...
 
struct  release
 Запись каталога: один релиз пакета. Подробнее...
 
struct  scope_t
 Описание области видимости релиза. Подробнее...
 
struct  sub
 Запись каталога: подписка кооператива на пакет. Подробнее...
 

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

typedef eosio::multi_index< "coops"_n, coop, eosio::indexed_by<"bysubnet"_n, eosio::const_mem_fun< coop, uint64_t, &coop::by_subnet > > > coops_index
 
typedef eosio::multi_index< "packages"_n, package, eosio::indexed_by<"byowner"_n, eosio::const_mem_fun< package, uint64_t, &package::by_owner > >, eosio::indexed_by<"bysubnet"_n, eosio::const_mem_fun< package, uint64_t, &package::by_subnet > > > packages_index
 
typedef eosio::multi_index< "releases"_n, release, eosio::indexed_by<"bypackage"_n, eosio::const_mem_fun< release, uint64_t, &release::by_package > >, eosio::indexed_by<"bypkgstat"_n, eosio::const_mem_fun< release, uint128_t, &release::by_pkg_status > >, eosio::indexed_by<"bysuperseded"_n, eosio::const_mem_fun< release, uint64_t, &release::by_superseded > > > releases_index
 
typedef eosio::multi_index< "subs"_n, sub, eosio::indexed_by<"bycooppkg"_n, eosio::const_mem_fun< sub, uint128_t, &sub::by_cooppkg > >, eosio::indexed_by<"bycoop"_n, eosio::const_mem_fun< sub, uint64_t, &sub::by_coop > >, eosio::indexed_by<"byexpires"_n, eosio::const_mem_fun< sub, uint64_t, &sub::by_expires > > > subs_index
 

Переменные

static constexpr uint64_t RELEASE_RETENTION_SECS = 90 * 86400
 
static constexpr uint64_t CLEANUP_BUDGET_PER_CALL = 50
 

Типы

◆ coops_index

typedef eosio::multi_index< "coops"_n, coop, eosio::indexed_by<"bysubnet"_n, eosio::const_mem_fun<coop, uint64_t, &coop::by_subnet> > > Apps::coops_index

◆ packages_index

typedef eosio::multi_index< "packages"_n, package, eosio::indexed_by<"byowner"_n, eosio::const_mem_fun<package, uint64_t, &package::by_owner> >, eosio::indexed_by<"bysubnet"_n, eosio::const_mem_fun<package, uint64_t, &package::by_subnet> > > Apps::packages_index

◆ releases_index

typedef eosio::multi_index< "releases"_n, release, eosio::indexed_by<"bypackage"_n, eosio::const_mem_fun<release, uint64_t, &release::by_package> >, eosio::indexed_by<"bypkgstat"_n, eosio::const_mem_fun<release, uint128_t, &release::by_pkg_status> >, eosio::indexed_by<"bysuperseded"_n, eosio::const_mem_fun<release, uint64_t, &release::by_superseded> > > Apps::releases_index

◆ subs_index

typedef eosio::multi_index< "subs"_n, sub, eosio::indexed_by<"bycooppkg"_n, eosio::const_mem_fun<sub, uint128_t, &sub::by_cooppkg> >, eosio::indexed_by<"bycoop"_n, eosio::const_mem_fun<sub, uint64_t, &sub::by_coop> >, eosio::indexed_by<"byexpires"_n, eosio::const_mem_fun<sub, uint64_t, &sub::by_expires> > > Apps::subs_index

Переменные

◆ CLEANUP_BUDGET_PER_CALL

constexpr uint64_t Apps::CLEANUP_BUDGET_PER_CALL = 50
staticconstexpr

Бюджет cleanup'а внутри одного вызова setrelease: не удалять больше N записей за раз, чтобы не упереться в CPU-limit транзакции. Остаток подметёт следующий setrelease или явный cleanup(package_id).

◆ RELEASE_RETENTION_SECS

constexpr uint64_t Apps::RELEASE_RETENTION_SECS = 90 * 86400
staticconstexpr

Окно retention для superseded-релизов: 90 дней. Записи старше этого окна удаляются inline в setrelease или явным cleanup. withdrawn под TTL не подпадают — отзыв делается сознательно и должен быть видим до явного purge.