ETH Price: $2,815.78 (+7.49%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer91788412019-12-29 2:59:231775 days ago1577588363IN
0x1e0C1f1e...fC3D3A050
0 ETH0.000039421.8
Transfer85956082019-09-21 23:37:281873 days ago1569109048IN
0x1e0C1f1e...fC3D3A050
0 ETH0.00004262
Transfer85955582019-09-21 23:27:021873 days ago1569108422IN
0x1e0C1f1e...fC3D3A050
0 ETH0.000044732.09999974
Transfer85913452019-09-21 7:50:321874 days ago1569052232IN
0x1e0C1f1e...fC3D3A050
0 ETH0.000047932.25000089
Transfer85900592019-09-21 2:59:201874 days ago1569034760IN
0x1e0C1f1e...fC3D3A050
0 ETH0.00005252.5
Transfer85900462019-09-21 2:56:331874 days ago1569034593IN
0x1e0C1f1e...fC3D3A050
0 ETH0.00005252.5
Transfer85900112019-09-21 2:49:421874 days ago1569034182IN
0x1e0C1f1e...fC3D3A050
0 ETH0.000127826
Transfer85898832019-09-21 2:21:201874 days ago1569032480IN
0x1e0C1f1e...fC3D3A050
0 ETH0.000063913
Transfer85829252019-09-20 0:16:491875 days ago1568938609IN
0x1e0C1f1e...fC3D3A050
0 ETH0.000087344.1
Transfer85751902019-09-18 18:59:451876 days ago1568833185IN
0x1e0C1f1e...fC3D3A050
0 ETH0.0001055
Transfer85579542019-09-16 2:56:551879 days ago1568602615IN
0x1e0C1f1e...fC3D3A050
0 ETH0.0003621617
Transfer85571752019-09-16 0:02:031879 days ago1568592123IN
0x1e0C1f1e...fC3D3A050
0 ETH0.000106525
Transfer85571102019-09-15 23:49:101879 days ago1568591350IN
0x1e0C1f1e...fC3D3A050
0 ETH0.000106525
Transfer85569162019-09-15 23:04:561879 days ago1568588696IN
0x1e0C1f1e...fC3D3A050
0 ETH0.000127826
Transfer85568802019-09-15 22:57:041879 days ago1568588224IN
0x1e0C1f1e...fC3D3A050
0 ETH0.000127826
Transfer85568612019-09-15 22:52:221879 days ago1568587942IN
0x1e0C1f1e...fC3D3A050
0 ETH0.000149127
Transfer85568512019-09-15 22:50:321879 days ago1568587832IN
0x1e0C1f1e...fC3D3A050
0 ETH0.000149127
Transfer85568482019-09-15 22:49:501879 days ago1568587790IN
0x1e0C1f1e...fC3D3A050
0 ETH0.000149127
Transfer85568412019-09-15 22:47:581879 days ago1568587678IN
0x1e0C1f1e...fC3D3A050
0 ETH0.000149127
Transfer85568412019-09-15 22:47:581879 days ago1568587678IN
0x1e0C1f1e...fC3D3A050
0 ETH0.000149127
Transfer85568402019-09-15 22:47:551879 days ago1568587675IN
0x1e0C1f1e...fC3D3A050
0 ETH0.000149127
Transfer85567152019-09-15 22:19:411879 days ago1568585981IN
0x1e0C1f1e...fC3D3A050
0 ETH0.000106525
Transfer85564692019-09-15 21:25:441879 days ago1568582744IN
0x1e0C1f1e...fC3D3A050
0 ETH0.000149127
Transfer85564082019-09-15 21:12:591879 days ago1568581979IN
0x1e0C1f1e...fC3D3A050
0 ETH0.000127826
Transfer85502052019-09-14 21:52:341880 days ago1568497954IN
0x1e0C1f1e...fC3D3A050
0 ETH0.000159787.5
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
alive

Compiler Version
v0.5.10+commit.5a6ea5b1

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2019-09-09
*/

pragma solidity ^0.5.10;

contract ERC20Interface {
  function totalSupply() public view returns (uint);
  function balanceOf(address tokenOwner) public view returns (uint balance);
  function allowance(address tokenOwner, address spender) public view 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);
}

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 Math {
  function max(uint256 a, uint256 b) internal pure returns (uint256) {
    return a >= b ? a : b;
  }

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

  function average(uint256 a, uint256 b) internal pure returns (uint256) {
    // (a + b) / 2 can overflow, so we distribute
    return (a / 2) + (b / 2) + ((a % 2 + b % 2) / 2);
  }
}

