ETH Price: $2,678.12 (-0.71%)

Contract

0x8214e74a944370CB2882751057F057b5fb08b439
 

Overview

ETH Balance

0.014364016141768846 ETH

Eth Value

$38.47 (@ $2,678.12/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer89968802019-11-25 5:59:461769 days ago1574661586IN
0x8214e74a...5fb08b439
0 ETH0.000210410
Transfer87969902019-10-23 13:39:311802 days ago1571837971IN
0x8214e74a...5fb08b439
0 ETH0.0000211
Transfer70940492019-01-19 17:44:252079 days ago1547919865IN
0x8214e74a...5fb08b439
0 ETH0.000631230
Transfer70523532019-01-12 7:15:012086 days ago1547277301IN
0x8214e74a...5fb08b439
0 ETH0.000042082
Transfer69969422019-01-02 9:59:312096 days ago1546423171IN
0x8214e74a...5fb08b439
0 ETH0.000126246
Transfer68525912018-12-09 4:14:212120 days ago1544328861IN
0x8214e74a...5fb08b439
0 ETH0.000084164
Transfer68317012018-12-05 16:58:282124 days ago1544029108IN
0x8214e74a...5fb08b439
0 ETH0.000147287
Transfer68243822018-12-04 11:53:082125 days ago1543924388IN
0x8214e74a...5fb08b439
0 ETH0.000169168.04
Transfer68233162018-12-04 7:38:352125 days ago1543909115IN
0x8214e74a...5fb08b439
0 ETH0.00019849.43
Transfer68206692018-12-03 21:08:302126 days ago1543871310IN
0x8214e74a...5fb08b439
0 ETH0.00010525
Transfer68127402018-12-02 13:58:182127 days ago1543759098IN
0x8214e74a...5fb08b439
0 ETH0.000189369
Payout68082322018-12-01 19:47:322128 days ago1543693652IN
0x8214e74a...5fb08b439
0 ETH0.049546510
Payout68082282018-12-01 19:46:112128 days ago1543693571IN
0x8214e74a...5fb08b439
0 ETH0.044592579
Payout68082212018-12-01 19:44:132128 days ago1543693453IN
0x8214e74a...5fb08b439
0 ETH0.044699959.02
Payout68082172018-12-01 19:43:102128 days ago1543693390IN
0x8214e74a...5fb08b439
0 ETH0.040098088.1
Payout68082092018-12-01 19:39:332128 days ago1543693173IN
0x8214e74a...5fb08b439
0 ETH0.034724527.0125
Payout68082032018-12-01 19:38:332128 days ago1543693113IN
0x8214e74a...5fb08b439
0 ETH0.031417196.34375
Payout68081882018-12-01 19:34:182128 days ago1543692858IN
0x8214e74a...5fb08b439
0 ETH0.030806666.22308985
Payout68081772018-12-01 19:32:092128 days ago1543692729IN
0x8214e74a...5fb08b439
0 ETH0.030808086.22308985
Payout68081712018-12-01 19:31:082128 days ago1543692668IN
0x8214e74a...5fb08b439
0 ETH0.034652667
Payout68080622018-12-01 19:03:272128 days ago1543691007IN
0x8214e74a...5fb08b439
0 ETH0.036153277.3
Payout68080512018-12-01 18:59:042128 days ago1543690744IN
0x8214e74a...5fb08b439
0 ETH0.035217577.11411411
Payout68079182018-12-01 18:30:442128 days ago1543689044IN
0x8214e74a...5fb08b439
0 ETH0.034677737
Insert Recipient...68075722018-12-01 17:09:172128 days ago1543684157IN
0x8214e74a...5fb08b439
0 ETH0.025318956
Insert Recipient...68075652018-12-01 17:08:322128 days ago1543684112IN
0x8214e74a...5fb08b439
0 ETH0.028115266
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
68082322018-12-01 19:47:322128 days ago1543693652
0x8214e74a...5fb08b439
0.00002586 ETH
68082322018-12-01 19:47:322128 days ago1543693652
0x8214e74a...5fb08b439
0.00002586 ETH
68082322018-12-01 19:47:322128 days ago1543693652
0x8214e74a...5fb08b439
0.00002586 ETH
68082322018-12-01 19:47:322128 days ago1543693652
0x8214e74a...5fb08b439
0.00002586 ETH
68082322018-12-01 19:47:322128 days ago1543693652
0x8214e74a...5fb08b439
0.00002586 ETH
68082322018-12-01 19:47:322128 days ago1543693652
0x8214e74a...5fb08b439
0.00002586 ETH
68082322018-12-01 19:47:322128 days ago1543693652
0x8214e74a...5fb08b439
0.00002586 ETH
68082322018-12-01 19:47:322128 days ago1543693652
0x8214e74a...5fb08b439
0.00002586 ETH
68082322018-12-01 19:47:322128 days ago1543693652
0x8214e74a...5fb08b439
0.00002586 ETH
68082322018-12-01 19:47:322128 days ago1543693652
0x8214e74a...5fb08b439
0.00002586 ETH
68082322018-12-01 19:47:322128 days ago1543693652
0x8214e74a...5fb08b439
0.00002586 ETH
68082322018-12-01 19:47:322128 days ago1543693652
0x8214e74a...5fb08b439
0.00002586 ETH
68082322018-12-01 19:47:322128 days ago1543693652
0x8214e74a...5fb08b439
0.00002586 ETH
68082322018-12-01 19:47:322128 days ago1543693652
0x8214e74a...5fb08b439
0.00002586 ETH
68082322018-12-01 19:47:322128 days ago1543693652
0x8214e74a...5fb08b439
0.00002586 ETH
68082322018-12-01 19:47:322128 days ago1543693652
0x8214e74a...5fb08b439
0.00002586 ETH
68082322018-12-01 19:47:322128 days ago1543693652
0x8214e74a...5fb08b439
0.00002586 ETH
68082322018-12-01 19:47:322128 days ago1543693652
0x8214e74a...5fb08b439
0.00002586 ETH
68082322018-12-01 19:47:322128 days ago1543693652
0x8214e74a...5fb08b439
0.00002586 ETH
68082322018-12-01 19:47:322128 days ago1543693652
0x8214e74a...5fb08b439
0.00002586 ETH
68082322018-12-01 19:47:322128 days ago1543693652
0x8214e74a...5fb08b439
0.00002586 ETH
68082322018-12-01 19:47:322128 days ago1543693652
0x8214e74a...5fb08b439
0.00002586 ETH
68082322018-12-01 19:47:322128 days ago1543693652
0x8214e74a...5fb08b439
0.00002586 ETH
68082322018-12-01 19:47:322128 days ago1543693652
0x8214e74a...5fb08b439
0.00002586 ETH
68082322018-12-01 19:47:322128 days ago1543693652
0x8214e74a...5fb08b439
0.00002586 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
AO

Compiler Version
v0.4.25+commit.59dbf8f1

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-11-30
*/

pragma solidity 0.4.25;

/** 
* ETH CRYPTOCURRENCY DISTRIBUTION PROJECT
* 
* Web              - https://333eth.io
* 
* Twitter          - https://twitter.com/333eth_io
* 
* Telegram_channel - https://t.me/Ethereum333
* 
* EN  Telegram_chat: https://t.me/Ethereum333_chat_en
* 
* RU  Telegram_chat: https://t.me/Ethereum333_chat_ru
* 
* KOR Telegram_chat: https://t.me/Ethereum333_chat_kor
* 
* Email:             mailto:support(at sign)333eth.io
* 
* 
* 
* AO Rules:
* 
* Shareholders are all participants of 333eth v1, v2 projects without exception
* 
* Received ETH share as follows:
* 
* 97% for losers, in projects 333eth v1, v2 in proportion to their losses
* 
* 3% for winners - the same amount.
* 
* 
* 
* Payment of dividends - every Saturday at 18.00 Moscow time.
* 
* The contract of the JSC prescribed a waiver of ownership. And payments are unchanged.
* 
* The specific amount of payments to each shareholder is determined by the success of the project. Your participation in previous projects determines your % in AO.
*/


library RecipientsStorage {
  struct Storage {
    mapping(address => Recipient) data;
    KeyFlag[] keys;
    uint size;
    uint losersValSum;
    uint winnersNum;
  }

  struct Recipient { 
    uint keyIndex;
    uint value;
    bool isWinner;
  }

  struct KeyFlag { 
    address key; 
    bool deleted;
  }

  function init(Storage storage s) internal {
    s.keys.length++;
  }

  function insert(Storage storage s, address key, uint value, bool isWinner) internal returns (bool) {
    uint keyIndex = s.data[key].keyIndex;
   
    if (!s.data[key].isWinner) {
      s.losersValSum -= s.data[key].value;
    }

    if (!isWinner) {
      s.losersValSum += value;
    }

    if (isWinner && !s.data[key].isWinner) {
      s.winnersNum++;
    }
    s.data[key].value = value;
    s.data[key].isWinner = isWinner;

    if (keyIndex > 0) {
      return true;
    }

    keyIndex = s.keys.length++;
    s.data[key].keyIndex = keyIndex;
    s.keys[keyIndex].key = key;
    s.size++;
    return true;
  }

  function remove(Storage storage s, address key) internal returns (bool) {
    uint keyIndex = s.data[key].keyIndex;
    if (keyIndex == 0) {
      return false;
    }

    if (s.data[key].isWinner) {
      s.winnersNum--;
    } else {
      s.losersValSum -= s.data[key].value;
    }
    
      
    delete s.data[key];
    s.keys[keyIndex].deleted = true;
    s.size--;
    return true;
  }

  function recipient(Storage storage s, address key) internal view returns (Recipient memory r) {
    return Recipient(s.data[key].keyIndex, s.data[key].value, s.data[key].isWinner);
  }
  
  function iterStart(Storage storage s) internal view returns (uint keyIndex) {
    return iterNext(s, 0);
  }

  function iterValid(Storage storage s, uint keyIndex) internal view returns (bool) {
    return keyIndex < s.keys.length;
  }

  function iterNext(Storage storage s, uint keyIndex) internal view returns (uint r_keyIndex) {
    r_keyIndex = keyIndex + 1;
    while (r_keyIndex < s.keys.length && s.keys[r_keyIndex].deleted) {
      r_keyIndex++;
    }
  }

  function iterGet(Storage storage s, uint keyIndex) internal view returns (address key, Recipient storage r) {
    key = s.keys[keyIndex].key;
    r = s.data[key];
  }
}


contract Accessibility {
  enum AccessRank { None, Payout, Manager, Full }
  mapping(address => AccessRank) internal m_admins;
  modifier onlyAdmin(AccessRank  r) {
    require(
      m_admins[msg.sender] == r || m_admins[msg.sender] == AccessRank.Full,
      "access denied"
    );
    _;
  }
  event LogProvideAccess(address indexed whom, AccessRank rank, uint when);

  constructor() public {
    m_admins[msg.sender] = AccessRank.Full;
    emit LogProvideAccess(msg.sender, AccessRank.Full, now);
  }
  
  function provideAccess(address addr, AccessRank rank) public onlyAdmin(AccessRank.Manager) {
    require(rank <= AccessRank.Manager, "cannot to give full access rank");
    if (m_admins[addr] != rank) {
      m_admins[addr] = rank;
      emit LogProvideAccess(addr, rank, now);
    }
  }

  function access(address addr) public view returns(AccessRank rank) {
    rank = m_admins[addr];
  }
}


library Percent {
  // Solidity automatically throws when dividing by 0
  struct percent {
    uint num;
    uint den;
  }
  // storage operations
  function mul(percent storage p, uint a) internal view returns (uint) {
    if (a == 0) {
      return 0;
    }
    return a*p.num/p.den;
  }

  function div(percent storage p, uint a) internal view returns (uint) {
    return a/p.num*p.den;
  }

  function sub(percent storage p, uint a) internal view returns (uint) {
    uint b = mul(p, a);
    if (b >= a) return 0; // solium-disable-line lbrace
    return a - b;
  }

  function add(percent storage p, uint a) internal view returns (uint) {
    return a + mul(p, a);
  }

  // memory operations
  function mmul(percent memory p, uint a) internal pure returns (uint) {
    if (a == 0) {
      return 0;
    }
    return a*p.num/p.den;
  }

  function mdiv(percent memory p, uint a) internal pure returns (uint) {
    return a/p.num*p.den;
  }

  function msub(percent memory p, uint a) internal pure returns (uint) {
    uint b = mmul(p, a);
    if (b >= a) return 0; // solium-disable-line lbrace
    return a - b;
  }

  function madd(percent memory p, uint a) internal pure returns (uint) {
    return a + mmul(p, a);
  }
}


contract AO is Accessibility {
  using Percent for Percent.percent;
  using RecipientsStorage for RecipientsStorage.Storage;
  
  uint public payPaymentTime;
  uint public payKeyIndex;
  uint public payValue;

  RecipientsStorage.Storage private m_recipients;
  Percent.percent private m_winnersPercent = Percent.percent(3, 100);
  Percent.percent private m_losersPercent = Percent.percent(97, 100);

  event LogPayDividends(address indexed addr, uint dividends, bool isWinner, uint when);
  event LogInsertRecipient(address indexed addr, uint value, bool isWinner, uint when);
  event LogRemoveRecipient(address indexed addr, uint when);

  constructor() public {
    m_recipients.init();
    payKeyIndex = m_recipients.iterStart();
  }

  function() external payable {}

  function payoutIsDone() public view returns(bool done) {
    return payKeyIndex == m_recipients.iterStart();
  }

  function losersValueSum() public view returns(uint sum) {
    return m_recipients.losersValSum;
  }

  function winnersNumber() public view returns(uint number) {
    return m_recipients.winnersNum;
  }

  function recipient(address addr) public view returns(uint value, bool isWinner, uint numerator, uint denominator) {
    RecipientsStorage.Recipient memory r = m_recipients.recipient(addr);
    (value, isWinner) = (r.value, r.isWinner);

    if (r.isWinner) {
      numerator = m_winnersPercent.num;
      denominator = m_winnersPercent.den * m_recipients.winnersNum;
    } else {
      numerator = m_losersPercent.num * r.value;
      denominator = m_losersPercent.den * m_recipients.losersValSum;
    }
  }

  function recipientsSize() public view returns(uint size) {
    return m_recipients.size;
  }

  function recipients() public view returns(address[] memory addrs, uint[] memory values, bool[] memory isWinners) {
    addrs = new address[](m_recipients.size);
    values = new uint[](m_recipients.size);
    isWinners = new bool[](m_recipients.size);
    RecipientsStorage.Recipient memory r;
    uint i = m_recipients.iterStart();
    uint c;

    for (i; m_recipients.iterValid(i); i = m_recipients.iterNext(i)) {
      (addrs[c], r) = m_recipients.iterGet(i);
      values[c] = r.value;
      isWinners[c] = r.isWinner;
      c++;
    }
  }

  function insertRecipients(address[] memory addrs, uint[] memory values, bool[] memory isWinners) public onlyAdmin(AccessRank.Full) {
    require(addrs.length == values.length && values.length == isWinners.length, "invalid arguments length");
    for (uint i; i < addrs.length; i++) {
      if (addrs[i] == address(0x0)) {
        continue;
      }
      if (m_recipients.insert(addrs[i], values[i], isWinners[i])) {
        emit LogInsertRecipient(addrs[i], values[i], isWinners[i], now);
      }
    }
  }

  function removeRecipients(address[] memory addrs) public onlyAdmin(AccessRank.Full) {
    for (uint i; i < addrs.length; i++) {
      if (m_recipients.remove(addrs[i])) {
        emit LogRemoveRecipient(addrs[i], now);
      }
    }
  }

  function payout() public onlyAdmin(AccessRank.Payout) { 
    if (payKeyIndex == m_recipients.iterStart()) {
      require(address(this).balance > 0, "zero balance");
      require(now > payPaymentTime + 12 hours, "the latest payment was earlier than 12 hours");
      payPaymentTime = now;
      payValue = address(this).balance;
    }

    uint dividends;
    uint i = payKeyIndex;
    uint valueForWinner = m_winnersPercent.mul(payValue) / m_recipients.winnersNum;
    uint valueForLosers = m_losersPercent.mul(payValue);
    RecipientsStorage.Recipient memory r;
    address rAddr;

    for (i; m_recipients.iterValid(i) && gasleft() > 60000; i = m_recipients.iterNext(i)) {
      (rAddr, r) = m_recipients.iterGet(i);
      if (r.isWinner) {
        dividends = valueForWinner;
      } else {
        dividends = valueForLosers * r.value / m_recipients.losersValSum;
      }
      if (rAddr.send(dividends)) {
        emit LogPayDividends(rAddr, dividends, r.isWinner, now);
      }
    }

    if (m_recipients.iterValid(i)) {
      payKeyIndex = i;
    } else {
      payKeyIndex = m_recipients.iterStart();
    }
  }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"recipients","outputs":[{"name":"addrs","type":"address[]"},{"name":"values","type":"uint256[]"},{"name":"isWinners","type":"bool[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"losersValueSum","outputs":[{"name":"sum","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addrs","type":"address[]"}],"name":"removeRecipients","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"payout","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"winnersNumber","outputs":[{"name":"number","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"access","outputs":[{"name":"rank","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"payKeyIndex","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"payValue","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"recipient","outputs":[{"name":"value","type":"uint256"},{"name":"isWinner","type":"bool"},{"name":"numerator","type":"uint256"},{"name":"denominator","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addrs","type":"address[]"},{"name":"values","type":"uint256[]"},{"name":"isWinners","type":"bool[]"}],"name":"insertRecipients","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"payPaymentTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"},{"name":"rank","type":"uint8"}],"name":"provideAccess","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"recipientsSize","outputs":[{"name":"size","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"payoutIsDone","outputs":[{"name":"done","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"addr","type":"address"},{"indexed":false,"name":"dividends","type":"uint256"},{"indexed":false,"name":"isWinner","type":"bool"},{"indexed":false,"name":"when","type":"uint256"}],"name":"LogPayDividends","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"addr","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"isWinner","type":"bool"},{"indexed":false,"name":"when","type":"uint256"}],"name":"LogInsertRecipient","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"addr","type":"address"},{"indexed":false,"name":"when","type":"uint256"}],"name":"LogRemoveRecipient","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"whom","type":"address"},{"indexed":false,"name":"rank","type":"uint8"},{"indexed":false,"name":"when","type":"uint256"}],"name":"LogProvideAccess","type":"event"}]

60036080819052606460a0819052600991909155600a819055610100604052606160c081905260e0829052600b55600c553480156200003d57600080fd5b503360008181526020818152604091829020805460ff191660039081179091558251908152429181019190915281517f2a16f14080a28ceceddaa6aaa1e999e6f0644b53fc745cdc40778179014147e9929181900390910190a2620000b1600464010000000062001339620000d482021704565b620000cb600464010000000062000efa620000ee82021704565b600255620001c1565b6001808201805491620000ea9190830162000167565b5050565b60006200010582826401000000006200010b810204565b92915050565b600181015b600183015481108015620001585750600183018054829081106200013057fe5b60009182526020909120015474010000000000000000000000000000000000000000900460ff165b15620001055760010162000110565b8154818355818111156200018e576000838152602090206200018e91810190830162000193565b505050565b620001be91905b80821115620001ba578054600160a860020a03191681556001016200019a565b5090565b90565b61139d80620001d16000396000f3006080604052600436106100cf5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630e57d4ce81146100d15780634fed5876146101c4578063639ab82f146101eb57806363bd1d4a1461024057806367cbd756146102555780636fae3d761461026a57806370671bdb146102af5780637649a2f2146102c4578063b3651eea146102d9578063c880e52014610320578063d40ae305146103e7578063d70d532b146103fc578063f2bd814a14610423578063fb86985814610438575b005b3480156100dd57600080fd5b506100e6610461565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561012e578181015183820152602001610116565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561016d578181015183820152602001610155565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156101ac578181015183820152602001610194565b50505050905001965050505050505060405180910390f35b3480156101d057600080fd5b506101d96105eb565b60408051918252519081900360200190f35b3480156101f757600080fd5b50604080516020600480358082013583810280860185019096528085526100cf953695939460249493850192918291850190849080828437509497506105f29650505050505050565b34801561024c57600080fd5b506100cf610722565b34801561026157600080fd5b506101d9610a4f565b34801561027657600080fd5b5061028b600160a060020a0360043516610a55565b6040518082600381111561029b57fe5b60ff16815260200191505060405180910390f35b3480156102bb57600080fd5b506101d9610a73565b3480156102d057600080fd5b506101d9610a79565b3480156102e557600080fd5b506102fa600160a060020a0360043516610a7f565b604080519485529215156020850152838301919091526060830152519081900360800190f35b34801561032c57600080fd5b50604080516020600480358082013583810280860185019096528085526100cf95369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750949750610ae99650505050505050565b3480156103f357600080fd5b506101d9610d1f565b34801561040857600080fd5b506100cf600160a060020a036004351660ff60243516610d25565b34801561042f57600080fd5b506101d9610edf565b34801561044457600080fd5b5061044d610ee5565b604080519115158252519081900360200190f35b606080606061046e6112c0565b6000806004600201546040519080825280602002602001820160405280156104a0578160200160208202803883390190505b5095506004600201546040519080825280602002602001820160405280156104d2578160200160208202803883390190505b509450600460020154604051908082528060200260200182016040528015610504578160200160208202803883390190505b5093506105116004610efa565b91505b61052560048363ffffffff610f0d16565b156105e35761053b60048363ffffffff610f1816565b60408051606081018252825481526001830154602082015260029092015460ff16151590820152875188908490811061057057fe5b600160a060020a0390931660209384029091018301529081015186519194509086908390811061059c57fe5b60209081029091010152604083015184518590839081106105b957fe5b9115156020928302909101909101526001016105dc60048363ffffffff610f5516565b9150610514565b505050909192565b6007545b90565b60006003803360009081526020819052604090205460ff16600381111561061557fe5b148061063e575060033360009081526020819052604090205460ff16600381111561063c57fe5b145b1515610682576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020611352833981519152604482015290519081900360640190fd5b825182101561071d576106b4838381518110151561069c57fe5b6020908102909101015160049063ffffffff610fad16565b156107125782828151811015156106c757fe5b90602001906020020151600160a060020a03167fd4e93f81376413229b0b1fea2014406267b2486987352b6eb408c7db007e3d70426040518082815260200191505060405180910390a25b600190910190610682565b505050565b6000806000806107306112c0565b60006001803360009081526020819052604090205460ff16600381111561075357fe5b148061077c575060033360009081526020819052604090205460ff16600381111561077a57fe5b145b15156107c0576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020611352833981519152604482015290519081900360640190fd5b6107ca6004610efa565b60025414156108b957600030311161082c576040805160e560020a62461bcd02815260206004820152600c60248201527f7a65726f2062616c616e63650000000000000000000000000000000000000000604482015290519081900360640190fd5b60015461a8c00142116108af576040805160e560020a62461bcd02815260206004820152602c60248201527f746865206c6174657374207061796d656e7420776173206561726c696572207460448201527f68616e20313220686f7572730000000000000000000000000000000000000000606482015290519081900360840190fd5b4260015530316003555b600254600854600354919750906108d89060099063ffffffff6110d116565b8115156108e157fe5b0494506108fa600354600b6110d190919063ffffffff16565b93505b61090e60048763ffffffff610f0d16565b801561091b575061ea605a115b15610a185761093160048763ffffffff610f1816565b60408051606081018252825481526001830154602082015260029092015460ff161580159183019190915290945090925061096e57849650610985565b6007546020840151850281151561098157fe5b0496505b604051600160a060020a0383169088156108fc029089906000818181858888f1935050505015610a00576040808401518151898152901515602082015242818301529051600160a060020a038416917f6ebfcaf3fb3591e2a1cb2ab472ba30d1c6ed3b7baca0670a414aac62e8f456ca919081900360600190a25b610a1160048763ffffffff610f5516565b95506108fd565b610a2960048763ffffffff610f0d16565b15610a38576002869055610a46565b610a426004610efa565b6002555b50505050505050565b60085490565b600160a060020a031660009081526020819052604090205460ff1690565b60025481565b60035481565b600080600080610a8d6112c0565b610a9e60048763ffffffff6110fc16565b60208101516040820151909650945090508315610ac957600954600854600a54919450029150610ae1565b6020810151600b54600754600c549190920294500291505b509193509193565b60006003803360009081526020819052604090205460ff166003811115610b0c57fe5b1480610b35575060033360009081526020819052604090205460ff166003811115610b3357fe5b145b1515610b79576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020611352833981519152604482015290519081900360640190fd5b83518551148015610b8b575082518451145b1515610be1576040805160e560020a62461bcd02815260206004820152601860248201527f696e76616c696420617267756d656e7473206c656e6774680000000000000000604482015290519081900360640190fd5b8451821015610d18578451600090869084908110610bfb57fe5b90602001906020020151600160a060020a03161415610c1957610d0d565b610c748583815181101515610c2a57fe5b906020019060200201518584815181101515610c4257fe5b906020019060200201518585815181101515610c5a57fe5b60209081029091010151600492919063ffffffff61115016565b15610d0d578482815181101515610c8757fe5b90602001906020020151600160a060020a03167f0681a58a5f756f5c8ce7a0fbee919fdb0b1f82f9a339c711cbb7e8c76690188a8584815181101515610cc957fe5b906020019060200201518585815181101515610ce157fe5b602090810290910181015160408051938452901515918301919091524282820152519081900360600190a25b600190910190610be1565b5050505050565b60015481565b6002803360009081526020819052604090205460ff166003811115610d4657fe5b1480610d6f575060033360009081526020819052604090205460ff166003811115610d6d57fe5b145b1515610db3576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020611352833981519152604482015290519081900360640190fd5b6002826003811115610dc157fe5b1115610e17576040805160e560020a62461bcd02815260206004820152601f60248201527f63616e6e6f7420746f20676976652066756c6c206163636573732072616e6b00604482015290519081900360640190fd5b816003811115610e2357fe5b600160a060020a03841660009081526020819052604090205460ff166003811115610e4a57fe5b1461071d57600160a060020a0383166000908152602081905260409020805483919060ff19166001836003811115610e7e57fe5b021790555082600160a060020a03167f2a16f14080a28ceceddaa6aaa1e999e6f0644b53fc745cdc40778179014147e9834260405180836003811115610ec057fe5b60ff1681526020018281526020019250505060405180910390a2505050565b60065490565b6000610ef16004610efa565b60025414905090565b6000610f07826000610f55565b92915050565b600191909101541190565b6000808360010183815481101515610f2c57fe5b6000918252602080832090910154600160a060020a031680835295905260409020939492505050565b600181015b600183015481108015610fa0575060018301805482908110610f7857fe5b60009182526020909120015474010000000000000000000000000000000000000000900460ff165b15610f0757600101610f5a565b600160a060020a038116600090815260208390526040812054801515610fd657600091506110ca565b600160a060020a03831660009081526020859052604090206002015460ff161561100b57600484018054600019019055611034565b600160a060020a0383166000908152602085905260409020600101546003850180549190910390555b600160a060020a0383166000908152602085905260408120818155600180820192909255600201805460ff1916905580850180548390811061107257fe5b60009182526020909120018054911515740100000000000000000000000000000000000000000274ff000000000000000000000000000000000000000019909216919091179055600284018054600019019055600191505b5092915050565b60008115156110e257506000610f07565b6001830154835483028115156110f457fe5b049392505050565b6111046112c0565b5060408051606081018252600160a060020a0383166000818152602086815284822080548552600181015482860152929091528590526002015460ff1615159181019190915292915050565b600160a060020a0383166000908152602085905260408120805460029091015460ff1615156111a257600160a060020a0385166000908152602087905260409020600101546003870180549190910390555b8215156111b457600386018054850190555b8280156111dd5750600160a060020a03851660009081526020879052604090206002015460ff16155b156111ee5760048601805460010190555b600160a060020a038516600090815260208790526040812060018101869055600201805460ff191685151517905581111561122c57600191506112b7565b6001808701805491611240919083016112e4565b600160a060020a038616600090815260208890526040902081905560018701805491925086918390811061127057fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055600286018054600190810190915591505b50949350505050565b60606040519081016040528060008152602001600081526020016000151581525090565b81548183558181111561071d5760008381526020902061071d9181019083016105ef91905b8082111561133557805474ffffffffffffffffffffffffffffffffffffffffff19168155600101611309565b5090565b600180820180549161134d919083016112e4565b505056006163636573732064656e69656400000000000000000000000000000000000000a165627a7a72305820382317e87283a45bbee04d7438c83d4bf51a7cda359f148c7801cbd5ff3073eb0029

Deployed Bytecode

0x6080604052600436106100cf5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630e57d4ce81146100d15780634fed5876146101c4578063639ab82f146101eb57806363bd1d4a1461024057806367cbd756146102555780636fae3d761461026a57806370671bdb146102af5780637649a2f2146102c4578063b3651eea146102d9578063c880e52014610320578063d40ae305146103e7578063d70d532b146103fc578063f2bd814a14610423578063fb86985814610438575b005b3480156100dd57600080fd5b506100e6610461565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561012e578181015183820152602001610116565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561016d578181015183820152602001610155565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156101ac578181015183820152602001610194565b50505050905001965050505050505060405180910390f35b3480156101d057600080fd5b506101d96105eb565b60408051918252519081900360200190f35b3480156101f757600080fd5b50604080516020600480358082013583810280860185019096528085526100cf953695939460249493850192918291850190849080828437509497506105f29650505050505050565b34801561024c57600080fd5b506100cf610722565b34801561026157600080fd5b506101d9610a4f565b34801561027657600080fd5b5061028b600160a060020a0360043516610a55565b6040518082600381111561029b57fe5b60ff16815260200191505060405180910390f35b3480156102bb57600080fd5b506101d9610a73565b3480156102d057600080fd5b506101d9610a79565b3480156102e557600080fd5b506102fa600160a060020a0360043516610a7f565b604080519485529215156020850152838301919091526060830152519081900360800190f35b34801561032c57600080fd5b50604080516020600480358082013583810280860185019096528085526100cf95369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750949750610ae99650505050505050565b3480156103f357600080fd5b506101d9610d1f565b34801561040857600080fd5b506100cf600160a060020a036004351660ff60243516610d25565b34801561042f57600080fd5b506101d9610edf565b34801561044457600080fd5b5061044d610ee5565b604080519115158252519081900360200190f35b606080606061046e6112c0565b6000806004600201546040519080825280602002602001820160405280156104a0578160200160208202803883390190505b5095506004600201546040519080825280602002602001820160405280156104d2578160200160208202803883390190505b509450600460020154604051908082528060200260200182016040528015610504578160200160208202803883390190505b5093506105116004610efa565b91505b61052560048363ffffffff610f0d16565b156105e35761053b60048363ffffffff610f1816565b60408051606081018252825481526001830154602082015260029092015460ff16151590820152875188908490811061057057fe5b600160a060020a0390931660209384029091018301529081015186519194509086908390811061059c57fe5b60209081029091010152604083015184518590839081106105b957fe5b9115156020928302909101909101526001016105dc60048363ffffffff610f5516565b9150610514565b505050909192565b6007545b90565b60006003803360009081526020819052604090205460ff16600381111561061557fe5b148061063e575060033360009081526020819052604090205460ff16600381111561063c57fe5b145b1515610682576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020611352833981519152604482015290519081900360640190fd5b825182101561071d576106b4838381518110151561069c57fe5b6020908102909101015160049063ffffffff610fad16565b156107125782828151811015156106c757fe5b90602001906020020151600160a060020a03167fd4e93f81376413229b0b1fea2014406267b2486987352b6eb408c7db007e3d70426040518082815260200191505060405180910390a25b600190910190610682565b505050565b6000806000806107306112c0565b60006001803360009081526020819052604090205460ff16600381111561075357fe5b148061077c575060033360009081526020819052604090205460ff16600381111561077a57fe5b145b15156107c0576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020611352833981519152604482015290519081900360640190fd5b6107ca6004610efa565b60025414156108b957600030311161082c576040805160e560020a62461bcd02815260206004820152600c60248201527f7a65726f2062616c616e63650000000000000000000000000000000000000000604482015290519081900360640190fd5b60015461a8c00142116108af576040805160e560020a62461bcd02815260206004820152602c60248201527f746865206c6174657374207061796d656e7420776173206561726c696572207460448201527f68616e20313220686f7572730000000000000000000000000000000000000000606482015290519081900360840190fd5b4260015530316003555b600254600854600354919750906108d89060099063ffffffff6110d116565b8115156108e157fe5b0494506108fa600354600b6110d190919063ffffffff16565b93505b61090e60048763ffffffff610f0d16565b801561091b575061ea605a115b15610a185761093160048763ffffffff610f1816565b60408051606081018252825481526001830154602082015260029092015460ff161580159183019190915290945090925061096e57849650610985565b6007546020840151850281151561098157fe5b0496505b604051600160a060020a0383169088156108fc029089906000818181858888f1935050505015610a00576040808401518151898152901515602082015242818301529051600160a060020a038416917f6ebfcaf3fb3591e2a1cb2ab472ba30d1c6ed3b7baca0670a414aac62e8f456ca919081900360600190a25b610a1160048763ffffffff610f5516565b95506108fd565b610a2960048763ffffffff610f0d16565b15610a38576002869055610a46565b610a426004610efa565b6002555b50505050505050565b60085490565b600160a060020a031660009081526020819052604090205460ff1690565b60025481565b60035481565b600080600080610a8d6112c0565b610a9e60048763ffffffff6110fc16565b60208101516040820151909650945090508315610ac957600954600854600a54919450029150610ae1565b6020810151600b54600754600c549190920294500291505b509193509193565b60006003803360009081526020819052604090205460ff166003811115610b0c57fe5b1480610b35575060033360009081526020819052604090205460ff166003811115610b3357fe5b145b1515610b79576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020611352833981519152604482015290519081900360640190fd5b83518551148015610b8b575082518451145b1515610be1576040805160e560020a62461bcd02815260206004820152601860248201527f696e76616c696420617267756d656e7473206c656e6774680000000000000000604482015290519081900360640190fd5b8451821015610d18578451600090869084908110610bfb57fe5b90602001906020020151600160a060020a03161415610c1957610d0d565b610c748583815181101515610c2a57fe5b906020019060200201518584815181101515610c4257fe5b906020019060200201518585815181101515610c5a57fe5b60209081029091010151600492919063ffffffff61115016565b15610d0d578482815181101515610c8757fe5b90602001906020020151600160a060020a03167f0681a58a5f756f5c8ce7a0fbee919fdb0b1f82f9a339c711cbb7e8c76690188a8584815181101515610cc957fe5b906020019060200201518585815181101515610ce157fe5b602090810290910181015160408051938452901515918301919091524282820152519081900360600190a25b600190910190610be1565b5050505050565b60015481565b6002803360009081526020819052604090205460ff166003811115610d4657fe5b1480610d6f575060033360009081526020819052604090205460ff166003811115610d6d57fe5b145b1515610db3576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020611352833981519152604482015290519081900360640190fd5b6002826003811115610dc157fe5b1115610e17576040805160e560020a62461bcd02815260206004820152601f60248201527f63616e6e6f7420746f20676976652066756c6c206163636573732072616e6b00604482015290519081900360640190fd5b816003811115610e2357fe5b600160a060020a03841660009081526020819052604090205460ff166003811115610e4a57fe5b1461071d57600160a060020a0383166000908152602081905260409020805483919060ff19166001836003811115610e7e57fe5b021790555082600160a060020a03167f2a16f14080a28ceceddaa6aaa1e999e6f0644b53fc745cdc40778179014147e9834260405180836003811115610ec057fe5b60ff1681526020018281526020019250505060405180910390a2505050565b60065490565b6000610ef16004610efa565b60025414905090565b6000610f07826000610f55565b92915050565b600191909101541190565b6000808360010183815481101515610f2c57fe5b6000918252602080832090910154600160a060020a031680835295905260409020939492505050565b600181015b600183015481108015610fa0575060018301805482908110610f7857fe5b60009182526020909120015474010000000000000000000000000000000000000000900460ff165b15610f0757600101610f5a565b600160a060020a038116600090815260208390526040812054801515610fd657600091506110ca565b600160a060020a03831660009081526020859052604090206002015460ff161561100b57600484018054600019019055611034565b600160a060020a0383166000908152602085905260409020600101546003850180549190910390555b600160a060020a0383166000908152602085905260408120818155600180820192909255600201805460ff1916905580850180548390811061107257fe5b60009182526020909120018054911515740100000000000000000000000000000000000000000274ff000000000000000000000000000000000000000019909216919091179055600284018054600019019055600191505b5092915050565b60008115156110e257506000610f07565b6001830154835483028115156110f457fe5b049392505050565b6111046112c0565b5060408051606081018252600160a060020a0383166000818152602086815284822080548552600181015482860152929091528590526002015460ff1615159181019190915292915050565b600160a060020a0383166000908152602085905260408120805460029091015460ff1615156111a257600160a060020a0385166000908152602087905260409020600101546003870180549190910390555b8215156111b457600386018054850190555b8280156111dd5750600160a060020a03851660009081526020879052604090206002015460ff16155b156111ee5760048601805460010190555b600160a060020a038516600090815260208790526040812060018101869055600201805460ff191685151517905581111561122c57600191506112b7565b6001808701805491611240919083016112e4565b600160a060020a038616600090815260208890526040902081905560018701805491925086918390811061127057fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055600286018054600190810190915591505b50949350505050565b60606040519081016040528060008152602001600081526020016000151581525090565b81548183558181111561071d5760008381526020902061071d9181019083016105ef91905b8082111561133557805474ffffffffffffffffffffffffffffffffffffffffff19168155600101611309565b5090565b600180820180549161134d919083016112e4565b505056006163636573732064656e69656400000000000000000000000000000000000000a165627a7a72305820382317e87283a45bbee04d7438c83d4bf51a7cda359f148c7801cbd5ff3073eb0029

Swarm Source

bzzr://382317e87283a45bbee04d7438c83d4bf51a7cda359f148c7801cbd5ff3073eb

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  ]
[ 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.