Latest 25 transactions from a total of 41376 transactions

TxHash Age From To Value [TxFee]
0xf5241ff0648c063f31ad8111801c510b0a81df4caa8a7f2a1571562a6221b3954 mins ago0x4edbc97446dea5606c303bc60b9b056b69161240  IN   MoedaToken0 Ether0.00008900445
0x5f847e30df0a9e23ec1ea8f5b141b091d0cb4ea5ca8694df00d5c014c6c318c924 mins ago0x337f74f8e386c33b9c4bd2ad9d04d4e2ec717418  IN   MoedaToken0 Ether0.000149263462
0xbd02e619123a9cdc0235d4d4040cefeee5c9eebd575c12d265c0f16053219c2a1 hr 8 mins agoBinance_1  IN   MoedaToken0 Ether0.00149
0x0cd13ca1eeeae7bb68ea1ee2d58eb520ef83a3cea8e612e093e36953a37d89091 hr 23 mins agoBinance_1  IN   MoedaToken0 Ether0.00149256
0x0cda92a1871788207f6b749c1753cb42ed7facfd07004d4dadd2bb39fc5170a22 hrs 42 mins agoBinance_1  IN   MoedaToken0 Ether0.00149256
0xf67b1fd911e4e1d2d68bb2473f1f78a3fdf2efa39cd8453685a44e101a233c162 hrs 50 mins agoBinance_4  IN   MoedaToken0 Ether0.00149256
0xdb534ee4d59dbc2841492e3cc376cb7274fc32103f8792b82b4b7a9557eb8fd23 hrs 7 mins ago0xb45cec59e139462ff25b9d9eb01276a54c28925a  IN   MoedaToken0 Ether0.00044628
0x5f297491014561a63be8b8d1badc0515eba04e6fb3daffee7490587615e16c6d3 hrs 16 mins agoBinance_2  IN   MoedaToken0 Ether0.00209
0x3cee14cfa780b6f8493f6879c5f6f683df7f617e06ab486d8fe2b9867045e8613 hrs 24 mins agoGate.io_1  IN   MoedaToken0 Ether0.00050639952
0xb3805995ee7e433bf8cfde93bf5142b59d4d7a042e4dd98c616c3911d79521143 hrs 26 mins agoBinance_1  IN   MoedaToken0 Ether0.00149256
0x1d7f9a18ae93bdaaca9ea4df5b5c14a3277c79d5b24ab64930c4e20293bb53e93 hrs 32 mins agoBinance_1  IN   MoedaToken0 Ether0.00209
0xab6aa6db6994fecd201d22d80f9a32fcf1137e9d0d98427f58008dfaf666667f3 hrs 32 mins agoBinance_4  IN   MoedaToken0 Ether0.00149
0x1b0861c1b0f32cf6024307e00bd962bca72a4017af548af6d80921b498cb2a813 hrs 38 mins agoBinance_2  IN   MoedaToken0 Ether0.00209
0xc8712ffcffe4c3818b260a8f0815ad2faf17288a6a792fa6c4981f3995f7e3bb3 hrs 38 mins agoBinance_2  IN   MoedaToken0 Ether0.00209256
0xc72970b64b918ac1b1f84d100675ad1ed124edc67f0c7953a3caea4cb0c820cc3 hrs 38 mins agoBinance_3  IN   MoedaToken0 Ether0.00149256
0xa97d284c6a7b90ef50ce9ed1eed65b0e864552e533be7183ad5c5e0d9a0e36d43 hrs 39 mins agoBinance_1  IN   MoedaToken0 Ether0.00209
0x2277981182f3579d3ece5320e90f5541e5391f52bb2b304c2787629c26cf3f3f3 hrs 40 mins agoBinance_2  IN   MoedaToken0 Ether0.00209
0xdfb6dedaf31050af8df57f64d1114c4180ede3c7aff901f418f11dfb2559722b5 hrs 31 mins agoBinance_3  IN   MoedaToken0 Ether0.00209
0xfbd64f73262398f5196ec46bd6c46304014dd2254a5289353f8dbe87d0e62eab6 hrs 36 mins agoGate.io_1  IN   MoedaToken0 Ether0.0004603632
0x528e3ffbb4423ce214280f42acf5d92e7be0efb518d341ff401439238eefe89d8 hrs 5 mins ago0x78dd7f1c1d9b1ca3c59bd2710f15be1ccc075aab  IN   MoedaToken0 Ether0.00339625
0xe5db9c0ff1f3cede618a2099f3f8460917585ed39ad51779749cc25d8bc9284713 hrs 27 mins agoBinance_2  IN   MoedaToken0 Ether0.00209256
0x57fc6799172a365d75baeb442e613fa93435c849512f0405ebbcb55ef75527c815 hrs 27 mins ago0xb45cec59e139462ff25b9d9eb01276a54c28925a  IN   MoedaToken0 Ether0.000445
0x9f1827362505c0f6512c6629d4b21d55fdc1bb923fa09d2f506d2f1af8f31b8e15 hrs 38 mins agoGate.io_1  IN   MoedaToken0 Ether0.0004598
0xf12f3c2019b2c3013ab24fb38c27954f821930188d1d512a2e6e842e827852e116 hrs 15 mins ago0x030e37ddd7df1b43db172b23916d523f1599c6cb  IN   MoedaToken0 Ether0.001529874
0xd5923e95b72d04fffbb30ae02e1e0a7876dd9c88757292816b72c02f3a3c7a9519 hrs 2 mins ago0x337f74f8e386c33b9c4bd2ad9d04d4e2ec717418  IN   MoedaToken0 Ether0.000089260462
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
View All
ParentTxHash Block Age From To Value
Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), NestedArrayFunctionCallDecoder (medium-severity), ZeroFunctionSelector (very low-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: MoedaToken
Compiler Text: v0.4.16+commit.d7661dd9
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.15;

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

  function div(uint256 a, uint256 b) internal constant 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 constant returns (uint256) {
    assert(b <= a);
    return a - b;
  }

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

/**
 * @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() {
    owner = msg.sender;
  }


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


  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */
  function transferOwnership(address newOwner) onlyOwner {
    if (newOwner != address(0)) {
      owner = newOwner;
    }
  }

}

