Invariant Breaks (Ruptura de invariantes)
contract Stablecoin {
mapping(address => uint) public balances;
uint public totalSupply;
uint public totalCollateral;
function mint(uint amount) external payable {
require(msg.value == amount, "Must send exact collateral");
balances[msg.sender] += amount;
totalSupply += amount;
totalCollateral += msg.value;
}
function burn(uint amount) external {
require(balances[msg.sender] >= amount, "Insufficient balance");
balances[msg.sender] -= amount;
totalSupply -= amount;
payable(msg.sender).transfer(amount);
totalCollateral -= amount;
}
}Last updated