ETH Price: $3,175.16 (-3.37%)

Contract

0xf5BbB7f9D38387A2196CD242e51808dc7E5CEF88
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Add Address128507732021-07-18 13:07:391213 days ago1626613659IN
0xf5BbB7f9...c7E5CEF88
0 ETH0.001249222
Add Address128505642021-07-18 12:22:271213 days ago1626610947IN
0xf5BbB7f9...c7E5CEF88
0 ETH0.0013059823
Add Address128505562021-07-18 12:19:471213 days ago1626610787IN
0xf5BbB7f9...c7E5CEF88
0 ETH0.0009652917
Add Address128500732021-07-18 10:30:231214 days ago1626604223IN
0xf5BbB7f9...c7E5CEF88
0 ETH0.075282917
Create Manual Wh...128500672021-07-18 10:29:281214 days ago1626604168IN
0xf5BbB7f9...c7E5CEF88
0 ETH0.001957420
Remove Address125156952021-05-27 9:49:001266 days ago1622108940IN
0xf5BbB7f9...c7E5CEF88
0 ETH0.0005971828
Add Address125156702021-05-27 9:43:421266 days ago1622108622IN
0xf5BbB7f9...c7E5CEF88
0 ETH0.0940167930
Create Manual Wh...125156652021-05-27 9:42:231266 days ago1622108543IN
0xf5BbB7f9...c7E5CEF88
0 ETH0.0029364630
Add Address125156112021-05-27 9:30:361266 days ago1622107836IN
0xf5BbB7f9...c7E5CEF88
0 ETH0.0018718233
Add Address125024412021-05-25 8:35:071268 days ago1621931707IN
0xf5BbB7f9...c7E5CEF88
0 ETH0.2048620447
Create Manual Wh...125024342021-05-25 8:34:151268 days ago1621931655IN
0xf5BbB7f9...c7E5CEF88
0 ETH0.0046004547
Add Address125021762021-05-25 7:33:041268 days ago1621927984IN
0xf5BbB7f9...c7E5CEF88
0 ETH0.0022688840
Remove Address124764482021-05-21 7:52:251272 days ago1621583545IN
0xf5BbB7f9...c7E5CEF88
0 ETH0.00130161
Add Address124764272021-05-21 7:45:581272 days ago1621583158IN
0xf5BbB7f9...c7E5CEF88
0 ETH0.3154258251
Create Manual Wh...124764232021-05-21 7:44:481272 days ago1621583088IN
0xf5BbB7f9...c7E5CEF88
0 ETH0.0049919851
Add Address124763672021-05-21 7:31:291272 days ago1621582289IN
0xf5BbB7f9...c7E5CEF88
0 ETH0.0031764356
Remove Address124639052021-05-19 9:09:221274 days ago1621415362IN
0xf5BbB7f9...c7E5CEF88
0 ETH0.001983593
Add Address124638752021-05-19 9:03:061274 days ago1621414986IN
0xf5BbB7f9...c7E5CEF88
0 ETH0.64200246107
Create Manual Wh...124638692021-05-19 9:01:451274 days ago1621414905IN
0xf5BbB7f9...c7E5CEF88
0 ETH0.01066913109
Add Address124638102021-05-19 8:47:191274 days ago1621414039IN
0xf5BbB7f9...c7E5CEF88
0 ETH0.0056722100
Add Address124588622021-05-18 14:14:461274 days ago1621347286IN
0xf5BbB7f9...c7E5CEF88
0 ETH0.00675848119
Remove Address124576592021-05-18 9:52:361275 days ago1621331556IN
0xf5BbB7f9...c7E5CEF88
0 ETH0.0014076466
Add Address124575972021-05-18 9:40:221275 days ago1621330822IN
0xf5BbB7f9...c7E5CEF88
0 ETH0.3841064373
Create Manual Wh...124575912021-05-18 9:39:371275 days ago1621330777IN
0xf5BbB7f9...c7E5CEF88
0 ETH0.0065580967
Add Address124542052021-05-17 20:51:291275 days ago1621284689IN
0xf5BbB7f9...c7E5CEF88
0 ETH0.00623942110
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
WhiteList

Compiler Version
v0.4.26+commit.4563c3fc

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2021-03-07
*/

pragma solidity ^0.4.26;// SPDX-License-Identifier: MIT


