ETH Price: $3,273.04 (-1.72%)

Contract

0x5732046A883704404F284Ce41FfADd5b007FD668
 

More Info

Private Name Tags

TokenTracker

Bluzelle (BLZ) (@$0.0666)

Multichain Info

1 address found via
Transaction Hash
Method
Block
From
To
0x6c9d2e221e724f08ead6298e36e3190d1a28a2405f6b296b59b6ab7c3b5462d6 Approve(pending)2024-12-22 4:08:4227 hrs ago1734840522IN
0x5732046A...b007FD668
0 ETH(Pending)(Pending)
0xfa2badfcc2728ddf7f7850639a3cabae6bef8ae8056e56230caf29f522836485 Transfer(pending)2024-12-22 1:29:4529 hrs ago1734830985IN
0x5732046A...b007FD668
0 ETH(Pending)(Pending)
Transfer214635662024-12-23 7:01:4717 mins ago1734937307IN
0x5732046A...b007FD668
0 ETH0.000132744.09093416
Transfer214635582024-12-23 7:00:1119 mins ago1734937211IN
0x5732046A...b007FD668
0 ETH0.000152974.10700799
Transfer214635402024-12-23 6:56:3523 mins ago1734936995IN
0x5732046A...b007FD668
0 ETH0.000186373.76235885
Transfer214634072024-12-23 6:29:5949 mins ago1734935399IN
0x5732046A...b007FD668
0 ETH0.000326766.01119043
Transfer214633512024-12-23 6:18:351 hr ago1734934715IN
0x5732046A...b007FD668
0 ETH0.000134314.13944704
Transfer214633442024-12-23 6:17:111 hr ago1734934631IN
0x5732046A...b007FD668
0 ETH0.000161444.33301128
Transfer214633282024-12-23 6:13:591 hr ago1734934439IN
0x5732046A...b007FD668
0 ETH0.000371216.83033647
Transfer214633152024-12-23 6:11:231 hr ago1734934283IN
0x5732046A...b007FD668
0 ETH0.000245286.5872817
Transfer214633092024-12-23 6:10:111 hr ago1734934211IN
0x5732046A...b007FD668
0 ETH0.00028245.1961647
Transfer214633052024-12-23 6:09:231 hr ago1734934163IN
0x5732046A...b007FD668
0 ETH0.000357816.58516841
Transfer214632712024-12-23 6:02:351 hr ago1734933755IN
0x5732046A...b007FD668
0 ETH0.000128323.95465385
Transfer214632362024-12-23 5:55:351 hr ago1734933335IN
0x5732046A...b007FD668
0 ETH0.000351226.46244117
Transfer214631522024-12-23 5:38:471 hr ago1734932327IN
0x5732046A...b007FD668
0 ETH0.000151794.0753761
Transfer214630542024-12-23 5:18:472 hrs ago1734931127IN
0x5732046A...b007FD668
0 ETH0.000273925.03918266
Transfer214629682024-12-23 5:01:352 hrs ago1734930095IN
0x5732046A...b007FD668
0 ETH0.000164825.07594349
Transfer214629532024-12-23 4:58:352 hrs ago1734929915IN
0x5732046A...b007FD668
0 ETH0.000178564.79536477
Transfer214629392024-12-23 4:55:472 hrs ago1734929747IN
0x5732046A...b007FD668
0 ETH0.000247714.55890417
Approve214629332024-12-23 4:54:352 hrs ago1734929675IN
0x5732046A...b007FD668
0 ETH0.000231865.00504836
Transfer214628122024-12-23 4:30:232 hrs ago1734928223IN
0x5732046A...b007FD668
0 ETH0.000162245
Transfer214626892024-12-23 4:05:353 hrs ago1734926735IN
0x5732046A...b007FD668
0 ETH0.000150484.63592349
Transfer214626692024-12-23 4:01:353 hrs ago1734926495IN
0x5732046A...b007FD668
0 ETH0.000420357.73454273
Transfer214626482024-12-23 3:57:233 hrs ago1734926243IN
0x5732046A...b007FD668
0 ETH0.000354756.5260702
Transfer214625022024-12-23 3:28:113 hrs ago1734924491IN
0x5732046A...b007FD668
0 ETH0.0005400816.64449031
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:
BluzelleToken

