// SPDX-License-Identifier: LGPL-3.0-only /// Implements ERC 20 Token standard: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md pragma solidity ^0.6.0; /// @title Abstract token contract - Functions to be implemented by token contracts abstract contract Token { /* * Events */ event Transfer(address indexed from, address indexed to, uint value); event Approval(address indexed owner, address indexed spender, uint value); /* * Public functions */ function transfer(address to, uint value) public virtual returns (bool); function transferFrom(address from, address to, uint value) public virtual returns (bool); function approve(address spender, uint value) public virtual returns (bool); function balanceOf(address owner) public virtual view returns (uint); function allowance(address owner, address spender) public virtual view returns (uint); function totalSupply() public virtual view returns (uint); }