revert(contracts): _capital_program back to 'capital', drop stray blagorost migration
Единственный источник правды — продовая цепочка voskhod: coagreements.type
для program_id=4 буквально 'capital' (проверено прямым запросом к
185.70.105.87), это боевое неизменяемое значение. Contract-константа
_capital_program в lib/consts.hpp была переименована в 'blagorost' коммитом
e1538bb5ab (2026-01-26) и никогда не доезжала до прода — из-за этого dev-цепочки
собирали программу с другим именем и падали на 'Недопустимый тип программы'
при попытке засеять её как 'capital'.
Заодно убран автоматический CI/CD-migrate в soviet::migrate(), который на
каждом деплое насильно переименовывал programs.program_type[id=4] voskhod в
'blagorost' — он и был причиной, что programs.program_type на проде уже
'blagorost', а coagreements.type там же остался 'capital' (миграция трогала
только одну из двух таблиц). Раз откатываем контракт на 'capital' насовсем —
эта миграция больше не нужна и мешает: на следующем деплое она снова
рассинхронила бы данные.
Boot-скрипты и BLAGOROST_AGREEMENT_TYPE в controller уже используют 'capital'
(предыдущий коммит) — теперь везде единое значение, dev-цепочка при
pnpm run reboot соберёт programs+coagreements так же, как боевой voskhod, без
какой-либо миграции на проде.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -80,7 +80,7 @@ static constexpr eosio::name _wallet_program = "wallet"_n; ///< Главный
|
||||
static constexpr eosio::name _marketplace_program = "marketplace"_n; ///< Кошелёк программы "Маркетплейс"
|
||||
|
||||
static constexpr eosio::name _source_program = "generator"_n; ///< Кошелёк для генерации по договору УХД
|
||||
static constexpr eosio::name _capital_program = "blagorost"_n; ///< Кошелёк программы "Благорост"
|
||||
static constexpr eosio::name _capital_program = "capital"_n; ///< Кошелёк программы "Благорост"
|
||||
|
||||
|
||||
static const std::set<eosio::name> soviet_actions = {
|
||||
|
||||
@@ -12,16 +12,6 @@
|
||||
void soviet::migrate() {
|
||||
require_auth(_soviet); // Проверяем авторизацию
|
||||
|
||||
// Миграция program_type для кооператива voskhod, программа id=4 -> blagorost
|
||||
eosio::name coopname = "voskhod"_n;
|
||||
programs_index programs(_soviet, coopname.value);
|
||||
auto program_it = programs.find(4);
|
||||
if (program_it != programs.end() && program_it->program_type != "blagorost"_n) {
|
||||
programs.modify(program_it, _soviet, [&](auto &pr) {
|
||||
pr.program_type = "blagorost"_n;
|
||||
});
|
||||
}
|
||||
|
||||
// ────────────────────────────────────────────────────────────────────────
|
||||
// Разовая очистка ФАНТОМНЫХ участников кооператива fgrtejiwnynn (инцидент
|
||||
// 2026-06-04). Удаляем строки soviet::participants для 6 дублей-аккаунтов,
|
||||
|
||||
@@ -23,13 +23,13 @@ export const GENERATOR_OFFER_AGREEMENT_ID = 'generator_offer';
|
||||
export const BLAGOROST_OFFER_AGREEMENT_ID = 'blagorost_offer';
|
||||
|
||||
export const GENERATOR_AGREEMENT_TYPE = 'generator';
|
||||
// On-chain имя оферты Благорост в `soviet::coagreements` — 'capital' (program_id=4).
|
||||
// Подтверждено прямым запросом к продовой цепочке voskhod (185.70.105.87) — это
|
||||
// боевое, неизменяемое значение. Значение здесь ОБЯЗАНО совпадать буквально —
|
||||
// иначе account.adapter.ts не находит coagreement по type, программный signagree
|
||||
// подменяется на sndagreement и `get_coagreement_or_fail` падает с «Соглашение
|
||||
// указанного типа не найдено». (Локальные dev-цепочки, засеянные boot-скриптом
|
||||
// со значением 'blagorost', — расхождение сид-скрипта, чинится там, не здесь.)
|
||||
// On-chain имя оферты Благорост в `soviet::coagreements` (_capital_program в
|
||||
// lib/consts.hpp контракта) — 'capital' (program_id=4). Подтверждено прямым
|
||||
// запросом к продовой цепочке voskhod (185.70.105.87). Значение здесь ОБЯЗАНО
|
||||
// совпадать буквально с контрактной константой — иначе account.adapter.ts не
|
||||
// находит coagreement по type, программный signagree подменяется на
|
||||
// sndagreement, и `get_coagreement_or_fail` падает с «Соглашение указанного
|
||||
// типа не найдено».
|
||||
export const BLAGOROST_AGREEMENT_TYPE = 'capital';
|
||||
|
||||
export const GENERATION_PROGRAM_KEY = 'GENERATION';
|
||||
|
||||
Reference in New Issue
Block a user