Contract 0x59e10f29cb62559a708157211adf3bee81edd8a1

 

Contract Overview

Balance:
0 BNB

BNB Value:
$0.00

Token:
Txn Hash
Block
From
To
Value [Txn Fee]
0x67edcc0e75ab2519500b27afe9d1e7e21ab476ac892bae72f8dfdf03158b664672256122021-05-07 22:26:012 mins ago0x91266765462badaebea0c04ec49adcd0bbc0ddc0 IN  0x59e10f29cb62559a708157211adf3bee81edd8a10 BNB0.00043161
0x7730f120c980c5e35717a88e926f1ffaceb67cde6552abc0564fa35cb215a69672256032021-05-07 22:25:342 mins ago0xaeac0ad2b18843eb1a77784602c0a054caff1d9e IN  0x59e10f29cb62559a708157211adf3bee81edd8a10 BNB0.000848905
0x05bcb2ff8343852bf8cb616ba0a01491dcae40f738ef4ba73428b576b07e6c8b72254482021-05-07 22:17:1411 mins ago0xa422de7750105f15eee59108a2f3cec83eeb10f6 IN  0x59e10f29cb62559a708157211adf3bee81edd8a10 BNB0.000923965
0xd05ea0cd4b3d3f769778f382dbc08fa5960f12b6f9aa6c0e435036f233b9f47072254222021-05-07 22:15:5612 mins ago0xde6f86796ead655a83185bbfcbaf678cac6485d4 IN  0x59e10f29cb62559a708157211adf3bee81edd8a10 BNB0.003780066
0xb5baa4a85359ea60465c4ac763cd4ae3659802983add8aae7dd3e6e06c496a8472253452021-05-07 22:12:0516 mins ago0x22d67888635d926e536ef17624b253d24966844e IN  0x59e10f29cb62559a708157211adf3bee81edd8a10 BNB0.000773965
0x31ce48ba76a12cfd3c780f05fa3577b8427a21ff3714fd1c4523479a207e147572252962021-05-07 22:09:3818 mins ago0xac0e1571d86249a3a2a313fe8368aa13bcb95cd3 IN  0x59e10f29cb62559a708157211adf3bee81edd8a10 BNB0.000848905
0x8df98a4903e76c95068e4401eef12f574c1c608c6e429e05a1ded07bc98831b272251692021-05-07 22:03:1725 mins ago0x17340e2083a3f2f53f0c66868336a9338b574eca IN  0x59e10f29cb62559a708157211adf3bee81edd8a10 BNB0.000848905
0xdc40dd8380252f2842ba395f59f0a1c275ce010c237ed284d7db23a7a7c7112872249862021-05-07 21:54:0834 mins ago0x342b707196673d72ef89216bf486b66b9b885eed IN  0x59e10f29cb62559a708157211adf3bee81edd8a10 BNB0.00011153
0x900904f3ba71e95babe505c8e2747a59259491cfca936e20b88244779b1a5b1a72249812021-05-07 21:53:5334 mins ago0x22d67888635d926e536ef17624b253d24966844e IN  0x59e10f29cb62559a708157211adf3bee81edd8a10 BNB0.000848965
0x0c72077133828b89a0006991b652559d492986243b5fcef899f10f59443a5d9b72249072021-05-07 21:49:3738 mins ago0xef4afc1bf9b986229a60caedeca11875161f96d2 IN  0x59e10f29cb62559a708157211adf3bee81edd8a10 BNB0.000848905
0x92959b3ea37442d5cb4c644b8c77f8ae80952501c29ebb2d2265488ea760157b72248582021-05-07 21:46:4741 mins ago0xba9c5381903a38ff6686a0c39512b03dac609107 IN  0x59e10f29cb62559a708157211adf3bee81edd8a10 BNB0.000773905
0x248c20bf94d53e3bb7d0d584ff264442543057c8adc50aa3120788012c8ae58d72247892021-05-07 21:43:2045 mins ago0x6f7dc099f8a7af37f9164974a5ab3aef5dcdf1a1 IN  0x59e10f29cb62559a708157211adf3bee81edd8a10 BNB0.000848905
0x801c5bbc86a82898cb8e2f3acd0e6a5bf9bb4604a91da1633c53e84a2170394072246172021-05-07 21:34:4453 mins ago0x60fff0980c0a03b668074560e6fdfb578fc0f000 IN  0x59e10f29cb62559a708157211adf3bee81edd8a10 BNB0.00035661
0xe472f4a18921b16ed6e8d83fb095fc16716e2576946e6baecb5214e360364b2872244212021-05-07 21:24:561 hr 3 mins ago0x024409ea745b72cb572849fef086489376076f96 IN  0x59e10f29cb62559a708157211adf3bee81edd8a10 BNB0.00043161
0x5e6ec89984b672aaba9aab4147545ae163cdca09cf79e165e52a604a3eacdfb672244132021-05-07 21:24:271 hr 3 mins ago0x4ca4200bce7c727d8c50d242868c1d172d869fa7 IN  0x59e10f29cb62559a708157211adf3bee81edd8a10 BNB0.00043161
0x7b6ce83dc3430fad3d2cb0702ce06e50d7e76df4bea6ed1a8a3709b065925c3b72244132021-05-07 21:24:271 hr 3 mins ago0x9997f27fcf2d463196ee6b2e3b7596d48d8e7c5e IN  0x59e10f29cb62559a708157211adf3bee81edd8a10 BNB0.00043161
0x77cafb7b79e86885898f5a84ea5801adb6e00207b88854431945bdbdc9b537b572242072021-05-07 21:13:551 hr 14 mins ago0x9005bf3481a371316de45bf63b0de7ab50d63d11 IN  0x59e10f29cb62559a708157211adf3bee81edd8a10 BNB0.000849085
0x5c6ce1125ddacdc20a23da308bc5e96271fbdbf598cd13c071798080e049935172241802021-05-07 21:12:231 hr 15 mins ago0x9005bf3481a371316de45bf63b0de7ab50d63d11 IN  0x59e10f29cb62559a708157211adf3bee81edd8a10 BNB0.00035661
0x0f5e6432bd77eaee3a68c7cacb8a96cc663ff26174e02e9d840f095bf218494672240632021-05-07 21:05:391 hr 22 mins ago0x635cd6806d1bc05b1d1d9d272cfdbdaa7b6289a3 IN  0x59e10f29cb62559a708157211adf3bee81edd8a10 BNB0.000848965
0x25e31004019793ad9829f54143b0fa1ccace542870448569f2008f6b4952551072240192021-05-07 21:03:121 hr 25 mins ago0x872b0f881f874eb97242fef27d781db6172b5f7e IN  0x59e10f29cb62559a708157211adf3bee81edd8a10 BNB0.000848905
0x16d1081c0110191267b30778012f81f87105bc6e9c9e109f242cb63299b980b072240072021-05-07 21:02:281 hr 25 mins ago0x872b0f881f874eb97242fef27d781db6172b5f7e IN  0x59e10f29cb62559a708157211adf3bee81edd8a10 BNB0.00035661
0x2be0be39571d66fb2eb23e1666c50dc5a93e66a7ecd3c1f7651d22a5aa59edc572239652021-05-07 21:00:071 hr 28 mins ago0x77caaf69c37489c9a2606c17c6ec689b80929327 IN  0x59e10f29cb62559a708157211adf3bee81edd8a10 BNB0.000848905
0x0c1e388c6c103483ffed98c95591813bfe03e85c969c7ba9e8059f93ad49476372238242021-05-07 20:53:041 hr 35 mins ago0x7e074cbf7bf1c7cc2e697b4281611bb2174ddd09 IN  0x59e10f29cb62559a708157211adf3bee81edd8a10 BNB0.000848905
0x7220f8f09a8170a9709578e8e7d6703863d4c016550ad0e5c5bf6f06ed50fe4c72237722021-05-07 20:50:281 hr 37 mins ago0x872b0f881f874eb97242fef27d781db6172b5f7e IN  0x59e10f29cb62559a708157211adf3bee81edd8a10 BNB0.000848905
0xfd58603b76f7f557ea18d7450bebde033bf00de79beb5cfabcb594d49a2d562472237172021-05-07 20:47:431 hr 40 mins ago0x148afbce5ce5417e966e92d2c04bd81d8cb0e04e IN  0x59e10f29cb62559a708157211adf3bee81edd8a10 BNB0.000848965
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
StakingPool

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at BscScan.com on 2021-04-21
*/

