Contract 0x9f7968de728ac7a6769141f63dca03fd8b03a76f

 

Contract Overview

Balance:
141.939233230751646514 ETH

ETH Value:
$186,147.63 (@ $1,311.46/ETH)

Token:
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x014f52670c39a302d4bf070e2dadaa580f366ba4afc4a0d648cdecd0a0053f33Exit278632512022-10-01 22:56:073 hrs 47 mins ago0x4df622c2d7df728960230ec203e833034cac8461 IN  0x9f7968de728ac7a6769141f63dca03fd8b03a76f0 ETH0.00001219
0xfff82f1370137d91b55789aa1d6bc9e9cf9bd3dffa6c55c3041e6cff7d752871Exit269794572022-09-27 11:55:404 days 14 hrs ago0xe2feebe43a6c3df939e09515bd2911be19ace4bf IN  0x9f7968de728ac7a6769141f63dca03fd8b03a76f0 ETH0.00001293
0x62ff2c51a2d94c4c54e44b263a85d67baeae81d90140855ccc9695750d057e70Exit267374742022-09-26 6:34:345 days 20 hrs ago0xc3b1ad8249885a1e72f2ea7e7a7035f2fa0ba4b2 IN  0x9f7968de728ac7a6769141f63dca03fd8b03a76f0 ETH0.00000786
0xd99a7c4d3dbb30863756f6cdaeb2aee033f515940bddb1ce8ce53cbd2e2a5f0fExit259396962022-09-22 10:38:519 days 16 hrs ago0xdb40b67ec43c772a7b8e0b5f2a0fbf62fa7c4d68 IN  0x9f7968de728ac7a6769141f63dca03fd8b03a76f0 ETH0.00000885
0x639a01b4b02a96c6960b2e1e143eef08bc7c5b2b37ddcde97df63d95b2358f82Exit251719282022-09-18 20:53:3213 days 5 hrs ago0xc5ad543cc0aa983c19c335bea36d4b2556ae4db5 IN  0x9f7968de728ac7a6769141f63dca03fd8b03a76f0 ETH0.00001346
0x3d2beec1338a47ccab828a00e4d707ed752b38871e557be51403c2cdd36c1f11Exit251718502022-09-18 20:52:5413 days 5 hrs ago0xc5ad543cc0aa983c19c335bea36d4b2556ae4db5 IN  0x9f7968de728ac7a6769141f63dca03fd8b03a76f0 ETH0.00001451
0x9b73201842a0de29d4a3e7f119488392fd97257cd7a49a5d46efac078afed84cGet Reward251717482022-09-18 20:51:5913 days 5 hrs ago0xc5ad543cc0aa983c19c335bea36d4b2556ae4db5 IN  0x9f7968de728ac7a6769141f63dca03fd8b03a76f0 ETH0.0000152
0x3bff790c97320a6697f080ceed9fdd2eb73cab765bd7b52824358c1ac02dc1ccExit235062072022-09-08 5:14:1823 days 21 hrs ago0xfc861260e9501ffa5b042e6ce233a637d98274d2 IN  0x9f7968de728ac7a6769141f63dca03fd8b03a76f0 ETH0.00001242
0x5ceb038f07cf5638d13ae234762312fc7872d610b7f2a17bf5de139453cd3a33Withdraw232617862022-09-07 0:24:4225 days 2 hrs ago0xc4a69b137d22b52a36328f3ac6d5aa9984faab8e IN  0x9f7968de728ac7a6769141f63dca03fd8b03a76f0 ETH0.00002798
0x4970190ccda59542d08e517fc2121210b9313bce83920a4dbbef879486cc6cc8Exit231552782022-09-06 12:47:2625 days 13 hrs ago0xc806ac57b97113cd52e9b925fc6d70a0e3e581ef IN  0x9f7968de728ac7a6769141f63dca03fd8b03a76f0 ETH0.00000865
0x5eb19da79579a7a1596036a0bd4fb055e008b4d010da10126249d09bb7053adbExit228477322022-09-04 18:31:1627 days 8 hrs ago0x7952641c20955a99cf952007dd9190dea12715e0 IN  0x9f7968de728ac7a6769141f63dca03fd8b03a76f0 ETH0.00001704
0xea9f05c6b4940bf5d4ea24171278d75f0ab45b1c9645bec4cde54533a951ad2cExit224192412022-09-02 2:23:2730 days 20 mins ago0x10f094f45acf52213a88e3694d7dcb6c1cf5d7d6 IN  0x9f7968de728ac7a6769141f63dca03fd8b03a76f0 ETH0.00001601
0x513e5ce792abec81d2df5e3b46426bdb41b8cc29a0997331267b3452ff2295deExit220589392022-08-30 22:46:1132 days 3 hrs ago0x4ada1b9d9fe28abd9585f58cfeed2169a39e1c6b IN  0x9f7968de728ac7a6769141f63dca03fd8b03a76f0 ETH0.000080276381 ETH
0x33b8e51e4d366aec41d0fc603b454e2675a802ee07bf3a7858a09b35a2330495Exit210347532022-08-23 8:45:4139 days 17 hrs ago0x22d7d38717474569ea63cbda595f4bbc0f1b640d IN  0x9f7968de728ac7a6769141f63dca03fd8b03a76f0 ETH0.000055608424 ETH
0x94a303b6956a77c1ec85141b9fab74c365bf5c4dd847966d9e2944493f7cc1dbExit202811912022-08-15 3:40:1447 days 23 hrs ago0xf9c86cab4db95d685c570cffd2c288bdc1d9cb3a IN  0x9f7968de728ac7a6769141f63dca03fd8b03a76f0 ETH0.000059599296 ETH
0x10cce3f868fd5240a47c2d05874e1da81a215d1c7c226f69010623a95dbb852fExit202811492022-08-15 3:40:1447 days 23 hrs ago0xf9c86cab4db95d685c570cffd2c288bdc1d9cb3a IN  0x9f7968de728ac7a6769141f63dca03fd8b03a76f0 ETH0.000066618885 ETH
0x965125d53713d8e5cc2eda3069f31b3846741a5ac9e81406bd93a5a6dcbae5fcExit202554782022-08-14 18:59:1748 days 7 hrs ago0x4df622c2d7df728960230ec203e833034cac8461 IN  0x9f7968de728ac7a6769141f63dca03fd8b03a76f0 ETH0.000057540862 ETH
0x4798feb001b9ab48b45da8ca6dd24e544aa06a9dd04e2ee5b61b14676d09bc18Exit202335682022-08-14 13:12:5748 days 13 hrs ago0x9b9d5e43d0a19aaec95218dbceedbc5b4550cd2c IN  0x9f7968de728ac7a6769141f63dca03fd8b03a76f0 ETH0.000045162045 ETH
0xe4e780a8ec297574e364bdade516838e40e6b7c3691d26ac2b6f4ec2c0c3a1caExit202010992022-08-14 4:39:0248 days 22 hrs ago0x7a3ba9cee390c16ec95e65c2c65961e72f8f5877 IN  0x9f7968de728ac7a6769141f63dca03fd8b03a76f0 ETH0.000044541215 ETH
0xf7524a4e40da148cd8799ba71dc6fae35b52d04d13c7f19f9cc715325a0e93beExit201691872022-08-13 16:24:1049 days 10 hrs ago0xed595d95016c99f34b84660088ea9c9b39ca9e1b IN  0x9f7968de728ac7a6769141f63dca03fd8b03a76f0 ETH0.000058846973 ETH
0xa4708226d73c221be562305dd516abd62afefe11328e1a8af11eb07051c26b74Exit201689872022-08-13 16:19:5449 days 10 hrs ago0xed595d95016c99f34b84660088ea9c9b39ca9e1b IN  0x9f7968de728ac7a6769141f63dca03fd8b03a76f0 ETH0.000058846973 ETH
0x66451591dab1e8c530f90f10963de0fbe8329651c766a21309a5baf34bac440aExit199904792022-08-11 9:04:5251 days 17 hrs ago0x94a0321182f95b4b54537a6dd78df5750df3513c IN  0x9f7968de728ac7a6769141f63dca03fd8b03a76f0 ETH0.000116293368 ETH
0x4999c18faec5876cdee187836efc815a343fc6589bf221083dfc1996e2fb7c4cExit199826712022-08-11 7:24:4751 days 19 hrs ago0x718bd94012291e1a20a8295c21c43c6d20a39467 IN  0x9f7968de728ac7a6769141f63dca03fd8b03a76f0 ETH0.000124109213 ETH
0xde0542168b28b787b36c1d134f2dadb9ed58eba39d84e53384f7fd8cfaa91a07Exit197306872022-08-08 15:36:1854 days 11 hrs ago0x7919a9c5961d895cda921f6e0396e40a3d6f7e51 IN  0x9f7968de728ac7a6769141f63dca03fd8b03a76f0 ETH0.00005881833 ETH
0xfb16cc86c2a75caca804e2a2d8bc7a42b4aace231b0e2891b870b94910950cefExit194916542022-08-05 22:38:0557 days 4 hrs ago0xa0f98fc84411f7a46d57ae49458e914d4105ce8a IN  0x9f7968de728ac7a6769141f63dca03fd8b03a76f0 ETH0.000068269055 ETH
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x014f52670c39a302d4bf070e2dadaa580f366ba4afc4a0d648cdecd0a0053f33278632512022-10-01 22:56:073 hrs 47 mins ago 0x9f7968de728ac7a6769141f63dca03fd8b03a76f0x4df622c2d7df728960230ec203e833034cac84610 ETH
0x014f52670c39a302d4bf070e2dadaa580f366ba4afc4a0d648cdecd0a0053f33278632512022-10-01 22:56:073 hrs 47 mins ago 0x9f7968de728ac7a6769141f63dca03fd8b03a76f ArbiNYAN: Rewards0 ETH
0xfff82f1370137d91b55789aa1d6bc9e9cf9bd3dffa6c55c3041e6cff7d752871269794572022-09-27 11:55:404 days 14 hrs ago 0x9f7968de728ac7a6769141f63dca03fd8b03a76f0xe2feebe43a6c3df939e09515bd2911be19ace4bf0 ETH
0xfff82f1370137d91b55789aa1d6bc9e9cf9bd3dffa6c55c3041e6cff7d752871269794572022-09-27 11:55:404 days 14 hrs ago 0x9f7968de728ac7a6769141f63dca03fd8b03a76f ArbiNYAN: Rewards0 ETH
0x62ff2c51a2d94c4c54e44b263a85d67baeae81d90140855ccc9695750d057e70267374742022-09-26 6:34:345 days 20 hrs ago 0x9f7968de728ac7a6769141f63dca03fd8b03a76f0xc3b1ad8249885a1e72f2ea7e7a7035f2fa0ba4b20 ETH
0x62ff2c51a2d94c4c54e44b263a85d67baeae81d90140855ccc9695750d057e70267374742022-09-26 6:34:345 days 20 hrs ago 0x9f7968de728ac7a6769141f63dca03fd8b03a76f ArbiNYAN: Rewards0 ETH
0xd99a7c4d3dbb30863756f6cdaeb2aee033f515940bddb1ce8ce53cbd2e2a5f0f259396962022-09-22 10:38:519 days 16 hrs ago 0x9f7968de728ac7a6769141f63dca03fd8b03a76f0xdb40b67ec43c772a7b8e0b5f2a0fbf62fa7c4d680 ETH
0xd99a7c4d3dbb30863756f6cdaeb2aee033f515940bddb1ce8ce53cbd2e2a5f0f259396962022-09-22 10:38:519 days 16 hrs ago 0x9f7968de728ac7a6769141f63dca03fd8b03a76f ArbiNYAN: Rewards0 ETH
0x639a01b4b02a96c6960b2e1e143eef08bc7c5b2b37ddcde97df63d95b2358f82251719282022-09-18 20:53:3213 days 5 hrs ago 0x9f7968de728ac7a6769141f63dca03fd8b03a76f0xc5ad543cc0aa983c19c335bea36d4b2556ae4db50 ETH
0x639a01b4b02a96c6960b2e1e143eef08bc7c5b2b37ddcde97df63d95b2358f82251719282022-09-18 20:53:3213 days 5 hrs ago 0x9f7968de728ac7a6769141f63dca03fd8b03a76f ArbiNYAN: Rewards0 ETH
0x3d2beec1338a47ccab828a00e4d707ed752b38871e557be51403c2cdd36c1f11251718502022-09-18 20:52:5413 days 5 hrs ago 0x9f7968de728ac7a6769141f63dca03fd8b03a76f0xc5ad543cc0aa983c19c335bea36d4b2556ae4db50.000199917468330254 ETH
0x3d2beec1338a47ccab828a00e4d707ed752b38871e557be51403c2cdd36c1f11251718502022-09-18 20:52:5413 days 5 hrs ago 0x9f7968de728ac7a6769141f63dca03fd8b03a76f ArbiNYAN: Rewards0 ETH
0x9b73201842a0de29d4a3e7f119488392fd97257cd7a49a5d46efac078afed84c251717482022-09-18 20:51:5913 days 5 hrs ago 0x9f7968de728ac7a6769141f63dca03fd8b03a76f ArbiNYAN: ArbiNYAN Token0 ETH
0x9b73201842a0de29d4a3e7f119488392fd97257cd7a49a5d46efac078afed84c251717482022-09-18 20:51:5913 days 5 hrs ago 0x9f7968de728ac7a6769141f63dca03fd8b03a76f ArbiNYAN: Rewards0 ETH
0x3bff790c97320a6697f080ceed9fdd2eb73cab765bd7b52824358c1ac02dc1cc235062072022-09-08 5:14:1823 days 21 hrs ago 0x9f7968de728ac7a6769141f63dca03fd8b03a76f0xfc861260e9501ffa5b042e6ce233a637d98274d20 ETH
0x3bff790c97320a6697f080ceed9fdd2eb73cab765bd7b52824358c1ac02dc1cc235062072022-09-08 5:14:1823 days 21 hrs ago 0x9f7968de728ac7a6769141f63dca03fd8b03a76f ArbiNYAN: Rewards0 ETH
0x5ceb038f07cf5638d13ae234762312fc7872d610b7f2a17bf5de139453cd3a33232617862022-09-07 0:24:4225 days 2 hrs ago 0x9f7968de728ac7a6769141f63dca03fd8b03a76f0xc4a69b137d22b52a36328f3ac6d5aa9984faab8e0.1 ETH
0x5ceb038f07cf5638d13ae234762312fc7872d610b7f2a17bf5de139453cd3a33232617862022-09-07 0:24:4225 days 2 hrs ago 0x9f7968de728ac7a6769141f63dca03fd8b03a76f ArbiNYAN: Rewards0 ETH
0x4970190ccda59542d08e517fc2121210b9313bce83920a4dbbef879486cc6cc8231552782022-09-06 12:47:2625 days 13 hrs ago 0x9f7968de728ac7a6769141f63dca03fd8b03a76f0xc806ac57b97113cd52e9b925fc6d70a0e3e581ef0 ETH
0x4970190ccda59542d08e517fc2121210b9313bce83920a4dbbef879486cc6cc8231552782022-09-06 12:47:2625 days 13 hrs ago 0x9f7968de728ac7a6769141f63dca03fd8b03a76f ArbiNYAN: Rewards0 ETH
0x5eb19da79579a7a1596036a0bd4fb055e008b4d010da10126249d09bb7053adb228477322022-09-04 18:31:1627 days 8 hrs ago 0x9f7968de728ac7a6769141f63dca03fd8b03a76f0x7952641c20955a99cf952007dd9190dea12715e00.011999924707087517 ETH
0x5eb19da79579a7a1596036a0bd4fb055e008b4d010da10126249d09bb7053adb228477322022-09-04 18:31:1627 days 8 hrs ago 0x9f7968de728ac7a6769141f63dca03fd8b03a76f ArbiNYAN: ArbiNYAN Token0 ETH
0x5eb19da79579a7a1596036a0bd4fb055e008b4d010da10126249d09bb7053adb228477322022-09-04 18:31:1627 days 8 hrs ago 0x9f7968de728ac7a6769141f63dca03fd8b03a76f ArbiNYAN: Rewards0 ETH
0xea9f05c6b4940bf5d4ea24171278d75f0ab45b1c9645bec4cde54533a951ad2c224192412022-09-02 2:23:2730 days 20 mins ago 0x9f7968de728ac7a6769141f63dca03fd8b03a76f0x10f094f45acf52213a88e3694d7dcb6c1cf5d7d60 ETH
0xea9f05c6b4940bf5d4ea24171278d75f0ab45b1c9645bec4cde54533a951ad2c224192412022-09-02 2:23:2730 days 20 mins ago 0x9f7968de728ac7a6769141f63dca03fd8b03a76f ArbiNYAN: Rewards0 ETH
[ Download CSV Export 
Loading

Minimal Proxy Contract for 0x62ff5be795262999fc1ebac29277575031d2da2c

Contract Name:
NyanRewards

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 400 runs

Other Settings:
default evmVersion, MIT license
Decompile ByteCode
/**
 *Submitted for verification at Arbiscan on 2021-09-08
*/

//SPDX-License-Identifier: MIT

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

pragma solidity ^0.8.7;

/**
 * @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 NyanRewards 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
*/

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"}]

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