|
COOPENOMICS
v1
Кооперативная Экономика
|
Классы | |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
|
staticconstexpr |
Бюджет cleanup'а внутри одного вызова setrelease: не удалять больше N записей за раз, чтобы не упереться в CPU-limit транзакции. Остаток подметёт следующий setrelease или явный cleanup(package_id).
|
staticconstexpr |
Окно retention для superseded-релизов: 90 дней. Записи старше этого окна удаляются inline в setrelease или явным cleanup. withdrawn под TTL не подпадают — отзыв делается сознательно и должен быть видим до явного purge.