// Sources flattened with hardhat v2.1.1 https://hardhat.org

// File contracts/interfaces/IERC20.sol


pragma solidity ^0.6.12;

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}


// File contracts/interfaces/IRBAC.sol


pragma solidity ^0.6.12;

interface IRBAC {
    function isAdmin(address user) external view returns (bool);
}


// File contracts/libraries/SafeMath.sol


pragma solidity ^0.6.12;


/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {

    /**
    * @dev Multiplies two numbers, throws on overflow.
    */
    function mul(uint256 _a, uint256 _b) internal pure returns (uint256 c) {
        // Gas optimization: this is cheaper than asserting 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
        if (_a == 0) {
            return 0;
        }

        c = _a * _b;
        require(c / _a == _b);
        return c;
    }

    /**
    * @dev Integer division of two numbers, truncating the quotient.
    */
    function div(uint256 _a, uint256 _b) internal pure returns (uint256) {
        // assert(_b > 0); // Solidity automatically throws when dividing by 0
        // uint256 c = _a / _b;
        // assert(_a == _b * c + _a % _b); // There is no case in which this doesn't hold
        return _a / _b;
    }

    /**
    * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
    */
    function sub(uint256 _a, uint256 _b) internal pure returns (uint256) {
        require(_b <= _a);
        return _a - _b;
    }

    /**
    * @dev Adds two numbers, throws on overflow.
    */
    function add(uint256 _a, uint256 _b) internal pure returns (uint256 c) {
        c = _a + _b;
        require(c >= _a);
        return c;
    }
}


