Contract Overview
Balance: 0 Ether
Transactions: 8 txns
 Latest 8 txns

TxHash Age From To Value [TxFee]
0x5c12a2c9dfa3ded2e31b55291386260c8512c595d6a24b67c29b2fe4a7940f3c133 days 21 hrs ago0x5479a9ec6386db424b563ef059fc127042543a5d  IN   0xc097039c5dfcc4081d5310e85d9a589c019225bd0 Ether0.000022701
0x4f4ae6970fb60ca6f4eac8e801d9a9b535c41ee27365bcf00fc3390d16e47b19133 days 21 hrs ago0x5479a9ec6386db424b563ef059fc127042543a5d  IN   0xc097039c5dfcc4081d5310e85d9a589c019225bd0 Ether0.000046493
0xaf4e4d450fa37f1821e77833f38964cfb416ad316c473a8f32a0af998216afa5133 days 22 hrs ago0x36e058332ae39efad2315776b9c844e30d07388b  IN   0xc097039c5dfcc4081d5310e85d9a589c019225bd0.5 Ether0.000796475
0x76381f69b24f2b39308acd005e3d51ede7e10bcbd4e57136396de28639849930133 days 23 hrs ago0x5479a9ec6386db424b563ef059fc127042543a5d  IN   0xc097039c5dfcc4081d5310e85d9a589c019225bd0 Ether0.000061485
0x14a43212dc3458b183309c90bcd9b11bb279cbc4f344a4b5d645dbe9de30c6e5133 days 23 hrs ago0x5479a9ec6386db424b563ef059fc127042543a5d  IN   0xc097039c5dfcc4081d5310e85d9a589c019225bd0.01 Ether0.000146366
0x5d9f0cb5a8c966901ada8b595091ddf49020879f3fe48d52fedba2451b279ed0134 days 10 hrs ago0x31bca86cdf639647fd2083fb97cc39f566421118  IN   0xc097039c5dfcc4081d5310e85d9a589c019225bd1 Ether0.000319626
0xb38f340a060932fad07fcac48f09973b6e964990167eb6b5d5a6fa7bde1af0d0134 days 14 hrs ago0xdd9919d12db76ac8609078114c41098e44b732fd  IN   0xc097039c5dfcc4081d5310e85d9a589c019225bd0 Ether0.00012086
0x0cf9860c524040d1adca85c82b5bea4a673f9fadcd006e9bf9d732fdc1e3420f134 days 14 hrs ago0xaebbd80fd7dae979d965a3a5b09bbcd23eb40e5f  IN    Contract Creation0 Ether0.004207258
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 20 Internal Transactions