contract alive is ERC20Interface {

  using SafeMath for uint;
  using Math for uint;
  uint8 public constant decimals = 18;
  string public constant symbol = "ALIVE";
  string public constant name = "PROOF OF LIFE";
  uint public constant maxSupply = 1000000 * 10**uint(decimals);
  uint private _totalSupply = 0;
  uint private _minted = 0;
  uint private _nextAirdrop = 9571 * 10**uint(decimals);
  address devAddress = address(0x8160aEBf3B1a65D1b4992A95Bd50350b1a08E35b);
  address[] private _holderArray;

  mapping(address => uint) private _balances;
  mapping(address => mapping (address => uint)) private _allowances;
  mapping(address => bool) private _airdropClaim; 
  mapping(address => bool) private _holderFlag;
  mapping(address => uint) private _timeStamp;

  function totalSupply() public view returns (uint) {
    return _totalSupply;
  }

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

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

  function transfer(address to, uint amount) public returns (bool success) {
    _transfer(msg.sender, to, amount);
    return true;
  }

  function approve(address spender, uint amount) public returns (bool success) {
    _approve(msg.sender, spender, amount);
    return true;
  }

  function transferFrom(address sender, address recipient, uint amount) public returns (bool success) {
    _transfer(sender, recipient, amount);
    _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount));
    return true;
  }

  //internal functions
  function _isHuman(address addr) private returns (bool) {
    uint size;
    assembly { size := extcodesize(addr) }
    return size == 0;
  }

  function _approve(address owner, address spender, uint amount) internal {
    require(owner != address(0), "ERC20: approve from the zero address");
    require(spender != address(0), "ERC20: approve to the zero address");
    _allowances[owner][spender] = amount;
    emit Approval(owner, spender, amount);
  }

  function _transfer(address sender, address recipient, uint amount) internal {
    require(sender != address(0), "ERC20: transfer from the zero address");
    require(recipient != address(0), "ERC20: transfer to the zero address");

    // If transfer amount is zero emit event and stop execution
    if (amount == 0) {
      emit Transfer(sender, recipient, 0);
      return;
    }

    _balances[sender] = _balances[sender].sub(amount);
    _balances[recipient] = _balances[recipient].add(amount);
    emit Transfer(sender, recipient, amount);

    //if receiving address is a new one and the receiving address is not a contract and it has a balnce of >0 tokens, then add it to the array of all holders
    //contract addresses are kept out of slashing to enable trading activity
    if(_holderFlag[recipient] != true && _isHuman(recipient) && (_balances[recipient] > 0)){ 
      _holderArray.push(recipient);
      _holderFlag[recipient] = true;
    }

    //update timestamp of sender and recipient last activity
    _timeStamp[sender] = now;
    _timeStamp[recipient] = now;
    if(_minted >= 785000 * 10**uint(decimals)){
      _findSlashCandidate();
    }
  }

  function _findSlashCandidate() private {
    uint oldestTimestamp = now;
    address oldestInactive = address(0);
    for(uint i=0; i<_holderArray.length; i++) { //loop to findout the oldest inactive account with non zero balance
      if(_timeStamp[_holderArray[i]]<oldestTimestamp && (_balances[_holderArray[i]] > 0)) {
        oldestInactive = _holderArray[i];
        oldestTimestamp = _timeStamp[oldestInactive];
      }
    }
    _slash(oldestInactive);
  }

  function _slash(address account) private {
    uint slashingAmount = _balances[account].div(2);
    if(slashingAmount < 1*10**(decimals)) { // slash accounts with token dust to zero
      slashingAmount = _balances[account];
    }
    _timeStamp[account] = now; //ensure slashed accounts dont get slashed again by updating timestamp
    _burn(account,slashingAmount); //slash half tokens of oldest inactive account
  }

  function _burn(address account, uint amount) private {
    _balances[account] = _balances[account].sub(amount);
    _totalSupply = _totalSupply.sub(amount);
    emit Transfer(account, address(0), amount);
  }

  function _mint(address account, uint amount) internal {
    _totalSupply = _totalSupply.add(amount);
    _minted = _minted.add(amount);
    uint devReward = (amount.mul(5)).div(100);
    _balances[devAddress] = _balances[devAddress].add(devReward);
    _balances[account] = _balances[account].add(amount);
    emit Transfer(address(0), account, amount);
    emit Transfer(address(0), devAddress, devReward);
  }

  function _airdrop(address account) internal {
    require(_minted < maxSupply); // check on total suppy
    require(_airdropClaim[account] != true); //airdrop can be claimed only once per account
    _nextAirdrop = Math.min((_nextAirdrop.mul(995)).div(1000),(maxSupply - _minted));
    _holderArray.push(account);
    _timeStamp[account] = now;
    _holderFlag[account] = true;
    _airdropClaim[account] = true;
    _mint(account,_nextAirdrop);
  }

  function () external payable {
    if(msg.value > 0){
      revert();
    }
    else {
      _airdrop(msg.sender);
    }
  }

  function burned() public view returns(uint) {
    return _minted-_totalSupply;
  }
}

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":"amount","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":"sender","type":"address"},{"name":"recipient","type":"address"},{"name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"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":true,"inputs":[],"name":"burned","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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":"amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"maxSupply","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"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"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"}]

