ETH Price: $2,486.48 (-0.51%)

Contract

0xe23F8E7FF943bac5EF7f778E1946237319796Cc0
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Withdraw Reward ...210968692024-11-02 2:06:4713 hrs ago1730513207IN
0xe23F8E7F...319796Cc0
0 ETH0.00023674.17111065
Stake210776772024-10-30 9:50:593 days ago1730281859IN
0xe23F8E7F...319796Cc0
0 ETH0.0021122316.67230251
Withdraw207059562024-09-08 12:41:4755 days ago1725799307IN
0xe23F8E7F...319796Cc0
0 ETH0.0001561.70253706
Get Reward207058802024-09-08 12:26:2355 days ago1725798383IN
0xe23F8E7F...319796Cc0
0 ETH0.000129871.80356967
Withdraw207058432024-09-08 12:18:4755 days ago1725797927IN
0xe23F8E7F...319796Cc0
0 ETH0.000140211.53064119
Withdraw207058362024-09-08 12:17:2355 days ago1725797843IN
0xe23F8E7F...319796Cc0
0 ETH0.00011131.493986
Withdraw207050212024-09-08 9:32:5955 days ago1725787979IN
0xe23F8E7F...319796Cc0
0 ETH0.000167581.73833733
Get Reward207050052024-09-08 9:29:4755 days ago1725787787IN
0xe23F8E7F...319796Cc0
0 ETH0.000109221.60358513
Withdraw207038662024-09-08 5:41:2355 days ago1725774083IN
0xe23F8E7F...319796Cc0
0 ETH0.000131451.43469309
Get Reward207038652024-09-08 5:41:1155 days ago1725774071IN
0xe23F8E7F...319796Cc0
0 ETH0.00009621.33601011
Notify Reward Am...207002312024-09-07 17:30:5955 days ago1725730259IN
0xe23F8E7F...319796Cc0
0 ETH0.000091441.67718187
Set Rewards Dura...207002262024-09-07 17:29:5955 days ago1725730199IN
0xe23F8E7F...319796Cc0
0 ETH0.000049241.60068013
Get Reward206988812024-09-07 13:00:1156 days ago1725714011IN
0xe23F8E7F...319796Cc0
0 ETH0.000208112.89102499
Stake206095442024-08-26 1:40:1168 days ago1724636411IN
0xe23F8E7F...319796Cc0
0 ETH0.000299482.33414959
Stake206051112024-08-25 10:48:5969 days ago1724582939IN
0xe23F8E7F...319796Cc0
0 ETH0.000116470.87519961
Stake206050902024-08-25 10:44:4769 days ago1724582687IN
0xe23F8E7F...319796Cc0
0 ETH0.000169381.27279222
Withdraw Erc20To...206047952024-08-25 9:45:3569 days ago1724579135IN
0xe23F8E7F...319796Cc0
0 ETH0.000051061.42814475
Stake206029862024-08-25 3:40:3569 days ago1724557235IN
0xe23F8E7F...319796Cc0
0 ETH0.000153911.15652973
Stake206029822024-08-25 3:39:4769 days ago1724557187IN
0xe23F8E7F...319796Cc0
0 ETH0.000097091.14789182
Stake206029192024-08-25 3:27:1169 days ago1724556431IN
0xe23F8E7F...319796Cc0
0 ETH0.000113111.11245708
Stake206028952024-08-25 3:22:2369 days ago1724556143IN
0xe23F8E7F...319796Cc0
0 ETH0.00015661.22052481
Stake206027852024-08-25 2:59:5969 days ago1724554799IN
0xe23F8E7F...319796Cc0
0 ETH0.00015331.15196277
Stake206015682024-08-24 22:54:5969 days ago1724540099IN
0xe23F8E7F...319796Cc0
0 ETH0.000138660.95361978
Withdraw Erc20To...206007372024-08-24 20:07:1169 days ago1724530031IN
0xe23F8E7F...319796Cc0
0 ETH0.000049561.38603474
Set Star Get Rew...205930822024-08-23 18:26:3570 days ago1724437595IN
0xe23F8E7F...319796Cc0
0 ETH0.00019464.27001425
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
StakingRewards

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : stakeerc20.sol
// SPDX-License-Identifier: MIT


pragma solidity ^0.8;