ParentTxHash Block Age From To Value
0xc5c6a4446b8fd1469ae2b17f6f0ac326e2895927b7ffabaaf9802ad2e17e727d4200829133 days 21 hrs ago0xc097039c5dfcc4081d5310e85d9a589c019225bd0x00d348ba1303df186568a972e8a753125118c5760 Ether
0xc5c6a4446b8fd1469ae2b17f6f0ac326e2895927b7ffabaaf9802ad2e17e727d4200829133 days 21 hrs ago0x00d348ba1303df186568a972e8a753125118c5760xc097039c5dfcc4081d5310e85d9a589c019225bd0 Ether
0x4f4ae6970fb60ca6f4eac8e801d9a9b535c41ee27365bcf00fc3390d16e47b194200825133 days 21 hrs ago0xc097039c5dfcc4081d5310e85d9a589c019225bd0x00d348ba1303df186568a972e8a753125118c5760 Ether
0x81c3342ee817aa00257de303e05c6a065d91a3c21d6b436ec621064fd4cdaa094200812133 days 21 hrs ago0xc097039c5dfcc4081d5310e85d9a589c019225bd0x00d348ba1303df186568a972e8a753125118c5760 Ether
0x81c3342ee817aa00257de303e05c6a065d91a3c21d6b436ec621064fd4cdaa094200812133 days 21 hrs ago0x00d348ba1303df186568a972e8a753125118c5760xc097039c5dfcc4081d5310e85d9a589c019225bd0 Ether
0xaf4e4d450fa37f1821e77833f38964cfb416ad316c473a8f32a0af998216afa54200530133 days 22 hrs ago0xc097039c5dfcc4081d5310e85d9a589c019225bd0x00d348ba1303df186568a972e8a753125118c5760 Ether
0xaf4e4d450fa37f1821e77833f38964cfb416ad316c473a8f32a0af998216afa54200530133 days 22 hrs ago0xc097039c5dfcc4081d5310e85d9a589c019225bd0x3f48ad253d25ac0be2e357a9ebfed72313c4a9e80.5 Ether
0xaf4e4d450fa37f1821e77833f38964cfb416ad316c473a8f32a0af998216afa54200530133 days 22 hrs ago0xc097039c5dfcc4081d5310e85d9a589c019225bd0x00d348ba1303df186568a972e8a753125118c5760 Ether
0x76381f69b24f2b39308acd005e3d51ede7e10bcbd4e57136396de286398499304200241133 days 23 hrs ago0xc097039c5dfcc4081d5310e85d9a589c019225bd0x00d348ba1303df186568a972e8a753125118c5760 Ether
0x14a43212dc3458b183309c90bcd9b11bb279cbc4f344a4b5d645dbe9de30c6e54200215133 days 23 hrs ago0xc097039c5dfcc4081d5310e85d9a589c019225bd0x00d348ba1303df186568a972e8a753125118c5760 Ether
0x14a43212dc3458b183309c90bcd9b11bb279cbc4f344a4b5d645dbe9de30c6e54200215133 days 23 hrs ago0xc097039c5dfcc4081d5310e85d9a589c019225bd0x3f48ad253d25ac0be2e357a9ebfed72313c4a9e80.01 Ether
0x14a43212dc3458b183309c90bcd9b11bb279cbc4f344a4b5d645dbe9de30c6e54200215133 days 23 hrs ago0xc097039c5dfcc4081d5310e85d9a589c019225bd0x00d348ba1303df186568a972e8a753125118c5760 Ether
0x5d9f0cb5a8c966901ada8b595091ddf49020879f3fe48d52fedba2451b279ed04197577134 days 10 hrs ago0xc097039c5dfcc4081d5310e85d9a589c019225bd0x00d348ba1303df186568a972e8a753125118c5760 Ether
0x5d9f0cb5a8c966901ada8b595091ddf49020879f3fe48d52fedba2451b279ed04197577134 days 10 hrs ago0xc097039c5dfcc4081d5310e85d9a589c019225bd0x3f48ad253d25ac0be2e357a9ebfed72313c4a9e81 Ether
0x5d9f0cb5a8c966901ada8b595091ddf49020879f3fe48d52fedba2451b279ed04197577134 days 10 hrs ago0xc097039c5dfcc4081d5310e85d9a589c019225bd0x00d348ba1303df186568a972e8a753125118c5760 Ether
0xb38f340a060932fad07fcac48f09973b6e964990167eb6b5d5a6fa7bde1af0d04196707134 days 14 hrs ago0xc097039c5dfcc4081d5310e85d9a589c019225bd0x00d348ba1303df186568a972e8a753125118c5760 Ether
0x39bd38a121d9c2e5790a4ee77855bfda2f070062af2e596cf89d0472f9ac2a394196702134 days 14 hrs ago0xc097039c5dfcc4081d5310e85d9a589c019225bd0x00d348ba1303df186568a972e8a753125118c5760 Ether
0x39bd38a121d9c2e5790a4ee77855bfda2f070062af2e596cf89d0472f9ac2a394196702134 days 14 hrs ago0x00d348ba1303df186568a972e8a753125118c5760xc097039c5dfcc4081d5310e85d9a589c019225bd0 Ether
0x5a82d45f11dda1b2fb03e33edb375f219b826265b041718c6f59b178b72448254196702134 days 14 hrs ago0xc097039c5dfcc4081d5310e85d9a589c019225bd0x00d348ba1303df186568a972e8a753125118c5760 Ether
0x5a82d45f11dda1b2fb03e33edb375f219b826265b041718c6f59b178b72448254196702134 days 14 hrs ago0x00d348ba1303df186568a972e8a753125118c5760xc097039c5dfcc4081d5310e85d9a589c019225bd0 Ether
[ Download CSV Export  ] 
Contract Source Code Verified (Exact Match)
Contract Name: VRFBet
Compiler Version: v0.4.25+commit.59dbf8f1
Optimization Enabled: No
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.24;

