Lógica del Smart Contract
Cláusula de Éxito (Success Fee): Este código asegura que tú (Desarrollador) cobras
tu gestión automáticamente del beneficio antes de repartir al resto.
contract SitgesLuxuryVilla {
uint256 public constant VALOR_SOLAR = 800_000 * 10**6;
uint256 public constant COSTO_OBRA = 700_000 * 10**6;
uint256 public costeTotal = VALOR_SOLAR + COSTO_OBRA;
address public solarOwner;
address public developer;
IERC20 public eurc;
function distribuirVenta(uint256 precioVenta) public {
require(precioVenta >= costeTotal, "Perdidas no
soportadas auto");
uint256 beneficio = precioVenta - costeTotal;
_repartir(costeTotal);
uint256 feeSinapsis = beneficio * 10 / 100;
payable(developer).transfer(feeSinapsis);
_repartir(beneficio - feeSinapsis);
}
function pagarArquitecto(address _arq, uint256 _euros, uint256 _tokens) public {
eurc.transfer(_arq, _euros);
_mint(_arq, _tokens);
}
}
* Este código es inmutable. Una vez desplegado, nadie (ni tú) puede cambiar las reglas de reparto
del dinero. Esto garantiza al dueño del solar que cobrará sí o sí.