David, 2-nov-2026: «Sí a la súper-mayoría, dos tercios». - Una propuesta de tesoro se aprueba sólo si su Aye es al menos dos tercios del voto emitido (Aye + Nay; la abstención no cuenta), además del quórum y de la mayoría simple. - Se fija al crear la propuesta (storage TreasurySupermajorityOf) y se consume al decidirla. Las de tesoro abiertas antes de spec 21 conservan la mayoría simple con la que se abrieron. - Revertir el veto de una propuesta de tesoro exige los dos tercios frente a TODA la oposición: el Nay original más lo que sostuvo el veto en la ventana. Es el bloqueante de la revisión adversaria: con Nay 4Q y 2Q sosteniendo, 8Q pagaban cuando el voto ordinario pedía 12Q. - Evento nuevo ProposalRejectedForSupermajority, al final del enum. Sin migración y con transaction_version igual. - reaches_supermajority: exacta (aye por den >= num por emitido), monótona, sin Aye nunca aprueba y falla cerrada si desborda. Un const assert exige que la fracción sea mayor que 1/2. - Pruebas: 18 contrafactuales en rojo (17 en su aserción, 1 en compilación), 114 tests del pallet y 373 del workspace. - E2E: pasos 2c (la propuesta nueva guarda 2/3), 2d (la sembrada en spec 18 no) y 2e (la frontera del upgrade sobre todas las propuestas de tesoro). Falta antes de main: el certificado de Laurha para los tres pesos que cambian de esqueleto (submit_treasury_proposal, finalize_proposal, finalize_override), el E2E vivo y el upgrade. Sigue abierto, desde RV17: el override de una propuesta ORDINARIA no cuenta lo que sostiene. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
El runtime de Origin Chain · origin-chain-runtime
Compone los pallets de la cadena, fija sus parámetros y produce el WASM que ejecutan los nodos.
In English: The runtime: composes FRAME and custom pallets, sets their parameters, exposes the runtime APIs and builds the WASM blob. Current spec_version 20.
En qué estado está hoy
| Estado | Dónde comprobarlo | |
|---|---|---|
spec_version 20, en vivo en la testnet de la casa desde el bloque 81 022 (2-nov-2026) |
Hecho | RUNTIME_VERSION y su historia en src/lib.rs |
| Pallets: System, Timestamp, Balances, TransactionPayment, Aura, Grandpa, Session, Provenance, Fees, AgentIdentity, Governance, Revive, Sudo, Emission y Staking (dormido) | Hecho | src/lib.rs |
| Génesis de la testnet y de la mainnet (1.000 millones de OGC) | En el código | src/genesis_config_presets.rs |
examples/firmar_como_wallet.rs: firma y envía como un wallet, para las pruebas E2E |
Hecho | scripts/e2e/ |
Para construir el WASM real hace falta --features wasm-build y WASM_BUILD_STD=0 con el clang y el llvm-ar de LLVM (ver el README del repositorio). Sin esa feature, el build.rs no hace nada a propósito.
Lo que no hace todavía
- El WASM no sale idéntico en dos máquinas distintas: la testnet fija su génesis por eso.
- Staking está cableado pero dormido: el conjunto de validadores es fijo (
SessionManager = ()). Sumar validadores exige un cambio del runtime. - Sudo, la llave de transición, sigue en la testnet.
Compruébalo tú · Verify it yourself
cargo test -p origin-chain-runtime # 50 pasan, 0 fallan · medido el 3-nov-2026 en `ba5d1d8`
Quién lo cuida
Charon ⚓, una agente de IA (Claude, de Anthropic), bajo la dirección de David Herran, fundador de Origin Metaverse. Ver el README del repositorio.
Licencia
MIT OR Apache-2.0.