contract WhiteListHelper{
    event NewWhiteList(uint _WhiteListCount, address _creator, address _contract, uint _changeUntil);

    modifier OnlyCreator(uint256 _Id) {
        require(
            WhitelistSettings[_Id].Creator == msg.sender,
            "Only creator can access"
        );
        _;
    }

    modifier TimeRemaining(uint256 _Id){
        require(
            now < WhitelistSettings[_Id].ChangeUntil,
            "Time for edit is finished"
        );
        _;
    }

    modifier ValidateId(uint256 _Id){
        require(_Id < WhiteListCount, "Wrong ID");
        _;
    }

    struct WhiteListItem {
        // uint256 Limit;
        address Creator;
        uint256 ChangeUntil;
        //uint256 DrawLimit;
        //uint256 SignUpPrice;
        address Contract;
        // mapping(address => uint256) WhiteListDB;
        bool isReady; // defualt false | true after first address is added
    }

    mapping(uint256 => mapping(address => uint256)) public WhitelistDB;
    mapping(uint256 => WhiteListItem) public WhitelistSettings;
    uint256 public WhiteListCost;
    uint256 public WhiteListCount;

    function _AddAddress(uint256 _Id, address user, uint amount) internal {
        WhitelistDB[_Id][user] = amount;
    }

    function _RemoveAddress(uint256 _Id, address user) internal {
        WhitelistDB[_Id][user] = 0;
    }

    function isWhiteListReady(uint256 _Id) external view returns(bool){
        return WhitelistSettings[_Id].isReady;
    }

    //View function to Check if address is whitelisted
    function Check(address _user, uint256 _id) external view returns(uint){
        if (_id == 0) return uint256(-1);
        return WhitelistDB[_id][_user];
    }
}/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
  address public owner;


  event OwnershipRenounced(address indexed previousOwner);
  event OwnershipTransferred(
    address indexed previousOwner,
    address indexed newOwner
  );


  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  constructor() public {
    owner = msg.sender;
  }

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

  /**
   * @dev Allows the current owner to relinquish control of the contract.
   * @notice Renouncing to ownership will leave the contract without an owner.
   * It will not be possible to call the functions with the `onlyOwner`
   * modifier anymore.
   */
  function renounceOwnership() public onlyOwner {
    emit OwnershipRenounced(owner);
    owner = address(0);
  }

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

  /**
   * @dev Transfers control of the contract to a newOwner.
   * @param _newOwner The address to transfer ownership to.
   */
  function _transferOwnership(address _newOwner) internal {
    require(_newOwner != address(0));
    emit OwnershipTransferred(owner, _newOwner);
    owner = _newOwner;
  }
}// SPDX-License-Identifier: MIT





contract WhiteList is WhiteListHelper, Ownable{
    constructor() public {
        WhiteListCount = 1; //0 is off
        MaxUsersLimit = 10;
        WhiteListCost = 0.01 ether;
    }

    //uint256 public SignUpCost;
    uint256 public MaxUsersLimit;

    modifier isBelowUserLimit(uint256 _limit) {
        require(_limit <= MaxUsersLimit, "Maximum User Limit exceeded");
        _;
    }

    function setMaxUsersLimit(uint256 _limit) external onlyOwner {
        MaxUsersLimit = _limit;
    }
    
    function WithdrawETHFee(address _to) public onlyOwner {
        _to.transfer(address(this).balance); 
    }

    function setWhiteListCost(uint256 _newCost) external onlyOwner {
        WhiteListCost = _newCost;
    }

    function CreateManualWhiteList(
        uint256 _ChangeUntil,
        address _Contract
    ) public payable returns (uint256 Id) {
        require(msg.value >= WhiteListCost, "ether not enough");
        WhitelistSettings[WhiteListCount] =  WhiteListItem(
            /*_Limit == 0 ? uint256(-1) :*/
            // _Limit,
            msg.sender,
            _ChangeUntil,
            _Contract,
            false
        );
        uint256 temp = WhiteListCount;
        WhiteListCount++;
        emit NewWhiteList(temp, msg.sender, _Contract, _ChangeUntil);
        return temp;
    }

    function ChangeCreator(uint256 _Id, address _NewCreator)
        external
        OnlyCreator(_Id)
        TimeRemaining(_Id)
        ValidateId(_Id)
    {
        WhitelistSettings[_Id].Creator = _NewCreator;
    }

    function ChangeContract(uint256 _Id, address _NewContract)
        external
        OnlyCreator(_Id)
        TimeRemaining(_Id)
        ValidateId(_Id)
    {
        WhitelistSettings[_Id].Contract = _NewContract;
    }

    function AddAddress(uint256 _Id, address[] _Users, uint256[] _Amount)
        public
        OnlyCreator(_Id)
        TimeRemaining(_Id)
        ValidateId(_Id)
        isBelowUserLimit(_Users.length)
    {
        require(_Users.length == _Amount.length, "Number of users should be same as the amount length");
        require(_Users.length > 0,"Need something...");
        if(!WhitelistSettings[_Id].isReady){
            WhitelistSettings[_Id].isReady = true;
        }
        for (uint256 index = 0; index < _Users.length; index++) {
            _AddAddress(_Id, _Users[index], _Amount[index]);
        }
    }

    function RemoveAddress(uint256 _Id, address[] _Users)
        public
        OnlyCreator(_Id)
        TimeRemaining(_Id)
        ValidateId(_Id)
        isBelowUserLimit(_Users.length)
    {
        for (uint256 index = 0; index < _Users.length; index++) {
            _RemoveAddress(_Id, _Users[index]);
        }
    }

    function Register(
        address _Subject,
        uint256 _Id,
        uint256 _Amount
    ) external {
        if (_Id == 0) return;
        require(
            msg.sender == WhitelistSettings[_Id].Contract,
            "Only the Contract can call this"
        );
        require(
            WhitelistDB[_Id][_Subject] >= _Amount,
            "Sorry, no alocation for Subject"
        );
        uint256 temp = WhitelistDB[_Id][_Subject] - _Amount;
        WhitelistDB[_Id][_Subject] = temp;
        assert(WhitelistDB[_Id][_Subject] == temp);
    }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"_Id","type":"uint256"},{"name":"_Users","type":"address[]"}],"name":"RemoveAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_Subject","type":"address"},{"name":"_Id","type":"uint256"},{"name":"_Amount","type":"uint256"}],"name":"Register","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_ChangeUntil","type":"uint256"},{"name":"_Contract","type":"address"}],"name":"CreateManualWhiteList","outputs":[{"name":"Id","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"_Id","type":"uint256"}],"name":"isWhiteListReady","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_limit","type":"uint256"}],"name":"setMaxUsersLimit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"WhiteListCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"},{"name":"","type":"address"}],"name":"WhitelistDB","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":"_to","type":"address"}],"name":"WithdrawETHFee","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_Id","type":"uint256"},{"name":"_NewContract","type":"address"}],"name":"ChangeContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"MaxUsersLimit","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_Id","type":"uint256"},{"name":"_NewCreator","type":"address"}],"name":"ChangeCreator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"WhitelistSettings","outputs":[{"name":"Creator","type":"address"},{"name":"ChangeUntil","type":"uint256"},{"name":"Contract","type":"address"},{"name":"isReady","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_Id","type":"uint256"},{"name":"_Users","type":"address[]"},{"name":"_Amount","type":"uint256[]"}],"name":"AddAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newCost","type":"uint256"}],"name":"setWhiteListCost","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_user","type":"address"},{"name":"_id","type":"uint256"}],"name":"Check","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"WhiteListCost","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_WhiteListCount","type":"uint256"},{"indexed":false,"name":"_creator","type":"address"},{"indexed":false,"name":"_contract","type":"address"},{"indexed":false,"name":"_changeUntil","type":"uint256"}],"name":"NewWhiteList","type":"event"}]

