More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 482 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Compound | 18136402 | 495 days ago | IN | 0 ETH | 0.00174032 | ||||
Compound | 18135183 | 495 days ago | IN | 0 ETH | 0.00164527 | ||||
Withdraw | 18077240 | 503 days ago | IN | 0 ETH | 0.00156367 | ||||
Claim Reward | 18019367 | 511 days ago | IN | 0 ETH | 0.00120432 | ||||
Stake | 18018829 | 511 days ago | IN | 0 ETH | 0.00106732 | ||||
Withdraw | 18018804 | 511 days ago | IN | 0 ETH | 0.00137072 | ||||
Compound | 17984239 | 516 days ago | IN | 0 ETH | 0.00100603 | ||||
Compound | 17961902 | 519 days ago | IN | 0 ETH | 0.00091943 | ||||
Compound | 17958373 | 520 days ago | IN | 0 ETH | 0.00110522 | ||||
Withdraw | 17940823 | 522 days ago | IN | 0 ETH | 0.00200803 | ||||
Claim Reward | 17940814 | 522 days ago | IN | 0 ETH | 0.00144896 | ||||
Withdraw | 17937553 | 522 days ago | IN | 0 ETH | 0.01014132 | ||||
Compound | 17920046 | 525 days ago | IN | 0 ETH | 0.00139143 | ||||
Compound | 17918956 | 525 days ago | IN | 0 ETH | 0.00122007 | ||||
Compound | 17908315 | 527 days ago | IN | 0 ETH | 0.0010909 | ||||
Compound | 17900376 | 528 days ago | IN | 0 ETH | 0.00094692 | ||||
Compound | 17890183 | 529 days ago | IN | 0 ETH | 0.00148244 | ||||
Stake | 17864728 | 533 days ago | IN | 0 ETH | 0.00412292 | ||||
Compound | 17861576 | 533 days ago | IN | 0 ETH | 0.00103692 | ||||
Compound | 17852646 | 534 days ago | IN | 0 ETH | 0.00082355 | ||||
Compound | 17852644 | 534 days ago | IN | 0 ETH | 0.00075109 | ||||
Compound | 17852641 | 534 days ago | IN | 0 ETH | 0.00082388 | ||||
Compound | 17844455 | 535 days ago | IN | 0 ETH | 0.00091033 | ||||
Compound | 17839919 | 536 days ago | IN | 0 ETH | 0.00095156 | ||||
Stake | 17820864 | 539 days ago | IN | 0 ETH | 0.0037229 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
Staking
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-02-15 */ // SPDX-License-Identifier: MIT pragma solidity 0.8.17; 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 Staking { IERC20 public immutable stakingToken; IERC20 public immutable rewardsToken; address public owner; bool public paused; uint256 public duration; // Duration of rewards to be paid out (in seconds) uint256 public finishAt; // Timestamp of when the rewards finish uint256 public updatedAt; // Minimum of last updated time and reward finish time uint256 public rewardRate; // Reward to be paid out per second uint256 public rewardPerTokenStored; // Sum of (reward rate * dt * 1e18 / total supply) uint256 public totalSupply; // Total staked mapping(address => uint256) public userRewardPerTokenPaid; // User address => rewardPerTokenStored mapping(address => uint256) public rewards; // User address => rewards to be claimed mapping(address => uint256) public balanceOf; // User address => staked amount error AmountZero(); error NothingToClaim(); error RewardsNotFinished(); error InsufficientBalance(); error RewardRateZero(); error Paused(); event Stake(address indexed user, uint256 amount); event Withdraw(address indexed user, uint256 amount); event RewardClaimed(address indexed user, uint256 amount); event Compound(address indexed user, uint256 amount); constructor(address _stakingToken, address _rewardToken) { owner = msg.sender; stakingToken = IERC20(_stakingToken); rewardsToken = IERC20(_rewardToken); } 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 lastTimeRewardApplicable() public view returns (uint256) { return _min(finishAt, block.timestamp); } function rewardPerToken() public view returns (uint256) { if (totalSupply == 0) { return rewardPerTokenStored; } return rewardPerTokenStored + (rewardRate * (lastTimeRewardApplicable() - updatedAt) * 1e18) / totalSupply; } function stake(uint256 _amount) external updateReward(msg.sender) { if(paused) revert Paused(); if(_amount == 0) revert AmountZero(); stakingToken.transferFrom(msg.sender, address(this), _amount); balanceOf[msg.sender] += _amount; totalSupply += _amount; emit Stake(msg.sender, _amount); } function withdraw(uint256 _amount) external updateReward(msg.sender) { if(paused) revert Paused(); if(_amount == 0) revert AmountZero(); balanceOf[msg.sender] -= _amount; totalSupply -= _amount; stakingToken.transfer(msg.sender, _amount); emit Withdraw(msg.sender, _amount); } function compound() external updateReward(msg.sender) { if(paused) revert Paused(); uint256 amount = rewards[msg.sender]; if (amount == 0) revert NothingToClaim(); rewards[msg.sender] = 0; balanceOf[msg.sender] += amount; totalSupply += amount; emit Compound(msg.sender, amount); } function earned(address _account) public view returns (uint256) { return ((balanceOf[_account] * (rewardPerToken() - userRewardPerTokenPaid[_account])) / 1e18) + rewards[_account]; } function claimReward() external updateReward(msg.sender) { if(paused) revert Paused(); uint256 reward = rewards[msg.sender]; if (reward == 0) revert NothingToClaim(); rewards[msg.sender] = 0; rewardsToken.transfer(msg.sender, reward); emit RewardClaimed(msg.sender, reward); } function setRewardsDuration(uint256 _duration) external onlyOwner { if(finishAt >= block.timestamp) revert RewardsNotFinished(); duration = _duration; } function notifyRewardAmount( uint256 _amount ) external onlyOwner updateReward(address(0)) { if (block.timestamp >= finishAt) { rewardRate = _amount / duration; } else { uint256 remainingRewards = (finishAt - block.timestamp) * rewardRate; rewardRate = (_amount + remainingRewards) / duration; } if(rewardRate == 0) revert RewardRateZero(); if(rewardRate * duration > rewardsToken.balanceOf(address(this))) revert InsufficientBalance(); finishAt = block.timestamp + duration; updatedAt = block.timestamp; } function setPaused(bool _paused) external onlyOwner { paused = _paused; } function _min(uint256 x, uint256 y) private pure returns (uint256) { return x <= y ? x : y; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_stakingToken","type":"address"},{"internalType":"address","name":"_rewardToken","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AmountZero","type":"error"},{"inputs":[],"name":"InsufficientBalance","type":"error"},{"inputs":[],"name":"NothingToClaim","type":"error"},{"inputs":[],"name":"Paused","type":"error"},{"inputs":[],"name":"RewardRateZero","type":"error"},{"inputs":[],"name":"RewardsNotFinished","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Compound","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"RewardClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Stake","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdraw","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"compound","outputs":[],"stateMutability":"nonpayable","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":"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":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"bool","name":"_paused","type":"bool"}],"name":"setPaused","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_duration","type":"uint256"}],"name":"setRewardsDuration","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":"userRewardPerTokenPaid","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60c060405234801561001057600080fd5b50604051610f2a380380610f2a83398101604081905261002f91610074565b600080546001600160a01b031916331790556001600160a01b039182166080521660a0526100a7565b80516001600160a01b038116811461006f57600080fd5b919050565b6000806040838503121561008757600080fd5b61009083610058565b915061009e60208401610058565b90509250929050565b60805160a051610e426100e8600039600081816102f8015281816106c10152610a2b015260008181610236015281816104f901526108570152610e426000f3fe608060405234801561001057600080fd5b506004361061014c5760003560e01c80637519ab50116100c3578063b88a802f1161007c578063b88a802f146102d0578063cc1a378f146102d8578063cd3daf9d146102eb578063d1af0c7d146102f3578063df136d651461031a578063f69e20461461032357600080fd5b80637519ab50146102705780637b0a47ee1461027957806380faa57d146102825780638b8763471461028a5780638da5cb5b146102aa578063a694fc3a146102bd57600080fd5b80632e1a7d4d116101155780632e1a7d4d146101be5780633c6b16ab146101d15780635c975abb146101e457806367d3b4881461020857806370a082311461021157806372f702f31461023157600080fd5b80628cc262146101515780630700037d146101775780630fb5a6b41461019757806316c38b3c146101a057806318160ddd146101b5575b600080fd5b61016461015f366004610cc9565b61032b565b6040519081526020015b60405180910390f35b610164610185366004610cc9565b60086020526000908152604090205481565b61016460015481565b6101b36101ae366004610d03565b6103a8565b005b61016460065481565b6101b36101cc366004610d20565b6103f9565b6101b36101df366004610d20565b6105a9565b6000546101f890600160a01b900460ff1681565b604051901515815260200161016e565b61016460025481565b61016461021f366004610cc9565b60096020526000908152604090205481565b6102587f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161016e565b61016460035481565b61016460045481565b61016461077b565b610164610298366004610cc9565b60076020526000908152604090205481565b600054610258906001600160a01b031681565b6101b36102cb366004610d20565b61078e565b6101b361093c565b6101b36102e6366004610d20565b610acb565b610164610b1c565b6102587f000000000000000000000000000000000000000000000000000000000000000081565b61016460055481565b6101b3610b7d565b6001600160a01b0381166000908152600860209081526040808320546007909252822054670de0b6b3a764000090610361610b1c565b61036b9190610d4f565b6001600160a01b03851660009081526009602052604090205461038e9190610d62565b6103989190610d79565b6103a29190610d9b565b92915050565b6000546001600160a01b031633146103db5760405162461bcd60e51b81526004016103d290610dae565b60405180910390fd5b60008054911515600160a01b0260ff60a01b19909216919091179055565b33610402610b1c565b60055561040d61077b565b6003556001600160a01b03811615610454576104288161032b565b6001600160a01b0382166000908152600860209081526040808320939093556005546007909152919020555b600054600160a01b900460ff161561047f576040516313d0ff5960e31b815260040160405180910390fd5b816000036104a0576040516365e52d5160e11b815260040160405180910390fd5b33600090815260096020526040812080548492906104bf908490610d4f565b9250508190555081600660008282546104d89190610d4f565b909155505060405163a9059cbb60e01b8152336004820152602481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb906044016020604051808303816000875af115801561054a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061056e9190610dd6565b5060405182815233907f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364906020015b60405180910390a25050565b6000546001600160a01b031633146105d35760405162461bcd60e51b81526004016103d290610dae565b60006105dd610b1c565b6005556105e861077b565b6003556001600160a01b0381161561062f576106038161032b565b6001600160a01b0382166000908152600860209081526040808320939093556005546007909152919020555b600254421061064d576001546106459083610d79565b600455610689565b6000600454426002546106609190610d4f565b61066a9190610d62565b60015490915061067a8285610d9b565b6106849190610d79565b600455505b6004546000036106ac57604051630f5d66ef60e01b815260040160405180910390fd5b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610710573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107349190610df3565b6001546004546107449190610d62565b111561076357604051631e9acf1760e31b815260040160405180910390fd5b6001546107709042610d9b565b600255505042600355565b600061078960025442610cb0565b905090565b33610797610b1c565b6005556107a261077b565b6003556001600160a01b038116156107e9576107bd8161032b565b6001600160a01b0382166000908152600860209081526040808320939093556005546007909152919020555b600054600160a01b900460ff1615610814576040516313d0ff5960e31b815260040160405180910390fd5b81600003610835576040516365e52d5160e11b815260040160405180910390fd5b6040516323b872dd60e01b8152336004820152306024820152604481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303816000875af11580156108a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cc9190610dd6565b5033600090815260096020526040812080548492906108ec908490610d9b565b9250508190555081600660008282546109059190610d9b565b909155505060405182815233907febedb8b3c678666e7f36970bc8f57abf6d8fa2e828c0da91ea5b75bf68ed101a9060200161059d565b33610945610b1c565b60055561095061077b565b6003556001600160a01b038116156109975761096b8161032b565b6001600160a01b0382166000908152600860209081526040808320939093556005546007909152919020555b600054600160a01b900460ff16156109c2576040516313d0ff5960e31b815260040160405180910390fd5b33600090815260086020526040812054908190036109f3576040516312d37ee560e31b815260040160405180910390fd5b33600081815260086020526040808220919091555163a9059cbb60e01b81526004810191909152602481018290526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af1158015610a74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a989190610dd6565b5060405181815233907f106f923f993c2149d49b4255ff723acafa1f2d94393f561d3eda32ae348f72419060200161059d565b6000546001600160a01b03163314610af55760405162461bcd60e51b81526004016103d290610dae565b4260025410610b1757604051633407936360e01b815260040160405180910390fd5b600155565b6000600654600003610b2f575060055490565b600654600354610b3d61077b565b610b479190610d4f565b600454610b549190610d62565b610b6690670de0b6b3a7640000610d62565b610b709190610d79565b6005546107899190610d9b565b33610b86610b1c565b600555610b9161077b565b6003556001600160a01b03811615610bd857610bac8161032b565b6001600160a01b0382166000908152600860209081526040808320939093556005546007909152919020555b600054600160a01b900460ff1615610c03576040516313d0ff5960e31b815260040160405180910390fd5b3360009081526008602052604081205490819003610c34576040516312d37ee560e31b815260040160405180910390fd5b336000908152600860209081526040808320839055600990915281208054839290610c60908490610d9b565b925050819055508060066000828254610c799190610d9b565b909155505060405181815233907f169f1815ebdea059aac3bb00ec9a9594c7a5ffcb64a17e8392b5d84909a145569060200161059d565b600081831115610cc05781610cc2565b825b9392505050565b600060208284031215610cdb57600080fd5b81356001600160a01b0381168114610cc257600080fd5b8015158114610d0057600080fd5b50565b600060208284031215610d1557600080fd5b8135610cc281610cf2565b600060208284031215610d3257600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156103a2576103a2610d39565b80820281158282048414176103a2576103a2610d39565b600082610d9657634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156103a2576103a2610d39565b6020808252600e908201526d1b9bdd08185d5d1a1bdc9a5e995960921b604082015260600190565b600060208284031215610de857600080fd5b8151610cc281610cf2565b600060208284031215610e0557600080fd5b505191905056fea2646970667358221220ee9601a23cc469927936737257fef6fc1c5a6b05f5927ffcfa295efddaff680364736f6c634300081100330000000000000000000000000e5ec8a3165644d8533f9e5ac7e0f682f8fb078d0000000000000000000000000e5ec8a3165644d8533f9e5ac7e0f682f8fb078d
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061014c5760003560e01c80637519ab50116100c3578063b88a802f1161007c578063b88a802f146102d0578063cc1a378f146102d8578063cd3daf9d146102eb578063d1af0c7d146102f3578063df136d651461031a578063f69e20461461032357600080fd5b80637519ab50146102705780637b0a47ee1461027957806380faa57d146102825780638b8763471461028a5780638da5cb5b146102aa578063a694fc3a146102bd57600080fd5b80632e1a7d4d116101155780632e1a7d4d146101be5780633c6b16ab146101d15780635c975abb146101e457806367d3b4881461020857806370a082311461021157806372f702f31461023157600080fd5b80628cc262146101515780630700037d146101775780630fb5a6b41461019757806316c38b3c146101a057806318160ddd146101b5575b600080fd5b61016461015f366004610cc9565b61032b565b6040519081526020015b60405180910390f35b610164610185366004610cc9565b60086020526000908152604090205481565b61016460015481565b6101b36101ae366004610d03565b6103a8565b005b61016460065481565b6101b36101cc366004610d20565b6103f9565b6101b36101df366004610d20565b6105a9565b6000546101f890600160a01b900460ff1681565b604051901515815260200161016e565b61016460025481565b61016461021f366004610cc9565b60096020526000908152604090205481565b6102587f0000000000000000000000000e5ec8a3165644d8533f9e5ac7e0f682f8fb078d81565b6040516001600160a01b03909116815260200161016e565b61016460035481565b61016460045481565b61016461077b565b610164610298366004610cc9565b60076020526000908152604090205481565b600054610258906001600160a01b031681565b6101b36102cb366004610d20565b61078e565b6101b361093c565b6101b36102e6366004610d20565b610acb565b610164610b1c565b6102587f0000000000000000000000000e5ec8a3165644d8533f9e5ac7e0f682f8fb078d81565b61016460055481565b6101b3610b7d565b6001600160a01b0381166000908152600860209081526040808320546007909252822054670de0b6b3a764000090610361610b1c565b61036b9190610d4f565b6001600160a01b03851660009081526009602052604090205461038e9190610d62565b6103989190610d79565b6103a29190610d9b565b92915050565b6000546001600160a01b031633146103db5760405162461bcd60e51b81526004016103d290610dae565b60405180910390fd5b60008054911515600160a01b0260ff60a01b19909216919091179055565b33610402610b1c565b60055561040d61077b565b6003556001600160a01b03811615610454576104288161032b565b6001600160a01b0382166000908152600860209081526040808320939093556005546007909152919020555b600054600160a01b900460ff161561047f576040516313d0ff5960e31b815260040160405180910390fd5b816000036104a0576040516365e52d5160e11b815260040160405180910390fd5b33600090815260096020526040812080548492906104bf908490610d4f565b9250508190555081600660008282546104d89190610d4f565b909155505060405163a9059cbb60e01b8152336004820152602481018390527f0000000000000000000000000e5ec8a3165644d8533f9e5ac7e0f682f8fb078d6001600160a01b03169063a9059cbb906044016020604051808303816000875af115801561054a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061056e9190610dd6565b5060405182815233907f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364906020015b60405180910390a25050565b6000546001600160a01b031633146105d35760405162461bcd60e51b81526004016103d290610dae565b60006105dd610b1c565b6005556105e861077b565b6003556001600160a01b0381161561062f576106038161032b565b6001600160a01b0382166000908152600860209081526040808320939093556005546007909152919020555b600254421061064d576001546106459083610d79565b600455610689565b6000600454426002546106609190610d4f565b61066a9190610d62565b60015490915061067a8285610d9b565b6106849190610d79565b600455505b6004546000036106ac57604051630f5d66ef60e01b815260040160405180910390fd5b6040516370a0823160e01b81523060048201527f0000000000000000000000000e5ec8a3165644d8533f9e5ac7e0f682f8fb078d6001600160a01b0316906370a0823190602401602060405180830381865afa158015610710573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107349190610df3565b6001546004546107449190610d62565b111561076357604051631e9acf1760e31b815260040160405180910390fd5b6001546107709042610d9b565b600255505042600355565b600061078960025442610cb0565b905090565b33610797610b1c565b6005556107a261077b565b6003556001600160a01b038116156107e9576107bd8161032b565b6001600160a01b0382166000908152600860209081526040808320939093556005546007909152919020555b600054600160a01b900460ff1615610814576040516313d0ff5960e31b815260040160405180910390fd5b81600003610835576040516365e52d5160e11b815260040160405180910390fd5b6040516323b872dd60e01b8152336004820152306024820152604481018390527f0000000000000000000000000e5ec8a3165644d8533f9e5ac7e0f682f8fb078d6001600160a01b0316906323b872dd906064016020604051808303816000875af11580156108a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cc9190610dd6565b5033600090815260096020526040812080548492906108ec908490610d9b565b9250508190555081600660008282546109059190610d9b565b909155505060405182815233907febedb8b3c678666e7f36970bc8f57abf6d8fa2e828c0da91ea5b75bf68ed101a9060200161059d565b33610945610b1c565b60055561095061077b565b6003556001600160a01b038116156109975761096b8161032b565b6001600160a01b0382166000908152600860209081526040808320939093556005546007909152919020555b600054600160a01b900460ff16156109c2576040516313d0ff5960e31b815260040160405180910390fd5b33600090815260086020526040812054908190036109f3576040516312d37ee560e31b815260040160405180910390fd5b33600081815260086020526040808220919091555163a9059cbb60e01b81526004810191909152602481018290526001600160a01b037f0000000000000000000000000e5ec8a3165644d8533f9e5ac7e0f682f8fb078d169063a9059cbb906044016020604051808303816000875af1158015610a74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a989190610dd6565b5060405181815233907f106f923f993c2149d49b4255ff723acafa1f2d94393f561d3eda32ae348f72419060200161059d565b6000546001600160a01b03163314610af55760405162461bcd60e51b81526004016103d290610dae565b4260025410610b1757604051633407936360e01b815260040160405180910390fd5b600155565b6000600654600003610b2f575060055490565b600654600354610b3d61077b565b610b479190610d4f565b600454610b549190610d62565b610b6690670de0b6b3a7640000610d62565b610b709190610d79565b6005546107899190610d9b565b33610b86610b1c565b600555610b9161077b565b6003556001600160a01b03811615610bd857610bac8161032b565b6001600160a01b0382166000908152600860209081526040808320939093556005546007909152919020555b600054600160a01b900460ff1615610c03576040516313d0ff5960e31b815260040160405180910390fd5b3360009081526008602052604081205490819003610c34576040516312d37ee560e31b815260040160405180910390fd5b336000908152600860209081526040808320839055600990915281208054839290610c60908490610d9b565b925050819055508060066000828254610c799190610d9b565b909155505060405181815233907f169f1815ebdea059aac3bb00ec9a9594c7a5ffcb64a17e8392b5d84909a145569060200161059d565b600081831115610cc05781610cc2565b825b9392505050565b600060208284031215610cdb57600080fd5b81356001600160a01b0381168114610cc257600080fd5b8015158114610d0057600080fd5b50565b600060208284031215610d1557600080fd5b8135610cc281610cf2565b600060208284031215610d3257600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156103a2576103a2610d39565b80820281158282048414176103a2576103a2610d39565b600082610d9657634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156103a2576103a2610d39565b6020808252600e908201526d1b9bdd08185d5d1a1bdc9a5e995960921b604082015260600190565b600060208284031215610de857600080fd5b8151610cc281610cf2565b600060208284031215610e0557600080fd5b505191905056fea2646970667358221220ee9601a23cc469927936737257fef6fc1c5a6b05f5927ffcfa295efddaff680364736f6c63430008110033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000e5ec8a3165644d8533f9e5ac7e0f682f8fb078d0000000000000000000000000e5ec8a3165644d8533f9e5ac7e0f682f8fb078d
-----Decoded View---------------
Arg [0] : _stakingToken (address): 0x0e5ec8A3165644d8533F9e5aC7e0f682f8FB078D
Arg [1] : _rewardToken (address): 0x0e5ec8A3165644d8533F9e5aC7e0f682f8FB078D
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000000e5ec8a3165644d8533f9e5ac7e0f682f8fb078d
Arg [1] : 0000000000000000000000000e5ec8a3165644d8533f9e5ac7e0f682f8fb078d
Deployed Bytecode Sourcemap
783:5091:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4257:239;;;;;;:::i;:::-;;:::i;:::-;;;451:25:1;;;439:2;424:18;4257:239:0;;;;;;;;1514:42;;;;;;:::i;:::-;;;;;;;;;;;;;;955:23;;;;;;5669:87;;;;;;:::i;:::-;;:::i;:::-;;1353:26;;;;;;3557:335;;;;;;:::i;:::-;;:::i;5030:631::-;;;;;;:::i;:::-;;:::i;924:18::-;;;;;-1:-1:-1;;;924:18:0;;;;;;;;;1206:14:1;;1199:22;1181:41;;1169:2;1154:18;924::0;1041:187:1;1036:23:0;;;;;;1604:44;;;;;;:::i;:::-;;;;;;;;;;;;;;807:36;;;;;;;;-1:-1:-1;;;;;1410:32:1;;;1392:51;;1380:2;1365:18;807:36:0;1233:216:1;1106:24:0;;;;;;1192:25;;;;;;2754:123;;;:::i;1409:57::-;;;;;;:::i;:::-;;;;;;;;;;;;;;895:20;;;;;-1:-1:-1;;;;;895:20:0;;;3201:348;;;;;;:::i;:::-;;:::i;4504:335::-;;;:::i;4847:175::-;;;;;;:::i;:::-;;:::i;2885:308::-;;;:::i;850:36::-;;;;;1260:35;;;;;;3900:349;;;:::i;4257:239::-;-1:-1:-1;;;;;4471:17:0;;4312:7;4471:17;;;:7;:17;;;;;;;;;4413:22;:32;;;;;;4450:4;;4394:16;:14;:16::i;:::-;:51;;;;:::i;:::-;-1:-1:-1;;;;;4354:19:0;;;;;;:9;:19;;;;;;:92;;;;:::i;:::-;4353:101;;;;:::i;:::-;4352:136;;;;:::i;:::-;4332:156;4257:239;-1:-1:-1;;4257:239:0:o;5669:87::-;2360:5;;-1:-1:-1;;;;;2360:5:0;2346:10;:19;2338:46;;;;-1:-1:-1;;;2338:46:0;;;;;;;:::i;:::-;;;;;;;;;5732:6:::1;:16:::0;;;::::1;;-1:-1:-1::0;;;5732:16:0::1;-1:-1:-1::0;;;;5732:16:0;;::::1;::::0;;;::::1;::::0;;5669:87::o;3557:335::-;3614:10;2486:16;:14;:16::i;:::-;2463:20;:39;2525:26;:24;:26::i;:::-;2513:9;:38;-1:-1:-1;;;;;2568:22:0;;;2564:161;;2627:16;2634:8;2627:6;:16::i;:::-;-1:-1:-1;;;;;2607:17:0;;;;;;:7;:17;;;;;;;;:36;;;;2693:20;;2658:22;:32;;;;;;:55;2564:161;3640:6:::1;::::0;-1:-1:-1;;;3640:6:0;::::1;;;3637:26;;;3655:8;;-1:-1:-1::0;;;3655:8:0::1;;;;;;;;;;;3637:26;3677:7;3688:1;3677:12:::0;3674:36:::1;;3698:12;;-1:-1:-1::0;;;3698:12:0::1;;;;;;;;;;;3674:36;3731:10;3721:21;::::0;;;:9:::1;:21;::::0;;;;:32;;3746:7;;3721:21;:32:::1;::::0;3746:7;;3721:32:::1;:::i;:::-;;;;;;;;3779:7;3764:11;;:22;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;3797:42:0::1;::::0;-1:-1:-1;;;3797:42:0;;3819:10:::1;3797:42;::::0;::::1;2969:51:1::0;3036:18;;;3029:34;;;3797:12:0::1;-1:-1:-1::0;;;;;3797:21:0::1;::::0;::::1;::::0;2942:18:1;;3797:42:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;3855:29:0::1;::::0;451:25:1;;;3864:10:0::1;::::0;3855:29:::1;::::0;439:2:1;424:18;3855:29:0::1;;;;;;;;3557:335:::0;;:::o;5030:631::-;2360:5;;-1:-1:-1;;;;;2360:5:0;2346:10;:19;2338:46;;;;-1:-1:-1;;;2338:46:0;;;;;;;:::i;:::-;5131:1:::1;2486:16;:14;:16::i;:::-;2463:20;:39:::0;2525:26:::1;:24;:26::i;:::-;2513:9;:38:::0;-1:-1:-1;;;;;2568:22:0;::::1;::::0;2564:161:::1;;2627:16;2634:8;2627:6;:16::i;:::-;-1:-1:-1::0;;;;;2607:17:0;::::1;;::::0;;;:7:::1;:17;::::0;;;;;;;:36;;;;2693:20:::1;::::0;2658:22:::1;:32:::0;;;;;;:55;2564:161:::1;5169:8:::2;;5150:15;:27;5146:259;;5217:8;::::0;5207:18:::2;::::0;:7;:18:::2;:::i;:::-;5194:10;:31:::0;5146:259:::2;;;5258:24;5316:10;;5297:15;5286:8;;:26;;;;:::i;:::-;5285:41;;;;:::i;:::-;5385:8;::::0;5258:68;;-1:-1:-1;5355:26:0::2;5258:68:::0;5355:7;:26:::2;:::i;:::-;5354:39;;;;:::i;:::-;5341:10;:52:::0;-1:-1:-1;5146:259:0::2;5420:10;;5434:1;5420:15:::0;5417:43:::2;;5444:16;;-1:-1:-1::0;;;5444:16:0::2;;;;;;;;;;;5417:43;5498:37;::::0;-1:-1:-1;;;5498:37:0;;5529:4:::2;5498:37;::::0;::::2;1392:51:1::0;5498:12:0::2;-1:-1:-1::0;;;;;5498:22:0::2;::::0;::::2;::::0;1365:18:1;;5498:37:0::2;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5487:8;;5474:10;;:21;;;;:::i;:::-;:61;5471:94;;;5544:21;;-1:-1:-1::0;;;5544:21:0::2;;;;;;;;;;;5471:94;5607:8;::::0;5589:26:::2;::::0;:15:::2;:26;:::i;:::-;5578:8;:37:::0;-1:-1:-1;;5638:15:0::2;5626:9;:27:::0;5030:631::o;2754:123::-;2811:7;2838:31;2843:8;;2853:15;2838:4;:31::i;:::-;2831:38;;2754:123;:::o;3201:348::-;3255:10;2486:16;:14;:16::i;:::-;2463:20;:39;2525:26;:24;:26::i;:::-;2513:9;:38;-1:-1:-1;;;;;2568:22:0;;;2564:161;;2627:16;2634:8;2627:6;:16::i;:::-;-1:-1:-1;;;;;2607:17:0;;;;;;:7;:17;;;;;;;;:36;;;;2693:20;;2658:22;:32;;;;;;:55;2564:161;3281:6:::1;::::0;-1:-1:-1;;;3281:6:0;::::1;;;3278:26;;;3296:8;;-1:-1:-1::0;;;3296:8:0::1;;;;;;;;;;;3278:26;3318:7;3329:1;3318:12:::0;3315:36:::1;;3339:12;;-1:-1:-1::0;;;3339:12:0::1;;;;;;;;;;;3315:36;3362:61;::::0;-1:-1:-1;;;3362:61:0;;3388:10:::1;3362:61;::::0;::::1;3753:34:1::0;3408:4:0::1;3803:18:1::0;;;3796:43;3855:18;;;3848:34;;;3362:12:0::1;-1:-1:-1::0;;;;;3362:25:0::1;::::0;::::1;::::0;3688:18:1;;3362:61:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;3444:10:0::1;3434:21;::::0;;;:9:::1;:21;::::0;;;;:32;;3459:7;;3434:21;:32:::1;::::0;3459:7;;3434:32:::1;:::i;:::-;;;;;;;;3492:7;3477:11;;:22;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;3515:26:0::1;::::0;451:25:1;;;3521:10:0::1;::::0;3515:26:::1;::::0;439:2:1;424:18;3515:26:0::1;305:177:1::0;4504:335:0;4549:10;2486:16;:14;:16::i;:::-;2463:20;:39;2525:26;:24;:26::i;:::-;2513:9;:38;-1:-1:-1;;;;;2568:22:0;;;2564:161;;2627:16;2634:8;2627:6;:16::i;:::-;-1:-1:-1;;;;;2607:17:0;;;;;;:7;:17;;;;;;;;:36;;;;2693:20;;2658:22;:32;;;;;;:55;2564:161;4575:6:::1;::::0;-1:-1:-1;;;4575:6:0;::::1;;;4572:26;;;4590:8;;-1:-1:-1::0;;;4590:8:0::1;;;;;;;;;;;4572:26;4634:10;4609:14;4626:19:::0;;;:7:::1;:19;::::0;;;;;;4660:11;;;4656:40:::1;;4680:16;;-1:-1:-1::0;;;4680:16:0::1;;;;;;;;;;;4656:40;4715:10;4729:1;4707:19:::0;;;:7:::1;:19;::::0;;;;;:23;;;;4741:41;-1:-1:-1;;;4741:41:0;;::::1;::::0;::::1;2969:51:1::0;;;;3036:18;;;3029:34;;;-1:-1:-1;;;;;4741:12:0::1;:21;::::0;::::1;::::0;2942:18:1;;4741:41:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;4798:33:0::1;::::0;451:25:1;;;4812:10:0::1;::::0;4798:33:::1;::::0;439:2:1;424:18;4798:33:0::1;305:177:1::0;4847:175:0;2360:5;;-1:-1:-1;;;;;2360:5:0;2346:10;:19;2338:46;;;;-1:-1:-1;;;2338:46:0;;;;;;;:::i;:::-;4939:15:::1;4927:8;;:27;4924:59;;4963:20;;-1:-1:-1::0;;;4963:20:0::1;;;;;;;;;;;4924:59;4994:8;:20:::0;4847:175::o;2885:308::-;2932:7;2956:11;;2971:1;2956:16;2952:76;;-1:-1:-1;2996:20:0;;;2885:308::o;2952:76::-;3174:11;;3140:9;;3111:26;:24;:26::i;:::-;:38;;;;:::i;:::-;3097:10;;:53;;;;:::i;:::-;:60;;3153:4;3097:60;:::i;:::-;3096:89;;;;:::i;:::-;3060:20;;:125;;;;:::i;3900:349::-;3942:10;2486:16;:14;:16::i;:::-;2463:20;:39;2525:26;:24;:26::i;:::-;2513:9;:38;-1:-1:-1;;;;;2568:22:0;;;2564:161;;2627:16;2634:8;2627:6;:16::i;:::-;-1:-1:-1;;;;;2607:17:0;;;;;;:7;:17;;;;;;;;:36;;;;2693:20;;2658:22;:32;;;;;;:55;2564:161;3968:6:::1;::::0;-1:-1:-1;;;3968:6:0;::::1;;;3965:26;;;3983:8;;-1:-1:-1::0;;;3983:8:0::1;;;;;;;;;;;3965:26;4027:10;4002:14;4019:19:::0;;;:7:::1;:19;::::0;;;;;;4053:11;;;4049:40:::1;;4073:16;;-1:-1:-1::0;;;4073:16:0::1;;;;;;;;;;;4049:40;4108:10;4122:1;4100:19:::0;;;:7:::1;:19;::::0;;;;;;;:23;;;4134:9:::1;:21:::0;;;;;:31;;4159:6;;4122:1;4134:31:::1;::::0;4159:6;;4134:31:::1;:::i;:::-;;;;;;;;4191:6;4176:11;;:21;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;4213:28:0::1;::::0;451:25:1;;;4222:10:0::1;::::0;4213:28:::1;::::0;439:2:1;424:18;4213:28:0::1;305:177:1::0;5764:107:0;5822:7;5854:1;5849;:6;;:14;;5862:1;5849:14;;;5858:1;5849:14;5842:21;5764:107;-1:-1:-1;;;5764:107:0:o;14:286:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;168:23;;-1:-1:-1;;;;;220:31:1;;210:42;;200:70;;266:1;263;256:12;487:118;573:5;566:13;559:21;552:5;549:32;539:60;;595:1;592;585:12;539:60;487:118;:::o;610:241::-;666:6;719:2;707:9;698:7;694:23;690:32;687:52;;;735:1;732;725:12;687:52;774:9;761:23;793:28;815:5;793:28;:::i;856:180::-;915:6;968:2;956:9;947:7;943:23;939:32;936:52;;;984:1;981;974:12;936:52;-1:-1:-1;1007:23:1;;856:180;-1:-1:-1;856:180:1:o;1662:127::-;1723:10;1718:3;1714:20;1711:1;1704:31;1754:4;1751:1;1744:15;1778:4;1775:1;1768:15;1794:128;1861:9;;;1882:11;;;1879:37;;;1896:18;;:::i;1927:168::-;2000:9;;;2031;;2048:15;;;2042:22;;2028:37;2018:71;;2069:18;;:::i;2100:217::-;2140:1;2166;2156:132;;2210:10;2205:3;2201:20;2198:1;2191:31;2245:4;2242:1;2235:15;2273:4;2270:1;2263:15;2156:132;-1:-1:-1;2302:9:1;;2100:217::o;2322:125::-;2387:9;;;2408:10;;;2405:36;;;2421:18;;:::i;2452:338::-;2654:2;2636:21;;;2693:2;2673:18;;;2666:30;-1:-1:-1;;;2727:2:1;2712:18;;2705:44;2781:2;2766:18;;2452:338::o;3074:245::-;3141:6;3194:2;3182:9;3173:7;3169:23;3165:32;3162:52;;;3210:1;3207;3200:12;3162:52;3242:9;3236:16;3261:28;3283:5;3261:28;:::i;3324:184::-;3394:6;3447:2;3435:9;3426:7;3422:23;3418:32;3415:52;;;3463:1;3460;3453:12;3415:52;-1:-1:-1;3486:16:1;;3324:184;-1:-1:-1;3324:184:1:o
Swarm Source
ipfs://ee9601a23cc469927936737257fef6fc1c5a6b05f5927ffcfa295efddaff6803
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.