Deliberately skipped the later part of the contract which hasn’t been changed.
pragma solidity 0.5.12;
contract HelloWorld{
struct Person {
string name;
uint age;
uint height;
bool senior;
}
event personCreated(string name, bool senior);
event personDeleted(string name, bool senior, address deletedBy);
//viewable contract balance (NEW)
uint public balance;
address public owner;
modifier onlyOwner(){
require (msg.sender == owner);
_; //continue execution
}
constructor() public {
owner = msg.sender;
}
mapping(address => Person) private people;
address[] private creators;
//create person
function createPerson(string memory name, uint age, uint height) public payable {
//check enough money added to contract
require(msg.value >= 1 ether);
//increase contract balance by value sent to contract (NEW)
balance += msg.value;
Person memory newPerson;
newPerson.name = name;
newPerson.age = age;
newPerson.height = height;
if(age >= 65) {
newPerson.senior = true;
}
else{
newPerson.senior = false;
}
insertPerson(newPerson);
creators.push(msg.sender);
assert(
keccak256(
abi.encodePacked(
people[msg.sender].name,
people[msg.sender].age,
people[msg.sender].height,
people[msg.sender].senior
)
)
==
keccak256(
abi.encodePacked(
newPerson.name,
newPerson.age,
newPerson.height,
newPerson.senior
)
)
);
emit personCreated(newPerson.name, newPerson.senior);
}