Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 20 additions & 20 deletions simplebank.sol
Original file line number Diff line number Diff line change
Expand Up @@ -2,52 +2,52 @@
pragma solidity ^0.8.0;

contract SimpleBank {
// TODO: Declare a public variable 'owner' of type address
address public ____;
// Declare a public variable 'owner' of type address
address public owner;

// TODO: Create a mapping 'balances' that maps address to uint
mapping(address => ____) public ____;
// Create a mapping 'balances' that maps address to uint
mapping(address => uint) public balances;

// Modifier to allow only owner to access certain functions
modifier onlyOwner() {
// TODO: Require that msg.sender is the owner
require(msg.sender == ____, "Not the owner");
// Require that msg.sender is the owner
require(msg.sender == owner, "Not the owner");
_;
}

// TODO: Create a constructor that sets the msg.sender as owner
// Constructor that sets the msg.sender as owner
constructor() {
____ = msg.sender;
owner = msg.sender;
}

// Function to deposit ether into the contract
function deposit() public payable {
// TODO: Increment the sender's balance with msg.value
____[msg.sender] += ____;
// Increment the sender's balance with msg.value
balances[msg.sender] += msg.value;
}

// Function to check balance
function getBalance() public view returns (uint) {
// TODO: Return the balance of the sender
return ____[msg.sender];
// Return the balance of the sender
return balances[msg.sender];
}

// Function to withdraw amount
function withdraw(uint amount) public {
// TODO: Check if sender has enough balance
require(____[msg.sender] >= amount, "Insufficient balance");
// Check if sender has enough balance
require(balances[msg.sender] >= amount, "Insufficient balance");

// TODO: Deduct the amount from sender's balance
____[msg.sender] -= amount;
// Deduct the amount from sender's balance
balances[msg.sender] -= amount;

// TODO: Transfer the amount to sender
payable(msg.sender).transfer(____);
// Transfer the amount to sender
payable(msg.sender).transfer(amount);
}

// Owner-only function to check contract's total balance
function contractBalance() public view onlyOwner returns (uint) {
// TODO: Return address(this).balance
return ____;
// Return address(this).balance
return address(this).balance;
}

// Fallback function to receive ether
Expand Down