ETH Price: $3,334.07 (-3.85%)

Contract

0xf92CaF969A53F711C7d27d010828C0F1193B5aeE
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer88877072019-11-07 3:21:321876 days ago1573096892IN
0xf92CaF96...1193B5aeE
0 ETH0.0010427220
Burn88785412019-11-05 16:09:141878 days ago1572970154IN
0xf92CaF96...1193B5aeE
0 ETH0.0004039919.998
Burn88720992019-11-04 15:27:021879 days ago1572881222IN
0xf92CaF96...1193B5aeE
0 ETH0.0007001219.998
Transfer88720572019-11-04 15:17:461879 days ago1572880666IN
0xf92CaF96...1193B5aeE
0 ETH0.0004452319.998
Transfer88720402019-11-04 15:14:051879 days ago1572880445IN
0xf92CaF96...1193B5aeE
0 ETH0.0010413319.998
Transfer88719632019-11-04 14:57:551879 days ago1572879475IN
0xf92CaF96...1193B5aeE
0 ETH0.0007452820
Transfer88718022019-11-04 14:16:031879 days ago1572876963IN
0xf92CaF96...1193B5aeE
0 ETH0.0007427220
Transfer88714932019-11-04 13:08:011879 days ago1572872881IN
0xf92CaF96...1193B5aeE
0 ETH0.0007427220
Transfer88468972019-10-31 13:57:381883 days ago1572530258IN
0xf92CaF96...1193B5aeE
0 ETH0.0007414420
Transfer86817592019-10-05 11:19:011909 days ago1570274341IN
0xf92CaF96...1193B5aeE
0 ETH0.0007810815
Transfer86817442019-10-05 11:15:511909 days ago1570274151IN
0xf92CaF96...1193B5aeE
0 ETH0.0010414420
Transfer86355402019-09-28 5:57:021916 days ago1569650222IN
0xf92CaF96...1193B5aeE
0 ETH0.0004414420
Transfer86355232019-09-28 5:53:571916 days ago1569650037IN
0xf92CaF96...1193B5aeE
0 ETH0.0007810815
Transfer86354972019-09-28 5:47:261916 days ago1569649646IN
0xf92CaF96...1193B5aeE
0 ETH0.0007810815
Transfer86354832019-09-28 5:44:111916 days ago1569649451IN
0xf92CaF96...1193B5aeE
0 ETH0.0010414420
Transfer86158072019-09-25 3:45:261919 days ago1569383126IN
0xf92CaF96...1193B5aeE
0 ETH0.0004414420
Transfer86129122019-09-24 16:53:061920 days ago1569343986IN
0xf92CaF96...1193B5aeE
0 ETH0.0005560815
Transfer86075652019-09-23 20:30:491920 days ago1569270649IN
0xf92CaF96...1193B5aeE
0 ETH0.0007810815
Transfer86000252019-09-22 16:12:511922 days ago1569168771IN
0xf92CaF96...1193B5aeE
0 ETH0.0006684418
Transfer86000222019-09-22 16:12:201922 days ago1569168740IN
0xf92CaF96...1193B5aeE
0 ETH0.0006684418
Transfer85971402019-09-22 5:29:261922 days ago1569130166IN
0xf92CaF96...1193B5aeE
0 ETH0.0005560815
Transfer85971262019-09-22 5:25:171922 days ago1569129917IN
0xf92CaF96...1193B5aeE
0 ETH0.0010414420
Transfer85888232019-09-20 22:14:181923 days ago1569017658IN
0xf92CaF96...1193B5aeE
0 ETH0.0005560815
Transfer85858442019-09-20 11:16:331924 days ago1568978193IN
0xf92CaF96...1193B5aeE
0 ETH0.0010414420
Transfer85419002019-09-13 14:39:141931 days ago1568385554IN
0xf92CaF96...1193B5aeE
0 ETH0.0010414420
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:
Wisdom

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2019-08-06
*/

pragma solidity ^0.4.24;


