More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 290 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 19797691 | 61 days ago | IN | 0 ETH | 0.00019196 | ||||
Approve | 18537431 | 238 days ago | IN | 0 ETH | 0.00232515 | ||||
Approve | 17557620 | 375 days ago | IN | 0 ETH | 0.00064829 | ||||
Transfer | 16727934 | 492 days ago | IN | 0 ETH | 0.00169796 | ||||
Approve | 16642657 | 504 days ago | IN | 0 ETH | 0.00255838 | ||||
Approve | 16523026 | 521 days ago | IN | 0 ETH | 0.00079719 | ||||
Approve | 16506925 | 523 days ago | IN | 0 ETH | 0.00074329 | ||||
Approve | 16283879 | 554 days ago | IN | 0 ETH | 0.00054306 | ||||
Approve | 16283879 | 554 days ago | IN | 0 ETH | 0.00095008 | ||||
Approve | 16125899 | 576 days ago | IN | 0 ETH | 0.00065583 | ||||
Approve | 15969264 | 598 days ago | IN | 0 ETH | 0.00097175 | ||||
Approve | 15731763 | 632 days ago | IN | 0 ETH | 0.00100816 | ||||
Approve | 15558492 | 656 days ago | IN | 0 ETH | 0.00014587 | ||||
Transfer | 15518574 | 662 days ago | IN | 0 ETH | 0.00049811 | ||||
Approve | 15461907 | 671 days ago | IN | 0 ETH | 0.00060929 | ||||
Approve | 15410543 | 679 days ago | IN | 0 ETH | 0.00088025 | ||||
Approve | 15368136 | 686 days ago | IN | 0 ETH | 0.00139047 | ||||
Approve | 15366157 | 686 days ago | IN | 0 ETH | 0.00140415 | ||||
Approve | 15358501 | 688 days ago | IN | 0 ETH | 0.00033943 | ||||
Approve | 15358273 | 688 days ago | IN | 0 ETH | 0.00051097 | ||||
Approve | 15358130 | 688 days ago | IN | 0 ETH | 0.0002581 | ||||
Transfer | 15318448 | 694 days ago | IN | 0 ETH | 0.00100243 | ||||
Approve | 14935262 | 756 days ago | IN | 0 ETH | 0.00254236 | ||||
Approve | 14935229 | 756 days ago | IN | 0 ETH | 0.00151507 | ||||
Approve | 14935178 | 756 days ago | IN | 0 ETH | 0.0041164 |
Advanced mode: Intended for advanced users or developers and will display all Internal Transactions including zero value transfers. Name tag integration is not available in advanced view.
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | Value | |||
---|---|---|---|---|---|---|---|
18862785 | 192 days ago | 0 ETH | |||||
18862785 | 192 days ago | 0 ETH | |||||
18862785 | 192 days ago | 0 ETH | |||||
18537433 | 238 days ago | 0 ETH | |||||
18537433 | 238 days ago | 0 ETH | |||||
18537433 | 238 days ago | 0 ETH | |||||
18537360 | 238 days ago | 0 ETH | |||||
18537360 | 238 days ago | 0 ETH | |||||
18537360 | 238 days ago | 0 ETH | |||||
18537360 | 238 days ago | 0 ETH | |||||
17557623 | 375 days ago | 0 ETH | |||||
17557623 | 375 days ago | 0 ETH | |||||
17557623 | 375 days ago | 0 ETH | |||||
16283901 | 554 days ago | 0 ETH | |||||
16283901 | 554 days ago | 0 ETH | |||||
16283901 | 554 days ago | 0 ETH | |||||
16283897 | 554 days ago | 0 ETH | |||||
16283897 | 554 days ago | 0 ETH | |||||
16283897 | 554 days ago | 0 ETH | |||||
16283887 | 554 days ago | 0 ETH | |||||
16283887 | 554 days ago | 0 ETH | |||||
16283887 | 554 days ago | 0 ETH | |||||
16283882 | 554 days ago | 0 ETH | |||||
16283882 | 554 days ago | 0 ETH | |||||
16283882 | 554 days ago | 0 ETH |
Loading...
Loading
Contract Name:
Stake
Compiler Version
v0.7.6+commit.7338295f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-02-25 */ // SPDX-License-Identifier: UNLICENSED pragma solidity ^0.7.6; // ---------------------------------------------------------------------------- // 'HAPPYHOUR' Staking smart contract // // Enter our universe : cocktailbar.finance // // Come join the disscussion: https://t.me/cocktailbar_discussion // // Sincerely, Mr. Martini // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- // SafeMath library // ---------------------------------------------------------------------------- /** * @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; } function ceil(uint a, uint m) internal pure returns (uint r) { return (a + m - 1) / m * m; } } contract ReentrancyGuard { bool private _notEntered; constructor () { // Storing an initial non-zero value makes deployment a bit more // expensive, but in exchange the refund on every call to nonReentrant // will be lower in amount. Since refunds are capped to a percetange of // the total transaction's gas, it is best to keep them low in cases // like this one, to increase the likelihood of the full refund coming // into effect. _notEntered = true; } /** * @dev Prevents a contract from calling itself, directly or indirectly. * Calling a `nonReentrant` function from another `nonReentrant` * function is not supported. It is possible to prevent this from happening * by making the `nonReentrant` function external, and make it call a * `private` function that does the actual work. */ modifier nonReentrant() { // On the first call to nonReentrant, _notEntered will be true require(_notEntered, "ReentrancyGuard: reentrant call"); // Any calls to nonReentrant after this point will fail _notEntered = false; _; // By storing the original value once again, a refund is triggered (see // https://eips.ethereum.org/EIPS/eip-2200) _notEntered = true; } } // ---------------------------------------------------------------------------- // Owned contract // ---------------------------------------------------------------------------- contract Owned { modifier onlyOwner() virtual{ require(msg.sender==owner); _; } address payable owner; address payable newOwner; function changeOwner(address payable _newOwner) external onlyOwner { require(_newOwner!=address(0)); newOwner = _newOwner; } function acceptOwnership() external { if (msg.sender==newOwner) { owner = newOwner; } } } interface ERC20 { function balanceOf(address _owner) view external returns (uint256 balance); function transfer(address _to, uint256 _value) external returns (bool success); function transferFrom(address _from, address _to, uint256 _value) external returns (bool success); function approve(address _spender, uint256 _value) external returns (bool success); function allowance(address _owner, address _spender) view external returns (uint256 remaining); event Transfer(address indexed _from, address indexed _to, uint256 _value); event Approval(address indexed _owner, address indexed _spender, uint256 _value); } // ---------------------------------------------------------------------------- // ERC Token Standard #20 Interface // ---------------------------------------------------------------------------- contract Token is Owned, ERC20 { using SafeMath for uint256; uint256 public totalSupply; string public symbol; string public name; uint8 public decimals; mapping (address=>uint256) balances; mapping (address=>mapping (address=>uint256)) allowed; uint256 public rewardfee; event TransferFee(address indexed _from, address indexed _to, uint256 _value); function balanceOf(address _owner) view public override returns (uint256 balance) {return balances[_owner];} function transfer(address _to, uint256 _amount) public override returns (bool success) { require (balances[msg.sender]>=_amount&&_amount>0&&balances[_to]+_amount>balances[_to]); balances[msg.sender]-=_amount; uint256 fee = onehalfPercent(_amount); uint256 amountto = _amount.sub(fee); rewardfee = rewardfee.add(fee); balances[address(this)]+=fee; balances[_to]+=amountto; emit Transfer(msg.sender,_to,amountto); emit TransferFee(msg.sender,address(this),fee); return true; } function transferFrom(address _from,address _to,uint256 _amount) public override returns (bool success) { require (balances[_from]>=_amount&&allowed[_from][msg.sender]>=_amount&&_amount>0&&balances[_to]+_amount>balances[_to]); balances[_from]-=_amount; allowed[_from][msg.sender]-=_amount; uint256 fee = onehalfPercent(_amount); uint256 amountto = _amount.sub(fee); rewardfee = rewardfee.add(fee); balances[address(this)]+=fee; balances[_to]+=amountto; emit Transfer(msg.sender,_to,amountto); emit TransferFee(msg.sender,address(this),fee); return true; } function approve(address _spender, uint256 _amount) public override returns (bool success) { allowed[msg.sender][_spender]=_amount; emit Approval(msg.sender, _spender, _amount); return true; } function allowance(address _owner, address _spender) view public override returns (uint256 remaining) { return allowed[_owner][_spender]; } function onehalfPercent(uint256 _tokens) private pure returns (uint256){ uint256 roundValue = _tokens.ceil(100); uint onehalfofTokens = roundValue.mul(100).div(100 * 10**uint(2)); return onehalfofTokens; } } contract Mojito is Token{ using SafeMath for uint256; constructor() { symbol = "MOJITO"; name = "Mojito"; decimals = 18; totalSupply = 5000000000000000000000; owner = msg.sender; balances[owner] = totalSupply; } receive () payable external { require(msg.value>0); owner.transfer(msg.value); } } interface REWARDTOKEN { function balanceOf(address _owner) view external returns (uint256 balance); function allowance(address _owner, address _spender) view external returns (uint256 remaining); event Transfer(address indexed _from, address indexed _to, uint256 _value); event Approval(address indexed _owner, address indexed _spender, uint256 _value); function transfer(address _to, uint256 _amount) external returns (bool success); function transferFrom(address _from,address _to,uint256 _amount) external returns (bool success); function approve(address _to, uint256 _amount) external returns (bool success); function _mint(address account, uint256 amount) external ; } // ---------------------------------------------------------------------------- // ERC20 Token, with the addition of symbol, name and decimals and assisted // token transfers // ---------------------------------------------------------------------------- contract Stake is Mojito, ReentrancyGuard { using SafeMath for uint256; address public rewtkn= 0x39FB7AF42ef12D92A0d577ca44cd54a0f24c4915; uint256 public totalStakes = 0; uint256 stakingFee = 10; // 1% uint256 unstakingFee = 30; // 3% uint256 public prevreward = 0; REWARD public reward; struct REWARD { uint256 rewardstart; uint256 rewardend; uint256 totalreward; } struct USER{ uint256 stakedTokens; uint256 remainder; uint256 creationTime; uint256 lastClaim; uint256 totalEarned; } mapping(address => USER) public stakers; event STAKED(address staker, uint256 tokens, uint256 stakingFee); event UNSTAKED(address staker, uint256 tokens, uint256 unstakingFee); event CLAIMEDREWARD(address staker, uint256 reward); constructor() { owner=msg.sender; reward = REWARD(block.timestamp,block.timestamp + 24 hours,0); } modifier onlyOwner() override{ require(msg.sender==owner,"only owner can run this"); _; } // ------------------------------------------------------------------------ // Token holders can stake their tokens using this function // @param tokens number of tokens to stake // ------------------------------------------------------------------------ function STAKE(uint256 tokens) external nonReentrant { require(REWARDTOKEN(rewtkn).transferFrom(msg.sender, address(this), tokens), "Tokens cannot be transferred from user account"); uint256 _stakingFee = (onePercent(tokens).mul(stakingFee)).div(10); reward.totalreward = (reward.totalreward).add(stakingFee); stakers[msg.sender].stakedTokens = (tokens.sub(_stakingFee)).add(stakers[msg.sender].stakedTokens); stakers[msg.sender].creationTime = block.timestamp; totalStakes = totalStakes.add(tokens.sub(_stakingFee)); emit STAKED(msg.sender, tokens.sub(_stakingFee), _stakingFee); } // ------------------------------------------------------------------------ // Stakers can claim their pending rewards using this function // ------------------------------------------------------------------------ // ------------------------------------------------------------------------ // Stakers can unstake the staked tokens using this function // @param tokens the number of tokens to withdraw // ------------------------------------------------------------------------ function WITHDRAW(uint256 tokens) external nonReentrant { require(stakers[msg.sender].stakedTokens >= tokens && tokens > 0, "Invalid token amount to withdraw"); uint256 _unstakingFee = (onePercent(tokens).mul(unstakingFee)).div(10); // add pending rewards to remainder to be claimed by user later, if there is any existing stake reward.totalreward = (reward.totalreward).add(_unstakingFee); require(REWARDTOKEN(rewtkn).transfer(msg.sender, tokens.sub(_unstakingFee)), "Error in un-staking tokens"); stakers[msg.sender].stakedTokens = stakers[msg.sender].stakedTokens.sub(tokens); if (stakers[msg.sender].stakedTokens == 0) { stakers[msg.sender].creationTime = block.timestamp ; } totalStakes = totalStakes.sub(tokens); emit UNSTAKED(msg.sender, tokens.sub(_unstakingFee), _unstakingFee); } // ------------------------------------------------------------------------ // Private function to calculate 1% percentage // ------------------------------------------------------------------------ function onePercent(uint256 _tokens) private pure returns (uint256){ uint256 roundValue = _tokens.ceil(100); uint onePercentofTokens = roundValue.mul(100).div(100 * 10**uint(2)); return onePercentofTokens; } // ------------------------------------------------------------------------ // Get the number of tokens staked by a staker // @param _staker the address of the staker // ------------------------------------------------------------------------ function yourStakedREWARDTOKEN(address staker) external view returns(uint256 stakedTOKEN){ return stakers[staker].stakedTokens; } // ------------------------------------------------------------------------ // Get the TOKEN balance of the token holder // @param user the address of the token holder // ------------------------------------------------------------------------ function yourREWARDTOKENBalance(address user) external view returns(uint256 TOKENBalance){ return REWARDTOKEN(rewtkn).balanceOf(user); } function CurrEsstematedRew(address user) external view returns (uint256 MojitoReward) { if(stakers[user].stakedTokens >0) { uint256 time = block.timestamp - reward.rewardstart; uint256 hour=time.div(3600); uint256 newrewardstarttime=reward.rewardstart; while(hour >= 24) //alligning days with outer clock { newrewardstarttime = newrewardstarttime.add(24 hours) ; time = block.timestamp - newrewardstarttime; hour=time.div(3600); } if(stakers[user].lastClaim == newrewardstarttime) { return 0; }else{ uint256 prevrewards=0; if(prevreward == 0 ) { prevrewards = rewardfee; } uint256 Cstaked = (stakers[user].stakedTokens).mul(10000000000); uint256 CTS = totalStakes.mul(10000000000); uint256 percent = (Cstaked.mul(prevrewards)); uint256 rewardcal = percent.div(CTS); if(newrewardstarttime < stakers[user].creationTime) //how mch difference { time = stakers[user].creationTime - newrewardstarttime; uint256 stketime = time.div(3600); if(stketime < 20) { uint256 a = (stketime.mul(10**uint(2))).div(20); uint256 finalreward = (a.mul(rewardcal)).div(10**uint(2)); if(rewardfee >= rewardcal) { return finalreward; }else{ return 0; } }else { if(rewardfee >= rewardcal ) { return rewardcal; } else { return 0; } } }else{ if(rewardfee >= rewardcal ) { return rewardcal; }else { return 0; } } } }else { return 0; } } function CLAIMREWARD() external { uint256 time = block.timestamp - reward.rewardstart; uint256 hour=time.div(3600); if(hour >= 24) { prevreward = 0; } while(hour >= 24) //alligning days with outer clock { reward.rewardstart = reward.rewardstart.add(24 hours) ; time = block.timestamp - reward.rewardstart; hour=time.div(3600); } require(stakers[msg.sender].lastClaim != reward.rewardstart,"You have Already Claimed"); { //this line is basically checking which hour is currently user trying to claim (can only claim at hour 20 - 24 ) time = (block.timestamp).sub(reward.rewardstart) ; //now can be greater than rewardend uint256 rewhour = time.div(3600); if((rewhour < 24) && (rewhour >= 20)) // checking if person is illigebal for reward { if(prevreward == 0 ) { prevreward = rewardfee; } //calculating percent of staked tokens user has in the total pool uint256 Cstaked = (stakers[msg.sender].stakedTokens).mul(10000000000); uint256 CTS = totalStakes.mul(10000000000); uint256 percent = (Cstaked.mul(prevreward)); uint256 rewardcal = percent.div(CTS); if(reward.rewardstart < stakers[msg.sender].creationTime) //how mch difference { time = stakers[msg.sender].creationTime - reward.rewardstart; uint256 stketime = time.div(3600); //checking what was the stake time of the user. User should not get all amount if his stake time is less than 20 hours //will change wif we go with starttime //checktime if(stketime < 20) { uint256 a = (stketime.mul(10**uint(2))).div(20); uint256 finalreward = (a.mul(rewardcal)).div(10**uint(2)); if(rewardfee >= rewardcal) { Mojito(address(this)).transfer(msg.sender,finalreward); rewardfee = rewardfee.sub(finalreward); stakers[msg.sender].lastClaim = reward.rewardstart; stakers[msg.sender].totalEarned = (stakers[msg.sender].totalEarned).add(finalreward); emit CLAIMEDREWARD(msg.sender,finalreward); } }else { if(rewardfee >= rewardcal ) { Mojito(address(this)).transfer(msg.sender,rewardcal); rewardfee = rewardfee.sub(rewardcal); stakers[msg.sender].lastClaim = reward.rewardstart; stakers[msg.sender].totalEarned = (stakers[msg.sender].totalEarned).add(rewardcal); emit CLAIMEDREWARD(msg.sender,rewardcal); } } }else{ if(rewardfee >= rewardcal ) { Mojito(address(this)).transfer(msg.sender,rewardcal); rewardfee = rewardfee.sub(rewardcal); stakers[msg.sender].lastClaim = reward.rewardstart ; stakers[msg.sender].totalEarned = (stakers[msg.sender].totalEarned).add(rewardcal); emit CLAIMEDREWARD(msg.sender,rewardcal); } } } } reward.rewardend = reward.rewardstart + 24 hours; } function WatchClaimTime() public view returns (uint ClaimTimeHours) { uint256 time = block.timestamp - reward.rewardstart; uint rewhour = time.div(3600); return rewhour; } function WatchClaimTimeMins() public view returns (uint ClaimTimeHours) { uint256 time = block.timestamp - reward.rewardstart; uint rewhour = time.div(1); return rewhour; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"_spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"staker","type":"address"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"CLAIMEDREWARD","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"staker","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"stakingFee","type":"uint256"}],"name":"STAKED","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"TransferFee","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"staker","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"unstakingFee","type":"uint256"}],"name":"UNSTAKED","type":"event"},{"inputs":[],"name":"CLAIMREWARD","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"CurrEsstematedRew","outputs":[{"internalType":"uint256","name":"MojitoReward","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"STAKE","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"WITHDRAW","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"WatchClaimTime","outputs":[{"internalType":"uint256","name":"ClaimTimeHours","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WatchClaimTimeMins","outputs":[{"internalType":"uint256","name":"ClaimTimeHours","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"remaining","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"_newOwner","type":"address"}],"name":"changeOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"prevreward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reward","outputs":[{"internalType":"uint256","name":"rewardstart","type":"uint256"},{"internalType":"uint256","name":"rewardend","type":"uint256"},{"internalType":"uint256","name":"totalreward","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardfee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewtkn","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"stakers","outputs":[{"internalType":"uint256","name":"stakedTokens","type":"uint256"},{"internalType":"uint256","name":"remainder","type":"uint256"},{"internalType":"uint256","name":"creationTime","type":"uint256"},{"internalType":"uint256","name":"lastClaim","type":"uint256"},{"internalType":"uint256","name":"totalEarned","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalStakes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"yourREWARDTOKENBalance","outputs":[{"internalType":"uint256","name":"TOKENBalance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"staker","type":"address"}],"name":"yourStakedREWARDTOKEN","outputs":[{"internalType":"uint256","name":"stakedTOKEN","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040527339fb7af42ef12d92a0d577ca44cd54a0f24c4915600960016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600a55600a600b55601e600c556000600d553480156200007a57600080fd5b506040518060400160405280600681526020017f4d4f4a49544f000000000000000000000000000000000000000000000000000081525060039080519060200190620000c892919062000290565b506040518060400160405280600681526020017f4d6f6a69746f0000000000000000000000000000000000000000000000000000815250600490805190602001906200011692919062000290565b506012600560006101000a81548160ff021916908360ff16021790555069010f0cf064dd59200000600281905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600254600660008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600960006101000a81548160ff021916908315150217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604051806060016040528042815260200162015180420181526020016000815250600e60008201518160000155602082015181600101556040820151816002015590505062000346565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282620002c8576000855562000314565b82601f10620002e357805160ff191683800117855562000314565b8280016001018555821562000314579182015b8281111562000313578251825591602001919060010190620002f6565b5b50905062000323919062000327565b5090565b5b808211156200034257600081600090555060010162000328565b5090565b6131f580620003566000396000f3fe60806040526004361061016a5760003560e01c806370a08231116100d1578063a6f9dae11161008a578063bf9befb111610064578063bf9befb1146108a0578063ca84d591146108cb578063dd62ed3e14610906578063f7370e8b1461098b576101e5565b8063a6f9dae1146107b3578063a8420b0f14610804578063a9059cbb1461082f576101e5565b806370a082311461058057806379ba5097146105e5578063875d787a146105fc5780639168ae721461066157806395d89b41146106e2578063a2087b4614610772576101e5565b806323b872dd1161012357806323b872dd14610419578063299492f3146104aa5780632c75bcda146104d5578063313ce567146105105780633cfaf1e61461053e5780634baf782e14610569576101e5565b806306fdde03146101ea578063095ea7b31461027a578063169fb2dd146102eb57806318160ddd14610350578063228cb7331461037b57806323272506146103b4576101e5565b366101e5576000341161017c57600080fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156101e2573d6000803e3d6000fd5b50005b600080fd5b3480156101f657600080fd5b506101ff6109b6565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561023f578082015181840152602081019050610224565b50505050905090810190601f16801561026c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028657600080fd5b506102d36004803603604081101561029d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a54565b60405180821515815260200191505060405180910390f35b3480156102f757600080fd5b5061033a6004803603602081101561030e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b46565b6040518082815260200191505060405180910390f35b34801561035c57600080fd5b50610365610c13565b6040518082815260200191505060405180910390f35b34801561038757600080fd5b50610390610c19565b60405180848152602001838152602001828152602001935050505060405180910390f35b3480156103c057600080fd5b50610403600480360360208110156103d757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c31565b6040518082815260200191505060405180910390f35b34801561042557600080fd5b506104926004803603606081101561043c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f9e565b60405180821515815260200191505060405180910390f35b3480156104b657600080fd5b506104bf611392565b6040518082815260200191505060405180910390f35b3480156104e157600080fd5b5061050e600480360360208110156104f857600080fd5b8101908080359060200190929190505050611398565b005b34801561051c57600080fd5b50610525611877565b604051808260ff16815260200191505060405180910390f35b34801561054a57600080fd5b5061055361188a565b6040518082815260200191505060405180910390f35b34801561057557600080fd5b5061057e6118b7565b005b34801561058c57600080fd5b506105cf600480360360208110156105a357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612276565b6040518082815260200191505060405180910390f35b3480156105f157600080fd5b506105fa6122bf565b005b34801561060857600080fd5b5061064b6004803603602081101561061f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061237a565b6040518082815260200191505060405180910390f35b34801561066d57600080fd5b506106b06004803603602081101561068457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506123c6565b604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b3480156106ee57600080fd5b506106f76123fc565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561073757808201518184015260208101905061071c565b50505050905090810190601f1680156107645780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561077e57600080fd5b5061078761249a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107bf57600080fd5b50610802600480360360208110156107d657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506124c0565b005b34801561081057600080fd5b506108196125ff565b6040518082815260200191505060405180910390f35b34801561083b57600080fd5b506108886004803603604081101561085257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061262d565b60405180821515815260200191505060405180910390f35b3480156108ac57600080fd5b506108b561290e565b6040518082815260200191505060405180910390f35b3480156108d757600080fd5b50610904600480360360208110156108ee57600080fd5b8101908080359060200190929190505050612914565b005b34801561091257600080fd5b506109756004803603604081101561092957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612cf8565b6040518082815260200191505060405180910390f35b34801561099757600080fd5b506109a0612d7f565b6040518082815260200191505060405180910390f35b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a4c5780601f10610a2157610100808354040283529160200191610a4c565b820191906000526020600020905b815481529060010190602001808311610a2f57829003601f168201915b505050505081565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610bd157600080fd5b505afa158015610be5573d6000803e3d6000fd5b505050506040513d6020811015610bfb57600080fd5b81019080805190602001909291905050509050919050565b60025481565b600e8060000154908060010154908060020154905083565b600080601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001541115610f94576000600e60000154420390506000610ca0610e1083612d8590919063ffffffff16565b90506000600e6000015490505b60188210610cee57610ccb6201518082612dcf90919063ffffffff16565b90508042039250610ce7610e1084612d8590919063ffffffff16565b9150610cad565b80601160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301541415610d445760009350505050610f99565b600080600d541415610d565760085490505b6000610db26402540be400601160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154612e5790919063ffffffff16565b90506000610dd06402540be400600a54612e5790919063ffffffff16565b90506000610de78484612e5790919063ffffffff16565b90506000610dfe8383612d8590919063ffffffff16565b9050601160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154861015610f6a5785601160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201540397506000610ea8610e108a612d8590919063ffffffff16565b90506014811015610f3e576000610edf6014610ed16002600a0a85612e5790919063ffffffff16565b612d8590919063ffffffff16565b90506000610f0c6002600a0a610efe8685612e5790919063ffffffff16565b612d8590919063ffffffff16565b90508360085410610f2a57809b505050505050505050505050610f99565b60009b505050505050505050505050610f99565b8160085410610f5857819950505050505050505050610f99565b60009950505050505050505050610f99565b8060085410610f83578098505050505050505050610f99565b600098505050505050505050610f99565b600090505b919050565b600081600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015801561106b575081600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b80156110775750600082115b80156111025750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401115b61110b57600080fd5b81600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555060006111ed83612edd565b905060006112048285612f3190919063ffffffff16565b905061121b82600854612dcf90919063ffffffff16565b60088190555081600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a33073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fe85e14b969bb775b4056348e1a8b33b3329738b1fbf3455091825f3370efd8a8846040518082815260200191505060405180910390a36001925050509392505050565b600d5481565b600960009054906101000a900460ff1661141a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b6000600960006101000a81548160ff02191690831515021790555080601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154101580156114875750600081115b6114f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f496e76616c696420746f6b656e20616d6f756e7420746f20776974686472617781525060200191505060405180910390fd5b600061152b600a61151d600c5461150f86612f7b565b612e5790919063ffffffff16565b612d8590919063ffffffff16565b905061154581600e60020154612dcf90919063ffffffff16565b600e60020181905550600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb336115a08486612f3190919063ffffffff16565b6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156115f357600080fd5b505af1158015611607573d6000803e3d6000fd5b505050506040513d602081101561161d57600080fd5b81019080805190602001909291905050506116a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4572726f7220696e20756e2d7374616b696e6720746f6b656e7300000000000081525060200191505060405180910390fd5b6116f582601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154612f3190919063ffffffff16565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055506000601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015414156117ce5742601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201819055505b6117e382600a54612f3190919063ffffffff16565b600a819055507faeb913af138cc126643912346d844a49a83761eb58fcfc9e571fc99e1b3d9fa23361181e8385612f3190919063ffffffff16565b83604051808473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a1506001600960006101000a81548160ff02191690831515021790555050565b600560009054906101000a900460ff1681565b600080600e600001544203905060006118ad600183612d8590919063ffffffff16565b9050809250505090565b6000600e600001544203905060006118da610e1083612d8590919063ffffffff16565b9050601881106118ed576000600d819055505b5b601881106119405761191162015180600e60000154612dcf90919063ffffffff16565b600e60000181905550600e6000015442039150611939610e1083612d8590919063ffffffff16565b90506118ee565b600e60000154601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003015414156119fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f596f75206861766520416c726561647920436c61696d6564000000000000000081525060200191505060405180910390fd5b611a15600e6000015442612f3190919063ffffffff16565b91506000611a2e610e1084612d8590919063ffffffff16565b9050601881108015611a41575060148110155b1561225d576000600d541415611a5b57600854600d819055505b6000611ab76402540be400601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154612e5790919063ffffffff16565b90506000611ad56402540be400600a54612e5790919063ffffffff16565b90506000611aee600d5484612e5790919063ffffffff16565b90506000611b058383612d8590919063ffffffff16565b9050601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154600e60000154101561204957600e60000154601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201540396506000611bb9610e1089612d8590919063ffffffff16565b90506014811015611e34576000611bf06014611be26002600a0a85612e5790919063ffffffff16565b612d8590919063ffffffff16565b90506000611c1d6002600a0a611c0f8685612e5790919063ffffffff16565b612d8590919063ffffffff16565b90508360085410611e2d573073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611c9957600080fd5b505af1158015611cad573d6000803e3d6000fd5b505050506040513d6020811015611cc357600080fd5b810190808051906020019092919050505050611cea81600854612f3190919063ffffffff16565b600881905550600e60000154601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030181905550611d9181601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040154612dcf90919063ffffffff16565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401819055507f8a0128b5f12decc7d739e546c0521c3388920368915393f80120bc5b408c7c9e3382604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15b5050612043565b8160085410612042573073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611eae57600080fd5b505af1158015611ec2573d6000803e3d6000fd5b505050506040513d6020811015611ed857600080fd5b810190808051906020019092919050505050611eff82600854612f3190919063ffffffff16565b600881905550600e60000154601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030181905550611fa682601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040154612dcf90919063ffffffff16565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401819055507f8a0128b5f12decc7d739e546c0521c3388920368915393f80120bc5b408c7c9e3383604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15b5b50612258565b8060085410612257573073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156120c357600080fd5b505af11580156120d7573d6000803e3d6000fd5b505050506040513d60208110156120ed57600080fd5b81019080805190602001909291905050505061211481600854612f3190919063ffffffff16565b600881905550600e60000154601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301819055506121bb81601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040154612dcf90919063ffffffff16565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401819055507f8a0128b5f12decc7d739e546c0521c3388920368915393f80120bc5b408c7c9e3382604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15b5b505050505b5062015180600e6000015401600e600101819055505050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561237857600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b565b6000601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001549050919050565b60116020528060005260406000206000915090508060000154908060010154908060020154908060030154908060040154905085565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156124925780601f1061246757610100808354040283529160200191612492565b820191906000526020600020905b81548152906001019060200180831161247557829003601f168201915b505050505081565b600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612581576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f6f6e6c79206f776e65722063616e2072756e207468697300000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156125bb57600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600e60000154420390506000612623610e1083612d8590919063ffffffff16565b9050809250505090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015801561267e5750600082115b80156127095750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401115b61271257600080fd5b81600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550600061276a83612edd565b905060006127818285612f3190919063ffffffff16565b905061279882600854612dcf90919063ffffffff16565b60088190555081600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a33073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fe85e14b969bb775b4056348e1a8b33b3329738b1fbf3455091825f3370efd8a8846040518082815260200191505060405180910390a360019250505092915050565b600a5481565b600960009054906101000a900460ff16612996576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b6000600960006101000a81548160ff021916908315150217905550600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015612a6257600080fd5b505af1158015612a76573d6000803e3d6000fd5b505050506040513d6020811015612a8c57600080fd5b8101908080519060200190929190505050612af2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180613192602e913960400191505060405180910390fd5b6000612b24600a612b16600b54612b0886612f7b565b612e5790919063ffffffff16565b612d8590919063ffffffff16565b9050612b40600b54600e60020154612dcf90919063ffffffff16565b600e60020181905550612bb0601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154612ba28385612f3190919063ffffffff16565b612dcf90919063ffffffff16565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555042601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020181905550612c64612c538284612f3190919063ffffffff16565b600a54612dcf90919063ffffffff16565b600a819055507f99b6f4b247a06a3dbcda8d2244b818e254005608c2455221a00383939a119e7c33612c9f8385612f3190919063ffffffff16565b83604051808473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a1506001600960006101000a81548160ff02191690831515021790555050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60085481565b6000612dc783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612fcf565b905092915050565b600080828401905083811015612e4d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600080831415612e6a5760009050612ed7565b6000828402905082848281612e7b57fe5b0414612ed2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806131716021913960400191505060405180910390fd5b809150505b92915050565b600080612ef460648461309590919063ffffffff16565b90506000612f256002600a0a606402612f17606485612e5790919063ffffffff16565b612d8590919063ffffffff16565b90508092505050919050565b6000612f7383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506130b0565b905092915050565b600080612f9260648461309590919063ffffffff16565b90506000612fc36002600a0a606402612fb5606485612e5790919063ffffffff16565b612d8590919063ffffffff16565b90508092505050919050565b6000808311829061307b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613040578082015181840152602081019050613025565b50505050905090810190601f16801561306d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161308757fe5b049050809150509392505050565b60008182600184860103816130a657fe5b0402905092915050565b600083831115829061315d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613122578082015181840152602081019050613107565b50505050905090810190601f16801561314f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838503905080915050939250505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77546f6b656e732063616e6e6f74206265207472616e736665727265642066726f6d2075736572206163636f756e74a26469706673582212206ca75905dd6a63cb654e5c58e9e9659912d79066a7b8c1b9c3b3c7c41a4c67b364736f6c63430007060033
Deployed Bytecode
0x60806040526004361061016a5760003560e01c806370a08231116100d1578063a6f9dae11161008a578063bf9befb111610064578063bf9befb1146108a0578063ca84d591146108cb578063dd62ed3e14610906578063f7370e8b1461098b576101e5565b8063a6f9dae1146107b3578063a8420b0f14610804578063a9059cbb1461082f576101e5565b806370a082311461058057806379ba5097146105e5578063875d787a146105fc5780639168ae721461066157806395d89b41146106e2578063a2087b4614610772576101e5565b806323b872dd1161012357806323b872dd14610419578063299492f3146104aa5780632c75bcda146104d5578063313ce567146105105780633cfaf1e61461053e5780634baf782e14610569576101e5565b806306fdde03146101ea578063095ea7b31461027a578063169fb2dd146102eb57806318160ddd14610350578063228cb7331461037b57806323272506146103b4576101e5565b366101e5576000341161017c57600080fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156101e2573d6000803e3d6000fd5b50005b600080fd5b3480156101f657600080fd5b506101ff6109b6565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561023f578082015181840152602081019050610224565b50505050905090810190601f16801561026c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028657600080fd5b506102d36004803603604081101561029d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a54565b60405180821515815260200191505060405180910390f35b3480156102f757600080fd5b5061033a6004803603602081101561030e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b46565b6040518082815260200191505060405180910390f35b34801561035c57600080fd5b50610365610c13565b6040518082815260200191505060405180910390f35b34801561038757600080fd5b50610390610c19565b60405180848152602001838152602001828152602001935050505060405180910390f35b3480156103c057600080fd5b50610403600480360360208110156103d757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c31565b6040518082815260200191505060405180910390f35b34801561042557600080fd5b506104926004803603606081101561043c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f9e565b60405180821515815260200191505060405180910390f35b3480156104b657600080fd5b506104bf611392565b6040518082815260200191505060405180910390f35b3480156104e157600080fd5b5061050e600480360360208110156104f857600080fd5b8101908080359060200190929190505050611398565b005b34801561051c57600080fd5b50610525611877565b604051808260ff16815260200191505060405180910390f35b34801561054a57600080fd5b5061055361188a565b6040518082815260200191505060405180910390f35b34801561057557600080fd5b5061057e6118b7565b005b34801561058c57600080fd5b506105cf600480360360208110156105a357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612276565b6040518082815260200191505060405180910390f35b3480156105f157600080fd5b506105fa6122bf565b005b34801561060857600080fd5b5061064b6004803603602081101561061f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061237a565b6040518082815260200191505060405180910390f35b34801561066d57600080fd5b506106b06004803603602081101561068457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506123c6565b604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b3480156106ee57600080fd5b506106f76123fc565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561073757808201518184015260208101905061071c565b50505050905090810190601f1680156107645780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561077e57600080fd5b5061078761249a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107bf57600080fd5b50610802600480360360208110156107d657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506124c0565b005b34801561081057600080fd5b506108196125ff565b6040518082815260200191505060405180910390f35b34801561083b57600080fd5b506108886004803603604081101561085257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061262d565b60405180821515815260200191505060405180910390f35b3480156108ac57600080fd5b506108b561290e565b6040518082815260200191505060405180910390f35b3480156108d757600080fd5b50610904600480360360208110156108ee57600080fd5b8101908080359060200190929190505050612914565b005b34801561091257600080fd5b506109756004803603604081101561092957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612cf8565b6040518082815260200191505060405180910390f35b34801561099757600080fd5b506109a0612d7f565b6040518082815260200191505060405180910390f35b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a4c5780601f10610a2157610100808354040283529160200191610a4c565b820191906000526020600020905b815481529060010190602001808311610a2f57829003601f168201915b505050505081565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610bd157600080fd5b505afa158015610be5573d6000803e3d6000fd5b505050506040513d6020811015610bfb57600080fd5b81019080805190602001909291905050509050919050565b60025481565b600e8060000154908060010154908060020154905083565b600080601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001541115610f94576000600e60000154420390506000610ca0610e1083612d8590919063ffffffff16565b90506000600e6000015490505b60188210610cee57610ccb6201518082612dcf90919063ffffffff16565b90508042039250610ce7610e1084612d8590919063ffffffff16565b9150610cad565b80601160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301541415610d445760009350505050610f99565b600080600d541415610d565760085490505b6000610db26402540be400601160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154612e5790919063ffffffff16565b90506000610dd06402540be400600a54612e5790919063ffffffff16565b90506000610de78484612e5790919063ffffffff16565b90506000610dfe8383612d8590919063ffffffff16565b9050601160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154861015610f6a5785601160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201540397506000610ea8610e108a612d8590919063ffffffff16565b90506014811015610f3e576000610edf6014610ed16002600a0a85612e5790919063ffffffff16565b612d8590919063ffffffff16565b90506000610f0c6002600a0a610efe8685612e5790919063ffffffff16565b612d8590919063ffffffff16565b90508360085410610f2a57809b505050505050505050505050610f99565b60009b505050505050505050505050610f99565b8160085410610f5857819950505050505050505050610f99565b60009950505050505050505050610f99565b8060085410610f83578098505050505050505050610f99565b600098505050505050505050610f99565b600090505b919050565b600081600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015801561106b575081600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b80156110775750600082115b80156111025750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401115b61110b57600080fd5b81600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555060006111ed83612edd565b905060006112048285612f3190919063ffffffff16565b905061121b82600854612dcf90919063ffffffff16565b60088190555081600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a33073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fe85e14b969bb775b4056348e1a8b33b3329738b1fbf3455091825f3370efd8a8846040518082815260200191505060405180910390a36001925050509392505050565b600d5481565b600960009054906101000a900460ff1661141a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b6000600960006101000a81548160ff02191690831515021790555080601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154101580156114875750600081115b6114f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f496e76616c696420746f6b656e20616d6f756e7420746f20776974686472617781525060200191505060405180910390fd5b600061152b600a61151d600c5461150f86612f7b565b612e5790919063ffffffff16565b612d8590919063ffffffff16565b905061154581600e60020154612dcf90919063ffffffff16565b600e60020181905550600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb336115a08486612f3190919063ffffffff16565b6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156115f357600080fd5b505af1158015611607573d6000803e3d6000fd5b505050506040513d602081101561161d57600080fd5b81019080805190602001909291905050506116a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4572726f7220696e20756e2d7374616b696e6720746f6b656e7300000000000081525060200191505060405180910390fd5b6116f582601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154612f3190919063ffffffff16565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055506000601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015414156117ce5742601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201819055505b6117e382600a54612f3190919063ffffffff16565b600a819055507faeb913af138cc126643912346d844a49a83761eb58fcfc9e571fc99e1b3d9fa23361181e8385612f3190919063ffffffff16565b83604051808473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a1506001600960006101000a81548160ff02191690831515021790555050565b600560009054906101000a900460ff1681565b600080600e600001544203905060006118ad600183612d8590919063ffffffff16565b9050809250505090565b6000600e600001544203905060006118da610e1083612d8590919063ffffffff16565b9050601881106118ed576000600d819055505b5b601881106119405761191162015180600e60000154612dcf90919063ffffffff16565b600e60000181905550600e6000015442039150611939610e1083612d8590919063ffffffff16565b90506118ee565b600e60000154601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003015414156119fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f596f75206861766520416c726561647920436c61696d6564000000000000000081525060200191505060405180910390fd5b611a15600e6000015442612f3190919063ffffffff16565b91506000611a2e610e1084612d8590919063ffffffff16565b9050601881108015611a41575060148110155b1561225d576000600d541415611a5b57600854600d819055505b6000611ab76402540be400601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154612e5790919063ffffffff16565b90506000611ad56402540be400600a54612e5790919063ffffffff16565b90506000611aee600d5484612e5790919063ffffffff16565b90506000611b058383612d8590919063ffffffff16565b9050601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154600e60000154101561204957600e60000154601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201540396506000611bb9610e1089612d8590919063ffffffff16565b90506014811015611e34576000611bf06014611be26002600a0a85612e5790919063ffffffff16565b612d8590919063ffffffff16565b90506000611c1d6002600a0a611c0f8685612e5790919063ffffffff16565b612d8590919063ffffffff16565b90508360085410611e2d573073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611c9957600080fd5b505af1158015611cad573d6000803e3d6000fd5b505050506040513d6020811015611cc357600080fd5b810190808051906020019092919050505050611cea81600854612f3190919063ffffffff16565b600881905550600e60000154601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030181905550611d9181601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040154612dcf90919063ffffffff16565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401819055507f8a0128b5f12decc7d739e546c0521c3388920368915393f80120bc5b408c7c9e3382604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15b5050612043565b8160085410612042573073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611eae57600080fd5b505af1158015611ec2573d6000803e3d6000fd5b505050506040513d6020811015611ed857600080fd5b810190808051906020019092919050505050611eff82600854612f3190919063ffffffff16565b600881905550600e60000154601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030181905550611fa682601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040154612dcf90919063ffffffff16565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401819055507f8a0128b5f12decc7d739e546c0521c3388920368915393f80120bc5b408c7c9e3383604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15b5b50612258565b8060085410612257573073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156120c357600080fd5b505af11580156120d7573d6000803e3d6000fd5b505050506040513d60208110156120ed57600080fd5b81019080805190602001909291905050505061211481600854612f3190919063ffffffff16565b600881905550600e60000154601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301819055506121bb81601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040154612dcf90919063ffffffff16565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401819055507f8a0128b5f12decc7d739e546c0521c3388920368915393f80120bc5b408c7c9e3382604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15b5b505050505b5062015180600e6000015401600e600101819055505050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561237857600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b565b6000601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001549050919050565b60116020528060005260406000206000915090508060000154908060010154908060020154908060030154908060040154905085565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156124925780601f1061246757610100808354040283529160200191612492565b820191906000526020600020905b81548152906001019060200180831161247557829003601f168201915b505050505081565b600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612581576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f6f6e6c79206f776e65722063616e2072756e207468697300000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156125bb57600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600e60000154420390506000612623610e1083612d8590919063ffffffff16565b9050809250505090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015801561267e5750600082115b80156127095750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401115b61271257600080fd5b81600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550600061276a83612edd565b905060006127818285612f3190919063ffffffff16565b905061279882600854612dcf90919063ffffffff16565b60088190555081600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a33073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fe85e14b969bb775b4056348e1a8b33b3329738b1fbf3455091825f3370efd8a8846040518082815260200191505060405180910390a360019250505092915050565b600a5481565b600960009054906101000a900460ff16612996576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b6000600960006101000a81548160ff021916908315150217905550600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015612a6257600080fd5b505af1158015612a76573d6000803e3d6000fd5b505050506040513d6020811015612a8c57600080fd5b8101908080519060200190929190505050612af2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180613192602e913960400191505060405180910390fd5b6000612b24600a612b16600b54612b0886612f7b565b612e5790919063ffffffff16565b612d8590919063ffffffff16565b9050612b40600b54600e60020154612dcf90919063ffffffff16565b600e60020181905550612bb0601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154612ba28385612f3190919063ffffffff16565b612dcf90919063ffffffff16565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555042601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020181905550612c64612c538284612f3190919063ffffffff16565b600a54612dcf90919063ffffffff16565b600a819055507f99b6f4b247a06a3dbcda8d2244b818e254005608c2455221a00383939a119e7c33612c9f8385612f3190919063ffffffff16565b83604051808473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a1506001600960006101000a81548160ff02191690831515021790555050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60085481565b6000612dc783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612fcf565b905092915050565b600080828401905083811015612e4d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600080831415612e6a5760009050612ed7565b6000828402905082848281612e7b57fe5b0414612ed2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806131716021913960400191505060405180910390fd5b809150505b92915050565b600080612ef460648461309590919063ffffffff16565b90506000612f256002600a0a606402612f17606485612e5790919063ffffffff16565b612d8590919063ffffffff16565b90508092505050919050565b6000612f7383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506130b0565b905092915050565b600080612f9260648461309590919063ffffffff16565b90506000612fc36002600a0a606402612fb5606485612e5790919063ffffffff16565b612d8590919063ffffffff16565b90508092505050919050565b6000808311829061307b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613040578082015181840152602081019050613025565b50505050905090810190601f16801561306d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161308757fe5b049050809150509392505050565b60008182600184860103816130a657fe5b0402905092915050565b600083831115829061315d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613122578082015181840152602081019050613107565b50505050905090810190601f16801561314f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838503905080915050939250505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77546f6b656e732063616e6e6f74206265207472616e736665727265642066726f6d2075736572206163636f756e74a26469706673582212206ca75905dd6a63cb654e5c58e9e9659912d79066a7b8c1b9c3b3c7c41a4c67b364736f6c63430007060033
Deployed Bytecode Sourcemap
12493:10960:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11460:1;11450:9;:11;11442:20;;;;;;11472:5;;;;;;;;;;:14;;:25;11487:9;11472:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12493:10960;;;;;8861:18;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10491:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;17071:148;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8803:26;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12787:21;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17226:2200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9826:658;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;12752:29;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15033:911;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8885:21;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;23223:223;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;19437:3537;;;;;;;;;;;;;:::i;:::-;;9129:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7762:119;;;;;;;;;;;;;:::i;:::-;;16663:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13103:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8835:20;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12573:65;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7613:144;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;22995:216;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9246:569;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;12644:30;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13876:642;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10719:150;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9012:24;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8861:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10491:221::-;10569:12;10623:7;10593;:19;10601:10;10593:19;;;;;;;;;;;;;;;:29;10613:8;10593:29;;;;;;;;;;;;;;;:37;;;;10666:8;10645:39;;10654:10;10645:39;;;10676:7;10645:39;;;;;;;;;;;;;;;;;;10701:4;10694:11;;10491:221;;;;:::o;17071:148::-;17139:20;17189:6;;;;;;;;;;;17177:29;;;17207:4;17177:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17170:42;;17071:148;;;:::o;8803:26::-;;;;:::o;12787:21::-;;;;;;;;;;;;;;;;;;;:::o;17226:2200::-;17290:20;17359:1;17331:7;:13;17339:4;17331:13;;;;;;;;;;;;;;;:26;;;:29;17328:2090;;;17385:12;17418:6;:18;;;17400:15;:36;17385:51;;17449:12;17462:14;17471:4;17462;:8;;:14;;;;:::i;:::-;17449:27;;17489:26;17516:6;:18;;;17489:45;;17546:231;17560:2;17552:4;:10;17546:231;;17641:32;17664:8;17641:18;:22;;:32;;;;:::i;:::-;17620:53;;17713:18;17695:15;:36;17688:43;;17750:14;17759:4;17750;:8;;:14;;;;:::i;:::-;17745:19;;17546:231;;;17820:18;17793:7;:13;17801:4;17793:13;;;;;;;;;;;;;;;:23;;;:45;17790:1560;;;17873:1;17866:8;;;;;;;17790:1560;17907:19;17960:1;17946:10;;:15;17943:89;;;18008:9;;17994:23;;17943:89;18047:15;18065:45;18098:11;18066:7;:13;18074:4;18066:13;;;;;;;;;;;;;;;:26;;;18065:32;;:45;;;;:::i;:::-;18047:63;;18124:11;18138:28;18154:11;18138;;:15;;:28;;;;:::i;:::-;18124:42;;18180:15;18199:24;18211:11;18199:7;:11;;:24;;;;:::i;:::-;18180:44;;18238:17;18259:16;18271:3;18259:7;:11;;:16;;;;:::i;:::-;18238:37;;18318:7;:13;18326:4;18318:13;;;;;;;;;;;;;;;:26;;;18297:18;:47;18294:1036;;;18433:18;18404:7;:13;18412:4;18404:13;;;;;;;;;;;;;;;:26;;;:47;18396:55;;18465:16;18484:14;18493:4;18484;:8;;:14;;;;:::i;:::-;18465:33;;18529:2;18518:8;:13;18515:582;;;18560:9;18572:35;18604:2;18573:25;18595:1;18586:2;:11;18573:8;:12;;:25;;;;:::i;:::-;18572:31;;:35;;;;:::i;:::-;18560:47;;18622:19;18645:35;18677:1;18668:2;:11;18646:16;18652:9;18646:1;:5;;:16;;;;:::i;:::-;18645:22;;:35;;;;:::i;:::-;18622:58;;18713:9;18700;;:22;18697:142;;18765:11;18758:18;;;;;;;;;;;;;;;18697:142;18822:1;18815:8;;;;;;;;;;;;;;;18515:582;18908:9;18895;;:22;18892:189;;18966:9;18959:16;;;;;;;;;;;;;18892:189;19061:1;19054:8;;;;;;;;;;;;;18294:1036;19157:9;19144;;:22;19141:172;;19215:9;19208:16;;;;;;;;;;;;19141:172;19293:1;19286:8;;;;;;;;;;;;17328:2090;19406:1;19399:8;;17226:2200;;;;:::o;9826:658::-;9917:12;9967:7;9950:8;:15;9959:5;9950:15;;;;;;;;;;;;;;;;:24;;:61;;;;;10004:7;9976;:14;9984:5;9976:14;;;;;;;;;;;;;;;:26;9991:10;9976:26;;;;;;;;;;;;;;;;:35;;9950:61;:72;;;;;10021:1;10013:7;:9;9950:72;:109;;;;;10046:8;:13;10055:3;10046:13;;;;;;;;;;;;;;;;10038:7;10024:8;:13;10033:3;10024:13;;;;;;;;;;;;;;;;:21;:35;9950:109;9941:119;;;;;;10087:7;10070:8;:15;10079:5;10070:15;;;;;;;;;;;;;;;;:24;;;;;;;;;;;10132:7;10104;:14;10112:5;10104:14;;;;;;;;;;;;;;;:26;10119:10;10104:26;;;;;;;;;;;;;;;;:35;;;;;;;;;;;10151:11;10165:23;10180:7;10165:14;:23::i;:::-;10151:37;;10198:16;10217;10229:3;10217:7;:11;;:16;;;;:::i;:::-;10198:35;;10259:18;10273:3;10259:9;;:13;;:18;;;;:::i;:::-;10247:9;:30;;;;10312:3;10287:8;:23;10304:4;10287:23;;;;;;;;;;;;;;;;:28;;;;;;;;;;;10340:8;10325;:13;10334:3;10325:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;10387:3;10367:33;;10376:10;10367:33;;;10391:8;10367:33;;;;;;;;;;;;;;;;;;10446:4;10415:41;;10427:10;10415:41;;;10452:3;10415:41;;;;;;;;;;;;;;;;;;10473:4;10466:11;;;;9826:658;;;;;:::o;12752:29::-;;;;:::o;15033:911::-;6934:11;;;;;;;;;;;6926:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7071:5;7057:11;;:19;;;;;;;;;;;;;;;;;;15145:6:::1;15109:7;:19;15117:10;15109:19;;;;;;;;;;;;;;;:32;;;:42;;:56;;;;;15164:1;15155:6;:10;15109:56;15101:101;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;15214:21;15238:46;15281:2;15239:36;15262:12;;15239:18;15250:6;15239:10;:18::i;:::-;:22;;:36;;;;:::i;:::-;15238:42;;:46;;;;:::i;:::-;15214:70;;15425:39;15450:13;15426:6;:18;;;15425:24;;:39;;;;:::i;:::-;15404:6;:18;;:60;;;;15494:6;;;;;;;;;;;15482:28;;;15511:10;15523:25;15534:13;15523:6;:10;;:25;;;;:::i;:::-;15482:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;15474:106;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;15627:44;15664:6;15627:7;:19;15635:10;15627:19;;;;;;;;;;;;;;;:32;;;:36;;:44;;;;:::i;:::-;15592:7;:19;15600:10;15592:19;;;;;;;;;;;;;;;:32;;:79;;;;15723:1;15687:7;:19;15695:10;15687:19;;;;;;;;;;;;;;;:32;;;:37;15683:127;;;15783:15;15748:7;:19;15756:10;15748:19;;;;;;;;;;;;;;;:32;;:50;;;;15683:127;15833:23;15849:6;15833:11;;:15;;:23;;;;:::i;:::-;15819:11;:37;;;;15871:62;15880:10;15892:25;15903:13;15892:6;:10;;:25;;;;:::i;:::-;15919:13;15871:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7088:1;7247:4:::0;7233:11;;:18;;;;;;;;;;;;;;;;;;15033:911;:::o;8885:21::-;;;;;;;;;;;;;:::o;23223:223::-;23274:19;23315:12;23349:6;:18;;;23331:15;:36;23315:52;;23381:12;23396:11;23405:1;23396:4;:8;;:11;;;;:::i;:::-;23381:26;;23428:7;23421:14;;;;23223:223;:::o;19437:3537::-;19484:12;19517:6;:18;;;19499:15;:36;19484:51;;19545:12;19558:14;19567:4;19558;:8;;:14;;;;:::i;:::-;19545:27;;19599:2;19591:4;:10;19588:62;;19638:1;19625:10;:14;;;;19588:62;19659:231;19673:2;19665:4;:10;19659:231;;19754:32;19777:8;19754:6;:18;;;:22;;:32;;;;:::i;:::-;19733:6;:18;;:53;;;;19826:6;:18;;;19808:15;:36;19801:43;;19863:14;19872:4;19863;:8;;:14;;;;:::i;:::-;19858:19;;19659:231;;;19942:6;:18;;;19909:7;:19;19917:10;19909:19;;;;;;;;;;;;;;;:29;;;:51;;19901:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20140:41;20162:6;:18;;;20141:15;20140:21;;:41;;;;:::i;:::-;20132:49;;20229:15;20247:14;20256:4;20247;:8;;:14;;;;:::i;:::-;20229:32;;20285:2;20275:7;:12;20274:33;;;;;20304:2;20293:7;:13;;20274:33;20271:2623;;;20397:1;20383:10;;:15;20380:88;;;20444:9;;20431:10;:22;;;;20380:88;20563:15;20581:51;20620:11;20582:7;:19;20590:10;20582:19;;;;;;;;;;;;;;;:32;;;20581:38;;:51;;;;:::i;:::-;20563:69;;20646:11;20660:28;20676:11;20660;;:15;;:28;;;;:::i;:::-;20646:42;;20702:15;20721:23;20733:10;;20721:7;:11;;:23;;;;:::i;:::-;20702:43;;20759:17;20780:16;20792:3;20780:7;:11;;:16;;;;:::i;:::-;20759:37;;20839:7;:19;20847:10;20839:19;;;;;;;;;;;;;;;:32;;;20818:6;:18;;;:53;20815:2063;;;20966:6;:18;;;20931:7;:19;20939:10;20931:19;;;;;;;;;;;;;;;:32;;;:53;20923:61;;20998:16;21017:14;21026:4;21017;:8;;:14;;;;:::i;:::-;20998:33;;21269:2;21258:8;:13;21255:1107;;;21300:9;21312:35;21344:2;21313:25;21335:1;21326:2;:11;21313:8;:12;;:25;;;;:::i;:::-;21312:31;;:35;;;;:::i;:::-;21300:47;;21362:19;21385:35;21417:1;21408:2;:11;21386:16;21392:9;21386:1;:5;;:16;;;;:::i;:::-;21385:22;;:35;;;;:::i;:::-;21362:58;;21453:9;21440;;:22;21437:405;;21509:4;21494:30;;;21525:10;21536:11;21494:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21576:26;21590:11;21576:9;;:13;;:26;;;;:::i;:::-;21564:9;:38;;;;21650:6;:18;;;21618:7;:19;21626:10;21618:19;;;;;;;;;;;;;;;:29;;:50;;;;21718;21756:11;21719:7;:19;21727:10;21719:19;;;;;;;;;;;;;;;:31;;;21718:37;;:50;;;;:::i;:::-;21684:7;:19;21692:10;21684:19;;;;;;;;;;;;;;;:31;;:84;;;;21789:37;21803:10;21814:11;21789:37;;;;;;;;;;;;;;;;;;;;;;;;;;21437:405;21255:1107;;;;;21911:9;21898;;:22;21895:451;;21977:4;21962:30;;;21993:10;22004:9;21962:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22051:24;22065:9;22051;;:13;;:24;;;;:::i;:::-;22039:9;:36;;;;22133:6;:18;;;22101:7;:19;22109:10;22101:19;;;;;;;;;;;;;;;:29;;:50;;;;22212:48;22250:9;22213:7;:19;22221:10;22213:19;;;;;;;;;;;;;;;:31;;;22212:37;;:48;;;;:::i;:::-;22178:7;:19;22186:10;22178:19;;;;;;;;;;;;;;;:31;;:82;;;;22290:35;22304:10;22315:9;22290:35;;;;;;;;;;;;;;;;;;;;;;;;;;21895:451;21255:1107;20815:2063;;;;22422:9;22409;;:22;22406:455;;22488:4;22473:30;;;22504:10;22515:9;22473:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22562:24;22576:9;22562;;:13;;:24;;;;:::i;:::-;22550:9;:36;;;;22645:6;:18;;;22613:7;:19;22621:10;22613:19;;;;;;;;;;;;;;;:29;;:50;;;;22728:48;22766:9;22729:7;:19;22737:10;22729:19;;;;;;;;;;;;;;;:31;;;22728:37;;:48;;;;:::i;:::-;22694:7;:19;22702:10;22694:19;;;;;;;;;;;;;;;:31;;:82;;;;22805:35;22819:10;22830:9;22805:35;;;;;;;;;;;;;;;;;;;;;;;;;;22406:455;20815:2063;20271:2623;;;;;19437:3537;22957:8;22936:6;:18;;;:29;22917:6;:16;;:48;;;;19437:3537;;:::o;9129:110::-;9196:15;9221:8;:16;9230:6;9221:16;;;;;;;;;;;;;;;;9214:23;;9129:110;;;:::o;7762:119::-;7824:8;;;;;;;;;;;7812:20;;:10;:20;;;7808:67;;;7856:8;;;;;;;;;;;7848:5;;:16;;;;;;;;;;;;;;;;;;7808:67;7762:119::o;16663:141::-;16732:19;16769:7;:15;16777:6;16769:15;;;;;;;;;;;;;;;:28;;;16762:35;;16663:141;;;:::o;13103:39::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8835:20::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;12573:65::-;;;;;;;;;;;;;:::o;7613:144::-;13546:5;;;;;;;;;;13534:17;;:10;:17;;;13526:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7717:1:::1;7698:21;;:9;:21;;;;7690:30;;;::::0;::::1;;7741:9;7730:8;;:20;;;;;;;;;;;;;;;;;;7613:144:::0;:::o;22995:216::-;23044:19;23085:12;23119:6;:18;;;23101:15;:36;23085:52;;23147:12;23162:14;23171:4;23162;:8;;:14;;;;:::i;:::-;23147:29;;23193:7;23186:14;;;;22995:216;:::o;9246:569::-;9320:12;9375:7;9353:8;:20;9362:10;9353:20;;;;;;;;;;;;;;;;:29;;:40;;;;;9392:1;9384:7;:9;9353:40;:77;;;;;9417:8;:13;9426:3;9417:13;;;;;;;;;;;;;;;;9409:7;9395:8;:13;9404:3;9395:13;;;;;;;;;;;;;;;;:21;:35;9353:77;9344:87;;;;;;9463:7;9441:8;:20;9450:10;9441:20;;;;;;;;;;;;;;;;:29;;;;;;;;;;;9484:11;9498:23;9513:7;9498:14;:23::i;:::-;9484:37;;9531:16;9550;9562:3;9550:7;:11;;:16;;;;:::i;:::-;9531:35;;9588:18;9602:3;9588:9;;:13;;:18;;;;:::i;:::-;9576:9;:30;;;;9643:3;9618:8;:23;9635:4;9618:23;;;;;;;;;;;;;;;;:28;;;;;;;;;;;9671:8;9656;:13;9665:3;9656:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;9718:3;9698:33;;9707:10;9698:33;;;9722:8;9698:33;;;;;;;;;;;;;;;;;;9777:4;9746:41;;9758:10;9746:41;;;9783:3;9746:41;;;;;;;;;;;;;;;;;;9804:4;9797:11;;;;9246:569;;;;:::o;12644:30::-;;;;:::o;13876:642::-;6934:11;;;;;;;;;;;6926:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7071:5;7057:11;;:19;;;;;;;;;;;;;;;;;;13959:6:::1;;;;;;;;;;;13947:32;;;13980:10;14000:4;14007:6;13947:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;13939:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14075:19;14097:44;14138:2;14098:34;14121:10;;14098:18;14109:6;14098:10;:18::i;:::-;:22;;:34;;;;:::i;:::-;14097:40;;:44;;;;:::i;:::-;14075:66;;14172:36;14197:10;;14173:6;:18;;;14172:24;;:36;;;;:::i;:::-;14151:6;:18;;:57;;;;14253:63;14283:7;:19;14291:10;14283:19;;;;;;;;;;;;;;;:32;;;14254:23;14265:11;14254:6;:10;;:23;;;;:::i;:::-;14253:29;;:63;;;;:::i;:::-;14218:7;:19;14226:10;14218:19;;;;;;;;;;;;;;;:32;;:98;;;;14361:15;14326:7;:19;14334:10;14326:19;;;;;;;;;;;;;;;:32;;:50;;;;14400:40;14416:23;14427:11;14416:6;:10;;:23;;;;:::i;:::-;14400:11;;:15;;:40;;;;:::i;:::-;14386:11;:54;;;;14455:56;14462:10;14474:23;14485:11;14474:6;:10;;:23;;;;:::i;:::-;14499:11;14455:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7088:1;7247:4:::0;7233:11;;:18;;;;;;;;;;;;;;;;;;13876:642;:::o;10719:150::-;10803:17;10837:7;:15;10845:6;10837:15;;;;;;;;;;;;;;;:25;10853:8;10837:25;;;;;;;;;;;;;;;;10830:32;;10719:150;;;;:::o;9012:24::-;;;;:::o;3699:130::-;3757:7;3783:39;3787:1;3790;3783:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3776:46;;3699:130;;;;:::o;1462:177::-;1520:7;1539:9;1555:1;1551;:5;1539:17;;1579:1;1574;:6;;1566:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1631:1;1624:8;;;1462:177;;;;:::o;2773:461::-;2831:7;3077:1;3072;:6;3068:45;;;3101:1;3094:8;;;;3068:45;3124:9;3140:1;3136;:5;3124:17;;3168:1;3163;3159;:5;;;;;;:10;3151:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3226:1;3219:8;;;2773:461;;;;;:::o;10880:233::-;10943:7;10961:18;10982:17;10995:3;10982:7;:12;;:17;;;;:::i;:::-;10961:38;;11009:20;11032:42;11071:1;11062:2;:11;11056:3;:17;11032:19;11047:3;11032:10;:14;;:19;;;;:::i;:::-;:23;;:42;;;;:::i;:::-;11009:65;;11091:15;11084:22;;;;10880:233;;;:::o;1911:134::-;1969:7;1995:43;1999:1;2002;1995:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1988:50;;1911:134;;;;:::o;16162:235::-;16221:7;16239:18;16260:17;16273:3;16260:7;:12;;:17;;;;:::i;:::-;16239:38;;16287:23;16313:42;16352:1;16343:2;:11;16337:3;:17;16313:19;16328:3;16313:10;:14;;:19;;;;:::i;:::-;:23;;:42;;;;:::i;:::-;16287:68;;16372:18;16365:25;;;;16162:235;;;:::o;4312:273::-;4398:7;4429:1;4425;:5;4432:12;4417:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4455:9;4471:1;4467;:5;;;;;;4455:17;;4577:1;4570:8;;;4312:273;;;;;:::o;5807:104::-;5860:6;5903:1;5899;5894;5890;5886;:5;:9;5885:15;;;;;;:19;5878:26;;5807:104;;;;:::o;2337:188::-;2423:7;2455:1;2450;:6;;2458:12;2442:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2481:9;2497:1;2493;:5;2481:17;;2517:1;2510:8;;;2337:188;;;;;:::o
Swarm Source
ipfs://6ca75905dd6a63cb654e5c58e9e9659912d79066a7b8c1b9c3b3c7c41a4c67b3
Loading...
Loading
Loading...
Loading
OVERVIEW
MOJITO is an ERC-20 token and the newest addition to the CocktailBar Token Ecosystem. MOJITOs will also unlock a new layer within the CocktailBar ecosystem, giving holders access to never-before-seen NFTs.Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.