docs(runtime): el comentario del vault decia que el 25% de la Fundacion va a FNDT — no va

`GovernanceTreasuryPalletId` llevaba una nota que decia «PRE-LAUNCH: el genesis
mainnet debe rutear la Foundation 250M a esta cuenta (hoy va a FNDT —
follow-up)». El follow-up ya estaba hecho y la nota no se enteró.

MEDIDO en genesis_config_presets.rs: el preset mainnet asigna
FOUNDATION_ALLOCATION − SUDO_OPERATIONAL_FLOAT = 249.000.000 OGC al vault
og/gvtry (cuenta derivada de PalletId, sin llave privada) y 1.000.000 al
placeholder FNDT, que es el sudo_key interim y necesita ese flotante porque el
OriginFeeAdapter le cobra sus propios extrinsics Root.

Importa porque la nota vieja hacía creer que la Fundación custodia el tesoro. No
lo custodia: vive en una cuenta sin llave desde el bloque 0. Y salió al escribir
la recomendacion de donde vive el DAO, donde ese dato es la premisa central.

La nota nueva ademas separa lo que la vieja confundia: «sin llave privada» NO es
«gobernado por los votantes». treasury_disbursement es ensure_root, Root hoy es
pallet-sudo, y el amount/recipient los pone quien llama — el cuerpo de la
propuesta es un hash y la cadena no puede leerlo. Cerrar esa brecha es el sunset.

Solo comentario. Sin cambio de comportamiento, sin bump de version.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
davidherranandClaude Opus 5 committed 2026-09-10 18:17:05 -05:00
1 parent 38e5602d78
commit 7f68c5b656
1 file changed
+20 -3
+20 -3
View File
@@ -491,9 +491,26 @@ impl origin_chain_agent_identity::Config for Runtime {
parameter_types! { parameter_types! {
/// FIX-6: PalletId de la cuenta-tesorería de governance (vault, sin private /// FIX-6: PalletId de la cuenta-tesorería de governance (vault, sin private
/// key, determinística). Tiene el balance real OGC; solo la governance (Root) /// key, determinística). Tiene el balance real OGC y solo se drena vía
/// la drena vía treasury_disbursement. PRE-LAUNCH: el genesis mainnet debe /// `treasury_disbursement`.
/// rutear la Foundation 250M a esta cuenta (hoy va a FNDT — follow-up). ///
/// EL FOLLOW-UP YA ESTÁ HECHO (medido 2026-09-10, y esta nota decía lo
/// contrario). El génesis de mainnet SÍ rutea el 25% de la Foundation aquí:
/// `genesis_config_presets.rs` asigna `FOUNDATION_ALLOCATION −
/// SUDO_OPERATIONAL_FLOAT` = **249.000.000 OGC** a esta cuenta, y solo
/// 1.000.000 al placeholder `FNDT`, que es el sudo_key interim y necesita
/// ese flotante porque el `OriginFeeAdapter` le cobra sus propios extrinsics
/// Root. La nota anterior («hoy va a FNDT — follow-up») envejeció y habría
/// hecho creer que la Fundación custodia el tesoro. No lo custodia: vive en
/// una cuenta sin llave privada desde el bloque 0.
///
/// ⚠️ LO QUE SIGUE SIENDO CIERTO Y CONVIENE NO CONFUNDIR: «sin llave privada»
/// no es lo mismo que «gobernado por los votantes». `treasury_disbursement`
/// es `ensure_root`, y Root hoy es `pallet-sudo` (índice 12) — una llave. El
/// voto es precondición real (la propuesta debe estar `Approved`), pero el
/// gasto lo dispara Root, y el `amount`/`recipient` los pone quien llama, no
/// la propuesta (su cuerpo es un hash, la cadena no puede leerlo). Cerrar
/// esa brecha es el sunset a governance.
pub const GovernanceTreasuryPalletId: frame_support::PalletId = pub const GovernanceTreasuryPalletId: frame_support::PalletId =
frame_support::PalletId(*b"og/gvtry"); frame_support::PalletId(*b"og/gvtry");
} }