contract StakingRewards {
    IERC20 public  stakingToken;
    IERC20 public  rewardsToken;

    address public owner;

    // Duration of rewards to be paid out (in seconds)
    uint public duration;
    // Timestamp of when the rewards finish
    uint public finishAt;
    // Minimum of last updated time and reward finish time
    uint public updatedAt;
    // Reward to be paid out per second
    uint public rewardRate;
    // Sum of (reward rate * dt * 1e18 / total supply)
    uint public rewardPerTokenStored;
    // User address => rewardPerTokenStored
    mapping(address => uint) public userRewardPerTokenPaid;
    // User address => rewards to be claimed
    mapping(address => uint) public rewards;

    // Total staked
    uint public totalSupply;
    // User address => staked amount
    mapping(address => uint) public balanceOf;
    bool starUserGetReward;

    //mapping (address => uint) public userRequireUnlockLeftingTime;
    mapping (address => uint) public userRequireUnlockStarTime;

    mapping (address => uint) public userStakeTime;

    constructor(address _stakingToken, address _rewardToken) payable  {
        owner = msg.sender;
        stakingToken = IERC20(_stakingToken);
        rewardsToken = IERC20(_rewardToken);
    }

    receive() external payable { }
    fallback() external payable { }

    modifier onlyOwner() {
        require(msg.sender == owner, "not authorized");
        _;
    }

    modifier updateReward(address _account) {
        rewardPerTokenStored = rewardPerToken();
        updatedAt = lastTimeRewardApplicable();

        if (_account != address(0)) {
            rewards[_account] = earned(_account);
            userRewardPerTokenPaid[_account] = rewardPerTokenStored;
        }

        _;
    }

    function setStarGetReward() public onlyOwner{
        starUserGetReward = !starUserGetReward;
    }

    function lastTimeRewardApplicable() public view returns (uint) {
        return _min(finishAt, block.timestamp);
    }

    function rewardPerToken() public view returns (uint) {
        if (totalSupply == 0) {
            return rewardPerTokenStored;
        }

        return
            rewardPerTokenStored +
            (rewardRate * (lastTimeRewardApplicable() - updatedAt) * 1e18) /
            totalSupply;
    }

    function resetToken(address _stakingToken, address _rewardToken) public onlyOwner{
        stakingToken = IERC20(_stakingToken);
        rewardsToken = IERC20(_rewardToken);

    }

    function stake(uint _amount) external updateReward(msg.sender) {
        require(_amount > 0, "amount = 0");

        userStakeTime[msg.sender] = block.timestamp;

        stakingToken.transferFrom(msg.sender, address(this), _amount);
        balanceOf[msg.sender] += _amount;
        totalSupply += _amount;
    }

    function withdraw(uint _amount) external updateReward(msg.sender) {
        require(_amount > 0, "amount = 0");

        require(block.timestamp - userStakeTime[msg.sender] >= 86400 * 14,"require 14 day after stake ");
        //require(block.timestamp - userRequireUnlockStarTime[msg.sender],"require time not enought");

        balanceOf[msg.sender] -= _amount;
        totalSupply -= _amount;
        stakingToken.transfer(msg.sender, _amount);
    }

    function earned(address _account) public view returns (uint) {
        return
            ((balanceOf[_account] *
                (rewardPerToken() - userRewardPerTokenPaid[_account])) / 1e18) +
            rewards[_account];
    }

    function getReward() external updateReward(msg.sender) {
        require(starUserGetReward,"not star");
        uint reward = rewards[msg.sender];
        if (reward > 0) {
            rewards[msg.sender] = 0;
            rewardsToken.transfer(msg.sender, reward);
        }
    }
    //设置可以挖矿的时间,单位s
    function setRewardsDuration(uint _duration) external onlyOwner {
        require(finishAt < block.timestamp, "reward duration not finished");
        duration = _duration;
    }
    //可获取的ERC20数量
    function notifyRewardAmount(
        uint _amount
    ) external onlyOwner updateReward(address(0)) {
        if (block.timestamp >= finishAt) {
            rewardRate = _amount / duration;
        } else {
            uint remainingRewards = (finishAt - block.timestamp) * rewardRate;
            rewardRate = (_amount + remainingRewards) / duration;
        }

        require(rewardRate > 0, "reward rate = 0");
        require(
            rewardRate * duration <= rewardsToken.balanceOf(address(this)),
            "reward amount > balance"
        );

        finishAt = block.timestamp + duration;
        updatedAt = block.timestamp;
    }

    function _min(uint x, uint y) private pure returns (uint) {
        return x <= y ? x : y;
    }

    function getBalanceOfContract() public view returns (uint) {
        return rewardsToken.balanceOf(address(this));
    }

    function withdrawRewardToken() external onlyOwner {
        require(block.timestamp >= finishAt, "still product rewardToken");
        rewardsToken.transfer(msg.sender, getBalanceOfContract());
    }

    function withdrawEth()external onlyOwner {
        address payable caller =  payable ( msg.sender);
        caller.transfer(address(this).balance);
    }
    function withdrawErc20Token(address _erc20) external onlyOwner {
        //require(block.timestamp >= finishAt, "still product rewardToken");
        IERC20 erc20 = IERC20(_erc20);
        erc20.transfer(msg.sender, erc20.balanceOf(address(this)));
    }

}

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

    function balanceOf(address account) external view returns (uint);

    function transfer(address recipient, uint amount) external returns (bool);

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

    function approve(address spender, uint amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint value);
    event Approval(address indexed owner, address indexed spender, uint value);
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_stakingToken","type":"address"},{"internalType":"address","name":"_rewardToken","type":"address"}],"stateMutability":"payable","type":"constructor"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"duration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"earned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"finishAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBalanceOfContract","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lastTimeRewardApplicable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"notifyRewardAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_stakingToken","type":"address"},{"internalType":"address","name":"_rewardToken","type":"address"}],"name":"resetToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rewardPerToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardPerTokenStored","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"rewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardsToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_duration","type":"uint256"}],"name":"setRewardsDuration","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setStarGetReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"stake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stakingToken","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":[],"name":"updatedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userRequireUnlockStarTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userRewardPerTokenPaid","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userStakeTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_erc20","type":"address"}],"name":"withdrawErc20Token","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawRewardToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526040516111db3803806111db83398101604081905261002291610078565b600280546001600160a01b031990811633179091555f80546001600160a01b03948516908316179055600180549290931691161790556100a9565b80516001600160a01b0381168114610073575f80fd5b919050565b5f8060408385031215610089575f80fd5b6100928361005d565b91506100a06020840161005d565b90509250929050565b611125806100b65f395ff3fe6080604052600436106101a1575f3560e01c80638aea7fd0116100df578063b80a6e1d11610083578063d1af0c7d11610060578063d1af0c7d14610478578063df136d6514610497578063f2c259ff146104ac578063fed2b05e146104c057005b8063b80a6e1d1461041a578063cc1a378f14610445578063cd3daf9d1461046457005b80639c3f09be116100bc5780639c3f09be146103b4578063a0ef91df146103d3578063a694fc3a146103e7578063aa7a07e91461040657005b80638aea7fd01461034b5780638b8763471461036a5780638da5cb5b1461039557005b80633d18b9121161014657806372f702f31161012357806372f702f3146102d75780637519ab501461030d5780637b0a47ee1461032257806380faa57d1461033757005b80633d18b9121461028357806367d3b4881461029757806370a08231146102ac57005b806318160ddd1161017f57806318160ddd1461021c57806322968885146102315780632e1a7d4d146102455780633c6b16ab1461026457005b80628cc262146101aa5780630700037d146101dc5780630fb5a6b41461020757005b366101a857005b005b3480156101b5575f80fd5b506101c96101c4366004610fc0565b6104eb565b6040519081526020015b60405180910390f35b3480156101e7575f80fd5b506101c96101f6366004610fc0565b60096020525f908152604090205481565b348015610212575f80fd5b506101c960035481565b348015610227575f80fd5b506101c9600a5481565b34801561023c575f80fd5b506101c9610566565b348015610250575f80fd5b506101a861025f366004610fd9565b6105d5565b34801561026f575f80fd5b506101a861027e366004610fd9565b61078e565b34801561028e575f80fd5b506101a861098e565b3480156102a2575f80fd5b506101c960045481565b3480156102b7575f80fd5b506101c96102c6366004610fc0565b600b6020525f908152604090205481565b3480156102e2575f80fd5b505f546102f5906001600160a01b031681565b6040516001600160a01b0390911681526020016101d3565b348015610318575f80fd5b506101c960055481565b34801561032d575f80fd5b506101c960065481565b348015610342575f80fd5b506101c9610a87565b348015610356575f80fd5b506101a8610365366004610fc0565b610a94565b348015610375575f80fd5b506101c9610384366004610fc0565b60086020525f908152604090205481565b3480156103a0575f80fd5b506002546102f5906001600160a01b031681565b3480156103bf575f80fd5b506101a86103ce366004610ff0565b610b61565b3480156103de575f80fd5b506101a8610bb8565b3480156103f2575f80fd5b506101a8610401366004610fd9565b610c0d565b348015610411575f80fd5b506101a8610d6b565b348015610425575f80fd5b506101c9610434366004610fc0565b600d6020525f908152604090205481565b348015610450575f80fd5b506101a861045f366004610fd9565b610e70565b34801561046f575f80fd5b506101c9610ef0565b348015610483575f80fd5b506001546102f5906001600160a01b031681565b3480156104a2575f80fd5b506101c960075481565b3480156104b7575f80fd5b506101a8610f4f565b3480156104cb575f80fd5b506101c96104da366004610fc0565b600e6020525f908152604090205481565b6001600160a01b0381165f908152600960209081526040808320546008909252822054670de0b6b3a764000090610520610ef0565b61052a9190611035565b6001600160a01b0385165f908152600b602052604090205461054c9190611048565b610556919061105f565b610560919061107e565b92915050565b6001546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa1580156105ac573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105d09190611091565b905090565b336105de610ef0565b6007556105e9610a87565b6005556001600160a01b0381161561062f57610604816104eb565b6001600160a01b0382165f908152600960209081526040808320939093556007546008909152919020555b5f82116106705760405162461bcd60e51b815260206004820152600a6024820152690616d6f756e74203d20360b41b60448201526064015b60405180910390fd5b335f908152600e6020526040902054621275009061068e9042611035565b10156106dc5760405162461bcd60e51b815260206004820152601b60248201527f7265717569726520313420646179206166746572207374616b652000000000006044820152606401610667565b335f908152600b6020526040812080548492906106fa908490611035565b9250508190555081600a5f8282546107129190611035565b90915550505f5460405163a9059cbb60e01b8152336004820152602481018490526001600160a01b039091169063a9059cbb906044015b6020604051808303815f875af1158015610765573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061078991906110a8565b505050565b6002546001600160a01b031633146107b85760405162461bcd60e51b8152600401610667906110c7565b5f6107c1610ef0565b6007556107cc610a87565b6005556001600160a01b03811615610812576107e7816104eb565b6001600160a01b0382165f908152600960209081526040808320939093556007546008909152919020555b600454421061083057600354610828908361105f565b60065561086b565b5f600654426004546108429190611035565b61084c9190611048565b60035490915061085c828561107e565b610866919061105f565b600655505b5f600654116108ae5760405162461bcd60e51b815260206004820152600f60248201526e07265776172642072617465203d203608c1b6044820152606401610667565b6001546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa1580156108f4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109189190611091565b6003546006546109289190611048565b11156109765760405162461bcd60e51b815260206004820152601760248201527f72657761726420616d6f756e74203e2062616c616e63650000000000000000006044820152606401610667565b600354610983904261107e565b600455505042600555565b33610997610ef0565b6007556109a2610a87565b6005556001600160a01b038116156109e8576109bd816104eb565b6001600160a01b0382165f908152600960209081526040808320939093556007546008909152919020555b600c5460ff16610a255760405162461bcd60e51b81526020600482015260086024820152673737ba1039ba30b960c11b6044820152606401610667565b335f908152600960205260409020548015610a8357335f8181526009602052604080822091909155600154905163a9059cbb60e01b81526004810192909252602482018390526001600160a01b03169063a9059cbb90604401610749565b5050565b5f6105d060045442610f8d565b6002546001600160a01b03163314610abe5760405162461bcd60e51b8152600401610667906110c7565b6040516370a0823160e01b815230600482015281906001600160a01b0382169063a9059cbb90339083906370a0823190602401602060405180830381865afa158015610b0c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b309190611091565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401610749565b6002546001600160a01b03163314610b8b5760405162461bcd60e51b8152600401610667906110c7565b5f80546001600160a01b039384166001600160a01b03199182161790915560018054929093169116179055565b6002546001600160a01b03163314610be25760405162461bcd60e51b8152600401610667906110c7565b604051339081904780156108fc02915f818181858888f19350505050158015610a83573d5f803e3d5ffd5b33610c16610ef0565b600755610c21610a87565b6005556001600160a01b03811615610c6757610c3c816104eb565b6001600160a01b0382165f908152600960209081526040808320939093556007546008909152919020555b5f8211610ca35760405162461bcd60e51b815260206004820152600a6024820152690616d6f756e74203d20360b41b6044820152606401610667565b335f818152600e6020526040808220429055905490516323b872dd60e01b81526004810192909252306024830152604482018490526001600160a01b0316906323b872dd906064016020604051808303815f875af1158015610d07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d2b91906110a8565b50335f908152600b602052604081208054849290610d4a90849061107e565b9250508190555081600a5f828254610d62919061107e565b90915550505050565b6002546001600160a01b03163314610d955760405162461bcd60e51b8152600401610667906110c7565b600454421015610de75760405162461bcd60e51b815260206004820152601960248201527f7374696c6c2070726f6475637420726577617264546f6b656e000000000000006044820152606401610667565b6001546001600160a01b031663a9059cbb33610e01610566565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af1158015610e49573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e6d91906110a8565b50565b6002546001600160a01b03163314610e9a5760405162461bcd60e51b8152600401610667906110c7565b4260045410610eeb5760405162461bcd60e51b815260206004820152601c60248201527f726577617264206475726174696f6e206e6f742066696e6973686564000000006044820152606401610667565b600355565b5f600a545f03610f01575060075490565b600a54600554610f0f610a87565b610f199190611035565b600654610f269190611048565b610f3890670de0b6b3a7640000611048565b610f42919061105f565b6007546105d0919061107e565b6002546001600160a01b03163314610f795760405162461bcd60e51b8152600401610667906110c7565b600c805460ff19811660ff90911615179055565b5f81831115610f9c5781610f9e565b825b9392505050565b80356001600160a01b0381168114610fbb575f80fd5b919050565b5f60208284031215610fd0575f80fd5b610f9e82610fa5565b5f60208284031215610fe9575f80fd5b5035919050565b5f8060408385031215611001575f80fd5b61100a83610fa5565b915061101860208401610fa5565b90509250929050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561056057610560611021565b808202811582820484141761056057610560611021565b5f8261107957634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561056057610560611021565b5f602082840312156110a1575f80fd5b5051919050565b5f602082840312156110b8575f80fd5b81518015158114610f9e575f80fd5b6020808252600e908201526d1b9bdd08185d5d1a1bdc9a5e995960921b60408201526060019056fea26469706673582212201bb43528106ffd24d858863796d2f0d7c13779e37940167eac12f8875a61aab464736f6c63430008150033000000000000000000000000989436e4194af162546f595afc6336a15b3dca7d000000000000000000000000989436e4194af162546f595afc6336a15b3dca7d