contract AutomatedExchange{
  function buyTokens() public payable;
  function calculateTokenSell(uint256 tokens) public view returns(uint256);
  function calculateTokenBuy(uint256 eth,uint256 contractBalance) public view returns(uint256);
  function balanceOf(address tokenOwner) public view returns (uint balance);
}
contract VerifyToken {
    function totalSupply() public constant returns (uint);
    function balanceOf(address tokenOwner) public constant returns (uint balance);
    function allowance(address tokenOwner, address spender) public constant returns (uint remaining);
    function transfer(address to, uint tokens) public returns (bool success);
    function approve(address spender, uint tokens) public returns (bool success);
    function transferFrom(address from, address to, uint tokens) public returns (bool success);
    bool public activated;

    event Transfer(address indexed from, address indexed to, uint tokens);
    event Approval(address indexed tokenOwner, address indexed spender, uint tokens);
}
contract ApproveAndCallFallBack {
    function receiveApproval(address from, uint256 tokens, address token, bytes data) public;
}
contract VRFBet is ApproveAndCallFallBack{
  using SafeMath for uint;
  struct Bet{
    uint blockPlaced;
    address bettor;
    uint betAmount;
  }
  mapping(address => bytes) public victoryMessages;
  mapping(uint => Bet) public betQueue;
  uint public MAX_SIMULTANEOUS_BETS=20;
  uint public index=0;//index for processing bets
  uint public indexBetPlace=0;//index for placing bets
  address vrfAddress= 0x00d348bA1303DF186568A972e8A753125118c576;//0xe0832c4f024D2427bBC6BD0C4931096d2ab5CCaF; //0x5BD574410F3A2dA202bABBa1609330Db02aD64C2;
  VerifyToken vrfcontract=VerifyToken(vrfAddress);
  AutomatedExchange exchangecontract=AutomatedExchange(0x3F48Ad253D25aC0be2e357a9eBFED72313C4a9E8);

  event Payout(address indexed to, uint tokens);
  event BetFinalized(address indexed bettor,uint tokensWagered,uint tokensAgainst,uint tokensWon,bytes victoryMessage);

  //Send tokens with ApproveAndCallFallBack, place a bet
  function receiveApproval(address from, uint256 tokens, address token, bytes data) public{
      require(msg.sender==vrfAddress);
      vrfcontract.transferFrom(from,this,tokens);
      _placeBet(tokens,from,data);
  }
  function placeBetEth(bytes victoryMessage) public payable{
    require(indexBetPlace-index<MAX_SIMULTANEOUS_BETS);//ensures you don't get a situation where there are too many existing bets to process, locking VRF in the contract
    uint tokensBefore=vrfcontract.balanceOf(this);
    exchangecontract.buyTokens.value(msg.value)();
    _placeBet(vrfcontract.balanceOf(this).sub(tokensBefore),msg.sender,victoryMessage);
  }

/*
  REMOVE THIS BEFORE DEPLOY mainnet

*/
  //function placeBetTESTONLY(uint numTokens){
  //  _placeBet(numTokens,msg.sender);
  //}
  function payout(address to,uint numTokens){
    vrfcontract.transfer(to,numTokens);
    emit Payout(to,numTokens);
  }
  function _placeBet(uint numTokens,address from,bytes victoryMessage) private{
    resolvePriorBets();
    betQueue[indexBetPlace]=Bet({blockPlaced:block.number,bettor:from,betAmount:numTokens});
    indexBetPlace+=1;
    victoryMessages[from]=victoryMessage;
  }
  function resolvePriorBets() public{
    while(betQueue[index].blockPlaced!=0){
      if(betQueue[index+1].blockPlaced!=0){
        if(betQueue[index+1].blockPlaced+250>block.number){//bet is not expired
          if(block.number>betQueue[index+1].blockPlaced){//bet was in the past, future blockhash can be safely used to compute random

          /*
            Bet is between two players.
            Outcome is computed as whether rand(bet1+bet2)<bet1. This makes the probability of winning proportional to the size of your bet, ensuring all bets are EV neutral.
          */
            uint totalbet=betQueue[index].betAmount+betQueue[index+1].betAmount;
            uint randval= random(totalbet,betQueue[index+1].blockPlaced,betQueue[index+1].bettor);
            if(randval < betQueue[index].betAmount){
              payout(betQueue[index].bettor,totalbet);
              emit BetFinalized(betQueue[index+1].bettor,betQueue[index+1].betAmount,betQueue[index].betAmount,0,victoryMessages[betQueue[index].bettor]);
              emit BetFinalized(betQueue[index].bettor,betQueue[index].betAmount,betQueue[index+1].betAmount,totalbet,victoryMessages[betQueue[index].bettor]);
            }
            else{
              payout(betQueue[index+1].bettor,totalbet);
              emit BetFinalized(betQueue[index+1].bettor,betQueue[index+1].betAmount,betQueue[index].betAmount,totalbet,victoryMessages[betQueue[index+1].bettor]);
              emit BetFinalized(betQueue[index].bettor,betQueue[index].betAmount,betQueue[index+1].betAmount,0,victoryMessages[betQueue[index+1].bettor]);
            }
            index+=2;
          }
          else{ //bet is in the current block, cannot be resolved, no point in continuing the loop
            return;
          }
        }
        else{//bet has expired, return tokens to users
          payout(betQueue[index+1].bettor,betQueue[index+1].betAmount);
          payout(betQueue[index].bettor,betQueue[index].betAmount);
          index+=2;
          emit BetFinalized(betQueue[index].bettor,betQueue[index].betAmount,betQueue[index+1].betAmount,betQueue[index].betAmount,"");
          emit BetFinalized(betQueue[index+1].bettor,betQueue[index+1].betAmount,betQueue[index].betAmount,betQueue[index+1].betAmount,"");
        }
      }
      else{ //single bet with no other to pair it to, must wait for another bet
        return;
      }
    }
  }
  function cancelBet() public{
    resolvePriorBets();
    require(indexBetPlace-index==1 && betQueue[index].bettor==msg.sender);
    index+=1;//skip the last remaining bet
  }
  /*
    requires an odd number of bets and your bet is the last one
  */
  function canCancelBet() public view returns(bool){
    return indexBetPlace>0 && !isEven(indexBetPlace-index) && betQueue[indexBetPlace-1].bettor==msg.sender;
  }
  function isEven(uint num) public view returns(bool){
    return 2*(num/2)==num;
  }
  function maxRandom(uint blockn, address entropy)
    internal
    returns (uint256 randomNumber)
  {
      return uint256(keccak256(
          abi.encodePacked(
            blockhash(blockn),
            entropy)
      ));
  }
  function random(uint256 upper, uint256 blockn, address entropy)
    internal
    returns (uint256 randomNumber)
  {
      return maxRandom(blockn, entropy) % upper + 1;
  }
  /*
    only for frontend viewing purposes
  */
  function getBetState(address bettor) public view returns(uint){
    for(uint i=index;i<indexBetPlace;i++){
      if(betQueue[i].bettor==bettor){
        if(!isEven(indexBetPlace-index)){//i<indexBetPlace-1){
          return 1;
        }
        else{
          return 2;
        }
      }
    }
    return 0;
  }
}
// ----------------------------------------------------------------------------
// Safe maths
// ----------------------------------------------------------------------------
library SafeMath {
    function add(uint a, uint b) internal pure returns (uint c) {
        c = a + b;
        require(c >= a);
    }
    function sub(uint a, uint b) internal pure returns (uint c) {
        require(b <= a);
        c = a - b;
    }
    function mul(uint a, uint b) internal pure returns (uint c) {
        c = a * b;
        require(a == 0 || c / a == b);
    }
    function div(uint a, uint b) internal pure returns (uint c) {
        require(b > 0);
        c = a / b;
    }
}

    Contract ABI  