60806040526000808055600155690206d84e9eab2fac0000600255600380546001600160a01b031916738160aebf3b1a65d1b4992a95bd50350b1a08e35b17905534801561004c57600080fd5b50610ceb8061005c6000396000f3fe60806040526004361061009c5760003560e01c806370a082311161006457806370a082311461021e57806373f425611461025157806395d89b4114610266578063a9059cbb1461027b578063d5abeb01146102b4578063dd62ed3e146102c95761009c565b806306fdde03146100b2578063095ea7b31461013c57806318160ddd1461018957806323b872dd146101b0578063313ce567146101f3575b34156100a757600080fd5b6100b033610304565b005b3480156100be57600080fd5b506100c761041f565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101015781810151838201526020016100e9565b50505050905090810190601f16801561012e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561014857600080fd5b506101756004803603604081101561015f57600080fd5b506001600160a01b038135169060200135610448565b604080519115158252519081900360200190f35b34801561019557600080fd5b5061019e61045f565b60408051918252519081900360200190f35b3480156101bc57600080fd5b50610175600480360360608110156101d357600080fd5b506001600160a01b03813581169160208101359091169060400135610465565b3480156101ff57600080fd5b506102086104bc565b6040805160ff9092168252519081900360200190f35b34801561022a57600080fd5b5061019e6004803603602081101561024157600080fd5b50356001600160a01b03166104c1565b34801561025d57600080fd5b5061019e6104dc565b34801561027257600080fd5b506100c76104e6565b34801561028757600080fd5b506101756004803603604081101561029e57600080fd5b506001600160a01b038135169060200135610507565b3480156102c057600080fd5b5061019e610514565b3480156102d557600080fd5b5061019e600480360360408110156102ec57600080fd5b506001600160a01b0381358116916020013516610522565b60015469d3c21bcecceda10000001161031c57600080fd5b6001600160a01b03811660009081526007602052604090205460ff1615156001141561034757600080fd5b6103876103736103e86103676103e360025461054d90919063ffffffff16565b9063ffffffff61056e16565b60015469d3c21bcecceda10000000361058d565b60029081556004805460018082019092557f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b0319166001600160a01b038516908117909155600090815260096020908152604080832042905560088252808320805460ff1990811686179091556007909252909120805490911690911790555461041c9082906105a5565b50565b6040518060400160405280600d81526020016c50524f4f46204f46204c49464560981b81525081565b60006104553384846106ca565b5060015b92915050565b60005490565b60006104728484846107b6565b6001600160a01b0384166000908152600660209081526040808320338085529252909120546104b29186916104ad908663ffffffff610a2c16565b6106ca565b5060019392505050565b601281565b6001600160a01b031660009081526005602052604090205490565b6000546001540390565b60405180604001604052806005815260200164414c49564560d81b81525081565b60006104553384846107b6565b69d3c21bcecceda100000081565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b81810282158061056557508183828161056257fe5b04145b61045957600080fd5b600080821161057c57600080fd5b81838161058557fe5b049392505050565b600081831061059c578161059e565b825b9392505050565b6000546105b8908263ffffffff610a4116565b6000556001546105ce908263ffffffff610a4116565b60015560006105e9606461036784600563ffffffff61054d16565b6003546001600160a01b0316600090815260056020526040902054909150610617908263ffffffff610a4116565b6003546001600160a01b03908116600090815260056020526040808220939093559085168152205461064f908363ffffffff610a4116565b6001600160a01b0384166000818152600560209081526040808320949094558351868152935192939192600080516020610c4e8339815191529281900390910190a36003546040805183815290516001600160a01b0390921691600091600080516020610c4e833981519152919081900360200190a3505050565b6001600160a01b03831661070f5760405162461bcd60e51b8152600401808060200182810382526024815260200180610c936024913960400191505060405180910390fd5b6001600160a01b0382166107545760405162461bcd60e51b8152600401808060200182810382526022815260200180610c2c6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260066020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166107fb5760405162461bcd60e51b8152600401808060200182810382526025815260200180610c6e6025913960400191505060405180910390fd5b6001600160a01b0382166108405760405162461bcd60e51b8152600401808060200182810382526023815260200180610c096023913960400191505060405180910390fd5b8061088457816001600160a01b0316836001600160a01b0316600080516020610c4e83398151915260006040518082815260200191505060405180910390a3610a27565b6001600160a01b0383166000908152600560205260409020546108ad908263ffffffff610a2c16565b6001600160a01b0380851660009081526005602052604080822093909355908416815220546108e2908263ffffffff610a4116565b6001600160a01b038084166000818152600560209081526040918290209490945580518581529051919392871692600080516020610c4e83398151915292918290030190a36001600160a01b03821660009081526008602052604090205460ff161515600114801590610959575061095982610a51565b801561097c57506001600160a01b03821660009081526005602052604090205415155b156109e5576004805460018082019092557f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b0319166001600160a01b0385169081179091556000908152600860205260409020805460ff191690911790555b6001600160a01b038084166000908152600960205260408082204290819055928516825290205560015469a63aef6ddbbfa8a0000011610a2757610a27610a56565b505050565b600082821115610a3b57600080fd5b50900390565b8181018281101561045957600080fd5b3b1590565b426000805b600454811015610b2257826009600060048481548110610a7757fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054108015610ade575060006005600060048481548110610ab757fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15610b1a5760048181548110610af057fe5b60009182526020808320909101546001600160a01b03168083526009909152604090912054935091505b600101610a5b565b50610b2c81610b30565b5050565b6001600160a01b038116600090815260056020526040812054610b5a90600263ffffffff61056e16565b90506001600160a01b0382166000908152600960205260409020429055610b2c82826001600160a01b038216600090815260056020526040902054610ba5908263ffffffff610a2c16565b6001600160a01b03831660009081526005602052604081209190915554610bd2908263ffffffff610a2c16565b60009081556040805183815290516001600160a01b03851691600080516020610c4e833981519152919081900360200190a3505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a265627a7a72305820aa49c38d9c8068c22a4bdebca1f99288c5bdf79de6dcb5adf81e73e8552b3c8c64736f6c634300050a0032

