ETH Price: $2,127.92 (+3.99%)
Gas: 0.06 Gwei

Contract

0x07Be00a84e8FA3E4AAD6F45264DA4F9529B52Be6
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To

There are no matching entries

1 Internal Transaction found.

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Method Block
From
To
-70477242019-01-11 11:19:002617 days ago1547205540  Contract Creation0 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

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

Contract Name:
playFive

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-12-29
*/

pragma solidity ^0.4.4;
  //ENG::This code is a part of game on www.fgames.io
  //ENG::If you found any bug or have an idea, contact us on code@fgames.io
  //RUS::Этот код является частью игры на сайте www.fgames.io
  //RUS::Если вы нашли баги илм есть идеи, пишите нам code@fgames.io
contract playFive {
  //ENG::Declare variable we use
  //RUS::Декларируем переменные
  address private creator;
  string private message;
  string private message_details;
  string private referal;
  uint private totalBalance; 
  uint public totalwin;
  
  //ENG::Сonstructor
  //Конструктор
  constructor() public {

    creator = tx.origin;   
    message = 'initiated';
  }
  
  //ENG::Event which will be visible in transaction logs in etherscan, and will have result data, whats will be parsed and showed on website
  //RUS::Эвент который будет виден а логах транзакции, и отобразит строку с полезными данными для анализа и после вывода их на сайте
  event statusGame(string message);


  //ENG::Function that show Creator adress
  //RUS::Функция которая отобразит адресс создателя контракта
  function getCreator() public constant returns(address) {
    return creator;
  }

  //ENG::Function that show SmarrtContract Balance
  //Функция которая отобразит Баланс СмартКонтракта
  function getTotalBalance() public constant returns(uint) {
    return address(this).balance;
  }  
  

//ENG::One of the best way to compare two strings converted to bytes
//ENG::Function will check length and if bytes length is same then calculate hash of strings and compare it, (a1)
//ENG::if strings the same, return true, otherwise return false (a2)
//RUS::Один из лучших вариантов сравнения стринг переменных сконвертированные а байты
//RUS::Сначала функция сравнивает длинну байткода и послк их хэш (a1)
//RUS::Если хэш одинаковый, то возвращает true, иначе - false (a2)

function hashCompareWithLengthCheck(string a, string b) internal pure returns (bool) {
    if(bytes(a).length != bytes(b).length) { //(a1)
        return false;
    } else {
        return keccak256(abi.encodePacked(a)) == keccak256(abi.encodePacked(b)); //(a2)
    }
}

//ENG::Function that calculate Wining points
//ENG::After we get our *play ticket* adress, we take last 5 chars of it and game is on
//ENG::sendTXTpsTX - main game function, send to this function *play ticket* code and player entered symbols 
//ENG::function starting setted initiated results to nothing (b1)
//ENG::Then converting strings to bytes, so we can run throung each symbol (b2)
//ENG::Also we set initial winpoint to 0 (b3)
//ENG::Then we run throught each symbol in *play ticket* and compare it with player entered symbols
//ENG::player entered symbols maximum length also is five
//ENG::if function found a match using *hashCompareWithLengthCheck* function, then
//ENG::function add to event message details, that shows whats symbols are found whith player entered symbols (b4)
//ENG::replace used symbols in *player ticket* and entered symbols on X and Y so they no more used in game process (b5)
//ENG::and increase winpoit by 1 (b6)
//ENG::after function complete, it return winpoint from 0 - 5 (b7)
//RUS::Функция которая высчитывает количество очков
//RUS::После получения адреса *билета*, мы берем его последнии 5 символов и игра началась
//RUS::sendTXTpsTX - главная функция игры, шлёт этой функции символы билета и символы введеные игроком
//RUS::Функция сначало обнуляет детали переменной результата (b1)
//RUS::После конвертирует *билет* и символы игрока в байты, чтобы можно было пройти по символам (b2)
//RUS::Также ставим начальное количество очков на 0 (b3)
//RUS::Далее мы проверяем совпадают ли символы *билета* с символами которые ввел игрок
//RUS::Максимальная длинна символов которые вводит игрок, тоже 5.
//RUS::Если функция находит совпадение с помощью функции *hashCompareWithLengthCheck*, то
//RUS::Функция добавляет к эвэнту детальное сообщение о том, какие символы были найдены (b4)
//RUS::Заменяет найденные символы в *билете* и *ключе* на X и Y и они более не участвуют в игре (b5)
//RUS::Увеличивает количество баллов winpoint на 1 (b6)
//RUS::По звыершению, возвращает значение winpoint от 0 до 5 (b7)
function check_result(string ticket, string check) public  returns (uint) {
  message_details = ""; //(b1)
    bytes memory ticketBytes = bytes(ticket); //(b2)
    bytes memory checkBytes = bytes(check);   //(b2) 
    uint winpoint = 0; //(b3)


    for (uint i=0; i < 5; i++){

      for (uint j=0; j < 5; j++){

        if(hashCompareWithLengthCheck(string(abi.encodePacked(ticketBytes[j])),string(abi.encodePacked(checkBytes[i]))))
        {
          message_details = string(abi.encodePacked(message_details,'*',ticketBytes[j],'**',checkBytes[i])); //(b4)
          ticketBytes[j] ="X"; //(b5)
          checkBytes[i] = "Y"; //(b5)

          winpoint = winpoint+1; //(b6)         
        }
       
      }

    }    
    return uint(winpoint); //(b7)
  }

//ENG::Function destroy this smartContract
//ENG::Thats needed in case if we create new game, to take founds from it and add to new game 
//ENG::Or also it need if we see that current game not so actual, and we need to transfer founds to a new game, that more popular
//ENG::Or in case if we found any critical bug, to take founds in safe place, while fixing bugs.
//RUS::Функция для уничтожения смарт контракта
//RUS::Это необходимо, чтобы при создании новых игр, можно было разделить Баланс текущей игры с новой игрой
//RUS::Или если при создании новых игр, эта потеряет свою актуальность
//RUS::Либо при обнаружении критических багое, перевести средства в безопастное место на время исправления ошибок
  function resetGame () public {
    if (msg.sender == creator) { 
      selfdestruct(0xdC3df52BB1D116471F18B4931895d91eEefdC2B3); 
      return;
    }
  }

//ENG::Function to substring provided string from provided start position until end position
//ENG::It's need to tak last 5 characters from *ticket* adress
//RUS::Функция для обрезания заданной строки с заданной позиции до заданной конечной позиции
//RUS::Это надо, чтобы получить последние 5 символов с адресса *билета*
function substring(string str, uint startIndex, uint endIndex) public pure returns (string) {
    bytes memory strBytes = bytes(str);
    bytes memory result = new bytes(endIndex-startIndex);
    for(uint i = startIndex; i < endIndex; i++) {
        result[i-startIndex] = strBytes[i];
    }
    return string(result);
  }

//ENG::Also very useful function, to make all symbols in string to lowercase
//ENG::That need in case to lowercase *TICKET* adress and Player provided symbols
//ENG::Because adress can be 0xasdf...FFDDEE123 and player can provide ACfE4. but we all convert to one format. lowercase
//RUS::Тоже очень полезная функция, чтобы перевести все символы в нижний регистр
//RUS::Это надо, чтобы привести в единый формат все такие переменные как *Билет* и *Ключ*
//RUS::Так как адресс билета может быть 0xasdf...FFDDEE123, а также игрок может ввести ACfE4.
	function _toLower(string str) internal pure returns (string) {
		bytes memory bStr = bytes(str);
		bytes memory bLower = new bytes(bStr.length);
		for (uint i = 0; i < bStr.length; i++) {
			// Uppercase character...
			if ((bStr[i] >= 65) && (bStr[i] <= 90)) {
				// So we add 32 to make it lowercase
				bLower[i] = bytes1(int(bStr[i]) + 32);
			} else {
				bLower[i] = bStr[i];
			}
		}
		return string(bLower);
	}


//ENG::Main function whats called from a website.
//ENG::To provide best service. performance and support we take DevFee 13.3% of transaction (c1)
//ENG::Using clone function we create new smartcontract,
//ENG::to generate TOTALLY random symbols which nobody can know until transaction not mined (c2)
//ENG::Used check_result function we get winpoint value (c3)
//ENG::If winpoint value is 0 or 1 point - player wins 0 ETH (c4)
//ENG::if winpoint value is 2 then player wins 165% from (BET - 13.3%) (c5)
//ENG::if winpoint value is 3 then player wins 315% from (BET - 13.3%) (c6)
//ENG::if winpoint value is 4 then player wins 515% from (BET - 13.3%) (c7)
//ENG::if winpoint value is 5 then player wins 3333% from (BET - 13.3%) (c8)
//ENG::If win amount is greater the smartcontract have, then player got 90% of smart contract balance (c9)
//ENG::On Website before place bet, player will see smartcontract current balance (maximum to wim)
//ENG::when win amount was calculated it automatically sends to player adress (c10)
//ENG::After all steps completed, SmartContract will generate message for EVENT,
//ENG::EVENT Message will have description of current game, and will have those fields which will be displayed on website:
//ENG::Ticket full adress / Player BET / Player Win amount / Player score / Little ticket / Player provided symbols / Explain of founded symbols / Partner id
//RUS::Главная функция которая вызывается непосредственно с сайта.
//RUS::Чтобы обеспечивать качественный сервис, развивать и создавать новые игры, мы берем комиссию 13,3% от размера ставки (c1)
//RUS::Используем функцию *clone* для создания нового смарт контракта,
//RUS::Для того, чтобы добится 100% УНИКАЛЬНОГО *билета* (c2)
//RUS::Используем check_result функцию чтобы узнать значение winpoint (c3)
//RUS::Если значение winpoint 0 или 1 - выйгрыш игрока 0 ETH (c4)
//RUS::Если значение winpoint 2 - выйгрыш игрока 165% от (СТАВКА - 13.3%) (c5)
//RUS::Если значение winpoint 3 - выйгрыш игрока 315% от (СТАВКА - 13.3%) (c6)
//RUS::Если значение winpoint 4 - выйгрыш игрока 515% от (СТАВКА - 13.3%) (c7)
//RUS::Если значение winpoint 5 - выйгрыш игрока 3333% от (СТАВКА - 13.3%) (c8)
//RUS::Если сумма выйгрыша больше баланса смарт контракта, то игрок получает 90% от баланса смарт контракта (c9)
//RUS::На сайте игрок заранее видет баланс смарт контракта на текущий момент (максимальный выйгрыш)
//RUS::После вычисления суммы выйгрыша, выйгрышь автоматом перечисляется на адресс игрока (c10)
//RUS::После завершения всех шагов, смарт контракт генерирует сообщение для ЭВЕНТА
//RUS::Сообщение ЭВЕНТА хранит в себе ключевые показатели сыграной игры, и красиво в понятной форме будут отображены на сайте
//RUS::Что содержит сообщение ЭВЕНТА:
//RUS::Полный адресс *билета* / Ставку / Суммы выйгрыша / Очки игрока / Укороченный билет / Символы введенные игроком / Расшифровка найденых символов / Ид партнёра

    function sendTXTpsTX(string UserTicketKey, string setRef) public payable {
    
    address(0xdC3df52BB1D116471F18B4931895d91eEefdC2B3).transfer((msg.value/1000)*133); //(c1)

    address check_ticket = clone(address(this)); //(c2)
   
    uint winpoint = check_result(substring(addressToString(check_ticket),37,42),_toLower(UserTicketKey));  //(c3)
    
    if(winpoint == 0)
    {
      totalwin = 0; //(c4)
    }
    if(winpoint == 1)
    {
      totalwin = 0; //(c4)
    }
    if(winpoint == 2)
    {
      totalwin = ((msg.value - (msg.value/1000)*133)/100)*165; //(c5)
    }
    if(winpoint == 3)
    {
      totalwin = ((msg.value - (msg.value/1000)*133)/100)*315; //(c6)
    }            
    if(winpoint == 4)
    {
      totalwin = ((msg.value - (msg.value/1000)*133)/100)*515; //(c7)
    }
    if(winpoint == 5)
    {
      totalwin = ((msg.value - (msg.value/1000)*133)/100)*3333; //(c8)
    } 

    if(totalwin > 0)    
    {
      if(totalwin > address(this).balance)
      {
        totalwin = ((address(this).balance/100)*90); //(c9)
      }
      msg.sender.transfer(totalwin); //(c10)         
    }
    //(c11)>>
    emit statusGame(string(abi.encodePacked("xxFULL_TICKET_HASHxx",addressToString(check_ticket),"xxYOUR_BETxx",uint2str(msg.value),"xxYOUR_WINxx",uint2str(totalwin),"xxYOUR_SCORExx",uint2str(winpoint),"xxYOUR_TICKETxx",substring(addressToString(check_ticket),37,42),"xxYOUR_KEYxx", _toLower(UserTicketKey),"xxEXPLAINxx",message_details, "xxREFxx",setRef,"xxWINxx",totalwin)));
    //(c11)<<
    return;
  }  


  //ENG::Standart Function to receive founds
  //RUS::Стандартная функция для приёма средств
  function () payable public {
    //RECEIVED    
  }

  //ENG::Converts adress type into string
  //ENG::Used to convert *TICKET* adress into string
  //RUS::Конвертирует переменную типа adress в строку string
  //RUS::Используется для конвертации адреса *билета* в строку string
function addressToString(address _addr) public pure returns(string) {
    bytes32 value = bytes32(uint256(_addr));
    bytes memory alphabet = "0123456789abcdef";

    bytes memory str = new bytes(42);
    str[0] = '0';
    str[1] = 'x';
    for (uint i = 0; i < 20; i++) {
        str[2+i*2] = alphabet[uint(value[i + 12] >> 4)];
        str[3+i*2] = alphabet[uint(value[i + 12] & 0x0f)];
    }
    return string(str);
}

  //ENG::Converts uint type into STRING to show data in human readable format
  //RUS::Конвертирует переменную uint в строку string чтобы отобразить данные в понятном для человека формате
function uint2str(uint i) internal pure returns (string){
    if (i == 0) return "0";
    uint j = i;
    uint length;
    while (j != 0){
        length++;
        j /= 10;
    }
    bytes memory bstr = new bytes(length);
    uint k = length - 1;
    while (i != 0){
        bstr[k--] = byte(48 + i % 10);
        i /= 10;
    }
    return string(bstr);
}


//ENG::This simple function, clone existing contract into new contract, to gain TOTALLY UNICALLY random string of *TICKET*
//RUS::Эта простая функция клонирует текущий контракт в новый контракт, чтобы получить 100% уникальную переменную *БИЛЕТА*
function clone(address a) public returns(address){

    address retval;
    assembly{
        mstore(0x0, or (0x5880730000000000000000000000000000000000000000803b80938091923cF3 ,mul(a,0x1000000000000000000)))
        retval := create(0,0, 32)
    }
    return retval;
}

}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[],"name":"getCreator","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getTotalBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"str","type":"string"},{"name":"startIndex","type":"uint256"},{"name":"endIndex","type":"uint256"}],"name":"substring","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"ticket","type":"string"},{"name":"check","type":"string"}],"name":"check_result","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"addressToString","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"a","type":"address"}],"name":"clone","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"UserTicketKey","type":"string"},{"name":"setRef","type":"string"}],"name":"sendTXTpsTX","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"resetGame","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalwin","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"message","type":"string"}],"name":"statusGame","type":"event"}]

