ETH Price: $3,162.71 (+1.48%)
Gas: 1 Gwei

Contract

0x24cebC1548e698fEFFB5553B8Ac8043b51069Faa
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve190001152024-01-13 19:40:23182 days ago1705174823IN
0x24cebC15...b51069Faa
0 ETH0.0005506220.86888896
Approve109840232020-10-03 16:28:301379 days ago1601742510IN
0x24cebC15...b51069Faa
0 ETH0.0011949680.00000123
Approve109840232020-10-03 16:28:301379 days ago1601742510IN
0x24cebC15...b51069Faa
0 ETH0.0011954480.00000123
Transfer100576252020-05-13 11:48:321522 days ago1589370512IN
0x24cebC15...b51069Faa
0 ETH0.0004932421
Transfer94817142020-02-14 14:40:471611 days ago1581691247IN
0x24cebC15...b51069Faa
0 ETH0.0004618512
Approve81889642019-07-20 17:36:461820 days ago1563644206IN
0x24cebC15...b51069Faa
0 ETH0.000050431.1
Transfer81875812019-07-20 12:27:111820 days ago1563625631IN
0x24cebC15...b51069Faa
0 ETH0.000041411.1
Approve81833662019-07-19 20:57:121820 days ago1563569832IN
0x24cebC15...b51069Faa
0 ETH0.0004578910
Transfer81423412019-07-13 11:12:171827 days ago1563016337IN
0x24cebC15...b51069Faa
0 ETH0.0015461941
Approve80717092019-07-02 11:11:191838 days ago1562065879IN
0x24cebC15...b51069Faa
0 ETH0.000183414
Transfer80468322019-06-28 14:25:281842 days ago1561731928IN
0x24cebC15...b51069Faa
0 ETH0.000090594
Approve78030612019-05-21 11:49:501880 days ago1558439390IN
0x24cebC15...b51069Faa
0 ETH0.000183154
Transfer78030572019-05-21 11:47:241880 days ago1558439244IN
0x24cebC15...b51069Faa
0 ETH0.000226276
Transfer77763242019-05-17 7:16:591884 days ago1558077419IN
0x24cebC15...b51069Faa
0 ETH0.0006970518.515
Approve76960712019-05-04 18:16:541897 days ago1556993814IN
0x24cebC15...b51069Faa
0 ETH0.000183154
Approve76685292019-04-30 11:29:541901 days ago1556623794IN
0x24cebC15...b51069Faa
0 ETH0.000183414
Transfer75239962019-04-07 23:30:061923 days ago1554679806IN
0x24cebC15...b51069Faa
0 ETH0.000027171.2
Approve74532262019-03-27 22:05:381934 days ago1553724338IN
0x24cebC15...b51069Faa
0 ETH0.000213824.5
Approve74325352019-03-24 16:44:361938 days ago1553445876IN
0x24cebC15...b51069Faa
0 ETH0.000183414
Transfer73167712019-03-06 16:09:471956 days ago1551888587IN
0x24cebC15...b51069Faa
0 ETH0.0003764810
Approve72796872019-02-28 18:03:251962 days ago1551377005IN
0x24cebC15...b51069Faa
0 ETH0.000183414
Approve72627382019-02-24 18:33:551966 days ago1551033235IN
0x24cebC15...b51069Faa
0 ETH0.000100546.5
Approve72627302019-02-24 18:30:591966 days ago1551033059IN
0x24cebC15...b51069Faa
0 ETH0.000308866.5
Transfer71014282019-01-21 1:35:312000 days ago1548034531IN
0x24cebC15...b51069Faa
0 ETH0.000075292
Transfer71014092019-01-21 1:31:072000 days ago1548034267IN
0x24cebC15...b51069Faa
0 ETH0.00012
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:
AlvalorToken

Compiler Version
v0.4.18+commit.9cf6e910

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2017-12-18
*/

pragma solidity ^0.4.18;


/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a * b;
    assert(a == 0 || c / a == b);
    return c;
  }

  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    // assert(b > 0); // Solidity automatically throws 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;
  }

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

  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    assert(c >= a);
    return c;
  }
}