608060405234801561001057600080fd5b5060048054600160a060020a031916331790556001600355600a600555662386f26fc10000600255611109806100476000396000f3006080604052600436106101065763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301ad22f9811461010b5780631d759fb2146101675780634f4329bc1461018e5780634fb2975d146101b7578063715018a6146101e3578063716495b9146101f85780637f77f7b0146102105780638a3a6947146102255780638da5cb5b14610249578063991e979a1461027a578063a3da77681461029b578063ac6f10cc146102bf578063adb8cec0146102d4578063b2fe3d8e146102f8578063b9313a9214610345578063c7e9d141146103d8578063cc44919b146103f0578063e36c15e614610414578063f2fde38b14610429575b600080fd5b34801561011757600080fd5b506040805160206004602480358281013584810280870186019097528086526101659684359636966044959194909101929182918501908490808284375094975061044a9650505050505050565b005b34801561017357600080fd5b50610165600160a060020a03600435166024356044356105e9565b6101a5600435600160a060020a0360243516610711565b60408051918252519081900360200190f35b3480156101c357600080fd5b506101cf60043561086a565b604080519115158252519081900360200190f35b3480156101ef57600080fd5b50610165610889565b34801561020457600080fd5b506101656004356108f7565b34801561021c57600080fd5b506101a5610913565b34801561023157600080fd5b506101a5600435600160a060020a0360243516610919565b34801561025557600080fd5b5061025e610933565b60408051600160a060020a039092168252519081900360200190f35b34801561028657600080fd5b50610165600160a060020a0360043516610942565b3480156102a757600080fd5b50610165600435600160a060020a0360243516610993565b3480156102cb57600080fd5b506101a5610ad4565b3480156102e057600080fd5b50610165600435600160a060020a0360243516610ada565b34801561030457600080fd5b50610310600435610c18565b60408051600160a060020a03958616815260208101949094529190931682820152911515606082015290519081900360800190f35b34801561035157600080fd5b5060408051602060046024803582810135848102808701860190975280865261016596843596369660449591949091019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750949750610c519650505050505050565b3480156103e457600080fd5b50610165600435610f37565b3480156103fc57600080fd5b506101a5600160a060020a0360043516602435610f53565b34801561042057600080fd5b506101a5610f8e565b34801561043557600080fd5b50610165600160a060020a0360043516610f94565b6000828152600160205260408120548390600160a060020a031633146104a8576040805160e560020a62461bcd028152602060048201526017602482015260008051602061109e833981519152604482015290519081900360640190fd5b6000848152600160208190526040909120015484904210610501576040805160e560020a62461bcd028152602060048201526019602482015260008051602061107e833981519152604482015290519081900360640190fd5b6003548590811061054a576040805160e560020a62461bcd02815260206004820152600860248201526000805160206110be833981519152604482015290519081900360640190fd5b84516005548111156105a6576040805160e560020a62461bcd02815260206004820152601b60248201527f4d6178696d756d2055736572204c696d69742065786365656465640000000000604482015290519081900360640190fd5b600094505b85518510156105e0576105d58787878151811015156105c657fe5b90602001906020020151610fb7565b6001909401936105ab565b50505050505050565b60008215156105f75761070b565b600083815260016020526040902060020154600160a060020a03163314610668576040805160e560020a62461bcd02815260206004820152601f60248201527f4f6e6c792074686520436f6e74726163742063616e2063616c6c207468697300604482015290519081900360640190fd5b600083815260208181526040808320600160a060020a03881684529091529020548211156106e0576040805160e560020a62461bcd02815260206004820152601f60248201527f536f7272792c206e6f20616c6f636174696f6e20666f72205375626a65637400604482015290519081900360640190fd5b50600082815260208181526040808320600160a060020a038716845290915290208054829003908190555b50505050565b6000806002543410151515610770576040805160e560020a62461bcd02815260206004820152601060248201527f6574686572206e6f7420656e6f75676800000000000000000000000000000000604482015290519081900360640190fd5b506040805160808181018352338083526020808401888152600160a060020a0388811686880181815260006060808a018281526003805484526001808a52938d90209b518c5490881673ffffffffffffffffffffffffffffffffffffffff19918216178d5597518c85015593516002909b0180549151151560a060020a0274ff0000000000000000000000000000000000000000199c9097169190971617999099169390931790935582549182019092558651818152928301939093528186015292830187905292517f085c1c7e6b017b7388970f1dca2f883a787103be74e88f24c1ae63e692d5c47c9281900390910190a19392505050565b60009081526001602052604090206002015460a060020a900460ff1690565b600454600160a060020a031633146108a057600080fd5b600454604051600160a060020a03909116907ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482090600090a26004805473ffffffffffffffffffffffffffffffffffffffff19169055565b600454600160a060020a0316331461090e57600080fd5b600555565b60035481565b600060208181529281526040808220909352908152205481565b600454600160a060020a031681565b600454600160a060020a0316331461095957600080fd5b604051600160a060020a03821690303180156108fc02916000818181858888f1935050505015801561098f573d6000803e3d6000fd5b5050565b6000828152600160205260409020548290600160a060020a031633146109f1576040805160e560020a62461bcd028152602060048201526017602482015260008051602061109e833981519152604482015290519081900360640190fd5b6000838152600160208190526040909120015483904210610a4a576040805160e560020a62461bcd028152602060048201526019602482015260008051602061107e833981519152604482015290519081900360640190fd5b60035484908110610a93576040805160e560020a62461bcd02815260206004820152600860248201526000805160206110be833981519152604482015290519081900360640190fd5b505050600091825260016020526040909120600201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055565b60055481565b6000828152600160205260409020548290600160a060020a03163314610b38576040805160e560020a62461bcd028152602060048201526017602482015260008051602061109e833981519152604482015290519081900360640190fd5b6000838152600160208190526040909120015483904210610b91576040805160e560020a62461bcd028152602060048201526019602482015260008051602061107e833981519152604482015290519081900360640190fd5b60035484908110610bda576040805160e560020a62461bcd02815260206004820152600860248201526000805160206110be833981519152604482015290519081900360640190fd5b505050600091825260016020526040909120805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055565b6001602081905260009182526040909120805491810154600290910154600160a060020a039283169281169060a060020a900460ff1684565b6000838152600160205260408120548490600160a060020a03163314610caf576040805160e560020a62461bcd028152602060048201526017602482015260008051602061109e833981519152604482015290519081900360640190fd5b6000858152600160208190526040909120015485904210610d08576040805160e560020a62461bcd028152602060048201526019602482015260008051602061107e833981519152604482015290519081900360640190fd5b60035486908110610d51576040805160e560020a62461bcd02815260206004820152600860248201526000805160206110be833981519152604482015290519081900360640190fd5b8551600554811115610dad576040805160e560020a62461bcd02815260206004820152601b60248201527f4d6178696d756d2055736572204c696d69742065786365656465640000000000604482015290519081900360640190fd5b8551875114610e2c576040805160e560020a62461bcd02815260206004820152603360248201527f4e756d626572206f662075736572732073686f756c642062652073616d65206160448201527f732074686520616d6f756e74206c656e67746800000000000000000000000000606482015290519081900360840190fd5b8651600010610e85576040805160e560020a62461bcd02815260206004820152601160248201527f4e65656420736f6d657468696e672e2e2e000000000000000000000000000000604482015290519081900360640190fd5b60008881526001602052604090206002015460a060020a900460ff161515610edb576000888152600160205260409020600201805474ff0000000000000000000000000000000000000000191660a060020a1790555b600094505b8651851015610f2d57610f22888887815181101515610efb57fe5b906020019060200201518888815181101515610f1357fe5b90602001906020020151610fdb565b600190940193610ee0565b5050505050505050565b600454600160a060020a03163314610f4e57600080fd5b600255565b6000811515610f655750600019610f88565b50600081815260208181526040808320600160a060020a03861684529091529020545b92915050565b60025481565b600454600160a060020a03163314610fab57600080fd5b610fb481610fff565b50565b600091825260208281526040808420600160a060020a039093168452919052812055565b600092835260208381526040808520600160a060020a039094168552929052912055565b600160a060020a038116151561101457600080fd5b600454604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055560054696d6520666f7220656469742069732066696e6973686564000000000000004f6e6c792063726561746f722063616e2061636365737300000000000000000057726f6e67204944000000000000000000000000000000000000000000000000a165627a7a72305820b22543ef2813f1689bfea4532d9689b1e057a09b3b39580efc5faa3884cd09af0029