Deployed Bytecode

0x60806040526004361061009c5760003560e01c806370a082311161006457806370a082311461021e57806373f425611461025157806395d89b4114610266578063a9059cbb1461027b578063d5abeb01146102b4578063dd62ed3e146102c95761009c565b806306fdde03146100b2578063095ea7b31461013c57806318160ddd1461018957806323b872dd146101b0578063313ce567146101f3575b34156100a757600080fd5b6100b033610304565b005b3480156100be57600080fd5b506100c761041f565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101015781810151838201526020016100e9565b50505050905090810190601f16801561012e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561014857600080fd5b506101756004803603604081101561015f57600080fd5b506001600160a01b038135169060200135610448565b604080519115158252519081900360200190f35b34801561019557600080fd5b5061019e61045f565b60408051918252519081900360200190f35b3480156101bc57600080fd5b50610175600480360360608110156101d357600080fd5b506001600160a01b03813581169160208101359091169060400135610465565b3480156101ff57600080fd5b506102086104bc565b6040805160ff9092168252519081900360200190f35b34801561022a57600080fd5b5061019e6004803603602081101561024157600080fd5b50356001600160a01b03166104c1565b34801561025d57600080fd5b5061019e6104dc565b34801561027257600080fd5b506100c76104e6565b34801561028757600080fd5b506101756004803603604081101561029e57600080fd5b506001600160a01b038135169060200135610507565b3480156102c057600080fd5b5061019e610514565b3480156102d557600080fd5b5061019e600480360360408110156102ec57600080fd5b506001600160a01b0381358116916020013516610522565b60015469d3c21bcecceda10000001161031c57600080fd5b6001600160a01b03811660009081526007602052604090205460ff1615156001141561034757600080fd5b6103876103736103e86103676103e360025461054d90919063ffffffff16565b9063ffffffff61056e16565b60015469d3c21bcecceda10000000361058d565b60029081556004805460018082019092557f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b0319166001600160a01b038516908117909155600090815260096020908152604080832042905560088252808320805460ff1990811686179091556007909252909120805490911690911790555461041c9082906105a5565b50565b6040518060400160405280600d81526020016c50524f4f46204f46204c49464560981b81525081565b60006104553384846106ca565b5060015b92915050565b60005490565b60006104728484846107b6565b6001600160a01b0384166000908152600660209081526040808320338085529252909120546104b29186916104ad908663ffffffff610a2c16565b6106ca565b5060019392505050565b601281565b6001600160a01b031660009081526005602052604090205490565b6000546001540390565b60405180604001604052806005815260200164414c49564560d81b81525081565b60006104553384846107b6565b69d3c21bcecceda100000081565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b81810282158061056557508183828161056257fe5b04145b61045957600080fd5b600080821161057c57600080fd5b81838161058557fe5b049392505050565b600081831061059c578161059e565b825b9392505050565b6000546105b8908263ffffffff610a4116565b6000556001546105ce908263ffffffff610a4116565b60015560006105e9606461036784600563ffffffff61054d16565b6003546001600160a01b0316600090815260056020526040902054909150610617908263ffffffff610a4116565b6003546001600160a01b03908116600090815260056020526040808220939093559085168152205461064f908363ffffffff610a4116565b6001600160a01b0384166000818152600560209081526040808320949094558351868152935192939192600080516020610c4e8339815191529281900390910190a36003546040805183815290516001600160a01b0390921691600091600080516020610c4e833981519152919081900360200190a3505050565b6001600160a01b03831661070f5760405162461bcd60e51b8152600401808060200182810382526024815260200180610c936024913960400191505060405180910390fd5b6001600160a01b0382166107545760405162461bcd60e51b8152600401808060200182810382526022815260200180610c2c6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260066020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166107fb5760405162461bcd60e51b8152600401808060200182810382526025815260200180610c6e6025913960400191505060405180910390fd5b6001600160a01b0382166108405760405162461bcd60e51b8152600401808060200182810382526023815260200180610c096023913960400191505060405180910390fd5b8061088457816001600160a01b0316836001600160a01b0316600080516020610c4e83398151915260006040518082815260200191505060405180910390a3610a27565b6001600160a01b0383166000908152600560205260409020546108ad908263ffffffff610a2c16565b6001600160a01b0380851660009081526005602052604080822093909355908416815220546108e2908263ffffffff610a4116565b6001600160a01b038084166000818152600560209081526040918290209490945580518581529051919392871692600080516020610c4e83398151915292918290030190a36001600160a01b03821660009081526008602052604090205460ff161515600114801590610959575061095982610a51565b801561097c57506001600160a01b03821660009081526005602052604090205415155b156109e5576004805460018082019092557f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b0319166001600160a01b0385169081179091556000908152600860205260409020805460ff191690911790555b6001600160a01b038084166000908152600960205260408082204290819055928516825290205560015469a63aef6ddbbfa8a0000011610a2757610a27610a56565b505050565b600082821115610a3b57600080fd5b50900390565b8181018281101561045957600080fd5b3b1590565b426000805b600454811015610b2257826009600060048481548110610a7757fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054108015610ade575060006005600060048481548110610ab757fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15610b1a5760048181548110610af057fe5b60009182526020808320909101546001600160a01b03168083526009909152604090912054935091505b600101610a5b565b50610b2c81610b30565b5050565b6001600160a01b038116600090815260056020526040812054610b5a90600263ffffffff61056e16565b90506001600160a01b0382166000908152600960205260409020429055610b2c82826001600160a01b038216600090815260056020526040902054610ba5908263ffffffff610a2c16565b6001600160a01b03831660009081526005602052604081209190915554610bd2908263ffffffff610a2c16565b60009081556040805183815290516001600160a01b03851691600080516020610c4e833981519152919081900360200190a3505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a265627a7a72305820aa49c38d9c8068c22a4bdebca1f99288c5bdf79de6dcb5adf81e73e8552b3c8c64736f6c634300050a0032