/**
 * @title Contracts that should not own Tokens
 * @author Remco Bloemen <[email protected]π.com>
 * @dev This blocks incoming ERC23 tokens to prevent accidental loss of tokens.
 * Should tokens (any ERC20Basic compatible) end up in the contract, it allows the
 * owner to reclaim the tokens.
 */
contract HasNoTokens is Ownable {

 /**
  * @dev Reject all ERC23 compatible tokens
  * @param from_ address The address that is transferring the tokens
  * @param value_ uint256 the amount of the specified token
  * @param data_ Bytes The data passed from the caller.
  */
  function tokenFallback(address from_, uint256 value_, bytes data_) external {
    revert();
  }

  /**
   * @dev Reclaim all ERC20Basic compatible tokens
   * @param tokenAddr address The address of the token contract
   */
  function reclaimToken(address tokenAddr) external onlyOwner {
    ERC20Basic tokenInst = ERC20Basic(tokenAddr);
    uint256 balance = tokenInst.balanceOf(this);
    tokenInst.transfer(owner, balance);
  }
}

contract ERC20Basic {
  uint256 public totalSupply;
  function balanceOf(address who) constant returns (uint256);
  function transfer(address to, uint256 value) returns (bool);
  event Transfer(address indexed from, address indexed to, uint256 value);
}

contract ERC20 is ERC20Basic {
  function allowance(address owner, address spender) constant returns (uint256);
  function transferFrom(address from, address to, uint256 value) returns (bool);
  function approve(address spender, uint256 value) 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) 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) returns (bool) {
    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) constant returns (uint256 balance) {
    return balances[_owner];
  }

}

