ERC20
This contract is an ERC20 token.
Name
Po.et
Symbol
POE
Decimals
8
Total Supply
3,141,592,653 POE
About
link
description
Po.et (POE) is a cryptocurrency token and operates on the Ethereum platform. Po.et has a current supply of 3,141,592,653. The last known price of Po.et is $0.002762 USD and is up 3.25% over the last 24 hours. It is currently trading on 7 active market(s) with $257,515.107 traded over the last 24 hours. More information can be found at https://po.et/.
Stats
Public Functions
12
Event Types
5
Code Size
11,213 bytes
Events (5) keyboard_arrow_up
Functions
setOwner keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
Source Code
function setOwner(address _new)
public
onlyOwner
{
NewPotentialOwner(owner, _new);
potentialOwner = _new;
}
confirmOwnership keyboard_arrow_up
Parameters help
This function has no parameters.
Modifiers help
onlyPotentialOwner checks for the following:
Source Code
function confirmOwnership()
public
onlyPotentialOwner
{
// Allow new owner to distribute tokens allocated on the icoAllocation address
allowed[icoAllocation][potentialOwner] = balanceOf(icoAllocation);
// Forbid old owner to distribute tokens
allowed[icoAllocation][owner] = 0;
// Forbid old owner to withdraw tokens from foundation reserve
allowed[foundationReserve][owner] = 0;
// Change owner
super.confirmOwnership();
}
totalSupply keyboard_arrow_up
balanceOf keyboard_arrow_up
transfer keyboard_arrow_up
Source Code
function transfer(address _to, uint256 _value) returns (bool success) {
if (balances[msg.sender] >= _value && balances[_to] + _value > balances[_to]) {
balances[msg.sender] -= _value;
balances[_to] += _value;
Transfer(msg.sender, _to, _value);
return true;
}
else {
return false;
}
}
transferFrom keyboard_arrow_up
Source Code
function transferFrom(address _from, address _to, uint256 _value) returns (bool success) {
if (balances[_from] >= _value && allowed[_from][msg.sender] >= _value && balances[_to] + _value > balances[_to]) {
balances[_to] += _value;
balances[_from] -= _value;
allowed[_from][msg.sender] -= _value;
Transfer(_from, _to, _value);
return true;
}
else {
return false;
}
}
approve keyboard_arrow_up
Source Code
function approve(address _spender, uint256 _value) returns (bool success) {
allowed[msg.sender][_spender] = _value;
Approval(msg.sender, _spender, _value);
return true;
}
allowance keyboard_arrow_up
Source Code
function allowance(address _owner, address _spender)
public
constant
returns (uint256 remaining)
{
if (_owner == foundationReserve && _spender == owner) {
return availableReserve();
}
return allowed[_owner][_spender];
}
transferERC20Token keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
Source Code
function transferERC20Token(address tokenAddress)
public
onlyOwner
returns (bool)
{
uint balance = AbstractToken(tokenAddress).balanceOf(this);
return AbstractToken(tokenAddress).transfer(owner, balance);
}
distribute keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
Source Code
function distribute(address investor, uint amount)
public
onlyOwner
{
transferFrom(icoAllocation, investor, amount);
}
availableReserve keyboard_arrow_up
Parameters help
This function has no parameters.
Source Code
function availableReserve()
public
constant
returns (uint)
{
// No tokens should be available for withdrawal before September 1, 2017
if (now < Sept1_2017) {
return 0;
}
// Number of days passed since September 1, 2017
uint daysPassed = div(sub(now, Sept1_2017), 1 days);
// All tokens should be unlocked if reserveDelta days passed
if (daysPassed >= reserveDelta) {
return balanceOf(foundationReserve);
}
// Percentage of unlocked tokens by the current date
uint unlockedPercentage = 0;
uint16 _days = 0; uint8 month = 9;
while (_days <= daysPassed) {
unlockedPercentage += 2;
_days += daysInMonth[month];
month = month % 12 + 1;
}
// Number of unlocked tokens by the current date
uint unlockedTokens = div(mul(totalSupply, unlockedPercentage), 100);
// Number of tokens that should remain locked
uint lockedTokens = foundationTokens - unlockedTokens;
return balanceOf(foundationReserve) - lockedTokens;
}
withdrawFromReserve keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
Requirements help
null
Source Code
function withdrawFromReserve(uint amount)
public
onlyOwner
{
// Allow owner to withdraw no more than this amount of tokens
allowed[foundationReserve][owner] = availableReserve();
// Withdraw tokens from foundation reserve to owner address
require(transferFrom(foundationReserve, owner, amount));
}