Hord Token
Represents HORD token contract.
HordToken.sol
Implementation of the
IERC20
interface.This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using
_mint
. For a generic mechanism see ERC20PresetMinterPauser
.TIP: https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms].
We have followed general OpenZeppelin guidelines: functions revert instead of returning
false
on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20
applications.Additionally, an
Approval
event is emitted on calls to transferFrom
. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification.Finally, the non-standard
decreaseAllowance
and increaseAllowance
functions have been added to mitigate the well-known issues around setting allowances. See IERC20-approve
.event Approval(address indexed owner, address indexed spender, uint256 value);
Emitted each time an approval occurs via _approve
event Transfer(address indexed from, address indexed to, uint256 value);
function name() external pure returns (string memory);
- Returns the name of the token. [
Hord Token
]
function symbol() external pure returns (string memory);
- Returns the symbol of the token, usually a shorter version of the name. [
HORD
]
function decimals() external pure returns (uint8);
- Returns the number of decimals used to get its user representation. [
18
]
function totalSupply() external view returns (uint);
- Returns the total amount of HORD tokens.
function balanceOf(address account) external view returns (uint);
- Returns the amount of tokens owned by an
account
address.
function allowance(address owner, address spender) external view returns (uint256);
- Returns the remaining number of tokens that
spender
will be allowed to spend on behalf ofowner
throughtransferFrom
.
function approve(address spender, uint256 amount) external returns (bool);
- Sets
amount
as the allowance ofspender
over the caller's tokens. - Returns a boolean value indicating whether the operation succeeded.
function transfer(address recipient, uint256 amount) external returns (bool);
- Moves
amount
tokens from the caller's account torecipient
. - Returns a boolean value indicating whether the operation succeeded.
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
- Moves
amount
tokens fromsender
torecipient
using the allowance mechanism.amount
is then deducted from the caller's allowance. - Returns a boolean value indicating whether the operation succeeded.
function burn(uint amount) public virtual;
- Destroys
amount
tokens frommsg.sender
, reducing the total supply.
function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool)
- Atomically increases the allowance granted to
spender
by the caller. - This is an alternative to
approve
that can be used as a mitigation for problems described inIERC20-approve
.
function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool)
- Atomically decreases the allowance granted to
spender
by the caller. - This is an alternative to
approve
that can be used as a mitigation for problems described inIERC20-approve
.
Last modified 6mo ago