Compiler Version
v0.4.19+commit.c4cbbb05

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-01-18
*/

pragma solidity ^0.4.18;

// ----------------------------------------------------------------------------
// Owned - Ownership model with 2 phase transfers
// Enuma Blockchain Platform
//
// Copyright (c) 2017 Enuma Technologies.
// https://www.enuma.io/
// ----------------------------------------------------------------------------


// Implements a simple ownership model with 2-phase transfer.
contract Owned {

   address public owner;
   address public proposedOwner;

   event OwnershipTransferInitiated(address indexed _proposedOwner);
   event OwnershipTransferCompleted(address indexed _newOwner);
   event OwnershipTransferCanceled();


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


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


   function isOwner(address _address) public view returns (bool) {
      return (_address == owner);
   }


   function initiateOwnershipTransfer(address _proposedOwner) public onlyOwner returns (bool) {
      require(_proposedOwner != address(0));
      require(_proposedOwner != address(this));
      require(_proposedOwner != owner);

      proposedOwner = _proposedOwner;

      OwnershipTransferInitiated(proposedOwner);

      return true;
   }


   function cancelOwnershipTransfer() public onlyOwner returns (bool) {
      if (proposedOwner == address(0)) {
         return true;
      }

      proposedOwner = address(0);

      OwnershipTransferCanceled();

      return true;
   }


   function completeOwnershipTransfer() public returns (bool) {
      require(msg.sender == proposedOwner);

      owner = msg.sender;
      proposedOwner = address(0);

      OwnershipTransferCompleted(owner);

      return true;
   }
}

// ----------------------------------------------------------------------------
// OpsManaged - Implements an Owner and Ops Permission Model
// Enuma Blockchain Platform
//
// Copyright (c) 2017 Enuma Technologies.
// https://www.enuma.io/
// ----------------------------------------------------------------------------



//
// Implements a security model with owner and ops.
//
contract OpsManaged is Owned {

   address public opsAddress;

   event OpsAddressUpdated(address indexed _newAddress);


   function OpsManaged() public
      Owned()
   {
   }


   modifier onlyOwnerOrOps() {
      require(isOwnerOrOps(msg.sender));
      _;
   }


   function isOps(address _address) public view returns (bool) {
      return (opsAddress != address(0) && _address == opsAddress);
   }


   function isOwnerOrOps(address _address) public view returns (bool) {
      return (isOwner(_address) || isOps(_address));
   }


   function setOpsAddress(address _newOpsAddress) public onlyOwner returns (bool) {
      require(_newOpsAddress != owner);
      require(_newOpsAddress != address(this));

      opsAddress = _newOpsAddress;

      OpsAddressUpdated(opsAddress);

      return true;
   }
}

// ----------------------------------------------------------------------------
// Math - General Math Utility Library
// Enuma Blockchain Platform
//
// Copyright (c) 2017 Enuma Technologies.
// https://www.enuma.io/
// ----------------------------------------------------------------------------


library Math {

   function add(uint256 a, uint256 b) internal pure returns (uint256) {
      uint256 r = a + b;

      require(r >= a);

      return r;
   }


   function sub(uint256 a, uint256 b) internal pure returns (uint256) {
      require(a >= b);

      return a - b;
   }


   function mul(uint256 a, uint256 b) internal pure returns (uint256) {
      uint256 r = a * b;

      require(a == 0 || r / a == b);

      return r;
   }


   function div(uint256 a, uint256 b) internal pure returns (uint256) {
      return a / b;
   }
}

// ----------------------------------------------------------------------------
// ERC20Interface - Standard ERC20 Interface Definition
// Enuma Blockchain Platform
//
// Copyright (c) 2017 Enuma Technologies.
// https://www.enuma.io/
// ----------------------------------------------------------------------------