[{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"numTokens","type":"uint256"}],"name":"payout","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"index","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"victoryMessages","outputs":[{"name":"","type":"bytes"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"num","type":"uint256"}],"name":"isEven","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"cancelBet","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"bettor","type":"address"}],"name":"getBetState","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"tokens","type":"uint256"},{"name":"token","type":"address"},{"name":"data","type":"bytes"}],"name":"receiveApproval","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"betQueue","outputs":[{"name":"blockPlaced","type":"uint256"},{"name":"bettor","type":"address"},{"name":"betAmount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"victoryMessage","type":"bytes"}],"name":"placeBetEth","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"canCancelBet","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"indexBetPlace","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"resolvePriorBets","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"MAX_SIMULTANEOUS_BETS","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Payout","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"bettor","type":"address"},{"indexed":false,"name":"tokensWagered","type":"uint256"},{"indexed":false,"name":"tokensAgainst","type":"uint256"},{"indexed":false,"name":"tokensWon","type":"uint256"},{"indexed":false,"name":"victoryMessage","type":"bytes"}],"name":"BetFinalized","type":"event"}]

  Contract Creation Code Switch To Opcodes View
608060405260146002556000600355600060045572d348ba1303df186568a972e8a753125118c576600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550733f48ad253d25ac0be2e357a9ebfed72313c4a9e8600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034801561012b57600080fd5b50611ca98061013b6000396000f3006080604052600436106100c5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063117de2fd146100ca5780632986c0e51461011757806329f98d50146101425780632a2e1320146101fe5780637b6d79f1146102435780637d8362811461025a5780638f4ffcb1146102b15780639d719ee614610364578063b6629d98146103df578063b90f65a21461043b578063bad2e1da1461046a578063cb7129a314610495578063f7ffa29f146104ac575b600080fd5b3480156100d657600080fd5b50610115600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506104d7565b005b34801561012357600080fd5b5061012c61062a565b6040518082815260200191505060405180910390f35b34801561014e57600080fd5b50610183600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610630565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101c35780820151818401526020810190506101a8565b50505050905090810190601f1680156101f05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561020a57600080fd5b50610229600480360381019080803590602001909291905050506106e0565b604051808215151515815260200191505060405180910390f35b34801561024f57600080fd5b506102586106fb565b005b34801561026657600080fd5b5061029b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061079a565b6040518082815260200191505060405180910390f35b3480156102bd57600080fd5b50610362600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610856565b005b34801561037057600080fd5b5061038f600480360381019080803590602001909291905050506109f8565b604051808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390f35b610439600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610a42565b005b34801561044757600080fd5b50610450610d0b565b604051808215151515815260200191505060405180910390f35b34801561047657600080fd5b5061047f610da1565b6040518082815260200191505060405180910390f35b3480156104a157600080fd5b506104aa610da7565b005b3480156104b857600080fd5b506104c16119a1565b6040518082815260200191505060405180910390f35b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561059c57600080fd5b505af11580156105b0573d6000803e3d6000fd5b505050506040513d60208110156105c657600080fd5b8101908080519060200190929190505050508173ffffffffffffffffffffffffffffffffffffffff167f5afeca38b2064c23a692c4cf353015d80ab3ecc417b4f893f372690c11fbd9a6826040518082815260200191505060405180910390a25050565b60035481565b60006020528060005260406000206000915090508054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106d85780601f106106ad576101008083540402835291602001916106d8565b820191906000526020600020905b8154815290600101906020018083116106bb57829003601f168201915b505050505081565b6000816002838115156106ef57fe5b04600202149050919050565b610703610da7565b60016003546004540314801561077c57503373ffffffffffffffffffffffffffffffffffffffff1660016000600354815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b151561078757600080fd5b6001600360008282540192505081905550565b60008060035490505b60045481101561084b578273ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561083e57610826600354600454036106e0565b15156108355760019150610850565b60029150610850565b80806001019150506107a3565b600091505b50919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156108b257600080fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd8530866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156109ab57600080fd5b505af11580156109bf573d6000803e3d6000fd5b505050506040513d60208110156109d557600080fd5b8101908080519060200190929190505050506109f28385836119a7565b50505050565b60016020528060005260406000206000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154905083565b600060025460035460045403101515610a5a57600080fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610b1757600080fd5b505af1158015610b2b573d6000803e3d6000fd5b505050506040513d6020811015610b4157600080fd5b81019080805190602001909291905050509050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0febe4c346040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016000604051808303818588803b158015610bda57600080fd5b505af1158015610bee573d6000803e3d6000fd5b5050505050610d07610d0082600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610cb757600080fd5b505af1158015610ccb573d6000803e3d6000fd5b505050506040513d6020811015610ce157600080fd5b8101908080519060200190929190505050611abd90919063ffffffff16565b33846119a7565b5050565b600080600454118015610d2a5750610d28600354600454036106e0565b155b8015610d9c57503373ffffffffffffffffffffffffffffffffffffffff1660016000600160045403815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b905090565b60045481565b6000805b60006001600060035481526020019081526020016000206000015414151561199c57600060016000600160035401815260200190815260200160002060000154141515611992574360fa600160006001600354018152602001908152602001600020600001540111156116d157600160006001600354018152602001908152602001600020600001544311156116c7576001600060016003540181526020019081526020016000206002015460016000600354815260200190815260200160002060020154019150610ed4826001600060016003540181526020019081526020016000206000015460016000600160035401815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611ad9565b9050600160006003548152602001908152602001600020600201548110156112d157610f3860016000600354815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836104d7565b60016000600160035401815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fa6e9143cb8d7c13147d335a6b9f817747d5af0482f228d5faa4331e503e4aaa36001600060016003540181526020019081526020016000206002015460016000600354815260200190815260200160002060020154600080600060016000600354815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060405180858152602001848152602001838152602001806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156110f35780601f106110c8576101008083540402835291602001916110f3565b820191906000526020600020905b8154815290600101906020018083116110d657829003601f168201915b50509550505050505060405180910390a260016000600354815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fa6e9143cb8d7c13147d335a6b9f817747d5af0482f228d5faa4331e503e4aaa360016000600354815260200190815260200160002060020154600160006001600354018152602001908152602001600020600201548560008060016000600354815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060405180858152602001848152602001838152602001806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156112bb5780601f10611290576101008083540402835291602001916112bb565b820191906000526020600020905b81548152906001019060200180831161129e57829003601f168201915b50509550505050505060405180910390a26116b1565b61131660016000600160035401815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836104d7565b60016000600160035401815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fa6e9143cb8d7c13147d335a6b9f817747d5af0482f228d5faa4331e503e4aaa360016000600160035401815260200190815260200160002060020154600160006003548152602001908152602001600020600201548560008060016000600160035401815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060405180858152602001848152602001838152602001806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156114d35780601f106114a8576101008083540402835291602001916114d3565b820191906000526020600020905b8154815290600101906020018083116114b657829003601f168201915b50509550505050505060405180910390a260016000600354815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fa6e9143cb8d7c13147d335a6b9f817747d5af0482f228d5faa4331e503e4aaa36001600060035481526020019081526020016000206002015460016000600160035401815260200190815260200160002060020154600080600060016000600160035401815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020604051808581526020018481526020018381526020018060200182810382528381815460018160011615610100020316600290048152602001915080546001816001161561010002031660029004801561169f5780601f106116745761010080835404028352916020019161169f565b820191906000526020600020905b81548152906001019060200180831161168257829003601f168201915b50509550505050505060405180910390a25b60026003600082825401925050819055506116cc565b61199d565b61198d565b61173160016000600160035401815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160006001600354018152602001908152602001600020600201546104d7565b61178b60016000600354815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160006003548152602001908152602001600020600201546104d7565b600260036000828254019250508190555060016000600354815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fa6e9143cb8d7c13147d335a6b9f817747d5af0482f228d5faa4331e503e4aaa3600160006003548152602001908152602001600020600201546001600060016003540181526020019081526020016000206002015460016000600354815260200190815260200160002060020154604051808481526020018381526020018281526020018060200182810382526000815260200160200194505050505060405180910390a260016000600160035401815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fa6e9143cb8d7c13147d335a6b9f817747d5af0482f228d5faa4331e503e4aaa3600160006001600354018152602001908152602001600020600201546001600060035481526020019081526020016000206002015460016000600160035401815260200190815260200160002060020154604051808481526020018381526020018281526020018060200182810382526000815260200160200194505050505060405180910390a25b611997565b61199d565b610dab565b5b5050565b60025481565b6119af610da7565b6060604051908101604052804381526020018373ffffffffffffffffffffffffffffffffffffffff168152602001848152506001600060045481526020019081526020016000206000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600201559050506001600460008282540192505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209080519060200190611ab7929190611bd8565b50505050565b6000828211151515611ace57600080fd5b818303905092915050565b6000600184611ae88585611afc565b811515611af157fe5b060190509392505050565b60008240826040516020018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401925050506040516020818303038152906040526040518082805190602001908083835b602083101515611b9f5780518252602082019150602081019050602083039250611b7a565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060019004905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611c1957805160ff1916838001178555611c47565b82800160010185558215611c47579182015b82811115611c46578251825591602001919060010190611c2b565b5b509050611c549190611c58565b5090565b611c7a91905b80821115611c76576000816000905550600101611c5e565b5090565b905600a165627a7a723058209908df65db65bf79391522167fefade453f05364a8d4375cfcf864c86e3bd1320029

   Swarm Source:
bzzr://9908df65db65bf79391522167fefade453f05364a8d4375cfcf864c86e3bd132

 

View All
Block Age transaction Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward