Added code for practical 3 and 4, provided by Macho.

This commit is contained in:
K
2025-10-16 23:52:07 +05:30
parent 3956549437
commit 46d14fff87
2 changed files with 68 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
contract BankAccount {
mapping(address => uint256) private balances;
event Deposit(address indexed account, uint256 amount);
event Withdraw(address indexed account, uint256 amount);
function deposit() public payable {
require(msg.value > 0, "Deposit amount must be greater than 0");
balances[msg.sender] += msg.value;
emit Deposit(msg.sender, msg.value);
}
function withdraw(uint256 amount) public {
require(amount > 0, "Withdraw amount must be greater than 0");
require(balances[msg.sender] >= amount, "Insufficient balance");
balances[msg.sender] -= amount;
payable(msg.sender).transfer(amount);
emit Withdraw(msg.sender, amount);
}
function getBalance() public view returns (uint256) {
return balances[msg.sender];
}
}