Deployed Bytecode Sourcemap

1598:5636:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7049:9;:13;7046:90;;7072:8;;;7046:90;7108:20;7117:10;7108:8;:20::i;:::-;1598:5636;1774:45;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1774:45:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1774:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2896:145;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2896:145:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2896:145:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;2393:82;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2393:82:0;;;:::i;:::-;;;;;;;;;;;;;;;;3047:247;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3047:247:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3047:247:0;;;;;;;;;;;;;;;;;:::i;1690:35::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1690:35:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2481:115;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2481:115:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2481:115:0;-1:-1:-1;;;;;2481:115:0;;:::i;7147:84::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7147:84:0;;;:::i;1730:39::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1730:39:0;;;:::i;2753:137::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2753:137:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2753:137:0;;;;;;;;:::i;1824:61::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1824:61:0;;;:::i;2602:145::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2602:145:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2602:145:0;;;;;;;;;;:::i;6546:458::-;6605:7;;1857:28;-1:-1:-1;6597:28:0;;;;;;-1:-1:-1;;;;;6664:22:0;;;;;;:13;:22;;;;;;;;:30;;:22;:30;;6656:39;;;;;;6764:65;6773:33;6801:4;6774:21;6791:3;6774:12;;:16;;:21;;;;:::i;:::-;6773:27;:33;:27;:33;:::i;:::-;6820:7;;1857:28;6808:19;6764:8;:65::i;:::-;6749:12;:80;;;6836:12;27:10:-1;;39:1;23:18;;;45:23;;;6836:26:0;;;;-1:-1:-1;;;;;;6836:26:0;-1:-1:-1;;;;;6836:26:0;;;;;;;;-1:-1:-1;6869:19:0;;;:10;6836:26;6869:19;;;;;;;6891:3;6869:25;;6901:11;:20;;;;;:27;;-1:-1:-1;;6901:27:0;;;;;;;;6935:13;:22;;;;;;:29;;;;;;;;;;6985:12;6971:27;;6836:26;;6971:5;:27::i;:::-;6546:458;:::o;1774:45::-;;;;;;;;;;;;;;-1:-1:-1;;;1774:45:0;;;;:::o;2896:145::-;2959:12;2980:37;2989:10;3001:7;3010:6;2980:8;:37::i;:::-;-1:-1:-1;3031:4:0;2896:145;;;;;:::o;2393:82::-;2437:4;2457:12;2393:82;:::o;3047:247::-;3133:12;3154:36;3164:6;3172:9;3183:6;3154:9;:36::i;:::-;-1:-1:-1;;;;;3226:19:0;;;;;;:11;:19;;;;;;;;3214:10;3226:31;;;;;;;;;3197:73;;3206:6;;3226:43;;3262:6;3226:43;:35;:43;:::i;:::-;3197:8;:73::i;:::-;-1:-1:-1;3284:4:0;3047:247;;;;;:::o;1690:35::-;1723:2;1690:35;:::o;2481:115::-;-1:-1:-1;;;;;2569:21:0;2541:12;2569:21;;;:9;:21;;;;;;;2481:115::o;7147:84::-;7185:4;7213:12;7205:7;;:20;7147:84;:::o;1730:39::-;;;;;;;;;;;;;;-1:-1:-1;;;1730:39:0;;;;:::o;2753:137::-;2812:12;2833:33;2843:10;2855:2;2859:6;2833:9;:33::i;1824:61::-;1857:28;1824:61;:::o;2602:145::-;-1:-1:-1;;;;;2709:23:0;;;2679:14;2709:23;;;:11;:23;;;;;;;;:32;;;;;;;;;;;;;2602:145::o;943:118::-;1014:5;;;1034:6;;;:20;;;1053:1;1048;1044;:5;;;;;;:10;1034:20;1026:29;;;;;1067:103;1119:6;1146:1;1142;:5;1134:14;;;;;;1163:1;1159;:5;;;;;;;1067:103;-1:-1:-1;;;1067:103:0:o;1302:100::-;1360:7;1387:1;1383;:5;:13;;1395:1;1383:13;;;1391:1;1383:13;1376:20;1302:100;-1:-1:-1;;;1302:100:0:o;6121:419::-;6197:12;;:24;;6214:6;6197:24;:16;:24;:::i;:::-;6182:12;:39;6238:7;;:19;;6250:6;6238:19;:11;:19;:::i;:::-;6228:7;:29;6264:14;6281:24;6301:3;6282:13;:6;6293:1;6282:13;:10;:13;:::i;6281:24::-;6346:10;;-1:-1:-1;;;;;6346:10:0;6336:21;;;;:9;:21;;;;;;6264:41;;-1:-1:-1;6336:36:0;;6264:41;6336:36;:25;:36;:::i;:::-;6322:10;;-1:-1:-1;;;;;6322:10:0;;;6312:21;;;;:9;:21;;;;;;:60;;;;6400:18;;;;;;;:30;;6423:6;6400:30;:22;:30;:::i;:::-;-1:-1:-1;;;;;6379:18:0;;;;;;:9;:18;;;;;;;;:51;;;;6442:37;;;;;;;6379:18;;;;-1:-1:-1;;;;;;;;;;;6442:37:0;;;;;;;;;6512:10;;6491:43;;;;;;;;-1:-1:-1;;;;;6512:10:0;;;;;;-1:-1:-1;;;;;;;;;;;6491:43:0;;;;;;;;;6121:419;;;:::o;3474:315::-;-1:-1:-1;;;;;3561:19:0;;3553:68;;;;-1:-1:-1;;;3553:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3636:21:0;;3628:68;;;;-1:-1:-1;;;3628:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3703:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;3751:32;;;;;;;;;;;;;;;;;3474:315;;;:::o;3795:1192::-;-1:-1:-1;;;;;3886:20:0;;3878:70;;;;-1:-1:-1;;;3878:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3963:23:0;;3955:71;;;;-1:-1:-1;;;3955:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4104:11;4100:84;;4148:9;-1:-1:-1;;;;;4131:30:0;4140:6;-1:-1:-1;;;;;4131:30:0;-1:-1:-1;;;;;;;;;;;4159:1:0;4131:30;;;;;;;;;;;;;;;;;;4170:7;;4100:84;-1:-1:-1;;;;;4212:17:0;;;;;;:9;:17;;;;;;:29;;4234:6;4212:29;:21;:29;:::i;:::-;-1:-1:-1;;;;;4192:17:0;;;;;;;:9;:17;;;;;;:49;;;;4271:20;;;;;;;:32;;4296:6;4271:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;4248:20:0;;;;;;;:9;:20;;;;;;;;;:55;;;;4315:35;;;;;;;4248:20;;4315:35;;;;-1:-1:-1;;;;;;;;;;;4315:35:0;;;;;;;;-1:-1:-1;;;;;4599:22:0;;;;;;:11;:22;;;;;;;;:30;;:22;:30;;;;:53;;;4633:19;4642:9;4633:8;:19::i;:::-;4599:83;;;;-1:-1:-1;;;;;;4657:20:0;;4680:1;4657:20;;;:9;:20;;;;;;:24;;4599:83;4596:171;;;4693:12;27:10:-1;;39:1;23:18;;;45:23;;;4693:28:0;;;;-1:-1:-1;;;;;;4693:28:0;-1:-1:-1;;;;;4693:28:0;;;;;;;;-1:-1:-1;4730:22:0;;;:11;4693:28;4730:22;;;;:29;;-1:-1:-1;;4730:29:0;;;;;;4596:171;-1:-1:-1;;;;;4837:18:0;;;;;;;:10;:18;;;;;;4858:3;4837:24;;;;4868:21;;;;;;;:27;4905:7;;4916:27;-1:-1:-1;4902:80:0;;4953:21;:19;:21::i;:::-;3795:1192;;;:::o;833:104::-;885:6;913:1;908;:6;;900:15;;;;;;-1:-1:-1;926:5:0;;;833:104::o;723:::-;794:5;;;814:6;;;;806:15;;;;;3324:144;3421:17;3453:9;;3324:144::o;4993:473::-;5062:3;5039:20;;5114:318;5130:12;:19;5128:21;;5114:318;;;5264:15;5236:10;:27;5247:12;5260:1;5247:15;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5247:15:0;5236:27;;;;;;;;;;;;;:43;:79;;;;;5313:1;5284:9;:26;5294:12;5307:1;5294:15;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5294:15:0;5284:26;;;;;;;;;;;;;:30;5236:79;5233:192;;;5345:12;5358:1;5345:15;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5345:15:0;5389:26;;;:10;:26;;;;;;;;;-1:-1:-1;5345:15:0;-1:-1:-1;5233:192:0;5151:3;;5114:318;;;;5438:22;5445:14;5438:6;:22::i;:::-;4993:473;;:::o;5472:425::-;-1:-1:-1;;;;;5542:18:0;;5520:19;5542:18;;;:9;:18;;;;;;:25;;5565:1;5542:25;:22;:25;:::i;:::-;5520:47;-1:-1:-1;;;;;;5712:19:0;;;;;;:10;:19;;;;;5734:3;5712:25;;5815:29;5723:7;5829:14;-1:-1:-1;;;;;5984:18:0;;;;;;:9;:18;;;;;;:30;;6007:6;5984:30;:22;:30;:::i;:::-;-1:-1:-1;;;;;5963:18:0;;;;;;:9;:18;;;;;:51;;;;6036:12;:24;;6053:6;6036:24;:16;:24;:::i;:::-;6021:12;:39;;;6072:37;;;;;;;;-1:-1:-1;;;;;6072:37:0;;;-1:-1:-1;;;;;;;;;;;6072:37:0;;;;;;;;;5903:212;;:::o

Swarm Source

bzzr://aa49c38d9c8068c22a4bdebca1f99288c5bdf79de6dcb5adf81e73e8552b3c8c

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.