0x588073c19aba5148a8e8e2b813d40be1276312feddb813803b80938091923cf3

Deployed Bytecode

0x608060405260043610610099576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630ee2cb101461009b57806312b58349146100f25780631dcd9b551461011d57806322400b78146102135780635e57966d146102d65780638124b78e14610392578063b07a0d0414610415578063bb472219146104b7578063f2e68fbb146104ce575b005b3480156100a757600080fd5b506100b06104f9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100fe57600080fd5b50610107610522565b6040518082815260200191505060405180910390f35b34801561012957600080fd5b50610198600480360381019080803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192908035906020019092919080359060200190929190505050610541565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101d85780820151818401526020810190506101bd565b50505050905090810190601f1680156102055780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561021f57600080fd5b506102c0600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610642565b6040518082815260200191505060405180910390f35b3480156102e257600080fd5b50610317600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b2d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561035757808201518184015260208101905061033c565b50505050905090810190601f1680156103845780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561039e57600080fd5b506103d3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610edd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104b5600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610f23565b005b3480156104c357600080fd5b506104cc61166f565b005b3480156104da57600080fd5b506104e36116f3565b6040518082815260200191505060405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b606080606060008692508585036040519080825280601f01601f1916602001820160405280156105805781602001602082028038833980820191505090505b5091508590505b8481101561063557828181518110151561059d57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f010000000000000000000000000000000000000000000000000000000000000002828783038151811015156105f857fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080600101915050610587565b8193505050509392505050565b60006060806000806000602060405190810160405280600081525060029080519060200190610672929190611d48565b5087945086935060009250600091505b6005821015610b1f57600090505b6005811015610b125761081985828151811015156106aa57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f01000000000000000000000000000000000000000000000000000000000000000260405160200180827effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101915050604051602081830303815290604052858481518110151561076657fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f01000000000000000000000000000000000000000000000000000000000000000260405160200180827effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001019150506040516020818303038152906040526116f9565b15610b05576002858281518110151561082e57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f010000000000000000000000000000000000000000000000000000000000000002858481518110151561088757fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f01000000000000000000000000000000000000000000000000000000000000000260405160200180848054600181600116156101000203166002900480156109305780601f1061090e576101008083540402835291820191610930565b820191906000526020600020905b81548152906001019060200180831161091c575b5050807f2a00000000000000000000000000000000000000000000000000000000000000815250600101837effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101807f2a2a000000000000000000000000000000000000000000000000000000000000815250600201827effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101935050505060405160208183030381529060405260029080519060200190610a3f929190611d48565b507f58000000000000000000000000000000000000000000000000000000000000008582815181101515610a6f57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f59000000000000000000000000000000000000000000000000000000000000008483815181101515610ace57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506001830192505b8080600101915050610690565b8180600101925050610682565b829550505050505092915050565b6060600060608060008573ffffffffffffffffffffffffffffffffffffffff1660010293506040805190810160405280601081526020017f30313233343536373839616263646566000000000000000000000000000000008152509250602a6040519080825280601f01601f191660200182016040528015610bbe5781602001602082028038833980820191505090505b5091507f3000000000000000000000000000000000000000000000000000000000000000826000815181101515610bf157fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000826001815181101515610c5157fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600090505b6014811015610ed15782600485600c8401602081101515610ca357fe5b1a7f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060020a90047f01000000000000000000000000000000000000000000000000000000000000009004815181101515610d1d57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000028260028302600201815181101515610d7c57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535082600f7f01000000000000000000000000000000000000000000000000000000000000000285600c8401602081101515610de257fe5b1a7f010000000000000000000000000000000000000000000000000000000000000002167f01000000000000000000000000000000000000000000000000000000000000009004815181101515610e3557fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000028260028302600301815181101515610e9457fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080600101915050610c86565b81945050505050919050565b600080690100000000000000000083027f5880730000000000000000000000000000000000000000803b80938091923cf3176000526020600080f0905080915050919050565b60008073dc3df52bb1d116471f18b4931895d91eeefdc2b373ffffffffffffffffffffffffffffffffffffffff166108fc60856103e834811515610f6357fe5b04029081150290604051600060405180830381858888f19350505050158015610f90573d6000803e3d6000fd5b50610f9a30610edd565b9150610fc2610fb4610fab84610b2d565b6025602a610541565b610fbd866118bf565b610642565b90506000811415610fd65760006005819055505b6001811415610fe85760006005819055505b600281141561101a5760a5606460856103e83481151561100457fe5b0402340381151561101157fe5b04026005819055505b600381141561104d5761013b606460856103e83481151561103757fe5b0402340381151561104457fe5b04026005819055505b600481141561108057610203606460856103e83481151561106a57fe5b0402340381151561107757fe5b04026005819055505b60058114156110b357610d05606460856103e83481151561109d57fe5b040234038115156110aa57fe5b04026005819055505b60006005541115611157573073ffffffffffffffffffffffffffffffffffffffff1631600554111561110d57605a60643073ffffffffffffffffffffffffffffffffffffffff163181151561110457fe5b04026005819055505b3373ffffffffffffffffffffffffffffffffffffffff166108fc6005549081150290604051600060405180830381858888f19350505050158015611155573d6000803e3d6000fd5b505b7f2db20f98d36a97aa078668643f592267ebd457e78aef1dbefb3611e17efe691f61118183610b2d565b61118a34611bf1565b611195600554611bf1565b61119e85611bf1565b6111b36111aa88610b2d565b6025602a610541565b6111bc8a6118bf565b60028a60055460405160200180807f787846554c4c5f5449434b45545f4841534878780000000000000000000000008152506014018a805190602001908083835b60208310151561122257805182526020820191506020810190506020830392506111fd565b6001836020036101000a038019825116818451168082178552505050505050905001807f7878594f55525f42455478780000000000000000000000000000000000000000815250600c0189805190602001908083835b60208310151561129d5780518252602082019150602081019050602083039250611278565b6001836020036101000a038019825116818451168082178552505050505050905001807f7878594f55525f57494e78780000000000000000000000000000000000000000815250600c0188805190602001908083835b60208310151561131857805182526020820191506020810190506020830392506112f3565b6001836020036101000a038019825116818451168082178552505050505050905001807f7878594f55525f53434f52457878000000000000000000000000000000000000815250600e0187805190602001908083835b602083101515611393578051825260208201915060208101905060208303925061136e565b6001836020036101000a038019825116818451168082178552505050505050905001807f7878594f55525f5449434b455478780000000000000000000000000000000000815250600f0186805190602001908083835b60208310151561140e57805182526020820191506020810190506020830392506113e9565b6001836020036101000a038019825116818451168082178552505050505050905001807f7878594f55525f4b455978780000000000000000000000000000000000000000815250600c0185805190602001908083835b6020831015156114895780518252602082019150602081019050602083039250611464565b6001836020036101000a038019825116818451168082178552505050505050905001807f78784558504c41494e7878000000000000000000000000000000000000000000815250600b018480546001816001161561010002031660029004801561152a5780601f1061150857610100808354040283529182019161152a565b820191906000526020600020905b815481529060010190602001808311611516575b5050807f787852454678780000000000000000000000000000000000000000000000000081525060070183805190602001908083835b6020831015156115855780518252602082019150602081019050602083039250611560565b6001836020036101000a038019825116818451168082178552505050505050905001807f787857494e78780000000000000000000000000000000000000000000000000081525060070182815260200199505050505050505050506040516020818303038152906040526040518080602001828103825283818151815260200191508051906020019080838360005b8381101561162f578082015181840152602081019050611614565b50505050905090810190601f16801561165c5780820380516001836020036101000a031916815260200191505b509250505060405180910390a150505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156116f15773dc3df52bb1d116471f18b4931895d91eeefdc2b373ffffffffffffffffffffffffffffffffffffffff16ff5b565b60055481565b60008151835114151561170f57600090506118b9565b816040516020018082805190602001908083835b6020831015156117485780518252602082019150602081019050602083039250611723565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b6020831015156117b1578051825260208201915060208101905060208303925061178c565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916836040516020018082805190602001908083835b60208310151561181b57805182526020820191506020810190506020830392506117f6565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b602083101515611884578051825260208201915060208101905060208303925061185f565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019161490505b92915050565b6060806060600084925082516040519080825280601f01601f1916602001820160405280156118fd5781602001602082028038833980820191505090505b509150600090505b8251811015611be65760417f010000000000000000000000000000000000000000000000000000000000000002838281518110151561194057fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191610158015611a585750605a7f01000000000000000000000000000000000000000000000000000000000000000283828151811015156119e857fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191611155b15611b415760208382815181101515611a6d57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027f01000000000000000000000000000000000000000000000000000000000000009004017f0100000000000000000000000000000000000000000000000000000000000000028282815181101515611b0c57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350611bd9565b8281815181101515611b4f57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000028282815181101515611ba857fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b8080600101915050611905565b819350505050919050565b60606000806060600080861415611c3f576040805190810160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509450611d3f565b8593505b600084141515611c69578280600101935050600a84811515611c6157fe5b049350611c43565b826040519080825280601f01601f191660200182016040528015611c9c5781602001602082028038833980820191505090505b5091506001830390505b600086141515611d3b57600a86811515611cbc57fe5b066030017f010000000000000000000000000000000000000000000000000000000000000002828280600190039350815181101515611cf757fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a86811515611d3357fe5b049550611ca6565b8194505b50505050919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611d8957805160ff1916838001178555611db7565b82800160010185558215611db7579182015b82811115611db6578251825591602001919060010190611d9b565b5b509050611dc49190611dc8565b5090565b611dea91905b80821115611de6576000816000905550600101611dce565b5090565b905600a165627a7a723058205dbd164e94a6c99ab2f42d2330c27fd9a4a5b78ee90d7e91fe3604595163b6900029

Swarm Source

bzzr://5dbd164e94a6c99ab2f42d2330c27fd9a4a5b78ee90d7e91fe3604595163b690

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.