-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcontract.sol
52 lines (35 loc) · 1.61 KB
/
contract.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
// SPDX-License-Identifier: MIT
pragma solidity 0.8.26;
/*
REQUIREMENTS
1. Your contract will have public variables that store the details about your coin (Token Name, Token Abbrv., Total Supply)
2. Your contract will have a mapping of addresses to balances (address => uint)
3. You will have a mint function that takes two parameters: an address and a value.
The function then increases the total supply by that number and increases the balance
of the “sender” address by that amount
4. Your contract will have a burn function, which works the opposite of the mint function, as it will destroy tokens.
It will take an address and value just like the mint functions. It will then deduct the value from the total supply
and from the balance of the “sender”.
5. Lastly, your burn function should have conditionals to make sure the balance of "sender" is greater than or equal
to the amount that is supposed to be burned.
*/
contract MyToken {
// public variables here
string public name = "Try";
string public symbol = "T";
uint public TotalSupply = 0;
// mapping variable here
mapping (address => uint) public balances;
// mint function
function mint(address _add , uint _v) public {
TotalSupply += _v;
balances[_add] += _v;
}
// burn function
function burn(address _add , uint _v) public {
if (balances[_add] >= _v) {
TotalSupply -= _v;
balances[_add] -= _v;
}
}
}