// File contracts/StakingPool.sol

pragma solidity ^0.6.12;



/**
 *  In order for user to become eligible to participate inside private sales, he must stake for at least
 *  N period of time. Given the situation, once user does deposit, he can't withdraw until the N period of time
 *  expires. Whenever stake is in the pool, your participation is getting into account how much is total staked,
 *  and given input (total staked, and your stake) is determined if you're eligible to participate in private sales
 */
contract StakingPool {

    // Using SafeMath library for mathematical operations over uint256
    using SafeMath for uint256;

    /// Representing stake structure
    struct Stake {
        address user;
        uint256 amount;
        uint256 timestamp;
        uint256 unlockingTime;
        bool isWithdrawn;
    }

    // Pointer to admin contract
    IRBAC public admin;

    // Array holding all stakes
    Stake [] public stakes;

    // Token being staked
    IERC20 public token;

    // Mapping user to his stakes
    mapping(address => uint256[]) userToHisStakeIds;

    // Total amount staked at the moment
    uint256 public totalStaked;

    // Minimal time to stake in order to get eligible to participate in private sales
    uint256 public minimalTimeToStake;

    // Minimal amount staked
    uint256 public minimalAmountToStake;

    // Initially set token address and admin wallet address
    constructor (
        address _token,
        address _admin
    )
    public
    {
        token = IERC20(_token);
        admin = IRBAC(_admin);
    }

    // Function which can be called only by admin
    function setStakingRules(
        uint256 _minimalTimeToStake,
        uint256 _minimalAmountToStake
    )
    public
    {
        // Only admin can call this
        require(admin.isAdmin(msg.sender) == true);
        // Set minimal time to stake
        minimalTimeToStake = _minimalTimeToStake;
        // Set minimal amount to stake
        minimalAmountToStake = _minimalAmountToStake;
    }

    // Function to deposit tokens (create stake)
    function depositTokens(
        uint amount
    )
    public
    {
        // Require that user is meeting requirement for minimal stake amount
        require(amount >= minimalAmountToStake);
        // Allow only direct calls from EOA (Externally owner wallets - flashloan prevention)
        require(msg.sender == tx.origin);
        // Compute the ID of the stake
        uint stakeId = stakes.length;
        // Create new stake object
        Stake memory s = Stake({
            user: msg.sender,
            amount: amount,
            timestamp: now,
            unlockingTime: now.add(minimalTimeToStake),
            isWithdrawn: false
        });
        // Take tokens from the user
        token.transferFrom(msg.sender, address(this), amount);
        // Push stake to array of all stakes
        stakes.push(s);
        // Add stakeId to array of users stake ids
        userToHisStakeIds[msg.sender].push(stakeId);
        // Increase how much is staked in total
        totalStaked = totalStaked.add(amount);
    }

    // Function where user can withdraw all his stakes
    function withdrawAllStakes()
    public
    {
        uint totalToWithdraw = 0;

        for(uint i = 0; i < userToHisStakeIds[msg.sender].length; i++) {
            uint stakeId = userToHisStakeIds[msg.sender][i];
            uint amountToWithdraw = withdrawStakeInternal(stakeId);
            totalToWithdraw = totalToWithdraw.add(amountToWithdraw);
        }

        if(totalToWithdraw > 0) {
            token.transfer(msg.sender, totalToWithdraw);
        }
    }

    function withdrawStake(
        uint stakeId
    )
    public
    {
        uint amount = withdrawStakeInternal(stakeId);
        require(amount > 0);
        token.transfer(msg.sender, amount);
    }

    function withdrawStakeInternal(
        uint stakeId
    )
    internal
    returns (uint)
    {
        Stake storage s = stakes[stakeId];
        // Only user can withdraw his stakes
        require(s.user == msg.sender);
        // Stake can't be withdrawn more than once and time has to expire in order to make stake able to withdraw
        if(s.isWithdrawn == true || now < s.unlockingTime) {
            return 0;
        }
        else {
            // Mark stake that it's withdrawn
            s.isWithdrawn = true;
            // Reduce total amount staked
            totalStaked = totalStaked.sub(s.amount);
            // Transfer back tokens to user
            return s.amount;
        }
    }

    // Function to get all stake ids for specific user
    function getUserStakeIds(
        address user
    )
    public
    view
    returns (uint256[] memory)
    {
        return userToHisStakeIds[user];
    }

    function getHowManyStakesUserHas(
        address user
    )
    public
    view
    returns (uint)
    {
        return userToHisStakeIds[user].length;
    }

    function getAllUserStakes(
        address user
    )
    public
    view
    returns (
        uint256[] memory,
        uint256[] memory,
        uint256[] memory,
        bool[] memory
    )
    {
        uint length = getHowManyStakesUserHas(user);

        uint [] memory amountsStaked = new uint[](length);
        uint [] memory timestamps = new uint[](length);
        uint [] memory unlockingTime = new uint[](length);
        bool [] memory isStakeWithdrawn = new bool[](length);

        for(uint i = 0; i < length; i++) {
            uint stakeId = userToHisStakeIds[user][i];
            Stake memory s = stakes[stakeId];

            amountsStaked[i] = s.amount;
            timestamps[i] = s.timestamp;
            unlockingTime[i] = s.unlockingTime;
            isStakeWithdrawn[i] = s.isWithdrawn;
        }

        return (amountsStaked, timestamps, unlockingTime, isStakeWithdrawn);
    }

    // Function to get total amount user staked in the contract
    function getTotalAmountUserStaked(
        address user
    )
    public
    view
    returns (uint)
    {
        uint256[] memory userStakeIds = userToHisStakeIds[user];

        uint256 totalUserStaked = 0;

        for(uint i = 0; i < userStakeIds.length; i++) {
            uint stakeId = userStakeIds[i];
            Stake memory s = stakes[stakeId];
            // Counts only active stakes
            if(!s.isWithdrawn) {
                totalUserStaked = totalUserStaked.add(s.amount);
            }
        }

        return totalUserStaked;
    }

    // Compute weight of the user
    function computeUserWeight(
        address user
    )
    public
    view
    returns (uint256)
    {
        uint totalUserStaked = getTotalAmountUserStaked(user);
        return totalUserStaked.mul(10**18).div(totalStaked);
    }

}

