Contract 0x32e5594f14de658b0d577d6560fa0d9c6f1aa724 1

 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x1e98217fd9485ecbe121bab42d7ecbff730737eb06d990f66a314303eb3c0cddExit550015502023-01-23 20:59:134 days 12 hrs ago0x082214da6df7310ee70992b2359603e92ee73d53 IN  0x32e5594f14de658b0d577d6560fa0d9c6f1aa7240 ETH0.00003168
0x1ca7c032c6ba534482ededae86135d5b8d823de78bf9f3543d0f31ff5657e0d2Exit547355532023-01-22 15:07:295 days 18 hrs ago0x19f5a737cabf9a1fdeea893b4d2933565bf15491 IN  0x32e5594f14de658b0d577d6560fa0d9c6f1aa7240 ETH0.00002331
0x6bcb0d96437d7ecca2c2572f7e04103a6b0f4556a5324571094a5b52e84a8023Exit546460692023-01-22 4:57:416 days 4 hrs ago0xc8b669529a3b6ba5f2aa2115d79e491c73128736 IN  0x32e5594f14de658b0d577d6560fa0d9c6f1aa7240 ETH0.00002502
0x74ab8111b8613280d507e46a9b90d7f8efd956feb65a9935ecc92f3f016e63cbExit546184132023-01-22 1:36:516 days 7 hrs ago0xb5a790758cdb6644305d1cf368b67bbba4c9a68c IN  0x32e5594f14de658b0d577d6560fa0d9c6f1aa7240 ETH0.00003136
0xb36d0727c352420328e0924b113569b5126c2cd8575cba6e4c82faa021e1058dExit546183752023-01-22 1:36:196 days 7 hrs ago0x6cf7538744dc6a1416eb2a9dfd2daf2c9a829832 IN  0x32e5594f14de658b0d577d6560fa0d9c6f1aa7240 ETH0.00002864
0x06a6e103319f42b88201034e5fb0e1bf6046ab2306002e0beaec62814fe784e8Exit545903712023-01-21 22:07:536 days 11 hrs ago0xb28cf9fcfaa079ff21ceddbfc7b4b2fb9c7bd70f IN  0x32e5594f14de658b0d577d6560fa0d9c6f1aa7240 ETH0.00002802
0x9792ad772ee7666f9d3de6e3df8a059065d4cac0483c38d9c454fa41ad6f9ea2Withdraw545903352023-01-21 22:07:366 days 11 hrs ago0xe15494e529d8ce5a9b37ad51bd082a884cf3fa74 IN  0x32e5594f14de658b0d577d6560fa0d9c6f1aa7240 ETH0.00003033
0x64b02f737b914032cc29830e82d7e98d92068581bda2f8c582b66b671b741e7fExit524596382023-01-12 4:15:5116 days 5 hrs ago0x5007d8d94168f05f82378f5dc5aa68ec30ee4a46 IN  0x32e5594f14de658b0d577d6560fa0d9c6f1aa7240 ETH0.00002863
0x4a800e0cbac513c5c95c6bfc6fca8a0b4daba59d5939238edc234052af894b26Exit521868792023-01-11 0:51:0617 days 8 hrs ago0x00ae93698f75a4acee474a6d4365480c8913ca0e IN  0x32e5594f14de658b0d577d6560fa0d9c6f1aa7240 ETH0.00003343
0xbc711882a41c559ae648d5a9226fc886c8db4fb9507fe13e435ae03715bbfc4cExit521128502023-01-10 16:37:1917 days 16 hrs ago0x9d41eccedd6911c60c523d528a326f0dc2b59f4e IN  0x32e5594f14de658b0d577d6560fa0d9c6f1aa7240 ETH0.00003526
0xfa4b68042b756eed1e65c71281f834afc77fa5a05c0a6235de8fb6578f49cc04Exit497040632022-12-30 2:18:4629 days 7 hrs ago0x14e27302100a769b3821333ea9276d77bb7f8832 IN  0x32e5594f14de658b0d577d6560fa0d9c6f1aa7240 ETH0.00002377
0xfe5fe17a4255d3286996657299d6615e7745cd78c923f9791165e8ef83c33febExit485484832022-12-24 15:57:0334 days 17 hrs ago0x6f9bb7e454f5b3eb2310343f0e99269dc2bb8a1d IN  0x32e5594f14de658b0d577d6560fa0d9c6f1aa7240 ETH0.00002159
0x6338e7ef5eebc2404067667559d256318dcdb86ec258bb5a5f553f804822e64cExit452048622022-12-11 2:30:4348 days 7 hrs ago0xe587a3ddb0773c292f70d3c75f3a1b72370d9077 IN  0x32e5594f14de658b0d577d6560fa0d9c6f1aa7240 ETH0.0000191
0xc964b5367d6dac45c40f6b085fc8da0e956190ea2912665bcd769fb3b5ee69c1Exit441897982022-12-06 21:36:2652 days 11 hrs ago0x6f325223e17797eee66d2e1fe12a9286f32d29b4 IN  0x32e5594f14de658b0d577d6560fa0d9c6f1aa7240 ETH0.00002061
0x2bad75e6281617a4974674a460bdd88f1e93460d8c29ddbba04b343dbf4defb6Exit441897432022-12-06 21:36:0852 days 11 hrs ago0x6f325223e17797eee66d2e1fe12a9286f32d29b4 IN  0x32e5594f14de658b0d577d6560fa0d9c6f1aa7240 ETH0.00002061
0xf86ec97f313e7b52f3f1f7eec00bcfa1234b24306589df4db67f75097e5fcee2Exit416650842022-11-27 16:16:0661 days 17 hrs ago0x6e8906f6fc2aa42f59c9b1bf9e74f6180ff4725c IN  0x32e5594f14de658b0d577d6560fa0d9c6f1aa7240 ETH0.00001344
0xd7a470db938bd4af7910a4a46401c63882d93adda98adaa206515f9ae58ddfd9Exit409138552022-11-24 20:00:5464 days 13 hrs ago0x082214da6df7310ee70992b2359603e92ee73d53 IN  0x32e5594f14de658b0d577d6560fa0d9c6f1aa7240 ETH0.00001706
0xe503f75b1f359cfd23690facd80a57b321dd192fb78a1c37c3b3a72a40de72a9Exit408623612022-11-24 15:34:0964 days 17 hrs ago0xb3eafb9f40b8e568b998324dcdfc73b5eabb39b7 IN  0x32e5594f14de658b0d577d6560fa0d9c6f1aa7240 ETH0.00001822
0x030975132469848385e410c6d0d24db55e4be6cd3d7088e039bc8f6e595f15e3Exit407735362022-11-24 8:39:5865 days 51 mins ago0xae3aba783eb04d67bf9d12838c0e58ae88e5a62e IN  0x32e5594f14de658b0d577d6560fa0d9c6f1aa7240 ETH0.00001664
0x4e9afa6c3ea974ed30d40d55814e054abb4ac00020b19ef5d8edb68ae2abe407Get Reward407734932022-11-24 8:39:4665 days 51 mins ago0xae3aba783eb04d67bf9d12838c0e58ae88e5a62e IN  0x32e5594f14de658b0d577d6560fa0d9c6f1aa7240 ETH0.00001642
0x09630ded320c3201219b7eae8860560447f09651f21c240ff663d39723b440f7Get Reward395910642022-11-20 9:50:2868 days 23 hrs ago0xb59212bd19ae722f1cc97a3a93542d573534cf70 IN  0x32e5594f14de658b0d577d6560fa0d9c6f1aa7240 ETH0.00001633
0x5ca6b5a7fcc95e4cd8f362469d07d27dad3b5e96f713c24709216884ff49ca51Withdraw391148732022-11-18 17:46:2270 days 15 hrs ago0x6e8906f6fc2aa42f59c9b1bf9e74f6180ff4725c IN  0x32e5594f14de658b0d577d6560fa0d9c6f1aa7240 ETH0.00003113
0x28f3d84a6d2957d86da2853de3fa598f252fbc6dcf616257258b668575a1e51aExit385917572022-11-16 15:48:2372 days 17 hrs ago0x800c016b1923653a13b6094f9c8953fdb1cf1efb IN  0x32e5594f14de658b0d577d6560fa0d9c6f1aa7240 ETH0.00002322
0x9b436fbc89ca7c51cfcdea6265186a3b802bf55067d98ba248b618535bd167c7Exit381207792022-11-14 21:04:1174 days 12 hrs ago0x219c59a99fb5134db62382f3cb3a88c0c15b6ef2 IN  0x32e5594f14de658b0d577d6560fa0d9c6f1aa7240 ETH0.00002706
0xce5614da3a3038308a916a0e96a7b5fbaf77f39db23a02eef176f61710ffeb72Exit377520392022-11-13 12:18:5575 days 21 hrs ago0x50ed078be051280de17e724dd06f375a8cb3f020 IN  0x32e5594f14de658b0d577d6560fa0d9c6f1aa7240 ETH0.00001975
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x1e98217fd9485ecbe121bab42d7ecbff730737eb06d990f66a314303eb3c0cdd550015502023-01-23 20:59:134 days 12 hrs ago 0x32e5594f14de658b0d577d6560fa0d9c6f1aa724 ArbiNYAN: ArbiNYAN Token0 ETH
0x1e98217fd9485ecbe121bab42d7ecbff730737eb06d990f66a314303eb3c0cdd550015502023-01-23 20:59:134 days 12 hrs ago 0x32e5594f14de658b0d577d6560fa0d9c6f1aa724 ArbiNYAN: Rewards0 ETH
0x1ca7c032c6ba534482ededae86135d5b8d823de78bf9f3543d0f31ff5657e0d2547355532023-01-22 15:07:295 days 18 hrs ago 0x32e5594f14de658b0d577d6560fa0d9c6f1aa724 ArbiNYAN: ArbiNYAN Token0 ETH
0x1ca7c032c6ba534482ededae86135d5b8d823de78bf9f3543d0f31ff5657e0d2547355532023-01-22 15:07:295 days 18 hrs ago 0x32e5594f14de658b0d577d6560fa0d9c6f1aa724 ArbiNYAN: ArbiNYAN Token0 ETH
0x1ca7c032c6ba534482ededae86135d5b8d823de78bf9f3543d0f31ff5657e0d2547355532023-01-22 15:07:295 days 18 hrs ago 0x32e5594f14de658b0d577d6560fa0d9c6f1aa724 ArbiNYAN: Rewards0 ETH
0x6bcb0d96437d7ecca2c2572f7e04103a6b0f4556a5324571094a5b52e84a8023546460692023-01-22 4:57:416 days 4 hrs ago 0x32e5594f14de658b0d577d6560fa0d9c6f1aa724 ArbiNYAN: ArbiNYAN Token0 ETH
0x6bcb0d96437d7ecca2c2572f7e04103a6b0f4556a5324571094a5b52e84a8023546460692023-01-22 4:57:416 days 4 hrs ago 0x32e5594f14de658b0d577d6560fa0d9c6f1aa724 ArbiNYAN: ArbiNYAN Token0 ETH
0x6bcb0d96437d7ecca2c2572f7e04103a6b0f4556a5324571094a5b52e84a8023546460692023-01-22 4:57:416 days 4 hrs ago 0x32e5594f14de658b0d577d6560fa0d9c6f1aa724 ArbiNYAN: Rewards0 ETH
0x74ab8111b8613280d507e46a9b90d7f8efd956feb65a9935ecc92f3f016e63cb546184132023-01-22 1:36:516 days 7 hrs ago 0x32e5594f14de658b0d577d6560fa0d9c6f1aa724 ArbiNYAN: ArbiNYAN Token0 ETH
0x74ab8111b8613280d507e46a9b90d7f8efd956feb65a9935ecc92f3f016e63cb546184132023-01-22 1:36:516 days 7 hrs ago 0x32e5594f14de658b0d577d6560fa0d9c6f1aa724 ArbiNYAN: ArbiNYAN Token0 ETH
0x74ab8111b8613280d507e46a9b90d7f8efd956feb65a9935ecc92f3f016e63cb546184132023-01-22 1:36:516 days 7 hrs ago 0x32e5594f14de658b0d577d6560fa0d9c6f1aa724 ArbiNYAN: Rewards0 ETH
0xb36d0727c352420328e0924b113569b5126c2cd8575cba6e4c82faa021e1058d546183752023-01-22 1:36:196 days 7 hrs ago 0x32e5594f14de658b0d577d6560fa0d9c6f1aa724 ArbiNYAN: ArbiNYAN Token0 ETH
0xb36d0727c352420328e0924b113569b5126c2cd8575cba6e4c82faa021e1058d546183752023-01-22 1:36:196 days 7 hrs ago 0x32e5594f14de658b0d577d6560fa0d9c6f1aa724 ArbiNYAN: Rewards0 ETH
0x06a6e103319f42b88201034e5fb0e1bf6046ab2306002e0beaec62814fe784e8545903712023-01-21 22:07:536 days 11 hrs ago 0x32e5594f14de658b0d577d6560fa0d9c6f1aa724 ArbiNYAN: ArbiNYAN Token0 ETH
0x06a6e103319f42b88201034e5fb0e1bf6046ab2306002e0beaec62814fe784e8545903712023-01-21 22:07:536 days 11 hrs ago 0x32e5594f14de658b0d577d6560fa0d9c6f1aa724 ArbiNYAN: ArbiNYAN Token0 ETH
0x06a6e103319f42b88201034e5fb0e1bf6046ab2306002e0beaec62814fe784e8545903712023-01-21 22:07:536 days 11 hrs ago 0x32e5594f14de658b0d577d6560fa0d9c6f1aa724 ArbiNYAN: Rewards0 ETH
0x9792ad772ee7666f9d3de6e3df8a059065d4cac0483c38d9c454fa41ad6f9ea2545903352023-01-21 22:07:366 days 11 hrs ago 0x32e5594f14de658b0d577d6560fa0d9c6f1aa724 ArbiNYAN: ArbiNYAN Token0 ETH
0x9792ad772ee7666f9d3de6e3df8a059065d4cac0483c38d9c454fa41ad6f9ea2545903352023-01-21 22:07:366 days 11 hrs ago 0x32e5594f14de658b0d577d6560fa0d9c6f1aa724 ArbiNYAN: Rewards0 ETH
0x65ace83e316d014b32de16983c921340e2e8d39ec4d6e2d2961a8c8a4cf627da534635032023-01-16 12:22:4411 days 21 hrs ago 0x32e5594f14de658b0d577d6560fa0d9c6f1aa724 ArbiNYAN: ArbiNYAN Token0 ETH
0x65ace83e316d014b32de16983c921340e2e8d39ec4d6e2d2961a8c8a4cf627da534635032023-01-16 12:22:4411 days 21 hrs ago 0x32e5594f14de658b0d577d6560fa0d9c6f1aa724 ArbiNYAN: Rewards0 ETH
0x65ace83e316d014b32de16983c921340e2e8d39ec4d6e2d2961a8c8a4cf627da534635032023-01-16 12:22:4411 days 21 hrs ago 0x7864ba11676b8cc286a7367b3cfd504968920b3a 0x32e5594f14de658b0d577d6560fa0d9c6f1aa7240 ETH
0x64b02f737b914032cc29830e82d7e98d92068581bda2f8c582b66b671b741e7f524596382023-01-12 4:15:5116 days 5 hrs ago 0x32e5594f14de658b0d577d6560fa0d9c6f1aa724 ArbiNYAN: ArbiNYAN Token0 ETH
0x64b02f737b914032cc29830e82d7e98d92068581bda2f8c582b66b671b741e7f524596382023-01-12 4:15:5116 days 5 hrs ago 0x32e5594f14de658b0d577d6560fa0d9c6f1aa724 ArbiNYAN: ArbiNYAN Token0 ETH
0x64b02f737b914032cc29830e82d7e98d92068581bda2f8c582b66b671b741e7f524596382023-01-12 4:15:5116 days 5 hrs ago 0x32e5594f14de658b0d577d6560fa0d9c6f1aa724 ArbiNYAN: Rewards0 ETH
0x4a800e0cbac513c5c95c6bfc6fca8a0b4daba59d5939238edc234052af894b26521868792023-01-11 0:51:0617 days 8 hrs ago 0x32e5594f14de658b0d577d6560fa0d9c6f1aa724 ArbiNYAN: ArbiNYAN Token0 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.