Contract 0x73eb8b2b235f7957f830ea66abe433d9eed9f0e3 1

 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x14c42c75cf7ef10241e1b3757ce705369bd8783a0540f108cc873075e48da32bGet Reward36401582021-12-07 12:21:0317 mins ago0x8568e1a8082b442ae9be089a3b3888a25ae55f8c IN  0x73eb8b2b235f7957f830ea66abe433d9eed9f0e30 ETH0.000840891664 ETH
0x4f9520ceb5b4409fff4697917524210063e076772d564c4d291b34126bf9d678Stake36397562021-12-07 11:53:0945 mins ago0x127073468097120eddc74866b83db35bbd3d78bd IN  0x73eb8b2b235f7957f830ea66abe433d9eed9f0e30 ETH0.000666534672 ETH
0x033ba718054835e5c23df153e9a8aab34f8ab712d1dbaf2ad58c757ac5ca6baaStake36396142021-12-07 11:40:5757 mins ago0xa87b48bfea82465c99a856b588f8bf57f98706d8 IN  0x73eb8b2b235f7957f830ea66abe433d9eed9f0e30 ETH0.001057517345 ETH
0x34e31503cea59ac88caad2be514cddb8baf00e802a0bc44b11837561114ccd37Stake36395342021-12-07 11:33:351 hr 4 mins ago0x127073468097120eddc74866b83db35bbd3d78bd IN  0x73eb8b2b235f7957f830ea66abe433d9eed9f0e30 ETH0.000666534672 ETH
0x4edd49e876ac6c4e4a625bb48aa247e53ae17f9a18dcdb4dc7a45642cb4bb98eStake36392992021-12-07 11:19:291 hr 18 mins ago0xd21a227d7a5c9d475de1a293cfb07dd9fa0fceb0 IN  0x73eb8b2b235f7957f830ea66abe433d9eed9f0e30 ETH0.000688862438 ETH
0xf36d82c8fffcdbf2e8c7c75f03a43c08134cc75382ecfc20f5d9de70003ade3dGet Reward36392712021-12-07 11:17:081 hr 21 mins ago0xd21a227d7a5c9d475de1a293cfb07dd9fa0fceb0 IN  0x73eb8b2b235f7957f830ea66abe433d9eed9f0e30 ETH0.000867090263 ETH
0x74ebf5faa77dcd9a2d90d274906f604d0743822499a17886a3da87ab00459cf4Stake36392282021-12-07 11:13:521 hr 24 mins ago0x127073468097120eddc74866b83db35bbd3d78bd IN  0x73eb8b2b235f7957f830ea66abe433d9eed9f0e30 ETH0.001095219319 ETH
0x85e9b0d3c1c6f452667e5c9d591f71660251e9c3a34a20c1ff2fd6709577e3ccGet Reward36388242021-12-07 10:41:381 hr 56 mins ago0xa007a78e260c563e2b9a07930169e8c47dfd27b9 IN  0x73eb8b2b235f7957f830ea66abe433d9eed9f0e30 ETH0.000661154764 ETH
0xf93204f0d446075a61d00e5bb833f8a9add8a3ebdc48b7298bcb501086e8ad89Get Reward36384712021-12-07 10:12:352 hrs 25 mins ago0x7c363e4650ca88e4676f1ce2ac6f2dd50c102198 IN  0x73eb8b2b235f7957f830ea66abe433d9eed9f0e30 ETH0.000663954473 ETH
0xf2fc6a8c91b18e0b7ad14de7bc4a5a9efbc7812f7c282fc8ba5bf42ed1da6624Stake36384342021-12-07 10:09:182 hrs 28 mins ago0xc11acfc3f529a0401134669415bf7c988dfcbc13 IN  0x73eb8b2b235f7957f830ea66abe433d9eed9f0e30 ETH0.000892479571 ETH
0x48fbb2b0c9fc8bf80951f190682e6545d20412cc257ceafd2ea23a26fdbba97aStake36383462021-12-07 10:03:142 hrs 35 mins ago0x2cbede72bebd90663ca79d2ba48b6c4b45a2b20a IN  0x73eb8b2b235f7957f830ea66abe433d9eed9f0e30 ETH0.000686082023 ETH
0xdb00d88ee6822fbd7bd821e99647a56b6f1d8d200d524819e6b9783665bcd117Stake36383152021-12-07 10:01:252 hrs 36 mins ago0xdf9f0d6b501d97e0b503bd64f77f20c246ddd46d IN  0x73eb8b2b235f7957f830ea66abe433d9eed9f0e30 ETH0.000688853299 ETH
0x33773e7e70754b9517daba3c01403c05ba17ad2987053179b8ec5bc4c91155ddGet Reward36382802021-12-07 9:58:432 hrs 39 mins ago0x2cbede72bebd90663ca79d2ba48b6c4b45a2b20a IN  0x73eb8b2b235f7957f830ea66abe433d9eed9f0e30 ETH0.000663960566 ETH
0x2ee82e9f4785e9750510fdf20669f1e0c0c86aeebc01a7d5f97e0616ad1ddeecStake36381492021-12-07 9:47:192 hrs 50 mins ago0x6edb6b84818d063f75cca425ae19d4469d8c725e IN  0x73eb8b2b235f7957f830ea66abe433d9eed9f0e30 ETH0.000690729926 ETH
0xd365de4338521056d8100a437012269ed70ddc4144b0b14f3b0ec65de81c7382Stake36381152021-12-07 9:44:122 hrs 54 mins ago0x6edb6b84818d063f75cca425ae19d4469d8c725e IN  0x73eb8b2b235f7957f830ea66abe433d9eed9f0e30 ETH0.000690729926 ETH
0xfa9c322bec35fa5369365b4329f897dc7b418518b25d94c5f92821284db9a596Get Reward36380782021-12-07 9:42:422 hrs 55 mins ago0x6edb6b84818d063f75cca425ae19d4469d8c725e IN  0x73eb8b2b235f7957f830ea66abe433d9eed9f0e30 ETH0.000866149918 ETH
0x3cb950d2301c7679cc90a19bf2f3bce10f096f6306db4974c78a09036e73800aGet Reward36380732021-12-07 9:42:422 hrs 55 mins ago0x540615ace7036247dc4c4b221384e09ad0229d1f IN  0x73eb8b2b235f7957f830ea66abe433d9eed9f0e30 ETH0.000663957519 ETH
0xf1113db93970ffa672b491641e57c09448b14c16d303ebf800c3de8fd1ac9db8Get Reward36377822021-12-07 9:24:103 hrs 14 mins ago0x48214cd3057a21234963d7ec95f7e1db6bb91de1 IN  0x73eb8b2b235f7957f830ea66abe433d9eed9f0e30 ETH0.000862902377 ETH
0xbf03d1cac176fa33133f9bbe731758b918bccd865db43176d09617a2b7999346Stake36374412021-12-07 9:01:283 hrs 36 mins ago0xf503c4cac2b5a27f68eee197efb94e6fdeaa48d1 IN  0x73eb8b2b235f7957f830ea66abe433d9eed9f0e30 ETH0.000897157938 ETH
0x306cf20ad2dc8de50fd3a3adaf017e39af4bab397e069e3e077ea0cacebcab36Get Reward36373102021-12-07 8:50:323 hrs 47 mins ago0x328739e4901cd242072353ec377d72fb87eca876 IN  0x73eb8b2b235f7957f830ea66abe433d9eed9f0e30 ETH0.000664801072 ETH
0xae74eec0387748be9360b42e7df6922ce578fac8785d1762dfb2829b73eac3e4Stake36372822021-12-07 8:48:133 hrs 50 mins ago0xb07e261dd2068ce7bc632ead3497df169ba73b74 IN  0x73eb8b2b235f7957f830ea66abe433d9eed9f0e30 ETH0.000689791778 ETH
0x7de293ed5d9daf00d150a0e94c3aeca481bab2526c297af824031a0e1829bba7Get Reward36371952021-12-07 8:42:133 hrs 56 mins ago0xb07e261dd2068ce7bc632ead3497df169ba73b74 IN  0x73eb8b2b235f7957f830ea66abe433d9eed9f0e30 ETH0.000664786807 ETH
0x918d44faf427b454507b33f7b75f930c42a8b541008b299e15bdee7ed5b287adStake36371292021-12-07 8:39:583 hrs 58 mins ago0x506808b6b7edbf6a1cc30e636a812539e3f731d0 IN  0x73eb8b2b235f7957f830ea66abe433d9eed9f0e30 ETH0.000691221361 ETH
0x47bbfc187b36e529d2d65a863f3db56cadfd23f7fd0742f995d79c59eb2530dcGet Reward36371102021-12-07 8:38:084 hrs ago0x506808b6b7edbf6a1cc30e636a812539e3f731d0 IN  0x73eb8b2b235f7957f830ea66abe433d9eed9f0e30 ETH0.000870074155 ETH
0x0c9288e8d51939b16693e8681304208b7f2987fd6bc990839d17378b26f87244Stake36370112021-12-07 8:31:564 hrs 6 mins ago0x8bacb93d08fd9e02716b210b7f176539954070c6 IN  0x73eb8b2b235f7957f830ea66abe433d9eed9f0e30 ETH0.000896928516 ETH
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MagicRewardsArbitrum

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 10 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity Standard Json-Input format)