contract StandardToken is ERC20, BasicToken {

  mapping (address => mapping (address => uint256)) 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 amout of tokens to be transfered
   */
  function transferFrom(address _from, address _to, uint256 _value) returns (bool) {
    var _allowance = allowed[_from][msg.sender];

    // Check is not needed because sub(_allowance, _value) will already throw if this condition is not met
    // require (_value <= _allowance);

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

  /**
   * @dev Aprove the passed address to spend the specified amount of tokens on behalf of msg.sender.
   * @param _spender The address which will spend the funds.
   * @param _value The amount of tokens to be spent.
   */
  function approve(address _spender, uint256 _value) returns (bool) {

    // To change the approve amount you first have to reduce the addresses`
    //  allowance to zero by calling `approve(_spender, 0)` if it is not
    //  already 0 to mitigate the race condition described here:
    //  https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
    require((_value == 0) || (allowed[msg.sender][_spender] == 0));

    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 specifing the amount of tokens still avaible for the spender.
   */
  function allowance(address _owner, address _spender) constant returns (uint256 remaining) {
    return allowed[_owner][_spender];
  }

}

contract MigrationAgent {
  /*
    MigrationAgent contracts need to have this exact constant!
    it is intended to be identify the contract, since there is no way to tell
    if a contract is indeed an instance of the right type of contract otherwise
  */
  uint256 public constant MIGRATE_MAGIC_ID = 0x6e538c0d750418aae4131a91e5a20363;

  /*
    A contract implementing this interface is assumed to implement the neccessary
    access controls. E.g;
    * token being migrated FROM is the only one allowed to call migrateTo
    * token being migrated TO has a minting function that can only be called by
      the migration agent
  */
  function migrateTo(address beneficiary, uint256 amount) external;
}

/// @title Moeda Loyalty Points token contract
/// @author Erik Mossberg
contract MoedaToken is StandardToken, Ownable, HasNoTokens {
  string public constant name = "Moeda Loyalty Points";
  string public constant symbol = "MDA";
  uint8 public constant decimals = 18;

  // The migration agent is used to be to allow opt-in transfer of tokens to a
  // new token contract. This could be set sometime in the future if additional
  // functionality needs be added.
  MigrationAgent public migrationAgent;

  // used to ensure that a given address is an instance of a particular contract
  uint256 constant AGENT_MAGIC_ID = 0x6e538c0d750418aae4131a91e5a20363;
  uint256 public totalMigrated;

  uint constant TOKEN_MULTIPLIER = 10**uint256(decimals);
  // don't allow creation of more than this number of tokens
  uint public constant MAX_TOKENS = 20000000 * TOKEN_MULTIPLIER;

  // transfers are locked during minting
  bool public mintingFinished;

  // Log when tokens are migrated to a new contract
  event LogMigration(address indexed spender, address grantee, uint256 amount);
  event LogCreation(address indexed donor, uint256 tokensReceived);
  event LogDestruction(address indexed sender, uint256 amount);
  event LogMintingFinished();

  modifier afterMinting() {
    require(mintingFinished);
    _;
  }

  modifier canTransfer(address recipient) {
    require(mintingFinished && recipient != address(0));
    _;
  }

  modifier canMint() {
    require(!mintingFinished);
    _;
  }

  /// @dev Create moeda token and assign partner allocations
  function MoedaToken() {
    // manual distribution
    issueTokens();
  }

  function issueTokens() internal {
    mint(0x2f37be861699b6127881693010596B4bDD146f5e, MAX_TOKENS);
  }

  /// @dev start a migration to a new contract
  /// @param agent address of contract handling migration
  function setMigrationAgent(address agent) external onlyOwner afterMinting {
    require(agent != address(0) && isContract(agent));
    require(MigrationAgent(agent).MIGRATE_MAGIC_ID() == AGENT_MAGIC_ID);
    require(migrationAgent == address(0));
    migrationAgent = MigrationAgent(agent);
  }

  function isContract(address addr) internal constant returns (bool) {
    uint256 size;
    assembly { size := extcodesize(addr) }
    return size > 0;
  }

  /// @dev move a given amount of tokens a new contract (destroying them here)
  /// @param beneficiary address that will get tokens in new contract
  /// @param amount the number of tokens to migrate
  function migrate(address beneficiary, uint256 amount) external afterMinting {
    require(beneficiary != address(0));
    require(migrationAgent != address(0));
    require(amount > 0);

    // safemath subtraction will throw if balance < amount
    balances[msg.sender] = balances[msg.sender].sub(amount);
    totalSupply = totalSupply.sub(amount);
    totalMigrated = totalMigrated.add(amount);
    migrationAgent.migrateTo(beneficiary, amount);

    LogMigration(msg.sender, beneficiary, amount);
  }

  /// @dev destroy a given amount of tokens owned by sender
  // anyone that owns tokens can destroy them, reducing the total supply
  function burn(uint256 amount) external {
    require(amount > 0);
    balances[msg.sender] = balances[msg.sender].sub(amount);
    totalSupply = totalSupply.sub(amount);

    LogDestruction(msg.sender, amount);
  }

  /// @dev unlock transfers
  function unlock() external onlyOwner canMint {
    mintingFinished = true;
    LogMintingFinished();
  }

  /// @dev create tokens, only usable before minting has ended
  /// @param recipient address that will receive the created tokens
  /// @param amount the number of tokens to create
  function mint(address recipient, uint256 amount) internal canMint {
    require(amount > 0);
    require(totalSupply.add(amount) <= MAX_TOKENS);

    balances[recipient] = balances[recipient].add(amount);
    totalSupply = totalSupply.add(amount);

    LogCreation(recipient, amount);
  }

  // only allowed after minting has ended
  // note: transfers to null address not allowed, use burn(value)
  function transfer(address to, uint _value)
  public canTransfer(to) returns (bool)
  {
    return super.transfer(to, _value);
  }

  // only allowed after minting has ended
  // note: transfers to null address not allowed, use burn(value)
  function transferFrom(address from, address to, uint value)
  public canTransfer(to) returns (bool)
  {
    return super.transferFrom(from, to, value);
  }
}

    Contract ABI  
[{"constant":true,"inputs":[],"name":"mintingFinished","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":false,"inputs":[{"name":"tokenAddr","type":"address"}],"name":"reclaimToken","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":"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":"amount","type":"uint256"}],"name":"burn","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":"agent","type":"address"}],"name":"setMigrationAgent","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"migrationAgent","outputs":[{"name":"","type":"address"}],"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":"totalMigrated","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unlock","outputs":[],"payable":false,"stateMutability":"nonpayable","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":false,"inputs":[{"name":"beneficiary","type":"address"},{"name":"amount","type":"uint256"}],"name":"migrate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"from_","type":"address"},{"name":"value_","type":"uint256"},{"name":"data_","type":"bytes"}],"name":"tokenFallback","outputs":[],"payable":false,"stateMutability":"nonpayable","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":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"MAX_TOKENS","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"grantee","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"LogMigration","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"donor","type":"address"},{"indexed":false,"name":"tokensReceived","type":"uint256"}],"name":"LogCreation","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"LogDestruction","type":"event"},{"anonymous":false,"inputs":[],"name":"LogMintingFinished","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"}]

  Contract Creation Code Switch To Opcodes View
