ETH Price: $3,371.71 (+3.06%)

Token

Rune (RUNE)
 

Overview

Max Total Supply

1,000,000,000 RUNE

Holders

130

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
produm.eth
Balance
4,307.980424375509435883 RUNE

Value
$0.00
0xa53a742502a374b3916049067eada96a8da5c42c
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
RUNEToken

Compiler Version
v0.4.21+commit.dfe3193c

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-08-08
*/

// compiler: 0.4.21+commit.dfe3193c.Emscripten.clang
pragma solidity ^0.4.21;

// ERC20 Token with ERC223 Token compatibility
// SafeMath from OpenZeppelin Standard
// Added burn functions from Ethereum Token 
// - https://theethereum.wiki/w/index.php/ERC20_Token_Standard
// - https://github.com/Dexaran/ERC23-tokens/blob/Recommended/ERC223_Token.sol
// - https://github.com/OpenZeppelin/openzeppelin-solidity/blob/master/contracts/math/SafeMath.sol
// - https://www.ethereum.org/token (uncontrolled, non-standard)


// ERC223
interface ContractReceiver {
  function tokenFallback( address from, uint value, bytes data ) external;
}

// SafeMath
contract SafeMath {

    function safeSub(uint a, uint b) internal pure returns (uint) {
        assert(b <= a);
        return a - b;
    }

    function safeAdd(uint a, uint b) internal pure returns (uint) {
        uint c = a + b;
        assert(c >= a);
        return c;
    }
    
    function max64(uint64 a, uint64 b) internal pure returns (uint64) {
        return a >= b ? a : b;
    }

    function min64(uint64 a, uint64 b) internal pure returns (uint64) {
        return a < b ? a : b;
    }

    function max256(uint256 a, uint256 b) internal pure returns (uint256) {
        return a >= b ? a : b;
    }

    function min256(uint256 a, uint256 b) internal pure returns (uint256) {
        return a < b ? a : b;
}
}


