ETH Price: $2,208.62 (-6.24%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Stake195641052024-04-01 22:59:23672 days ago1712012363IN
0x2bBC5395...9F39b4104
0 ETH0.0084842624.8054616
Stake194930082024-03-22 22:02:35682 days ago1711144955IN
0x2bBC5395...9F39b4104
0 ETH0.0076422720.31265414
Stake194673892024-03-19 7:44:11686 days ago1710834251IN
0x2bBC5395...9F39b4104
0 ETH0.0106454331.12626901
Stake194415182024-03-15 16:24:23690 days ago1710519863IN
0x2bBC5395...9F39b4104
0 ETH0.0202255247.3102942
Set Stake Bonus193987592024-03-09 16:32:59696 days ago1710001979IN
0x2bBC5395...9F39b4104
0 ETH0.0029569875.72297195

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
XRATIOStaking

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
Yes with 200 runs

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

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

interface IERC20 {
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );

    event Transfer(address indexed from, address indexed to, uint256 value);

    function name() external view returns (string memory);

    function symbol() external view returns (string memory);

    function decimals() external view returns (uint8);

    function totalSupply() external view returns (uint256);

    function balanceOf(address owner) external view returns (uint256);

    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    function approve(address spender, uint256 value) external;

    function transfer(address to, uint256 value) external;

    function transferFrom(
        address from,
        address to,
        uint256 value
    ) external;
}

