ETH Price: $3,303.74 (-1.09%)

Contract

0xa2F26644BCb342F7aC7106A2DfBA02441627ea60
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Collect Fees102468052020-06-11 21:22:051655 days ago1591910525IN
0xa2F26644...41627ea60
0 ETH0.0042345435
Collect Fees102339622020-06-09 21:27:311657 days ago1591738051IN
0xa2F26644...41627ea60
0 ETH0.0036296130
Start Early102338252020-06-09 20:59:351657 days ago1591736375IN
0xa2F26644...41627ea60
0 ETH0.0019180770

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
PowerDoubler

Compiler Version
v0.4.26+commit.4563c3fc

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2020-06-09
*/

pragma solidity ^0.4.25;



interface ERC20 {
  function totalSupply() external view returns (uint256);
  function balanceOf(address who) external view returns (uint256);
  function allowance(address owner, address spender) external view returns (uint256);
  function transfer(address to, uint256 value) external returns (bool);
  function approve(address spender, uint256 value) external returns (bool);
  function approveAndCall(address spender, uint tokens, bytes data) external returns (bool success);
  function transferFrom(address from, address to, uint256 value) external returns (bool);

  event Transfer(address indexed from, address indexed to, uint256 value);
  event Approval(address indexed owner, address indexed spender, uint256 value);
}

library SafeMath {
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    if (a == 0) {
      return 0;
    }
    uint256 c = a * b;
    require(c / a == b);
    return c;
  }

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

  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    require(b <= a);
    return a - b;
  }

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

  function ceil(uint256 a, uint256 m) internal pure returns (uint256) {
    uint256 c = add(a,m);
    uint256 d = sub(c,1);
    return mul(div(d,m),m);
  }
}