File 1 of 1 : MagicPool2Arbitrum.sol
// SPDX-License-Identifier: MIT

/**
 *Submitted for verification at arbiscan.io on 2021-09-08
 */

//SPDX-License-Identifier: MIT

// File: @openzeppelin/contracts/ownership/Ownable.sol

pragma solidity ^0.8.0;

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */

contract Ownable {
    address public owner;

    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        owner = msg.sender;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(msg.sender == owner, 'Ownable: caller is not the owner');
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public onlyOwner {
        emit OwnershipTransferred(owner, address(0));
        owner = address(0);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     */
    function _transferOwnership(address newOwner) internal {
        require(
            newOwner != address(0),
            'Ownable: new owner is the zero address'
        );
        emit OwnershipTransferred(owner, newOwner);
        owner = newOwner;
    }
}

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

contract StakedTokenWrapper {
    uint256 public totalSupply;

    mapping(address => uint256) private _balances;
    IERC20 public stakedToken;

    event Staked(address indexed user, uint256 amount);
    event Withdrawn(address indexed user, uint256 amount);

    function balanceOf(address account) public view returns (uint256) {
        return _balances[account];
    }

    string constant _transferErrorMessage = 'staked token transfer failed';

    function stakeFor(address forWhom, uint128 amount) public payable virtual {
        IERC20 st = stakedToken;
        if (st == IERC20(address(0))) {
            //eth
            unchecked {
                totalSupply += msg.value;
                _balances[forWhom] += msg.value;
            }
        } else {
            require(msg.value == 0, 'non-zero eth');
            require(amount > 0, 'Cannot stake 0');
            require(
                st.transferFrom(msg.sender, address(this), amount),
                _transferErrorMessage
            );
            unchecked {
                totalSupply += amount;
                _balances[forWhom] += amount;
            }
        }
        emit Staked(forWhom, amount);
    }

    function withdraw(uint128 amount) public virtual {
        require(amount <= _balances[msg.sender], 'withdraw: balance is lower');
        unchecked {
            _balances[msg.sender] -= amount;
            totalSupply = totalSupply - amount;
        }
        IERC20 st = stakedToken;
        if (st == IERC20(address(0))) {
            //eth
            (bool success, ) = msg.sender.call{ value: amount }('');
            require(success, 'eth transfer failure');
        } else {
            require(
                stakedToken.transfer(msg.sender, amount),
                _transferErrorMessage
            );
        }
        emit Withdrawn(msg.sender, amount);
    }
}

contract MagicRewardsArbitrum is StakedTokenWrapper, Ownable {
    IERC20 public rewardToken;
    uint256 public rewardRate;
    uint64 public periodFinish;
    uint64 public lastUpdateTime;
    uint128 public rewardPerTokenStored;
    struct UserRewards {
        uint128 userRewardPerTokenPaid;
        uint128 rewards;
    }
    mapping(address => UserRewards) public userRewards;

    event RewardAdded(uint256 reward);
    event RewardPaid(address indexed user, uint256 reward);

    constructor(IERC20 _rewardToken, IERC20 _stakedToken) {
        rewardToken = _rewardToken;
        stakedToken = _stakedToken;
    }

    modifier updateReward(address account) {
        uint128 _rewardPerTokenStored = rewardPerToken();
        lastUpdateTime = lastTimeRewardApplicable();
        rewardPerTokenStored = _rewardPerTokenStored;
        userRewards[account].rewards = earned(account);
        userRewards[account].userRewardPerTokenPaid = _rewardPerTokenStored;
        _;
    }

    function lastTimeRewardApplicable() public view returns (uint64) {
        uint64 blockTimestamp = uint64(block.timestamp);
        return blockTimestamp < periodFinish ? blockTimestamp : periodFinish;
    }

    function rewardPerToken() public view returns (uint128) {
        uint256 totalStakedSupply = totalSupply;
        if (totalStakedSupply == 0) {
            return rewardPerTokenStored;
        }
        unchecked {
            uint256 rewardDuration = lastTimeRewardApplicable() -
                lastUpdateTime;
            return
                uint128(
                    rewardPerTokenStored +
                        (rewardDuration * rewardRate * 1e18) /
                        totalStakedSupply
                );
        }
    }

    function earned(address account) public view returns (uint128) {
        unchecked {
            return
                uint128(
                    (balanceOf(account) *
                        (rewardPerToken() -
                            userRewards[account].userRewardPerTokenPaid)) /
                        1e18 +
                        userRewards[account].rewards
                );
        }
    }

    function stake(uint128 amount) external payable {
        stakeFor(msg.sender, amount);
    }

    function stakeFor(address forWhom, uint128 amount)
        public
        payable
        override
        updateReward(forWhom)
    {
        super.stakeFor(forWhom, amount);
    }

    function withdraw(uint128 amount) public override updateReward(msg.sender) {
        super.withdraw(amount);
    }

    function exit() external {
        getReward();
        withdraw(uint128(balanceOf(msg.sender)));
    }

    function getReward() public updateReward(msg.sender) {
        uint256 reward = earned(msg.sender);
        if (reward > 0) {
            userRewards[msg.sender].rewards = 0;
            require(
                rewardToken.transfer(msg.sender, reward),
                'reward transfer failed'
            );
            emit RewardPaid(msg.sender, reward);
        }
    }

    function setRewardParams(uint128 reward, uint64 duration)
        external
        onlyOwner
    {
        unchecked {
            require(reward > 0);
            rewardPerTokenStored = rewardPerToken();
            uint64 blockTimestamp = uint64(block.timestamp);
            uint256 maxRewardSupply = rewardToken.balanceOf(address(this));
            if (rewardToken == stakedToken) maxRewardSupply -= totalSupply;
            uint256 leftover = 0;
            if (blockTimestamp >= periodFinish) {
                rewardRate = reward / duration;
            } else {
                uint256 remaining = periodFinish - blockTimestamp;
                leftover = remaining * rewardRate;
                rewardRate = (reward + leftover) / duration;
            }
            require(reward + leftover <= maxRewardSupply, 'not enough tokens');
            lastUpdateTime = blockTimestamp;
            periodFinish = blockTimestamp + duration;
            emit RewardAdded(reward);
        }
    }

    function withdrawReward() external onlyOwner {
        uint256 rewardSupply = rewardToken.balanceOf(address(this));
        //ensure funds staked by users can't be transferred out
        if (rewardToken == stakedToken) rewardSupply -= totalSupply;
        require(rewardToken.transfer(msg.sender, rewardSupply));
        rewardRate = 0;
        periodFinish = uint64(block.timestamp);
    }
}

/*
   ____            __   __        __   _
  / __/__ __ ___  / /_ / /  ___  / /_ (_)__ __
 _\ \ / // // _ \/ __// _ \/ -_)/ __// / \ \ /
/___/ \_, //_//_/\__//_//_/\__/ \__//_/ /_\_\
     /___/

* Synthetix: YFIRewards.sol
*
* Docs: https://docs.synthetix.io/
*
*
* MIT License
* ===========
*
* Copyright (c) 2020 Synthetix
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
*/

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 10
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract ABI

[{"inputs":[{"internalType":"contract IERC20","name":"_rewardToken","type":"address"},{"internalType":"contract IERC20","name":"_stakedToken","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardPaid","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Staked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdrawn","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"earned","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"exit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lastTimeRewardApplicable","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastUpdateTime","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"periodFinish","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rewardPerToken","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardPerTokenStored","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint128","name":"reward","type":"uint128"},{"internalType":"uint64","name":"duration","type":"uint64"}],"name":"setRewardParams","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint128","name":"amount","type":"uint128"}],"name":"stake","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"forWhom","type":"address"},{"internalType":"uint128","name":"amount","type":"uint128"}],"name":"stakeFor","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"stakedToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userRewards","outputs":[{"internalType":"uint128","name":"userRewardPerTokenPaid","type":"uint128"},{"internalType":"uint128","name":"rewards","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint128","name":"amount","type":"uint128"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawReward","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b5060405161155238038061155283398101604081905261002f91610087565b600380546001600160a01b03199081163317909155600480546001600160a01b03948516908316179055600280549290931691161790556100b9565b80516001600160a01b038116811461008257600080fd5b919050565b60008060408385031215610099578182fd5b6100a28361006b565b91506100b06020840161006b565b90509250929050565b61148a806100c86000396000f3fe6080604052600436106101045760003560e01c80628cc2621461010957806302387a7b1461013f5780630660f1e81461016157806318160ddd146101c25780633d18b912146101e657806370458d85146101fb57806370a082311461020e578063715018a61461022e5780637b0a47ee1461024357806380faa57d1461025957806388fe2be81461028657806389ee4bde146102995780638da5cb5b146102b9578063c885bc58146102e6578063c8f33c91146102fb578063cc7a262e14610322578063cd3daf9d14610342578063df136d6514610357578063e9fad8ee1461037e578063ebe2b12b14610393578063f2fde38b146103b3578063f7c618c1146103d3575b600080fd5b34801561011557600080fd5b50610129610124366004611262565b6103f3565b60405161013691906113fd565b60405180910390f35b34801561014b57600080fd5b5061015f61015a3660046112d5565b610468565b005b34801561016d57600080fd5b506101a261017c366004611262565b6007602052600090815260409020546001600160801b0380821691600160801b90041682565b604080516001600160801b03938416815292909116602083015201610136565b3480156101ce57600080fd5b506101d860005481565b604051908152602001610136565b3480156101f257600080fd5b5061015f610507565b61015f610209366004611283565b6106d6565b34801561021a57600080fd5b506101d8610229366004611262565b610777565b34801561023a57600080fd5b5061015f610792565b34801561024f57600080fd5b506101d860055481565b34801561026557600080fd5b5061026e6107f4565b6040516001600160401b039091168152602001610136565b61015f6102943660046112d5565b610828565b3480156102a557600080fd5b5061015f6102b43660046112ef565b610835565b3480156102c557600080fd5b506003546102d9906001600160a01b031681565b6040516101369190611348565b3480156102f257600080fd5b5061015f610aaa565b34801561030757600080fd5b5060065461026e90600160401b90046001600160401b031681565b34801561032e57600080fd5b506002546102d9906001600160a01b031681565b34801561034e57600080fd5b50610129610c31565b34801561036357600080fd5b5060065461012990600160801b90046001600160801b031681565b34801561038a57600080fd5b5061015f610cc6565b34801561039f57600080fd5b5060065461026e906001600160401b031681565b3480156103bf57600080fd5b5061015f6103ce366004611262565b610cdc565b3480156103df57600080fd5b506004546102d9906001600160a01b031681565b6001600160a01b0381166000908152600760205260408120546001600160801b03600160801b8204811691670de0b6b3a76400009116610431610c31565b036001600160801b031661044485610777565b028161046057634e487b7160e01b600052601260045260246000fd5b040192915050565b336000610473610c31565b905061047d6107f4565b600680546001600160801b03808516600160801b026001600160401b03948516600160401b029190911693909116929092179190911790556104be826103f3565b6001600160a01b03831660009081526007602052604090206001600160801b038381169216600160801b026001600160801b03191691909117905561050283610d0f565b505050565b336000610512610c31565b905061051c6107f4565b600680546001600160801b03808516600160801b026001600160401b03948516600160401b0291909116939091169290921791909117905561055d826103f3565b6001600160a01b03831660009081526007602052604081206001600160801b038481169316600160801b026001600160801b031916929092179091556105a2336103f3565b6001600160801b03169050801561050257336000818152600760205260409081902080546001600160801b0316905560048054915163a9059cbb60e01b81526001600160a01b039092169263a9059cbb926105ff9286910161135c565b602060405180830381600087803b15801561061957600080fd5b505af115801561062d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065191906112b5565b61069b5760405162461bcd60e51b81526020600482015260166024820152751c995dd85c99081d1c985b9cd9995c8819985a5b195960521b60448201526064015b60405180910390fd5b60405181815233907fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486906020015b60405180910390a2505050565b8160006106e1610c31565b90506106eb6107f4565b600680546001600160801b03808516600160801b026001600160401b03948516600160401b0291909116939091169290921791909117905561072c826103f3565b6001600160a01b03831660009081526007602052604090206001600160801b038381169216600160801b026001600160801b0319169190911790556107718484610f70565b50505050565b6001600160a01b031660009081526001602052604090205490565b6003546001600160a01b031633146107bc5760405162461bcd60e51b8152600401610692906113c8565b6003546040516000916001600160a01b031690600080516020611435833981519152908390a3600380546001600160a01b0319169055565b60065460009042906001600160401b0390811690821610610820576006546001600160401b0316610822565b805b91505090565b61083233826106d6565b50565b6003546001600160a01b0316331461085f5760405162461bcd60e51b8152600401610692906113c8565b6000826001600160801b03161161087557600080fd5b61087d610c31565b600680546001600160801b03928316600160801b029216919091179055600480546040516370a0823160e01b815242926000926001600160a01b0316916370a08231916108cc91309101611348565b60206040518083038186803b1580156108e457600080fd5b505afa1580156108f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091c9190611330565b6002546004549192506001600160a01b039182169116141561093e5760005490035b6006546000906001600160401b039081169084161061099857836001600160401b0316856001600160801b03168161098657634e487b7160e01b600052601260045260246000fd5b046001600160801b03166005556109e2565b506006546005546001600160401b0391821684900382169081029185166001600160801b0387168301816109dc57634e487b7160e01b600052601260045260246000fd5b04600555505b8181866001600160801b0316011115610a315760405162461bcd60e51b81526020600482015260116024820152706e6f7420656e6f75676820746f6b656e7360781b6044820152606401610692565b600680546001600160801b031916600160401b6001600160401b03808716919091026001600160401b03191691909117858701919091161790556040517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d90610a9b9087906113fd565b60405180910390a15050505050565b6003546001600160a01b03163314610ad45760405162461bcd60e51b8152600401610692906113c8565b600480546040516370a0823160e01b81526000926001600160a01b03909216916370a0823191610b0691309101611348565b60206040518083038186803b158015610b1e57600080fd5b505afa158015610b32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b569190611330565b6002546004549192506001600160a01b0391821691161415610b8257600054610b7f9082611411565b90505b6004805460405163a9059cbb60e01b81526001600160a01b039091169163a9059cbb91610bb391339186910161135c565b602060405180830381600087803b158015610bcd57600080fd5b505af1158015610be1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0591906112b5565b610c0e57600080fd5b506000600555600680546001600160401b031916426001600160401b0316179055565b6000805480610c52575050600654600160801b90046001600160801b031690565b600654600090600160401b90046001600160401b0316610c706107f4565b036001600160401b03169050816005548202670de0b6b3a76400000281610ca757634e487b7160e01b600052601260045260246000fd5b6006546001600160801b03600160801b90910416919004019392505050565b610cce610507565b610cda61015a33610777565b565b6003546001600160a01b03163314610d065760405162461bcd60e51b8152600401610692906113c8565b61083281611180565b336000908152600160205260409020546001600160801b0382161115610d745760405162461bcd60e51b815260206004820152601a6024820152793bb4ba34323930bb9d103130b630b731b29034b9903637bbb2b960311b6044820152606401610692565b33600090815260016020526040812080546001600160801b0384169081900390915581540390556002546001600160a01b031680610e4a5760405160009033906001600160801b038516908381818185875af1925050503d8060008114610df7576040519150601f19603f3d011682016040523d82523d6000602084013e610dfc565b606091505b5050905080610e445760405162461bcd60e51b8152602060048201526014602482015273657468207472616e73666572206661696c75726560601b6044820152606401610692565b50610f2b565b60025460405163a9059cbb60e01b81523360048201526001600160801b03841660248201526001600160a01b039091169063a9059cbb90604401602060405180830381600087803b158015610e9e57600080fd5b505af1158015610eb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed691906112b5565b6040518060400160405280601c81526020017b1cdd185ad959081d1bdad95b881d1c985b9cd9995c8819985a5b195960221b81525090610f295760405162461bcd60e51b81526004016106929190611375565b505b336001600160a01b03167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d583604051610f6491906113fd565b60405180910390a25050565b6002546001600160a01b031680610fad57600080543490810182556001600160a01b03851682526001602052604090912080549091019055611147565b3415610fea5760405162461bcd60e51b815260206004820152600c60248201526b0dcdedc5af4cae4de40cae8d60a31b6044820152606401610692565b6000826001600160801b0316116110345760405162461bcd60e51b815260206004820152600e60248201526d043616e6e6f74207374616b6520360941b6044820152606401610692565b6040516323b872dd60e01b81523360048201523060248201526001600160801b03831660448201526001600160a01b038216906323b872dd90606401602060405180830381600087803b15801561108a57600080fd5b505af115801561109e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c291906112b5565b6040518060400160405280601c81526020017b1cdd185ad959081d1bdad95b881d1c985b9cd9995c8819985a5b195960221b815250906111155760405162461bcd60e51b81526004016106929190611375565b50600080546001600160801b03841690810182556001600160a01b038516825260016020526040909120805490910190555b826001600160a01b03167f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d836040516106c991906113fd565b6001600160a01b0381166111e55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610692565b6003546040516001600160a01b0380841692169060008051602061143583398151915290600090a3600380546001600160a01b0319166001600160a01b0392909216919091179055565b80356001600160a01b038116811461124657600080fd5b919050565b80356001600160801b038116811461124657600080fd5b600060208284031215611273578081fd5b61127c8261122f565b9392505050565b60008060408385031215611295578081fd5b61129e8361122f565b91506112ac6020840161124b565b90509250929050565b6000602082840312156112c6578081fd5b8151801515811461127c578182fd5b6000602082840312156112e6578081fd5b61127c8261124b565b60008060408385031215611301578182fd5b61130a8361124b565b915060208301356001600160401b0381168114611325578182fd5b809150509250929050565b600060208284031215611341578081fd5b5051919050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6000602080835283518082850152825b818110156113a157858101830151858201604001528201611385565b818111156113b25783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6001600160801b0391909116815260200190565b60008282101561142f57634e487b7160e01b81526011600452602481fd5b50039056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a2646970667358221220c32251016667e2734d7c77e6fab417da4272b7b57a71ca68903088efe53717d864736f6c63430008040033000000000000000000000000539bde0d7dbd336b79148aa742883198bbf60342000000000000000000000000b7e50106a5bd3cf21af210a755f9c8740890a8c9

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

000000000000000000000000539bde0d7dbd336b79148aa742883198bbf60342000000000000000000000000b7e50106a5bd3cf21af210a755f9c8740890a8c9

-----Decoded View---------------
Arg [0] : _rewardToken (address): 0x539bde0d7dbd336b79148aa742883198bbf60342
Arg [1] : _stakedToken (address): 0xb7e50106a5bd3cf21af210a755f9c8740890a8c9

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000539bde0d7dbd336b79148aa742883198bbf60342
Arg [1] : 000000000000000000000000b7e50106a5bd3cf21af210a755f9c8740890a8c9


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.