Contratos de la capa L2 EVM del ecosistema Play4Chain/e4Coin (Fase 2 del PLAN-UNIFICADO). Stack: Solidity 0.8.28 + Foundry + OpenZeppelin v5.
Destino de despliegue: Arbitrum Orbit (AnyTrust), gas token wE4C, comité DA operado por la federación. Ver PLAN-UNIFICADO §2.
| Contrato | Rol |
|---|---|
access/FederationControlled |
Base de control de acceso; FEDERATION_ROLE migrable a DAO/timelock |
identity/IdentityRegistry |
Identidad sin gas: ancla la raíz de Merkle; verificación view. Ligada a las cuentas de ioquake3. Ver whitepaper/04 |
game/GameRegistry |
Registro de juegos (Tier 0/1/2), dev, clave de firma |
resources/ResourceNFT |
Recursos ERC-1155 (semi-fungibles); acuña solo el Oracle |
oracle/SessionOracle |
Valida sesiones firmadas → acuña recursos; enforce de rareza por tier |
bridge/E4CBridge (+ WrappedE4C) |
Puente federado L1↔L2 (lock E4C → mint wE4C). Único componente "from scratch" |
market/Marketplace |
Mercado único multi-token (wE4C + USDC + …); fees 2.5% DAO / 1.5% dev |
airdrop/CountryAirdrop |
Airdrop por países vía Merkle proof (tramo 6% del premine) |
governance/E4CVotes + governance/Play4ChainDAO |
Gobernanza progresiva: ERC20Votes + Governor OZ + TimelockController; el timelock recibe FEDERATION_ROLE de los contratos clave |
Pendiente en esta fase: tests de cobertura del resto de contratos (completos:
IdentityRegistry 4/4 y Governance 6/6 — ciclo propose→vote→queue→execute verificado),
staking gE4C real y el despliegue en la chain Orbit.
export PATH="$HOME/.foundry/bin:$PATH"
forge build # compilar
forge test # tests (IdentityRegistry 4/4 · Governance 6/6, en verde)
forge fmt # formato- La moneda de pago no está hardcodeada (a diferencia del boceto de la visión): el Marketplace acepta cualquier ERC-20 que la federación/DAO habilite, con USDC/USDT como objetivo desde el lanzamiento.
- Gasless para el usuario: identidad y airdrop se reclaman con Merkle proofs; el único gas recurrente lo paga la federación al anclar raíces y al relayear sesiones.
- Federación → DAO:
FEDERATION_ROLEes el punto de migración; cuando la DAO madure (Fase 2 de gobernanza), el admin pasa a un contrato de votación + timelock sin tocar la lógica de negocio.
GNU General Public License v2.0 or later (GPL-2.0-or-later) — ver LICENSE. Los contratos usan OpenZeppelin (MIT).