library SafeMath {
  /**
  * @dev Multiplies two numbers, reverts on overflow.
  */
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
    // benefit is lost if 'b' is also tested.
    // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
    if (a == 0) {
      return 0;
    }

    uint256 c = a * b;
    require(c / a == b);

    return c;
  }

  /**
  * @dev Integer division of two numbers truncating the quotient, reverts on division by zero.
  */
  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    require(b > 0); // Solidity only automatically asserts when dividing by 0
    uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold

    return c;
  }

  /**
  * @dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).
  */
  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    require(b <= a);
    uint256 c = a - b;

    return c;
  }

  /**
  * @dev Adds two numbers, reverts on overflow.
  */
  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    require(c >= a);

    return c;
  }

  /**
  * @dev Divides two numbers and returns the remainder (unsigned integer modulo),
  * reverts when dividing by zero.
  */
  function mod(uint256 a, uint256 b) internal pure returns (uint256) {
    require(b != 0);
    return a % b;
  }
}

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

  address public owner;

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

interface IERC20 {

  function totalSupply() external view returns (uint256);

  function balanceOf(address who) external view returns (uint256);

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

  event Approval(
    address indexed owner,
    address indexed spender,
    uint256 value
  );
}


contract ERC20 is IERC20 {
  using SafeMath for uint256;

  mapping (address => uint256) internal _balances;

  mapping (address => mapping (address => uint256)) internal _allowances;

  uint256 internal _totalSupply;

  /**
   * @dev See `IERC20.totalSupply`.
   */
  function totalSupply() public view returns (uint256) {
    return _totalSupply;
  }

  /**
   * @dev See `IERC20.balanceOf`.
   */
  function balanceOf(address account) public view returns (uint256) {
    return _balances[account];
  }


  /**
   * @dev See `IERC20.allowance`.
   */
  function allowance(address owner, address spender) public view returns (uint256) {
    return _allowances[owner][spender];
  }

  /**
   * @dev See `IERC20.approve`.
   *
   * Requirements:
   *
   * - `spender` cannot be the zero address.
   */
  function approve(address spender, uint256 value) public returns (bool) {
    _approve(msg.sender, spender, value);
    return true;
  }

  /**
   * @dev Atomically increases the allowance granted to `spender` by the caller.
   *
   * This is an alternative to `approve` that can be used as a mitigation for
   * problems described in `IERC20.approve`.
   *
   * Emits an `Approval` event indicating the updated allowance.
   *
   * Requirements:
   *
   * - `spender` cannot be the zero address.
   */
  function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
    _approve(msg.sender, spender, _allowances[msg.sender][spender].add(addedValue));
    return true;
  }

  /**
   * @dev Atomically decreases the allowance granted to `spender` by the caller.
   *
   * This is an alternative to `approve` that can be used as a mitigation for
   * problems described in `IERC20.approve`.
   *
   * Emits an `Approval` event indicating the updated allowance.
   *
   * Requirements:
   *
   * - `spender` cannot be the zero address.
   * - `spender` must have allowance for the caller of at least
   * `subtractedValue`.
   */
  function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {
    _approve(msg.sender, spender, _allowances[msg.sender][spender].sub(subtractedValue));
    return true;
  }

  /**
   * @dev Moves tokens `amount` from `sender` to `recipient`.
   *
   * This is internal function is equivalent to `transfer`, and can be used to
   * e.g. implement automatic token fees, slashing mechanisms, etc.
   *
   * Emits a `Transfer` event.
   *
   * Requirements:
   *
   * - `sender` cannot be the zero address.
   * - `recipient` cannot be the zero address.
   * - `sender` must have a balance of at least `amount`.
   */
  function _transfer(address sender, address recipient, uint256 amount) internal {
    require(sender != address(0), "ERC20: transfer from the zero address");
    require(recipient != address(0), "ERC20: transfer to the zero address");

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

  /** @dev Creates `amount` tokens and assigns them to `account`, increasing
   * the total supply.
   *
   * Emits a `Transfer` event with `from` set to the zero address.
   *
   * Requirements
   *
   * - `to` cannot be the zero address.
   */
  function _mint(address account, uint256 amount) internal {
    require(account != address(0), "ERC20: mint to the zero address");

    _totalSupply = _totalSupply.add(amount);
    _balances[account] = _balances[account].add(amount);
    emit Transfer(address(0), account, amount);
  }

  /**
   * @dev Destoys `amount` tokens from `account`, reducing the
   * total supply.
   *
   * Emits a `Transfer` event with `to` set to the zero address.
   *
   * Requirements
   *
   * - `account` cannot be the zero address.
   * - `account` must have at least `amount` tokens.
   */
  function _burn(address account, uint256 value) internal {
    require(account != address(0), "ERC20: burn from the zero address");

    _totalSupply = _totalSupply.sub(value);
    _balances[account] = _balances[account].sub(value);
    emit Transfer(account, address(0), value);
  }

  /**
   * @dev Sets `amount` as the allowance of `spender` over the `owner`s tokens.
   *
   * This is internal function is equivalent to `approve`, and can be used to
   * e.g. set automatic allowances for certain subsystems, etc.
   *
   * Emits an `Approval` event.
   *
   * Requirements:
   *
   * - `owner` cannot be the zero address.
   * - `spender` cannot be the zero address.
   */
  function _approve(address owner, address spender, uint256 value) internal {
    require(owner != address(0), "ERC20: approve from the zero address");
    require(spender != address(0), "ERC20: approve to the zero address");

    _allowances[owner][spender] = value;
    emit Approval(owner, spender, value);
  }

  /**
   * @dev Destoys `amount` tokens from `account`.`amount` is then deducted
   * from the caller's allowance.
   *
   * See `_burn` and `_approve`.
   */
  function _burnFrom(address account, uint256 amount) internal {
    _burn(account, amount);
    _approve(account, msg.sender, _allowances[account][msg.sender].sub(amount));
  }
}


