Contract 0x49aaa160506f7e07e6c3f6cd6316b6866025cdcb

 

TxHash Block Age From To Value [TxFee]
0x0594ad8ff1efc3dc2463c446d5969fabe84df2251f88b8978dd4758ee900eb24722877310 hrs 45 mins ago0xf9cbe6d1fba8f404a8c305cce592c30bc0175731  IN   0x49aaa160506f7e07e6c3f6cd6316b6866025cdcb0 Ether0.0001419885
0x7d835222d43ae685c3f2f7eea0949565d1565db376f4912ca22872ebd197fc0a722804115 hrs ago0xf9cbe6d1fba8f404a8c305cce592c30bc0175731  IN   0x49aaa160506f7e07e6c3f6cd6316b6866025cdcb0 Ether0.0001419885
0xb457c1ffbe168b738716f92eb99cffed10886895f80ae7bd629c110a739b5724722803415 hrs 2 mins ago0xf9cbe6d1fba8f404a8c305cce592c30bc0175731  IN   0x49aaa160506f7e07e6c3f6cd6316b6866025cdcb0 Ether0.0001417965
0xea2c7d7b3bbd2803d02d684be460e772232002f36a167fcbe8575157bde24846722790215 hrs 45 mins ago0xf9cbe6d1fba8f404a8c305cce592c30bc0175731  IN   0x49aaa160506f7e07e6c3f6cd6316b6866025cdcb0 Ether0.0001418925
0xda8e50b12ca314af1e6a485f611f0abb70ef3857f15c25d29d4d5b021b01beb7722787415 hrs 53 mins ago0xf9cbe6d1fba8f404a8c305cce592c30bc0175731  IN   0x49aaa160506f7e07e6c3f6cd6316b6866025cdcb0 Ether0.0001418925
0xb3d04ff02e2d25cfe8ec2c9bd2c76d9255e38d3bb39d31238359365c372ca39d72254201 day 6 hrs ago0xf9cbe6d1fba8f404a8c305cce592c30bc0175731  IN   0x49aaa160506f7e07e6c3f6cd6316b6866025cdcb0 Ether0.0001418925
0xe49590921c4ede0886c0d61d35983795224de42c211d39da0e16138b4cee1ee372205202 days 10 hrs ago0xf9cbe6d1fba8f404a8c305cce592c30bc0175731  IN   0x49aaa160506f7e07e6c3f6cd6316b6866025cdcb0 Ether0.0001420845
0x4184d27999671cacf9c47e381581ea33d2f6ae2d86548f3d7db19a87d277e9fa72205112 days 10 hrs ago0xf9cbe6d1fba8f404a8c305cce592c30bc0175731  IN   0x49aaa160506f7e07e6c3f6cd6316b6866025cdcb0 Ether0.0001419885
0xf56e0430cbdbb9072a5dfd756157e57c3dc6b3258645ca9008f19faf63955a5c72205062 days 10 hrs ago0xf9cbe6d1fba8f404a8c305cce592c30bc0175731  IN   0x49aaa160506f7e07e6c3f6cd6316b6866025cdcb0 Ether0.0001417965
0xd32ca6f45ea55f7f01aef402f089ccb7dd6c9b47155eea90867ca8a2ec7b00ba72204902 days 10 hrs ago0xf9cbe6d1fba8f404a8c305cce592c30bc0175731  IN   0x49aaa160506f7e07e6c3f6cd6316b6866025cdcb0 Ether0.0001418925
0x0690cd43b342c81a7c3837b13bbb096242f047edb74086c61b34615052e4517472204872 days 10 hrs ago0xf9cbe6d1fba8f404a8c305cce592c30bc0175731  IN   0x49aaa160506f7e07e6c3f6cd6316b6866025cdcb0 Ether0.0001418925
0x879485f05a63bf4204f4b262a08613aeea6e2733998e38db83a7f0d7a34a870e72202112 days 12 hrs ago0xf9cbe6d1fba8f404a8c305cce592c30bc0175731  IN   0x49aaa160506f7e07e6c3f6cd6316b6866025cdcb0 Ether0.0001418925
0x4ac9acaf6e9720b948135b62b740d2630d743f257e01fa4e4a8080cfe88a676372201422 days 12 hrs ago0xf9cbe6d1fba8f404a8c305cce592c30bc0175731  IN   0x49aaa160506f7e07e6c3f6cd6316b6866025cdcb0 Ether0.000132522608
0xb83b5d0696b64b9012e1c828338308aaf7ad89993d533e87d3eddfda0d6b3cbb72201292 days 12 hrs ago0xf9cbe6d1fba8f404a8c305cce592c30bc0175731  IN   0x49aaa160506f7e07e6c3f6cd6316b6866025cdcb0 Ether0.000113514004
0xbc8d0b1a99da790995db236ef544ccf7250431c25ba6fdffdd53a381c4d0a69972201062 days 12 hrs ago0xf9cbe6d1fba8f404a8c305cce592c30bc0175731  IN   0x49aaa160506f7e07e6c3f6cd6316b6866025cdcb0 Ether0.0001418925
0x69855ce3b97cb858566f1068a57e031ea30ad8b9316b98bce88d6963a4c8ccce72200772 days 12 hrs ago0xf9cbe6d1fba8f404a8c305cce592c30bc0175731  IN   0x49aaa160506f7e07e6c3f6cd6316b6866025cdcb0 Ether0.0001418925
0x8445279075299408f927a16c33b189d7e794a937cc66837064b48963eb1d969672200742 days 12 hrs ago0xf9cbe6d1fba8f404a8c305cce592c30bc0175731  IN   0x49aaa160506f7e07e6c3f6cd6316b6866025cdcb0 Ether0.0001418925
0x96c7ef67959e527e5a04805e2c6a3e55b75ceb6e446a4c731aac4a6a3b6e513a72200722 days 12 hrs ago0xf9cbe6d1fba8f404a8c305cce592c30bc0175731  IN   0x49aaa160506f7e07e6c3f6cd6316b6866025cdcb0 Ether0.0001419885
0xa2a00b83c071547ce6306607b0b70682e23bc340e97fd5e8a39fbb815a6bdafa72200672 days 12 hrs ago0xf9cbe6d1fba8f404a8c305cce592c30bc0175731  IN   0x49aaa160506f7e07e6c3f6cd6316b6866025cdcb0 Ether0.0001418925
0x983fd6e3ad4504f433ca03a9539cfd139b1649b87a3298fd53210fc692bcdf8472200102 days 13 hrs ago0xf9cbe6d1fba8f404a8c305cce592c30bc0175731  IN   0x49aaa160506f7e07e6c3f6cd6316b6866025cdcb0 Ether0.0001419885
0x0efca80b3993cafdac75d55d93eca05d3e8f242182f7a95df17044b3a32d507472200032 days 13 hrs ago0xf9cbe6d1fba8f404a8c305cce592c30bc0175731  IN   0x49aaa160506f7e07e6c3f6cd6316b6866025cdcb0 Ether0.0001418925
0xb458fc4d861a5957f3ed3342749424cc19faa3b9691cb20db3ad92379ce10c7572199892 days 13 hrs ago0xf9cbe6d1fba8f404a8c305cce592c30bc0175731  IN   0x49aaa160506f7e07e6c3f6cd6316b6866025cdcb0 Ether0.0001418925
0x7895da6602f639b6b02764e35e956418606543f5f9b1c836360531ec92d8662772199172 days 13 hrs ago0xf9cbe6d1fba8f404a8c305cce592c30bc0175731  IN   0x49aaa160506f7e07e6c3f6cd6316b6866025cdcb0 Ether0.0001418925
0xce46059395ece38aaa974506a22da38ab96afc73bb1781cbdad6892631a395b972199132 days 13 hrs ago0xf9cbe6d1fba8f404a8c305cce592c30bc0175731  IN   0x49aaa160506f7e07e6c3f6cd6316b6866025cdcb0 Ether0.0001418925
0x5047349e2a7a3d6fb17a014cb37240e53842880e1404d1abb7db9314ed1d969d72199112 days 13 hrs ago0xf9cbe6d1fba8f404a8c305cce592c30bc0175731  IN   0x49aaa160506f7e07e6c3f6cd6316b6866025cdcb0 Ether0.0001418925
[ Download CSV Export 

Internal Transactions as a result of Contract Execution

Parent TxHash Block Age From To Value
Contract Source Code Verified (Exact Match)
Contract Name: Lira
Compiler Version: v0.4.25+commit.59dbf8f1
Optimization Enabled: No
Runs (Optimizer):  200


Contract Source Code
pragma solidity ^0.4.18;

library SafeMath {
  function add(uint a, uint b) internal pure returns (uint c) {
    c = a + b;
    require(c >= a);
  }

  function sub(uint a, uint b) internal pure returns (uint c) {
    require(b <= a);
    c = a - b;
  }

  function mul(uint a, uint b) internal pure returns (uint c) {
    c = a * b;
    require(a == 0 || c / a == b);
  }

  function div(uint a, uint b) internal pure returns (uint c) {
    require(b > 0);
    c = a / b;
  }
}

library ExtendedMath {

  //return the smaller of the two inputs (a or b)
  function limitLessThan(uint a, uint b) internal pure returns (uint c) {
    if(a > b) return b;
    return a;
  }
}

contract ERC20Interface {
  function totalSupply() public constant returns (uint);
  function balanceOf(address tokenOwner) public constant returns (uint balance);
  function allowance(address tokenOwner, address spender) public constant returns (uint remaining);
  function transfer(address to, uint tokens) public returns (bool success);
  function approve(address spender, uint tokens) public returns (bool success);
  function transferFrom(address from, address to, uint tokens) public returns (bool success);
  event Transfer(address indexed from, address indexed to, uint tokens);
  event Approval(address indexed tokenOwner, address indexed spender, uint tokens);
}

contract ApproveAndCallFallBack {
  function receiveApproval(address from, uint256 tokens, address token, bytes data) public;
}

contract Owned {

  address public owner;
  address public newOwner;
  event OwnershipTransferred(address indexed _from, address indexed _to);

  function Owned() public {
    owner = msg.sender;
  }

  modifier onlyOwner {
    require(msg.sender == owner);
    _;
  }

  function transferOwnership(address _newOwner) public onlyOwner {
    newOwner = _newOwner;
  }

  function acceptOwnership() public {
    require(msg.sender == newOwner);
    OwnershipTransferred(owner, newOwner);
    owner = newOwner;
    newOwner = address(0);
  }
}

contract Lira is ERC20Interface, Owned {

  bool locked = false;
  bytes32 public challengeNumber;
  address public lastRewardTo;
  using SafeMath for uint;
  using ExtendedMath for uint;
  string public symbol;
  string public  name;
  uint8 public decimals;
  uint public _totalSupply;
  uint public latestDifficultyPeriodStarted;
  uint public epochCount; // Blocks mined
  uint public _BLOCKS_PER_READJUSTMENT = 1024;
  uint public  _MINIMUM_TARGET = 2**16;
  uint public  _MAXIMUM_TARGET = 2**234;
  uint public miningTarget;
  uint public rewardEra;
  uint public maxSupplyForEra;
  uint public lastRewardAmount;
  uint public lastRewardEthBlockNumber;
  uint public tokensMinted;

  mapping(bytes32 => bytes32) solutionForChallenge;
  mapping(address => uint) balances;
  mapping(address => mapping(address => uint)) allowed;

  event Mint(address indexed from, uint reward_amount, uint epochCount, bytes32 newChallengeNumber);

  function Lira() public onlyOwner{

    symbol = "LIRA";
    name = "Lira Cash";
    decimals = 8;

    _totalSupply = 21000000 * 10**uint(decimals);

    if(locked) revert();
    locked = true;
    tokensMinted = 0;
    rewardEra = 0;
    maxSupplyForEra = _totalSupply.div(2);
    miningTarget = _MAXIMUM_TARGET;
    latestDifficultyPeriodStarted = block.number;
    _startNewMiningEpoch();

  }

  function mint(uint256 nonce, bytes32 challenge_digest) public returns (bool success) {

    bytes32 digest =  keccak256(challengeNumber, msg.sender, nonce );

    if (digest != challenge_digest) revert();
    if(uint256(digest) > miningTarget) revert();

    bytes32 solution = solutionForChallenge[challengeNumber];
    solutionForChallenge[challengeNumber] = digest;

    // Prevent duplicate answers and duplicate rewards
    if(solution != 0x0) revert();

    uint reward_amount = getMiningReward();
    balances[msg.sender] = balances[msg.sender].add(reward_amount);
    tokensMinted = tokensMinted.add(reward_amount);
    assert(tokensMinted <= maxSupplyForEra);

    lastRewardTo = msg.sender;
    lastRewardAmount = reward_amount;
    lastRewardEthBlockNumber = block.number;
    _startNewMiningEpoch();

    Mint(msg.sender, reward_amount, epochCount, challengeNumber );
    return true;
  }

  function _startNewMiningEpoch() internal {

    if( tokensMinted.add(getMiningReward()) > maxSupplyForEra && rewardEra < 39){
      rewardEra = rewardEra + 1;
    }

    maxSupplyForEra = _totalSupply - _totalSupply.div( 2**(rewardEra + 1));
    epochCount = epochCount.add(1);

    if(epochCount % _BLOCKS_PER_READJUSTMENT == 0){
      _reAdjustDifficulty();
    }

    challengeNumber = block.blockhash(block.number - 1);

  }

  function _reAdjustDifficulty() internal {

    uint ethBlocksSinceLastDifficultyPeriod = block.number - latestDifficultyPeriodStarted;
    uint epochsMined = _BLOCKS_PER_READJUSTMENT; //256
    uint targetEthBlocksPerDiffPeriod = epochsMined * 60;

    if( ethBlocksSinceLastDifficultyPeriod < targetEthBlocksPerDiffPeriod ){
      uint excess_block_pct = (targetEthBlocksPerDiffPeriod.mul(100)).div( ethBlocksSinceLastDifficultyPeriod );
      uint excess_block_pct_extra = excess_block_pct.sub(100).limitLessThan(1000);
      miningTarget = miningTarget.sub(miningTarget.div(2000).mul(excess_block_pct_extra));
    } else {
      uint shortage_block_pct = (ethBlocksSinceLastDifficultyPeriod.mul(100)).div( targetEthBlocksPerDiffPeriod );
      uint shortage_block_pct_extra = shortage_block_pct.sub(100).limitLessThan(1000);
      miningTarget = miningTarget.add(miningTarget.div(2000).mul(shortage_block_pct_extra));
    }

    latestDifficultyPeriodStarted = block.number;

    if(miningTarget < _MINIMUM_TARGET){
      miningTarget = _MINIMUM_TARGET;
    }

    if(miningTarget > _MAXIMUM_TARGET){
      miningTarget = _MAXIMUM_TARGET;
    }
  }

  function getChallengeNumber() public constant returns (bytes32) {
    return challengeNumber;
  }

  function getMiningDifficulty() public constant returns (uint) {
    return _MAXIMUM_TARGET.div(miningTarget);
  }

  function getMiningTarget() public constant returns (uint) {
    return miningTarget;
  }

  function getMiningReward() public constant returns (uint) {
    return (50 * 10**uint(decimals) ).div( 2**rewardEra ) ;
  }

  function getMintDigest(uint256 nonce, bytes32 challenge_digest, bytes32 challenge_number) public view returns (bytes32 digesttest) {
    bytes32 digest = keccak256(challenge_number,msg.sender,nonce);
    return digest;
  }

  function checkMintSolution(uint256 nonce, bytes32 challenge_digest, bytes32 challenge_number, uint testTarget) public view returns (bool success) {
    bytes32 digest = keccak256(challenge_number,msg.sender,nonce);
    if(uint256(digest) > testTarget) revert();
    return (digest == challenge_digest);
  }

  function totalSupply() public constant returns (uint) {
    return _totalSupply  - balances[address(0)];
  }

  function balanceOf(address tokenOwner) public constant returns (uint balance) {
    return balances[tokenOwner];
  }

  function transfer(address to, uint tokens) public returns (bool success) {
    balances[msg.sender] = balances[msg.sender].sub(tokens);
    balances[to] = balances[to].add(tokens);
    Transfer(msg.sender, to, tokens);
    return true;
  }

  function transferExtra(address to, uint tokens, uint extra) public returns (bool success) {
    balances[msg.sender] = balances[msg.sender].sub(tokens);
    balances[to] = balances[to].add(tokens);
    Transfer(msg.sender, to, tokens);
    return true;
  }

  function approve(address spender, uint tokens) public returns (bool success) {
    allowed[msg.sender][spender] = tokens;
    Approval(msg.sender, spender, tokens);
    return true;
  }

  function transferFrom(address from, address to, uint tokens) public returns (bool success) {
    balances[from] = balances[from].sub(tokens);
    allowed[from][msg.sender] = allowed[from][msg.sender].sub(tokens);
    balances[to] = balances[to].add(tokens);
    Transfer(from, to, tokens);
    return true;
  }

  function allowance(address tokenOwner, address spender) public constant returns (uint remaining) {
    return allowed[tokenOwner][spender];
  }

  function approveAndCall(address spender, uint tokens, bytes data) public returns (bool success) {
    allowed[msg.sender][spender] = tokens;
    Approval(msg.sender, spender, tokens);
    ApproveAndCallFallBack(spender).receiveApproval(msg.sender, tokens, this, data);
    return true;
  }

  function () public payable {
    revert();
  }

  function transferAnyERC20Token(address tokenAddress, uint tokens) public onlyOwner returns (bool success) {
    return ERC20Interface(tokenAddress).transfer(owner, tokens);
  }

}

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":"tokens","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"lastRewardEthBlockNumber","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getMiningDifficulty","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"nonce","type":"uint256"},{"name":"challenge_digest","type":"bytes32"}],"name":"mint","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":"tokens","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rewardEra","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getMiningTarget","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getMiningReward","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getChallengeNumber","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxSupplyForEra","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokensMinted","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastRewardTo","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"tokenOwner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"nonce","type":"uint256"},{"name":"challenge_digest","type":"bytes32"},{"name":"challenge_number","type":"bytes32"},{"name":"testTarget","type":"uint256"}],"name":"checkMintSolution","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"epochCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_MAXIMUM_TARGET","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"miningTarget","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"challengeNumber","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"nonce","type":"uint256"},{"name":"challenge_digest","type":"bytes32"},{"name":"challenge_number","type":"bytes32"}],"name":"getMintDigest","outputs":[{"name":"digesttest","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"tokens","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"_BLOCKS_PER_READJUSTMENT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastRewardAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"tokens","type":"uint256"},{"name":"data","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"latestDifficultyPeriodStarted","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"tokenAddress","type":"address"},{"name":"tokens","type":"uint256"}],"name":"transferAnyERC20Token","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"_MINIMUM_TARGET","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"tokenOwner","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":"tokens","type":"uint256"},{"name":"extra","type":"uint256"}],"name":"transferExtra","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"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":"from","type":"address"},{"indexed":false,"name":"reward_amount","type":"uint256"},{"indexed":false,"name":"epochCount","type":"uint256"},{"indexed":false,"name":"newChallengeNumber","type":"bytes32"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"tokenOwner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Approval","type":"event"}]

