More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 634 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Register | 39704332 | 4 hrs ago | IN | 0.1 xDAI | 0.0000014 | ||||
Claim | 39704277 | 4 hrs ago | IN | 0 xDAI | 0.00000096 | ||||
Claim Bounty | 39704261 | 4 hrs ago | IN | 0 xDAI | 0.00000204 | ||||
Register | 39675774 | 45 hrs ago | IN | 0.1 xDAI | 0.00013182 | ||||
Register | 39673377 | 2 days ago | IN | 0.1 xDAI | 0.00009161 | ||||
Claim | 39673342 | 2 days ago | IN | 0 xDAI | 0.00006294 | ||||
Claim Bounty | 39673340 | 2 days ago | IN | 0 xDAI | 0.0001381 | ||||
Register | 39647718 | 3 days ago | IN | 0.1 xDAI | 0.00009155 | ||||
Claim | 39647698 | 3 days ago | IN | 0 xDAI | 0.00006296 | ||||
Claim Bounty | 39647695 | 3 days ago | IN | 0 xDAI | 0.0001326 | ||||
Register | 39627865 | 4 days ago | IN | 0.1 xDAI | 0.00009256 | ||||
Claim | 39627757 | 4 days ago | IN | 0 xDAI | 0.00006294 | ||||
Claim Bounty | 39627740 | 4 days ago | IN | 0 xDAI | 0.0001381 | ||||
Register | 39610390 | 5 days ago | IN | 0.1 xDAI | 0.00009155 | ||||
Claim | 39610370 | 5 days ago | IN | 0 xDAI | 0.00006296 | ||||
Claim Bounty | 39610366 | 5 days ago | IN | 0 xDAI | 0.0001326 | ||||
Register | 39593231 | 6 days ago | IN | 0.1 xDAI | 0.00009161 | ||||
Claim | 39593181 | 6 days ago | IN | 0 xDAI | 0.00006294 | ||||
Claim Bounty | 39593177 | 6 days ago | IN | 0 xDAI | 0.0001381 | ||||
Register | 39573160 | 7 days ago | IN | 0.1 xDAI | 0.00009155 | ||||
Claim | 39573113 | 7 days ago | IN | 0 xDAI | 0.00006296 | ||||
Claim Bounty | 39573107 | 7 days ago | IN | 0 xDAI | 0.0001326 | ||||
Register | 39552244 | 9 days ago | IN | 0.1 xDAI | 0.00013742 | ||||
Claim | 39552220 | 9 days ago | IN | 0 xDAI | 0.00009442 | ||||
Claim Bounty | 39552218 | 9 days ago | IN | 0 xDAI | 0.00020715 |
Latest 25 internal transactions (View All)
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
39704332 | 4 hrs ago | 0.099 xDAI | ||||
39704261 | 4 hrs ago | 0.00016319 xDAI | ||||
39675774 | 45 hrs ago | 0.099 xDAI | ||||
39673377 | 2 days ago | 0.099 xDAI | ||||
39673340 | 2 days ago | 0.00016886 xDAI | ||||
39647718 | 3 days ago | 0.099 xDAI | ||||
39647695 | 3 days ago | 0.00016319 xDAI | ||||
39627865 | 4 days ago | 0.099 xDAI | ||||
39627740 | 4 days ago | 0.00016886 xDAI | ||||
39610390 | 5 days ago | 0.099 xDAI | ||||
39610366 | 5 days ago | 0.00016319 xDAI | ||||
39593231 | 6 days ago | 0.099 xDAI | ||||
39593177 | 6 days ago | 0.00016886 xDAI | ||||
39573160 | 7 days ago | 0.099 xDAI | ||||
39573107 | 7 days ago | 0.00016319 xDAI | ||||
39552244 | 9 days ago | 0.099 xDAI | ||||
39552218 | 9 days ago | 0.00016886 xDAI | ||||
39534834 | 10 days ago | 0.099 xDAI | ||||
39534815 | 10 days ago | 0.00016319 xDAI | ||||
39516846 | 11 days ago | 0.099 xDAI | ||||
39516818 | 11 days ago | 0.00016886 xDAI | ||||
39494569 | 12 days ago | 0.099 xDAI | ||||
39494498 | 12 days ago | 0.00016319 xDAI | ||||
39477066 | 13 days ago | 0.099 xDAI | ||||
39477045 | 13 days ago | 0.00016886 xDAI |
Loading...
Loading
Contract Name:
Fountain
Compiler Version
v0.7.6+commit.7338295f
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at gnosisscan.io on 2022-08-04 */ // SPDX-License-Identifier: MIT // File: contracts\tool-safemath.sol pragma solidity >=0.6.0 <0.8.0; /** * @dev Wrappers over Solidity's arithmetic operations with added overflow * checks. * * Arithmetic operations in Solidity wrap on overflow. This can easily result * in bugs, because programmers usually assume that an overflow raises an * error, which is the standard behavior in high level programming languages. * `SafeMath` restores this intuition by reverting the transaction when an * operation overflows. * * Using this library instead of the unchecked operations eliminates an entire * class of bugs, so it's recommended to use it always. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } /** * @dev Returns the integer division of two unsigned integers. Reverts with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts with custom message when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } // File: contracts\trans-erc20.sol pragma solidity >=0.6.0 <0.8.0; contract Terc20 { //-------------------Mappings--------------------------- mapping(address => uint) public balanceOf; //-------------------Events----------------------------- event Transfer(address indexed _from, address indexed _to, uint _value); //-------------------Public Functions------------------- // transfer fuction function transfer(address _to, uint _value) public returns (bool){ // makes sure that user is not sending more then they have, if they try it fails require(balanceOf[msg.sender] >= _value, "Not enough tokens in account"); // makes sure amout being sent is greater then recipients starting balance assert(balanceOf[_to] + _value >= balanceOf[_to]); // makes sure amout being deducted is less then senders starting balance assert(balanceOf[msg.sender] - _value <= balanceOf[msg.sender]); // removes balance from sender balanceOf[msg.sender] -= _value; // incresses balance of recipient balanceOf[_to] += _value; // creates a transfer event, returns arguments as an event emit Transfer(msg.sender, _to, _value); // returns true if succesful return true; } //-- end of contract -- } // File: contracts\rf.sol pragma solidity >=0.6.0 <0.8.0; // interface IBrightID { function isVerified(address addr) external view returns (bool); } contract Fountain { //-------------------Libraries--------------------------- using SafeMath for uint; using SafeMath for uint16; using SafeMath for uint32; using SafeMath for uint64; //-------------------Storage----------------------------- address payable private manager; // must keep for payment & contract setting address payable private stakeContract; // the address to the stakers pool address payable private lotteryContract; // the address to the lottery pool IBrightID private brightID; // address of brightID node Terc20 private rare; // declares an contract instance type, named rare uint private gasUsed; uint8 public bountyRewardMultiplier; uint64 private fee; uint64 public poolBalance; bool internal regPeriod; // false = period 1, true = period 2 uint internal claimerAmt; uint internal claimerAmt2; uint internal regInc; uint internal regInc2; //-------------------timer----------------------------- uint16 public blocksPerDay; // 17000 is one day real @ avg block per day, 17280 is one day @ 5, 720 is one hour @ 5 , 60 is @ 5 uint public blockTarget; uint16 public cycleCount; struct Cycle { uint16 reg1; uint16 reg2; } //-------------------Mappings--------------------------- // A) creates a bool pair for adress sender mapping(address => uint) public timesClaimed; mapping(address => uint) public rareClaimed; mapping(address => bool) public whiteListed; mapping(address => bool) private checkReg; mapping(address => bool) private checkReg2; mapping(address => Cycle) private cycleChk; //-------------------Events----------------------------- event NewReg(address indexed _adr, bool indexed _period, bool indexed _regSuccess); event RegClaim(address indexed _adr, bool _period, uint indexed _amt); event DailyBounty(address indexed _bountyAdr, uint indexed _day, bool indexed _bountySuccess); event LastDay(uint indexed _day, uint indexed _finalBalance, bool indexed _lastday); event OwnershipTransferred(address indexed _newManager); //-------------------Contructor------------------------- constructor(Terc20 _rareAddress, IBrightID _brightIDcontract, address payable _stakeAddress, address payable _lotteryContract) { rare = _rareAddress; brightID = _brightIDcontract; stakeContract = _stakeAddress; lotteryContract = _lotteryContract; manager = msg.sender; whiteListed[msg.sender] = true; poolBalance = 1 ether; blocksPerDay = 17000; cycleCount = 72; fee = 0.099 ether; bountyRewardMultiplier = 1; blockTarget = block.number.add(blocksPerDay); } //-------------------Payable Functions----------------- // #regester for distrobution function register() public alw payable { // Require verification require(whiteListed[msg.sender] == true || brightID.isVerified(msg.sender) == true, "You verify your account with brightID before you can register"); // Require Fee require(msg.value >= fee.add(0.001 ether), "You must cover the xDai transaction fee"); // pays fee to manager manager.transfer(fee); // regesters user for appropertate period if (regPeriod) { // do if in period 2 require(!checkRegNext() || cycleChk[msg.sender].reg2 <= cycleCount.sub(2), "You already registered today"); // Marks Player Registerd checkReg2[msg.sender] = true; // set cyclechk cycleChk[msg.sender].reg2 = cycleCount; // incresses reg number regInc2 = regInc2.add(1); } else { // do if in period 1 require(!checkRegNext() || cycleChk[msg.sender].reg1 <= cycleCount.sub(2), "You already registered today"); // Marks Player Registerd checkReg[msg.sender] = true; // set cyclechk cycleChk[msg.sender].reg1 = cycleCount; // incresses reg number regInc = regInc.add(1); } // sends a regestration notification emit NewReg(msg.sender,regPeriod,true); } function claim() public alw { // Pay Rare if (regPeriod) { // do if in period 2 // open claim for prior period require(checkReg[msg.sender] == true && cycleChk[msg.sender].reg1 == cycleCount.sub(1), "You did not register for yesterday's period Or already claimed"); checkReg[msg.sender] = false; // regInc = regInc.sub(1); rare.transfer(payable(msg.sender), claimerAmt); } else { // do if in period 1 // open claim for prior period require(checkReg2[msg.sender] == true && cycleChk[msg.sender].reg2 == cycleCount.sub(1), "You did not register for yesterday's period Or already claimed"); checkReg2[msg.sender] = false; // regInc2 = regInc2.sub(1); rare.transfer(payable(msg.sender), claimerAmt2); } // Set Stats timesClaimed[msg.sender] = timesClaimed[msg.sender].add(1); rareClaimed[msg.sender] = rareClaimed[msg.sender].add(chkClaimerAmt()); // emit event emit RegClaim(msg.sender,regPeriod,chkClaimerAmt()); } // triggers the next reg event and pays out contracts and rewards bounty hunter function claimBounty() public blk { // sets gas price for latter refund uint gasStart = gasleft(); uint poolRemainder = 0; uint regNum = getPoolNum(); // resets the timer blockTarget = block.number.add(blocksPerDay); cycleCount = uint16(cycleCount.add(1)); // Increase Reward for bounty hunter regNum = regNum.add(bountyRewardMultiplier); // Calcs Based on current period if (regPeriod) { // do if in period 2 still // sets the final claim amount for current period claimerAmt2 = poolBalance.div(regNum); // calcs unclaimed amount from last pool, sets value as lottery payout poolRemainder = regInc.mul(claimerAmt); } else { // do if in period 1 still // sets the final claim amount for current period claimerAmt = poolBalance.div(regNum); // calcs unclaimed amount from last pool, sets value as lottery payout poolRemainder = regInc2.mul(claimerAmt2); } // as long as coins exsist, fountain can countinue require(getRareBalance() >= 2 ether, 'there is no more rare coin!'); // Loads pools balances, distrubutes 2 rare coins poolBalance = 1 ether; rare.transfer(stakeContract, 1 ether); rare.transfer(lotteryContract, poolRemainder); // starts a new period, emits events & pays bounty hunter if (regPeriod) { // do if in period 2 still // reset counter regInc = 0; // reset last amt claimerAmt = 0; // reset period regPeriod = false; // if in period 2, switch to 1 //emits events if (getRareBalance() < 2 ether) { emit LastDay(cycleCount,getRareBalance(),true); } else { emit DailyBounty(msg.sender,cycleCount,true); } // pays bounty hunter rare.transfer(payable(msg.sender), claimerAmt2.mul(bountyRewardMultiplier)); } else { // do if in period 1 still // reset counter regInc2 = 0; // reset last amt claimerAmt2 = 0; // reset period regPeriod = true; // if in period 1, switch to 2 //emits events if (getRareBalance() < 2 ether) { emit LastDay(cycleCount,getRareBalance(),true); } else { emit DailyBounty(msg.sender,cycleCount,true); } // pays bounty hunter rareClaimed[msg.sender] = rareClaimed[msg.sender].add(claimerAmt.mul(bountyRewardMultiplier)); rare.transfer(payable(msg.sender), claimerAmt.mul(bountyRewardMultiplier)); } // sets used gas for refund gasUsed = gasStart.sub(gasleft()); // calc cumpute cost gasUsed = gasUsed.add(53000); // add transaction cost uint gasWei = gasUsed.mul(1000000000); // convert qwei to wei // refunds gas for bounty hunter claim msg.sender.transfer(gasWei); } //-------------------Manager Functions---------------------- // sets a new manager of the contract function setManager(address payable _newManager) public restricted { manager = _newManager; emit OwnershipTransferred(_newManager); } // #sets the erc20 address, only manager function setContracts(Terc20 _rareAddress, IBrightID _brightIDcontract, address payable _stakeAddress, address payable _lotteryContract) public restricted { rare = _rareAddress; brightID = _brightIDcontract; stakeContract = _stakeAddress; lotteryContract = _lotteryContract; } // #sets number of blocks per day, only manager function setBlocksPerDay(uint16 _blks) public restricted { blocksPerDay = _blks; } // #sets the price of the fee, cant be over 1 doller, only manager function setFee(uint64 _fee) public restricted { require(_fee <= 1 ether, "Cant set the fee higher then 1 xDai"); fee = _fee; } // #sets blounty hunter reward multiplyer function setBtnRewards(uint8 _setMultiplyer) public restricted { bountyRewardMultiplier = _setMultiplyer; } // #gets how much gas was used on the last distrobution function getGasUsed() public restricted view returns (uint) { return gasUsed; } // #Manager can pull funds to re-propergate function withdrawExcessXDAI() public restricted { require(address(this).balance >= 101 ether, "Must have more then 101 xdai in contrat to safely remove 100 xdai"); // pays fee to manager manager.transfer(100 ether); } // #Manager whitelist selected adresss function whitelistAdr(address _adr) public restricted { whiteListed[_adr] = true; } // #Manager blackList selected adresss function blacklistAdr(address _adr) public restricted { whiteListed[_adr] = false; } // cheaks what period it is function checkPeriod() public restricted view returns (string memory) { if(regPeriod){ return "in period two"; } else { return "in period One"; } } //-------------------Public View Functions----------------------- // #cheaks balance of total unceculating tokens this contract adress has left to distrobute function getRareBalance() public view returns (uint) { return uint(rare.balanceOf(address(this))); } // #gets balance of xdai contract address has function getXdaiBalance() public view returns (uint) { return uint(address(this).balance); } // #gets current estimate of payout this period in rare coin inc btn multiplyer // function calcDistAmt() view public returns (uint) { require(getPoolNum() >= 1, "Can't calculate balance because no one is in the pool"); uint temp; temp = getPoolNum(); temp = temp.add(bountyRewardMultiplier); return uint(poolBalance.div(temp)); } // #gets the daily claim amt function chkClaimerAmt() public view returns (uint) { if (regPeriod) { // gets users number for period 2 return claimerAmt; } else { // gets users number for period 1 return claimerAmt2; } } // #gets number of players in pool function getPoolNum() public view returns (uint32) { uint32 regNum; if (regPeriod) { // gets users number for period 2 regNum = uint32(regInc2); } else { // gets users number for period 1 regNum = uint32(regInc); } return uint32(regNum); } // #gets a true or false if user is regested for the this period claim function checkRegThis() public view returns (bool) { bool isRegisterd; if (regPeriod) { // gets users number for period 2 if (checkReg[msg.sender] == true && cycleChk[msg.sender].reg1 == cycleCount.sub(1)){ isRegisterd = true; } else { isRegisterd = false; } } else { // gets users number for period 1 if (checkReg2[msg.sender] == true && cycleChk[msg.sender].reg2 == cycleCount.sub(1)){ isRegisterd = true; } else { isRegisterd = false; } } return isRegisterd; } // #gets a true or false if user is verified or whiteListed function checkRegNext() public view returns (bool) { bool isRegisterd; if (regPeriod) { // gets users number for period 2 if (checkReg2[msg.sender] == true && cycleChk[msg.sender].reg2 == cycleCount){ isRegisterd = true; } else { isRegisterd = false; } } else { // gets users number for period 1 if (checkReg[msg.sender] == true && cycleChk[msg.sender].reg1 == cycleCount){ isRegisterd = true; } else { isRegisterd = false; } } return isRegisterd; } // #gets a true or false if user has been whiteListed or isVerified by brightID function isVerified() public view returns (bool) { if(whiteListed[msg.sender] == true || brightID.isVerified(msg.sender) == true){ return true; } else { return false; } } // #gets a true or false if spesified address has been whiteListed or isVerified by brightID function checkVerified(address adr) public view returns (bool) { if(whiteListed[adr] == true || brightID.isVerified(adr) == true) { return true; } else { return false; } } //-------------------timr Functions--------------------- function blocksLeft() public alw view returns (uint) { return blockTarget.sub(blockNow()); } function blockNow() public view returns (uint) { return block.number; } //-------------------Modifiers Call Functions--------------------------- // while (blockTarget >= currentBlock) = true, unlocked // while (blockTarget <= currentBlock) = untrue, locked modifier alw() { require(blockTarget >= block.number, "Target Reached, No Blocks Left"); // allow before target reached _; } modifier blk() { require(blockTarget <= block.number, "Locked until block target is achieved"); // allow after target reached _; } // *creates a restricted fuction unless you are the manager modifier restricted() { require(msg.sender == manager, "Only the manager can perfom this fuction"); _; } // function selfDestruct() public restricted { // TODO Test Code // rare.transfer(manager, getRareBalance()); // selfdestruct(manager); // } //-------------------Special Functions--------------------------- //fallback function receive () external payable { register(); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"contract Terc20","name":"_rareAddress","type":"address"},{"internalType":"contract IBrightID","name":"_brightIDcontract","type":"address"},{"internalType":"address payable","name":"_stakeAddress","type":"address"},{"internalType":"address payable","name":"_lotteryContract","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_bountyAdr","type":"address"},{"indexed":true,"internalType":"uint256","name":"_day","type":"uint256"},{"indexed":true,"internalType":"bool","name":"_bountySuccess","type":"bool"}],"name":"DailyBounty","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_day","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"_finalBalance","type":"uint256"},{"indexed":true,"internalType":"bool","name":"_lastday","type":"bool"}],"name":"LastDay","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_adr","type":"address"},{"indexed":true,"internalType":"bool","name":"_period","type":"bool"},{"indexed":true,"internalType":"bool","name":"_regSuccess","type":"bool"}],"name":"NewReg","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_newManager","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_adr","type":"address"},{"indexed":false,"internalType":"bool","name":"_period","type":"bool"},{"indexed":true,"internalType":"uint256","name":"_amt","type":"uint256"}],"name":"RegClaim","type":"event"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"}],"name":"blacklistAdr","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"blockNow","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blockTarget","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blocksLeft","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blocksPerDay","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"bountyRewardMultiplier","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"calcDistAmt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkPeriod","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkRegNext","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkRegThis","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"checkVerified","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"chkClaimerAmt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimBounty","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cycleCount","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getGasUsed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPoolNum","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRareBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getXdaiBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isVerified","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"poolBalance","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"rareClaimed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"register","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_blks","type":"uint16"}],"name":"setBlocksPerDay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_setMultiplyer","type":"uint8"}],"name":"setBtnRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract Terc20","name":"_rareAddress","type":"address"},{"internalType":"contract IBrightID","name":"_brightIDcontract","type":"address"},{"internalType":"address payable","name":"_stakeAddress","type":"address"},{"internalType":"address payable","name":"_lotteryContract","type":"address"}],"name":"setContracts","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"_fee","type":"uint64"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_newManager","type":"address"}],"name":"setManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"timesClaimed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"whiteListed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"}],"name":"whitelistAdr","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawExcessXDAI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040523480156200001157600080fd5b5060405162003eb138038062003eb1833981810160405260808110156200003757600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919050505083600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550670de0b6b3a7640000600660096101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550614268600b60006101000a81548161ffff021916908361ffff1602179055506048600d60006101000a81548161ffff021916908361ffff16021790555067015fb7f9b8c38000600660016101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506001600660006101000a81548160ff021916908360ff160217905550620002eb600b60009054906101000a900461ffff1661ffff1643620002fb60201b620036161790919060201c565b600c819055505050505062000384565b6000808284019050838110156200037a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b613b1d80620003946000396000f3fe6080604052600436106101e75760003560e01c80636cc8c59011610102578063bf989b6e11610095578063ee4be28811610064578063ee4be288146108d5578063f14a4213146108ec578063fa0fca8414610917578063ffd824ac1461097e576101f6565b8063bf989b6e1461071d578063cb1bc723146107ce578063d0ebdbe714610833578063e289451914610884576101f6565b80639854f32f116100d15780639854f32f14610623578063a308fb641461064e578063a3a526511461068d578063ad6e2148146106b8576101f6565b80636cc8c5901461052f578063710535461461059657806380007e83146105c157806396365d44146105ee576101f6565b80634cfea68a1161017a57806359ec0a8b1161014957806359ec0a8b146104685780635a32a262146104955780635a630d7a146104d357806365c7bf4114610518576101f6565b80634cfea68a146103a65780634e71d92d146103d5578063534cfb60146103ec5780635475487114610417576101f6565b8063316fda0f116101b6578063316fda0f1461028e5780633668984a146102bd578063380f1b36146102eb5780633887abb714610316576101f6565b8063037165f4146101fb5780631aa3a008146102265780631b4d87a514610230578063212af18d1461025d576101f6565b366101f6576101f46109a9565b005b600080fd5b34801561020757600080fd5b506102106110ef565b6040518082815260200191505060405180910390f35b61022e6109a9565b005b34801561023c57600080fd5b506102456110f5565b60405180821515815260200191505060405180910390f35b34801561026957600080fd5b506102726112ce565b604051808263ffffffff16815260200191505060405180910390f35b34801561029a57600080fd5b506102a36112fd565b604051808261ffff16815260200191505060405180910390f35b3480156102c957600080fd5b506102d2611311565b604051808260ff16815260200191505060405180910390f35b3480156102f757600080fd5b50610300611324565b6040518082815260200191505060405180910390f35b34801561032257600080fd5b5061032b6113ef565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561036b578082015181840152602081019050610350565b50505050905090810190601f1680156103985780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156103b257600080fd5b506103bb611523565b604051808261ffff16815260200191505060405180910390f35b3480156103e157600080fd5b506103ea611537565b005b3480156103f857600080fd5b50610401611c15565b6040518082815260200191505060405180910390f35b34801561042357600080fd5b506104666004803603602081101561043a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c1d565b005b34801561047457600080fd5b5061047d611d1c565b60405180821515815260200191505060405180910390f35b3480156104a157600080fd5b506104d1600480360360208110156104b857600080fd5b81019080803560ff169060200190929190505050611f1b565b005b3480156104df57600080fd5b50610516600480360360208110156104f657600080fd5b81019080803567ffffffffffffffff169060200190929190505050611fdd565b005b34801561052457600080fd5b5061052d612118565b005b34801561053b57600080fd5b5061057e6004803603602081101561055257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612290565b60405180821515815260200191505060405180910390f35b3480156105a257600080fd5b506105ab6123d0565b6040518082815260200191505060405180910390f35b3480156105cd57600080fd5b506105d661247f565b60405180821515815260200191505060405180910390f35b3480156105fa57600080fd5b506106036125bd565b604051808267ffffffffffffffff16815260200191505060405180910390f35b34801561062f57600080fd5b506106386125d7565b6040518082815260200191505060405180910390f35b34801561065a57600080fd5b5061068b6004803603602081101561067157600080fd5b81019080803561ffff169060200190929190505050612601565b005b34801561069957600080fd5b506106a26126c5565b6040518082815260200191505060405180910390f35b3480156106c457600080fd5b50610707600480360360208110156106db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126cd565b6040518082815260200191505060405180910390f35b34801561072957600080fd5b506107cc6004803603608081101561074057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126e5565b005b3480156107da57600080fd5b5061081d600480360360208110156107f157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612893565b6040518082815260200191505060405180910390f35b34801561083f57600080fd5b506108826004803603602081101561085657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128ab565b005b34801561089057600080fd5b506108d3600480360360208110156108a757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506129d5565b005b3480156108e157600080fd5b506108ea612ad4565b005b3480156108f857600080fd5b50610901613480565b6040518082815260200191505060405180910390f35b34801561092357600080fd5b506109666004803603602081101561093a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061351b565b60405180821515815260200191505060405180910390f35b34801561098a57600080fd5b5061099361353b565b6040518082815260200191505060405180910390f35b43600c541015610a21576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f54617267657420526561636865642c204e6f20426c6f636b73204c656674000081525060200191505060405180910390fd5b60011515601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151480610b47575060011515600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b9209e33336040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610b0857600080fd5b505afa158015610b1c573d6000803e3d6000fd5b505050506040513d6020811015610b3257600080fd5b81019080805190602001909291905050501515145b610b9c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d815260200180613a88603d913960400191505060405180910390fd5b610bd666038d7ea4c68000600660019054906101000a900467ffffffffffffffff1667ffffffffffffffff1661361690919063ffffffff16565b341015610c2e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602781526020018061398c6027913960400191505060405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc600660019054906101000a900467ffffffffffffffff1667ffffffffffffffff169081150290604051600060405180830381858888f19350505050158015610cb4573d6000803e3d6000fd5b50600660119054906101000a900460ff1615610eb157610cd26110f5565b1580610d595750610d016002600d60009054906101000a900461ffff1661ffff1661369e90919063ffffffff16565b601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160029054906101000a900461ffff1661ffff1611155b610dcb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f596f7520616c7265616479207265676973746572656420746f6461790000000081525060200191505060405180910390fd5b6001601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600d60009054906101000a900461ffff16601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160026101000a81548161ffff021916908361ffff160217905550610ea66001600a5461361690919063ffffffff16565b600a81905550611094565b610eb96110f5565b1580610f405750610ee86002600d60009054906101000a900461ffff1661ffff1661369e90919063ffffffff16565b601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900461ffff1661ffff1611155b610fb2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f596f7520616c7265616479207265676973746572656420746f6461790000000081525060200191505060405180910390fd5b6001601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600d60009054906101000a900461ffff16601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548161ffff021916908361ffff16021790555061108d600160095461361690919063ffffffff16565b6009819055505b60011515600660119054906101000a900460ff1615153373ffffffffffffffffffffffffffffffffffffffff167fd8bd92c8611e98aac59ade24b21b2170d1be16a13b09e922cb7f54289096168d60405160405180910390a4565b600c5481565b600080600660119054906101000a900460ff16156111ec5760011515601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151480156111d45750600d60009054906101000a900461ffff1661ffff16601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160029054906101000a900461ffff1661ffff16145b156111e257600190506111e7565b600090505b6112c7565b60011515601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151480156112b35750600d60009054906101000a900461ffff1661ffff16601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900461ffff1661ffff16145b156112c157600190506112c6565b600090505b5b8091505090565b600080600660119054906101000a900460ff16156112f057600a5490506112f6565b60095490505b8091505090565b600d60009054906101000a900461ffff1681565b600660009054906101000a900460ff1681565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156113af57600080fd5b505afa1580156113c3573d6000803e3d6000fd5b505050506040513d60208110156113d957600080fd5b8101908080519060200190929190505050905090565b606060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611495576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061393f6028913960400191505060405180910390fd5b600660119054906101000a900460ff16156114e7576040518060400160405280600d81526020017f696e20706572696f642074776f000000000000000000000000000000000000008152509050611520565b6040518060400160405280600d81526020017f696e20706572696f64204f6e650000000000000000000000000000000000000081525090505b90565b600b60009054906101000a900461ffff1681565b43600c5410156115af576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f54617267657420526561636865642c204e6f20426c6f636b73204c656674000081525060200191505060405180910390fd5b600660119054906101000a900460ff16156118215760011515601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514801561169e57506116476001600d60009054906101000a900461ffff1661ffff1661369e90919063ffffffff16565b601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900461ffff1661ffff16145b6116f3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603e815260200180613a15603e913960400191505060405180910390fd5b6000601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb336007546040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156117e057600080fd5b505af11580156117f4573d6000803e3d6000fd5b505050506040513d602081101561180a57600080fd5b810190808051906020019092919050505050611a7a565b60011515601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151480156118fb57506118a46001600d60009054906101000a900461ffff1661ffff1661369e90919063ffffffff16565b601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160029054906101000a900461ffff1661ffff16145b611950576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603e815260200180613a15603e913960400191505060405180910390fd5b6000601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb336008546040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611a3d57600080fd5b505af1158015611a51573d6000803e3d6000fd5b505050506040513d6020811015611a6757600080fd5b8101908080519060200190929190505050505b611acd6001600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461361690919063ffffffff16565b600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b69611b1b6125d7565b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461361690919063ffffffff16565b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611bb46125d7565b3373ffffffffffffffffffffffffffffffffffffffff167fe66ce38c12c41513487cbba3740437724ca622690e8372e6bee4d90227d7a6ba600660119054906101000a900460ff1660405180821515815260200191505060405180910390a3565b600043905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611cc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061393f6028913960400191505060405180910390fd5b6001601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600080600660119054906101000a900460ff1615611e265760011515601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515148015611e0e5750611db76001600d60009054906101000a900461ffff1661ffff1661369e90919063ffffffff16565b601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900461ffff1661ffff16145b15611e1c5760019050611e21565b600090505b611f14565b60011515601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515148015611f005750611ea96001600d60009054906101000a900461ffff1661ffff1661369e90919063ffffffff16565b601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160029054906101000a900461ffff1661ffff16145b15611f0e5760019050611f13565b600090505b5b8091505090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611fbf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061393f6028913960400191505060405180910390fd5b80600660006101000a81548160ff021916908360ff16021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612081576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061393f6028913960400191505060405180910390fd5b670de0b6b3a76400008167ffffffffffffffff1611156120ec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180613ac56023913960400191505060405180910390fd5b80600660016101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146121bc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061393f6028913960400191505060405180910390fd5b680579a814e10a74000047101561221e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260418152602001806139d46041913960600191505060405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc68056bc75e2d631000009081150290604051600060405180830381858888f1935050505015801561228d573d6000803e3d6000fd5b50565b600060011515601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514806123b8575060011515600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b9209e33846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561237957600080fd5b505afa15801561238d573d6000803e3d6000fd5b505050506040513d60208110156123a357600080fd5b81019080805190602001909291905050501515145b156123c657600190506123cb565b600090505b919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612477576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061393f6028913960400191505060405180910390fd5b600554905090565b600060011515601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514806125a7575060011515600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b9209e33336040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561256857600080fd5b505afa15801561257c573d6000803e3d6000fd5b505050506040513d602081101561259257600080fd5b81019080805190602001909291905050501515145b156125b557600190506125ba565b600090505b90565b600660099054906101000a900467ffffffffffffffff1681565b6000600660119054906101000a900460ff16156125f85760075490506125fe565b60085490505b90565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146126a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061393f6028913960400191505060405180910390fd5b80600b60006101000a81548161ffff021916908361ffff16021790555050565b600047905090565b600f6020528060005260406000206000915090505481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612789576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061393f6028913960400191505060405180910390fd5b83600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b600e6020528060005260406000206000915090505481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461294f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061393f6028913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616360405160405180910390a250565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612a79576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061393f6028913960400191505060405180910390fd5b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b43600c541115612b2f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806139676025913960400191505060405180910390fd5b60005a9050600080612b3f6112ce565b63ffffffff169050612b6e600b60009054906101000a900461ffff1661ffff164361361690919063ffffffff16565b600c81905550612b9c6001600d60009054906101000a900461ffff1661ffff1661361690919063ffffffff16565b600d60006101000a81548161ffff021916908361ffff160217905550612bdd600660009054906101000a900460ff1660ff168261361690919063ffffffff16565b9050600660119054906101000a900460ff1615612c4b57612c2781600660099054906101000a900467ffffffffffffffff1667ffffffffffffffff166136e890919063ffffffff16565b600881905550612c4460075460095461373290919063ffffffff16565b9150612c9e565b612c7e81600660099054906101000a900467ffffffffffffffff1667ffffffffffffffff166136e890919063ffffffff16565b600781905550612c9b600854600a5461373290919063ffffffff16565b91505b671bc16d674ec80000612caf611324565b1015612d23576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f7468657265206973206e6f206d6f7265207261726520636f696e21000000000081525060200191505060405180910390fd5b670de0b6b3a7640000600660096101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16670de0b6b3a76400006040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015612e1157600080fd5b505af1158015612e25573d6000803e3d6000fd5b505050506040513d6020811015612e3b57600080fd5b810190808051906020019092919050505050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015612f0257600080fd5b505af1158015612f16573d6000803e3d6000fd5b505050506040513d6020811015612f2c57600080fd5b810190808051906020019092919050505050600660119054906101000a900460ff161561313e57600060098190555060006007819055506000600660116101000a81548160ff021916908315150217905550671bc16d674ec80000612f8f611324565b1015612fe75760011515612fa1611324565b600d60009054906101000a900461ffff1661ffff167fda920588f9eeac6bbabf46a792d48e33793847314030a8a4a0da9ee33b85b79760405160405180910390a4613044565b60011515600d60009054906101000a900461ffff1661ffff163373ffffffffffffffffffffffffffffffffffffffff167f606e3779f37acec3a6068501ce145b03e0d5ec89c86d0fbf630d07587115784960405160405180910390a45b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb336130aa600660009054906101000a900460ff1660ff1660085461373290919063ffffffff16565b6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156130fd57600080fd5b505af1158015613111573d6000803e3d6000fd5b505050506040513d602081101561312757600080fd5b8101908080519060200190929190505050506133e0565b6000600a8190555060006008819055506001600660116101000a81548160ff021916908315150217905550671bc16d674ec8000061317a611324565b10156131d2576001151561318c611324565b600d60009054906101000a900461ffff1661ffff167fda920588f9eeac6bbabf46a792d48e33793847314030a8a4a0da9ee33b85b79760405160405180910390a461322f565b60011515600d60009054906101000a900461ffff1661ffff163373ffffffffffffffffffffffffffffffffffffffff167f606e3779f37acec3a6068501ce145b03e0d5ec89c86d0fbf630d07587115784960405160405180910390a45b6132a7613259600660009054906101000a900460ff1660ff1660075461373290919063ffffffff16565b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461361690919063ffffffff16565b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33613350600660009054906101000a900460ff1660ff1660075461373290919063ffffffff16565b6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156133a357600080fd5b505af11580156133b7573d6000803e3d6000fd5b505050506040513d60208110156133cd57600080fd5b8101908080519060200190929190505050505b6133f35a8461369e90919063ffffffff16565b60058190555061341061cf0860055461361690919063ffffffff16565b6005819055506000613431633b9aca0060055461373290919063ffffffff16565b90503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015613479573d6000803e3d6000fd5b5050505050565b600043600c5410156134fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f54617267657420526561636865642c204e6f20426c6f636b73204c656674000081525060200191505060405180910390fd5b613516613505611c15565b600c5461369e90919063ffffffff16565b905090565b60106020528060005260406000206000915054906101000a900460ff1681565b600060016135476112ce565b63ffffffff1610156135a4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526035815260200180613a536035913960400191505060405180910390fd5b60006135ae6112ce565b63ffffffff1690506135db600660009054906101000a900460ff1660ff168261361690919063ffffffff16565b905061361081600660099054906101000a900467ffffffffffffffff1667ffffffffffffffff166136e890919063ffffffff16565b91505090565b600080828401905083811015613694576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60006136e083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506137b8565b905092915050565b600061372a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613878565b905092915050565b60008083141561374557600090506137b2565b600082840290508284828161375657fe5b04146137ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806139b36021913960400191505060405180910390fd5b809150505b92915050565b6000838311158290613865576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561382a57808201518184015260208101905061380f565b50505050905090810190601f1680156138575780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008083118290613924576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156138e95780820151818401526020810190506138ce565b50505050905090810190601f1680156139165780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161393057fe5b04905080915050939250505056fe4f6e6c7920746865206d616e616765722063616e20706572666f6d20746869732066756374696f6e4c6f636b656420756e74696c20626c6f636b20746172676574206973206163686965766564596f75206d75737420636f766572207468652078446169207472616e73616374696f6e20666565536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774d7573742068617665206d6f7265207468656e20313031207864616920696e20636f6e7472617420746f20736166656c792072656d6f7665203130302078646169596f7520646964206e6f7420726567697374657220666f7220796573746572646179277320706572696f64204f7220616c726561647920636c61696d656443616e27742063616c63756c6174652062616c616e63652062656361757365206e6f206f6e6520697320696e2074686520706f6f6c596f752076657269667920796f7572206163636f756e742077697468206272696768744944206265666f726520796f752063616e20726567697374657243616e7420736574207468652066656520686967686572207468656e20312078446169a26469706673582212207c325252b525dfe2afd53ea2946429165e17506c259b611aa6ba680581d799ab64736f6c6343000706003300000000000000000000000057e93bb58268de818b42e3795c97bad58afcd3fe00000000000000000000000046c8ae2ff9f0262fe1303709106a6749076b70080000000000000000000000006fa0e9a561fc855735defb17b76d31a0ee8cca0b0000000000000000000000006fa0e9a561fc855735defb17b76d31a0ee8cca0b
Deployed Bytecode
0x6080604052600436106101e75760003560e01c80636cc8c59011610102578063bf989b6e11610095578063ee4be28811610064578063ee4be288146108d5578063f14a4213146108ec578063fa0fca8414610917578063ffd824ac1461097e576101f6565b8063bf989b6e1461071d578063cb1bc723146107ce578063d0ebdbe714610833578063e289451914610884576101f6565b80639854f32f116100d15780639854f32f14610623578063a308fb641461064e578063a3a526511461068d578063ad6e2148146106b8576101f6565b80636cc8c5901461052f578063710535461461059657806380007e83146105c157806396365d44146105ee576101f6565b80634cfea68a1161017a57806359ec0a8b1161014957806359ec0a8b146104685780635a32a262146104955780635a630d7a146104d357806365c7bf4114610518576101f6565b80634cfea68a146103a65780634e71d92d146103d5578063534cfb60146103ec5780635475487114610417576101f6565b8063316fda0f116101b6578063316fda0f1461028e5780633668984a146102bd578063380f1b36146102eb5780633887abb714610316576101f6565b8063037165f4146101fb5780631aa3a008146102265780631b4d87a514610230578063212af18d1461025d576101f6565b366101f6576101f46109a9565b005b600080fd5b34801561020757600080fd5b506102106110ef565b6040518082815260200191505060405180910390f35b61022e6109a9565b005b34801561023c57600080fd5b506102456110f5565b60405180821515815260200191505060405180910390f35b34801561026957600080fd5b506102726112ce565b604051808263ffffffff16815260200191505060405180910390f35b34801561029a57600080fd5b506102a36112fd565b604051808261ffff16815260200191505060405180910390f35b3480156102c957600080fd5b506102d2611311565b604051808260ff16815260200191505060405180910390f35b3480156102f757600080fd5b50610300611324565b6040518082815260200191505060405180910390f35b34801561032257600080fd5b5061032b6113ef565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561036b578082015181840152602081019050610350565b50505050905090810190601f1680156103985780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156103b257600080fd5b506103bb611523565b604051808261ffff16815260200191505060405180910390f35b3480156103e157600080fd5b506103ea611537565b005b3480156103f857600080fd5b50610401611c15565b6040518082815260200191505060405180910390f35b34801561042357600080fd5b506104666004803603602081101561043a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c1d565b005b34801561047457600080fd5b5061047d611d1c565b60405180821515815260200191505060405180910390f35b3480156104a157600080fd5b506104d1600480360360208110156104b857600080fd5b81019080803560ff169060200190929190505050611f1b565b005b3480156104df57600080fd5b50610516600480360360208110156104f657600080fd5b81019080803567ffffffffffffffff169060200190929190505050611fdd565b005b34801561052457600080fd5b5061052d612118565b005b34801561053b57600080fd5b5061057e6004803603602081101561055257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612290565b60405180821515815260200191505060405180910390f35b3480156105a257600080fd5b506105ab6123d0565b6040518082815260200191505060405180910390f35b3480156105cd57600080fd5b506105d661247f565b60405180821515815260200191505060405180910390f35b3480156105fa57600080fd5b506106036125bd565b604051808267ffffffffffffffff16815260200191505060405180910390f35b34801561062f57600080fd5b506106386125d7565b6040518082815260200191505060405180910390f35b34801561065a57600080fd5b5061068b6004803603602081101561067157600080fd5b81019080803561ffff169060200190929190505050612601565b005b34801561069957600080fd5b506106a26126c5565b6040518082815260200191505060405180910390f35b3480156106c457600080fd5b50610707600480360360208110156106db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126cd565b6040518082815260200191505060405180910390f35b34801561072957600080fd5b506107cc6004803603608081101561074057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126e5565b005b3480156107da57600080fd5b5061081d600480360360208110156107f157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612893565b6040518082815260200191505060405180910390f35b34801561083f57600080fd5b506108826004803603602081101561085657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128ab565b005b34801561089057600080fd5b506108d3600480360360208110156108a757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506129d5565b005b3480156108e157600080fd5b506108ea612ad4565b005b3480156108f857600080fd5b50610901613480565b6040518082815260200191505060405180910390f35b34801561092357600080fd5b506109666004803603602081101561093a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061351b565b60405180821515815260200191505060405180910390f35b34801561098a57600080fd5b5061099361353b565b6040518082815260200191505060405180910390f35b43600c541015610a21576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f54617267657420526561636865642c204e6f20426c6f636b73204c656674000081525060200191505060405180910390fd5b60011515601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151480610b47575060011515600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b9209e33336040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610b0857600080fd5b505afa158015610b1c573d6000803e3d6000fd5b505050506040513d6020811015610b3257600080fd5b81019080805190602001909291905050501515145b610b9c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d815260200180613a88603d913960400191505060405180910390fd5b610bd666038d7ea4c68000600660019054906101000a900467ffffffffffffffff1667ffffffffffffffff1661361690919063ffffffff16565b341015610c2e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602781526020018061398c6027913960400191505060405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc600660019054906101000a900467ffffffffffffffff1667ffffffffffffffff169081150290604051600060405180830381858888f19350505050158015610cb4573d6000803e3d6000fd5b50600660119054906101000a900460ff1615610eb157610cd26110f5565b1580610d595750610d016002600d60009054906101000a900461ffff1661ffff1661369e90919063ffffffff16565b601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160029054906101000a900461ffff1661ffff1611155b610dcb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f596f7520616c7265616479207265676973746572656420746f6461790000000081525060200191505060405180910390fd5b6001601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600d60009054906101000a900461ffff16601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160026101000a81548161ffff021916908361ffff160217905550610ea66001600a5461361690919063ffffffff16565b600a81905550611094565b610eb96110f5565b1580610f405750610ee86002600d60009054906101000a900461ffff1661ffff1661369e90919063ffffffff16565b601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900461ffff1661ffff1611155b610fb2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f596f7520616c7265616479207265676973746572656420746f6461790000000081525060200191505060405180910390fd5b6001601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600d60009054906101000a900461ffff16601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548161ffff021916908361ffff16021790555061108d600160095461361690919063ffffffff16565b6009819055505b60011515600660119054906101000a900460ff1615153373ffffffffffffffffffffffffffffffffffffffff167fd8bd92c8611e98aac59ade24b21b2170d1be16a13b09e922cb7f54289096168d60405160405180910390a4565b600c5481565b600080600660119054906101000a900460ff16156111ec5760011515601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151480156111d45750600d60009054906101000a900461ffff1661ffff16601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160029054906101000a900461ffff1661ffff16145b156111e257600190506111e7565b600090505b6112c7565b60011515601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151480156112b35750600d60009054906101000a900461ffff1661ffff16601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900461ffff1661ffff16145b156112c157600190506112c6565b600090505b5b8091505090565b600080600660119054906101000a900460ff16156112f057600a5490506112f6565b60095490505b8091505090565b600d60009054906101000a900461ffff1681565b600660009054906101000a900460ff1681565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156113af57600080fd5b505afa1580156113c3573d6000803e3d6000fd5b505050506040513d60208110156113d957600080fd5b8101908080519060200190929190505050905090565b606060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611495576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061393f6028913960400191505060405180910390fd5b600660119054906101000a900460ff16156114e7576040518060400160405280600d81526020017f696e20706572696f642074776f000000000000000000000000000000000000008152509050611520565b6040518060400160405280600d81526020017f696e20706572696f64204f6e650000000000000000000000000000000000000081525090505b90565b600b60009054906101000a900461ffff1681565b43600c5410156115af576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f54617267657420526561636865642c204e6f20426c6f636b73204c656674000081525060200191505060405180910390fd5b600660119054906101000a900460ff16156118215760011515601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514801561169e57506116476001600d60009054906101000a900461ffff1661ffff1661369e90919063ffffffff16565b601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900461ffff1661ffff16145b6116f3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603e815260200180613a15603e913960400191505060405180910390fd5b6000601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb336007546040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156117e057600080fd5b505af11580156117f4573d6000803e3d6000fd5b505050506040513d602081101561180a57600080fd5b810190808051906020019092919050505050611a7a565b60011515601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151480156118fb57506118a46001600d60009054906101000a900461ffff1661ffff1661369e90919063ffffffff16565b601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160029054906101000a900461ffff1661ffff16145b611950576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603e815260200180613a15603e913960400191505060405180910390fd5b6000601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb336008546040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611a3d57600080fd5b505af1158015611a51573d6000803e3d6000fd5b505050506040513d6020811015611a6757600080fd5b8101908080519060200190929190505050505b611acd6001600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461361690919063ffffffff16565b600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b69611b1b6125d7565b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461361690919063ffffffff16565b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611bb46125d7565b3373ffffffffffffffffffffffffffffffffffffffff167fe66ce38c12c41513487cbba3740437724ca622690e8372e6bee4d90227d7a6ba600660119054906101000a900460ff1660405180821515815260200191505060405180910390a3565b600043905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611cc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061393f6028913960400191505060405180910390fd5b6001601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600080600660119054906101000a900460ff1615611e265760011515601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515148015611e0e5750611db76001600d60009054906101000a900461ffff1661ffff1661369e90919063ffffffff16565b601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900461ffff1661ffff16145b15611e1c5760019050611e21565b600090505b611f14565b60011515601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515148015611f005750611ea96001600d60009054906101000a900461ffff1661ffff1661369e90919063ffffffff16565b601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160029054906101000a900461ffff1661ffff16145b15611f0e5760019050611f13565b600090505b5b8091505090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611fbf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061393f6028913960400191505060405180910390fd5b80600660006101000a81548160ff021916908360ff16021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612081576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061393f6028913960400191505060405180910390fd5b670de0b6b3a76400008167ffffffffffffffff1611156120ec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180613ac56023913960400191505060405180910390fd5b80600660016101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146121bc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061393f6028913960400191505060405180910390fd5b680579a814e10a74000047101561221e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260418152602001806139d46041913960600191505060405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc68056bc75e2d631000009081150290604051600060405180830381858888f1935050505015801561228d573d6000803e3d6000fd5b50565b600060011515601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514806123b8575060011515600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b9209e33846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561237957600080fd5b505afa15801561238d573d6000803e3d6000fd5b505050506040513d60208110156123a357600080fd5b81019080805190602001909291905050501515145b156123c657600190506123cb565b600090505b919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612477576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061393f6028913960400191505060405180910390fd5b600554905090565b600060011515601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514806125a7575060011515600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b9209e33336040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561256857600080fd5b505afa15801561257c573d6000803e3d6000fd5b505050506040513d602081101561259257600080fd5b81019080805190602001909291905050501515145b156125b557600190506125ba565b600090505b90565b600660099054906101000a900467ffffffffffffffff1681565b6000600660119054906101000a900460ff16156125f85760075490506125fe565b60085490505b90565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146126a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061393f6028913960400191505060405180910390fd5b80600b60006101000a81548161ffff021916908361ffff16021790555050565b600047905090565b600f6020528060005260406000206000915090505481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612789576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061393f6028913960400191505060405180910390fd5b83600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b600e6020528060005260406000206000915090505481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461294f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061393f6028913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616360405160405180910390a250565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612a79576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061393f6028913960400191505060405180910390fd5b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b43600c541115612b2f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806139676025913960400191505060405180910390fd5b60005a9050600080612b3f6112ce565b63ffffffff169050612b6e600b60009054906101000a900461ffff1661ffff164361361690919063ffffffff16565b600c81905550612b9c6001600d60009054906101000a900461ffff1661ffff1661361690919063ffffffff16565b600d60006101000a81548161ffff021916908361ffff160217905550612bdd600660009054906101000a900460ff1660ff168261361690919063ffffffff16565b9050600660119054906101000a900460ff1615612c4b57612c2781600660099054906101000a900467ffffffffffffffff1667ffffffffffffffff166136e890919063ffffffff16565b600881905550612c4460075460095461373290919063ffffffff16565b9150612c9e565b612c7e81600660099054906101000a900467ffffffffffffffff1667ffffffffffffffff166136e890919063ffffffff16565b600781905550612c9b600854600a5461373290919063ffffffff16565b91505b671bc16d674ec80000612caf611324565b1015612d23576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f7468657265206973206e6f206d6f7265207261726520636f696e21000000000081525060200191505060405180910390fd5b670de0b6b3a7640000600660096101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16670de0b6b3a76400006040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015612e1157600080fd5b505af1158015612e25573d6000803e3d6000fd5b505050506040513d6020811015612e3b57600080fd5b810190808051906020019092919050505050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015612f0257600080fd5b505af1158015612f16573d6000803e3d6000fd5b505050506040513d6020811015612f2c57600080fd5b810190808051906020019092919050505050600660119054906101000a900460ff161561313e57600060098190555060006007819055506000600660116101000a81548160ff021916908315150217905550671bc16d674ec80000612f8f611324565b1015612fe75760011515612fa1611324565b600d60009054906101000a900461ffff1661ffff167fda920588f9eeac6bbabf46a792d48e33793847314030a8a4a0da9ee33b85b79760405160405180910390a4613044565b60011515600d60009054906101000a900461ffff1661ffff163373ffffffffffffffffffffffffffffffffffffffff167f606e3779f37acec3a6068501ce145b03e0d5ec89c86d0fbf630d07587115784960405160405180910390a45b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb336130aa600660009054906101000a900460ff1660ff1660085461373290919063ffffffff16565b6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156130fd57600080fd5b505af1158015613111573d6000803e3d6000fd5b505050506040513d602081101561312757600080fd5b8101908080519060200190929190505050506133e0565b6000600a8190555060006008819055506001600660116101000a81548160ff021916908315150217905550671bc16d674ec8000061317a611324565b10156131d2576001151561318c611324565b600d60009054906101000a900461ffff1661ffff167fda920588f9eeac6bbabf46a792d48e33793847314030a8a4a0da9ee33b85b79760405160405180910390a461322f565b60011515600d60009054906101000a900461ffff1661ffff163373ffffffffffffffffffffffffffffffffffffffff167f606e3779f37acec3a6068501ce145b03e0d5ec89c86d0fbf630d07587115784960405160405180910390a45b6132a7613259600660009054906101000a900460ff1660ff1660075461373290919063ffffffff16565b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461361690919063ffffffff16565b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33613350600660009054906101000a900460ff1660ff1660075461373290919063ffffffff16565b6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156133a357600080fd5b505af11580156133b7573d6000803e3d6000fd5b505050506040513d60208110156133cd57600080fd5b8101908080519060200190929190505050505b6133f35a8461369e90919063ffffffff16565b60058190555061341061cf0860055461361690919063ffffffff16565b6005819055506000613431633b9aca0060055461373290919063ffffffff16565b90503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015613479573d6000803e3d6000fd5b5050505050565b600043600c5410156134fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f54617267657420526561636865642c204e6f20426c6f636b73204c656674000081525060200191505060405180910390fd5b613516613505611c15565b600c5461369e90919063ffffffff16565b905090565b60106020528060005260406000206000915054906101000a900460ff1681565b600060016135476112ce565b63ffffffff1610156135a4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526035815260200180613a536035913960400191505060405180910390fd5b60006135ae6112ce565b63ffffffff1690506135db600660009054906101000a900460ff1660ff168261361690919063ffffffff16565b905061361081600660099054906101000a900467ffffffffffffffff1667ffffffffffffffff166136e890919063ffffffff16565b91505090565b600080828401905083811015613694576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60006136e083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506137b8565b905092915050565b600061372a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613878565b905092915050565b60008083141561374557600090506137b2565b600082840290508284828161375657fe5b04146137ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806139b36021913960400191505060405180910390fd5b809150505b92915050565b6000838311158290613865576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561382a57808201518184015260208101905061380f565b50505050905090810190601f1680156138575780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008083118290613924576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156138e95780820151818401526020810190506138ce565b50505050905090810190601f1680156139165780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161393057fe5b04905080915050939250505056fe4f6e6c7920746865206d616e616765722063616e20706572666f6d20746869732066756374696f6e4c6f636b656420756e74696c20626c6f636b20746172676574206973206163686965766564596f75206d75737420636f766572207468652078446169207472616e73616374696f6e20666565536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774d7573742068617665206d6f7265207468656e20313031207864616920696e20636f6e7472617420746f20736166656c792072656d6f7665203130302078646169596f7520646964206e6f7420726567697374657220666f7220796573746572646179277320706572696f64204f7220616c726561647920636c61696d656443616e27742063616c63756c6174652062616c616e63652062656361757365206e6f206f6e6520697320696e2074686520706f6f6c596f752076657269667920796f7572206163636f756e742077697468206272696768744944206265666f726520796f752063616e20726567697374657243616e7420736574207468652066656520686967686572207468656e20312078446169a26469706673582212207c325252b525dfe2afd53ea2946429165e17506c259b611aa6ba680581d799ab64736f6c63430007060033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000057e93bb58268de818b42e3795c97bad58afcd3fe00000000000000000000000046c8ae2ff9f0262fe1303709106a6749076b70080000000000000000000000006fa0e9a561fc855735defb17b76d31a0ee8cca0b0000000000000000000000006fa0e9a561fc855735defb17b76d31a0ee8cca0b
-----Decoded View---------------
Arg [0] : _rareAddress (address): 0x57e93BB58268dE818B42E3795c97BAD58aFCD3Fe
Arg [1] : _brightIDcontract (address): 0x46C8AE2ff9f0262fE1303709106a6749076B7008
Arg [2] : _stakeAddress (address): 0x6fa0E9a561FC855735dEFb17B76d31A0eE8cca0B
Arg [3] : _lotteryContract (address): 0x6fa0E9a561FC855735dEFb17B76d31A0eE8cca0B
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 00000000000000000000000057e93bb58268de818b42e3795c97bad58afcd3fe
Arg [1] : 00000000000000000000000046c8ae2ff9f0262fe1303709106a6749076b7008
Arg [2] : 0000000000000000000000006fa0e9a561fc855735defb17b76d31a0ee8cca0b
Arg [3] : 0000000000000000000000006fa0e9a561fc855735defb17b76d31a0ee8cca0b
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.