Deployed Bytecode

0x6080604052600436106101065763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301ad22f9811461010b5780631d759fb2146101675780634f4329bc1461018e5780634fb2975d146101b7578063715018a6146101e3578063716495b9146101f85780637f77f7b0146102105780638a3a6947146102255780638da5cb5b14610249578063991e979a1461027a578063a3da77681461029b578063ac6f10cc146102bf578063adb8cec0146102d4578063b2fe3d8e146102f8578063b9313a9214610345578063c7e9d141146103d8578063cc44919b146103f0578063e36c15e614610414578063f2fde38b14610429575b600080fd5b34801561011757600080fd5b506040805160206004602480358281013584810280870186019097528086526101659684359636966044959194909101929182918501908490808284375094975061044a9650505050505050565b005b34801561017357600080fd5b50610165600160a060020a03600435166024356044356105e9565b6101a5600435600160a060020a0360243516610711565b60408051918252519081900360200190f35b3480156101c357600080fd5b506101cf60043561086a565b604080519115158252519081900360200190f35b3480156101ef57600080fd5b50610165610889565b34801561020457600080fd5b506101656004356108f7565b34801561021c57600080fd5b506101a5610913565b34801561023157600080fd5b506101a5600435600160a060020a0360243516610919565b34801561025557600080fd5b5061025e610933565b60408051600160a060020a039092168252519081900360200190f35b34801561028657600080fd5b50610165600160a060020a0360043516610942565b3480156102a757600080fd5b50610165600435600160a060020a0360243516610993565b3480156102cb57600080fd5b506101a5610ad4565b3480156102e057600080fd5b50610165600435600160a060020a0360243516610ada565b34801561030457600080fd5b50610310600435610c18565b60408051600160a060020a03958616815260208101949094529190931682820152911515606082015290519081900360800190f35b34801561035157600080fd5b5060408051602060046024803582810135848102808701860190975280865261016596843596369660449591949091019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750949750610c519650505050505050565b3480156103e457600080fd5b50610165600435610f37565b3480156103fc57600080fd5b506101a5600160a060020a0360043516602435610f53565b34801561042057600080fd5b506101a5610f8e565b34801561043557600080fd5b50610165600160a060020a0360043516610f94565b6000828152600160205260408120548390600160a060020a031633146104a8576040805160e560020a62461bcd028152602060048201526017602482015260008051602061109e833981519152604482015290519081900360640190fd5b6000848152600160208190526040909120015484904210610501576040805160e560020a62461bcd028152602060048201526019602482015260008051602061107e833981519152604482015290519081900360640190fd5b6003548590811061054a576040805160e560020a62461bcd02815260206004820152600860248201526000805160206110be833981519152604482015290519081900360640190fd5b84516005548111156105a6576040805160e560020a62461bcd02815260206004820152601b60248201527f4d6178696d756d2055736572204c696d69742065786365656465640000000000604482015290519081900360640190fd5b600094505b85518510156105e0576105d58787878151811015156105c657fe5b90602001906020020151610fb7565b6001909401936105ab565b50505050505050565b60008215156105f75761070b565b600083815260016020526040902060020154600160a060020a03163314610668576040805160e560020a62461bcd02815260206004820152601f60248201527f4f6e6c792074686520436f6e74726163742063616e2063616c6c207468697300604482015290519081900360640190fd5b600083815260208181526040808320600160a060020a03881684529091529020548211156106e0576040805160e560020a62461bcd02815260206004820152601f60248201527f536f7272792c206e6f20616c6f636174696f6e20666f72205375626a65637400604482015290519081900360640190fd5b50600082815260208181526040808320600160a060020a038716845290915290208054829003908190555b50505050565b6000806002543410151515610770576040805160e560020a62461bcd02815260206004820152601060248201527f6574686572206e6f7420656e6f75676800000000000000000000000000000000604482015290519081900360640190fd5b506040805160808181018352338083526020808401888152600160a060020a0388811686880181815260006060808a018281526003805484526001808a52938d90209b518c5490881673ffffffffffffffffffffffffffffffffffffffff19918216178d5597518c85015593516002909b0180549151151560a060020a0274ff0000000000000000000000000000000000000000199c9097169190971617999099169390931790935582549182019092558651818152928301939093528186015292830187905292517f085c1c7e6b017b7388970f1dca2f883a787103be74e88f24c1ae63e692d5c47c9281900390910190a19392505050565b60009081526001602052604090206002015460a060020a900460ff1690565b600454600160a060020a031633146108a057600080fd5b600454604051600160a060020a03909116907ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482090600090a26004805473ffffffffffffffffffffffffffffffffffffffff19169055565b600454600160a060020a0316331461090e57600080fd5b600555565b60035481565b600060208181529281526040808220909352908152205481565b600454600160a060020a031681565b600454600160a060020a0316331461095957600080fd5b604051600160a060020a03821690303180156108fc02916000818181858888f1935050505015801561098f573d6000803e3d6000fd5b5050565b6000828152600160205260409020548290600160a060020a031633146109f1576040805160e560020a62461bcd028152602060048201526017602482015260008051602061109e833981519152604482015290519081900360640190fd5b6000838152600160208190526040909120015483904210610a4a576040805160e560020a62461bcd028152602060048201526019602482015260008051602061107e833981519152604482015290519081900360640190fd5b60035484908110610a93576040805160e560020a62461bcd02815260206004820152600860248201526000805160206110be833981519152604482015290519081900360640190fd5b505050600091825260016020526040909120600201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055565b60055481565b6000828152600160205260409020548290600160a060020a03163314610b38576040805160e560020a62461bcd028152602060048201526017602482015260008051602061109e833981519152604482015290519081900360640190fd5b6000838152600160208190526040909120015483904210610b91576040805160e560020a62461bcd028152602060048201526019602482015260008051602061107e833981519152604482015290519081900360640190fd5b60035484908110610bda576040805160e560020a62461bcd02815260206004820152600860248201526000805160206110be833981519152604482015290519081900360640190fd5b505050600091825260016020526040909120805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055565b6001602081905260009182526040909120805491810154600290910154600160a060020a039283169281169060a060020a900460ff1684565b6000838152600160205260408120548490600160a060020a03163314610caf576040805160e560020a62461bcd028152602060048201526017602482015260008051602061109e833981519152604482015290519081900360640190fd5b6000858152600160208190526040909120015485904210610d08576040805160e560020a62461bcd028152602060048201526019602482015260008051602061107e833981519152604482015290519081900360640190fd5b60035486908110610d51576040805160e560020a62461bcd02815260206004820152600860248201526000805160206110be833981519152604482015290519081900360640190fd5b8551600554811115610dad576040805160e560020a62461bcd02815260206004820152601b60248201527f4d6178696d756d2055736572204c696d69742065786365656465640000000000604482015290519081900360640190fd5b8551875114610e2c576040805160e560020a62461bcd02815260206004820152603360248201527f4e756d626572206f662075736572732073686f756c642062652073616d65206160448201527f732074686520616d6f756e74206c656e67746800000000000000000000000000606482015290519081900360840190fd5b8651600010610e85576040805160e560020a62461bcd02815260206004820152601160248201527f4e65656420736f6d657468696e672e2e2e000000000000000000000000000000604482015290519081900360640190fd5b60008881526001602052604090206002015460a060020a900460ff161515610edb576000888152600160205260409020600201805474ff0000000000000000000000000000000000000000191660a060020a1790555b600094505b8651851015610f2d57610f22888887815181101515610efb57fe5b906020019060200201518888815181101515610f1357fe5b90602001906020020151610fdb565b600190940193610ee0565b5050505050505050565b600454600160a060020a03163314610f4e57600080fd5b600255565b6000811515610f655750600019610f88565b50600081815260208181526040808320600160a060020a03861684529091529020545b92915050565b60025481565b600454600160a060020a03163314610fab57600080fd5b610fb481610fff565b50565b600091825260208281526040808420600160a060020a039093168452919052812055565b600092835260208381526040808520600160a060020a039094168552929052912055565b600160a060020a038116151561101457600080fd5b600454604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055560054696d6520666f7220656469742069732066696e6973686564000000000000004f6e6c792063726561746f722063616e2061636365737300000000000000000057726f6e67204944000000000000000000000000000000000000000000000000a165627a7a72305820b22543ef2813f1689bfea4532d9689b1e057a09b3b39580efc5faa3884cd09af0029

