0% found this document useful (0 votes)
3 views

Smart Contract

Uploaded by

nexege8631
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Smart Contract

Uploaded by

nexege8631
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 1

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.2;

contract Ssl {
mapping ( address=> uint ) public balances;
mapping (address=> mapping (address=>uint)) public allowance;

uint public totalSupply = 10000 * 10 ** 18;


string public name = "Shefi The Don";
string public symbol = "STD";
uint public decimals = 18;

event Transfer(address indexed from, address indexed to, uint value);


event Approval(address indexed owner, address indexed spender, uint value);

constructor() {
balances[msg.sender]=totalSupply;
}
function balaceOf(address owner) public view returns(uint){
return balances[owner];
}

function transfer(address to, uint value) public returns(bool){


require(balaceOf(msg.sender) >= value, 'Balance Too Low' );
balances[to] += value;
balances[msg.sender]-= value;
emit Transfer(msg.sender, to, value);
return true;
}

function transferFrom(address from, address to, uint value) public


returns(bool) {
require(balaceOf(from)>= value, 'balance too low');
require(allowance[from][msg.sender]>= value, 'allownce too low');
balances[to] += value;
balances[from] -= value;
emit Transfer(from,to,value);
return true;
}

function approve(address spender, uint value) public returns(bool) {


allowance[msg.sender][spender]=value;
emit Approval(msg.sender, spender, value);
return true;
}

You might also like