606060405234156200001057600080fd5b5b5b60038054600160a060020a03191633600160a060020a03161790555b6200004664010000000062000e876200004d82021704565b5b620001a9565b62000086732f37be861699b6127881693010596b4bdd146f5e6a108b2a2c2802909400000064010000000062000eb36200008982021704565b5b565b60065460ff16156200009a57600080fd5b60008111620000a857600080fd5b6000546a108b2a2c2802909400000090620000d2908364010000000062000e6d6200018e82021704565b1115620000de57600080fd5b600160a060020a03821660009081526001602052604090205462000111908264010000000062000e6d6200018e82021704565b600160a060020a0383166000908152600160205260408120919091555462000148908264010000000062000e6d6200018e82021704565b600055600160a060020a0382167f6d3add512fa635c40935b84c7df270a56e091dbfc08739b1d929d000e4a542a18260405190815260200160405180910390a25b5b5050565b6000828201838110156200019e57fe5b8091505b5092915050565b610fc380620001b96000396000f300606060405236156101015763ffffffff60e060020a60003504166305d2035b811461010657806306fdde031461012d578063095ea7b3146101b857806317ffc320146101ee57806318160ddd1461020f57806323b872dd14610234578063313ce5671461027057806342966c681461029957806370a08231146102b157806375e2ff65146102e25780638328dbcd146103035780638da5cb5b1461033257806395a0f5eb1461036157806395d89b4114610386578063a69df4b514610411578063a9059cbb14610426578063ad68ebf71461045c578063c0ee0b8a14610480578063dd62ed3e146104b1578063f2fde38b146104e8578063f47c84c514610509575b600080fd5b341561011157600080fd5b61011961052e565b604051901515815260200160405180910390f35b341561013857600080fd5b610140610537565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561017d5780820151818401525b602001610164565b50505050905090810190601f1680156101aa5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101c357600080fd5b610119600160a060020a036004351660243561056e565b604051901515815260200160405180910390f35b34156101f957600080fd5b61020d600160a060020a0360043516610615565b005b341561021a57600080fd5b610222610731565b60405190815260200160405180910390f35b341561023f57600080fd5b610119600160a060020a0360043581169060243516604435610737565b604051901515815260200160405180910390f35b341561027b57600080fd5b610283610778565b60405160ff909116815260200160405180910390f35b34156102a457600080fd5b61020d60043561077d565b005b34156102bc57600080fd5b610222600160a060020a0360043516610824565b60405190815260200160405180910390f35b34156102ed57600080fd5b61020d600160a060020a0360043516610843565b005b341561030e57600080fd5b610316610959565b604051600160a060020a03909116815260200160405180910390f35b341561033d57600080fd5b610316610968565b604051600160a060020a03909116815260200160405180910390f35b341561036c57600080fd5b610222610977565b60405190815260200160405180910390f35b341561039157600080fd5b61014061097d565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561017d5780820151818401525b602001610164565b50505050905090810190601f1680156101aa5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561041c57600080fd5b61020d6109b4565b005b341561043157600080fd5b610119600160a060020a0360043516602435610a1d565b604051901515815260200160405180910390f35b341561046757600080fd5b61020d600160a060020a0360043516602435610a5c565b005b341561048b57600080fd5b61020d60048035600160a060020a0316906024803591604435918201910135610101565b005b34156104bc57600080fd5b610222600160a060020a0360043581169060243516610bde565b60405190815260200160405180910390f35b34156104f357600080fd5b61020d600160a060020a0360043516610c0b565b005b341561051457600080fd5b610222610c63565b60405190815260200160405180910390f35b60065460ff1681565b60408051908101604052601481527f4d6f656461204c6f79616c747920506f696e7473000000000000000000000000602082015281565b60008115806105a05750600160a060020a03338116600090815260026020908152604080832093871683529290522054155b15156105ab57600080fd5b600160a060020a03338116600081815260026020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b600354600090819033600160a060020a0390811691161461063557600080fd5b82915081600160a060020a03166370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561068f57600080fd5b6102c65a03f115156106a057600080fd5b5050506040518051600354909250600160a060020a03808516925063a9059cbb91168360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561070f57600080fd5b6102c65a03f1151561072057600080fd5b505050604051805150505b5b505050565b60005481565b600654600090839060ff1680156107565750600160a060020a03811615155b151561076157600080fd5b61076c858585610c72565b91505b5b509392505050565b601281565b6000811161078a57600080fd5b600160a060020a0333166000908152600160205260409020546107b3908263ffffffff610d8716565b600160a060020a033316600090815260016020526040812091909155546107e0908263ffffffff610d8716565b600055600160a060020a0333167f08a381875cba5d2c4e871adcb72ddeee26886849567c5492f52eb5dcd51406e48260405190815260200160405180910390a25b50565b600160a060020a0381166000908152600160205260409020545b919050565b60035433600160a060020a0390811691161461085e57600080fd5b60065460ff16151561086f57600080fd5b600160a060020a0381161580159061088b575061088b81610d9e565b5b151561089757600080fd5b6f6e538c0d750418aae4131a91e5a2036381600160a060020a0316633d1bcac06000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156108ee57600080fd5b6102c65a03f115156108ff57600080fd5b5050506040518051905014151561091557600080fd5b600454600160a060020a03161561092b57600080fd5b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b5b50565b600454600160a060020a031681565b600354600160a060020a031681565b60055481565b60408051908101604052600381527f4d44410000000000000000000000000000000000000000000000000000000000602082015281565b60035433600160a060020a039081169116146109cf57600080fd5b60065460ff16156109df57600080fd5b6006805460ff191660011790557f6cb020f8135880647f26f417a2afa43b38dcc9eb771cfc1c524bdf64f02d181b60405160405180910390a15b5b5b565b600654600090839060ff168015610a3c5750600160a060020a03811615155b1515610a4757600080fd5b610a518484610dad565b91505b5b5092915050565b60065460ff161515610a6d57600080fd5b600160a060020a0382161515610a8257600080fd5b600454600160a060020a03161515610a9957600080fd5b60008111610aa657600080fd5b600160a060020a033316600090815260016020526040902054610acf908263ffffffff610d8716565b600160a060020a03331660009081526001602052604081209190915554610afc908263ffffffff610d8716565b600055600554610b12908263ffffffff610e6d16565b600555600454600160a060020a0316630d213d31838360405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b1515610b6b57600080fd5b6102c65a03f11515610b7c57600080fd5b50505033600160a060020a03167f5387614dd8d042f434b2b210fd289b0688bfb31bfeb0b26ae519b1627bde45f88383604051600160a060020a03909216825260208201526040908101905180910390a25b5b5050565b600080fd5b50505050565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b60035433600160a060020a03908116911614610c2657600080fd5b600160a060020a03811615610821576003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b5b50565b6a108b2a2c2802909400000081565b600160a060020a038084166000908152600260209081526040808320338516845282528083205493861683526001909152812054909190610cb9908463ffffffff610e6d16565b600160a060020a038086166000908152600160205260408082209390935590871681522054610cee908463ffffffff610d8716565b600160a060020a038616600090815260016020526040902055610d17818463ffffffff610d8716565b600160a060020a03808716600081815260026020908152604080832033861684529091529081902093909355908616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a3600191505b509392505050565b600082821115610d9357fe5b508082035b92915050565b6000813b908111905b50919050565b600160a060020a033316600090815260016020526040812054610dd6908363ffffffff610d8716565b600160a060020a033381166000908152600160205260408082209390935590851681522054610e0b908363ffffffff610e6d16565b600160a060020a0380851660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060015b92915050565b600082820183811015610e7c57fe5b8091505b5092915050565b610a19732f37be861699b6127881693010596b4bdd146f5e6a108b2a2c28029094000000610eb3565b5b565b60065460ff1615610ec357600080fd5b60008111610ed057600080fd5b6000546a108b2a2c2802909400000090610ef0908363ffffffff610e6d16565b1115610efb57600080fd5b600160a060020a038216600090815260016020526040902054610f24908263ffffffff610e6d16565b600160a060020a03831660009081526001602052604081209190915554610f51908263ffffffff610e6d16565b600055600160a060020a0382167f6d3add512fa635c40935b84c7df270a56e091dbfc08739b1d929d000e4a542a18260405190815260200160405180910390a25b5b50505600a165627a7a723058208e25c43bf76f8938a3227efe2a86ea148c0c8748566fd8f8806419f8373e72b10029

   Swarm Source:
bzzr://8e25c43bf76f8938a3227efe2a86ea148c0c8748566fd8f8806419f8373e72b1

 

View All
Block Age transaction Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.