Created
June 21, 2024 01:49
-
-
Save rpaskin/c4a7f0186fd76c614e18b1ee6edc09b1 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: MIT | |
pragma solidity ^0.8.20; | |
contract RefriToken { | |
// o que vamos guardar? | |
address public dono; | |
uint public codigoDeBarras; | |
string public sabor; | |
string public marca; | |
uint public preco; | |
bool public compravel; | |
event Bloqueio(address quemBloqueou); | |
constructor(uint _codigoDeBarras, string memory _sabor, | |
string memory _marca, uint _preco){ | |
dono = msg.sender; | |
codigoDeBarras = _codigoDeBarras; | |
sabor = _sabor; | |
marca = _marca; | |
preco = _preco; | |
compravel = true; | |
} | |
function comprar() external payable { | |
require(compravel); | |
require(msg.value == preco, "'Deve enviar o preco da lata!"); | |
payable(dono).transfer(address(this).balance); | |
dono = msg.sender; | |
} | |
function bloquearVenda() external { | |
require(msg.sender == dono, "Apenas o dono pode bloquear a venda!"); | |
emit Bloqueio(msg.sender); | |
compravel = false; | |
} | |
// function beber(uint bebidos_ml) external returns (uint restante_ml) { | |
// } | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment