Moeda Loyalty Points
ERC20
This contract is an ERC20 token.
Name
Moeda Loyalty Points
Symbol
MDA
Decimals
18
Total Supply
19,628,888 MDA
About link description
Moeda Loyalty Points (MDA) is a cryptocurrency and operates on the Ethereum platform. Moeda Loyalty Points has a current supply of 19,628,888. The last known price of Moeda Loyalty Points is 0.55270964 USD and is up 2.13 over the last 24 hours. It is currently trading on 5 active market(s) with $2,261,660.91 traded over the last 24 hours. More information can be found at https://moedaseeds.com/.
Stats
Public Functions
14
Event Types
6
Code Size
11,771 bytes
Events (6) keyboard_arrow_up
Constants (6) keyboard_arrow_up
State Variables (7) keyboard_arrow_up
Functions
transferOwnership keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
Source Code
function transferOwnership(address newOwner) onlyOwner {
if (newOwner != address(0)) {
owner = newOwner;
}
}
tokenFallback keyboard_arrow_up
reclaimToken keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
Source Code
function reclaimToken(address tokenAddr) external onlyOwner {
ERC20Basic tokenInst = ERC20Basic(tokenAddr);
uint256 balance = tokenInst.balanceOf(this);
tokenInst.transfer(owner, balance);
}
balanceOf keyboard_arrow_up
transfer keyboard_arrow_up
Source Code
function transfer(address _to, uint256 _value) returns (bool) {
balances[msg.sender] = balances[msg.sender].sub(_value);
balances[_to] = balances[_to].add(_value);
Transfer(msg.sender, _to, _value);
return true;
}
allowance keyboard_arrow_up
transferFrom keyboard_arrow_up
Source Code
function transferFrom(
address _from,
address _to,
uint256 _value
) returns (bool) {
var _allowance = allowed[_from][msg.sender];
// Check is not needed because sub(_allowance, _value) will already throw if this condition is not met
// require (_value <= _allowance);
balances[_to] = balances[_to].add(_value);
balances[_from] = balances[_from].sub(_value);
allowed[_from][msg.sender] = _allowance.sub(_value);
Transfer(_from, _to, _value);
return true;
}
approve keyboard_arrow_up
Requirements help
One or more of the following:
Source Code
function approve(address _spender, uint256 _value) returns (bool) {
// To change the approve amount you first have to reduce the addresses`
// allowance to zero by calling `approve(_spender, 0)` if it is not
// already 0 to mitigate the race condition described here:
// https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
require((_value == 0) || (allowed[msg.sender][_spender] == 0));
allowed[msg.sender][_spender] = _value;
Approval(msg.sender, _spender, _value);
return true;
}
setMigrationAgent keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
afterMinting checks for the following:
mintingFinished must be true
Requirements help
null
Source Code
function setMigrationAgent(address agent) external onlyOwner afterMinting {
require(agent != address(0) && isContract(agent));
require(MigrationAgent(agent).MIGRATE_MAGIC_ID() == AGENT_MAGIC_ID);
require(migrationAgent == address(0));
migrationAgent = MigrationAgent(agent);
}
migrate keyboard_arrow_up
Modifiers help
afterMinting checks for the following:
mintingFinished must be true
Requirements help
Source Code
function migrate(address beneficiary, uint256 amount) external afterMinting {
require(beneficiary != address(0));
require(migrationAgent != address(0));
require(amount > 0);
// safemath subtraction will throw if balance < amount
balances[msg.sender] = balances[msg.sender].sub(amount);
totalSupply = totalSupply.sub(amount);
totalMigrated = totalMigrated.add(amount);
migrationAgent.migrateTo(beneficiary, amount);
LogMigration(msg.sender, beneficiary, amount);
}
burn keyboard_arrow_up
Source Code
function burn(uint256 amount) external {
require(amount > 0);
balances[msg.sender] = balances[msg.sender].sub(amount);
totalSupply = totalSupply.sub(amount);
LogDestruction(msg.sender, amount);
}
unlock keyboard_arrow_up
transfer keyboard_arrow_up
Modifiers help
canTransfer checks for the following:
mintingFinished must be true
Source Code
function transfer(address to, uint256 _value)
public
canTransfer(to)
returns (bool)
{
return super.transfer(to, _value);
}
transferFrom keyboard_arrow_up
Modifiers help
canTransfer checks for the following:
mintingFinished must be true
Source Code
function transferFrom(
address from,
address to,
uint256 value
) public canTransfer(to) returns (bool) {
return super.transferFrom(from, to, value);
}
Internal Functions
Internal functions are parts of the contract that can't be used directly, but instead are used by the public functions listed above.
internal MoedaToken.issueTokens keyboard_arrow_up
internal MoedaToken.isContract keyboard_arrow_up
internal MoedaToken.mint keyboard_arrow_up
Modifiers help
canMint checks for the following:
Requirements help
Source Code
function mint(address recipient, uint256 amount) internal canMint {
require(amount > 0);
require(totalSupply.add(amount) <= MAX_TOKENS);
balances[recipient] = balances[recipient].add(amount);
totalSupply = totalSupply.add(amount);
LogCreation(recipient, amount);
}