/**
 * @title Math
 * @dev Assorted math operations
 */

library Math {
  function max64(uint64 a, uint64 b) internal pure returns (uint64) {
    return a >= b ? a : b;
  }

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

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

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


/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {

  address public owner;

  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  function Ownable() internal {
    owner = msg.sender;
  }

  /**
   * @dev Throws if called by any account other than the owner.
   */
  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }
}


/**
 * @title Pausable
 * @dev Base contract which allows children to implement an emergency stop mechanism.
 */
contract Pausable is Ownable {

  event Pause();
  event Unpause();

  bool public paused = false;

  /**
   * @dev modifier to allow actions only when the contract IS paused
   */
  modifier whenNotPaused() {
    require(!paused);
    _;
  }

  /**
   * @dev modifier to allow actions only when the contract IS NOT paused
   */
  modifier whenPaused() {
    require(paused);
    _;
  }

  /**
   * @dev called by the owner to pause, triggers stopped state
   */
  function pause() external onlyOwner whenNotPaused {
    paused = true;
    Pause();
  }

  /**
   * @dev called by the owner to unpause, returns to normal state
   */
  function unpause() external onlyOwner whenPaused {
    paused = false;
    Unpause();
  }
}


/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/179
 */
contract ERC20Basic {
  uint256 public totalSupply;
  function balanceOf(address who) public constant returns (uint256);
  function transfer(address to, uint256 value) public returns (bool);
  event Transfer(address indexed from, address indexed to, uint256 value);
}


/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 is ERC20Basic {
  function allowance(address owner, address spender) public constant returns (uint256);
  function transferFrom(address from, address to, uint256 value) public returns (bool);
  function approve(address spender, uint256 value) public returns (bool);
  event Approval(address indexed owner, address indexed spender, uint256 value);
}


/**
 * @title Basic token
 * @dev Basic version of StandardToken, with no allowances.
 */
contract BasicToken is ERC20Basic {

  using SafeMath for uint256;

  mapping(address => uint256) internal balances;

  /**
  * @dev transfer token for a specified address
  * @param _to The address to transfer to.
  * @param _value The amount to be transferred.
  */
  function transfer(address _to, uint256 _value) public returns (bool) {
    require(_to != address(0));
    require(_value <= balances[msg.sender]);

    // SafeMath.sub will throw if there is not enough balance.
    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    Transfer(msg.sender, _to, _value);
    return true;
  }

  /**
  * @dev Gets the balance of the specified address.
  * @param _owner The address to query the the balance of.
  * @return An uint256 representing the amount owned by the passed address.
  */
  function balanceOf(address _owner) public constant returns (uint256 balance) {
    return balances[_owner];
  }
}


/**
 * @title Standard ERC20 token
 *
 * @dev Implementation of the basic standard token.
 * @dev https://github.com/ethereum/EIPs/issues/20
 * @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
 */
contract StandardToken is ERC20, BasicToken {

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

  /**
   * @dev Transfer tokens from one address to another
   * @param _from address The address which you want to send tokens from
   * @param _to address The address which you want to transfer to
   * @param _value uint256 the amount of tokens to be transferred
   */
  function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
    require(_to != address(0));
    require(_value <= balances[_from]);
    require(_value <= allowed[_from][msg.sender]);

    balances[_from] = balances[_from].sub(_value);
    balances[_to] = balances[_to].add(_value);
    allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
    Transfer(_from, _to, _value);
    return true;
  }

  /**
   * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
   *
   * Beware that changing an allowance with this method brings the risk that someone may use both the old
   * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
   * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
   * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
   * @param _spender The address which will spend the funds.
   * @param _value The amount of tokens to be spent.
   */
  function approve(address _spender, uint256 _value) public returns (bool) {
    allowed[msg.sender][_spender] = _value;
    Approval(msg.sender, _spender, _value);
    return true;
  }

  /**
   * @dev Function to check the amount of tokens that an owner allowed to a spender.
   * @param _owner address The address which owns the funds.
   * @param _spender address The address which will spend the funds.
   * @return A uint256 specifying the amount of tokens still available for the spender.
   */
  function allowance(address _owner, address _spender) public constant returns (uint256 remaining) {
    return allowed[_owner][_spender];
  }
}


/**
 * @title Pausable token
 *
 * @dev StandardToken modified with pausable transfers.
 **/

contract PausableToken is StandardToken, Pausable {

  function transfer(address _to, uint256 _value) public whenNotPaused returns (bool) {
    return super.transfer(_to, _value);
  }

  function transferFrom(address _from, address _to, uint256 _value) public whenNotPaused returns (bool) {
    return super.transferFrom(_from, _to, _value);
  }

  function approve(address _spender, uint256 _value) public whenNotPaused returns (bool) {
    return super.approve(_spender, _value);
  }
}


/**
 * Alvalor token
 *
 * The Alvalor Token is a simple ERC20 token with an initial supply equivalent to the maximum value
 * of an unsigned 64-bit integer, credited to the creator which represents the Alvalor foundation.
 *
 * It is pausible so that transfers can be frozen when we create the snapshot of balances, which
 * will be used to transfer balances to the Alvalor genesis block.
 **/

contract AlvalorToken is PausableToken {

  using SafeMath for uint256;

  // the details of the token for wallets
  string public constant name = "Alvalor";
  string public constant symbol = "TVAL";
  uint8 public constant decimals = 12;

  // when frozen, the supply of the token cannot change anymore
  bool public frozen = false;

  // defines the maximum total supply and the maximum number of tokens
  // claimable through the airdrop mechanism
  uint256 public constant maxSupply = 18446744073709551615;
  uint256 public constant dropSupply = 3689348814741910323;

  // keeps track of the total supply already claimed through the airdrop
  uint256 public claimedSupply = 0;

  // keeps track of how much each address can claim in the airdrop
  mapping(address => uint256) private claims;

  // who is allowed to drop supply during airdrop (for automation)
  address private dropper;

  // events emmitted by the contract
  event Freeze();
  event Drop(address indexed receiver, uint256 value);
  event Mint(address indexed receiver, uint256 value);
  event Claim(address indexed receiver, uint256 value);

  // the not frozen modifier guards functions modifying the supply of the token
  // from being called after the token supply has been frozen
  modifier whenNotFrozen() {
    require(!frozen);
    _;
  }

  modifier whenFrozen() {
    require(frozen);
    _;
  }

  // make sure only the dropper can drop claimable supply
  modifier onlyDropper() {
    require(msg.sender == dropper);
    _;
  }

  // AlvalorToken will make sure the owner can claim any unclaimed drop at any
  // point.
  function AlvalorToken() public {
    claims[owner] = dropSupply;
    dropper = msg.sender;
  }

  function changeDropper(address _dropper) onlyOwner whenNotFrozen external {
    dropper = _dropper;
  }

  // freeze will irrevocably stop all modifications to the supply of the token,
  // effectively freezing the supply of the token (transfers are still possible)
  function freeze() onlyOwner whenNotFrozen external {
    frozen = true;
    Freeze();
  }

  // mint can be called by the owner to create tokens for a certain receiver
  // it will no longer work once the token supply has been frozen
  function mint(address _receiver, uint256 _value) onlyOwner whenNotFrozen external returns (bool) {
    require(_value > 0);
    require(_value <= maxSupply.sub(totalSupply).sub(dropSupply));
    totalSupply = totalSupply.add(_value);
    balances[_receiver] = balances[_receiver].add(_value);
    Mint(_receiver, _value);
    Transfer(address(0), _receiver, _value);
    return true;
  }

  // claimable returns how much a given address can claim from the airdrop
  function claimable(address _receiver) constant public returns (uint256) {
    if (claimedSupply >= dropSupply) {
      return 0;
    }
    uint value = Math.min256(claims[_receiver], dropSupply.sub(claimedSupply));
    return value;
  }

  // drop will create a new allowance for claimable tokens of the airdrop
  // it will no longer work once the token supply has been frozen
  function drop(address _receiver, uint256 _value) onlyDropper whenNotFrozen external returns (bool) {
    require(claimedSupply < dropSupply);
    require(_receiver != owner);
    claims[_receiver] = _value;
    Drop(_receiver, _value);
    return true;
  }

  // claim will allow any sender to retrieve the airdrop tokens assigned to him
  // it will only work until the maximum number of airdrop tokens are redeemed
  function claim() whenNotPaused whenFrozen external returns (bool) {
    require(claimedSupply < dropSupply);
    require(claims[msg.sender] > 0);
    uint value = claimable(msg.sender);
    claims[msg.sender] = claims[msg.sender].sub(value);
    claimedSupply = claimedSupply.add(value);
    totalSupply = totalSupply.add(value);
    balances[msg.sender] = balances[msg.sender].add(value);
    Claim(msg.sender, value);
    Transfer(address(0), msg.sender, value);
    return true;
  }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"frozen","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"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":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"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":"_dropper","type":"address"}],"name":"changeDropper","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_receiver","type":"address"}],"name":"claimable","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_receiver","type":"address"},{"name":"_value","type":"uint256"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"claim","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"dropSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"freeze","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_receiver","type":"address"},{"name":"_value","type":"uint256"}],"name":"drop","outputs":[{"name":"","type":"bool"}],"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":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"claimedSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[],"name":"Freeze","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"receiver","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Drop","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"receiver","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"receiver","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Claim","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","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"},{"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"}]

60606040526003805460a060020a61ffff02191690556000600455341561002557600080fd5b60038054600160a060020a03338116600160a060020a0319928316811793849055921660009081526005602052604090206733333333333333339055600680549091169091179055610f078061007c6000396000f3006060604052600436106101325763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663054f7d9c811461013757806306fdde031461015e578063095ea7b3146101e857806318160ddd1461020a57806323b872dd1461022f578063313ce567146102575780633be9cfb7146102805780633f4ba83a146102a1578063402914f5146102b457806340c10f19146102d35780634e71d92d146102f55780635c975abb146103085780635fdc9e0a1461031b57806362a5af3b1461032e57806370a08231146103415780638456cb59146103605780638d0f8cef146103735780638da5cb5b1461039557806395d89b41146103c4578063a9059cbb146103d7578063bfc2aa2a146103f9578063d5abeb011461040c578063dd62ed3e1461041f575b600080fd5b341561014257600080fd5b61014a610444565b604051901515815260200160405180910390f35b341561016957600080fd5b610171610454565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101ad578082015183820152602001610195565b50505050905090810190601f1680156101da5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101f357600080fd5b61014a600160a060020a036004351660243561048b565b341561021557600080fd5b61021d6104b6565b60405190815260200160405180910390f35b341561023a57600080fd5b61014a600160a060020a03600435811690602435166044356104bc565b341561026257600080fd5b61026a6104e9565b60405160ff909116815260200160405180910390f35b341561028b57600080fd5b61029f600160a060020a03600435166104ee565b005b34156102ac57600080fd5b61029f61054f565b34156102bf57600080fd5b61021d600160a060020a03600435166105ce565b34156102de57600080fd5b61014a600160a060020a0360043516602435610638565b341561030057600080fd5b61014a610781565b341561031357600080fd5b61014a610918565b341561032657600080fd5b61021d610928565b341561033957600080fd5b61029f610934565b341561034c57600080fd5b61021d600160a060020a03600435166109b9565b341561036b57600080fd5b61029f6109d4565b341561037e57600080fd5b61014a600160a060020a0360043516602435610a58565b34156103a057600080fd5b6103a8610b18565b604051600160a060020a03909116815260200160405180910390f35b34156103cf57600080fd5b610171610b27565b34156103e257600080fd5b61014a600160a060020a0360043516602435610b5e565b341561040457600080fd5b61021d610b82565b341561041757600080fd5b61021d610b88565b341561042a57600080fd5b61021d600160a060020a0360043581169060243516610b94565b60035460a860020a900460ff1681565b60408051908101604052600781527f416c76616c6f7200000000000000000000000000000000000000000000000000602082015281565b60035460009060a060020a900460ff16156104a557600080fd5b6104af8383610bbf565b9392505050565b60005481565b60035460009060a060020a900460ff16156104d657600080fd5b6104e1848484610c2b565b949350505050565b600c81565b60035433600160a060020a0390811691161461050957600080fd5b60035460a860020a900460ff161561052057600080fd5b6006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60035433600160a060020a0390811691161461056a57600080fd5b60035460a060020a900460ff16151561058257600080fd5b6003805474ff0000000000000000000000000000000000000000191690557f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6000806733333333333333336004541015156105ed5760009150610632565b600160a060020a03831660009081526005602052604090205460045461062c9190610627906733333333333333339063ffffffff610d9b16565b610dad565b90508091505b50919050565b60035460009033600160a060020a0390811691161461065657600080fd5b60035460a860020a900460ff161561066d57600080fd5b6000821161067a57600080fd5b6106af6733333333333333336106a360005467ffffffffffffffff610d9b90919063ffffffff16565b9063ffffffff610d9b16565b8211156106bb57600080fd5b6000546106ce908363ffffffff610dc316565b6000908155600160a060020a0384168152600160205260409020546106f9908363ffffffff610dc316565b600160a060020a0384166000818152600160205260409081902092909255907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968859084905190815260200160405180910390a2600160a060020a0383166000600080516020610ebc8339815191528460405190815260200160405180910390a350600192915050565b600354600090819060a060020a900460ff161561079d57600080fd5b60035460a860020a900460ff1615156107b557600080fd5b60045467333333333333333390106107cc57600080fd5b600160a060020a033316600090815260056020526040812054116107ef57600080fd5b6107f8336105ce565b600160a060020a033316600090815260056020526040902054909150610824908263ffffffff610d9b16565b600160a060020a033316600090815260056020526040902055600454610850908263ffffffff610dc316565b600455600054610866908263ffffffff610dc316565b6000908155600160a060020a033316815260016020526040902054610891908263ffffffff610dc316565b600160a060020a0333166000818152600160205260409081902092909255907f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d49083905190815260200160405180910390a2600160a060020a0333166000600080516020610ebc8339815191528360405190815260200160405180910390a3600191505090565b60035460a060020a900460ff1681565b67333333333333333381565b60035433600160a060020a0390811691161461094f57600080fd5b60035460a860020a900460ff161561096657600080fd5b6003805475ff000000000000000000000000000000000000000000191660a860020a1790557f615acbaede366d76a8b8cb2a9ada6a71495f0786513d71aa97aaf0c3910b78de60405160405180910390a1565b600160a060020a031660009081526001602052604090205490565b60035433600160a060020a039081169116146109ef57600080fd5b60035460a060020a900460ff1615610a0657600080fd5b6003805474ff0000000000000000000000000000000000000000191660a060020a1790557f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b60065460009033600160a060020a03908116911614610a7657600080fd5b60035460a860020a900460ff1615610a8d57600080fd5b6004546733333333333333339010610aa457600080fd5b600354600160a060020a0384811691161415610abf57600080fd5b600160a060020a038316600081815260056020526040908190208490557f08859879ecaedf3ac2463b4fcd5742ce8dca94bb45814a894b62ce184e0f80479084905190815260200160405180910390a250600192915050565b600354600160a060020a031681565b60408051908101604052600481527f5456414c00000000000000000000000000000000000000000000000000000000602082015281565b60035460009060a060020a900460ff1615610b7857600080fd5b6104af8383610dd2565b60045481565b67ffffffffffffffff81565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b6000600160a060020a0383161515610c4257600080fd5b600160a060020a038416600090815260016020526040902054821115610c6757600080fd5b600160a060020a0380851660009081526002602090815260408083203390941683529290522054821115610c9a57600080fd5b600160a060020a038416600090815260016020526040902054610cc3908363ffffffff610d9b16565b600160a060020a038086166000908152600160205260408082209390935590851681522054610cf8908363ffffffff610dc316565b600160a060020a03808516600090815260016020908152604080832094909455878316825260028152838220339093168252919091522054610d40908363ffffffff610d9b16565b600160a060020a0380861660008181526002602090815260408083203386168452909152908190209390935590851691600080516020610ebc8339815191529085905190815260200160405180910390a35060019392505050565b600082821115610da757fe5b50900390565b6000818310610dbc57816104af565b5090919050565b6000828201838110156104af57fe5b6000600160a060020a0383161515610de957600080fd5b600160a060020a033316600090815260016020526040902054821115610e0e57600080fd5b600160a060020a033316600090815260016020526040902054610e37908363ffffffff610d9b16565b600160a060020a033381166000908152600160205260408082209390935590851681522054610e6c908363ffffffff610dc316565b600160a060020a038085166000818152600160205260409081902093909355913390911690600080516020610ebc8339815191529085905190815260200160405180910390a3506001929150505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820f3fdf7322af09bb59ccfd4278cb4781b4dc5d0f7c31bdb0fea4f9d0853d73ace0029

Deployed Bytecode

0x6060604052600436106101325763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663054f7d9c811461013757806306fdde031461015e578063095ea7b3146101e857806318160ddd1461020a57806323b872dd1461022f578063313ce567146102575780633be9cfb7146102805780633f4ba83a146102a1578063402914f5146102b457806340c10f19146102d35780634e71d92d146102f55780635c975abb146103085780635fdc9e0a1461031b57806362a5af3b1461032e57806370a08231146103415780638456cb59146103605780638d0f8cef146103735780638da5cb5b1461039557806395d89b41146103c4578063a9059cbb146103d7578063bfc2aa2a146103f9578063d5abeb011461040c578063dd62ed3e1461041f575b600080fd5b341561014257600080fd5b61014a610444565b604051901515815260200160405180910390f35b341561016957600080fd5b610171610454565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101ad578082015183820152602001610195565b50505050905090810190601f1680156101da5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101f357600080fd5b61014a600160a060020a036004351660243561048b565b341561021557600080fd5b61021d6104b6565b60405190815260200160405180910390f35b341561023a57600080fd5b61014a600160a060020a03600435811690602435166044356104bc565b341561026257600080fd5b61026a6104e9565b60405160ff909116815260200160405180910390f35b341561028b57600080fd5b61029f600160a060020a03600435166104ee565b005b34156102ac57600080fd5b61029f61054f565b34156102bf57600080fd5b61021d600160a060020a03600435166105ce565b34156102de57600080fd5b61014a600160a060020a0360043516602435610638565b341561030057600080fd5b61014a610781565b341561031357600080fd5b61014a610918565b341561032657600080fd5b61021d610928565b341561033957600080fd5b61029f610934565b341561034c57600080fd5b61021d600160a060020a03600435166109b9565b341561036b57600080fd5b61029f6109d4565b341561037e57600080fd5b61014a600160a060020a0360043516602435610a58565b34156103a057600080fd5b6103a8610b18565b604051600160a060020a03909116815260200160405180910390f35b34156103cf57600080fd5b610171610b27565b34156103e257600080fd5b61014a600160a060020a0360043516602435610b5e565b341561040457600080fd5b61021d610b82565b341561041757600080fd5b61021d610b88565b341561042a57600080fd5b61021d600160a060020a0360043581169060243516610b94565b60035460a860020a900460ff1681565b60408051908101604052600781527f416c76616c6f7200000000000000000000000000000000000000000000000000602082015281565b60035460009060a060020a900460ff16156104a557600080fd5b6104af8383610bbf565b9392505050565b60005481565b60035460009060a060020a900460ff16156104d657600080fd5b6104e1848484610c2b565b949350505050565b600c81565b60035433600160a060020a0390811691161461050957600080fd5b60035460a860020a900460ff161561052057600080fd5b6006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60035433600160a060020a0390811691161461056a57600080fd5b60035460a060020a900460ff16151561058257600080fd5b6003805474ff0000000000000000000000000000000000000000191690557f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6000806733333333333333336004541015156105ed5760009150610632565b600160a060020a03831660009081526005602052604090205460045461062c9190610627906733333333333333339063ffffffff610d9b16565b610dad565b90508091505b50919050565b60035460009033600160a060020a0390811691161461065657600080fd5b60035460a860020a900460ff161561066d57600080fd5b6000821161067a57600080fd5b6106af6733333333333333336106a360005467ffffffffffffffff610d9b90919063ffffffff16565b9063ffffffff610d9b16565b8211156106bb57600080fd5b6000546106ce908363ffffffff610dc316565b6000908155600160a060020a0384168152600160205260409020546106f9908363ffffffff610dc316565b600160a060020a0384166000818152600160205260409081902092909255907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968859084905190815260200160405180910390a2600160a060020a0383166000600080516020610ebc8339815191528460405190815260200160405180910390a350600192915050565b600354600090819060a060020a900460ff161561079d57600080fd5b60035460a860020a900460ff1615156107b557600080fd5b60045467333333333333333390106107cc57600080fd5b600160a060020a033316600090815260056020526040812054116107ef57600080fd5b6107f8336105ce565b600160a060020a033316600090815260056020526040902054909150610824908263ffffffff610d9b16565b600160a060020a033316600090815260056020526040902055600454610850908263ffffffff610dc316565b600455600054610866908263ffffffff610dc316565b6000908155600160a060020a033316815260016020526040902054610891908263ffffffff610dc316565b600160a060020a0333166000818152600160205260409081902092909255907f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d49083905190815260200160405180910390a2600160a060020a0333166000600080516020610ebc8339815191528360405190815260200160405180910390a3600191505090565b60035460a060020a900460ff1681565b67333333333333333381565b60035433600160a060020a0390811691161461094f57600080fd5b60035460a860020a900460ff161561096657600080fd5b6003805475ff000000000000000000000000000000000000000000191660a860020a1790557f615acbaede366d76a8b8cb2a9ada6a71495f0786513d71aa97aaf0c3910b78de60405160405180910390a1565b600160a060020a031660009081526001602052604090205490565b60035433600160a060020a039081169116146109ef57600080fd5b60035460a060020a900460ff1615610a0657600080fd5b6003805474ff0000000000000000000000000000000000000000191660a060020a1790557f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b60065460009033600160a060020a03908116911614610a7657600080fd5b60035460a860020a900460ff1615610a8d57600080fd5b6004546733333333333333339010610aa457600080fd5b600354600160a060020a0384811691161415610abf57600080fd5b600160a060020a038316600081815260056020526040908190208490557f08859879ecaedf3ac2463b4fcd5742ce8dca94bb45814a894b62ce184e0f80479084905190815260200160405180910390a250600192915050565b600354600160a060020a031681565b60408051908101604052600481527f5456414c00000000000000000000000000000000000000000000000000000000602082015281565b60035460009060a060020a900460ff1615610b7857600080fd5b6104af8383610dd2565b60045481565b67ffffffffffffffff81565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b6000600160a060020a0383161515610c4257600080fd5b600160a060020a038416600090815260016020526040902054821115610c6757600080fd5b600160a060020a0380851660009081526002602090815260408083203390941683529290522054821115610c9a57600080fd5b600160a060020a038416600090815260016020526040902054610cc3908363ffffffff610d9b16565b600160a060020a038086166000908152600160205260408082209390935590851681522054610cf8908363ffffffff610dc316565b600160a060020a03808516600090815260016020908152604080832094909455878316825260028152838220339093168252919091522054610d40908363ffffffff610d9b16565b600160a060020a0380861660008181526002602090815260408083203386168452909152908190209390935590851691600080516020610ebc8339815191529085905190815260200160405180910390a35060019392505050565b600082821115610da757fe5b50900390565b6000818310610dbc57816104af565b5090919050565b6000828201838110156104af57fe5b6000600160a060020a0383161515610de957600080fd5b600160a060020a033316600090815260016020526040902054821115610e0e57600080fd5b600160a060020a033316600090815260016020526040902054610e37908363ffffffff610d9b16565b600160a060020a033381166000908152600160205260408082209390935590851681522054610e6c908363ffffffff610dc316565b600160a060020a038085166000818152600160205260409081902093909355913390911690600080516020610ebc8339815191529085905190815260200160405180910390a3506001929150505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820f3fdf7322af09bb59ccfd4278cb4781b4dc5d0f7c31bdb0fea4f9d0853d73ace0029

Swarm Source

bzzr://f3fdf7322af09bb59ccfd4278cb4781b4dc5d0f7c31bdb0fea4f9d0853d73ace

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.