ETH Price: $3,326.03 (-4.08%)

Contract

0xD446d633d83b85824fc36B355f107548327c4E64
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer130041502021-08-11 13:25:021233 days ago1628688302IN
0xD446d633...8327c4E64
0 ETH0.0023900844
Transfer128116742021-07-12 9:30:451263 days ago1626082245IN
0xD446d633...8327c4E64
0 ETH0.0004023918.1
Transfer128116112021-07-12 9:16:331263 days ago1626081393IN
0xD446d633...8327c4E64
0 ETH0.0012550623.1
Transfer127652122021-07-05 4:02:021270 days ago1625457722IN
0xD446d633...8327c4E64
0 ETH0.0002220810
Transfer127651962021-07-05 3:58:451270 days ago1625457525IN
0xD446d633...8327c4E64
0 ETH0.0005430810
Transfer126955932021-06-24 7:42:011281 days ago1624520521IN
0xD446d633...8327c4E64
0 ETH0.0002466411.1
Transfer126955712021-06-24 7:35:581281 days ago1624520158IN
0xD446d633...8327c4E64
0 ETH0.0007713414.2
Transfer126949192021-06-24 5:08:361281 days ago1624511316IN
0xD446d633...8327c4E64
0 ETH0.000313314.1
Transfer126949062021-06-24 5:04:101281 days ago1624511050IN
0xD446d633...8327c4E64
0 ETH0.0007061613
Transfer126949012021-06-24 5:03:061281 days ago1624510986IN
0xD446d633...8327c4E64
0 ETH0.0006888231
Transfer126948852021-06-24 4:57:551281 days ago1624510675IN
0xD446d633...8327c4E64
0 ETH0.0007061613
Transfer126898872021-06-23 10:33:211282 days ago1624444401IN
0xD446d633...8327c4E64
0 ETH0.0006888231
Transfer126898722021-06-23 10:29:481282 days ago1624444188IN
0xD446d633...8327c4E64
0 ETH0.0006029511.1
Transfer126898072021-06-23 10:17:271282 days ago1624443447IN
0xD446d633...8327c4E64
0 ETH0.000666630
Transfer126897932021-06-23 10:15:471282 days ago1624443347IN
0xD446d633...8327c4E64
0 ETH0.0007604814
Transfer126772092021-06-21 10:56:551284 days ago1624273015IN
0xD446d633...8327c4E64
0 ETH0.002444445
Transfer126446522021-06-16 9:18:381289 days ago1623835118IN
0xD446d633...8327c4E64
0 ETH0.002752470
Transfer126446332021-06-16 9:14:491289 days ago1623834889IN
0xD446d633...8327c4E64
0 ETH0.0005975211
Transfer125152222021-05-27 7:56:521309 days ago1622102212IN
0xD446d633...8327c4E64
0 ETH0.0015562470
Transfer124966192021-05-24 11:04:381312 days ago1621854278IN
0xD446d633...8327c4E64
0 ETH0.0014520439
Transfer124965902021-05-24 11:00:161312 days ago1621854016IN
0xD446d633...8327c4E64
0 ETH0.0014892840
Transfer124965692021-05-24 10:56:261312 days ago1621853786IN
0xD446d633...8327c4E64
0 ETH0.0015637442
Transfer124965672021-05-24 10:55:461312 days ago1621853746IN
0xD446d633...8327c4E64
0 ETH0.0014892840
Transfer124965502021-05-24 10:50:281312 days ago1621853428IN
0xD446d633...8327c4E64
0 ETH0.0018472834
Transfer118202712021-02-09 5:11:111416 days ago1612847471IN
0xD446d633...8327c4E64
0 ETH0.0046915125
View all transactions

Advanced mode:
Parent Transaction Hash Block
From
To
View All Internal Transactions
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xf92CaF96...1193B5aeE
The constructor portion of the code might be different and could alter the actual behaviour of the contract

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"}]

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.