44305a5b3f
Super-story 1.1+1.2+1.3 эпика «L3 в ledger2» — атомарный релиз без коротких
итераций (ADR-009, ADR-010, ADR-002, ADR-003).
Реестр кошельков (cooptypes/ledger2/wallets.ts, contracts/lib/core/ledger2/wallets.hpp):
• Финальный набор: 5 USER_SHARED + 6 COOPERATIVE = 11 кошельков
• Введён WalletKind (USER_SHARED / COOPERATIVE) — обязателен для L3-разреза
• USER_SHARED: w.reg.minshr, w.wal.share, w.wal.member, w.cap.blago, w.cap.gen
• COOPERATIVE: w.reg.entry, w.wal.wthdrw, w.sov.infra, w.sov.delgte,
w.cap.loan, w.mkt.payout
• Compile-time static_assert user_shared_naming_convention (base32 префикс w.)
• Удалён w.wal.sharid (РИД-часть на legacy 80 — не существует ни у кого)
• Унифицированы программы Благорост/Генератор: w.cap.blago и w.cap.gen
взамен w.cap.bginv/w.cap.gncom/w.cap.bgrid
WalletOp cleanup (operations.hpp / operations.ts):
• 5 значений: ISSUE / TRANSFER / BLOCK / UNBLOCK / BURN
• WALLET_ONLY удалён — TRANSFER без бухпроводок маркируется
(debit==null && credit==null) на уровне OPERATION_REGISTRY
• REVOKE удалён — BURN покрывает оба сценария (штатное сжигание и mirror revert,
различие через operation_code o.adj.rev)
• static_asserts: zero_accounts_iff_both, burn_pattern_correct
• Удалена операция o.mig.rid вместе с РИД-веткой migrate.cpp
• migrate.cpp теперь жёстко проверяет legacy::accounts[80] == money-часть
с явным сообщением «закрыть РИД до миграции» (страховка)
Capital — единые программные кошельки (ADR-009):
• 5 операций o.cap.* переведены на w.cap.blago / w.cap.gen
• Стандарты p.cap.invest, p.cap.prop, p.cap.rid обновлены под унифицированные имена
• o.cap.invest: TRANSFER без бухпроводок (раньше WALLET_ONLY)
• Константы BLAGOROST_INVEST/RID → BLAGOROST_FUND, GENERATOR_COMMIT → GENERATOR_FUND
Controller / cooptypes:
• resolveWalletAccountId переведён на (debit==null && credit==null)
• IRevert.mirror_wallet_op: 4=BURN (вместо 5=REVOKE)
• Doc-комментарии обновлены под новые имена
Standards-site / desktop UI:
• WalletOp type без WALLET_ONLY/с BURN
• Граф/FocusBar: hasPosting и условия отображения переводов упрощены
• WalletTransferDialog: resolveAccountId fallback по (debit==null && credit==null)
Boot тесты:
• capital.test.ts: WALLET_GENERATOR_FUND / WALLET_BLAGOROST_FUND
• ledger2-migrate.test.ts: SHARE_FUND_RID удалён из ассертов
• walmove.test.ts: комментарии под новые имена
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>