Contract ABI

[{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_admin","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"admin","outputs":[{"internalType":"contract IRBAC","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"computeUserWeight","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"depositTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getAllUserStakes","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bool[]","name":"","type":"bool[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getHowManyStakesUserHas","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getTotalAmountUserStaked","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getUserStakeIds","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimalAmountToStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimalTimeToStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minimalTimeToStake","type":"uint256"},{"internalType":"uint256","name":"_minimalAmountToStake","type":"uint256"}],"name":"setStakingRules","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"stakes","outputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint256","name":"unlockingTime","type":"uint256"},{"internalType":"bool","name":"isWithdrawn","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalStaked","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawAllStakes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"stakeId","type":"uint256"}],"name":"withdrawStake","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b50604051610f2f380380610f2f8339818101604052604081101561003357600080fd5b508051602090910151600280546001600160a01b039384166001600160a01b03199182161790915560008054939092169216919091179055610eb58061007a6000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c8063817b1cd211610097578063dd49756e11610066578063dd49756e146103d0578063de8e040b146103ed578063f851a44014610410578063fc0c546a14610434576100f5565b8063817b1cd2146102235780638bd7ca571461022b578063adcf5ec514610374578063d5a44f861461037c576100f5565b8063313da78f116100d3578063313da78f1461015957806331712949146101cf578063596c5de1146101f5578063604e37dd146101fd576100f5565b80632162144f146100fa578063253844341461011457806325d5971f1461013a575b600080fd5b61010261043c565b60408051918252519081900360200190f35b6101026004803603602081101561012a57600080fd5b50356001600160a01b0316610442565b6101576004803603602081101561015057600080fd5b5035610479565b005b61017f6004803603602081101561016f57600080fd5b50356001600160a01b0316610517565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156101bb5781810151838201526020016101a3565b505050509050019250505060405180910390f35b610102600480360360208110156101e557600080fd5b50356001600160a01b0316610583565b61010261059e565b6101026004803603602081101561021357600080fd5b50356001600160a01b03166105a4565b6101026106ca565b6102516004803603602081101561024157600080fd5b50356001600160a01b03166106d0565b6040518080602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b8381101561029d578181015183820152602001610285565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156102dc5781810151838201526020016102c4565b50505050905001858103835287818151815260200191508051906020019060200280838360005b8381101561031b578181015183820152602001610303565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561035a578181015183820152602001610342565b505050509050019850505050505050505060405180910390f35b610157610938565b6103996004803603602081101561039257600080fd5b5035610a29565b604080516001600160a01b039096168652602086019490945284840192909252606084015215156080830152519081900360a00190f35b610157600480360360208110156103e657600080fd5b5035610a74565b6101576004803603604081101561040357600080fd5b5080359060200135610c9f565b610418610d2f565b604080516001600160a01b039092168252519081900360200190f35b610418610d3e565b60065481565b60008061044e836105a4565b6004549091506104709061046a83670de0b6b3a7640000610d4d565b90610d7b565b9150505b919050565b600061048482610d8e565b90506000811161049357600080fd5b6002546040805163a9059cbb60e01b81523360048201526024810184905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b1580156104e757600080fd5b505af11580156104fb573d6000803e3d6000fd5b505050506040513d602081101561051157600080fd5b50505050565b6001600160a01b03811660009081526003602090815260409182902080548351818402810184019094528084526060939283018282801561057757602002820191906000526020600020905b815481526020019060010190808311610563575b50505050509050919050565b6001600160a01b031660009081526003602052604090205490565b60055481565b6001600160a01b0381166000908152600360209081526040808320805482518185028101850190935280835260609383018282801561060257602002820191906000526020600020905b8154815260200190600101908083116105ee575b505050505090506000805b82518110156106c257600083828151811061062457fe5b60200260200101519050610636610e45565b6001828154811061064357fe5b60009182526020918290206040805160a081018252600590930290910180546001600160a01b031683526001810154938301939093526002830154908201526003820154606082015260049091015460ff161515608082018190529091506106b85760208101516106b5908590610e20565b93505b505060010161060d565b509392505050565b60045481565b60608060608060006106e186610583565b905060608167ffffffffffffffff811180156106fc57600080fd5b50604051908082528060200260200182016040528015610726578160200160208202803683370190505b50905060608267ffffffffffffffff8111801561074257600080fd5b5060405190808252806020026020018201604052801561076c578160200160208202803683370190505b50905060608367ffffffffffffffff8111801561078857600080fd5b506040519080825280602002602001820160405280156107b2578160200160208202803683370190505b50905060608467ffffffffffffffff811180156107ce57600080fd5b506040519080825280602002602001820160405280156107f8578160200160208202803683370190505b50905060005b85811015610927576001600160a01b038b16600090815260036020526040812080548390811061082a57fe5b9060005260206000200154905061083f610e45565b6001828154811061084c57fe5b60009182526020918290206040805160a081018252600590930290910180546001600160a01b031683526001810154938301849052600281015491830191909152600381015460608301526004015460ff161515608082015288519092508890859081106108b657fe5b60200260200101818152505080604001518684815181106108d357fe5b60200260200101818152505080606001518584815181106108f057fe5b602002602001018181525050806080015184848151811061090d57fe5b9115156020928302919091019091015250506001016107fe565b509299919850965090945092505050565b6000805b3360009081526003602052604090205481101561099e5733600090815260036020526040812080548390811061096e57fe5b90600052602060002001549050600061098682610d8e565b90506109928482610e20565b9350505060010161093c565b508015610a26576002546040805163a9059cbb60e01b81523360048201526024810184905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b1580156109f957600080fd5b505af1158015610a0d573d6000803e3d6000fd5b505050506040513d6020811015610a2357600080fd5b50505b50565b60018181548110610a3657fe5b6000918252602090912060059091020180546001820154600283015460038401546004909401546001600160a01b0390931694509092909160ff1685565b600654811015610a8357600080fd5b333214610a8f57600080fd5b600154610a9a610e45565b6040518060a00160405280336001600160a01b03168152602001848152602001428152602001610ad560055442610e2090919063ffffffff16565b815260006020918201819052600254604080516323b872dd60e01b81523360048201523060248201526044810189905290519495506001600160a01b03909116936323b872dd9360648084019491938390030190829087803b158015610b3a57600080fd5b505af1158015610b4e573d6000803e3d6000fd5b505050506040513d6020811015610b6457600080fd5b5050600180548082018255600082815283517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6600590930292830180546001600160a01b0319166001600160a01b039092169190911790556020808501517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf78401556040808601517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf885015560608601517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf985015560808601517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cfa909401805460ff191694151594909417909355338252600381529181208054938401815581522001829055600454610c979084610e20565b600455505050565b60005460408051630935e01b60e21b815233600482015290516001600160a01b03909216916324d7806c91602480820192602092909190829003018186803b158015610cea57600080fd5b505afa158015610cfe573d6000803e3d6000fd5b505050506040513d6020811015610d1457600080fd5b50511515600114610d2457600080fd5b600591909155600655565b6000546001600160a01b031681565b6002546001600160a01b031681565b600082610d5c57506000610d75565b5081810281838281610d6a57fe5b0414610d7557600080fd5b92915050565b6000818381610d8657fe5b049392505050565b60008060018381548110610d9e57fe5b6000918252602090912060059091020180549091506001600160a01b03163314610dc757600080fd5b600481015460ff16151560011480610de25750806003015442105b15610df1576000915050610474565b6004808201805460ff191660019081179091558201549054610e1291610e30565b600455600101549050610474565b81810182811015610d7557600080fd5b600082821115610e3f57600080fd5b50900390565b6040518060a0016040528060006001600160a01b03168152602001600081526020016000815260200160008152602001600015158152509056fea26469706673582212206b8e0dd270ca211ea8e941dd104680e9faf0f593f1ed305d6eb2691c8c5e4d3764736f6c634300060c0033000000000000000000000000cfefa64b0ddd611b125157c41cd3827f2e8e8615000000000000000000000000478c08dd9edd9b9fdba1999d9e0f86562129d2b7

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