Deployed Bytecode

0x6080604052600436106101a1575f3560e01c80638aea7fd0116100df578063b80a6e1d11610083578063d1af0c7d11610060578063d1af0c7d14610478578063df136d6514610497578063f2c259ff146104ac578063fed2b05e146104c057005b8063b80a6e1d1461041a578063cc1a378f14610445578063cd3daf9d1461046457005b80639c3f09be116100bc5780639c3f09be146103b4578063a0ef91df146103d3578063a694fc3a146103e7578063aa7a07e91461040657005b80638aea7fd01461034b5780638b8763471461036a5780638da5cb5b1461039557005b80633d18b9121161014657806372f702f31161012357806372f702f3146102d75780637519ab501461030d5780637b0a47ee1461032257806380faa57d1461033757005b80633d18b9121461028357806367d3b4881461029757806370a08231146102ac57005b806318160ddd1161017f57806318160ddd1461021c57806322968885146102315780632e1a7d4d146102455780633c6b16ab1461026457005b80628cc262146101aa5780630700037d146101dc5780630fb5a6b41461020757005b366101a857005b005b3480156101b5575f80fd5b506101c96101c4366004610fc0565b6104eb565b6040519081526020015b60405180910390f35b3480156101e7575f80fd5b506101c96101f6366004610fc0565b60096020525f908152604090205481565b348015610212575f80fd5b506101c960035481565b348015610227575f80fd5b506101c9600a5481565b34801561023c575f80fd5b506101c9610566565b348015610250575f80fd5b506101a861025f366004610fd9565b6105d5565b34801561026f575f80fd5b506101a861027e366004610fd9565b61078e565b34801561028e575f80fd5b506101a861098e565b3480156102a2575f80fd5b506101c960045481565b3480156102b7575f80fd5b506101c96102c6366004610fc0565b600b6020525f908152604090205481565b3480156102e2575f80fd5b505f546102f5906001600160a01b031681565b6040516001600160a01b0390911681526020016101d3565b348015610318575f80fd5b506101c960055481565b34801561032d575f80fd5b506101c960065481565b348015610342575f80fd5b506101c9610a87565b348015610356575f80fd5b506101a8610365366004610fc0565b610a94565b348015610375575f80fd5b506101c9610384366004610fc0565b60086020525f908152604090205481565b3480156103a0575f80fd5b506002546102f5906001600160a01b031681565b3480156103bf575f80fd5b506101a86103ce366004610ff0565b610b61565b3480156103de575f80fd5b506101a8610bb8565b3480156103f2575f80fd5b506101a8610401366004610fd9565b610c0d565b348015610411575f80fd5b506101a8610d6b565b348015610425575f80fd5b506101c9610434366004610fc0565b600d6020525f908152604090205481565b348015610450575f80fd5b506101a861045f366004610fd9565b610e70565b34801561046f575f80fd5b506101c9610ef0565b348015610483575f80fd5b506001546102f5906001600160a01b031681565b3480156104a2575f80fd5b506101c960075481565b3480156104b7575f80fd5b506101a8610f4f565b3480156104cb575f80fd5b506101c96104da366004610fc0565b600e6020525f908152604090205481565b6001600160a01b0381165f908152600960209081526040808320546008909252822054670de0b6b3a764000090610520610ef0565b61052a9190611035565b6001600160a01b0385165f908152600b602052604090205461054c9190611048565b610556919061105f565b610560919061107e565b92915050565b6001546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa1580156105ac573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105d09190611091565b905090565b336105de610ef0565b6007556105e9610a87565b6005556001600160a01b0381161561062f57610604816104eb565b6001600160a01b0382165f908152600960209081526040808320939093556007546008909152919020555b5f82116106705760405162461bcd60e51b815260206004820152600a6024820152690616d6f756e74203d20360b41b60448201526064015b60405180910390fd5b335f908152600e6020526040902054621275009061068e9042611035565b10156106dc5760405162461bcd60e51b815260206004820152601b60248201527f7265717569726520313420646179206166746572207374616b652000000000006044820152606401610667565b335f908152600b6020526040812080548492906106fa908490611035565b9250508190555081600a5f8282546107129190611035565b90915550505f5460405163a9059cbb60e01b8152336004820152602481018490526001600160a01b039091169063a9059cbb906044015b6020604051808303815f875af1158015610765573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061078991906110a8565b505050565b6002546001600160a01b031633146107b85760405162461bcd60e51b8152600401610667906110c7565b5f6107c1610ef0565b6007556107cc610a87565b6005556001600160a01b03811615610812576107e7816104eb565b6001600160a01b0382165f908152600960209081526040808320939093556007546008909152919020555b600454421061083057600354610828908361105f565b60065561086b565b5f600654426004546108429190611035565b61084c9190611048565b60035490915061085c828561107e565b610866919061105f565b600655505b5f600654116108ae5760405162461bcd60e51b815260206004820152600f60248201526e07265776172642072617465203d203608c1b6044820152606401610667565b6001546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa1580156108f4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109189190611091565b6003546006546109289190611048565b11156109765760405162461bcd60e51b815260206004820152601760248201527f72657761726420616d6f756e74203e2062616c616e63650000000000000000006044820152606401610667565b600354610983904261107e565b600455505042600555565b33610997610ef0565b6007556109a2610a87565b6005556001600160a01b038116156109e8576109bd816104eb565b6001600160a01b0382165f908152600960209081526040808320939093556007546008909152919020555b600c5460ff16610a255760405162461bcd60e51b81526020600482015260086024820152673737ba1039ba30b960c11b6044820152606401610667565b335f908152600960205260409020548015610a8357335f8181526009602052604080822091909155600154905163a9059cbb60e01b81526004810192909252602482018390526001600160a01b03169063a9059cbb90604401610749565b5050565b5f6105d060045442610f8d565b6002546001600160a01b03163314610abe5760405162461bcd60e51b8152600401610667906110c7565b6040516370a0823160e01b815230600482015281906001600160a01b0382169063a9059cbb90339083906370a0823190602401602060405180830381865afa158015610b0c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b309190611091565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401610749565b6002546001600160a01b03163314610b8b5760405162461bcd60e51b8152600401610667906110c7565b5f80546001600160a01b039384166001600160a01b03199182161790915560018054929093169116179055565b6002546001600160a01b03163314610be25760405162461bcd60e51b8152600401610667906110c7565b604051339081904780156108fc02915f818181858888f19350505050158015610a83573d5f803e3d5ffd5b33610c16610ef0565b600755610c21610a87565b6005556001600160a01b03811615610c6757610c3c816104eb565b6001600160a01b0382165f908152600960209081526040808320939093556007546008909152919020555b5f8211610ca35760405162461bcd60e51b815260206004820152600a6024820152690616d6f756e74203d20360b41b6044820152606401610667565b335f818152600e6020526040808220429055905490516323b872dd60e01b81526004810192909252306024830152604482018490526001600160a01b0316906323b872dd906064016020604051808303815f875af1158015610d07573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d2b91906110a8565b50335f908152600b602052604081208054849290610d4a90849061107e565b9250508190555081600a5f828254610d62919061107e565b90915550505050565b6002546001600160a01b03163314610d955760405162461bcd60e51b8152600401610667906110c7565b600454421015610de75760405162461bcd60e51b815260206004820152601960248201527f7374696c6c2070726f6475637420726577617264546f6b656e000000000000006044820152606401610667565b6001546001600160a01b031663a9059cbb33610e01610566565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af1158015610e49573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e6d91906110a8565b50565b6002546001600160a01b03163314610e9a5760405162461bcd60e51b8152600401610667906110c7565b4260045410610eeb5760405162461bcd60e51b815260206004820152601c60248201527f726577617264206475726174696f6e206e6f742066696e6973686564000000006044820152606401610667565b600355565b5f600a545f03610f01575060075490565b600a54600554610f0f610a87565b610f199190611035565b600654610f269190611048565b610f3890670de0b6b3a7640000611048565b610f42919061105f565b6007546105d0919061107e565b6002546001600160a01b03163314610f795760405162461bcd60e51b8152600401610667906110c7565b600c805460ff19811660ff90911615179055565b5f81831115610f9c5781610f9e565b825b9392505050565b80356001600160a01b0381168114610fbb575f80fd5b919050565b5f60208284031215610fd0575f80fd5b610f9e82610fa5565b5f60208284031215610fe9575f80fd5b5035919050565b5f8060408385031215611001575f80fd5b61100a83610fa5565b915061101860208401610fa5565b90509250929050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561056057610560611021565b808202811582820484141761056057610560611021565b5f8261107957634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561056057610560611021565b5f602082840312156110a1575f80fd5b5051919050565b5f602082840312156110b8575f80fd5b81518015158114610f9e575f80fd5b6020808252600e908201526d1b9bdd08185d5d1a1bdc9a5e995960921b60408201526060019056fea26469706673582212201bb43528106ffd24d858863796d2f0d7c13779e37940167eac12f8875a61aab464736f6c63430008150033

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

000000000000000000000000989436e4194af162546f595afc6336a15b3dca7d000000000000000000000000989436e4194af162546f595afc6336a15b3dca7d

-----Decoded View---------------
Arg [0] : _stakingToken (address): 0x989436e4194af162546F595Afc6336A15b3DCa7d
Arg [1] : _rewardToken (address): 0x989436e4194af162546F595Afc6336A15b3DCa7d

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000989436e4194af162546f595afc6336a15b3dca7d
Arg [1] : 000000000000000000000000989436e4194af162546f595afc6336a15b3dca7d


Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.