Skip to content

mariaelisaaraya/auction

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

Curso Modalidad Developer Estado

📦 SubastaEth - Contrato Inteligente de Subasta

📌 Información Esencial

Red: Sepolia
Contrato: 0x145a1f...
Propietaria: 0x39581f1c36CfeBfB36934E583fb3e3CE92Ba6c58
Transacción: 0x96aed1...


📝 Descripción General

Contrato inteligente desarrollado para el Trabajo Final - Módulo 2, ETH Kipu, que implementa un sistema de subastas


🚀 Características Principales

📜 Reglas de la Subasta

image

🔐 Seguridad

  • Modificadores para control de acceso (soloPropietario)
  • Validaciones exhaustivas con mensajes claros en español
  • Protección contra reentrancy en transferencias

📢 Eventos Clave

  • NuevaOferta(address indexed ofertante, uint256 monto)
  • SubastaFinalizada(address ganador, uint256 montoFinal)

🛠️ Implementación Técnica

📦 Estructuras de Datos

struct Puja {
    uint256 monto;
    bool reembolsado;
    bool activa;
}

⚙️ Funciones Principales

  • pujar() - Permite realizar una oferta
  • retirarExcedente() - Reembolso parcial durante la subasta
  • finalizarSubasta() - Finaliza la subasta y procesa pagos
  • obtenerGanador() - Consulta al ganador actual

🧠 Diagrama de Flujo

graph TD
    %% Sección 1: Proceso de Puja
    A[("Inicio Subasta")] --> B{"¿Puja válida?<br/>• Monto > 0<br/>• 5% > puja actual<br/>• Subasta activa"}
    B -->|Válida| C["Registrar Puja<br/>• Actualizar puja máxima<br/>• Guardar pujador"]
    B -->|Inválida| G["Revertir Transacción<br/>• Devuelve ETH<br/>• Mensaje error"]
    
    %% Sección 2: Extensión de Tiempo
    C --> D{"¿Últimos 10 minutos?"}
    D -->|Sí| E["Extender Subasta<br/>• +10 minutos<br/>• Emitir evento"]
    D -->|No| F[Continuar Subasta]
    
    %% Sección 3: Finalización
    F --> H{"¿Tiempo finalizado?"}
    H -->|No| A1[Esperar nuevas pujas]
    H -->|Sí| I["Finalizar Subasta<br/>• Solo propietario<br/>• Bloquear cambios"]
    
    %% Sección 4: Liquidación
    I --> J["Procesar Ganador<br/>• Guardar fondos<br/>• Sin comisión"]
    I --> K["Reembolsar Perdedores<br/>• 98% del valor<br/>• 2% comisión"]
    
    %% Estilos
    style A fill:#f9f,stroke:#333
    style B fill:#bbf,stroke:#333
    style I fill:#f96,stroke:#333
    style J fill:#9f9,stroke:#333
    style K fill:#f99,stroke:#333
    classDef default font-family:serif
Loading

🔧 Herramientas Utilizadas


🌍 Consideraciones

  • Idioma: Todo el código, comentarios, eventos y documentación están redactados en español, en cumplimiento con los requisitos del Trabajo Final - Módulo 2. Se asegura coherencia semántica con los nombres solicitados

📇 Información del Proyecto

Estudiante: Elisa Araya
Curso: ETH Kipu - Ethereum Developer Pack
Entrega: Trabajo Final - Módulo 2

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published