ERC20
This contract is an ERC20 token.
Name
SIRIN
Symbol
SRN
Decimals
18
Total Supply
572,166,104 SRN
About link description
SIRIN LABS Token (SRN) is a cryptocurrency and operates on the Ethereum platform. SIRIN LABS Token has a current supply of 572,166,103.886 with 491,820,906.379 in circulation. The last known price of SIRIN LABS Token is 0.00950149 USD and is up 1.47 over the last 24 hours. It is currently trading on 14 active market(s) with $17,331.34 traded over the last 24 hours. More information can be found at http://www.sirinlabs.com/.
Stats
Public Functions
16
Event Types
8
Code Size
41,673 bytes
Events (8) keyboard_arrow_up
State Variables (11) keyboard_arrow_up
Functions
balanceOf keyboard_arrow_up
transfer keyboard_arrow_up
Requirements help
Source Code
function transfer(address _to, uint256 _value) public returns (bool) {
require(_to != address(0));
require(_value <= balances[msg.sender]);
// SafeMath.sub will throw if there is not enough balance.
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
Requirements help
Source Code
function transferFrom(
address _from,
address _to,
uint256 _value
) public returns (bool) {
require(_to != address(0));
require(_value <= balances[_from]);
require(_value <= allowed[_from][msg.sender]);
balances[_from] = balances[_from].sub(_value);
balances[_to] = balances[_to].add(_value);
allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
Transfer(_from, _to, _value);
return true;
}
approve keyboard_arrow_up
Source Code
function approve(address _spender, uint256 _value) public returns (bool) {
allowed[msg.sender][_spender] = _value;
Approval(msg.sender, _spender, _value);
return true;
}
transferableTokens keyboard_arrow_up
Requirements help
transfersEnabled must be true
Source Code
function transferableTokens(address holder, uint64 time)
public
constant
returns (uint256)
{
require(transfersEnabled);
return super.transferableTokens(holder, time);
}
disableTransfers keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
Source Code
function disableTransfers(bool _disable) public onlyOwner {
transfersEnabled = !_disable;
}
issue keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
Source Code
function issue(address _to, uint256 _amount) public onlyOwner {
require(super.mint(_to, _amount));
Issuance(_amount);
}
destroy keyboard_arrow_up
Modifiers help
canDestroy checks for the following:
destroyEnabled must be true
Requirements help
One or more of the following:
-
owner
must be equal to
the sender's address
- OR
_from
must be equal to
the sender's address
Source Code
function destroy(address _from, uint256 _amount) public canDestroy {
require(msg.sender == _from || msg.sender == owner); // validate input
balances[_from] = balances[_from].sub(_amount);
totalSupply = totalSupply.sub(_amount);
Destruction(_amount);
Transfer(_from, 0x0, _amount);
}
transferOwnership keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
Source Code
function transferOwnership(address newOwner) public onlyOwner {
pendingOwner = newOwner;
}
claimOwnership keyboard_arrow_up
increaseApproval keyboard_arrow_up
Source Code
function increaseApproval(address _spender, uint256 _addedValue)
public
returns (bool success)
{
allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(
_addedValue
);
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 success)
{
uint256 oldValue = allowed[msg.sender][_spender];
if (_subtractedValue > oldValue) {
allowed[msg.sender][_spender] = 0;
} else {
allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
}
Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
return true;
}
mint keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
canMint checks for the following:
Source Code
function mint(address _to, uint256 _amount)
public
onlyOwner
canMint
returns (bool)
{
totalSupply = totalSupply.add(_amount);
balances[_to] = balances[_to].add(_amount);
Mint(_to, _amount);
Transfer(address(0), _to, _amount);
return true;
}
finishMinting keyboard_arrow_up
setDestroyEnabled keyboard_arrow_up
Modifiers help
onlyOwner checks for the following:
Source Code
function setDestroyEnabled(bool _enable) public onlyOwner {
destroyEnabled = _enable;
}
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.