MATIC Price: $0.507185 (+1.83%)
Gas: 30.1 GWei
 

Sponsored

Transaction Hash
Method
Block
From
To
Value
Stake592556562024-07-12 3:53:3120 hrs ago1720756411IN
0x30Ad47d3...7902162dD
0 MATIC0.0030204130.25765932
Deposit Rewards592510922024-07-12 1:11:0623 hrs ago1720746666IN
0x30Ad47d3...7902162dD
0 MATIC0.0063555397
Deposit Rewards592085322024-07-10 23:57:302 days ago1720655850IN
0x30Ad47d3...7902162dD
0 MATIC0.0051761579
Withdraw591802462024-07-10 7:13:072 days ago1720595587IN
0x30Ad47d3...7902162dD
0 MATIC0.0026914530.00000085
Deposit Rewards591680342024-07-09 23:58:303 days ago1720569510IN
0x30Ad47d3...7902162dD
0 MATIC0.0024242737
Stake590854782024-07-07 22:37:155 days ago1720391835IN
0x30Ad47d3...7902162dD
0 MATIC0.0065423550
Stake590721612024-07-07 14:44:295 days ago1720363469IN
0x30Ad47d3...7902162dD
0 MATIC0.0030137630.19106894
Stake590267162024-07-06 11:32:346 days ago1720265554IN
0x30Ad47d3...7902162dD
0 MATIC0.0029946930.00000004
Stake589710972024-07-05 2:22:137 days ago1720146133IN
0x30Ad47d3...7902162dD
0 MATIC0.01637097164
Stake589645592024-07-04 22:26:588 days ago1720132018IN
0x30Ad47d3...7902162dD
0 MATIC0.0029946930.00000002
Withdraw589531882024-07-04 15:36:598 days ago1720107419IN
0x30Ad47d3...7902162dD
0 MATIC0.0036783141
Withdraw589403822024-07-04 7:59:388 days ago1720079978IN
0x30Ad47d3...7902162dD
0 MATIC0.0198793141
Stake589393032024-07-04 7:19:458 days ago1720077585IN
0x30Ad47d3...7902162dD
0 MATIC0.0029946930.00000022
Deposit Rewards589267182024-07-03 23:53:049 days ago1720050784IN
0x30Ad47d3...7902162dD
0 MATIC0.0027518842
Withdraw589024952024-07-03 8:58:589 days ago1719997138IN
0x30Ad47d3...7902162dD
0 MATIC0.0026914530.0000228
Deposit Rewards588872532024-07-02 23:57:4410 days ago1719964664IN
0x30Ad47d3...7902162dD
0 MATIC0.0024242737
Stake588526892024-07-02 3:15:0510 days ago1719890105IN
0x30Ad47d3...7902162dD
0 MATIC0.0029946930.00000003
Deposit Rewards588479532024-07-02 0:27:2111 days ago1719880041IN
0x30Ad47d3...7902162dD
0 MATIC0.0026208440
Stake588440082024-07-01 22:04:4411 days ago1719871484IN
0x30Ad47d3...7902162dD
0 MATIC0.0029946930.00000002
Withdraw588128352024-07-01 3:11:5511 days ago1719803515IN
0x30Ad47d3...7902162dD
0 MATIC0.01236013137.77108669
Deposit Rewards588084882024-07-01 0:15:3912 days ago1719792939IN
0x30Ad47d3...7902162dD
0 MATIC0.0027518842
Deposit Rewards587671222024-06-29 23:31:5513 days ago1719703915IN
0x30Ad47d3...7902162dD
0 MATIC0.0026863641
Withdraw587507982024-06-29 13:45:4613 days ago1719668746IN
0x30Ad47d3...7902162dD
0 MATIC0.0026914530.00000004
Deposit Rewards587276572024-06-28 23:55:0814 days ago1719618908IN
0x30Ad47d3...7902162dD
0 MATIC0.0026208440
Stake587177812024-06-28 18:03:3314 days ago1719597813IN
0x30Ad47d3...7902162dD
0 MATIC0.0066112530.00000031
View all transactions

Parent Transaction Hash Block From To Value
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BlocStaking

Compiler Version
v0.8.14+commit.80d49f37

Optimization Enabled:
Yes with 200 runs

Other Settings:
london EvmVersion
File 1 of 3 : BlocStaking.sol
//SPDX-License-Identifier: MIT
pragma solidity 0.8.14;

import "./Ownable.sol";
import "./IERC20.sol";

interface IToken {
    function feeRecipient() external view returns (address);
}

interface ICustomizedRewards {
    function trigger(address user, uint256 amount, address yieldToken) external;
}

contract BlocStaking is Ownable, IERC20 {
    // name and symbol for tokenized contract
    string private _name;
    string private _symbol;
    uint8 private immutable _decimals;

    // Staked Token
    address public immutable token;

    // Reward Token
    address public immutable reward;

    address public DEAD = 0x000000000000000000000000000000000000dEaD;
    address public ZERO = 0x0000000000000000000000000000000000000000;

    // User Info
    struct UserInfo {
        uint256 amount; // amount of tokens staked
        uint256 totalExcluded; // tracked reward debt
        uint256 index; // index in holders list
    }
    // Address => UserInfo

    mapping(address => UserInfo) public userInfo;

    // List of all holders
    address[] public allHolders;

    // Tracks Dividends
    uint256 public totalRewards;
    uint256 private totalShares;
    uint256 private dividendsPerShare;
    uint256 private constant precision = 10 ** 18;

    // Index of current holder in multi claim
    uint256 public currentMultiClaimHolderIndex;

    // Minimum token holding amount to have rewards claimed via bounty
    uint256 public minHoldingsForAutoClaim = 1;

    // minimum pending rewards needed to be auto claimed
    uint256 public minPendingRewardsForAutoClaim = 1;

    // Staking Fees
    uint256 public stakingFee = 30; // 3%
    uint256 public unstakingFee = 30; // 3%
    uint256 private constant FEE_DENOM = 1000;

    // Lets this many users pass in `iterations` when mass claiming if they do not meet the criteria
    uint256 public inelligibleClaimsCheck = 50;

    // Customizable Rewards Contract
    ICustomizedRewards public customizedRewards;

    //events
    event Stake(address indexed user, uint256 amount, uint256 fee);
    event Withdraw(address indexed user, uint256 amount, uint256 fee);
    event ClaimReward(address indexed user, uint256 amount);
    event DepositRewards(uint256 amount);
    event SetStakingFee(uint256 newFee);
    event SetUnstakingFee(uint256 newFee);
    event SetInelligibleClaimsCheck(uint256 newCheck);
    event SetMinHoldingsForAutoClaim(uint256 newMin);
    event SetMinPendingRewardsForAutoClaim(uint256 newMin);
    event SetCustomizedRewards(address newCustomizedRewards);

    constructor(address token_, address reward_, string memory name_, string memory symbol_) {
        require(token_ != address(0) && reward_ != address(0), "Zero Address");
        token = token_;
        reward = reward_;
        _name = name_;
        _symbol = symbol_;
        _decimals = IERC20(token_).decimals();
        emit Transfer(address(0), msg.sender, 0);
    }

    /**
     * Returns the total number of tokens in existence
     */
    function totalSupply() external view override returns (uint256) {
        return totalShares;
    }

    /**
     * Returns the number of tokens owned by `account`
     */
    function balanceOf(address account) public view override returns (uint256) {
        return userInfo[account].amount;
    }

    /**
     * Returns the number of tokens `spender` can transfer from `holder`
     */
    function allowance(address, address) external pure override returns (uint256) {
        return 0;
    }

    /**
     * Token Name
     */
    function name() public view override returns (string memory) {
        return _name;
    }

    /**
     * Token Ticker Symbol
     */
    function symbol() public view override returns (string memory) {
        return _symbol;
    }

    /**
     * Tokens decimals
     */
    function decimals() public view override returns (uint8) {
        return _decimals;
    }

    /**
     * Approves `spender` to transfer `amount` tokens from caller
     */
    function approve(address spender, uint256) public override returns (bool) {
        emit Approval(msg.sender, spender, 0);
        return true;
    }

    /**
     * Transfer Function
     */
    function transfer(address recipient, uint256) external override returns (bool) {
        require(goodAddress(recipient) == true, "Invalid Address!");
        _claimReward(msg.sender);
        emit Transfer(msg.sender, recipient, 0);
        return true;
    }

    /**
     * transferFrom Function
     */
    function transferFrom(address, address recipient, uint256) external override returns (bool) {
        _claimReward(msg.sender);
        emit Transfer(msg.sender, recipient, 0);
        return true;
    }

    function setCustomizedRewards(address newCustomizedRewards) external onlyOwner {
        require(newCustomizedRewards != address(0), "Zero Addr");
        require(newCustomizedRewards != address(0x000000000000000000000000000000000000dEaD), "Dead Addr");
        customizedRewards = ICustomizedRewards(newCustomizedRewards);
        emit SetCustomizedRewards(newCustomizedRewards);
    }

    function withdrawForeignToken(address token_, uint256 amount) external onlyOwner {
        require(token != token_, "Cannot Withdraw Farm Token");
        require(IERC20(token_).transfer(msg.sender, amount), "Failure On Token Withdraw");
    }

    function withdrawETH() external onlyOwner {
        (bool s,) = payable(msg.sender).call{value: address(this).balance}("");
        require(s);
    }

    function resetMulticlaimIndex() external onlyOwner {
        currentMultiClaimHolderIndex = 0;
    }

    function setMinHoldingsForAutoClaim(uint256 newMin) external onlyOwner {
        require(newMin > 0, "Must be at least 1 wei of tokens");
        minHoldingsForAutoClaim = newMin;
        emit SetMinHoldingsForAutoClaim(newMin);
    }

    function setMinPendingRewardsForAutoClaim(uint256 newMin) external onlyOwner {
        require(newMin > 0, "Cannot Claim Zero Rewards");
        minPendingRewardsForAutoClaim = newMin;
        emit SetMinPendingRewardsForAutoClaim(newMin);
    }

    function setStakingFee(uint256 newFee) external onlyOwner {
        require(newFee <= FEE_DENOM / 2, "Fee Too Large");
        stakingFee = newFee;
        emit SetStakingFee(newFee);
    }

    function setUnStakingFee(uint256 newFee) external onlyOwner {
        require(newFee <= FEE_DENOM / 2, "Fee Too Large");
        unstakingFee = newFee;
        emit SetUnstakingFee(newFee);
    }

    function setInelligibleClaimsCheck(uint256 newCheck) external onlyOwner {
        inelligibleClaimsCheck = newCheck;
        emit SetInelligibleClaimsCheck(newCheck);
    }

    function claimRewards() external {
        _claimReward(msg.sender);
    }

    function multiClaim(uint256 iterations) external {
        uint256 inelligibleClaims = 0;

        for (uint256 i = 0; i < iterations;) {
            // reset index if applicable
            if (currentMultiClaimHolderIndex >= allHolders.length) {
                currentMultiClaimHolderIndex = 0;
            }

            // gas efficiency
            address user = allHolders[currentMultiClaimHolderIndex];

            // claim reward for holder if they pass all checks
            if (
                userInfo[user].amount >= minHoldingsForAutoClaim
                    && pendingRewards(user) >= minPendingRewardsForAutoClaim
            ) {
                _claimReward(user);
            } else {
                if (inelligibleClaims < inelligibleClaimsCheck) {
                    unchecked {
                        ++inelligibleClaims;
                        ++currentMultiClaimHolderIndex;
                    }
                    continue;
                }
            }

            // increment loop index and current multi claim holder index
            unchecked {
                ++i;
                ++currentMultiClaimHolderIndex;
            }
        }
    }

    function withdraw(uint256 amount) external {
        require(amount <= userInfo[msg.sender].amount, "Insufficient Amount");
        require(amount > 0, "Zero Amount");
        if (userInfo[msg.sender].amount > 0) {
            _claimReward(msg.sender);
        }

        // transfer in tokens
        uint256 fee = ((amount * unstakingFee) / FEE_DENOM);

        totalShares -= amount;
        userInfo[msg.sender].amount -= amount;
        userInfo[msg.sender].totalExcluded = getCumulativeDividends(userInfo[msg.sender].amount);

        if (userInfo[msg.sender].amount == 0) {
            // copy the last element of the array into their index
            allHolders[userInfo[msg.sender].index] = allHolders[allHolders.length - 1];

            // set the index of the last holder to be the removed index
            userInfo[allHolders[allHolders.length - 1]].index = userInfo[msg.sender].index;

            // pop the last element off the array
            allHolders.pop();

            // save storage space
            delete userInfo[msg.sender].index;
        }

        // send tokens to user
        require(IERC20(token).transfer(msg.sender, amount - fee), "Failure On Token Transfer To Sender");
        emit Transfer(msg.sender, address(0), amount);

        // take fee
        _takeFee(fee);
        emit Withdraw(msg.sender, amount, fee);
    }

    // can be used to stake for another user
    function stake(address user, uint256 amount) external {
        require(amount > 0, "Must Stake Greater Than 0");
        require(user != address(0), "Zero Address");

        if (userInfo[user].amount > 0) {
            _claimReward(user);
        } else {
            userInfo[user].index = allHolders.length;
            allHolders.push(user);
        }

        // transfer in tokens
        uint256 received = _transferIn(token, amount);
        uint256 fee = ((received * stakingFee) / FEE_DENOM);
        uint256 credit = received - fee;

        // update data
        totalShares += credit;
        userInfo[user].amount += credit;
        userInfo[user].totalExcluded = getCumulativeDividends(userInfo[user].amount);
        emit Transfer(address(0), user, credit);

        // take fee, distributing reward
        _takeFee(fee);
        emit Stake(user, credit, fee);
    }

    function depositRewards(uint256 amount) external {
        uint256 received = _transferIn(reward, amount);
        if (totalShares > 0) {
            unchecked {
                dividendsPerShare += (received * precision) / totalShares;
            }
        }

        unchecked {
            totalRewards += received;
        }
        emit DepositRewards(received);
    }

    function _claimReward(address user) internal {
        // exit if zero value locked
        if (userInfo[user].amount == 0) {
            return;
        }

        // fetch pending rewards
        uint256 amount = pendingRewards(user);

        // exit if zero rewards
        if (amount == 0) {
            return;
        }

        // update total excluded
        userInfo[user].totalExcluded = getCumulativeDividends(userInfo[user].amount);

        // send tokens to customized rewards
        IERC20(reward).transfer(address(customizedRewards), amount);
        customizedRewards.trigger(user, amount, token);
        emit ClaimReward(user, amount);
    }

    function _transferIn(address _token, uint256 amount) internal returns (uint256) {
        require(IERC20(_token).balanceOf(msg.sender) >= amount, "Insufficient Balance");
        require(IERC20(_token).allowance(msg.sender, address(this)) >= amount, "Insufficient Allowance");
        uint256 before = IERC20(_token).balanceOf(address(this));
        IERC20(_token).transferFrom(msg.sender, address(this), amount);
        uint256 After = IERC20(_token).balanceOf(address(this));
        require(After > before, "Error On Transfer From");
        return After - before;
    }

    function _takeFee(uint256 amount) internal {
        // Send the entire fee amount to the sell fee recipient (tax receiver)
        address receiver = IToken(token).feeRecipient();
        require(goodAddress(receiver), "Invalid Address");
        IERC20(token).transfer(receiver, amount);
    }

    function goodAddress(address _target) internal view returns (bool) {
        if (_target == DEAD || _target == ZERO) {
            return false;
        } else {
            return true;
        }
    }

    function pendingRewards(address shareholder) public view returns (uint256) {
        if (userInfo[shareholder].amount == 0) {
            return 0;
        }

        uint256 shareholderTotalDividends = getCumulativeDividends(userInfo[shareholder].amount);
        uint256 shareholderTotalExcluded = userInfo[shareholder].totalExcluded;

        if (shareholderTotalDividends <= shareholderTotalExcluded) {
            return 0;
        }

        return shareholderTotalDividends - shareholderTotalExcluded;
    }

    function getCumulativeDividends(uint256 share) internal view returns (uint256) {
        return (share * dividendsPerShare) / precision;
    }

    function viewAllHolders() external view returns (address[] memory) {
        return allHolders;
    }

    function numHolders() external view returns (uint256) {
        return allHolders.length;
    }

    receive() external payable {}
}