contract Wisdom is ERC20, Owned {

  string public constant name = "Wisdom";
  string public constant symbol = "WISDOM";
  uint8 public constant decimals = 2;

  mapping(address => bool) _admins;
  mapping(address => bool) _locked;

  /**
   * Adds somebody as an admin. This method is allowed by owner only.
   */
  function addAdmin(address somebody) public onlyOwner {
    _admins[somebody] = true;
  }

  /**
   * Removes somebody from admin. This method is allowed by owner only.
   */
  function removeAdmin(address somebody) public onlyOwner {
    _admins[somebody] = false;
  }

  /**
   * Returns true if somebody is admin. Owner is always an admin.
   */
  function isAdmin(address somebody) public view returns(bool) {
    return _admins[somebody] || somebody == owner;
  }

  /**
   * Locks an address. This method is allowed by admins.
   *
   * Locked addresses can not transfer or burn.
   */
  function lock(address account) public {
    require(isAdmin(msg.sender));
    _locked[account] = true;
  }

  /**
   * Unlocks an address. This method is allowed by admins.
   */
  function unlock(address account) public {
    require(isAdmin(msg.sender));
    _locked[account] = false;
  }

  /**
   * Returns true if somebody is locked.
   */
  function isLocked(address somebody) public view returns(bool) {
    return _locked[somebody];
  }

  /**
   * Issues new amount of tokens to account. This method is allowed by admins.
   */
  function mint(address account, uint256 amount) public {
    require(isAdmin(msg.sender));
    _mint(account, amount);
  }

  /**
   * @dev Destroys `amount` tokens from sender.
   *
   * See `ERC20._burn`.
   */
  function burn(uint256 amount) public {
    require(!_locked[msg.sender]);
    _burn(msg.sender, amount);
  }

  /**
   * @dev See `ERC20._burnFrom`.
   */
  function burnFrom(address account, uint256 amount) public {
    require(!_locked[msg.sender]);
    require(!_locked[account]);
    _burnFrom(account, amount);
  }

  /**
   * @dev See `IERC20.transfer`.
   *
   * Requirements:
   *
   * - `recipient` cannot be the zero address.
   * - the caller must have a balance of at least `amount`.
   */
  function transfer(address recipient, uint256 amount) public returns (bool) {
    require(!_locked[msg.sender]);
    _transfer(msg.sender, recipient, amount);
    return true;
  }

  /**
   * @dev See `IERC20.transferFrom`.
   *
   * Emits an `Approval` event indicating the updated allowance. This is not
   * required by the EIP. See the note at the beginning of `ERC20`;
   *
   * Requirements:
   * - `sender` and `recipient` cannot be the zero address.
   * - `sender` must have a balance of at least `value`.
   * - the caller must have allowance for `sender`'s tokens of at least
   * `amount`.
   */
  function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) {
    require(!_locked[msg.sender]);
    require(!_locked[sender]);
    _transfer(sender, recipient, amount);
    _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount));
    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":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"somebody","type":"address"}],"name":"removeAdmin","outputs":[],"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":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"somebody","type":"address"}],"name":"isAdmin","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"unlock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"},{"name":"amount","type":"uint256"}],"name":"mint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"somebody","type":"address"}],"name":"isLocked","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"somebody","type":"address"}],"name":"addAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"},{"name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","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":false,"inputs":[{"name":"spender","type":"address"},{"name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"recipient","type":"address"},{"name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"lock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"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":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]

608060405260038054600160a060020a03191633179055610e4f806100256000396000f30060806040526004361061011c5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610121578063095ea7b3146101ab5780631785f53c146101e357806318160ddd1461020657806323b872dd1461022d57806324d7806c146102575780632f6c493c14610278578063313ce5671461029957806339509351146102c457806340c10f19146102e857806342966c681461030c5780634a4fbeec14610324578063704802751461034557806370a082311461036657806379cc6790146103875780638da5cb5b146103ab57806395d89b41146103dc578063a457c2d7146103f1578063a9059cbb14610415578063dd62ed3e14610439578063f435f5a714610460575b600080fd5b34801561012d57600080fd5b50610136610481565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610170578181015183820152602001610158565b50505050905090810190601f16801561019d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101b757600080fd5b506101cf600160a060020a03600435166024356104b8565b604080519115158252519081900360200190f35b3480156101ef57600080fd5b50610204600160a060020a03600435166104ce565b005b34801561021257600080fd5b5061021b610506565b60408051918252519081900360200190f35b34801561023957600080fd5b506101cf600160a060020a036004358116906024351660443561050c565b34801561026357600080fd5b506101cf600160a060020a03600435166105a4565b34801561028457600080fd5b50610204600160a060020a03600435166105de565b3480156102a557600080fd5b506102ae610613565b6040805160ff9092168252519081900360200190f35b3480156102d057600080fd5b506101cf600160a060020a0360043516602435610618565b3480156102f457600080fd5b50610204600160a060020a0360043516602435610654565b34801561031857600080fd5b50610204600435610676565b34801561033057600080fd5b506101cf600160a060020a03600435166106a0565b34801561035157600080fd5b50610204600160a060020a03600435166106be565b34801561037257600080fd5b5061021b600160a060020a03600435166106f9565b34801561039357600080fd5b50610204600160a060020a0360043516602435610714565b3480156103b757600080fd5b506103c0610761565b60408051600160a060020a039092168252519081900360200190f35b3480156103e857600080fd5b50610136610770565b3480156103fd57600080fd5b506101cf600160a060020a03600435166024356107a7565b34801561042157600080fd5b506101cf600160a060020a03600435166024356107e3565b34801561044557600080fd5b5061021b600160a060020a036004358116906024351661080b565b34801561046c57600080fd5b50610204600160a060020a0360043516610836565b60408051808201909152600681527f576973646f6d0000000000000000000000000000000000000000000000000000602082015281565b60006104c533848461086e565b50600192915050565b600354600160a060020a031633146104e557600080fd5b600160a060020a03166000908152600460205260409020805460ff19169055565b60025490565b3360009081526005602052604081205460ff161561052957600080fd5b600160a060020a03841660009081526005602052604090205460ff161561054f57600080fd5b61055a8484846109db565b600160a060020a03841660009081526001602090815260408083203380855292529091205461059a918691610595908663ffffffff610b9f16565b61086e565b5060019392505050565b600160a060020a03811660009081526004602052604081205460ff16806105d85750600354600160a060020a038381169116145b92915050565b6105e7336105a4565b15156105f257600080fd5b600160a060020a03166000908152600560205260409020805460ff19169055565b600281565b336000818152600160209081526040808320600160a060020a038716845290915281205490916104c5918590610595908663ffffffff610bb616565b61065d336105a4565b151561066857600080fd5b6106728282610bcf565b5050565b3360009081526005602052604090205460ff161561069357600080fd5b61069d3382610cc4565b50565b600160a060020a031660009081526005602052604090205460ff1690565b600354600160a060020a031633146106d557600080fd5b600160a060020a03166000908152600460205260409020805460ff19166001179055565b600160a060020a031660009081526020819052604090205490565b3360009081526005602052604090205460ff161561073157600080fd5b600160a060020a03821660009081526005602052604090205460ff161561075757600080fd5b6106728282610dde565b600354600160a060020a031681565b60408051808201909152600681527f574953444f4d0000000000000000000000000000000000000000000000000000602082015281565b336000818152600160209081526040808320600160a060020a038716845290915281205490916104c5918590610595908663ffffffff610b9f16565b3360009081526005602052604081205460ff161561080057600080fd5b6104c53384846109db565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b61083f336105a4565b151561084a57600080fd5b600160a060020a03166000908152600560205260409020805460ff19166001179055565b600160a060020a03831615156108f3576040805160e560020a62461bcd028152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a0382161515610979576040805160e560020a62461bcd02815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600160a060020a0383161515610a61576040805160e560020a62461bcd02815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a0382161515610ae7576040805160e560020a62461bcd02815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a038316600090815260208190526040902054610b10908263ffffffff610b9f16565b600160a060020a038085166000908152602081905260408082209390935590841681522054610b45908263ffffffff610bb616565b600160a060020a038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008083831115610baf57600080fd5b5050900390565b600082820183811015610bc857600080fd5b9392505050565b600160a060020a0382161515610c2f576040805160e560020a62461bcd02815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600254610c42908263ffffffff610bb616565b600255600160a060020a038216600090815260208190526040902054610c6e908263ffffffff610bb616565b600160a060020a0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600160a060020a0382161515610d4a576040805160e560020a62461bcd02815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f7300000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600254610d5d908263ffffffff610b9f16565b600255600160a060020a038216600090815260208190526040902054610d89908263ffffffff610b9f16565b600160a060020a038316600081815260208181526040808320949094558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050565b610de88282610cc4565b600160a060020a038216600090815260016020908152604080832033808552925290912054610672918491610595908563ffffffff610b9f165600a165627a7a72305820e7b48bae80fc542fbbfae15cb9195e157494d1cf7ac4763196e78dfc15fb48180029

Deployed Bytecode

0x60806040526004361061011c5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610121578063095ea7b3146101ab5780631785f53c146101e357806318160ddd1461020657806323b872dd1461022d57806324d7806c146102575780632f6c493c14610278578063313ce5671461029957806339509351146102c457806340c10f19146102e857806342966c681461030c5780634a4fbeec14610324578063704802751461034557806370a082311461036657806379cc6790146103875780638da5cb5b146103ab57806395d89b41146103dc578063a457c2d7146103f1578063a9059cbb14610415578063dd62ed3e14610439578063f435f5a714610460575b600080fd5b34801561012d57600080fd5b50610136610481565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610170578181015183820152602001610158565b50505050905090810190601f16801561019d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101b757600080fd5b506101cf600160a060020a03600435166024356104b8565b604080519115158252519081900360200190f35b3480156101ef57600080fd5b50610204600160a060020a03600435166104ce565b005b34801561021257600080fd5b5061021b610506565b60408051918252519081900360200190f35b34801561023957600080fd5b506101cf600160a060020a036004358116906024351660443561050c565b34801561026357600080fd5b506101cf600160a060020a03600435166105a4565b34801561028457600080fd5b50610204600160a060020a03600435166105de565b3480156102a557600080fd5b506102ae610613565b6040805160ff9092168252519081900360200190f35b3480156102d057600080fd5b506101cf600160a060020a0360043516602435610618565b3480156102f457600080fd5b50610204600160a060020a0360043516602435610654565b34801561031857600080fd5b50610204600435610676565b34801561033057600080fd5b506101cf600160a060020a03600435166106a0565b34801561035157600080fd5b50610204600160a060020a03600435166106be565b34801561037257600080fd5b5061021b600160a060020a03600435166106f9565b34801561039357600080fd5b50610204600160a060020a0360043516602435610714565b3480156103b757600080fd5b506103c0610761565b60408051600160a060020a039092168252519081900360200190f35b3480156103e857600080fd5b50610136610770565b3480156103fd57600080fd5b506101cf600160a060020a03600435166024356107a7565b34801561042157600080fd5b506101cf600160a060020a03600435166024356107e3565b34801561044557600080fd5b5061021b600160a060020a036004358116906024351661080b565b34801561046c57600080fd5b50610204600160a060020a0360043516610836565b60408051808201909152600681527f576973646f6d0000000000000000000000000000000000000000000000000000602082015281565b60006104c533848461086e565b50600192915050565b600354600160a060020a031633146104e557600080fd5b600160a060020a03166000908152600460205260409020805460ff19169055565b60025490565b3360009081526005602052604081205460ff161561052957600080fd5b600160a060020a03841660009081526005602052604090205460ff161561054f57600080fd5b61055a8484846109db565b600160a060020a03841660009081526001602090815260408083203380855292529091205461059a918691610595908663ffffffff610b9f16565b61086e565b5060019392505050565b600160a060020a03811660009081526004602052604081205460ff16806105d85750600354600160a060020a038381169116145b92915050565b6105e7336105a4565b15156105f257600080fd5b600160a060020a03166000908152600560205260409020805460ff19169055565b600281565b336000818152600160209081526040808320600160a060020a038716845290915281205490916104c5918590610595908663ffffffff610bb616565b61065d336105a4565b151561066857600080fd5b6106728282610bcf565b5050565b3360009081526005602052604090205460ff161561069357600080fd5b61069d3382610cc4565b50565b600160a060020a031660009081526005602052604090205460ff1690565b600354600160a060020a031633146106d557600080fd5b600160a060020a03166000908152600460205260409020805460ff19166001179055565b600160a060020a031660009081526020819052604090205490565b3360009081526005602052604090205460ff161561073157600080fd5b600160a060020a03821660009081526005602052604090205460ff161561075757600080fd5b6106728282610dde565b600354600160a060020a031681565b60408051808201909152600681527f574953444f4d0000000000000000000000000000000000000000000000000000602082015281565b336000818152600160209081526040808320600160a060020a038716845290915281205490916104c5918590610595908663ffffffff610b9f16565b3360009081526005602052604081205460ff161561080057600080fd5b6104c53384846109db565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b61083f336105a4565b151561084a57600080fd5b600160a060020a03166000908152600560205260409020805460ff19166001179055565b600160a060020a03831615156108f3576040805160e560020a62461bcd028152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a0382161515610979576040805160e560020a62461bcd02815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600160a060020a0383161515610a61576040805160e560020a62461bcd02815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a0382161515610ae7576040805160e560020a62461bcd02815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a038316600090815260208190526040902054610b10908263ffffffff610b9f16565b600160a060020a038085166000908152602081905260408082209390935590841681522054610b45908263ffffffff610bb616565b600160a060020a038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008083831115610baf57600080fd5b5050900390565b600082820183811015610bc857600080fd5b9392505050565b600160a060020a0382161515610c2f576040805160e560020a62461bcd02815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600254610c42908263ffffffff610bb616565b600255600160a060020a038216600090815260208190526040902054610c6e908263ffffffff610bb616565b600160a060020a0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600160a060020a0382161515610d4a576040805160e560020a62461bcd02815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f7300000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600254610d5d908263ffffffff610b9f16565b600255600160a060020a038216600090815260208190526040902054610d89908263ffffffff610b9f16565b600160a060020a038316600081815260208181526040808320949094558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050565b610de88282610cc4565b600160a060020a038216600090815260016020908152604080832033808552925290912054610672918491610595908563ffffffff610b9f165600a165627a7a72305820e7b48bae80fc542fbbfae15cb9195e157494d1cf7ac4763196e78dfc15fb48180029

Deployed Bytecode Sourcemap

7490:3197:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7529:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7529:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;7529:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2994:138;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2994:138:0;-1:-1:-1;;;;;2994:138:0;;;;;;;;;;;;;;;;;;;;;;;;;8002:94;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8002:94:0;-1:-1:-1;;;;;8002:94:0;;;;;;;2434:85;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2434:85:0;;;;;;;;;;;;;;;;;;;;10374:310;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10374:310:0;-1:-1:-1;;;;;10374:310:0;;;;;;;;;;;;8183:119;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8183:119:0;-1:-1:-1;;;;;8183:119:0;;;;;8624:112;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8624:112:0;-1:-1:-1;;;;;8624:112:0;;;;;7617:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7617:34:0;;;;;;;;;;;;;;;;;;;;;;;3515:196;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3515:196:0;-1:-1:-1;;;;;3515:196:0;;;;;;;8997:124;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8997:124:0;-1:-1:-1;;;;;8997:124:0;;;;;;;9221:111;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9221:111:0;;;;;8798:99;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8798:99:0;-1:-1:-1;;;;;8798:99:0;;;;;7819:90;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7819:90:0;-1:-1:-1;;;;;7819:90:0;;;;;2574:104;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2574:104:0;-1:-1:-1;;;;;2574:104:0;;;;;9386:166;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9386:166:0;-1:-1:-1;;;;;9386:166:0;;;;;;;1691:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1691:20:0;;;;;;;;-1:-1:-1;;;;;1691:20:0;;;;;;;;;;;;;;7572:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7572:40:0;;;;4184:206;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4184:206:0;-1:-1:-1;;;;;4184:206:0;;;;;;;9747:182;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9747:182:0;-1:-1:-1;;;;;9747:182:0;;;;;;;2735:128;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2735:128:0;-1:-1:-1;;;;;2735:128:0;;;;;;;;;;8435:109;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8435:109:0;-1:-1:-1;;;;;8435:109:0;;;;;7529:38;;;;;;;;;;;;;;;;;;;:::o;2994:138::-;3059:4;3072:36;3081:10;3093:7;3102:5;3072:8;:36::i;:::-;-1:-1:-1;3122:4:0;2994:138;;;;:::o;8002:94::-;1766:5;;-1:-1:-1;;;;;1766:5:0;1752:10;:19;1744:28;;;;;;-1:-1:-1;;;;;8065:17:0;8085:5;8065:17;;;:7;:17;;;;;:25;;-1:-1:-1;;8065:25:0;;;8002:94::o;2434:85::-;2501:12;;2434:85;:::o;10374:310::-;10493:10;10463:4;10485:19;;;:7;:19;;;;;;;;10484:20;10476:29;;;;;;-1:-1:-1;;;;;10521:15:0;;;;;;:7;:15;;;;;;;;10520:16;10512:25;;;;;;10544:36;10554:6;10562:9;10573:6;10544:9;:36::i;:::-;-1:-1:-1;;;;;10616:19:0;;;;;;:11;:19;;;;;;;;10604:10;10616:31;;;;;;;;;10587:73;;10596:6;;10616:43;;10652:6;10616:43;:35;:43;:::i;:::-;10587:8;:73::i;:::-;-1:-1:-1;10674:4:0;10374:310;;;;;:::o;8183:119::-;-1:-1:-1;;;;;8258:17:0;;8238:4;8258:17;;;:7;:17;;;;;;;;;:38;;-1:-1:-1;8291:5:0;;-1:-1:-1;;;;;8279:17:0;;;8291:5;;8279:17;8258:38;8251:45;8183:119;-1:-1:-1;;8183:119:0:o;8624:112::-;8679:19;8687:10;8679:7;:19::i;:::-;8671:28;;;;;;;;-1:-1:-1;;;;;8706:16:0;8725:5;8706:16;;;:7;:16;;;;;:24;;-1:-1:-1;;8706:24:0;;;8624:112::o;7617:34::-;7650:1;7617:34;:::o;3515:196::-;3617:10;3595:4;3638:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;3638:32:0;;;;;;;;;;3595:4;;3608:79;;3629:7;;3638:48;;3675:10;3638:48;:36;:48;:::i;8997:124::-;9066:19;9074:10;9066:7;:19::i;:::-;9058:28;;;;;;;;9093:22;9099:7;9108:6;9093:5;:22::i;:::-;8997:124;;:::o;9221:111::-;9282:10;9274:19;;;;:7;:19;;;;;;;;9273:20;9265:29;;;;;;9301:25;9307:10;9319:6;9301:5;:25::i;:::-;9221:111;:::o;8798:99::-;-1:-1:-1;;;;;8874:17:0;8854:4;8874:17;;;:7;:17;;;;;;;;;8798:99::o;7819:90::-;1766:5;;-1:-1:-1;;;;;1766:5:0;1752:10;:19;1744:28;;;;;;-1:-1:-1;;;;;7879:17:0;;;;;:7;:17;;;;;:24;;-1:-1:-1;;7879:24:0;7899:4;7879:24;;;7819:90::o;2574:104::-;-1:-1:-1;;;;;2654:18:0;2631:7;2654:18;;;;;;;;;;;;2574:104::o;9386:166::-;9468:10;9460:19;;;;:7;:19;;;;;;;;9459:20;9451:29;;;;;;-1:-1:-1;;;;;9496:16:0;;;;;;:7;:16;;;;;;;;9495:17;9487:26;;;;;;9520;9530:7;9539:6;9520:9;:26::i;1691:20::-;;;-1:-1:-1;;;;;1691:20:0;;:::o;7572:40::-;;;;;;;;;;;;;;;;;;;:::o;4184:206::-;4291:10;4269:4;4312:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;4312:32:0;;;;;;;;;;4269:4;;4282:84;;4303:7;;4312:53;;4349:15;4312:53;:36;:53;:::i;9747:182::-;9846:10;9816:4;9838:19;;;:7;:19;;;;;;;;9837:20;9829:29;;;;;;9865:40;9875:10;9887:9;9898:6;9865:9;:40::i;2735:128::-;-1:-1:-1;;;;;2830:18:0;;;2807:7;2830:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;2735:128::o;8435:109::-;8488:19;8496:10;8488:7;:19::i;:::-;8480:28;;;;;;;;-1:-1:-1;;;;;8515:16:0;;;;;:7;:16;;;;;:23;;-1:-1:-1;;8515:23:0;8534:4;8515:23;;;8435:109::o;6815:317::-;-1:-1:-1;;;;;6904:19:0;;;;6896:68;;;;;-1:-1:-1;;;;;6896:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6979:21:0;;;;6971:68;;;;;-1:-1:-1;;;;;6971:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7048:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:35;;;7095:31;;;;;;;;;;;;;;;;;6815:317;;;:::o;4850:407::-;-1:-1:-1;;;;;4944:20:0;;;;4936:70;;;;;-1:-1:-1;;;;;4936:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5021:23:0;;;;5013:71;;;;;-1:-1:-1;;;;;5013:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5113:17:0;;:9;:17;;;;;;;;;;;:29;;5135:6;5113:29;:21;:29;:::i;:::-;-1:-1:-1;;;;;5093:17:0;;;:9;:17;;;;;;;;;;;:49;;;;5172:20;;;;;;;:32;;5197:6;5172:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;5149:20:0;;;:9;:20;;;;;;;;;;;;:55;;;;5216:35;;;;;;;5149:20;;5216:35;;;;;;;;;;;;;4850:407;;;:::o;1022:136::-;1080:7;;1104:6;;;;1096:15;;;;;;-1:-1:-1;;1130:5:0;;;1022:136::o;1226:::-;1284:7;1312:5;;;1332:6;;;;1324:15;;;;;;1355:1;1226:136;-1:-1:-1;;;1226:136:0:o;5518:290::-;-1:-1:-1;;;;;5590:21:0;;;;5582:65;;;;;-1:-1:-1;;;;;5582:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;5671:12;;:24;;5688:6;5671:24;:16;:24;:::i;:::-;5656:12;:39;-1:-1:-1;;;;;5723:18:0;;:9;:18;;;;;;;;;;;:30;;5746:6;5723:30;:22;:30;:::i;:::-;-1:-1:-1;;;;;5702:18:0;;:9;:18;;;;;;;;;;;:51;;;;5765:37;;;;;;;5702:18;;:9;;5765:37;;;;;;;;;;5518:290;;:::o;6115:288::-;-1:-1:-1;;;;;6186:21:0;;;;6178:67;;;;;-1:-1:-1;;;;;6178:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6269:12;;:23;;6286:5;6269:23;:16;:23;:::i;:::-;6254:12;:38;-1:-1:-1;;;;;6320:18:0;;:9;:18;;;;;;;;;;;:29;;6343:5;6320:29;:22;:29;:::i;:::-;-1:-1:-1;;;;;6299:18:0;;:9;:18;;;;;;;;;;;:50;;;;6361:36;;;;;;;6299:9;;6361:36;;;;;;;;;;;6115:288;;:::o;7303:178::-;7371:22;7377:7;7386:6;7371:5;:22::i;:::-;-1:-1:-1;;;;;7430:20:0;;;;;;:11;:20;;;;;;;;7418:10;7430:32;;;;;;;;;7400:75;;7409:7;;7430:44;;7467:6;7430:44;:36;:44;:::i

Swarm Source

bzzr://e7b48bae80fc542fbbfae15cb9195e157494d1cf7ac4763196e78dfc15fb4818

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.