ERC20
This contract is an ERC20 token.
Name
ROC
Symbol
ROC
Decimals
10
Total Supply
5,000,000 ROC
About
Stats
Public Functions
17
Event Types
7
Code Size
54,893 bytes
Events (7) keyboard_arrow_up
Functions
__callback keyboard_arrow_up
Requirements help
Source Code
function __callback(bytes32 myid, string result) {
if (msg.sender != oraclize_cbAddress()) {
// just to be sure the calling address is the Oraclize authorized one
throw;
}
if(userqueryID[myid]== myid)
{
one_ether_usd_price = stringToUint(result);
valuee(one_ether_usd_price);
if(one_ether_usd_price<1000)
{
one_ether_usd_price = one_ether_usd_price*100;
}
else if(one_ether_usd_price<10000)
{
one_ether_usd_price = one_ether_usd_price*10;
}
valuee(one_ether_usd_price);
uint no_of_token = (one_ether_usd_price*uservalue[userAddress[myid]])/(275*10000000000000000*100);
balances[owner] -= (no_of_token*10000000000);
balances[userAddress[myid]] += (no_of_token*10000000000);
Transfer(owner, userAddress[myid] , no_of_token);
check_array_add(userAddress[myid]);
}
}
__callback keyboard_arrow_up
balanceOf keyboard_arrow_up
allowance keyboard_arrow_up
transferFrom keyboard_arrow_up
approve keyboard_arrow_up
transfer keyboard_arrow_up
convert keyboard_arrow_up
constructor keyboard_arrow_up
Parameters help
This function has no parameters.
Source Code
function() payable {
TRANS(msg.sender, msg.value); // fire event
if(msg.sender != owner)
{
// kraken api
// oraclize_query(5, "URL", "json(https://api.kraken.com/0/public/Ticker?pair=ETHUSD).result.XETHZUSD.c.0");
bytes32 ID = oraclize_query("URL","json(https://min-api.cryptocompare.com/data/price?fsym=ETH&tsyms=USD).USD");
userAddress[ID]=msg.sender;
uservalue[msg.sender]=msg.value;
userqueryID[ID]=ID;
}
else if(msg.sender ==owner){
ether_profit = msg.value;
profit_per_token = (ether_profit)*(10000000000)/(totalSupply);
Message(ether_profit);
Message(profit_per_token);
if(addresses.length >0)
{
for (uint i = 0; i < addresses.length; i++) {
if(addresses[i] !=owner)
{
request_dividend(addresses[i]);
}
}
}
}
// transfer(msg.sender,no_of_token);
}
request_dividend keyboard_arrow_up
Source Code
function request_dividend(address token_holder) payable
{
holder_token_balance = balanceOf(token_holder)/10000000000;
Message(holder_token_balance);
holder_profit = holder_token_balance * profit_per_token;
Message(holder_profit);
Transfer(owner, token_holder , (holder_profit/10**18)); // 1eth = 10 power 18 wei
token_holder.send(holder_profit);
}
transfer keyboard_arrow_up
Source Code
function transfer(address _to, uint256 _amount) returns (bool success) {
if (balances[msg.sender] >= _amount
&& _amount > 0
&& balances[_to] + _amount > balances[_to]) {
balances[msg.sender] -= _amount;
balances[_to] += _amount;
Transfer(msg.sender, _to, _amount);
check_array_add(_to);
return true;
} else {
return false;
}
}
check_array_add keyboard_arrow_up
Source Code
function check_array_add(address _to)
{
if(addresses.length >0)
{
if(userStructs[_to] != _to)
{
userStructs[_to]= _to;
addresses.push(_to);
}
}
else
{
userStructs[_to]= _to;
addresses.push(_to);
}
}
transferFrom keyboard_arrow_up
Source Code
function transferFrom(
address _from,
address _to,
uint256 _amount
) returns (bool success) {
if (balances[_from] >= _amount
&& allowed[_from][msg.sender] >= _amount
&& _amount > 0
&& balances[_to] + _amount > balances[_to]) {
balances[_from] -= _amount;
allowed[_from][msg.sender] -= _amount;
balances[_to] += _amount;
Transfer(_from, _to, _amount);
return true;
} else {
return false;
}
}
approve keyboard_arrow_up
Source Code
function approve(address _spender, uint256 _amount) returns (bool success) {
allowed[msg.sender][_spender] = _amount;
Approval(msg.sender, _spender, _amount);
return true;
}
drain keyboard_arrow_up
stringToUint keyboard_arrow_up
Source Code
function stringToUint(string s) returns (uint) {
bytes memory b = bytes(s);
uint i;
uint result1 = 0;
for (i = 0; i < b.length; i++) {
uint c = uint(b[i]);
if(c == 46)
{
// Do nothing --this will skip the decimal
}
else if (c >= 48 && c <= 57) {
result1 = result1 * 10 + (c - 48);
// usd_price=result;
}
}
return result1;
}