You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

32 lines
952 B

pragma solidity ^0.4.23;
contract Accounts {
mapping(address => Account) accounts;
struct Account {
address ID;
int64 Balance;
bytes32[] History;
}
event BalanceUpdated(address sender, address receiver, int64 value);
function updateBalance(address _receiver, int64 _value) public {
// check if balance of _sender is under the limit
require(accounts[msg.sender].Balance - _value > -100, "too much negative balance");
// substract _value from _sender account
accounts[msg.sender].Balance = accounts[msg.sender].Balance - _value;
// add _value to _receiver account
accounts[_receiver].Balance = accounts[_receiver].Balance + _value;
// add transaction to history of sender and receiver accounts
// emit BalanceUpdated
emit BalanceUpdated(msg.sender, _receiver, _value);
}
function getBalance(address _address) public view returns (int64) {
return accounts[_address].Balance;
}
}