000000000000000000000000cfefa64b0ddd611b125157c41cd3827f2e8e8615000000000000000000000000478c08dd9edd9b9fdba1999d9e0f86562129d2b7

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000cfefa64b0ddd611b125157c41cd3827f2e8e8615
Arg [1] : 000000000000000000000000478c08dd9edd9b9fdba1999d9e0f86562129d2b7


Deployed ByteCode Sourcemap

3097:6485:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3943:35;;;:::i;:::-;;;;;;;;;;;;;;;;9336:241;;;;;;;;;;;;;;;;-1:-1:-1;9336:241:0;-1:-1:-1;;;;;9336:241:0;;:::i;6348:208::-;;;;;;;;;;;;;;;;-1:-1:-1;6348:208:0;;:::i;:::-;;7358:163;;;;;;;;;;;;;;;;-1:-1:-1;7358:163:0;-1:-1:-1;;;;;7358:163:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7529:166;;;;;;;;;;;;;;;;-1:-1:-1;7529:166:0;-1:-1:-1;;;;;7529:166:0;;:::i;3871:33::-;;;:::i;8714:579::-;;;;;;;;;;;;;;;;-1:-1:-1;8714:579:0;-1:-1:-1;;;;;8714:579:0;;:::i;3749:26::-;;;:::i;7703:938::-;;;;;;;;;;;;;;;;-1:-1:-1;7703:938:0;-1:-1:-1;;;;;7703:938:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5857:483;;;:::i;3530:22::-;;;;;;;;;;;;;;;;-1:-1:-1;3530:22:0;;:::i;:::-;;;;-1:-1:-1;;;;;3530:22:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4734:1059;;;;;;;;;;;;;;;;-1:-1:-1;4734:1059:0;;:::i;4267:409::-;;;;;;;;;;;;;;;;-1:-1:-1;4267:409:0;;;;;;;:::i;3470:18::-;;;:::i;:::-;;;;-1:-1:-1;;;;;3470:18:0;;;;;;;;;;;;;;3588:19;;;:::i;3943:35::-;;;;:::o;9336:241::-;9429:7;9454:20;9477:30;9502:4;9477:24;:30::i;:::-;9557:11;;9454:53;;-1:-1:-1;9525:44:0;;:27;9454:53;9545:6;9525:19;:27::i;:::-;:31;;:44::i;:::-;9518:51;;;9336:241;;;;:::o;6348:208::-;6429:11;6443:30;6465:7;6443:21;:30::i;:::-;6429:44;;6501:1;6492:6;:10;6484:19;;;;;;6514:5;;:34;;;-1:-1:-1;;;6514:34:0;;6529:10;6514:34;;;;;;;;;;;;-1:-1:-1;;;;;6514:5:0;;;;:14;;:34;;;;;;;;;;;;;;;:5;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;6348:208:0:o;7358:163::-;-1:-1:-1;;;;;7490:23:0;;;;;;:17;:23;;;;;;;;;7483:30;;;;;;;;;;;;;;;;;7449:16;;7483:30;;;7490:23;7483:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7358:163;;;:::o;7529:166::-;-1:-1:-1;;;;;7657:23:0;7628:4;7657:23;;;:17;:23;;;;;:30;;7529:166::o;3871:33::-;;;;:::o;8714:579::-;-1:-1:-1;;;;;8868:23:0;;8814:4;8868:23;;;:17;:23;;;;;;;;8836:55;;;;;;;;;;;;;;;;;:29;;:55;;8868:23;8836:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8904:23;8948:6;8944:307;8964:12;:19;8960:1;:23;8944:307;;;9005:12;9020;9033:1;9020:15;;;;;;;;;;;;;;9005:30;;9050:14;;:::i;:::-;9067:6;9074:7;9067:15;;;;;;;;;;;;;;;;;9050:32;;;;;;;;9067:15;;;;;;;9050:32;;-1:-1:-1;;;;;9050:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9139:101:0;;9215:8;;;;9195:29;;:15;;:19;:29::i;:::-;9177:47;;9139:101;-1:-1:-1;;8985:3:0;;8944:307;;;-1:-1:-1;9270:15:0;8714:579;-1:-1:-1;;;8714:579:0:o;3749:26::-;;;;:::o;7703:938::-;7805:16;7832;7859;7886:13;7923:11;7937:29;7961:4;7937:23;:29::i;:::-;7923:43;;7979:28;8021:6;8010:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8010:18:0;;7979:49;;8039:25;8078:6;8067:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8067:18:0;;8039:46;;8096:28;8138:6;8127:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8127:18:0;;8096:49;;8156:31;8201:6;8190:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8190:18:0;;8156:52;;8225:6;8221:333;8241:6;8237:1;:10;8221:333;;;-1:-1:-1;;;;;8284:23:0;;8269:12;8284:23;;;:17;:23;;;;;:26;;8308:1;;8284:26;;;;;;;;;;;;;;8269:41;;8325:14;;:::i;:::-;8342:6;8349:7;8342:15;;;;;;;;;;;;;;;;;8325:32;;;;;;;;8342:15;;;;;;;8325:32;;-1:-1:-1;;;;;8325:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8374:16;;8325:32;;-1:-1:-1;8374:13:0;;8388:1;;8374:16;;;;;;;;;;;:27;;;;;8432:1;:11;;;8416:10;8427:1;8416:13;;;;;;;;;;;;;:27;;;;;8477:1;:15;;;8458:13;8472:1;8458:16;;;;;;;;;;;;;:34;;;;;8529:1;:13;;;8507:16;8524:1;8507:19;;;;;;;;:35;;;:19;;;;;;;;;;;:35;-1:-1:-1;;8249:3:0;;8221:333;;;-1:-1:-1;8574:13:0;;8589:10;;-1:-1:-1;8589:10:0;-1:-1:-1;8574:13:0;;-1:-1:-1;7703:938:0;-1:-1:-1;;;7703:938:0:o;5857:483::-;5914:20;5955:6;5951:276;5989:10;5971:29;;;;:17;:29;;;;;:36;5967:40;;5951:276;;;6062:10;6029:12;6044:29;;;:17;:29;;;;;:32;;6074:1;;6044:32;;;;;;;;;;;;;;6029:47;;6091:21;6115:30;6137:7;6115:21;:30::i;:::-;6091:54;-1:-1:-1;6178:37:0;:15;6091:54;6178:19;:37::i;:::-;6160:55;-1:-1:-1;;;6009:3:0;;5951:276;;;-1:-1:-1;6242:19:0;;6239:94;;6278:5;;:43;;;-1:-1:-1;;;6278:43:0;;6293:10;6278:43;;;;;;;;;;;;-1:-1:-1;;;;;6278:5:0;;;;:14;;:43;;;;;;;;;;;;;;;:5;;:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6239:94:0;5857:483;:::o;3530:22::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3530:22:0;;;;-1:-1:-1;3530:22:0;;;;;;;:::o;4734:1059::-;4910:20;;4900:6;:30;;4892:39;;;;;;5045:10;5059:9;5045:23;5037:32;;;;;;5135:6;:13;5195:14;;:::i;:::-;5212:197;;;;;;;;5239:10;-1:-1:-1;;;;;5212:197:0;;;;;5272:6;5212:197;;;;5304:3;5212:197;;;;5337:27;5345:18;;5337:3;:7;;:27;;;;:::i;:::-;5212:197;;5392:5;5212:197;;;;;;;5458:5;;:53;;;-1:-1:-1;;;5458:53:0;;5477:10;5458:53;;;;5497:4;5458:53;;;;;;;;;;;;5195:214;;-1:-1:-1;;;;;;5458:5:0;;;;:18;;:53;;;;;5212:197;;5458:53;;;;;;;:5;:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5568:6:0;:14;;;;;;;-1:-1:-1;5568:14:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5568:14:0;-1:-1:-1;;;;;5568:14:0;;;;;;;;;5458:53;5568:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5568:14:0;;;;;;;;;;;5663:10;5645:29;;5568:14;5645:29;;;;;:43;;;;;;;;;;;;;;5568:14;5762:11;:23;;5778:6;5762:15;:23::i;:::-;5748:11;:37;-1:-1:-1;;;4734:1059:0:o;4267:409::-;4450:5;;:25;;;-1:-1:-1;;;4450:25:0;;4464:10;4450:25;;;;;;-1:-1:-1;;;;;4450:5:0;;;;:13;;:25;;;;;;;;;;;;;;;:5;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4450:25:0;:33;;4479:4;4450:33;4442:42;;;;;;4533:18;:40;;;;4624:20;:44;4267:409::o;3470:18::-;;;-1:-1:-1;;;;;3470:18:0;;:::o;3588:19::-;;;-1:-1:-1;;;;;3588:19:0;;:::o;1249:432::-;1309:9;1555:7;1551:48;;-1:-1:-1;1586:1:0;1579:8;;1551:48;-1:-1:-1;1615:7:0;;;1620:2;1615;:7;:2;1641:6;;;;;:12;1633:21;;;;;;1249:432;;;;:::o;1776:306::-;1836:7;2072:2;2067;:7;;;;;;;1776:306;-1:-1:-1;;;1776:306:0:o;6564:730::-;6653:4;6675:15;6693:6;6700:7;6693:15;;;;;;;;;;;;;;;;;;;;;6773:6;;6693:15;;-1:-1:-1;;;;;;6773:6:0;6783:10;6773:20;6765:29;;;;;;6923:13;;;;;;:21;;:13;:21;;:46;;;6954:1;:15;;;6948:3;:21;6923:46;6920:367;;;6993:1;6986:8;;;;;6920:367;7083:13;;;;:20;;-1:-1:-1;;7083:20:0;7099:4;7083:20;;;;;;7191:8;;;7175:11;;:25;;:15;:25::i;:::-;7161:11;:39;7267:8;;;;-1:-1:-1;7260:15:0;;2412:147;2498:7;;;2524;;;;2516:16;;;;;2207:130;2267:7;2301:2;2295;:8;;2287:17;;;;;;-1:-1:-1;2322:7:0;;;2207:130::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

ipfs://6b8e0dd270ca211ea8e941dd104680e9faf0f593f1ed305d6eb2691c8c5e4d37
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.