contract XRATIOStaking {
    using SafeMath for uint256;
    IERC20 public stakeToken;

    address payable public owner;

    uint256 public totalStakedToken;
    uint256 public totalUnStakedToken;
    uint256 public totalWithdrawanToken;
    uint256 public totalClaimedRewardToken;
    uint256 public totalStakers;
    uint256 public percentDivider;
    uint256 public unstakePercent;
    uint256[3] public Duration = [1 days, 7 days, 30 days];
    uint256[3] public Bonus = [27, 575, 5000];
    uint256[3] public Penalty = [10, 5, 5];
    uint256[3] public totalStakedPerPlan;
    uint256[3] public totalStakersPerPlan;

    struct Stake {
        uint256 plan;
        uint256 withdrawtime;
        uint256 staketime;
        uint256 amount;
        uint256 reward;
        uint256 persecondreward;
        bool withdrawan;
        bool unstaked;
    }

    struct User {
        uint256 totalStakedTokenUser;
        uint256 totalWithdrawanTokenUser;
        uint256 totalUnStakedTokenUser;
        uint256 totalClaimedRewardTokenUser;
        uint256 stakeCount;
        bool alreadyExists;
    }

    mapping(address => User) public Stakers;
    mapping(uint256 => address) public StakersID;
    mapping(address => mapping(uint256 => Stake)) public stakersRecord;
    mapping(address => mapping(uint256 => uint256)) public userStakedPerPlan;

    event STAKE(address Staker, uint256 amount);
    event UNSTAKE(address Staker, uint256 amount);
    event WITHDRAW(address Staker, uint256 amount);

    modifier onlyowner() {
        require(owner == msg.sender, "only owner");
        _;
    }

    constructor(address _owner, address _token) {
        owner = payable(_owner);
        stakeToken = IERC20(_token);
        unstakePercent = 1000;
        percentDivider = 100_0000;
    }

    function stake(uint256 amount, uint256 planIndex) public {
        require(planIndex >= 0 && planIndex <= 2, "Invalid Time Period");
        require(amount >= 0, "stake more than 0");

        if (!Stakers[msg.sender].alreadyExists) {
            Stakers[msg.sender].alreadyExists = true;
            StakersID[totalStakers] = msg.sender;
            totalStakers++;
        }

        stakeToken.transferFrom(msg.sender, address(this), amount);

        uint256 index = Stakers[msg.sender].stakeCount;
        Stakers[msg.sender].totalStakedTokenUser = Stakers[msg.sender]
            .totalStakedTokenUser
            .add(amount);
        totalStakedToken = totalStakedToken.add(amount);
        stakersRecord[msg.sender][index].withdrawtime = block.timestamp.add(
            Duration[planIndex]
        );
        stakersRecord[msg.sender][index].staketime = block.timestamp;
        stakersRecord[msg.sender][index].amount = amount;
        stakersRecord[msg.sender][index].reward = amount
            .mul(Bonus[planIndex])
            .div(percentDivider);
        stakersRecord[msg.sender][index].persecondreward = stakersRecord[
            msg.sender
        ][index].reward.div(Duration[planIndex]);
        stakersRecord[msg.sender][index].plan = planIndex;
        Stakers[msg.sender].stakeCount++;
        userStakedPerPlan[msg.sender][planIndex] = userStakedPerPlan[
            msg.sender
        ][planIndex].add(amount);
        totalStakedPerPlan[planIndex] = totalStakedPerPlan[planIndex].add(
            amount
        );
        totalStakersPerPlan[planIndex]++;

        emit STAKE(msg.sender, amount);
    }

    function unstake(uint256 index) public {
        require(
            !stakersRecord[msg.sender][index].withdrawan,
            "already withdrawan"
        );
        require(!stakersRecord[msg.sender][index].unstaked, "already unstaked");
        require(index < Stakers[msg.sender].stakeCount, "Invalid index");

        stakersRecord[msg.sender][index].unstaked = true;
        uint256 planIndex = stakersRecord[msg.sender][index].plan;
        uint256 penalty = stakersRecord[msg.sender][index]
            .amount
            .mul(Penalty[planIndex])
            .div(unstakePercent);
        stakeToken.transfer(owner, penalty);
        stakeToken.transfer(
            msg.sender,
            (stakersRecord[msg.sender][index].amount).sub(penalty)
        );
        totalUnStakedToken = totalUnStakedToken.add(
            stakersRecord[msg.sender][index].amount
        );
        Stakers[msg.sender].totalUnStakedTokenUser = Stakers[msg.sender]
            .totalUnStakedTokenUser
            .add(stakersRecord[msg.sender][index].amount);
        userStakedPerPlan[msg.sender][planIndex] = userStakedPerPlan[
            msg.sender
        ][planIndex].sub(stakersRecord[msg.sender][index].amount, "user stake");
        totalStakedPerPlan[planIndex] = totalStakedPerPlan[planIndex].sub(
            stakersRecord[msg.sender][index].amount,
            "total stake"
        );
        totalStakersPerPlan[planIndex]--;

        emit UNSTAKE(msg.sender, stakersRecord[msg.sender][index].amount);
    }

    function withdraw(uint256 index) public {
        require(
            !stakersRecord[msg.sender][index].withdrawan,
            "already withdrawan"
        );
        require(!stakersRecord[msg.sender][index].unstaked, "already unstaked");
        require(
            stakersRecord[msg.sender][index].withdrawtime < block.timestamp,
            "cannot withdraw before stake duration"
        );
        require(index < Stakers[msg.sender].stakeCount, "Invalid index");

        stakersRecord[msg.sender][index].withdrawan = true;
        stakeToken.transfer(
            msg.sender,
            stakersRecord[msg.sender][index].amount
        );
        stakeToken.transferFrom(
            owner,
            msg.sender,
            stakersRecord[msg.sender][index].reward
        );
        totalWithdrawanToken = totalWithdrawanToken.add(
            stakersRecord[msg.sender][index].amount
        );
        totalClaimedRewardToken = totalClaimedRewardToken.add(
            stakersRecord[msg.sender][index].reward
        );
        Stakers[msg.sender].totalWithdrawanTokenUser = Stakers[msg.sender]
            .totalWithdrawanTokenUser
            .add(stakersRecord[msg.sender][index].amount);
        Stakers[msg.sender].totalClaimedRewardTokenUser = Stakers[msg.sender]
            .totalClaimedRewardTokenUser
            .add(stakersRecord[msg.sender][index].reward);
        uint256 planIndex = stakersRecord[msg.sender][index].plan;
        userStakedPerPlan[msg.sender][planIndex] = userStakedPerPlan[
            msg.sender
        ][planIndex].sub(stakersRecord[msg.sender][index].amount, "user stake");
        totalStakedPerPlan[planIndex] = totalStakedPerPlan[planIndex].sub(
            stakersRecord[msg.sender][index].amount,
            "total stake"
        );
        totalStakersPerPlan[planIndex]--;

        emit WITHDRAW(
            msg.sender,
            stakersRecord[msg.sender][index].reward.add(
                stakersRecord[msg.sender][index].amount
            )
        );
    }

    function SetStakeDuration(
        uint256 first,
        uint256 second,
        uint256 third
    ) external onlyowner {
        Duration[0] = first;
        Duration[1] = second;
        Duration[2] = third;
    }

    function SetStakeBonus(
        uint256 first,
        uint256 second,
        uint256 third
    ) external onlyowner {
        Bonus[0] = first;
        Bonus[1] = second;
        Bonus[2] = third;
    }

    function SetStakePenalty(
        uint256 first,
        uint256 second,
        uint256 third
    ) external onlyowner {
        Penalty[0] = first;
        Penalty[1] = second;
        Penalty[2] = third;
    }

    function SetDivider(uint256 percent) external onlyowner {
        percentDivider = percent;
    }

    function SetOwner(address payable newOwner) external onlyowner {
        owner = newOwner;
    }

    function realtimeReward(address user) public view returns (uint256) {
        uint256 ret;
        for (uint256 i; i < Stakers[user].stakeCount; i++) {
            if (
                !stakersRecord[user][i].withdrawan &&
                !stakersRecord[user][i].unstaked
            ) {
                uint256 val;
                val = block.timestamp - stakersRecord[user][i].staketime;
                val = val.mul(stakersRecord[user][i].persecondreward);
                if (val < stakersRecord[user][i].reward) {
                    ret += val;
                } else {
                    ret += stakersRecord[user][i].reward;
                }
            }
        }
        return ret;
    }
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    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;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by 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;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_token","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"Staker","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"STAKE","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"Staker","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"UNSTAKE","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"Staker","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"WITHDRAW","type":"event"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"Bonus","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"Duration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"Penalty","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"SetDivider","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newOwner","type":"address"}],"name":"SetOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"first","type":"uint256"},{"internalType":"uint256","name":"second","type":"uint256"},{"internalType":"uint256","name":"third","type":"uint256"}],"name":"SetStakeBonus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"first","type":"uint256"},{"internalType":"uint256","name":"second","type":"uint256"},{"internalType":"uint256","name":"third","type":"uint256"}],"name":"SetStakeDuration","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"first","type":"uint256"},{"internalType":"uint256","name":"second","type":"uint256"},{"internalType":"uint256","name":"third","type":"uint256"}],"name":"SetStakePenalty","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"Stakers","outputs":[{"internalType":"uint256","name":"totalStakedTokenUser","type":"uint256"},{"internalType":"uint256","name":"totalWithdrawanTokenUser","type":"uint256"},{"internalType":"uint256","name":"totalUnStakedTokenUser","type":"uint256"},{"internalType":"uint256","name":"totalClaimedRewardTokenUser","type":"uint256"},{"internalType":"uint256","name":"stakeCount","type":"uint256"},{"internalType":"bool","name":"alreadyExists","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"StakersID","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"percentDivider","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"realtimeReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"planIndex","type":"uint256"}],"name":"stake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stakeToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"stakersRecord","outputs":[{"internalType":"uint256","name":"plan","type":"uint256"},{"internalType":"uint256","name":"withdrawtime","type":"uint256"},{"internalType":"uint256","name":"staketime","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"reward","type":"uint256"},{"internalType":"uint256","name":"persecondreward","type":"uint256"},{"internalType":"bool","name":"withdrawan","type":"bool"},{"internalType":"bool","name":"unstaked","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalClaimedRewardToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"totalStakedPerPlan","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalStakedToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalStakers","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"totalStakersPerPlan","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalUnStakedToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalWithdrawanToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"unstake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unstakePercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"userStakedPerPlan","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60e060405262015180608090815262093a8060a05262278d0060c0526200002b906009906003620000f9565b5060408051606081018252601b815261023f6020820152611388918101919091526200005c90600c90600362000143565b5060408051606081018252600a8152600560208201819052918101919091526200008b90600f9060036200017a565b5034801562000098575f80fd5b5060405162001a3f38038062001a3f833981016040819052620000bb91620001e2565b600180546001600160a01b039384166001600160a01b0319918216179091555f80549290931691161790556103e8600855620f424060075562000218565b826003810192821562000131579160200282015b8281111562000131578251829062ffffff169055916020019190600101906200010d565b506200013f929150620001b0565b5090565b826003810192821562000131579160200282015b8281111562000131578251829061ffff1690559160200191906001019062000157565b826003810192821562000131579160200282015b8281111562000131578251829060ff169055916020019190600101906200018e565b5b808211156200013f575f8155600101620001b1565b80516001600160a01b0381168114620001dd575f80fd5b919050565b5f8060408385031215620001f4575f80fd5b620001ff83620001c6565b91506200020f60208401620001c6565b90509250929050565b61181980620002265f395ff3fe608060405234801561000f575f80fd5b50600436106101a1575f3560e01c80638da5cb5b116100f3578063c7c695f011610093578063d33192541161006e578063d331925414610403578063da04197e14610416578063ede85eb714610429578063fe6f1b051461049d575f80fd5b8063c7c695f0146103e8578063cb6d8ee6146103f1578063d287de4e146103fa575f80fd5b80639e19401a116100ce5780639e19401a1461038f578063c0102e16146103a2578063c0372838146103cc578063c13d3c8b146103d5575f80fd5b80638da5cb5b146102c95780639845db70146102dc578063991aa0de1461037c575f80fd5b806351ed6a301161015e5780637b0472f0116101395780637b0472f0146102875780637f0b3d7f1461029a57806386989038146102ad5780638cbd8407146102b6575f80fd5b806351ed6a30146102225780636356cdac1461024c578063649493571461025f575f80fd5b80630db192e8146101a5578063167d3e9c146101cb57806317827cbf146101e05780632e17de78146101f35780632e1a7d4d1461020657806330f6e46714610219575b5f80fd5b6101b86101b336600461161d565b6104a6565b6040519081526020015b60405180910390f35b6101de6101d936600461161d565b61061b565b005b6101b86101ee366004611638565b610670565b6101de610201366004611638565b610686565b6101de610214366004611638565b610ae3565b6101b860085481565b5f54610234906001600160a01b031681565b6040516001600160a01b0390911681526020016101c2565b6101b861025a366004611638565b610fe2565b61023461026d366004611638565b60196020525f90815260409020546001600160a01b031681565b6101de61029536600461164f565b610ff1565b6101de6102a836600461166f565b611325565b6101b860065481565b6101de6102c436600461166f565b611365565b600154610234906001600160a01b031681565b61033d6102ea366004611698565b601a60209081525f92835260408084209091529082529020805460018201546002830154600384015460048501546005860154600690960154949593949293919290919060ff8082169161010090041688565b604080519889526020890197909752958701949094526060860192909252608085015260a0840152151560c0830152151560e0820152610100016101c2565b6101de61038a36600461166f565b6113a2565b6101b861039d366004611638565b6113df565b6101b86103b0366004611698565b601b60209081525f928352604080842090915290825290205481565b6101b860055481565b6101de6103e3366004611638565b6113ee565b6101b860045481565b6101b860025481565b6101b860035481565b6101b8610411366004611638565b61141d565b6101b8610424366004611638565b61142c565b61046e61043736600461161d565b60186020525f9081526040902080546001820154600283015460038401546004850154600590950154939492939192909160ff1686565b6040805196875260208701959095529385019290925260608401526080830152151560a082015260c0016101c2565b6101b860075481565b5f805f5b6001600160a01b0384165f90815260186020526040902060040154811015610614576001600160a01b0384165f908152601a6020908152604080832084845290915290206006015460ff1615801561052d57506001600160a01b0384165f908152601a60209081526040808320848452909152902060060154610100900460ff16155b1561060c576001600160a01b0384165f908152601a6020908152604080832084845290915281206002015461056290426116d6565b6001600160a01b0386165f908152601a6020908152604080832086845290915290206005015490915061059690829061143b565b6001600160a01b0386165f908152601a602090815260408083208684529091529020600401549091508110156105d7576105d081846116e9565b925061060a565b6001600160a01b0385165f908152601a6020908152604080832085845290915290206004015461060790846116e9565b92505b505b6001016104aa565b5092915050565b6001546001600160a01b0316331461064e5760405162461bcd60e51b8152600401610645906116fc565b60405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6012816003811061067f575f80fd5b0154905081565b335f908152601a6020908152604080832084845290915290206006015460ff16156106e85760405162461bcd60e51b815260206004820152601260248201527130b63932b0b23c903bb4ba34323930bbb0b760711b6044820152606401610645565b335f908152601a60209081526040808320848452909152902060060154610100900460ff161561074d5760405162461bcd60e51b815260206004820152601060248201526f185b1c9958591e481d5b9cdd185ad95960821b6044820152606401610645565b335f90815260186020526040902060040154811061079d5760405162461bcd60e51b815260206004820152600d60248201526c092dcecc2d8d2c840d2dcc8caf609b1b6044820152606401610645565b335f908152601a60209081526040808320848452909152812060068101805461ff001916610100179055546008549091906108139061080d600f85600381106107e8576107e8611720565b0154335f908152601a602090815260408083208a84529091529020600301549061143b565b906114c2565b5f5460015460405163a9059cbb60e01b81526001600160a01b03918216600482015260248101849052929350169063a9059cbb906044015f604051808303815f87803b158015610861575f80fd5b505af1158015610873573d5f803e3d5ffd5b50505f805433808352601a602090815260408085208a8652909152909220600301546001600160a01b03909116935063a9059cbb92506108b39085611503565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044015f604051808303815f87803b1580156108f6575f80fd5b505af1158015610908573d5f803e3d5ffd5b5050335f908152601a602090815260408083208884529091529020600390810154905461093793509150611544565b6003908155335f818152601a6020908152604080832088845282528083209094015492825260189052919091206002015461097191611544565b335f81815260186020908152604080832060020194909455601a815283822087835281528382206003015484518086018652600a81526975736572207374616b6560b01b81840152938352601b8252848320878452909152929020546109d89290916115a2565b335f818152601b60209081526040808320878452825280832094909455918152601a825282812086825282528290206003908101548351808501909452600b84526a746f74616c207374616b6560a81b92840192909252610a50929060129086908110610a4757610a47611720565b015491906115a2565b60128360038110610a6357610a63611720565b015560158260038110610a7857610a78611720565b018054905f610a8683611734565b9091555050335f818152601a60209081526040808320878452825291829020600301548251938452908301527fdd932dbf4936c18597ed8cf0290c4866ee0974179a6a475acd677b06bec81c6091015b60405180910390a1505050565b335f908152601a6020908152604080832084845290915290206006015460ff1615610b455760405162461bcd60e51b815260206004820152601260248201527130b63932b0b23c903bb4ba34323930bbb0b760711b6044820152606401610645565b335f908152601a60209081526040808320848452909152902060060154610100900460ff1615610baa5760405162461bcd60e51b815260206004820152601060248201526f185b1c9958591e481d5b9cdd185ad95960821b6044820152606401610645565b335f908152601a602090815260408083208484529091529020600101544211610c235760405162461bcd60e51b815260206004820152602560248201527f63616e6e6f74207769746864726177206265666f7265207374616b652064757260448201526430ba34b7b760d91b6064820152608401610645565b335f908152601860205260409020600401548110610c735760405162461bcd60e51b815260206004820152600d60248201526c092dcecc2d8d2c840d2dcc8caf609b1b6044820152606401610645565b335f818152601a6020908152604080832085845290915280822060068101805460ff191660011790559154600390920154905163a9059cbb60e01b8152600481019390935260248301526001600160a01b03169063a9059cbb906044015f604051808303815f87803b158015610ce7575f80fd5b505af1158015610cf9573d5f803e3d5ffd5b50505f805460015433808452601a602090815260408086208987529091529384902060049081015494516323b872dd60e01b81526001600160a01b0393841691810191909152602481019190915260448101939093521692506323b872dd91506064015f604051808303815f87803b158015610d73575f80fd5b505af1158015610d85573d5f803e3d5ffd5b5050335f908152601a60209081526040808320868452909152902060030154600454610db393509150611544565b6004908155335f908152601a6020908152604080832085845290915290200154600554610ddf91611544565b600555335f818152601a602090815260408083208584528252808320600301549383526018909152902060010154610e1691611544565b335f8181526018602081815260408084206001810196909655601a82528084208785528252832060040154939092529052600390910154610e5691611544565b335f818152601860209081526040808320600390810195909555601a82528083208684528252808320805495015481518083018352600a81526975736572207374616b6560b01b81850152948452601b835281842086855290925290912054610ec1929091906115a2565b335f818152601b60209081526040808320868452825280832094909455918152601a825282812085825282528290206003908101548351808501909452600b84526a746f74616c207374616b6560a81b92840192909252610f30929060129085908110610a4757610a47611720565b60128260038110610f4357610f43611720565b015560158160038110610f5857610f58611720565b018054905f610f6683611734565b9091555050335f818152601a60209081526040808320868452909152902060038101546004909101547f4f14ea4e43cc569e4fb4d8fa171366f2f6925bfade37c5cc93334e373a4c98479291610fbc9190611544565b604080516001600160a01b03909316835260208301919091520160405180910390a15050565b600c816003811061067f575f80fd5b60028111156110385760405162461bcd60e51b8152602060048201526013602482015272125b9d985b1a5908151a5b594814195c9a5bd9606a1b6044820152606401610645565b335f9081526018602052604090206005015460ff166110a257335f818152601860209081526040808320600501805460ff191660011790556006805484526019909252822080546001600160a01b0319169093179092558154919061109c83611749565b91905055505b5f546040516323b872dd60e01b8152336004820152306024820152604481018490526001600160a01b03909116906323b872dd906064015f604051808303815f87803b1580156110f0575f80fd5b505af1158015611102573d5f803e3d5ffd5b5050335f90815260186020526040902060048101549054909250611127915084611544565b335f908152601860205260409020556002546111439084611544565b6002556111656009836003811061115c5761115c611720565b01544290611544565b335f908152601a602090815260408083208584529091529020600181019190915542600282015560039081018490556007546111bb9161080d90600c90869081106111b2576111b2611720565b0154869061143b565b335f908152601a60209081526040808320858452909152902060040155611213600983600381106111ee576111ee611720565b0154335f908152601a60209081526040808320868452909152902060040154906114c2565b335f818152601a602090815260408083208684528252808320600581019590955593869055918152601890915290812060040180549161125283611749565b9091555050335f908152601b6020908152604080832085845290915290205461127b9084611544565b335f908152601b602090815260408083208684529091529020556112b483601284600381106112ac576112ac611720565b015490611544565b601283600381106112c7576112c7611720565b0155601582600381106112dc576112dc611720565b018054905f6112ea83611749565b909155505060408051338152602081018590527fa4e109bb7f03a3cbe671105ffecfc362319eaa88ecaf35997a4d3a2328d66d6c9101610ad6565b6001546001600160a01b0316331461134f5760405162461bcd60e51b8152600401610645906116fc565b6009838155600a839055819060025b0155505050565b6001546001600160a01b0316331461138f5760405162461bcd60e51b8152600401610645906116fc565b600f83815560108390558190600261135e565b6001546001600160a01b031633146113cc5760405162461bcd60e51b8152600401610645906116fc565b600c838155600d8390558190600261135e565b6015816003811061067f575f80fd5b6001546001600160a01b031633146114185760405162461bcd60e51b8152600401610645906116fc565b600755565b600f816003811061067f575f80fd5b6009816003811061067f575f80fd5b5f825f0361144a57505f6114bc565b5f6114558385611761565b9050826114628583611778565b146114b95760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610645565b90505b92915050565b5f6114b983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115da565b5f6114b983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115a2565b5f8061155083856116e9565b9050838110156114b95760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610645565b5f81848411156115c55760405162461bcd60e51b81526004016106459190611797565b505f6115d184866116d6565b95945050505050565b5f81836115fa5760405162461bcd60e51b81526004016106459190611797565b505f6115d18486611778565b6001600160a01b038116811461161a575f80fd5b50565b5f6020828403121561162d575f80fd5b81356114b981611606565b5f60208284031215611648575f80fd5b5035919050565b5f8060408385031215611660575f80fd5b50508035926020909101359150565b5f805f60608486031215611681575f80fd5b505081359360208301359350604090920135919050565b5f80604083850312156116a9575f80fd5b82356116b481611606565b946020939093013593505050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156114bc576114bc6116c2565b808201808211156114bc576114bc6116c2565b6020808252600a908201526937b7363c9037bbb732b960b11b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f81611742576117426116c2565b505f190190565b5f6001820161175a5761175a6116c2565b5060010190565b80820281158282048414176114bc576114bc6116c2565b5f8261179257634e487b7160e01b5f52601260045260245ffd5b500490565b5f602080835283518060208501525f5b818110156117c3578581018301518582016040015282016117a7565b505f604082860101526040601f19601f830116850101925050509291505056fea264697066735822122079168146a6a66b606b3e1b13f3a02ff54c6a80ae02189a2fd3dfcaa66e641e7864736f6c63430008180033000000000000000000000000cef84fa5afe4446a881d8742f44c3bd980000000000000000000000000000000890a60b4450484847380bddca0c3c3ee2ff0dfbe

Deployed Bytecode

0x608060405234801561000f575f80fd5b50600436106101a1575f3560e01c80638da5cb5b116100f3578063c7c695f011610093578063d33192541161006e578063d331925414610403578063da04197e14610416578063ede85eb714610429578063fe6f1b051461049d575f80fd5b8063c7c695f0146103e8578063cb6d8ee6146103f1578063d287de4e146103fa575f80fd5b80639e19401a116100ce5780639e19401a1461038f578063c0102e16146103a2578063c0372838146103cc578063c13d3c8b146103d5575f80fd5b80638da5cb5b146102c95780639845db70146102dc578063991aa0de1461037c575f80fd5b806351ed6a301161015e5780637b0472f0116101395780637b0472f0146102875780637f0b3d7f1461029a57806386989038146102ad5780638cbd8407146102b6575f80fd5b806351ed6a30146102225780636356cdac1461024c578063649493571461025f575f80fd5b80630db192e8146101a5578063167d3e9c146101cb57806317827cbf146101e05780632e17de78146101f35780632e1a7d4d1461020657806330f6e46714610219575b5f80fd5b6101b86101b336600461161d565b6104a6565b6040519081526020015b60405180910390f35b6101de6101d936600461161d565b61061b565b005b6101b86101ee366004611638565b610670565b6101de610201366004611638565b610686565b6101de610214366004611638565b610ae3565b6101b860085481565b5f54610234906001600160a01b031681565b6040516001600160a01b0390911681526020016101c2565b6101b861025a366004611638565b610fe2565b61023461026d366004611638565b60196020525f90815260409020546001600160a01b031681565b6101de61029536600461164f565b610ff1565b6101de6102a836600461166f565b611325565b6101b860065481565b6101de6102c436600461166f565b611365565b600154610234906001600160a01b031681565b61033d6102ea366004611698565b601a60209081525f92835260408084209091529082529020805460018201546002830154600384015460048501546005860154600690960154949593949293919290919060ff8082169161010090041688565b604080519889526020890197909752958701949094526060860192909252608085015260a0840152151560c0830152151560e0820152610100016101c2565b6101de61038a36600461166f565b6113a2565b6101b861039d366004611638565b6113df565b6101b86103b0366004611698565b601b60209081525f928352604080842090915290825290205481565b6101b860055481565b6101de6103e3366004611638565b6113ee565b6101b860045481565b6101b860025481565b6101b860035481565b6101b8610411366004611638565b61141d565b6101b8610424366004611638565b61142c565b61046e61043736600461161d565b60186020525f9081526040902080546001820154600283015460038401546004850154600590950154939492939192909160ff1686565b6040805196875260208701959095529385019290925260608401526080830152151560a082015260c0016101c2565b6101b860075481565b5f805f5b6001600160a01b0384165f90815260186020526040902060040154811015610614576001600160a01b0384165f908152601a6020908152604080832084845290915290206006015460ff1615801561052d57506001600160a01b0384165f908152601a60209081526040808320848452909152902060060154610100900460ff16155b1561060c576001600160a01b0384165f908152601a6020908152604080832084845290915281206002015461056290426116d6565b6001600160a01b0386165f908152601a6020908152604080832086845290915290206005015490915061059690829061143b565b6001600160a01b0386165f908152601a602090815260408083208684529091529020600401549091508110156105d7576105d081846116e9565b925061060a565b6001600160a01b0385165f908152601a6020908152604080832085845290915290206004015461060790846116e9565b92505b505b6001016104aa565b5092915050565b6001546001600160a01b0316331461064e5760405162461bcd60e51b8152600401610645906116fc565b60405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6012816003811061067f575f80fd5b0154905081565b335f908152601a6020908152604080832084845290915290206006015460ff16156106e85760405162461bcd60e51b815260206004820152601260248201527130b63932b0b23c903bb4ba34323930bbb0b760711b6044820152606401610645565b335f908152601a60209081526040808320848452909152902060060154610100900460ff161561074d5760405162461bcd60e51b815260206004820152601060248201526f185b1c9958591e481d5b9cdd185ad95960821b6044820152606401610645565b335f90815260186020526040902060040154811061079d5760405162461bcd60e51b815260206004820152600d60248201526c092dcecc2d8d2c840d2dcc8caf609b1b6044820152606401610645565b335f908152601a60209081526040808320848452909152812060068101805461ff001916610100179055546008549091906108139061080d600f85600381106107e8576107e8611720565b0154335f908152601a602090815260408083208a84529091529020600301549061143b565b906114c2565b5f5460015460405163a9059cbb60e01b81526001600160a01b03918216600482015260248101849052929350169063a9059cbb906044015f604051808303815f87803b158015610861575f80fd5b505af1158015610873573d5f803e3d5ffd5b50505f805433808352601a602090815260408085208a8652909152909220600301546001600160a01b03909116935063a9059cbb92506108b39085611503565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044015f604051808303815f87803b1580156108f6575f80fd5b505af1158015610908573d5f803e3d5ffd5b5050335f908152601a602090815260408083208884529091529020600390810154905461093793509150611544565b6003908155335f818152601a6020908152604080832088845282528083209094015492825260189052919091206002015461097191611544565b335f81815260186020908152604080832060020194909455601a815283822087835281528382206003015484518086018652600a81526975736572207374616b6560b01b81840152938352601b8252848320878452909152929020546109d89290916115a2565b335f818152601b60209081526040808320878452825280832094909455918152601a825282812086825282528290206003908101548351808501909452600b84526a746f74616c207374616b6560a81b92840192909252610a50929060129086908110610a4757610a47611720565b015491906115a2565b60128360038110610a6357610a63611720565b015560158260038110610a7857610a78611720565b018054905f610a8683611734565b9091555050335f818152601a60209081526040808320878452825291829020600301548251938452908301527fdd932dbf4936c18597ed8cf0290c4866ee0974179a6a475acd677b06bec81c6091015b60405180910390a1505050565b335f908152601a6020908152604080832084845290915290206006015460ff1615610b455760405162461bcd60e51b815260206004820152601260248201527130b63932b0b23c903bb4ba34323930bbb0b760711b6044820152606401610645565b335f908152601a60209081526040808320848452909152902060060154610100900460ff1615610baa5760405162461bcd60e51b815260206004820152601060248201526f185b1c9958591e481d5b9cdd185ad95960821b6044820152606401610645565b335f908152601a602090815260408083208484529091529020600101544211610c235760405162461bcd60e51b815260206004820152602560248201527f63616e6e6f74207769746864726177206265666f7265207374616b652064757260448201526430ba34b7b760d91b6064820152608401610645565b335f908152601860205260409020600401548110610c735760405162461bcd60e51b815260206004820152600d60248201526c092dcecc2d8d2c840d2dcc8caf609b1b6044820152606401610645565b335f818152601a6020908152604080832085845290915280822060068101805460ff191660011790559154600390920154905163a9059cbb60e01b8152600481019390935260248301526001600160a01b03169063a9059cbb906044015f604051808303815f87803b158015610ce7575f80fd5b505af1158015610cf9573d5f803e3d5ffd5b50505f805460015433808452601a602090815260408086208987529091529384902060049081015494516323b872dd60e01b81526001600160a01b0393841691810191909152602481019190915260448101939093521692506323b872dd91506064015f604051808303815f87803b158015610d73575f80fd5b505af1158015610d85573d5f803e3d5ffd5b5050335f908152601a60209081526040808320868452909152902060030154600454610db393509150611544565b6004908155335f908152601a6020908152604080832085845290915290200154600554610ddf91611544565b600555335f818152601a602090815260408083208584528252808320600301549383526018909152902060010154610e1691611544565b335f8181526018602081815260408084206001810196909655601a82528084208785528252832060040154939092529052600390910154610e5691611544565b335f818152601860209081526040808320600390810195909555601a82528083208684528252808320805495015481518083018352600a81526975736572207374616b6560b01b81850152948452601b835281842086855290925290912054610ec1929091906115a2565b335f818152601b60209081526040808320868452825280832094909455918152601a825282812085825282528290206003908101548351808501909452600b84526a746f74616c207374616b6560a81b92840192909252610f30929060129085908110610a4757610a47611720565b60128260038110610f4357610f43611720565b015560158160038110610f5857610f58611720565b018054905f610f6683611734565b9091555050335f818152601a60209081526040808320868452909152902060038101546004909101547f4f14ea4e43cc569e4fb4d8fa171366f2f6925bfade37c5cc93334e373a4c98479291610fbc9190611544565b604080516001600160a01b03909316835260208301919091520160405180910390a15050565b600c816003811061067f575f80fd5b60028111156110385760405162461bcd60e51b8152602060048201526013602482015272125b9d985b1a5908151a5b594814195c9a5bd9606a1b6044820152606401610645565b335f9081526018602052604090206005015460ff166110a257335f818152601860209081526040808320600501805460ff191660011790556006805484526019909252822080546001600160a01b0319169093179092558154919061109c83611749565b91905055505b5f546040516323b872dd60e01b8152336004820152306024820152604481018490526001600160a01b03909116906323b872dd906064015f604051808303815f87803b1580156110f0575f80fd5b505af1158015611102573d5f803e3d5ffd5b5050335f90815260186020526040902060048101549054909250611127915084611544565b335f908152601860205260409020556002546111439084611544565b6002556111656009836003811061115c5761115c611720565b01544290611544565b335f908152601a602090815260408083208584529091529020600181019190915542600282015560039081018490556007546111bb9161080d90600c90869081106111b2576111b2611720565b0154869061143b565b335f908152601a60209081526040808320858452909152902060040155611213600983600381106111ee576111ee611720565b0154335f908152601a60209081526040808320868452909152902060040154906114c2565b335f818152601a602090815260408083208684528252808320600581019590955593869055918152601890915290812060040180549161125283611749565b9091555050335f908152601b6020908152604080832085845290915290205461127b9084611544565b335f908152601b602090815260408083208684529091529020556112b483601284600381106112ac576112ac611720565b015490611544565b601283600381106112c7576112c7611720565b0155601582600381106112dc576112dc611720565b018054905f6112ea83611749565b909155505060408051338152602081018590527fa4e109bb7f03a3cbe671105ffecfc362319eaa88ecaf35997a4d3a2328d66d6c9101610ad6565b6001546001600160a01b0316331461134f5760405162461bcd60e51b8152600401610645906116fc565b6009838155600a839055819060025b0155505050565b6001546001600160a01b0316331461138f5760405162461bcd60e51b8152600401610645906116fc565b600f83815560108390558190600261135e565b6001546001600160a01b031633146113cc5760405162461bcd60e51b8152600401610645906116fc565b600c838155600d8390558190600261135e565b6015816003811061067f575f80fd5b6001546001600160a01b031633146114185760405162461bcd60e51b8152600401610645906116fc565b600755565b600f816003811061067f575f80fd5b6009816003811061067f575f80fd5b5f825f0361144a57505f6114bc565b5f6114558385611761565b9050826114628583611778565b146114b95760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610645565b90505b92915050565b5f6114b983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115da565b5f6114b983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115a2565b5f8061155083856116e9565b9050838110156114b95760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610645565b5f81848411156115c55760405162461bcd60e51b81526004016106459190611797565b505f6115d184866116d6565b95945050505050565b5f81836115fa5760405162461bcd60e51b81526004016106459190611797565b505f6115d18486611778565b6001600160a01b038116811461161a575f80fd5b50565b5f6020828403121561162d575f80fd5b81356114b981611606565b5f60208284031215611648575f80fd5b5035919050565b5f8060408385031215611660575f80fd5b50508035926020909101359150565b5f805f60608486031215611681575f80fd5b505081359360208301359350604090920135919050565b5f80604083850312156116a9575f80fd5b82356116b481611606565b946020939093013593505050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156114bc576114bc6116c2565b808201808211156114bc576114bc6116c2565b6020808252600a908201526937b7363c9037bbb732b960b11b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f81611742576117426116c2565b505f190190565b5f6001820161175a5761175a6116c2565b5060010190565b80820281158282048414176114bc576114bc6116c2565b5f8261179257634e487b7160e01b5f52601260045260245ffd5b500490565b5f602080835283518060208501525f5b818110156117c3578581018301518582016040015282016117a7565b505f604082860101526040601f19601f830116850101925050509291505056fea264697066735822122079168146a6a66b606b3e1b13f3a02ff54c6a80ae02189a2fd3dfcaa66e641e7864736f6c63430008180033

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

000000000000000000000000cef84fa5afe4446a881d8742f44c3bd980000000000000000000000000000000890a60b4450484847380bddca0c3c3ee2ff0dfbe

-----Decoded View---------------
Arg [0] : _owner (address): 0xCEF84Fa5AFe4446a881d8742f44C3bD980000000
Arg [1] : _token (address): 0x890a60B4450484847380BdDCa0C3C3ee2ff0DFBE

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000cef84fa5afe4446a881d8742f44c3bd980000000
Arg [1] : 000000000000000000000000890a60b4450484847380bddca0c3c3ee2ff0dfbe


Deployed Bytecode Sourcemap

965:8792:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9033:721;;;;;;:::i;:::-;;:::i;:::-;;;548:25:1;;;536:2;521:18;9033:721:0;;;;;;;;8927:98;;;;;;:::i;:::-;;:::i;:::-;;1523:36;;;;;;:::i;:::-;;:::i;4502:1548::-;;;;;;:::i;:::-;;:::i;6058:2074::-;;;;;;:::i;:::-;;:::i;1333:29::-;;;;;;1028:24;;;;;-1:-1:-1;;;;;1028:24:0;;;;;;-1:-1:-1;;;;;1206:32:1;;;1188:51;;1176:2;1161:18;1028:24:0;1029:216:1;1430:41:0;;;;;;:::i;:::-;;:::i;2158:44::-;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;2158:44:0;;;2822:1672;;;;;;:::i;:::-;;:::i;8140:224::-;;;;;;:::i;:::-;;:::i;1263:27::-;;;;;;8592:220;;;;;;:::i;:::-;;:::i;1061:28::-;;;;;-1:-1:-1;;;;;1061:28:0;;;2209:66;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2907:25:1;;;2963:2;2948:18;;2941:34;;;;2991:18;;;2984:34;;;;3049:2;3034:18;;3027:34;;;;3092:3;3077:19;;3070:35;3136:3;3121:19;;3114:35;3193:14;3186:22;3180:3;3165:19;;3158:51;3253:14;3246:22;3240:3;3225:19;;3218:51;2894:3;2879:19;2209:66:0;2576:699:1;8372:212:0;;;;;;:::i;:::-;;:::i;1566:37::-;;;;;;:::i;:::-;;:::i;2282:72::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;1218:38;;;;;;8820:99;;;;;;:::i;:::-;;:::i;1176:35::-;;;;;;1098:31;;;;;;1136:33;;;;;;1478:38;;;;;;:::i;:::-;;:::i;1369:54::-;;;;;;:::i;:::-;;:::i;2112:39::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3561:25:1;;;3617:2;3602:18;;3595:34;;;;3645:18;;;3638:34;;;;3703:2;3688:18;;3681:34;3746:3;3731:19;;3724:35;3803:14;3796:22;3790:3;3775:19;;3768:51;3548:3;3533:19;2112:39:0;3280:545:1;1297:29:0;;;;;;9033:721;9092:7;9112:11;9139:9;9134:592;-1:-1:-1;;;;;9154:13:0;;;;;;:7;:13;;;;;:24;;;9150:28;;9134:592;;;-1:-1:-1;;;;;9223:19:0;;;;;;:13;:19;;;;;;;;:22;;;;;;;;:33;;;;;9222:34;:87;;;;-1:-1:-1;;;;;;9278:19:0;;;;;;:13;:19;;;;;;;;:22;;;;;;;;:31;;;;;;;;9277:32;9222:87;9200:515;;;-1:-1:-1;;;;;9398:19:0;;9344:11;9398:19;;;:13;:19;;;;;;;;:22;;;;;;;;:32;;;9380:50;;:15;:50;:::i;:::-;-1:-1:-1;;;;;9463:19:0;;;;;;:13;:19;;;;;;;;:22;;;;;;;;:38;;;9374:56;;-1:-1:-1;9455:47:0;;9374:56;;9455:7;:47::i;:::-;-1:-1:-1;;;;;9531:19:0;;;;;;:13;:19;;;;;;;;:22;;;;;;;;:29;;;9449:53;;-1:-1:-1;9525:35:0;;9521:179;;;9585:10;9592:3;9585:10;;:::i;:::-;;;9521:179;;;-1:-1:-1;;;;;9651:19:0;;;;;;:13;:19;;;;;;;;:22;;;;;;;;:29;;;9644:36;;;;:::i;:::-;;;9521:179;9325:390;9200:515;9180:3;;9134:592;;;-1:-1:-1;9743:3:0;9033:721;-1:-1:-1;;9033:721:0:o;8927:98::-;2560:5;;-1:-1:-1;;;;;2560:5:0;2569:10;2560:19;2552:42;;;;-1:-1:-1;;;2552:42:0;;;;;;;:::i;:::-;;;;;;;;;9001:5:::1;:16:::0;;-1:-1:-1;;;;;;9001:16:0::1;-1:-1:-1::0;;;;;9001:16:0;;;::::1;::::0;;;::::1;::::0;;8927:98::o;1523:36::-;;;;;;;;;;;;;;;-1:-1:-1;1523:36:0;:::o;4502:1548::-;4589:10;4575:25;;;;:13;:25;;;;;;;;:32;;;;;;;;:43;;;;;4574:44;4552:112;;;;-1:-1:-1;;;4552:112:0;;4766:2:1;4552:112:0;;;4748:21:1;4805:2;4785:18;;;4778:30;-1:-1:-1;;;4824:18:1;;;4817:48;4882:18;;4552:112:0;4564:342:1;4552:112:0;4698:10;4684:25;;;;:13;:25;;;;;;;;:32;;;;;;;;:41;;;;;;;;4683:42;4675:71;;;;-1:-1:-1;;;4675:71:0;;5113:2:1;4675:71:0;;;5095:21:1;5152:2;5132:18;;;5125:30;-1:-1:-1;;;5171:18:1;;;5164:46;5227:18;;4675:71:0;4911:340:1;4675:71:0;4781:10;4773:19;;;;:7;:19;;;;;:30;;;4765:38;;4757:64;;;;-1:-1:-1;;;4757:64:0;;5458:2:1;4757:64:0;;;5440:21:1;5497:2;5477:18;;;5470:30;-1:-1:-1;;;5516:18:1;;;5509:43;5569:18;;4757:64:0;5256:337:1;4757:64:0;4848:10;4834:25;;;;:13;:25;;;;;;;;:32;;;;;;;;:41;;;:48;;-1:-1:-1;;4834:48:0;;;;;4913:37;5089:14;;4913:37;;4834:25;4979:125;;:91;5051:7;4913:37;5051:18;;;;;;;:::i;:::-;;;4993:10;4979:25;;;;:13;:25;;;;;;;;:32;;;;;;;;:53;;;;:71;:91::i;:::-;:109;;:125::i;:::-;5115:10;;;5135:5;5115:35;;-1:-1:-1;;;5115:35:0;;-1:-1:-1;;;;;5135:5:0;;;5115:35;;;5912:51:1;5979:18;;;5972:34;;;4961:143:0;;-1:-1:-1;5115:10:0;;:19;;5885:18:1;;5115:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5161:10:0;;;5195;5221:25;;;:13;:25;;;;;;;;:32;;;;;;;;;:39;;;-1:-1:-1;;;;;5161:10:0;;;;-1:-1:-1;5161:19:0;;-1:-1:-1;5220:54:0;;5266:7;5220:45;:54::i;:::-;5161:124;;-1:-1:-1;;;;;;5161:124:0;;;;;;;-1:-1:-1;;;;;5930:32:1;;;5161:124:0;;;5912:51:1;5979:18;;;5972:34;5885:18;;5161:124:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5368:10:0;5354:25;;;;:13;:25;;;;;;;;:32;;;;;;;;:39;;;;;5317:18;;:87;;-1:-1:-1;5317:18:0;-1:-1:-1;5317:22:0;:87::i;:::-;5296:18;:108;;;5549:10;5535:25;;;;:13;:25;;;;;;;;:32;;;;;;;;:39;;;;5460:19;;;:7;:19;;;;;;:56;;;:115;;:74;:115::i;:::-;5423:10;5415:19;;;;:7;:19;;;;;;;;:42;;:160;;;;5698:13;:25;;;;;:32;;;;;;;;:39;;;5629:123;;;;;;;;;;-1:-1:-1;;;5629:123:0;;;;:53;;;:17;:53;;;;;:64;;;;;;;;;;:123;;:64;;:68;:123::i;:::-;5604:10;5586:29;;;;:17;:29;;;;;;;;:40;;;;;;;;:166;;;;5843:25;;;:13;:25;;;;;:32;;;;;;;;:39;;;;;5795:126;;;;;;;;;;;-1:-1:-1;;;5795:126:0;;;;;;;;;;:18;;5616:9;;5795:29;;;;;;:::i;:::-;;;;:126;:33;:126::i;:::-;5763:18;5782:9;5763:29;;;;;;;:::i;:::-;;:158;5932:19;5952:9;5932:30;;;;;;;:::i;:::-;;:32;;;:30;:32;;;:::i;:::-;;;;-1:-1:-1;;5990:10:0;6002:25;;;;:13;:25;;;;;;;;:32;;;;;;;;;:39;;;5982:60;;5912:51:1;;;5979:18;;;5972:34;5982:60:0;;5885:18:1;5982:60:0;;;;;;;;4541:1509;;4502:1548;:::o;6058:2074::-;6146:10;6132:25;;;;:13;:25;;;;;;;;:32;;;;;;;;:43;;;;;6131:44;6109:112;;;;-1:-1:-1;;;6109:112:0;;4766:2:1;6109:112:0;;;4748:21:1;4805:2;4785:18;;;4778:30;-1:-1:-1;;;4824:18:1;;;4817:48;4882:18;;6109:112:0;4564:342:1;6109:112:0;6255:10;6241:25;;;;:13;:25;;;;;;;;:32;;;;;;;;:41;;;;;;;;6240:42;6232:71;;;;-1:-1:-1;;;6232:71:0;;5113:2:1;6232:71:0;;;5095:21:1;5152:2;5132:18;;;5125:30;-1:-1:-1;;;5171:18:1;;;5164:46;5227:18;;6232:71:0;4911:340:1;6232:71:0;6350:10;6336:25;;;;:13;:25;;;;;;;;:32;;;;;;;;:45;;;6384:15;-1:-1:-1;6314:150:0;;;;-1:-1:-1;;;6314:150:0;;6639:2:1;6314:150:0;;;6621:21:1;6678:2;6658:18;;;6651:30;6717:34;6697:18;;;6690:62;-1:-1:-1;;;6768:18:1;;;6761:35;6813:19;;6314:150:0;6437:401:1;6314:150:0;6499:10;6491:19;;;;:7;:19;;;;;:30;;;6483:38;;6475:64;;;;-1:-1:-1;;;6475:64:0;;5458:2:1;6475:64:0;;;5440:21:1;5497:2;5477:18;;;5470:30;-1:-1:-1;;;5516:18:1;;;5509:43;5569:18;;6475:64:0;5256:337:1;6475:64:0;6566:10;6552:25;;;;:13;:25;;;;;;;;:32;;;;;;;;;:43;;;:50;;-1:-1:-1;;6552:50:0;6598:4;6552:50;;;6613:10;;6672:39;;;;;6613:109;;-1:-1:-1;;;6613:109:0;;;;;5912:51:1;;;;5979:18;;;5972:34;-1:-1:-1;;;;;6613:10:0;;:19;;5885:18:1;;6613:109:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6733:10:0;;;;6771:5;6791:10;6816:25;;;:13;:25;;;;;;;;:32;;;;;;;;;;:39;;;;;6733:133;;-1:-1:-1;;;6733:133:0;;-1:-1:-1;;;;;6771:5:0;;;6733:133;;;7091:34:1;;;;7141:18;;;7134:43;;;;7193:18;;;7186:34;;;;6733:10:0;;-1:-1:-1;6733:23:0;;-1:-1:-1;7026:18:1;;6733:133:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6953:10:0;6939:25;;;;:13;:25;;;;;;;;:32;;;;;;;;:39;;;6900:20;;:89;;-1:-1:-1;6900:20:0;-1:-1:-1;6900:24:0;:89::i;:::-;6877:20;:112;;;7082:10;7068:25;;;;:13;:25;;;;;;;;:32;;;;;;;;:39;;7026:23;;:92;;:27;:92::i;:::-;7000:23;:118;7267:10;7253:25;;;;:13;:25;;;;;;;;:32;;;;;;;;:39;;;7176:19;;;:7;:19;;;;;:58;;;:117;;:76;:117::i;:::-;7137:10;7129:19;;;;:7;:19;;;;;;;;:44;;;:164;;;;7434:13;:25;;;;;:32;;;;;;;:39;;;7354:19;;;;;;:61;;;;;:120;;:79;:120::i;:::-;7312:10;7304:19;;;;:7;:19;;;;;;;;:47;;;;:170;;;;7505:13;:25;;;;;:32;;;;;;;;:37;;7665:39;;;7596:123;;;;;;;;;;-1:-1:-1;;;7596:123:0;;;;:53;;;:17;:53;;;;;:64;;;;;;;;;;:123;;:64;;7665:39;7596:68;:123::i;:::-;7571:10;7553:29;;;;:17;:29;;;;;;;;:40;;;;;;;;:166;;;;7810:25;;;:13;:25;;;;;:32;;;;;;;;:39;;;;;7762:126;;;;;;;;;;;-1:-1:-1;;;7762:126:0;;;;;;;;;;:18;;7583:9;;7762:29;;;;;;:::i;:126::-;7730:18;7749:9;7730:29;;;;;;;:::i;:::-;;:158;7899:19;7919:9;7899:30;;;;;;;:::i;:::-;;:32;;;:30;:32;;;:::i;:::-;;;;-1:-1:-1;;7972:10:0;8059:25;;;;:13;:25;;;;;;;;:32;;;;;;;;:39;;;;7997;;;;;7949:175;;7972:10;7997:116;;:39;:43;:116::i;:::-;7949:175;;;-1:-1:-1;;;;;5930:32:1;;;5912:51;;5994:2;5979:18;;5972:34;;;;5885:18;7949:175:0;;;;;;;6098:2034;6058:2074;:::o;1430:41::-;;;;;;;;;;;2822:1672;2929:1;2916:9;:14;;2890:64;;;;-1:-1:-1;;;2890:64:0;;7433:2:1;2890:64:0;;;7415:21:1;7472:2;7452:18;;;7445:30;-1:-1:-1;;;7491:18:1;;;7484:49;7550:18;;2890:64:0;7231:343:1;2890:64:0;3032:10;3024:19;;;;:7;:19;;;;;:33;;;;;3019:187;;3082:10;3074:19;;;;:7;:19;;;;;;;;:33;;:40;;-1:-1:-1;;3074:40:0;3110:4;3074:40;;;3139:12;;;3129:23;;:9;:23;;;;;:36;;-1:-1:-1;;;;;;3129:36:0;;;;;;;3180:14;;;3139:12;3180:14;;;:::i;:::-;;;;;;3019:187;3218:10;;:58;;-1:-1:-1;;;3218:58:0;;3242:10;3218:58;;;7091:34:1;3262:4:0;7141:18:1;;;7134:43;7193:18;;;7186:34;;;-1:-1:-1;;;;;3218:10:0;;;;:23;;7026:18:1;;3218:58:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3313:10:0;3289:13;3305:19;;;:7;:19;;;;;:30;;;;3389:54;;3305:30;;-1:-1:-1;3389:80:0;;-1:-1:-1;3462:6:0;3389:72;:80::i;:::-;3354:10;3346:19;;;;:7;:19;;;;;:123;3499:16;;:28;;3520:6;3499:20;:28::i;:::-;3480:16;:47;3586:64;3620:8;3629:9;3620:19;;;;;;;:::i;:::-;;;3586:15;;:19;:64::i;:::-;3552:10;3538:25;;;;:13;:25;;;;;;;;:32;;;;;;;;:45;;;:112;;;;3706:15;3661:42;;;:60;3732:39;;;;:48;;;3894:14;;3833:76;;:42;;3858:5;;3864:9;;3858:16;;;;;;:::i;:::-;;;3833:6;;:24;:42::i;:76::-;3805:10;3791:25;;;;:13;:25;;;;;;;;:32;;;;;;;;:39;;:118;3971:88;4039:8;4048:9;4039:19;;;;;;;:::i;:::-;;;3999:10;3971:49;;;;:13;:49;;;;;;;;:56;;;;;;;;:63;;;;:67;:88::i;:::-;3934:10;3920:25;;;;:13;:25;;;;;;;;:32;;;;;;;;:48;;;:139;;;;4070:49;;;;4130:19;;;:7;:19;;;;;;:30;;:32;;;;;;:::i;:::-;;;;-1:-1:-1;;4248:10:0;4216:53;;;;:17;:53;;;;;;;;:64;;;;;;;;;:76;;4285:6;4216:68;:76::i;:::-;4191:10;4173:29;;;;:17;:29;;;;;;;;:40;;;;;;;;:119;4335:65;4383:6;4335:18;4203:9;4335:29;;;;;;;:::i;:::-;;;;:33;:65::i;:::-;4303:18;4322:9;4303:29;;;;;;;:::i;:::-;;:97;4411:19;4431:9;4411:30;;;;;;;:::i;:::-;;:32;;;:30;:32;;;:::i;:::-;;;;-1:-1:-1;;4461:25:0;;;4467:10;5912:51:1;;5994:2;5979:18;;5972:34;;;4461:25:0;;5885:18:1;4461:25:0;5730:282:1;8140:224:0;2560:5;;-1:-1:-1;;;;;2560:5:0;2569:10;2560:19;2552:42;;;;-1:-1:-1;;;2552:42:0;;;;;;;:::i;:::-;8276:8:::1;:19:::0;;;8306:11;:20;;;8351:5;;8346:1:::1;8337:11;;:19:::0;-1:-1:-1;;;8140:224:0:o;8592:220::-;2560:5;;-1:-1:-1;;;;;2560:5:0;2569:10;2560:19;2552:42;;;;-1:-1:-1;;;2552:42:0;;;;;;;:::i;:::-;8727:7:::1;:18:::0;;;8756:10;:19;;;8799:5;;8794:1:::1;8786:10;::::0;8372:212;2560:5;;-1:-1:-1;;;;;2560:5:0;2569:10;2560:19;2552:42;;;;-1:-1:-1;;;2552:42:0;;;;;;;:::i;:::-;8505:5:::1;:16:::0;;;8532:8;:17;;;8571:5;;8566:1:::1;8560:8;::::0;1566:37;;;;;;;;;;;8820:99;2560:5;;-1:-1:-1;;;;;2560:5:0;2569:10;2560:19;2552:42;;;;-1:-1:-1;;;2552:42:0;;;;;;;:::i;:::-;8887:14:::1;:24:::0;8820:99::o;1478:38::-;;;;;;;;;;;1369:54;;;;;;;;;;;10352:471;10410:7;10655:1;10660;10655:6;10651:47;;-1:-1:-1;10685:1:0;10678:8;;10651:47;10710:9;10722:5;10726:1;10722;:5;:::i;:::-;10710:17;-1:-1:-1;10755:1:0;10746:5;10750:1;10710:17;10746:5;:::i;:::-;:10;10738:56;;;;-1:-1:-1;;;10738:56:0;;9042:2:1;10738:56:0;;;9024:21:1;9081:2;9061:18;;;9054:30;9120:34;9100:18;;;9093:62;-1:-1:-1;;;9171:18:1;;;9164:31;9212:19;;10738:56:0;8840:397:1;10738:56:0;10814:1;-1:-1:-1;10352:471:0;;;;;:::o;10831:132::-;10889:7;10916:39;10920:1;10923;10916:39;;;;;;;;;;;;;;;;;:3;:39::i;9974:136::-;10032:7;10059:43;10063:1;10066;10059:43;;;;;;;;;;;;;;;;;:3;:43::i;9785:181::-;9843:7;;9875:5;9879:1;9875;:5;:::i;:::-;9863:17;;9904:1;9899;:6;;9891:46;;;;-1:-1:-1;;;9891:46:0;;9444:2:1;9891:46:0;;;9426:21:1;9483:2;9463:18;;;9456:30;9522:29;9502:18;;;9495:57;9569:18;;9891:46:0;9242:351:1;10118:226:0;10238:7;10274:12;10266:6;;;;10258:29;;;;-1:-1:-1;;;10258:29:0;;;;;;;;:::i;:::-;-1:-1:-1;10298:9:0;10310:5;10314:1;10310;:5;:::i;:::-;10298:17;10118:226;-1:-1:-1;;;;;10118:226:0:o;10971:312::-;11091:7;11126:12;11119:5;11111:28;;;;-1:-1:-1;;;11111:28:0;;;;;;;;:::i;:::-;-1:-1:-1;11150:9:0;11162:5;11166:1;11162;:5;:::i;14:131:1:-;-1:-1:-1;;;;;89:31:1;;79:42;;69:70;;135:1;132;125:12;69:70;14:131;:::o;150:247::-;209:6;262:2;250:9;241:7;237:23;233:32;230:52;;;278:1;275;268:12;230:52;317:9;304:23;336:31;361:5;336:31;:::i;844:180::-;903:6;956:2;944:9;935:7;931:23;927:32;924:52;;;972:1;969;962:12;924:52;-1:-1:-1;995:23:1;;844:180;-1:-1:-1;844:180:1:o;1458:248::-;1526:6;1534;1587:2;1575:9;1566:7;1562:23;1558:32;1555:52;;;1603:1;1600;1593:12;1555:52;-1:-1:-1;;1626:23:1;;;1696:2;1681:18;;;1668:32;;-1:-1:-1;1458:248:1:o;1711:316::-;1788:6;1796;1804;1857:2;1845:9;1836:7;1832:23;1828:32;1825:52;;;1873:1;1870;1863:12;1825:52;-1:-1:-1;;1896:23:1;;;1966:2;1951:18;;1938:32;;-1:-1:-1;2017:2:1;2002:18;;;1989:32;;1711:316;-1:-1:-1;1711:316:1:o;2256:315::-;2324:6;2332;2385:2;2373:9;2364:7;2360:23;2356:32;2353:52;;;2401:1;2398;2391:12;2353:52;2440:9;2427:23;2459:31;2484:5;2459:31;:::i;:::-;2509:5;2561:2;2546:18;;;;2533:32;;-1:-1:-1;;;2256:315:1:o;3830:127::-;3891:10;3886:3;3882:20;3879:1;3872:31;3922:4;3919:1;3912:15;3946:4;3943:1;3936:15;3962:128;4029:9;;;4050:11;;;4047:37;;;4064:18;;:::i;4095:125::-;4160:9;;;4181:10;;;4178:36;;;4194:18;;:::i;4225:334::-;4427:2;4409:21;;;4466:2;4446:18;;;4439:30;-1:-1:-1;;;4500:2:1;4485:18;;4478:40;4550:2;4535:18;;4225:334::o;5598:127::-;5659:10;5654:3;5650:20;5647:1;5640:31;5690:4;5687:1;5680:15;5714:4;5711:1;5704:15;6296:136;6335:3;6363:5;6353:39;;6372:18;;:::i;:::-;-1:-1:-1;;;6408:18:1;;6296:136::o;7925:135::-;7964:3;7985:17;;;7982:43;;8005:18;;:::i;:::-;-1:-1:-1;8052:1:1;8041:13;;7925:135::o;8445:168::-;8518:9;;;8549;;8566:15;;;8560:22;;8546:37;8536:71;;8587:18;;:::i;8618:217::-;8658:1;8684;8674:132;;8728:10;8723:3;8719:20;8716:1;8709:31;8763:4;8760:1;8753:15;8791:4;8788:1;8781:15;8674:132;-1:-1:-1;8820:9:1;;8618:217::o;9598:548::-;9710:4;9739:2;9768;9757:9;9750:21;9800:6;9794:13;9843:6;9838:2;9827:9;9823:18;9816:34;9868:1;9878:140;9892:6;9889:1;9886:13;9878:140;;;9987:14;;;9983:23;;9977:30;9953:17;;;9972:2;9949:26;9942:66;9907:10;;9878:140;;;9882:3;10067:1;10062:2;10053:6;10042:9;10038:22;10034:31;10027:42;10137:2;10130;10126:7;10121:2;10113:6;10109:15;10105:29;10094:9;10090:45;10086:54;10078:62;;;;9598:548;;;;:::o

Swarm Source

ipfs://79168146a6a66b606b3e1b13f3a02ff54c6a80ae02189a2fd3dfcaa66e641e78

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.