Saltar al contenido
Proyecto showcaseBlockchain y Web3
  • 223 tests
  • 100 % de cobertura
  • analizado con Slither

Token + Vesting + Staking

Kit para el lanzamiento de un token: ERC-20 con límite máximo, vesting con cliff y lineal, y recompensas de staking

ERC-20EIP-2612OpenZeppelin v5Foundry

Qué es

SigmaToken es un ERC-20 con límite máximo fijo (hard cap), EIP-2612 permit (aprobaciones sin gas), posibilidad de quema y propiedad en dos pasos; el owner solo puede acuñar hasta el límite. TokenVesting custodia tokens para muchos beneficiarios; cada calendario tiene un inicio, un cliff, una duración y un indicador de revocabilidad, y queda totalmente financiado en el momento de crearse.

StakingRewards permite a los usuarios hacer staking de un token y ganar otro (o el mismo) a una tasa fija durante un periodo de recompensas. Utiliza una contabilidad de recompensa por token en O(1), por lo que el coste de gas no crece con el número de stakers, y las recompensas se transfieren al contrato antes de prometerse.

El problema de negocio

El lanzamiento de un token exige disciplina en la emisión, bloqueos creíbles para equipo e inversores e incentivos justos para los holders. Las implementaciones propias y sin auditar de estos patrones son una fuente habitual de exploits: cálculos de recompensas erróneos, promesas de recompensas sin fondos y puertas traseras de administración.

Cómo funciona

  1. 1

    SigmaToken se despliega con un límite máximo fijo; el owner solo puede acuñar hasta ese límite.

  2. 2

    El owner crea calendarios de vesting (inicio, cliff, duración, importe, revocable). Los tokens se transfieren al contrato de inmediato.

  3. 3

    No se consolida nada antes de inicio + cliff; después, los tokens se consolidan linealmente hasta el final de la duración. Los beneficiarios pueden llamar a release() en cualquier momento.

  4. 4

    En los calendarios revocables, revoke() mantiene reclamable la parte consolidada y devuelve únicamente el resto no consolidado.

  5. 5

    El owner financia un periodo de recompensas de staking con notifyRewardAmount(); los stakers ganan a prorrata y pueden depositar, retirar, reclamar recompensas o salir en cualquier momento.

Medidas de seguridad

  • El límite máximo se aplica en _update, por lo que rige para cualquier vía de acuñación
  • Propiedad en dos pasos en los tres contratos
  • Vesting totalmente colateralizado; invariante balance == allocated − released comprobado con fuzzing
  • Revocación justa: los tokens consolidados nunca pueden recuperarse
  • Las recompensas se transfieren al contrato en notify: sin promesas sin fondos; invariantes de solvencia
  • recoverERC20 nunca puede retirar el token de staking ni el de recompensas
  • nonReentrant en las funciones que mueven valor, SafeERC20 en todo el código

Funcionalidades

  • ERC-20 con límite máximo y EIP-2612 permit
  • Vesting con cliff y lineal para muchos beneficiarios
  • Indicador de revocabilidad por calendario
  • Recompensas de staking al estilo Synthetix con cálculo en O(1)
  • Encadenamiento de periodos de recompensas

Casos de uso típicos

  • Eventos de generación de tokens (TGE) para DAO, juegos y programas de fidelización
  • Vesting transparente para equipo, asesores e inversores
  • Campañas de recompensas de staking y de liquidez

Limitaciones conocidas

La duración de las recompensas solo puede cambiarse entre periodos de recompensas.

Otros contratos showcase

Showcase

Milestone Escrow

El cliente bloquea por adelantado todo el presupuesto, repartido en hitos. Los fondos solo se mueven por liberación, decisión del árbitro o cancelación.

Solidity 0.8.28OpenZeppelin v5ETH / ERC-20

223 tests · 100 % de cobertura · analizado con Slither

Showcase

SigmaNFT Collection

Un lanzamiento de NFT justo: fases de allowlist y pública, límites por wallet, suministro máximo inmutable, royalties ERC-2981 y reveal diferido.

ERC-721ERC-2981Merkle proofs

223 tests · 100 % de cobertura · analizado con Slither

Showcase

Gold-Backed Token (RWA)

El respaldo se convierte en condición previa de la acuñación: solo se pueden acuñar tokens si la reserva de oro declarada cubre el nuevo suministro total.

ERC-20AccessControlProof of reserve

223 tests · 100 % de cobertura · analizado con Slither

Estándares: Solidity 0.8.x, OpenZeppelin, tests en Foundry con fuzzing, análisis estático con Slither y código fuente verificado. 223 tests · 100 % de cobertura · analizado con Slither.

¿Tienes un proyecto en mente?

Cuéntanos qué estás construyendo. Normalmente en pocos días laborables recibes una valoración honesta, un alcance claro y una propuesta a precio fijo o por hitos.

¿Prefieres escribirnos primero? Escríbenos

Hablarás directamente con Ing. Ismet Mesic, Tech lead.