contract RUNEToken is SafeMath
{
    
    // Rune Characteristics
  string  public name = "Rune";
  string  public symbol  = "RUNE";
  uint256   public decimals  = 18;
  uint256 public totalSupply  = 1000000000 * (10 ** decimals);

    // Mapping
  mapping( address => uint256 ) balances_;
  mapping( address => mapping(address => uint256) ) allowances_;
  
  // Minting event
  function RUNEToken() public {
        balances_[msg.sender] = totalSupply;
            emit Transfer( address(0), msg.sender, totalSupply );
    }

  function() public payable { revert(); } // does not accept money
  
  // ERC20
  event Approval( address indexed owner,
                  address indexed spender,
                  uint value );

  event Transfer( address indexed from,
                  address indexed to,
                  uint256 value );


  // ERC20
  function balanceOf( address owner ) public constant returns (uint) {
    return balances_[owner];
  }

  // ERC20
  function approve( address spender, uint256 value ) public
  returns (bool success)
  {
    allowances_[msg.sender][spender] = value;
    emit Approval( msg.sender, spender, value );
    return true;
  }
 
  // recommended fix for known attack on any ERC20
  function safeApprove( address _spender,
                        uint256 _currentValue,
                        uint256 _value ) public
                        returns (bool success) {

    // If current allowance for _spender is equal to _currentValue, then
    // overwrite it with _value and return true, otherwise return false.

    if (allowances_[msg.sender][_spender] == _currentValue)
      return approve(_spender, _value);

    return false;
  }

  // ERC20
  function allowance( address owner, address spender ) public constant
  returns (uint256 remaining)
  {
    return allowances_[owner][spender];
  }

  // ERC20
  function transfer(address to, uint256 value) public returns (bool success)
  {
    bytes memory empty; // null
    _transfer( msg.sender, to, value, empty );
    return true;
  }

  // ERC20
  function transferFrom( address from, address to, uint256 value ) public
  returns (bool success)
  {
    require( value <= allowances_[from][msg.sender] );

    allowances_[from][msg.sender] -= value;
    bytes memory empty;
    _transfer( from, to, value, empty );

    return true;
  }

  // ERC223 Transfer and invoke specified callback
  function transfer( address to,
                     uint value,
                     bytes data,
                     string custom_fallback ) public returns (bool success)
  {
    _transfer( msg.sender, to, value, data );

    if ( isContract(to) )
    {
      ContractReceiver rx = ContractReceiver( to );
      require( address(rx).call.value(0)(bytes4(keccak256(custom_fallback)),
               msg.sender,
               value,
               data) );
    }

    return true;
  }

  // ERC223 Transfer to a contract or externally-owned account
  function transfer( address to, uint value, bytes data ) public
  returns (bool success)
  {
    if (isContract(to)) {
      return transferToContract( to, value, data );
    }

    _transfer( msg.sender, to, value, data );
    return true;
  }

  // ERC223 Transfer to contract and invoke tokenFallback() method
  function transferToContract( address to, uint value, bytes data ) private
  returns (bool success)
  {
    _transfer( msg.sender, to, value, data );

    ContractReceiver rx = ContractReceiver(to);
    rx.tokenFallback( msg.sender, value, data );

    return true;
  }

  // ERC223 fetch contract size (must be nonzero to be a contract)
  function isContract( address _addr ) private constant returns (bool)
  {
    uint length;
    assembly { length := extcodesize(_addr) }
    return (length > 0);
  }

  function _transfer( address from,
                      address to,
                      uint value,
                      bytes data ) internal
  {
    require( to != 0x0 );
    require( balances_[from] >= value );
    require( balances_[to] + value > balances_[to] ); // catch overflow

    balances_[from] -= value;
    balances_[to] += value;

    //Transfer( from, to, value, data ); ERC223-compat version
    bytes memory empty;
    empty = data;
    emit Transfer( from, to, value ); // ERC20-compat version
  }
  
  
    // Ethereum Token
  event Burn( address indexed from, uint256 value );
  
    // Ethereum Token
  function burn( uint256 value ) public
  returns (bool success)
  {
    require( balances_[msg.sender] >= value );
    balances_[msg.sender] -= value;
    totalSupply -= value;

    emit Burn( msg.sender, value );
    return true;
  }

  // Ethereum Token
  function burnFrom( address from, uint256 value ) public
  returns (bool success)
  {
    require( balances_[from] >= value );
    require( value <= allowances_[from][msg.sender] );

    balances_[from] -= value;
    allowances_[from][msg.sender] -= value;
    totalSupply -= value;

    emit Burn( from, value );
    return true;
  }
  
  
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"value","type":"uint256"}],"name":"burn","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"value","type":"uint256"}],"name":"burnFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"},{"name":"data","type":"bytes"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"},{"name":"data","type":"bytes"},{"name":"custom_fallback","type":"string"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_currentValue","type":"uint256"},{"name":"_value","type":"uint256"}],"name":"safeApprove","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"}]

606060405260408051908101604052600481527f52756e65000000000000000000000000000000000000000000000000000000006020820152600090805161004b92916020019061010e565b5060408051908101604052600481527f52554e45000000000000000000000000000000000000000000000000000000006020820152600190805161009392916020019061010e565b5060126002556b033b2e3c9fd0803ce800000060035534156100b457600080fd5b600354600160a060020a033316600081815260046020526040808220849055919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91905190815260200160405180910390a36101a9565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061014f57805160ff191683800117855561017c565b8280016001018555821561017c579182015b8281111561017c578251825591602001919060010190610161565b5061018892915061018c565b5090565b6101a691905b808211156101885760008155600101610192565b90565b610b64806101b86000396000f3006060604052600436106100b65763ffffffff60e060020a60003504166306fdde0381146100bb578063095ea7b31461014557806318160ddd1461017b57806323b872dd146101a0578063313ce567146101c857806342966c68146101db57806370a08231146101f157806379cc67901461021057806395d89b4114610232578063a9059cbb14610245578063be45fd6214610267578063dd62ed3e146102cc578063f6368f8a146102f1578063f650366214610398575b600080fd5b34156100c657600080fd5b6100ce6103bd565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561010a5780820151838201526020016100f2565b50505050905090810190601f1680156101375780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561015057600080fd5b610167600160a060020a036004351660243561045b565b604051901515815260200160405180910390f35b341561018657600080fd5b61018e6104c7565b60405190815260200160405180910390f35b34156101ab57600080fd5b610167600160a060020a03600435811690602435166044356104cd565b34156101d357600080fd5b61018e61054e565b34156101e657600080fd5b610167600435610554565b34156101fc57600080fd5b61018e600160a060020a03600435166105df565b341561021b57600080fd5b610167600160a060020a03600435166024356105fa565b341561023d57600080fd5b6100ce6106d6565b341561025057600080fd5b610167600160a060020a0360043516602435610741565b341561027257600080fd5b61016760048035600160a060020a03169060248035919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061076195505050505050565b34156102d757600080fd5b61018e600160a060020a0360043581169060243516610796565b34156102fc57600080fd5b61016760048035600160a060020a03169060248035919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496506107c195505050505050565b34156103a357600080fd5b610167600160a060020a0360043516602435604435610909565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104535780601f1061042857610100808354040283529160200191610453565b820191906000526020600020905b81548152906001019060200180831161043657829003601f168201915b505050505081565b600160a060020a03338116600081815260056020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60035481565b60006104d7610b26565b600160a060020a038086166000908152600560209081526040808320339094168352929052205483111561050a57600080fd5b600160a060020a03808616600090815260056020908152604080832033909416835292905220805484900390556105438585858461094c565b506001949350505050565b60025481565b600160a060020a0333166000908152600460205260408120548290101561057a57600080fd5b600160a060020a03331660008181526004602052604090819020805485900390556003805485900390557fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59084905190815260200160405180910390a2506001919050565b600160a060020a031660009081526004602052604090205490565b600160a060020a0382166000908152600460205260408120548290101561062057600080fd5b600160a060020a038084166000908152600560209081526040808320339094168352929052205482111561065357600080fd5b600160a060020a038084166000818152600460209081526040808320805488900390556005825280832033909516835293905282902080548590039055600380548590039055907fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59084905190815260200160405180910390a250600192915050565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104535780601f1061042857610100808354040283529160200191610453565b600061074b610b26565b6107573385858461094c565b5060019392505050565b600061076c84610a26565b156107835761077c848484610a2e565b905061078f565b6107573385858561094c565b9392505050565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205490565b6000806107d03387878761094c565b6107d986610a26565b156108fd575084600160a060020a0381166000846040518082805190602001908083835b6020831061081c5780518252601f1990920191602091820191016107fd565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902060e060020a9004903388886040518563ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a03168152602001838152602001828051906020019080838360005b838110156108ad578082015183820152602001610895565b50505050905090810190601f1680156108da5780820380516001836020036101000a031916815260200191505b50935050505060006040518083038185885af1935050505015156108fd57600080fd5b50600195945050505050565b600160a060020a0333811660009081526005602090815260408083209387168352929052908120548314156109425761077c848361045b565b5060009392505050565b610954610b26565b600160a060020a038416151561096957600080fd5b600160a060020a0385166000908152600460205260409020548390101561098f57600080fd5b600160a060020a038416600090815260046020526040902054838101116109b557600080fd5b50600160a060020a03808516600081815260046020526040808220805487900390559286168082529083902080548601905583929091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a35050505050565b6000903b1190565b600080610a3d3386868661094c565b5083600160a060020a03811663c0ee0b8a3386866040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610abe578082015183820152602001610aa6565b50505050905090810190601f168015610aeb5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b1515610b0b57600080fd5b5af11515610b1857600080fd5b506001979650505050505050565b602060405190810160405260008152905600a165627a7a7230582058f19d6fe37fa22d082c7954a286b0e6d84bb7e7e6ec4f8c40f912a32265e5ee0029

Deployed Bytecode

0x6060604052600436106100b65763ffffffff60e060020a60003504166306fdde0381146100bb578063095ea7b31461014557806318160ddd1461017b57806323b872dd146101a0578063313ce567146101c857806342966c68146101db57806370a08231146101f157806379cc67901461021057806395d89b4114610232578063a9059cbb14610245578063be45fd6214610267578063dd62ed3e146102cc578063f6368f8a146102f1578063f650366214610398575b600080fd5b34156100c657600080fd5b6100ce6103bd565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561010a5780820151838201526020016100f2565b50505050905090810190601f1680156101375780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561015057600080fd5b610167600160a060020a036004351660243561045b565b604051901515815260200160405180910390f35b341561018657600080fd5b61018e6104c7565b60405190815260200160405180910390f35b34156101ab57600080fd5b610167600160a060020a03600435811690602435166044356104cd565b34156101d357600080fd5b61018e61054e565b34156101e657600080fd5b610167600435610554565b34156101fc57600080fd5b61018e600160a060020a03600435166105df565b341561021b57600080fd5b610167600160a060020a03600435166024356105fa565b341561023d57600080fd5b6100ce6106d6565b341561025057600080fd5b610167600160a060020a0360043516602435610741565b341561027257600080fd5b61016760048035600160a060020a03169060248035919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061076195505050505050565b34156102d757600080fd5b61018e600160a060020a0360043581169060243516610796565b34156102fc57600080fd5b61016760048035600160a060020a03169060248035919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496506107c195505050505050565b34156103a357600080fd5b610167600160a060020a0360043516602435604435610909565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104535780601f1061042857610100808354040283529160200191610453565b820191906000526020600020905b81548152906001019060200180831161043657829003601f168201915b505050505081565b600160a060020a03338116600081815260056020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60035481565b60006104d7610b26565b600160a060020a038086166000908152600560209081526040808320339094168352929052205483111561050a57600080fd5b600160a060020a03808616600090815260056020908152604080832033909416835292905220805484900390556105438585858461094c565b506001949350505050565b60025481565b600160a060020a0333166000908152600460205260408120548290101561057a57600080fd5b600160a060020a03331660008181526004602052604090819020805485900390556003805485900390557fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59084905190815260200160405180910390a2506001919050565b600160a060020a031660009081526004602052604090205490565b600160a060020a0382166000908152600460205260408120548290101561062057600080fd5b600160a060020a038084166000908152600560209081526040808320339094168352929052205482111561065357600080fd5b600160a060020a038084166000818152600460209081526040808320805488900390556005825280832033909516835293905282902080548590039055600380548590039055907fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59084905190815260200160405180910390a250600192915050565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104535780601f1061042857610100808354040283529160200191610453565b600061074b610b26565b6107573385858461094c565b5060019392505050565b600061076c84610a26565b156107835761077c848484610a2e565b905061078f565b6107573385858561094c565b9392505050565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205490565b6000806107d03387878761094c565b6107d986610a26565b156108fd575084600160a060020a0381166000846040518082805190602001908083835b6020831061081c5780518252601f1990920191602091820191016107fd565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902060e060020a9004903388886040518563ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a03168152602001838152602001828051906020019080838360005b838110156108ad578082015183820152602001610895565b50505050905090810190601f1680156108da5780820380516001836020036101000a031916815260200191505b50935050505060006040518083038185885af1935050505015156108fd57600080fd5b50600195945050505050565b600160a060020a0333811660009081526005602090815260408083209387168352929052908120548314156109425761077c848361045b565b5060009392505050565b610954610b26565b600160a060020a038416151561096957600080fd5b600160a060020a0385166000908152600460205260409020548390101561098f57600080fd5b600160a060020a038416600090815260046020526040902054838101116109b557600080fd5b50600160a060020a03808516600081815260046020526040808220805487900390559286168082529083902080548601905583929091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a35050505050565b6000903b1190565b600080610a3d3386868661094c565b5083600160a060020a03811663c0ee0b8a3386866040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610abe578082015183820152602001610aa6565b50505050905090810190601f168015610aeb5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b1515610b0b57600080fd5b5af11515610b1857600080fd5b506001979650505050505050565b602060405190810160405260008152905600a165627a7a7230582058f19d6fe37fa22d082c7954a286b0e6d84bb7e7e6ec4f8c40f912a32265e5ee0029

Swarm Source

bzzr://58f19d6fe37fa22d082c7954a286b0e6d84bb7e7e6ec4f8c40f912a32265e5ee
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.