Add approve runable

This commit is contained in:
nolash
2021-10-24 15:29:00 +02:00
parent 84ce22e8b6
commit fde30511de
4 changed files with 114 additions and 3 deletions

View File

@@ -23,7 +23,7 @@ contract GiftableToken {
event Transfer(address indexed _from, address indexed _to, uint256 _value);
event TransferFrom(address indexed _from, address indexed _to, address indexed _spender, uint256 _value);
event Approval(address indexed _owner, address indexed _spender, uint256 _value);
event Mint(address indexed _minter, address indexed _beneficiary, uint256 _value);
event Mint(address indexed _minter, address indexed _beneficiary, uint256 _value); // Minter
constructor(string memory _name, string memory _symbol, uint8 _decimals) public {
owner = msg.sender;
@@ -33,6 +33,7 @@ contract GiftableToken {
minters[msg.sender] = true;
}
// Implements Minter
function mintTo(address _to, uint256 _value) public returns (bool) {
require(minters[msg.sender]);
@@ -52,6 +53,11 @@ contract GiftableToken {
return true;
}
// Implements Writer
function addWriter(address _minter) public returns (bool) {
return addMinter(_minter);
}
function removeMinter(address _minter) public returns (bool) {
require(msg.sender == owner || msg.sender == _minter);
@@ -60,6 +66,11 @@ contract GiftableToken {
return true;
}
// Implements Writer
function deleteWriter(address _minter) public returns (bool) {
return removeMinter(_minter);
}
// Implements ERC20
function transfer(address _to, uint256 _value) public returns (bool) {
require(balanceOf[msg.sender] >= _value);
@@ -101,6 +112,9 @@ contract GiftableToken {
if (_sum == 0x01ffc9a7) { // EIP165
return true;
}
if (_sum == 0x80c84bd6) { // Writer
return true;
}
return false;
}
}