Contract Creation Code
60806040526000600160146101000a81548160ff021916908315150217905550610400600a5562010000600b557d040000000000000000000000000000000000000000000000000000000000600c553480156200005b57600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515620000f857600080fd5b6040805190810160405280600481526020017f4c495241000000000000000000000000000000000000000000000000000000008152506004908051906020019062000145929190620006eb565b506040805190810160405280600981526020017f4c697261204361736800000000000000000000000000000000000000000000008152506005908051906020019062000193929190620006eb565b506008600660006101000a81548160ff021916908360ff160217905550600660009054906101000a900460ff1660ff16600a0a6301406f4002600781905550600160149054906101000a900460ff1615620001ed57600080fd5b60018060146101000a81548160ff02191690831515021790555060006012819055506000600e819055506200023d600260075462000272640100000000026200204c179091906401000000009004565b600f81905550600c54600d81905550436008819055506200026c62000298640100000000026401000000009004565b6200079a565b600080821115156200028357600080fd5b81838115156200028f57fe5b04905092915050565b600f54620002d8620002b8620003a3640100000000026401000000009004565b601254620003ea6401000000000262002070179091906401000000009004565b118015620002e857506027600e54105b15620002fb576001600e5401600e819055505b620003286001600e540160020a60075462000272640100000000026200204c179091906401000000009004565b60075403600f81905550620003586001600954620003ea6401000000000262002070179091906401000000009004565b6009819055506000600a546009548115156200037057fe5b06141562000392576200039162000407640100000000026401000000009004565b5b600143034060028160001916905550565b6000620003e5600e5460020a600660009054906101000a900460ff1660ff16600a0a60320262000272640100000000026200204c179091906401000000009004565b905090565b600081830190508281101515156200040157600080fd5b92915050565b600080600080600080600060085443039650600a549550603c860294508487101562000538576200047387620004566064886200067c64010000000002620022ee179091906401000000009004565b62000272640100000000026200204c179091906401000000009004565b9350620004bd6103e8620004a0606487620006b06401000000000262002141179091906401000000009004565b620006cd640100000000026200231f179091906401000000009004565b92506200052c6200050c84620004ef6107d0600d5462000272640100000000026200204c179091906401000000009004565b6200067c64010000000002620022ee179091906401000000009004565b600d54620006b06401000000000262002141179091906401000000009004565b600d819055506200063e565b6200057e856200056160648a6200067c64010000000002620022ee179091906401000000009004565b62000272640100000000026200204c179091906401000000009004565b9150620005c86103e8620005ab606485620006b06401000000000262002141179091906401000000009004565b620006cd640100000000026200231f179091906401000000009004565b9050620006376200061782620005fa6107d0600d5462000272640100000000026200204c179091906401000000009004565b6200067c64010000000002620022ee179091906401000000009004565b600d54620003ea6401000000000262002070179091906401000000009004565b600d819055505b43600881905550600b54600d5410156200065c57600b54600d819055505b600c54600d5411156200067357600c54600d819055505b50505050505050565b6000818302905060008314806200069e57508183828115156200069b57fe5b04145b1515620006aa57600080fd5b92915050565b6000828211151515620006c257600080fd5b818303905092915050565b600081831115620006e157819050620006e5565b8290505b92915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200072e57805160ff19168380011785556200075f565b828001600101855582156200075f579182015b828111156200075e57825182559160200191906001019062000741565b5b5090506200076e919062000772565b5090565b6200079791905b808211156200079357600081600090555060010162000779565b5090565b90565b61236780620007aa6000396000f3006080604052600436106101cd576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146101d2578063095ea7b314610262578063163aa00d146102c757806317da485f146102f25780631801fbe51461031d57806318160ddd1461037057806323b872dd1461039b5780632d38bf7a14610420578063313ce5671461044b57806332e997081461047c5780633eaaf86b146104a7578063490203a7146104d25780634ef37628146104fd5780634fa972e1146105305780636de9f32b1461055b5780636fd396d61461058657806370a08231146105dd57806379ba50971461063457806381269a561461064b578063829965cc146106b657806387a2a9d6146106e15780638a769d351461070c5780638ae0368b146107375780638da5cb5b1461076a57806395d89b41146107c157806397566aa014610851578063a9059cbb146108b6578063b5ade81b1461091b578063bafedcaa14610946578063cae9ca5114610971578063cb9ae70714610a1c578063d4ee1d9014610a47578063dc39d06d14610a9e578063dc6e9cf914610b03578063dd62ed3e14610b2e578063e204ce1214610ba5578063f2fde38b14610c14575b600080fd5b3480156101de57600080fd5b506101e7610c57565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561022757808201518184015260208101905061020c565b50505050905090810190601f1680156102545780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561026e57600080fd5b506102ad600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610cf5565b604051808215151515815260200191505060405180910390f35b3480156102d357600080fd5b506102dc610de7565b6040518082815260200191505060405180910390f35b3480156102fe57600080fd5b50610307610ded565b6040518082815260200191505060405180910390f35b34801561032957600080fd5b50610356600480360381019080803590602001909291908035600019169060200190929190505050610e0b565b604051808215151515815260200191505060405180910390f35b34801561037c57600080fd5b5061038561109b565b6040518082815260200191505060405180910390f35b3480156103a757600080fd5b50610406600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110e6565b604051808215151515815260200191505060405180910390f35b34801561042c57600080fd5b50610435611391565b6040518082815260200191505060405180910390f35b34801561045757600080fd5b50610460611397565b604051808260ff1660ff16815260200191505060405180910390f35b34801561048857600080fd5b506104916113aa565b6040518082815260200191505060405180910390f35b3480156104b357600080fd5b506104bc6113b4565b6040518082815260200191505060405180910390f35b3480156104de57600080fd5b506104e76113ba565b6040518082815260200191505060405180910390f35b34801561050957600080fd5b506105126113f1565b60405180826000191660001916815260200191505060405180910390f35b34801561053c57600080fd5b506105456113fb565b6040518082815260200191505060405180910390f35b34801561056757600080fd5b50610570611401565b6040518082815260200191505060405180910390f35b34801561059257600080fd5b5061059b611407565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105e957600080fd5b5061061e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061142d565b6040518082815260200191505060405180910390f35b34801561064057600080fd5b50610649611476565b005b34801561065757600080fd5b5061069c600480360381019080803590602001909291908035600019169060200190929190803560001916906020019092919080359060200190929190505050611615565b604051808215151515815260200191505060405180910390f35b3480156106c257600080fd5b506106cb6116aa565b6040518082815260200191505060405180910390f35b3480156106ed57600080fd5b506106f66116b0565b6040518082815260200191505060405180910390f35b34801561071857600080fd5b506107216116b6565b6040518082815260200191505060405180910390f35b34801561074357600080fd5b5061074c6116bc565b60405180826000191660001916815260200191505060405180910390f35b34801561077657600080fd5b5061077f6116c2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107cd57600080fd5b506107d66116e7565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156108165780820151818401526020810190506107fb565b50505050905090810190601f1680156108435780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561085d57600080fd5b506108986004803603810190808035906020019092919080356000191690602001909291908035600019169060200190929190505050611785565b60405180826000191660001916815260200191505060405180910390f35b3480156108c257600080fd5b50610901600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506117fe565b604051808215151515815260200191505060405180910390f35b34801561092757600080fd5b50610930611999565b6040518082815260200191505060405180910390f35b34801561095257600080fd5b5061095b61199f565b6040518082815260200191505060405180910390f35b34801561097d57600080fd5b50610a02600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506119a5565b604051808215151515815260200191505060405180910390f35b348015610a2857600080fd5b50610a31611bf4565b6040518082815260200191505060405180910390f35b348015610a5357600080fd5b50610a5c611bfa565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610aaa57600080fd5b50610ae9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611c20565b604051808215151515815260200191505060405180910390f35b348015610b0f57600080fd5b50610b18611d84565b6040518082815260200191505060405180910390f35b348015610b3a57600080fd5b50610b8f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d8a565b6040518082815260200191505060405180910390f35b348015610bb157600080fd5b50610bfa600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050611e11565b604051808215151515815260200191505060405180910390f35b348015610c2057600080fd5b50610c55600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611fad565b005b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ced5780601f10610cc257610100808354040283529160200191610ced565b820191906000526020600020905b815481529060010190602001808311610cd057829003601f168201915b505050505081565b600081601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60115481565b6000610e06600d54600c5461204c90919063ffffffff16565b905090565b60008060008060025433876040518084600019166000191681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140182815260200193505050506040518091039020925084600019168360001916141515610e9457600080fd5b600d5483600190041115610ea757600080fd5b6013600060025460001916600019168152602001908152602001600020549150826013600060025460001916600019168152602001908152602001600020816000191690555060006001028260001916141515610f0357600080fd5b610f0b6113ba565b9050610f5f81601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461207090919063ffffffff16565b601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610fb78160125461207090919063ffffffff16565b601281905550600f5460125411151515610fcd57fe5b33600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806010819055504360118190555061102461208c565b3373ffffffffffffffffffffffffffffffffffffffff167fcf6fbb9dcea7d07263ab4f5c3a92f53af33dffc421d9d121e1c74b307e68189d82600954600254604051808481526020018381526020018260001916600019168152602001935050505060405180910390a26001935050505092915050565b6000601460008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460075403905090565b600061113a82601460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461214190919063ffffffff16565b601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061120c82601560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461214190919063ffffffff16565b601560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506112de82601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461207090919063ffffffff16565b601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600e5481565b600660009054906101000a900460ff1681565b6000600d54905090565b60075481565b60006113ec600e5460020a600660009054906101000a900460ff1660ff16600a0a60320261204c90919063ffffffff16565b905090565b6000600254905090565b600f5481565b60125481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156114d257600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000808333876040518084600019166000191681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401828152602001935050505060405180910390209050828160019004111561169457600080fd5b8460001916816000191614915050949350505050565b60095481565b600c5481565b600d5481565b60025481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60048054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561177d5780601f106117525761010080835404028352916020019161177d565b820191906000526020600020905b81548152906001019060200180831161176057829003601f168201915b505050505081565b6000808233866040518084600019166000191681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401828152602001935050505060405180910390209050809150509392505050565b600061185282601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461214190919063ffffffff16565b601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118e782601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461207090919063ffffffff16565b601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600a5481565b60105481565b600082601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925856040518082815260200191505060405180910390a38373ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338530866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611b82578082015181840152602081019050611b67565b50505050905090810190601f168015611baf5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015611bd157600080fd5b505af1158015611be5573d6000803e3d6000fd5b50505050600190509392505050565b60085481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c7d57600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611d4157600080fd5b505af1158015611d55573d6000803e3d6000fd5b505050506040513d6020811015611d6b57600080fd5b8101908080519060200190929190505050905092915050565b600b5481565b6000601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000611e6583601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461214190919063ffffffff16565b601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611efa83601460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461207090919063ffffffff16565b601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600190509392505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561200857600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000808211151561205c57600080fd5b818381151561206757fe5b04905092915050565b6000818301905082811015151561208657600080fd5b92915050565b600f546120ab61209a6113ba565b60125461207090919063ffffffff16565b1180156120ba57506027600e54105b156120cc576001600e5401600e819055505b6120e96001600e540160020a60075461204c90919063ffffffff16565b60075403600f81905550612109600160095461207090919063ffffffff16565b6009819055506000600a5460095481151561212057fe5b0614156121305761212f61215d565b5b600143034060028160001916905550565b600082821115151561215257600080fd5b818303905092915050565b600080600080600080600060085443039650600a549550603c860294508487101561221c576121a88761219a6064886122ee90919063ffffffff16565b61204c90919063ffffffff16565b93506121d26103e86121c460648761214190919063ffffffff16565b61231f90919063ffffffff16565b9250612211612200846121f26107d0600d5461204c90919063ffffffff16565b6122ee90919063ffffffff16565b600d5461214190919063ffffffff16565b600d819055506122b2565b6122428561223460648a6122ee90919063ffffffff16565b61204c90919063ffffffff16565b915061226c6103e861225e60648561214190919063ffffffff16565b61231f90919063ffffffff16565b90506122ab61229a8261228c6107d0600d5461204c90919063ffffffff16565b6122ee90919063ffffffff16565b600d5461207090919063ffffffff16565b600d819055505b43600881905550600b54600d5410156122cf57600b54600d819055505b600c54600d5411156122e557600c54600d819055505b50505050505050565b60008183029050600083148061230e575081838281151561230b57fe5b04145b151561231957600080fd5b92915050565b60008183111561233157819050612335565b8290505b929150505600a165627a7a723058209cac524364b9e1cc33903644a68dc175eb2dd42fece7027a0ff3fc648af2be7e0029


   Swarm Source:
bzzr://9cac524364b9e1cc33903644a68dc175eb2dd42fece7027a0ff3fc648af2be7e
Block Age transaction Difficulty GasUsed Reward
Block Age Uncle Number Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.