//Exercice 3.2.2 Organisateurs pragma solidity ^0.4.25; contract CagnotteFestival { mapping(address => uint) organisateurs; mapping(address => bool) festivaliers; mapping(address => string) sponsors; uint private depensesTotales; uint public nbPlaces = 1000; constructor() public { organisateurs[msg.sender] = 100; } function transfererOrga(address orga, uint parts) public { organisateurs[msg.sender] -= parts; organisateurs[orga] += parts; } function estOrga(address orga) public view returns (bool) { if(organisateurs[orga] > 0){ return true; }else{ return false; } } /* function acheterTicket() public payable { require(msg.value>500 finney, "Place à 0.5 Ethers"); festivaliers[msg.sender]; } function payer(address destinataire, uint montant) public { require(estOrga(msg.sender)); require(destinataire != address(0)); require(montant > 0); destinataire.transfer(montant); } function comptabiliserDepense(uint montant) private { depensesTotales += montant; } */ function sponsoriser(address destinataire, uint montant, string memory nom) public payable{ require(nbPlaces>0, "Il n'y a plus de place pour sponsorier"); require(montant>=30 ether, "Sponsorier pour 30 Ethers ou plus"); sponsors[msg.sender] = nom; nbPlaces--; destinataire.transfer(montant); } }
0.4.25