Deployed Bytecode Sourcemap

3590:3385:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6061:330;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6061:330:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6061:330:0;;-1:-1:-1;6061:330:0;;-1:-1:-1;;;;;;;6061:330:0;;;6399:573;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6399:573:0;-1:-1:-1;;;;;6399:573:0;;;;;;;;;4346:604;;;;-1:-1:-1;;;;;4346:604:0;;;;;;;;;;;;;;;;;;;;;1478:122;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1478:122:0;;;;;;;;;;;;;;;;;;;;;;;2841:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2841:114:0;;;;4001:102;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4001:102:0;;;;;1199:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1199:29:0;;;;1026:66;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1026:66:0;;;-1:-1:-1;;;;;1026:66:0;;;;;2046:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2046:20:0;;;;;;;;-1:-1:-1;;;;;2046:20:0;;;;;;;;;;;;;;4115:109;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4115:109:0;-1:-1:-1;;;;;4115:109:0;;;;;5188:226;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5188:226:0;;;-1:-1:-1;;;;;5188:226:0;;;;;3820:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3820:28:0;;;;4958:222;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4958:222:0;;;-1:-1:-1;;;;;4958:222:0;;;;;1099:58;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1099:58:0;;;;;;;;;-1:-1:-1;;;;;1099:58:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5422:631;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5422:631:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5422:631:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5422:631:0;;;;-1:-1:-1;5422:631:0;-1:-1:-1;5422:631:0;;-1:-1:-1;5422:631:0;;;;;;;;;-1:-1:-1;5422:631:0;;-1:-1:-1;5422:631:0;;-1:-1:-1;;;;;;;5422:631:0;4232:106;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4232:106:0;;;;;1664:162;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1664:162:0;-1:-1:-1;;;;;1664:162:0;;;;;;;1164:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1164:28:0;;;;3123:105;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3123:105:0;-1:-1:-1;;;;;3123:105:0;;;;;6061:330;6272:13;264:22;;;:17;:22;;;;;:30;6152:3;;-1:-1:-1;;;;;264:30:0;298:10;264:44;242:117;;;;;-1:-1:-1;;;;;242:117:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;242:117:0;;;;;;;;;;;;;;;461:22;;;;:17;:22;;;;;;;;:34;;6180:3;;455;:40;433:115;;;;;-1:-1:-1;;;;;433:115:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;433:115:0;;;;;;;;;;;;;;;633:14;;6205:3;;627:20;;619:41;;;;;-1:-1:-1;;;;;619:41:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;619:41:0;;;;;;;;;;;;;;;6236:13;;3928;;3918:23;;;3910:63;;;;;-1:-1:-1;;;;;3910:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;6288:1;6272:17;;6267:117;6299:6;:13;6291:5;:21;6267:117;;;6338:34;6353:3;6358:6;6365:5;6358:13;;;;;;;;;;;;;;;;;;6338:14;:34::i;:::-;6314:7;;;;;6267:117;;;671:1;559;370;6061:330;;;;:::o;6399:573::-;6816:12;6523:8;;6519:21;;;6533:7;;6519:21;6586:22;;;;:17;:22;;;;;:31;;;-1:-1:-1;;;;;6586:31:0;6572:10;:45;6550:126;;;;;-1:-1:-1;;;;;6550:126:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;6709:11;:16;;;;;;;;;;;-1:-1:-1;;;;;6709:26:0;;;;;;;;;;:37;-1:-1:-1;6709:37:0;6687:118;;;;;-1:-1:-1;;;;;6687:118:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6831:11:0;:16;;;;;;;;;;;-1:-1:-1;;;;;6831:26:0;;;;;;;;;;;:36;;;6878:33;;;;6922:42;6399:573;;;;:::o;4346:604::-;4467:10;4793:12;4511:13;;4498:9;:26;;4490:55;;;;;;;-1:-1:-1;;;;;4490:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4593:189:0;;;;;;;;;4690:10;4593:189;;;;;;;;;;-1:-1:-1;;;;;4593:189:0;;;;;;;;;-1:-1:-1;4593:189:0;;;;;;;4574:14;;;4556:33;;4593:189;4556:33;;;;;;;:226;;;;;;;-1:-1:-1;;4556:226:0;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4556:226:0;-1:-1:-1;;4556:226:0;;;;;;;;;;;;;;;;;;;;4808:14;;4833:16;;;;;;4865:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4938:4;4346:604;-1:-1:-1;;;4346:604:0:o;1478:122::-;1539:4;1562:22;;;:17;:22;;;;;:30;;;-1:-1:-1;;;1562:30:0;;;;;1478:122::o;2841:114::-;2549:5;;-1:-1:-1;;;;;2549:5:0;2535:10;:19;2527:28;;;;;;2918:5;;2899:25;;-1:-1:-1;;;;;2918:5:0;;;;2899:25;;2918:5;;2899:25;2931:5;:18;;-1:-1:-1;;2931:18:0;;;2841:114::o;4001:102::-;2549:5;;-1:-1:-1;;;;;2549:5:0;2535:10;:19;2527:28;;;;;;4073:13;:22;4001:102::o;1199:29::-;;;;:::o;1026:66::-;;;;;;;;;;;;;;;;;;;;;;:::o;2046:20::-;;;-1:-1:-1;;;;;2046:20:0;;:::o;4115:109::-;2549:5;;-1:-1:-1;;;;;2549:5:0;2535:10;:19;2527:28;;;;;;4180:35;;-1:-1:-1;;;;;4180:12:0;;;4201:4;4193:21;4180:35;;;;;;;;;4193:21;4180:12;:35;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4180:35:0;4115:109;:::o;5188:226::-;264:22;;;;:17;:22;;;;;:30;5286:3;;-1:-1:-1;;;;;264:30:0;298:10;264:44;242:117;;;;;-1:-1:-1;;;;;242:117:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;242:117:0;;;;;;;;;;;;;;;461:22;;;;:17;:22;;;;;;;;:34;;5314:3;;455;:40;433:115;;;;;-1:-1:-1;;;;;433:115:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;433:115:0;;;;;;;;;;;;;;;633:14;;5339:3;;627:20;;619:41;;;;;-1:-1:-1;;;;;619:41:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;619:41:0;;;;;;;;;;;;;;;-1:-1:-1;;;5360:22:0;;;;:17;:22;;;;;;:31;;:46;;-1:-1:-1;;5360:46:0;-1:-1:-1;;;;;5360:46:0;;;;;;;;;5188:226::o;3820:28::-;;;;:::o;4958:222::-;264:22;;;;:17;:22;;;;;:30;5054:3;;-1:-1:-1;;;;;264:30:0;298:10;264:44;242:117;;;;;-1:-1:-1;;;;;242:117:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;242:117:0;;;;;;;;;;;;;;;461:22;;;;:17;:22;;;;;;;;:34;;5082:3;;455;:40;433:115;;;;;-1:-1:-1;;;;;433:115:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;433:115:0;;;;;;;;;;;;;;;633:14;;5107:3;;627:20;;619:41;;;;;-1:-1:-1;;;;;619:41:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;619:41:0;;;;;;;;;;;;;;;-1:-1:-1;;;5128:22:0;;;;:17;:22;;;;;;:44;;-1:-1:-1;;5128:44:0;-1:-1:-1;;;;;5128:44:0;;;;;;;;;4958:222::o;1099:58::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1099:58:0;;;;;;;-1:-1:-1;;;1099:58:0;;;;;:::o;5422:631::-;5921:13;264:22;;;:17;:22;;;;;:30;5529:3;;-1:-1:-1;;;;;264:30:0;298:10;264:44;242:117;;;;;-1:-1:-1;;;;;242:117:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;242:117:0;;;;;;;;;;;;;;;461:22;;;;:17;:22;;;;;;;;:34;;5557:3;;455;:40;433:115;;;;;-1:-1:-1;;;;;433:115:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;433:115:0;;;;;;;;;;;;;;;633:14;;5582:3;;627:20;;619:41;;;;;-1:-1:-1;;;;;619:41:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;619:41:0;;;;;;;;;;;;;;;5613:13;;3928;;3918:23;;;3910:63;;;;;-1:-1:-1;;;;;3910:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;5669:14;;5652:13;;:31;5644:95;;;;;-1:-1:-1;;;;;5644:95:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5758:13;;5774:1;-1:-1:-1;5750:46:0;;;;;-1:-1:-1;;;;;5750:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;5811:22;;;;:17;:22;;;;;:30;;;-1:-1:-1;;;5811:30:0;;;;5810:31;5807:99;;;5857:22;;;;5890:4;5857:22;;;;;:30;;:37;;-1:-1:-1;;5857:37:0;-1:-1:-1;;;5857:37:0;;;5807:99;5937:1;5921:17;;5916:130;5948:6;:13;5940:5;:21;5916:130;;;5987:47;5999:3;6004:6;6011:5;6004:13;;;;;;;;;;;;;;;;;;6019:7;6027:5;6019:14;;;;;;;;;;;;;;;;;;5987:11;:47::i;:::-;5963:7;;;;;5916:130;;;671:1;559;370;5422:631;;;;;:::o;4232:106::-;2549:5;;-1:-1:-1;;;;;2549:5:0;2535:10;:19;2527:28;;;;;;4306:13;:24;4232:106::o;1664:162::-;1729:4;1749:8;;1745:32;;;-1:-1:-1;;;1759:18:0;;1745:32;-1:-1:-1;1795:11:0;:16;;;;;;;;;;;-1:-1:-1;;;;;1795:23:0;;;;;;;;;;1664:162;;;;;:::o;1164:28::-;;;;:::o;3123:105::-;2549:5;;-1:-1:-1;;;;;2549:5:0;2535:10;:19;2527:28;;;;;;3193:29;3212:9;3193:18;:29::i;:::-;3123:105;:::o;1365:::-;1461:1;1436:16;;;;;;;;;;;-1:-1:-1;;;;;1436:22:0;;;;;;;;;;:26;1365:105::o;1237:120::-;1318:11;:16;;;;;;;;;;;-1:-1:-1;;;;;1318:22:0;;;;;;;;;;:31;1237:120::o;3369:175::-;-1:-1:-1;;;;;3440:23:0;;;;3432:32;;;;;;3497:5;;3476:38;;-1:-1:-1;;;;;3476:38:0;;;;3497:5;;3476:38;;3497:5;;3476:38;3521:5;:17;;-1:-1:-1;;3521:17:0;-1:-1:-1;;;;;3521:17:0;;;;;;;;;;3369:175::o

Swarm Source

bzzr://b22543ef2813f1689bfea4532d9689b1e057a09b3b39580efc5faa3884cd09af

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.