File 2 of 3 : Ownable.sol
// SPDX-License-Identifier: GPL-3.0

pragma solidity 0.8.14;

/**
 * @title Owner
 * @dev Set & change owner
 */
contract Ownable {
    address private owner;

    // event for EVM logging
    event OwnerSet(address indexed oldOwner, address indexed newOwner);

    // modifier to check if caller is owner
    modifier onlyOwner() {
        // If the first argument of 'require' evaluates to 'false', execution terminates and all
        // changes to the state and to Ether balances are reverted.
        // This used to consume all gas in old EVM versions, but not anymore.
        // It is often a good idea to use 'require' to check if functions are called correctly.
        // As a second argument, you can also provide an explanation about what went wrong.
        require(msg.sender == owner, "Caller is not owner");
        _;
    }

    /**
     * @dev Set contract deployer as owner
     */
    constructor() {
        owner = msg.sender; // 'msg.sender' is sender of current call, contract deployer for a constructor
        emit OwnerSet(address(0), owner);
    }

    /**
     * @dev Change owner
     * @param newOwner address of new owner
     */
    function changeOwner(address newOwner) public onlyOwner {
        emit OwnerSet(owner, newOwner);
        owner = newOwner;
    }

    /**
     * @dev Return owner address
     * @return address of owner
     */
    function getOwner() external view returns (address) {
        return owner;
    }
}

File 3 of 3 : IERC20.sol
//SPDX-License-Identifier: MIT
pragma solidity 0.8.14;