interface ApproveAndCallFallBack {
    function receiveApproval(address from, uint256 tokens, address token, bytes data);
}
contract PowerDoubler is ApproveAndCallFallBack{
    using SafeMath for uint256;

    modifier afterGameStart() {
        require(now >= startTime,"game not started yet");
        _;
    }

    struct Participant {
        address etherAddress;
        uint PayAmount;
    }

    Participant[] public participants;

    uint public payoutIdx = 0;
    uint public collectedFees = 0;
    uint public balance = 0;

    address public owner;
    address[] public feeRecipients;
    ERC20 public powertoken;
    uint public MIN_BUY=1 ether;
    uint public MAX_BUY=1000 ether;
    uint public startTime;
    uint public delayToStart=5 days;//0 minutes;

    //view only
    uint public totalSpent=0;
    uint public totalPaid=0;
    mapping(address => uint) public queuePosition;

    // this function is executed at initialization and sets the owner of the contract
    constructor(address tokenaddr) public {
        owner = msg.sender;
        powertoken = ERC20(tokenaddr);
        feeRecipients.push(0xaEbbd80Fd7dAe979d965A3a5b09bBCD23eB40e5F);
        feeRecipients.push(0x3dF3766E64C2C85Ce1baa858d2A14F96916d5087);
        feeRecipients.push(0x8Cc62C4dCF129188ce4b43103eAefc0d6b71af6d);
        feeRecipients.push(0xE7F53CE9421670AC2f11C5035E6f6f13d9829aa6);
        startTime=now+delayToStart;
    }
    /*
      In case we decide to start the game with a trigger transaction. If so set delayToStart to something highish
    */
    function startEarly() public{
      require(msg.sender==owner);
      startTime=now;
    }
    function checkAndTransferPOWER(address from,uint256 _amount) private {
        require(powertoken.transferFrom(from, address(this), _amount) == true, "transfer must succeed");//msg.sender
    }
    /*
      allows playing without using approve
    */
    function receiveApproval(address from, uint256 tokens, address token, bytes data) public{
      require(msg.sender==address(powertoken));
      enter(tokens,from);
    }
    function enter(uint tokensSent,address from) afterGameStart private{
      checkAndTransferPOWER(from,tokensSent);
      totalSpent+=tokensSent;//view only
		  //send more than min and less than max
		  require(tokensSent >= MIN_BUY && tokensSent <= MAX_BUY,"token amount out of bounds");
      // collect fees and update contract balance
      collectedFees += tokensSent / 20;
      balance += tokensSent.sub(tokensSent / 20);

    	// add a new participant to array and calculate need balance to payout
      uint idx = participants.length;
      participants.length += 1;
      participants[idx].etherAddress = from;//msg.sender;
      participants[idx].PayAmount = (tokensSent.sub(tokensSent / 20)).mul(2);
      //view only
      queuePosition[from]=idx;//msg.sender

			uint NeedAmount = participants[payoutIdx].PayAmount;
			// if there are enough ether on the balance we can pay out to an earlier participant
		    if (balance >= NeedAmount) {
	            powertoken.transfer(participants[payoutIdx].etherAddress,NeedAmount);
	            balance = balance.sub(NeedAmount);
	            payoutIdx += 1;
              //view only:
              totalPaid+=NeedAmount;
	        }

    }

/*
   in case someone does a buy that can pay multiple
 */
	function NextPayout() afterGameStart public{
      uint NeedAmount = participants[payoutIdx].PayAmount;
	    require(balance >= NeedAmount,"insufficient contract balance for cashout");
      powertoken.transfer(participants[payoutIdx].etherAddress,NeedAmount);
      balance = balance.sub(NeedAmount);
      payoutIdx += 1;
      //view only:
      totalPaid+=NeedAmount;
    }

  function collectFees() public {
      require(collectedFees>0,"zero fees");
      for(uint8 i=0;i<feeRecipients.length;i+=1){
        powertoken.transfer(feeRecipients[i],collectedFees.div(feeRecipients.length));//delivers even shares
      }
      collectedFees = 0;
  }

  /*
    frontend view function
  */
  function placeInLine(address user) view returns(uint){
    if(queuePosition[user]>payoutIdx){
      return queuePosition[user]-payoutIdx;
    }
    else{
      return 0;
    }
  }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"participants","outputs":[{"name":"etherAddress","type":"address"},{"name":"PayAmount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MIN_BUY","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"feeRecipients","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"queuePosition","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"startTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":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":"collectedFees","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"payoutIdx","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"NextPayout","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"balance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"startEarly","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"collectFees","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"user","type":"address"}],"name":"placeInLine","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_BUY","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"powertoken","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"delayToStart","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalPaid","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSpent","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"tokenaddr","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"}]

6080604052600060015560006002556000600355670de0b6b3a7640000600755683635c9adc5dea0000060085562069780600a556000600b556000600c5534801561004957600080fd5b50604051602080610df5833981016040525160048054600160a060020a0319908116331790915560068054600160a060020a0390931692821692909217909155600580546001818101835560008390527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db09182018054851673aebbd80fd7dae979d965a3a5b09bbcd23eb40e5f17905582548082018455820180548516733df3766e64c2c85ce1baa858d2a14f96916d508717905582548082018455820180548516738cc62c4dcf129188ce4b43103eaefc0d6b71af6d179055825490810190925501805490911673e7f53ce9421670ac2f11c5035e6f6f13d9829aa6179055600a544201600955610c95806101606000396000f3006080604052600436106100ed5763ffffffff60e060020a60003504166335c1d34981146100f25780633af96b901461012d57806351fe9eff1461015457806372b68e9a1461018857806378e97925146101a95780638da5cb5b146101be5780638f4ffcb1146101d35780639003adfe14610245578063a60f35881461025a578063a88c5ef71461026f578063b69ef8a814610284578063c424569014610299578063c8796572146102ae578063caec5782146102c3578063d46b136c146102e4578063dac082ef146102f9578063df0579c81461030e578063e7b0f66614610323578063fb346eab14610338575b600080fd5b3480156100fe57600080fd5b5061010a60043561034d565b60408051600160a060020a03909316835260208301919091528051918290030190f35b34801561013957600080fd5b50610142610383565b60408051918252519081900360200190f35b34801561016057600080fd5b5061016c600435610389565b60408051600160a060020a039092168252519081900360200190f35b34801561019457600080fd5b50610142600160a060020a03600435166103b1565b3480156101b557600080fd5b506101426103c3565b3480156101ca57600080fd5b5061016c6103c9565b3480156101df57600080fd5b50604080516020601f60643560048181013592830184900484028501840190955281845261024394600160a060020a038135811695602480359660443590931695369560849492019181908401838280828437509497506103d89650505050505050565b005b34801561025157600080fd5b506101426103ff565b34801561026657600080fd5b50610142610405565b34801561027b57600080fd5b5061024361040b565b34801561029057600080fd5b506101426105e5565b3480156102a557600080fd5b506102436105eb565b3480156102ba57600080fd5b50610243610608565b3480156102cf57600080fd5b50610142600160a060020a0360043516610758565b3480156102f057600080fd5b506101426107a8565b34801561030557600080fd5b5061016c6107ae565b34801561031a57600080fd5b506101426107bd565b34801561032f57600080fd5b506101426107c3565b34801561034457600080fd5b506101426107c9565b600080548290811061035b57fe5b600091825260209091206002909102018054600190910154600160a060020a03909116915082565b60075481565b600580548290811061039757fe5b600091825260209091200154600160a060020a0316905081565b600d6020526000908152604090205481565b60095481565b600454600160a060020a031681565b600654600160a060020a031633146103ef57600080fd5b6103f983856107cf565b50505050565b60025481565b60015481565b600954600090421015610468576040805160e560020a62461bcd02815260206004820152601460248201527f67616d65206e6f74207374617274656420796574000000000000000000000000604482015290519081900360640190fd5b600060015481548110151561047957fe5b9060005260206000209060020201600101549050806003541015151561050f576040805160e560020a62461bcd02815260206004820152602960248201527f696e73756666696369656e7420636f6e74726163742062616c616e636520666f60448201527f7220636173686f75740000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60065460015460008054600160a060020a039093169263a9059cbb9290811061053457fe5b600091825260208083206002909202909101546040805160e060020a63ffffffff8716028152600160a060020a039092166004830152602482018790525160448083019491928390030190829087803b15801561059057600080fd5b505af11580156105a4573d6000803e3d6000fd5b505050506040513d60208110156105ba57600080fd5b50506003546105cf908263ffffffff610a9516565b6003556001805481019055600c80549091019055565b60035481565b600454600160a060020a0316331461060257600080fd5b42600955565b600080600254111515610665576040805160e560020a62461bcd02815260206004820152600960248201527f7a65726f20666565730000000000000000000000000000000000000000000000604482015290519081900360640190fd5b5060005b60055460ff821610156107505760065460058054600160a060020a039092169163a9059cbb919060ff851690811061069d57fe5b600091825260209091200154600554600254600160a060020a03909216916106ca9163ffffffff610aaa16565b6040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561071c57600080fd5b505af1158015610730573d6000803e3d6000fd5b505050506040513d602081101561074657600080fd5b5050600101610669565b506000600255565b600154600160a060020a0382166000908152600d60205260408120549091101561079f5750600154600160a060020a0382166000908152600d6020526040902054036107a3565b5060005b919050565b60085481565b600654600160a060020a031681565b600a5481565b600c5481565b600b5481565b600080600954421015151561082e576040805160e560020a62461bcd02815260206004820152601460248201527f67616d65206e6f74207374617274656420796574000000000000000000000000604482015290519081900360640190fd5b6108388385610ac6565b600b805485019055600754841080159061085457506008548411155b15156108aa576040805160e560020a62461bcd02815260206004820152601a60248201527f746f6b656e20616d6f756e74206f7574206f6620626f756e6473000000000000604482015290519081900360640190fd5b60028054601486049081019091556108c3908590610a95565b60038054909101905560008054925060018301906108e19082610bf9565b50826000838154811015156108f257fe5b60009182526020909120600291820201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039390931692909217909155610953906109476014878891900463ffffffff610a9516565b9063ffffffff610bc416565b600080548490811061096157fe5b600091825260208083206001600290930201820193909355600160a060020a0386168252600d9092526040812084905590548154811061099d57fe5b9060005260206000209060020201600101549050806003541015156103f95760065460015460008054600160a060020a039093169263a9059cbb929081106109e157fe5b600091825260208083206002909202909101546040805160e060020a63ffffffff8716028152600160a060020a039092166004830152602482018790525160448083019491928390030190829087803b158015610a3d57600080fd5b505af1158015610a51573d6000803e3d6000fd5b505050506040513d6020811015610a6757600080fd5b5050600354610a7c908263ffffffff610a9516565b6003556001805481019055600c80548201905550505050565b600082821115610aa457600080fd5b50900390565b6000808284811515610ab857fe5b0490508091505b5092915050565b600654604080517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a03858116600483015230602483015260448201859052915191909216916323b872dd9160648083019260209291908290030181600087803b158015610b3b57600080fd5b505af1158015610b4f573d6000803e3d6000fd5b505050506040513d6020811015610b6557600080fd5b50511515600114610bc0576040805160e560020a62461bcd02815260206004820152601560248201527f7472616e73666572206d75737420737563636565640000000000000000000000604482015290519081900360640190fd5b5050565b600080831515610bd75760009150610abf565b50828202828482811515610be757fe5b0414610bf257600080fd5b9392505050565b815481835581811115610c2557600202816002028360005260206000209182019101610c259190610c2a565b505050565b610c6691905b80821115610c6257805473ffffffffffffffffffffffffffffffffffffffff1916815560006001820155600201610c30565b5090565b905600a165627a7a723058200550ca5fbdd46153887090416bc6bd5061754dc12f95ad1f2eb8e5424e73cdb30029000000000000000000000000f2f9a7e93f845b3ce154efbeb64fb9346fcce509

Deployed Bytecode

0x6080604052600436106100ed5763ffffffff60e060020a60003504166335c1d34981146100f25780633af96b901461012d57806351fe9eff1461015457806372b68e9a1461018857806378e97925146101a95780638da5cb5b146101be5780638f4ffcb1146101d35780639003adfe14610245578063a60f35881461025a578063a88c5ef71461026f578063b69ef8a814610284578063c424569014610299578063c8796572146102ae578063caec5782146102c3578063d46b136c146102e4578063dac082ef146102f9578063df0579c81461030e578063e7b0f66614610323578063fb346eab14610338575b600080fd5b3480156100fe57600080fd5b5061010a60043561034d565b60408051600160a060020a03909316835260208301919091528051918290030190f35b34801561013957600080fd5b50610142610383565b60408051918252519081900360200190f35b34801561016057600080fd5b5061016c600435610389565b60408051600160a060020a039092168252519081900360200190f35b34801561019457600080fd5b50610142600160a060020a03600435166103b1565b3480156101b557600080fd5b506101426103c3565b3480156101ca57600080fd5b5061016c6103c9565b3480156101df57600080fd5b50604080516020601f60643560048181013592830184900484028501840190955281845261024394600160a060020a038135811695602480359660443590931695369560849492019181908401838280828437509497506103d89650505050505050565b005b34801561025157600080fd5b506101426103ff565b34801561026657600080fd5b50610142610405565b34801561027b57600080fd5b5061024361040b565b34801561029057600080fd5b506101426105e5565b3480156102a557600080fd5b506102436105eb565b3480156102ba57600080fd5b50610243610608565b3480156102cf57600080fd5b50610142600160a060020a0360043516610758565b3480156102f057600080fd5b506101426107a8565b34801561030557600080fd5b5061016c6107ae565b34801561031a57600080fd5b506101426107bd565b34801561032f57600080fd5b506101426107c3565b34801561034457600080fd5b506101426107c9565b600080548290811061035b57fe5b600091825260209091206002909102018054600190910154600160a060020a03909116915082565b60075481565b600580548290811061039757fe5b600091825260209091200154600160a060020a0316905081565b600d6020526000908152604090205481565b60095481565b600454600160a060020a031681565b600654600160a060020a031633146103ef57600080fd5b6103f983856107cf565b50505050565b60025481565b60015481565b600954600090421015610468576040805160e560020a62461bcd02815260206004820152601460248201527f67616d65206e6f74207374617274656420796574000000000000000000000000604482015290519081900360640190fd5b600060015481548110151561047957fe5b9060005260206000209060020201600101549050806003541015151561050f576040805160e560020a62461bcd02815260206004820152602960248201527f696e73756666696369656e7420636f6e74726163742062616c616e636520666f60448201527f7220636173686f75740000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60065460015460008054600160a060020a039093169263a9059cbb9290811061053457fe5b600091825260208083206002909202909101546040805160e060020a63ffffffff8716028152600160a060020a039092166004830152602482018790525160448083019491928390030190829087803b15801561059057600080fd5b505af11580156105a4573d6000803e3d6000fd5b505050506040513d60208110156105ba57600080fd5b50506003546105cf908263ffffffff610a9516565b6003556001805481019055600c80549091019055565b60035481565b600454600160a060020a0316331461060257600080fd5b42600955565b600080600254111515610665576040805160e560020a62461bcd02815260206004820152600960248201527f7a65726f20666565730000000000000000000000000000000000000000000000604482015290519081900360640190fd5b5060005b60055460ff821610156107505760065460058054600160a060020a039092169163a9059cbb919060ff851690811061069d57fe5b600091825260209091200154600554600254600160a060020a03909216916106ca9163ffffffff610aaa16565b6040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561071c57600080fd5b505af1158015610730573d6000803e3d6000fd5b505050506040513d602081101561074657600080fd5b5050600101610669565b506000600255565b600154600160a060020a0382166000908152600d60205260408120549091101561079f5750600154600160a060020a0382166000908152600d6020526040902054036107a3565b5060005b919050565b60085481565b600654600160a060020a031681565b600a5481565b600c5481565b600b5481565b600080600954421015151561082e576040805160e560020a62461bcd02815260206004820152601460248201527f67616d65206e6f74207374617274656420796574000000000000000000000000604482015290519081900360640190fd5b6108388385610ac6565b600b805485019055600754841080159061085457506008548411155b15156108aa576040805160e560020a62461bcd02815260206004820152601a60248201527f746f6b656e20616d6f756e74206f7574206f6620626f756e6473000000000000604482015290519081900360640190fd5b60028054601486049081019091556108c3908590610a95565b60038054909101905560008054925060018301906108e19082610bf9565b50826000838154811015156108f257fe5b60009182526020909120600291820201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039390931692909217909155610953906109476014878891900463ffffffff610a9516565b9063ffffffff610bc416565b600080548490811061096157fe5b600091825260208083206001600290930201820193909355600160a060020a0386168252600d9092526040812084905590548154811061099d57fe5b9060005260206000209060020201600101549050806003541015156103f95760065460015460008054600160a060020a039093169263a9059cbb929081106109e157fe5b600091825260208083206002909202909101546040805160e060020a63ffffffff8716028152600160a060020a039092166004830152602482018790525160448083019491928390030190829087803b158015610a3d57600080fd5b505af1158015610a51573d6000803e3d6000fd5b505050506040513d6020811015610a6757600080fd5b5050600354610a7c908263ffffffff610a9516565b6003556001805481019055600c80548201905550505050565b600082821115610aa457600080fd5b50900390565b6000808284811515610ab857fe5b0490508091505b5092915050565b600654604080517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a03858116600483015230602483015260448201859052915191909216916323b872dd9160648083019260209291908290030181600087803b158015610b3b57600080fd5b505af1158015610b4f573d6000803e3d6000fd5b505050506040513d6020811015610b6557600080fd5b50511515600114610bc0576040805160e560020a62461bcd02815260206004820152601560248201527f7472616e73666572206d75737420737563636565640000000000000000000000604482015290519081900360640190fd5b5050565b600080831515610bd75760009150610abf565b50828202828482811515610be757fe5b0414610bf257600080fd5b9392505050565b815481835581811115610c2557600202816002028360005260206000209182019101610c259190610c2a565b505050565b610c6691905b80821115610c6257805473ffffffffffffffffffffffffffffffffffffffff1916815560006001820155600201610c30565b5090565b905600a165627a7a723058200550ca5fbdd46153887090416bc6bd5061754dc12f95ad1f2eb8e5424e73cdb30029

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000f2f9a7e93f845b3ce154efbeb64fb9346fcce509

-----Decoded View---------------
Arg [0] : tokenaddr (address): 0xF2f9A7e93f845b3ce154EfbeB64fB9346FCCE509

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000f2f9a7e93f845b3ce154efbeb64fb9346fcce509


Deployed Bytecode Sourcemap

1651:4209:0:-;;;;;;;;;-1:-1:-1;;;1651:4209:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1944:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1944:33:0;;;;;;;;;-1:-1:-1;;;;;1944:33:0;;;;;;;;;;;;;;;;;;;;;2180:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2180:27:0;;;;;;;;;;;;;;;;;;;;2113:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2113:30:0;;;;;;;;;-1:-1:-1;;;;;2113:30:0;;;;;;;;;;;;;;2409:45;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2409:45:0;-1:-1:-1;;;;;2409:45:0;;;;;2251:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2251:21:0;;;;2086:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2086:20:0;;;;3491:172;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3491:172:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3491:172:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3491:172:0;;-1:-1:-1;3491:172:0;;-1:-1:-1;;;;;;;3491:172:0;;;2018:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2018:29:0;;;;1986:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1986:25:0;;;;4957:385;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4957:385:0;;;;2054:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2054:23:0;;;;3131:93;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3131:93:0;;;;5348:277;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5348:277:0;;;;5671:186;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5671:186:0;-1:-1:-1;;;;;5671:186:0;;;;;2214:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2214:30:0;;;;2150:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2150:23:0;;;;2279:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2279:31:0;;;;2379:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2379:23:0;;;;2348:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2348:24:0;;;;1944:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1944:33:0;;;;-1:-1:-1;1944:33:0;:::o;2180:27::-;;;;:::o;2113:30::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2113:30:0;;-1:-1:-1;2113:30:0;:::o;2409:45::-;;;;;;;;;;;;;:::o;2251:21::-;;;;:::o;2086:20::-;;;-1:-1:-1;;;;;2086:20:0;;:::o;3491:172::-;3616:10;;-1:-1:-1;;;;;3616:10:0;3596;:31;3588:40;;;;;;3637:18;3643:6;3650:4;3637:5;:18::i;:::-;3491:172;;;;:::o;2018:29::-;;;;:::o;1986:25::-;;;;:::o;4957:385::-;1792:9;;5009:15;;1785:3;:16;;1777:48;;;;;-1:-1:-1;;;;;1777:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;5027:12;5040:9;;5027:23;;;;;;;;;;;;;;;;;;;;:33;;;5009:51;;5087:10;5076:7;;:21;;5068:74;;;;;;;-1:-1:-1;;;;;5068:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5151:10;;;5184:9;5151:10;5171:23;;-1:-1:-1;;;;;5151:10:0;;;;:19;;5184:9;5171:23;;;;;;;;;;;;;;;;;;;;;:36;5151:68;;;-1:-1:-1;;;5151:68:0;;;;;;-1:-1:-1;;;;;5171:36:0;;;5151:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:2:-1;;;;30:1;27;20:12;5:2;5151:68:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5151:68:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;5238:7:0;;:23;;5250:10;5238:23;:11;:23;:::i;:::-;5228:7;:33;5283:1;5270:14;;;;;;5313:9;:21;;;;;;;4957:385::o;2054:23::-;;;;:::o;3131:93::-;3188:5;;-1:-1:-1;;;;;3188:5:0;3176:10;:17;3168:26;;;;;;3213:3;3203:9;:13;3131:93::o;5348:277::-;5436:7;5409:1;5395:13;;:15;5387:36;;;;;;;-1:-1:-1;;;;;5387:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5444:1:0;5432:162;5448:13;:20;5446:22;;;;5432:162;;;5485:10;;5505:13;:16;;-1:-1:-1;;;;;5485:10:0;;;;:19;;5505:13;:16;;;;;;;;;;;;;;;;;;;;5540:13;:20;5522:13;;-1:-1:-1;;;;;5505:16:0;;;;5522:39;;;:17;:39;:::i;:::-;5485:77;;;;;-1:-1:-1;;;5485:77:0;;;;;;;-1:-1:-1;;;;;5485:77:0;-1:-1:-1;;;;;5485:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5485:77:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5485:77:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;5472:1:0;5469:4;5432:162;;;-1:-1:-1;5618:1:0;5602:13;:17;5348:277::o;5671:186::-;5754:9;;-1:-1:-1;;;;;5734:19:0;;5719:4;5734:19;;;:13;:19;;;;;;5719:4;;-1:-1:-1;5731:121:0;;;-1:-1:-1;5800:9:0;;-1:-1:-1;;;;;5780:19:0;;;;;;:13;:19;;;;;;:29;5773:36;;5731:121;-1:-1:-1;5843:1:0;5731:121;5671:186;;;:::o;2214:30::-;;;;:::o;2150:23::-;;;-1:-1:-1;;;;;2150:23:0;;:::o;2279:31::-;;;;:::o;2379:23::-;;;;:::o;2348:24::-;;;;:::o;3669:1221::-;4191:8;4463:15;1792:9;;1785:3;:16;;1777:48;;;;;;;-1:-1:-1;;;;;1777:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;3745:38;3767:4;3772:10;3745:21;:38::i;:::-;3792:10;:22;;;;;;3898:7;;3884:21;;;;;:46;;;3923:7;;3909:10;:21;;3884:46;3876:84;;;;;;;-1:-1:-1;;;;;3876:84:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;4020:13;:32;;4050:2;4037:15;;4020:32;;;;;;4072:31;;4037:10;;4072:14;:31::i;:::-;4061:7;:42;;;;;;;:7;4202:19;;;-1:-1:-1;;4230:24:0;;;;;;;:::i;:::-;;4296:4;4263:12;4276:3;4263:17;;;;;;;;;;;;;;;;;;;;;;;:37;;-1:-1:-1;;4263:37:0;-1:-1:-1;;;;;4263:37:0;;;;;;;;;;;4352:40;;4353:31;4381:2;4368:10;4353;;4368:15;;4353:31;:14;:31;:::i;:::-;4352:37;:40;:37;:40;:::i;:::-;4322:12;:17;;4335:3;;4322:17;;;;;;;;;;;;;;:27;:17;;;;;:27;;:70;;;;-1:-1:-1;;;;;4420:19:0;;;;:13;:19;;;;;;:23;;;4494:9;;4481:23;;;;;;;;;;;;;;;;;;:33;;;4463:51;;4627:10;4616:7;;:21;;4612:269;;;4655:10;;;4688:9;4655:10;4675:23;;-1:-1:-1;;;;;4655:10:0;;;;:19;;4688:9;4675:23;;;;;;;;;;;;;;;;;;;;;:36;4655:68;;;-1:-1:-1;;;4655:68:0;;;;;;-1:-1:-1;;;;;4675:36:0;;;4655:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:2:-1;;;;30:1;27;20:12;5:2;4655:68:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4655:68:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;4749:7:0;;:23;;4761:10;4749:23;:11;:23;:::i;:::-;4739:7;:33;4801:1;4788:14;;;;;;4847:9;:21;;;;;;3669:1221;;;;:::o;1100:114::-;1158:7;1182:6;;;;1174:15;;;;;;-1:-1:-1;1203:5:0;;;1100:114::o;982:112::-;1040:7;1056:9;1072:1;1068;:5;;;;;;;;1056:17;;1087:1;1080:8;;982:112;;;;;;:::o;3230:195::-;3318:10;;:53;;;;;;-1:-1:-1;;;;;3318:53:0;;;;;;;3356:4;3318:53;;;;;;;;;;;;:10;;;;;:23;;:53;;;;;;;;;;;;;;:10;;:53;;;5:2:-1;;;;30:1;27;20:12;5:2;3318:53:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3318:53:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3318:53:0;:61;;3375:4;3318:61;3310:95;;;;;-1:-1:-1;;;;;3310:95:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;3230:195;;:::o;795:181::-;853:7;;873:6;;869:37;;;897:1;890:8;;;;869:37;-1:-1:-1;924:5:0;;;928:1;924;:5;944;;;;;;;;:10;936:19;;;;;;969:1;795:181;-1:-1:-1;;;795:181:0:o;1651:4209::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;1651:4209:0;;;;;;;;;;;;;;;;;;:::o

Swarm Source

bzzr://0550ca5fbdd46153887090416bc6bd5061754dc12f95ad1f2eb8e5424e73cdb3

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.