// ----------------------------------------------------------------------------
// Based on the final ERC20 specification at:
// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md
// ----------------------------------------------------------------------------
contract ERC20Interface {

   event Transfer(address indexed _from, address indexed _to, uint256 _value);
   event Approval(address indexed _owner, address indexed _spender, uint256 _value);

   function name() public view returns (string);
   function symbol() public view returns (string);
   function decimals() public view returns (uint8);
   function totalSupply() public view returns (uint256);

   function balanceOf(address _owner) public view returns (uint256 balance);
   function allowance(address _owner, address _spender) public view returns (uint256 remaining);

   function transfer(address _to, uint256 _value) public returns (bool success);
   function transferFrom(address _from, address _to, uint256 _value) public returns (bool success);
   function approve(address _spender, uint256 _value) public returns (bool success);
}

// ----------------------------------------------------------------------------
// ERC20Token - Standard ERC20 Implementation
// Enuma Blockchain Platform
//
// Copyright (c) 2017 Enuma Technologies.
// https://www.enuma.io/
// ----------------------------------------------------------------------------


contract ERC20Token is ERC20Interface {

   using Math for uint256;

   string  private tokenName;
   string  private tokenSymbol;
   uint8   private tokenDecimals;
   uint256 internal tokenTotalSupply;

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


   function ERC20Token(string _name, string _symbol, uint8 _decimals, uint256 _totalSupply, address _initialTokenHolder) public {
      tokenName = _name;
      tokenSymbol = _symbol;
      tokenDecimals = _decimals;
      tokenTotalSupply = _totalSupply;

      // The initial balance of tokens is assigned to the given token holder address.
      balances[_initialTokenHolder] = _totalSupply;

      // Per EIP20, the constructor should fire a Transfer event if tokens are assigned to an account.
      Transfer(0x0, _initialTokenHolder, _totalSupply);
   }


   function name() public view returns (string) {
      return tokenName;
   }


   function symbol() public view returns (string) {
      return tokenSymbol;
   }


   function decimals() public view returns (uint8) {
      return tokenDecimals;
   }


   function totalSupply() public view returns (uint256) {
      return tokenTotalSupply;
   }


   function balanceOf(address _owner) public view returns (uint256 balance) {
      return balances[_owner];
   }


   function allowance(address _owner, address _spender) public view returns (uint256 remaining) {
      return allowed[_owner][_spender];
   }


   function transfer(address _to, uint256 _value) public returns (bool success) {
      balances[msg.sender] = balances[msg.sender].sub(_value);
      balances[_to] = balances[_to].add(_value);

      Transfer(msg.sender, _to, _value);

      return true;
   }


   function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
      balances[_from] = balances[_from].sub(_value);
      allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
      balances[_to] = balances[_to].add(_value);

      Transfer(_from, _to, _value);

      return true;
   }


   function approve(address _spender, uint256 _value) public returns (bool success) {
      allowed[msg.sender][_spender] = _value;

      Approval(msg.sender, _spender, _value);

      return true;
   }
}

// ----------------------------------------------------------------------------
// Finalizable - Basic implementation of the finalization pattern
// Enuma Blockchain Platform
//
// Copyright (c) 2017 Enuma Technologies.
// https://www.enuma.io/
// ----------------------------------------------------------------------------



contract Finalizable is Owned {

   bool public finalized;

   event Finalized();


   function Finalizable() public
      Owned()
   {
      finalized = false;
   }


   function finalize() public onlyOwner returns (bool) {
      require(!finalized);

      finalized = true;

      Finalized();

      return true;
   }
}

// ----------------------------------------------------------------------------
// FinalizableToken - Extension to ERC20Token with ops and finalization
// Enuma Blockchain Platform
//
// Copyright (c) 2017 Enuma Technologies.
// https://www.enuma.io/
// ----------------------------------------------------------------------------



//
// ERC20 token with the following additions:
//    1. Owner/Ops Ownership
//    2. Finalization
//
contract FinalizableToken is ERC20Token, OpsManaged, Finalizable {

   using Math for uint256;


   // The constructor will assign the initial token supply to the owner (msg.sender).
   function FinalizableToken(string _name, string _symbol, uint8 _decimals, uint256 _totalSupply) public
      ERC20Token(_name, _symbol, _decimals, _totalSupply, msg.sender)
      OpsManaged()
      Finalizable()
   {
   }


   function transfer(address _to, uint256 _value) public returns (bool success) {
      validateTransfer(msg.sender, _to);

      return super.transfer(_to, _value);
   }


   function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
      validateTransfer(msg.sender, _to);

      return super.transferFrom(_from, _to, _value);
   }


   function validateTransfer(address _sender, address _to) private view {
      require(_to != address(0));

      // Once the token is finalized, everybody can transfer tokens.
      if (finalized) {
         return;
      }

      if (isOwner(_to)) {
         return;
      }

      // Before the token is finalized, only owner and ops are allowed to initiate transfers.
      // This allows them to move tokens while the sale is still ongoing for example.
      require(isOwnerOrOps(_sender));
   }
}


// ----------------------------------------------------------------------------
// BluzelleTokenConfig - Token Contract Configuration
//
// Copyright (c) 2017 Bluzelle Networks Pte Ltd.
// http://www.bluzelle.com/
//
// The MIT Licence.
// ----------------------------------------------------------------------------


contract BluzelleTokenConfig {

    string  public constant TOKEN_SYMBOL      = "BLZ";
    string  public constant TOKEN_NAME        = "Bluzelle Token";
    uint8   public constant TOKEN_DECIMALS    = 18;

    uint256 public constant DECIMALSFACTOR    = 10**uint256(TOKEN_DECIMALS);
    uint256 public constant TOKEN_TOTALSUPPLY = 500000000 * DECIMALSFACTOR;
}



// ----------------------------------------------------------------------------
// BluzelleToken - ERC20 Compatible Token
//
// Copyright (c) 2017 Bluzelle Networks Pte Ltd.
// http://www.bluzelle.com/
//
// The MIT Licence.
// ----------------------------------------------------------------------------



// ----------------------------------------------------------------------------
// The Bluzelle token is a standard ERC20 token with the addition of a few
// concepts such as:
//
// 1. Finalization
// Tokens can only be transfered by contributors after the contract has
// been finalized.
//
// 2. Ops Managed Model
// In addition to owner, there is a ops role which is used during the sale,
// by the sale contract, in order to transfer tokens.
// ----------------------------------------------------------------------------
contract BluzelleToken is FinalizableToken, BluzelleTokenConfig {


   event TokensReclaimed(uint256 _amount);


   function BluzelleToken() public
      FinalizableToken(TOKEN_NAME, TOKEN_SYMBOL, TOKEN_DECIMALS, TOKEN_TOTALSUPPLY)
   {
   }


   // Allows the owner to reclaim tokens that have been sent to the token address itself.
   function reclaimTokens() public onlyOwner returns (bool) {

      address account = address(this);
      uint256 amount  = balanceOf(account);

      if (amount == 0) {
         return false;
      }

      balances[account] = balances[account].sub(amount);
      balances[owner] = balances[owner].add(amount);

      Transfer(account, owner, amount);

      TokensReclaimed(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":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_NAME","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"cancelOwnershipTransfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_SYMBOL","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"reclaimTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"finalize","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_DECIMALS","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOpsAddress","type":"address"}],"name":"setOpsAddress","outputs":[{"name":"","type":"bool"}],"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":true,"inputs":[],"name":"TOKEN_TOTALSUPPLY","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"DECIMALSFACTOR","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"opsAddress","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":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"isOwnerOrOps","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"finalized","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_proposedOwner","type":"address"}],"name":"initiateOwnershipTransfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"proposedOwner","outputs":[{"name":"","type":"address"}],"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"},{"constant":false,"inputs":[],"name":"completeOwnershipTransfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"isOps","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_amount","type":"uint256"}],"name":"TokensReclaimed","type":"event"},{"anonymous":false,"inputs":[],"name":"Finalized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_newAddress","type":"address"}],"name":"OpsAddressUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_proposedOwner","type":"address"}],"name":"OwnershipTransferInitiated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_newOwner","type":"address"}],"name":"OwnershipTransferCompleted","type":"event"},{"anonymous":false,"inputs":[],"name":"OwnershipTransferCanceled","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"},{"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"}]

6060604052341561000f57600080fd5b604080519081016040908152600e82527f426c757a656c6c6520546f6b656e00000000000000000000000000000000000060208301528051908101604052600381527f424c5a0000000000000000000000000000000000000000000000000000000000602082015260126b019d971e4fe8401e740000008383838333600085805161009e929160200190610150565b5060018480516100b2929160200190610150565b506002805460ff191660ff85161790556003829055600160a060020a0381166000818152600460205260408082208590557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a3505060068054600160a060020a03191633600160a060020a031617905550506008805460a060020a60ff0219169055506101eb9350505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061019157805160ff19168380011785556101be565b828001600101855582156101be579182015b828111156101be5782518255916020019190600101906101a3565b506101ca9291506101ce565b5090565b6101e891905b808211156101ca57600081556001016101d4565b90565b610ee080620001fb6000396000f30060606040526004361061015e5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610163578063095ea7b3146101ed57806318160ddd14610223578063188214001461024857806323452b9c1461025b57806323b872dd1461026e5780632a905318146102965780632f54bf6e146102a9578063313ce567146102c85780633c54caa5146102f15780634bb278f3146103045780635b7f415c14610317578063707789c51461032a57806370a082311461034957806374c950fb146103685780638bc04eb71461037b5780638da5cb5b1461038e5780638ea64376146103bd57806395d89b41146103d0578063a9059cbb146103e3578063adcf59ee14610405578063b3f05b9714610424578063c0b6f56114610437578063d153b60c14610456578063dd62ed3e14610469578063e71a78111461048e578063ef326c6d146104a1575b600080fd5b341561016e57600080fd5b6101766104c0565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101b257808201518382015260200161019a565b50505050905090810190601f1680156101df5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101f857600080fd5b61020f600160a060020a0360043516602435610569565b604051901515815260200160405180910390f35b341561022e57600080fd5b6102366105d5565b60405190815260200160405180910390f35b341561025357600080fd5b6101766105db565b341561026657600080fd5b61020f610612565b341561027957600080fd5b61020f600160a060020a0360043581169060243516604435610694565b34156102a157600080fd5b6101766106b3565b34156102b457600080fd5b61020f600160a060020a03600435166106ea565b34156102d357600080fd5b6102db6106fe565b60405160ff909116815260200160405180910390f35b34156102fc57600080fd5b61020f610707565b341561030f57600080fd5b61020f61083e565b341561032257600080fd5b6102db6108c4565b341561033557600080fd5b61020f600160a060020a03600435166108c9565b341561035457600080fd5b610236600160a060020a0360043516610981565b341561037357600080fd5b61023661099c565b341561038657600080fd5b6102366109ac565b341561039957600080fd5b6103a16109b8565b604051600160a060020a03909116815260200160405180910390f35b34156103c857600080fd5b6103a16109c7565b34156103db57600080fd5b6101766109d6565b34156103ee57600080fd5b61020f600160a060020a0360043516602435610a49565b341561041057600080fd5b61020f600160a060020a0360043516610a66565b341561042f57600080fd5b61020f610a86565b341561044257600080fd5b61020f600160a060020a0360043516610a96565b341561046157600080fd5b6103a1610b63565b341561047457600080fd5b610236600160a060020a0360043581169060243516610b72565b341561049957600080fd5b61020f610b9d565b34156104ac57600080fd5b61020f600160a060020a0360043516610c25565b6104c8610ea2565b60008054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561055e5780601f106105335761010080835404028352916020019161055e565b820191906000526020600020905b81548152906001019060200180831161054157829003601f168201915b505050505090505b90565b600160a060020a03338116600081815260056020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60035490565b60408051908101604052600e81527f426c757a656c6c6520546f6b656e000000000000000000000000000000000000602082015281565b600061061d336106ea565b151560011461062b57600080fd5b600754600160a060020a0316151561064557506001610566565b6007805473ffffffffffffffffffffffffffffffffffffffff191690557f670699162ea7ba4de638b5a57c2148aed9ee8bd69740a5e6a7db727e3886c88b60405160405180910390a150600190565b60006106a03384610c52565b6106ab848484610ca9565b949350505050565b60408051908101604052600381527f424c5a0000000000000000000000000000000000000000000000000000000000602082015281565b600654600160a060020a0390811691161490565b60025460ff1690565b6000806000610715336106ea565b151560011461072357600080fd5b30915061072f82610981565b90508015156107415760009250610839565b600160a060020a03821660009081526004602052604090205461076a908263ffffffff610dbc16565b600160a060020a0380841660009081526004602052604080822093909355600654909116815220546107a2908263ffffffff610dd116565b60068054600160a060020a0390811660009081526004602052604090819020939093559054811691908416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9084905190815260200160405180910390a37fbce3cc672456937708767d1642a17cacb1962753bd5cff46c8dbd377906a6b4b8160405190815260200160405180910390a1600192505b505090565b6000610849336106ea565b151560011461085757600080fd5b60085460a060020a900460ff161561086e57600080fd5b6008805474ff0000000000000000000000000000000000000000191660a060020a1790557f6823b073d48d6e3a7d385eeb601452d680e74bb46afe3255a7d778f3a9b1768160405160405180910390a150600190565b601281565b60006108d4336106ea565b15156001146108e257600080fd5b600654600160a060020a03838116911614156108fd57600080fd5b30600160a060020a031682600160a060020a03161415151561091e57600080fd5b6008805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038481169190911791829055167f06171a5d6c06d67b0cfa679c07db377a27d1170797663fd98d395229d8c3650860405160405180910390a2506001919050565b600160a060020a031660009081526004602052604090205490565b6b019d971e4fe8401e7400000081565b670de0b6b3a764000081565b600654600160a060020a031681565b600854600160a060020a031681565b6109de610ea2565b60018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561055e5780601f106105335761010080835404028352916020019161055e565b6000610a553384610c52565b610a5f8383610de3565b9392505050565b6000610a71826106ea565b80610a805750610a8082610c25565b92915050565b60085460a060020a900460ff1681565b6000610aa1336106ea565b1515600114610aaf57600080fd5b600160a060020a0382161515610ac457600080fd5b30600160a060020a031682600160a060020a031614151515610ae557600080fd5b600654600160a060020a0383811691161415610b0057600080fd5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038481169190911791829055167f20f5afdf40bf7b43c89031a5d4369a30b159e512d164aa46124bcb706b4a1caf60405160405180910390a2506001919050565b600754600160a060020a031681565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205490565b60075460009033600160a060020a03908116911614610bbb57600080fd5b60068054600160a060020a0333811673ffffffffffffffffffffffffffffffffffffffff19928316179283905560078054909216909155167f624adc4c72536289dd9d5439ccdeccd8923cb9af95fb626b21935447c77b840760405160405180910390a250600190565b600854600090600160a060020a031615801590610a80575050600854600160a060020a0390811691161490565b600160a060020a0381161515610c6757600080fd5b60085460a060020a900460ff1615610c7e57610ca5565b610c87816106ea565b15610c9157610ca5565b610c9a82610a66565b1515610ca557600080fd5b5050565b600160a060020a038316600090815260046020526040812054610cd2908363ffffffff610dbc16565b600160a060020a0380861660009081526004602090815260408083209490945560058152838220339093168252919091522054610d15908363ffffffff610dbc16565b600160a060020a0380861660009081526005602090815260408083203385168452825280832094909455918616815260049091522054610d5b908363ffffffff610dd116565b600160a060020a03808516600081815260046020526040908190209390935591908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060019392505050565b600081831015610dcb57600080fd5b50900390565b600082820183811015610a5f57600080fd5b600160a060020a033316600090815260046020526040812054610e0c908363ffffffff610dbc16565b600160a060020a033381166000908152600460205260408082209390935590851681522054610e41908363ffffffff610dd116565b600160a060020a0380851660008181526004602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b602060405190810160405260008152905600a165627a7a72305820bc8b6478ee59585031c79969344b9a113852e7a98d20f2fba1d29901ecd0d4e50029

Deployed Bytecode

0x60606040526004361061015e5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610163578063095ea7b3146101ed57806318160ddd14610223578063188214001461024857806323452b9c1461025b57806323b872dd1461026e5780632a905318146102965780632f54bf6e146102a9578063313ce567146102c85780633c54caa5146102f15780634bb278f3146103045780635b7f415c14610317578063707789c51461032a57806370a082311461034957806374c950fb146103685780638bc04eb71461037b5780638da5cb5b1461038e5780638ea64376146103bd57806395d89b41146103d0578063a9059cbb146103e3578063adcf59ee14610405578063b3f05b9714610424578063c0b6f56114610437578063d153b60c14610456578063dd62ed3e14610469578063e71a78111461048e578063ef326c6d146104a1575b600080fd5b341561016e57600080fd5b6101766104c0565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101b257808201518382015260200161019a565b50505050905090810190601f1680156101df5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101f857600080fd5b61020f600160a060020a0360043516602435610569565b604051901515815260200160405180910390f35b341561022e57600080fd5b6102366105d5565b60405190815260200160405180910390f35b341561025357600080fd5b6101766105db565b341561026657600080fd5b61020f610612565b341561027957600080fd5b61020f600160a060020a0360043581169060243516604435610694565b34156102a157600080fd5b6101766106b3565b34156102b457600080fd5b61020f600160a060020a03600435166106ea565b34156102d357600080fd5b6102db6106fe565b60405160ff909116815260200160405180910390f35b34156102fc57600080fd5b61020f610707565b341561030f57600080fd5b61020f61083e565b341561032257600080fd5b6102db6108c4565b341561033557600080fd5b61020f600160a060020a03600435166108c9565b341561035457600080fd5b610236600160a060020a0360043516610981565b341561037357600080fd5b61023661099c565b341561038657600080fd5b6102366109ac565b341561039957600080fd5b6103a16109b8565b604051600160a060020a03909116815260200160405180910390f35b34156103c857600080fd5b6103a16109c7565b34156103db57600080fd5b6101766109d6565b34156103ee57600080fd5b61020f600160a060020a0360043516602435610a49565b341561041057600080fd5b61020f600160a060020a0360043516610a66565b341561042f57600080fd5b61020f610a86565b341561044257600080fd5b61020f600160a060020a0360043516610a96565b341561046157600080fd5b6103a1610b63565b341561047457600080fd5b610236600160a060020a0360043581169060243516610b72565b341561049957600080fd5b61020f610b9d565b34156104ac57600080fd5b61020f600160a060020a0360043516610c25565b6104c8610ea2565b60008054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561055e5780601f106105335761010080835404028352916020019161055e565b820191906000526020600020905b81548152906001019060200180831161054157829003601f168201915b505050505090505b90565b600160a060020a03338116600081815260056020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60035490565b60408051908101604052600e81527f426c757a656c6c6520546f6b656e000000000000000000000000000000000000602082015281565b600061061d336106ea565b151560011461062b57600080fd5b600754600160a060020a0316151561064557506001610566565b6007805473ffffffffffffffffffffffffffffffffffffffff191690557f670699162ea7ba4de638b5a57c2148aed9ee8bd69740a5e6a7db727e3886c88b60405160405180910390a150600190565b60006106a03384610c52565b6106ab848484610ca9565b949350505050565b60408051908101604052600381527f424c5a0000000000000000000000000000000000000000000000000000000000602082015281565b600654600160a060020a0390811691161490565b60025460ff1690565b6000806000610715336106ea565b151560011461072357600080fd5b30915061072f82610981565b90508015156107415760009250610839565b600160a060020a03821660009081526004602052604090205461076a908263ffffffff610dbc16565b600160a060020a0380841660009081526004602052604080822093909355600654909116815220546107a2908263ffffffff610dd116565b60068054600160a060020a0390811660009081526004602052604090819020939093559054811691908416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9084905190815260200160405180910390a37fbce3cc672456937708767d1642a17cacb1962753bd5cff46c8dbd377906a6b4b8160405190815260200160405180910390a1600192505b505090565b6000610849336106ea565b151560011461085757600080fd5b60085460a060020a900460ff161561086e57600080fd5b6008805474ff0000000000000000000000000000000000000000191660a060020a1790557f6823b073d48d6e3a7d385eeb601452d680e74bb46afe3255a7d778f3a9b1768160405160405180910390a150600190565b601281565b60006108d4336106ea565b15156001146108e257600080fd5b600654600160a060020a03838116911614156108fd57600080fd5b30600160a060020a031682600160a060020a03161415151561091e57600080fd5b6008805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038481169190911791829055167f06171a5d6c06d67b0cfa679c07db377a27d1170797663fd98d395229d8c3650860405160405180910390a2506001919050565b600160a060020a031660009081526004602052604090205490565b6b019d971e4fe8401e7400000081565b670de0b6b3a764000081565b600654600160a060020a031681565b600854600160a060020a031681565b6109de610ea2565b60018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561055e5780601f106105335761010080835404028352916020019161055e565b6000610a553384610c52565b610a5f8383610de3565b9392505050565b6000610a71826106ea565b80610a805750610a8082610c25565b92915050565b60085460a060020a900460ff1681565b6000610aa1336106ea565b1515600114610aaf57600080fd5b600160a060020a0382161515610ac457600080fd5b30600160a060020a031682600160a060020a031614151515610ae557600080fd5b600654600160a060020a0383811691161415610b0057600080fd5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038481169190911791829055167f20f5afdf40bf7b43c89031a5d4369a30b159e512d164aa46124bcb706b4a1caf60405160405180910390a2506001919050565b600754600160a060020a031681565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205490565b60075460009033600160a060020a03908116911614610bbb57600080fd5b60068054600160a060020a0333811673ffffffffffffffffffffffffffffffffffffffff19928316179283905560078054909216909155167f624adc4c72536289dd9d5439ccdeccd8923cb9af95fb626b21935447c77b840760405160405180910390a250600190565b600854600090600160a060020a031615801590610a80575050600854600160a060020a0390811691161490565b600160a060020a0381161515610c6757600080fd5b60085460a060020a900460ff1615610c7e57610ca5565b610c87816106ea565b15610c9157610ca5565b610c9a82610a66565b1515610ca557600080fd5b5050565b600160a060020a038316600090815260046020526040812054610cd2908363ffffffff610dbc16565b600160a060020a0380861660009081526004602090815260408083209490945560058152838220339093168252919091522054610d15908363ffffffff610dbc16565b600160a060020a0380861660009081526005602090815260408083203385168452825280832094909455918616815260049091522054610d5b908363ffffffff610dd116565b600160a060020a03808516600081815260046020526040908190209390935591908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060019392505050565b600081831015610dcb57600080fd5b50900390565b600082820183811015610a5f57600080fd5b600160a060020a033316600090815260046020526040812054610e0c908363ffffffff610dbc16565b600160a060020a033381166000908152600460205260408082209390935590851681522054610e41908363ffffffff610dd116565b600160a060020a0380851660008181526004602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b602060405190810160405260008152905600a165627a7a72305820bc8b6478ee59585031c79969344b9a113852e7a98d20f2fba1d29901ecd0d4e50029

Swarm Source

bzzr://bc8b6478ee59585031c79969344b9a113852e7a98d20f2fba1d29901ecd0d4e5

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.