interface IERC20 {
    function totalSupply() external view returns (uint256);

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

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

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Returns the number of decimal places
     */
    function decimals() external view returns (uint8);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

Settings
{
  "remappings": [
    "ds-test/=lib/forge-std/lib/ds-test/src/",
    "forge-std/=lib/forge-std/src/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "ipfs"
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "london",
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"address","name":"reward_","type":"address"},{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ClaimReward","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"DepositRewards","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newCustomizedRewards","type":"address"}],"name":"SetCustomizedRewards","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newCheck","type":"uint256"}],"name":"SetInelligibleClaimsCheck","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newMin","type":"uint256"}],"name":"SetMinHoldingsForAutoClaim","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newMin","type":"uint256"}],"name":"SetMinPendingRewardsForAutoClaim","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newFee","type":"uint256"}],"name":"SetStakingFee","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newFee","type":"uint256"}],"name":"SetUnstakingFee","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"fee","type":"uint256"}],"name":"Stake","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"fee","type":"uint256"}],"name":"Withdraw","type":"event"},{"inputs":[],"name":"DEAD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ZERO","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"allHolders","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"changeOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"currentMultiClaimHolderIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"customizedRewards","outputs":[{"internalType":"contract ICustomizedRewards","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"depositRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"inelligibleClaimsCheck","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minHoldingsForAutoClaim","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minPendingRewardsForAutoClaim","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"iterations","type":"uint256"}],"name":"multiClaim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"numHolders","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"shareholder","type":"address"}],"name":"pendingRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"resetMulticlaimIndex","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"reward","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newCustomizedRewards","type":"address"}],"name":"setCustomizedRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newCheck","type":"uint256"}],"name":"setInelligibleClaimsCheck","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMin","type":"uint256"}],"name":"setMinHoldingsForAutoClaim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMin","type":"uint256"}],"name":"setMinPendingRewardsForAutoClaim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newFee","type":"uint256"}],"name":"setStakingFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newFee","type":"uint256"}],"name":"setUnStakingFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stakingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unstakingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userInfo","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"totalExcluded","type":"uint256"},{"internalType":"uint256","name":"index","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"viewAllHolders","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawForeignToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60e0604052600380546001600160a01b031990811661dead179091556004805490911690556001600b819055600c55601e600d819055600e556032600f553480156200004a57600080fd5b5060405162002876380380620028768339810160408190526200006d9162000388565b600080546001600160a01b0319163390811782556040519091907f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a735908290a36001600160a01b03841615801590620000cd57506001600160a01b03831615155b6200010d5760405162461bcd60e51b815260206004820152600c60248201526b5a65726f204164647265737360a01b604482015260640160405180910390fd5b6001600160a01b0380851660a052831660c052815162000135906001906020850190620001f8565b5080516200014b906002906020840190620001f8565b50836001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b1919062000418565b60ff16608052604051600080825233917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050505062000480565b828054620002069062000444565b90600052602060002090601f0160209004810192826200022a576000855562000275565b82601f106200024557805160ff191683800117855562000275565b8280016001018555821562000275579182015b828111156200027557825182559160200191906001019062000258565b506200028392915062000287565b5090565b5b8082111562000283576000815560010162000288565b80516001600160a01b0381168114620002b657600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620002e357600080fd5b81516001600160401b0380821115620003005762000300620002bb565b604051601f8301601f19908116603f011681019082821181831017156200032b576200032b620002bb565b816040528381526020925086838588010111156200034857600080fd5b600091505b838210156200036c57858201830151818301840152908201906200034d565b838211156200037e5760008385830101525b9695505050505050565b600080600080608085870312156200039f57600080fd5b620003aa856200029e565b9350620003ba602086016200029e565b60408601519093506001600160401b0380821115620003d857600080fd5b620003e688838901620002d1565b93506060870151915080821115620003fd57600080fd5b506200040c87828801620002d1565b91505092959194509250565b6000602082840312156200042b57600080fd5b815160ff811681146200043d57600080fd5b9392505050565b600181811c908216806200045957607f821691505b6020821081036200047a57634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c05161238e620004e860003960008181610436015281816111e001526119ff0152600081816107cc01528181610d64015281816112ae0152818161162401528181611a9601528181611b630152611c52015260006104ac015261238e6000f3fe6080604052600436106102555760003560e01c8063509c33de11610139578063a6f9dae1116100b6578063cc642cc21161007a578063cc642cc214610737578063dd62ed3e1461074c578063deb9ee771461076f578063e086e5ec1461078f578063eff98843146107a4578063fc0c546a146107ba57600080fd5b8063a6f9dae11461069f578063a9059cbb146106bf578063adc9772e146106df578063af0a0c12146106ff578063c60f2e0b1461072157600080fd5b806385009113116100fd578063850091131461060c578063893d20e81461062c5780638bdf67f21461064a57806392a87e601461066a57806395d89b411461068a57600080fd5b8063509c33de1461056157806353fdeb81146105765780635656e95c1461059657806358fa63ca146105b657806370a08231146105d657600080fd5b80631f2b8b68116101d2578063313ce56711610196578063313ce5671461049857806331d7a262146104d6578063372500ab146104f6578063410dbf7e1461050b57806346fee28f1461052b5780634d9ab9781461054b57600080fd5b80631f2b8b68146103f857806320ba56981461040e578063228cb7331461042457806323b872dd146104585780632e1a7d4d1461047857600080fd5b8063095ea7b311610219578063095ea7b3146103265780630b0e475e146103565780630e15561a1461037657806318160ddd1461038c5780631959a002146103a157600080fd5b806303fd2a451461026157806306fdde031461029e57806307662c91146102c0578063079176d0146102e2578063095d504e1461030657600080fd5b3661025c57005b600080fd5b34801561026d57600080fd5b50600354610281906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156102aa57600080fd5b506102b36107ee565b6040516102959190612017565b3480156102cc57600080fd5b506102e06102db36600461206c565b610880565b005b3480156102ee57600080fd5b506102f8600a5481565b604051908152602001610295565b34801561031257600080fd5b506102e061032136600461206c565b61093f565b34801561033257600080fd5b5061034661034136600461209a565b61099e565b6040519015158152602001610295565b34801561036257600080fd5b506102e061037136600461206c565b6109f7565b34801561038257600080fd5b506102f860075481565b34801561039857600080fd5b506008546102f8565b3480156103ad57600080fd5b506103dd6103bc3660046120c6565b60056020526000908152604090208054600182015460029092015490919083565b60408051938452602084019290925290820152606001610295565b34801561040457600080fd5b506102f8600f5481565b34801561041a57600080fd5b506102f8600e5481565b34801561043057600080fd5b506102817f000000000000000000000000000000000000000000000000000000000000000081565b34801561046457600080fd5b506103466104733660046120ea565b610aa2565b34801561048457600080fd5b506102e061049336600461206c565b610ae6565b3480156104a457600080fd5b5060405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610295565b3480156104e257600080fd5b506102f86104f13660046120c6565b610eca565b34801561050257600080fd5b506102e0610f55565b34801561051757600080fd5b506102e061052636600461206c565b610f60565b34801561053757600080fd5b5061028161054636600461206c565b61100b565b34801561055757600080fd5b506102f8600b5481565b34801561056d57600080fd5b506102e0611035565b34801561058257600080fd5b506102e061059136600461206c565b611066565b3480156105a257600080fd5b50601054610281906001600160a01b031681565b3480156105c257600080fd5b50600454610281906001600160a01b031681565b3480156105e257600080fd5b506102f86105f13660046120c6565b6001600160a01b031660009081526005602052604090205490565b34801561061857600080fd5b506102e061062736600461206c565b61112a565b34801561063857600080fd5b506000546001600160a01b0316610281565b34801561065657600080fd5b506102e061066536600461206c565b6111d9565b34801561067657600080fd5b506102e061068536600461209a565b611278565b34801561069657600080fd5b506102b36113e4565b3480156106ab57600080fd5b506102e06106ba3660046120c6565b6113f3565b3480156106cb57600080fd5b506103466106da36600461209a565b611478565b3480156106eb57600080fd5b506102e06106fa36600461209a565b6114fc565b34801561070b57600080fd5b5061071461177c565b604051610295919061212b565b34801561072d57600080fd5b506102f8600c5481565b34801561074357600080fd5b506006546102f8565b34801561075857600080fd5b506102f8610767366004612178565b600092915050565b34801561077b57600080fd5b506102e061078a3660046120c6565b6117dd565b34801561079b57600080fd5b506102e06118de565b3480156107b057600080fd5b506102f8600d5481565b3480156107c657600080fd5b506102817f000000000000000000000000000000000000000000000000000000000000000081565b6060600180546107fd906121b1565b80601f0160208091040260200160405190810160405280929190818152602001828054610829906121b1565b80156108765780601f1061084b57610100808354040283529160200191610876565b820191906000526020600020905b81548152906001019060200180831161085957829003601f168201915b5050505050905090565b6000546001600160a01b031633146108b35760405162461bcd60e51b81526004016108aa906121eb565b60405180910390fd5b600081116109035760405162461bcd60e51b815260206004820152601960248201527f43616e6e6f7420436c61696d205a65726f20526577617264730000000000000060448201526064016108aa565b600c8190556040518181527fc0d7170ed979cc6dd47298e555f57f10d777982e894ca7148674db73bbbe5fad906020015b60405180910390a150565b6000546001600160a01b031633146109695760405162461bcd60e51b81526004016108aa906121eb565b600f8190556040518181527f25ab1b1d0a3ff869447ef53ce827bc09868a998f6f7e632839b12d13d43650c790602001610934565b6000826001600160a01b0316336001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560006040516109e691815260200190565b60405180910390a350600192915050565b6000546001600160a01b03163314610a215760405162461bcd60e51b81526004016108aa906121eb565b610a2e60026103e8612244565b811115610a6d5760405162461bcd60e51b815260206004820152600d60248201526c46656520546f6f204c6172676560981b60448201526064016108aa565b600e8190556040518181527fb5134279d6ac77b3b8d844fea07bbe26a4301c3dd600ad7ed3296d54cdee0f0d90602001610934565b6000610aad33611960565b604051600081526001600160a01b0384169033906000805160206123398339815191529060200160405180910390a35060019392505050565b33600090815260056020526040902054811115610b3b5760405162461bcd60e51b8152602060048201526013602482015272125b9cdd59999a58da595b9d08105b5bdd5b9d606a1b60448201526064016108aa565b60008111610b795760405162461bcd60e51b815260206004820152600b60248201526a16995c9bc8105b5bdd5b9d60aa1b60448201526064016108aa565b3360009081526005602052604090205415610b9757610b9733611960565b60006103e8600e5483610baa9190612266565b610bb49190612244565b90508160086000828254610bc89190612285565b90915550503360009081526005602052604081208054849290610bec908490612285565b909155505033600090815260056020526040902054610c0a90611b36565b336000908152600560205260408120600181019290925590549003610d5a5760068054610c3990600190612285565b81548110610c4957610c4961229c565b60009182526020808320909101543383526005909152604090912060020154600680546001600160a01b03909316929091908110610c8957610c8961229c565b600091825260208083209190910180546001600160a01b0319166001600160a01b03949094169390931790925533815260059182905260408120600201546006805491939291610cdb90600190612285565b81548110610ceb57610ceb61229c565b60009182526020808320909101546001600160a01b031683528201929092526040019020600201556006805480610d2457610d246122b2565b60008281526020808220830160001990810180546001600160a01b03191690559092019092553382526005905260408120600201555b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663a9059cbb33610d948486612285565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610ddf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0391906122c8565b610e5b5760405162461bcd60e51b815260206004820152602360248201527f4661696c757265204f6e20546f6b656e205472616e7366657220546f2053656e6044820152623232b960e91b60648201526084016108aa565b60405182815260009033906000805160206123398339815191529060200160405180910390a3610e8a81611b5f565b604080518381526020810183905233917ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b56891015b60405180910390a25050565b6001600160a01b0381166000908152600560205260408120548103610ef157506000919050565b6001600160a01b038216600090815260056020526040812054610f1390611b36565b6001600160a01b038416600090815260056020526040902060010154909150808211610f43575060009392505050565b610f4d8183612285565b949350505050565b610f5e33611960565b565b6000546001600160a01b03163314610f8a5760405162461bcd60e51b81526004016108aa906121eb565b610f9760026103e8612244565b811115610fd65760405162461bcd60e51b815260206004820152600d60248201526c46656520546f6f204c6172676560981b60448201526064016108aa565b600d8190556040518181527fdc9e04a344059be7277ef90803b1b6a131b38ab5591d7f7030fb59671ccc766490602001610934565b6006818154811061101b57600080fd5b6000918252602090912001546001600160a01b0316905081565b6000546001600160a01b0316331461105f5760405162461bcd60e51b81526004016108aa906121eb565b6000600a55565b6000805b8281101561112557600654600a5410611083576000600a555b60006006600a548154811061109a5761109a61229c565b6000918252602080832090910154600b546001600160a01b039091168084526005909252604090922054909250108015906110df5750600c546110dc82610eca565b10155b156110f2576110ed81611960565b611112565b600f548310156111125750600a805460019081019091559091019061106a565b50600a805460019081019091550161106a565b505050565b6000546001600160a01b031633146111545760405162461bcd60e51b81526004016108aa906121eb565b600081116111a45760405162461bcd60e51b815260206004820181905260248201527f4d757374206265206174206c65617374203120776569206f6620746f6b656e7360448201526064016108aa565b600b8190556040518181527fee4d8f319699023035222d57b61b417f0f2397141cec130747f70802caa08c2090602001610934565b60006112057f000000000000000000000000000000000000000000000000000000000000000083611cbf565b6008549091501561123957600854670de0b6b3a764000082028161122b5761122b612218565b600980549290910490910190555b60078054820190556040518181527f754fe3a3c69256b66ca56365fda4bbf3299d7c94038c105ffd43fb4b37f56db69060200160405180910390a15050565b6000546001600160a01b031633146112a25760405162461bcd60e51b81526004016108aa906121eb565b816001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316036113235760405162461bcd60e51b815260206004820152601a60248201527f43616e6e6f74205769746864726177204661726d20546f6b656e00000000000060448201526064016108aa565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303816000875af1158015611370573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061139491906122c8565b6113e05760405162461bcd60e51b815260206004820152601960248201527f4661696c757265204f6e20546f6b656e2057697468647261770000000000000060448201526064016108aa565b5050565b6060600280546107fd906121b1565b6000546001600160a01b0316331461141d5760405162461bcd60e51b81526004016108aa906121eb565b600080546040516001600160a01b03808516939216917f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a73591a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600061148383611fd6565b15156001146114c75760405162461bcd60e51b815260206004820152601060248201526f496e76616c696420416464726573732160801b60448201526064016108aa565b6114d033611960565b604051600081526001600160a01b038416903390600080516020612339833981519152906020016109e6565b6000811161154c5760405162461bcd60e51b815260206004820152601960248201527f4d757374205374616b652047726561746572205468616e20300000000000000060448201526064016108aa565b6001600160a01b0382166115915760405162461bcd60e51b815260206004820152600c60248201526b5a65726f204164647265737360a01b60448201526064016108aa565b6001600160a01b038216600090815260056020526040902054156115bd576115b882611960565b61161d565b600680546001600160a01b0384166000818152600560205260408120600201839055600183018455929092527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180546001600160a01b03191690911790555b60006116497f000000000000000000000000000000000000000000000000000000000000000083611cbf565b905060006103e8600d548361165e9190612266565b6116689190612244565b905060006116768284612285565b9050806008600082825461168a91906122ea565b90915550506001600160a01b038516600090815260056020526040812080548392906116b79084906122ea565b90915550506001600160a01b0385166000908152600560205260409020546116de90611b36565b6001600160a01b038616600081815260056020526040808220600101939093559151909190600080516020612339833981519152906117209085815260200190565b60405180910390a361173182611b5f565b60408051828152602081018490526001600160a01b038716917f5af417134f72a9d41143ace85b0a26dce6f550f894f2cbc1eeee8810603d91b6910160405180910390a25050505050565b6060600680548060200260200160405190810160405280929190818152602001828054801561087657602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116117b6575050505050905090565b6000546001600160a01b031633146118075760405162461bcd60e51b81526004016108aa906121eb565b6001600160a01b0381166118495760405162461bcd60e51b81526020600482015260096024820152682d32b9379020b2323960b91b60448201526064016108aa565b61deac196001600160a01b038216016118905760405162461bcd60e51b81526020600482015260096024820152682232b0b21020b2323960b91b60448201526064016108aa565b601080546001600160a01b0319166001600160a01b0383169081179091556040519081527facbae3cba6fea189876400e3616c236ffef6971ba708e0d252c7a7b5f4d372f790602001610934565b6000546001600160a01b031633146119085760405162461bcd60e51b81526004016108aa906121eb565b604051600090339047908381818185875af1925050503d806000811461194a576040519150601f19603f3d011682016040523d82523d6000602084013e61194f565b606091505b505090508061195d57600080fd5b50565b6001600160a01b03811660009081526005602052604081205490036119825750565b600061198d82610eca565b90508060000361199b575050565b6001600160a01b0382166000908152600560205260409020546119bd90611b36565b6001600160a01b038381166000908152600560205260409081902060010192909255601054915163a9059cbb60e01b81529181166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af1158015611a48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a6c91906122c8565b5060105460405163b6e8a98b60e01b81526001600160a01b038481166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000811660448301529091169063b6e8a98b90606401600060405180830381600087803b158015611ae357600080fd5b505af1158015611af7573d6000803e3d6000fd5b50505050816001600160a01b03167fba8de60c3403ec381d1d484652ea1980e3c3e56359195c92525bff4ce47ad98e82604051610ebe91815260200190565b6000670de0b6b3a764000060095483611b4f9190612266565b611b599190612244565b92915050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663469048406040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611be39190612302565b9050611bee81611fd6565b611c2c5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964204164647265737360881b60448201526064016108aa565b60405163a9059cbb60e01b81526001600160a01b038281166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af1158015611c9b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061112591906122c8565b6040516370a0823160e01b815233600482015260009082906001600160a01b038516906370a0823190602401602060405180830381865afa158015611d08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d2c919061231f565b1015611d715760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742042616c616e636560601b60448201526064016108aa565b604051636eb1769f60e11b815233600482015230602482015282906001600160a01b0385169063dd62ed3e90604401602060405180830381865afa158015611dbd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de1919061231f565b1015611e285760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e7420416c6c6f77616e636560501b60448201526064016108aa565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015611e6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e93919061231f565b6040516323b872dd60e01b8152336004820152306024820152604481018590529091506001600160a01b038516906323b872dd906064016020604051808303816000875af1158015611ee9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f0d91906122c8565b506040516370a0823160e01b81523060048201526000906001600160a01b038616906370a0823190602401602060405180830381865afa158015611f55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f79919061231f565b9050818111611fc35760405162461bcd60e51b81526020600482015260166024820152754572726f72204f6e205472616e736665722046726f6d60501b60448201526064016108aa565b611fcd8282612285565b95945050505050565b6003546000906001600160a01b038381169116148061200257506004546001600160a01b038381169116145b1561200f57506000919050565b506001919050565b600060208083528351808285015260005b8181101561204457858101830151858201604001528201612028565b81811115612056576000604083870101525b50601f01601f1916929092016040019392505050565b60006020828403121561207e57600080fd5b5035919050565b6001600160a01b038116811461195d57600080fd5b600080604083850312156120ad57600080fd5b82356120b881612085565b946020939093013593505050565b6000602082840312156120d857600080fd5b81356120e381612085565b9392505050565b6000806000606084860312156120ff57600080fd5b833561210a81612085565b9250602084013561211a81612085565b929592945050506040919091013590565b6020808252825182820181905260009190848201906040850190845b8181101561216c5783516001600160a01b031683529284019291840191600101612147565b50909695505050505050565b6000806040838503121561218b57600080fd5b823561219681612085565b915060208301356121a681612085565b809150509250929050565b600181811c908216806121c557607f821691505b6020821081036121e557634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526013908201527221b0b63632b91034b9903737ba1037bbb732b960691b604082015260600190565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60008261226157634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156122805761228061222e565b500290565b6000828210156122975761229761222e565b500390565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b6000602082840312156122da57600080fd5b815180151581146120e357600080fd5b600082198211156122fd576122fd61222e565b500190565b60006020828403121561231457600080fd5b81516120e381612085565b60006020828403121561233157600080fd5b505191905056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220be0027217b9526ef8f5a8e53903c4bfbf0e1431e92dffba267b1d9bfc66af2aa64736f6c634300080e00330000000000000000000000006ccb663dad597058da28b58974e8bdb81323dd090000000000000000000000006ccb663dad597058da28b58974e8bdb81323dd09000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000c424c4f43205374616b696e670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000573424c4f43000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106102555760003560e01c8063509c33de11610139578063a6f9dae1116100b6578063cc642cc21161007a578063cc642cc214610737578063dd62ed3e1461074c578063deb9ee771461076f578063e086e5ec1461078f578063eff98843146107a4578063fc0c546a146107ba57600080fd5b8063a6f9dae11461069f578063a9059cbb146106bf578063adc9772e146106df578063af0a0c12146106ff578063c60f2e0b1461072157600080fd5b806385009113116100fd578063850091131461060c578063893d20e81461062c5780638bdf67f21461064a57806392a87e601461066a57806395d89b411461068a57600080fd5b8063509c33de1461056157806353fdeb81146105765780635656e95c1461059657806358fa63ca146105b657806370a08231146105d657600080fd5b80631f2b8b68116101d2578063313ce56711610196578063313ce5671461049857806331d7a262146104d6578063372500ab146104f6578063410dbf7e1461050b57806346fee28f1461052b5780634d9ab9781461054b57600080fd5b80631f2b8b68146103f857806320ba56981461040e578063228cb7331461042457806323b872dd146104585780632e1a7d4d1461047857600080fd5b8063095ea7b311610219578063095ea7b3146103265780630b0e475e146103565780630e15561a1461037657806318160ddd1461038c5780631959a002146103a157600080fd5b806303fd2a451461026157806306fdde031461029e57806307662c91146102c0578063079176d0146102e2578063095d504e1461030657600080fd5b3661025c57005b600080fd5b34801561026d57600080fd5b50600354610281906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156102aa57600080fd5b506102b36107ee565b6040516102959190612017565b3480156102cc57600080fd5b506102e06102db36600461206c565b610880565b005b3480156102ee57600080fd5b506102f8600a5481565b604051908152602001610295565b34801561031257600080fd5b506102e061032136600461206c565b61093f565b34801561033257600080fd5b5061034661034136600461209a565b61099e565b6040519015158152602001610295565b34801561036257600080fd5b506102e061037136600461206c565b6109f7565b34801561038257600080fd5b506102f860075481565b34801561039857600080fd5b506008546102f8565b3480156103ad57600080fd5b506103dd6103bc3660046120c6565b60056020526000908152604090208054600182015460029092015490919083565b60408051938452602084019290925290820152606001610295565b34801561040457600080fd5b506102f8600f5481565b34801561041a57600080fd5b506102f8600e5481565b34801561043057600080fd5b506102817f0000000000000000000000006ccb663dad597058da28b58974e8bdb81323dd0981565b34801561046457600080fd5b506103466104733660046120ea565b610aa2565b34801561048457600080fd5b506102e061049336600461206c565b610ae6565b3480156104a457600080fd5b5060405160ff7f0000000000000000000000000000000000000000000000000000000000000012168152602001610295565b3480156104e257600080fd5b506102f86104f13660046120c6565b610eca565b34801561050257600080fd5b506102e0610f55565b34801561051757600080fd5b506102e061052636600461206c565b610f60565b34801561053757600080fd5b5061028161054636600461206c565b61100b565b34801561055757600080fd5b506102f8600b5481565b34801561056d57600080fd5b506102e0611035565b34801561058257600080fd5b506102e061059136600461206c565b611066565b3480156105a257600080fd5b50601054610281906001600160a01b031681565b3480156105c257600080fd5b50600454610281906001600160a01b031681565b3480156105e257600080fd5b506102f86105f13660046120c6565b6001600160a01b031660009081526005602052604090205490565b34801561061857600080fd5b506102e061062736600461206c565b61112a565b34801561063857600080fd5b506000546001600160a01b0316610281565b34801561065657600080fd5b506102e061066536600461206c565b6111d9565b34801561067657600080fd5b506102e061068536600461209a565b611278565b34801561069657600080fd5b506102b36113e4565b3480156106ab57600080fd5b506102e06106ba3660046120c6565b6113f3565b3480156106cb57600080fd5b506103466106da36600461209a565b611478565b3480156106eb57600080fd5b506102e06106fa36600461209a565b6114fc565b34801561070b57600080fd5b5061071461177c565b604051610295919061212b565b34801561072d57600080fd5b506102f8600c5481565b34801561074357600080fd5b506006546102f8565b34801561075857600080fd5b506102f8610767366004612178565b600092915050565b34801561077b57600080fd5b506102e061078a3660046120c6565b6117dd565b34801561079b57600080fd5b506102e06118de565b3480156107b057600080fd5b506102f8600d5481565b3480156107c657600080fd5b506102817f0000000000000000000000006ccb663dad597058da28b58974e8bdb81323dd0981565b6060600180546107fd906121b1565b80601f0160208091040260200160405190810160405280929190818152602001828054610829906121b1565b80156108765780601f1061084b57610100808354040283529160200191610876565b820191906000526020600020905b81548152906001019060200180831161085957829003601f168201915b5050505050905090565b6000546001600160a01b031633146108b35760405162461bcd60e51b81526004016108aa906121eb565b60405180910390fd5b600081116109035760405162461bcd60e51b815260206004820152601960248201527f43616e6e6f7420436c61696d205a65726f20526577617264730000000000000060448201526064016108aa565b600c8190556040518181527fc0d7170ed979cc6dd47298e555f57f10d777982e894ca7148674db73bbbe5fad906020015b60405180910390a150565b6000546001600160a01b031633146109695760405162461bcd60e51b81526004016108aa906121eb565b600f8190556040518181527f25ab1b1d0a3ff869447ef53ce827bc09868a998f6f7e632839b12d13d43650c790602001610934565b6000826001600160a01b0316336001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560006040516109e691815260200190565b60405180910390a350600192915050565b6000546001600160a01b03163314610a215760405162461bcd60e51b81526004016108aa906121eb565b610a2e60026103e8612244565b811115610a6d5760405162461bcd60e51b815260206004820152600d60248201526c46656520546f6f204c6172676560981b60448201526064016108aa565b600e8190556040518181527fb5134279d6ac77b3b8d844fea07bbe26a4301c3dd600ad7ed3296d54cdee0f0d90602001610934565b6000610aad33611960565b604051600081526001600160a01b0384169033906000805160206123398339815191529060200160405180910390a35060019392505050565b33600090815260056020526040902054811115610b3b5760405162461bcd60e51b8152602060048201526013602482015272125b9cdd59999a58da595b9d08105b5bdd5b9d606a1b60448201526064016108aa565b60008111610b795760405162461bcd60e51b815260206004820152600b60248201526a16995c9bc8105b5bdd5b9d60aa1b60448201526064016108aa565b3360009081526005602052604090205415610b9757610b9733611960565b60006103e8600e5483610baa9190612266565b610bb49190612244565b90508160086000828254610bc89190612285565b90915550503360009081526005602052604081208054849290610bec908490612285565b909155505033600090815260056020526040902054610c0a90611b36565b336000908152600560205260408120600181019290925590549003610d5a5760068054610c3990600190612285565b81548110610c4957610c4961229c565b60009182526020808320909101543383526005909152604090912060020154600680546001600160a01b03909316929091908110610c8957610c8961229c565b600091825260208083209190910180546001600160a01b0319166001600160a01b03949094169390931790925533815260059182905260408120600201546006805491939291610cdb90600190612285565b81548110610ceb57610ceb61229c565b60009182526020808320909101546001600160a01b031683528201929092526040019020600201556006805480610d2457610d246122b2565b60008281526020808220830160001990810180546001600160a01b03191690559092019092553382526005905260408120600201555b6001600160a01b037f0000000000000000000000006ccb663dad597058da28b58974e8bdb81323dd091663a9059cbb33610d948486612285565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610ddf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0391906122c8565b610e5b5760405162461bcd60e51b815260206004820152602360248201527f4661696c757265204f6e20546f6b656e205472616e7366657220546f2053656e6044820152623232b960e91b60648201526084016108aa565b60405182815260009033906000805160206123398339815191529060200160405180910390a3610e8a81611b5f565b604080518381526020810183905233917ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b56891015b60405180910390a25050565b6001600160a01b0381166000908152600560205260408120548103610ef157506000919050565b6001600160a01b038216600090815260056020526040812054610f1390611b36565b6001600160a01b038416600090815260056020526040902060010154909150808211610f43575060009392505050565b610f4d8183612285565b949350505050565b610f5e33611960565b565b6000546001600160a01b03163314610f8a5760405162461bcd60e51b81526004016108aa906121eb565b610f9760026103e8612244565b811115610fd65760405162461bcd60e51b815260206004820152600d60248201526c46656520546f6f204c6172676560981b60448201526064016108aa565b600d8190556040518181527fdc9e04a344059be7277ef90803b1b6a131b38ab5591d7f7030fb59671ccc766490602001610934565b6006818154811061101b57600080fd5b6000918252602090912001546001600160a01b0316905081565b6000546001600160a01b0316331461105f5760405162461bcd60e51b81526004016108aa906121eb565b6000600a55565b6000805b8281101561112557600654600a5410611083576000600a555b60006006600a548154811061109a5761109a61229c565b6000918252602080832090910154600b546001600160a01b039091168084526005909252604090922054909250108015906110df5750600c546110dc82610eca565b10155b156110f2576110ed81611960565b611112565b600f548310156111125750600a805460019081019091559091019061106a565b50600a805460019081019091550161106a565b505050565b6000546001600160a01b031633146111545760405162461bcd60e51b81526004016108aa906121eb565b600081116111a45760405162461bcd60e51b815260206004820181905260248201527f4d757374206265206174206c65617374203120776569206f6620746f6b656e7360448201526064016108aa565b600b8190556040518181527fee4d8f319699023035222d57b61b417f0f2397141cec130747f70802caa08c2090602001610934565b60006112057f0000000000000000000000006ccb663dad597058da28b58974e8bdb81323dd0983611cbf565b6008549091501561123957600854670de0b6b3a764000082028161122b5761122b612218565b600980549290910490910190555b60078054820190556040518181527f754fe3a3c69256b66ca56365fda4bbf3299d7c94038c105ffd43fb4b37f56db69060200160405180910390a15050565b6000546001600160a01b031633146112a25760405162461bcd60e51b81526004016108aa906121eb565b816001600160a01b03167f0000000000000000000000006ccb663dad597058da28b58974e8bdb81323dd096001600160a01b0316036113235760405162461bcd60e51b815260206004820152601a60248201527f43616e6e6f74205769746864726177204661726d20546f6b656e00000000000060448201526064016108aa565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303816000875af1158015611370573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061139491906122c8565b6113e05760405162461bcd60e51b815260206004820152601960248201527f4661696c757265204f6e20546f6b656e2057697468647261770000000000000060448201526064016108aa565b5050565b6060600280546107fd906121b1565b6000546001600160a01b0316331461141d5760405162461bcd60e51b81526004016108aa906121eb565b600080546040516001600160a01b03808516939216917f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a73591a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600061148383611fd6565b15156001146114c75760405162461bcd60e51b815260206004820152601060248201526f496e76616c696420416464726573732160801b60448201526064016108aa565b6114d033611960565b604051600081526001600160a01b038416903390600080516020612339833981519152906020016109e6565b6000811161154c5760405162461bcd60e51b815260206004820152601960248201527f4d757374205374616b652047726561746572205468616e20300000000000000060448201526064016108aa565b6001600160a01b0382166115915760405162461bcd60e51b815260206004820152600c60248201526b5a65726f204164647265737360a01b60448201526064016108aa565b6001600160a01b038216600090815260056020526040902054156115bd576115b882611960565b61161d565b600680546001600160a01b0384166000818152600560205260408120600201839055600183018455929092527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180546001600160a01b03191690911790555b60006116497f0000000000000000000000006ccb663dad597058da28b58974e8bdb81323dd0983611cbf565b905060006103e8600d548361165e9190612266565b6116689190612244565b905060006116768284612285565b9050806008600082825461168a91906122ea565b90915550506001600160a01b038516600090815260056020526040812080548392906116b79084906122ea565b90915550506001600160a01b0385166000908152600560205260409020546116de90611b36565b6001600160a01b038616600081815260056020526040808220600101939093559151909190600080516020612339833981519152906117209085815260200190565b60405180910390a361173182611b5f565b60408051828152602081018490526001600160a01b038716917f5af417134f72a9d41143ace85b0a26dce6f550f894f2cbc1eeee8810603d91b6910160405180910390a25050505050565b6060600680548060200260200160405190810160405280929190818152602001828054801561087657602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116117b6575050505050905090565b6000546001600160a01b031633146118075760405162461bcd60e51b81526004016108aa906121eb565b6001600160a01b0381166118495760405162461bcd60e51b81526020600482015260096024820152682d32b9379020b2323960b91b60448201526064016108aa565b61deac196001600160a01b038216016118905760405162461bcd60e51b81526020600482015260096024820152682232b0b21020b2323960b91b60448201526064016108aa565b601080546001600160a01b0319166001600160a01b0383169081179091556040519081527facbae3cba6fea189876400e3616c236ffef6971ba708e0d252c7a7b5f4d372f790602001610934565b6000546001600160a01b031633146119085760405162461bcd60e51b81526004016108aa906121eb565b604051600090339047908381818185875af1925050503d806000811461194a576040519150601f19603f3d011682016040523d82523d6000602084013e61194f565b606091505b505090508061195d57600080fd5b50565b6001600160a01b03811660009081526005602052604081205490036119825750565b600061198d82610eca565b90508060000361199b575050565b6001600160a01b0382166000908152600560205260409020546119bd90611b36565b6001600160a01b038381166000908152600560205260409081902060010192909255601054915163a9059cbb60e01b81529181166004830152602482018390527f0000000000000000000000006ccb663dad597058da28b58974e8bdb81323dd09169063a9059cbb906044016020604051808303816000875af1158015611a48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a6c91906122c8565b5060105460405163b6e8a98b60e01b81526001600160a01b038481166004830152602482018490527f0000000000000000000000006ccb663dad597058da28b58974e8bdb81323dd09811660448301529091169063b6e8a98b90606401600060405180830381600087803b158015611ae357600080fd5b505af1158015611af7573d6000803e3d6000fd5b50505050816001600160a01b03167fba8de60c3403ec381d1d484652ea1980e3c3e56359195c92525bff4ce47ad98e82604051610ebe91815260200190565b6000670de0b6b3a764000060095483611b4f9190612266565b611b599190612244565b92915050565b60007f0000000000000000000000006ccb663dad597058da28b58974e8bdb81323dd096001600160a01b031663469048406040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611be39190612302565b9050611bee81611fd6565b611c2c5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964204164647265737360881b60448201526064016108aa565b60405163a9059cbb60e01b81526001600160a01b038281166004830152602482018490527f0000000000000000000000006ccb663dad597058da28b58974e8bdb81323dd09169063a9059cbb906044016020604051808303816000875af1158015611c9b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061112591906122c8565b6040516370a0823160e01b815233600482015260009082906001600160a01b038516906370a0823190602401602060405180830381865afa158015611d08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d2c919061231f565b1015611d715760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742042616c616e636560601b60448201526064016108aa565b604051636eb1769f60e11b815233600482015230602482015282906001600160a01b0385169063dd62ed3e90604401602060405180830381865afa158015611dbd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de1919061231f565b1015611e285760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e7420416c6c6f77616e636560501b60448201526064016108aa565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015611e6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e93919061231f565b6040516323b872dd60e01b8152336004820152306024820152604481018590529091506001600160a01b038516906323b872dd906064016020604051808303816000875af1158015611ee9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f0d91906122c8565b506040516370a0823160e01b81523060048201526000906001600160a01b038616906370a0823190602401602060405180830381865afa158015611f55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f79919061231f565b9050818111611fc35760405162461bcd60e51b81526020600482015260166024820152754572726f72204f6e205472616e736665722046726f6d60501b60448201526064016108aa565b611fcd8282612285565b95945050505050565b6003546000906001600160a01b038381169116148061200257506004546001600160a01b038381169116145b1561200f57506000919050565b506001919050565b600060208083528351808285015260005b8181101561204457858101830151858201604001528201612028565b81811115612056576000604083870101525b50601f01601f1916929092016040019392505050565b60006020828403121561207e57600080fd5b5035919050565b6001600160a01b038116811461195d57600080fd5b600080604083850312156120ad57600080fd5b82356120b881612085565b946020939093013593505050565b6000602082840312156120d857600080fd5b81356120e381612085565b9392505050565b6000806000606084860312156120ff57600080fd5b833561210a81612085565b9250602084013561211a81612085565b929592945050506040919091013590565b6020808252825182820181905260009190848201906040850190845b8181101561216c5783516001600160a01b031683529284019291840191600101612147565b50909695505050505050565b6000806040838503121561218b57600080fd5b823561219681612085565b915060208301356121a681612085565b809150509250929050565b600181811c908216806121c557607f821691505b6020821081036121e557634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526013908201527221b0b63632b91034b9903737ba1037bbb732b960691b604082015260600190565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60008261226157634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156122805761228061222e565b500290565b6000828210156122975761229761222e565b500390565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b6000602082840312156122da57600080fd5b815180151581146120e357600080fd5b600082198211156122fd576122fd61222e565b500190565b60006020828403121561231457600080fd5b81516120e381612085565b60006020828403121561233157600080fd5b505191905056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220be0027217b9526ef8f5a8e53903c4bfbf0e1431e92dffba267b1d9bfc66af2aa64736f6c634300080e0033

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

0000000000000000000000006ccb663dad597058da28b58974e8bdb81323dd090000000000000000000000006ccb663dad597058da28b58974e8bdb81323dd09000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000c424c4f43205374616b696e670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000573424c4f43000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : token_ (address): 0x6cCB663DAd597058Da28b58974e8bdB81323dd09
Arg [1] : reward_ (address): 0x6cCB663DAd597058Da28b58974e8bdB81323dd09
Arg [2] : name_ (string): BLOC Staking
Arg [3] : symbol_ (string): sBLOC

-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000006ccb663dad597058da28b58974e8bdb81323dd09
Arg [1] : 0000000000000000000000006ccb663dad597058da28b58974e8bdb81323dd09
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [3] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [4] : 000000000000000000000000000000000000000000000000000000000000000c
Arg [5] : 424c4f43205374616b696e670000000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [7] : 73424c4f43000000000000000000000000000000000000000000000000000000


Block Transaction Gas Used Reward
view all blocks produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
[ 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.