EFFORCE IEO
ERC20
This contract is an ERC20 token.
Name
EFFORCE IEO
Symbol
WOZX
Decimals
18
Total Supply
1,000,000,000 WOZX
About link description
EFFORCE (WOZX) is a cryptocurrency and operates on the Ethereum platform. EFFORCE has a current supply of 1,000,000,000 with 114,701,998.9928 in circulation. The last known price of EFFORCE is 0.60174698 USD and is down -1.76 over the last 24 hours. It is currently trading on 12 active market(s) with $5,457,485.73 traded over the last 24 hours. More information can be found at https://www.efforce.io.
Stats
Public Functions
26
Event Types
12
Code Size
22,361 bytes
Events (12) keyboard_arrow_up
Constants (8) keyboard_arrow_up
State Variables (10) keyboard_arrow_up
Functions
renounceOwnership keyboard_arrow_up
transferOwnership keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
Source Code
function transferOwnership(address _newOwner) public onlyOwner {
_transferOwnership(_newOwner);
}
pause keyboard_arrow_up
unpause keyboard_arrow_up
totalSupply keyboard_arrow_up
balanceOf keyboard_arrow_up
transfer keyboard_arrow_up
Requirements help
Source Code
function transfer(address _to, uint256 _value) public returns (bool _success) {
require(!paused);
return super.transfer(_to, _value);
}
burn keyboard_arrow_up
allowance keyboard_arrow_up
transferFrom keyboard_arrow_up
Requirements help
Source Code
function transferFrom(
address _from,
address _to,
uint256 _value
) public returns (bool _success) {
require(!paused);
return super.transferFrom(_from, _to, _value);
}
approve keyboard_arrow_up
Source Code
function approve(address _spender, uint256 _value) public returns (bool) {
allowed[msg.sender][_spender] = _value;
emit Approval(msg.sender, _spender, _value);
return true;
}
increaseApproval keyboard_arrow_up
Source Code
function increaseApproval(address _spender, uint256 _addedValue)
public
returns (bool)
{
allowed[msg.sender][_spender] = (
allowed[msg.sender][_spender].add(_addedValue)
);
emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
return true;
}
decreaseApproval keyboard_arrow_up
Source Code
function decreaseApproval(address _spender, uint256 _subtractedValue)
public
returns (bool)
{
uint256 oldValue = allowed[msg.sender][_spender];
if (_subtractedValue > oldValue) {
allowed[msg.sender][_spender] = 0;
} else {
allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
}
emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
return true;
}
mint keyboard_arrow_up
Modifiers help
hasMintPermission checks for the following:
canMint checks for the following:
Source Code
function mint(address _to, uint256 _amount)
public
hasMintPermission
canMint
returns (bool)
{
totalSupply_ = totalSupply_.add(_amount);
balances[_to] = balances[_to].add(_amount);
emit Mint(_to, _amount);
emit Transfer(address(0), _to, _amount);
return true;
}
finishMinting keyboard_arrow_up
actualBalanceOf keyboard_arrow_up
freezingBalanceOf keyboard_arrow_up
freezingCount keyboard_arrow_up
Source Code
function freezingCount(address _addr) public view returns (uint256 count) {
uint64 release = chains[toKey(_addr, 0)];
while (release != 0) {
count++;
release = chains[toKey(_addr, release)];
}
}
getFreezing keyboard_arrow_up
Source Code
function getFreezing(address _addr, uint256 _index)
public
view
returns (uint64 _release, uint256 _balance)
{
for (uint256 i = 0; i < _index + 1; i++) {
_release = chains[toKey(_addr, _release)];
if (_release == 0) {
return;
}
}
_balance = freezings[toKey(_addr, _release)];
}
freezeTo keyboard_arrow_up
Requirements help
Source Code
function freezeTo(
address _to,
uint256 _amount,
uint64 _until
) public {
require(_to != address(0));
require(_amount <= balances[msg.sender]);
balances[msg.sender] = balances[msg.sender].sub(_amount);
bytes32 currentKey = toKey(_to, _until);
freezings[currentKey] = freezings[currentKey].add(_amount);
freezingBalance[_to] = freezingBalance[_to].add(_amount);
freeze(_to, _until);
emit Transfer(msg.sender, _to, _amount);
emit Freezed(_to, _until, _amount);
}
releaseOnce keyboard_arrow_up
Parameters help
This function has no parameters.
Source Code
function releaseOnce() public {
bytes32 headKey = toKey(msg.sender, 0);
uint64 head = chains[headKey];
require(head != 0);
require(uint64(block.timestamp) > head);
bytes32 currentKey = toKey(msg.sender, head);
uint64 next = chains[currentKey];
uint256 amount = freezings[currentKey];
delete freezings[currentKey];
balances[msg.sender] = balances[msg.sender].add(amount);
freezingBalance[msg.sender] = freezingBalance[msg.sender].sub(amount);
if (next == 0) {
delete chains[headKey];
} else {
chains[headKey] = next;
delete chains[currentKey];
}
emit Released(msg.sender, amount);
}
releaseAll keyboard_arrow_up
Parameters help
This function has no parameters.
Source Code
function releaseAll() public returns (uint256 tokens) {
uint256 release;
uint256 balance;
(release, balance) = getFreezing(msg.sender, 0);
while (release != 0 && block.timestamp > release) {
releaseOnce();
tokens += balance;
(release, balance) = getFreezing(msg.sender, 0);
}
}
mintAndFreeze keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
canMint checks for the following:
Requirements help
Source Code
function mintAndFreeze(
address _to,
uint256 _amount,
uint64 _until
) public onlyOwner canMint returns (bool) {
totalSupply_ = totalSupply_.add(_amount);
bytes32 currentKey = toKey(_to, _until);
freezings[currentKey] = freezings[currentKey].add(_amount);
freezingBalance[_to] = freezingBalance[_to].add(_amount);
freeze(_to, _until);
emit Mint(_to, _amount);
emit Freezed(_to, _until, _amount);
emit Transfer(msg.sender, _to, _amount);
return true;
}
name keyboard_arrow_up
symbol keyboard_arrow_up
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 MainToken.init keyboard_arrow_up
Parameters help
This function has no parameters.
Requirements help
Source Code
function init() private {
require(!initialized);
initialized = true;
if (PAUSED) {
pause();
}
address[1] memory addresses = [
address(0x9d9e8607f0EB69C37Cb14B7110cd458bfB14d0eE)
];
uint256[1] memory amounts = [uint256(350000000000000000000000000)];
uint64[1] memory freezes = [uint64(0)];
for (uint256 i = 0; i < addresses.length; i++) {
if (freezes[i] == 0) {
mint(addresses[i], amounts[i]);
} else {
mintAndFreeze(addresses[i], amounts[i], freezes[i]);
}
}
if (!CONTINUE_MINTING) {
finishMinting();
}
emit Initialized();
}
internal FreezableToken.toKey keyboard_arrow_up
Source Code
function toKey(address _addr, uint256 _release)
internal
pure
returns (bytes32 result)
{
// WISH masc to increase entropy
result = 0x5749534800000000000000000000000000000000000000000000000000000000;
assembly {
result := or(result, mul(_addr, 0x10000000000000000))
result := or(result, _release)
}
}
internal FreezableToken.freeze keyboard_arrow_up
Requirements help
Source Code
function freeze(address _to, uint64 _until) internal {
require(_until > block.timestamp);
bytes32 key = toKey(_to, _until);
bytes32 parentKey = toKey(_to, uint64(0));
uint64 next = chains[parentKey];
if (next == 0) {
chains[parentKey] = _until;
return;
}
bytes32 nextKey = toKey(_to, next);
uint256 parent;
while (next != 0 && _until > next) {
parent = next;
parentKey = nextKey;
next = chains[nextKey];
nextKey = toKey(_to, next);
}
if (_until == next) {
return;
}
if (next != 0) {
chains[key] = next;
}
chains[parentKey] = _until;
}
internal Ownable._transferOwnership keyboard_arrow_up
Source Code
function _transferOwnership(address _newOwner) internal {
require(_newOwner != address(0));
emit OwnershipTransferred(owner, _newOwner);
owner = _newOwner;
}
internal BurnableToken._burn keyboard_arrow_up
Requirements help
Source Code
function _burn(address _who, uint256 _value) internal {
require(_value <= balances[_who]);
// no need to require value <= totalSupply, since that would imply the
// sender's balance is greater than the totalSupply, which *should* be an assertion failure
balances[_who] = balances[_who].sub(_value);
totalSupply_ = totalSupply_.sub(_value);
emit Burn(_who, _value);
emit Transfer(_who, address(0), _value);
}
internal Ownable._transferOwnership keyboard_arrow_up
Source Code
function _transferOwnership(address _newOwner) internal {
require(_newOwner != address(0));
emit OwnershipTransferred(owner, _newOwner);
owner = _newOwner;
}