Feature Tip: Add private address tag to any address under My Name Tag !
Source Code
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 53 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Exit Farm | 16633244 | 1105 days ago | IN | 0 ETH | 0.00215742 | ||||
| Exit Farm | 16584121 | 1112 days ago | IN | 0 ETH | 0.00259594 | ||||
| Exit Farm | 16583319 | 1112 days ago | IN | 0 ETH | 0.00197188 | ||||
| Exit Farm | 16582904 | 1112 days ago | IN | 0 ETH | 0.00231742 | ||||
| Exit Farm | 16576178 | 1113 days ago | IN | 0 ETH | 0.00225538 | ||||
| Exit Farm | 16576106 | 1113 days ago | IN | 0 ETH | 0.00204071 | ||||
| Exit Farm | 16575081 | 1113 days ago | IN | 0 ETH | 0.00211937 | ||||
| Claim Reward | 16575070 | 1113 days ago | IN | 0 ETH | 0.00159095 | ||||
| Exit Farm | 16568706 | 1114 days ago | IN | 0 ETH | 0.0013651 | ||||
| Exit Farm | 16568658 | 1114 days ago | IN | 0 ETH | 0.00149683 | ||||
| Farm Deposit | 16566928 | 1114 days ago | IN | 0 ETH | 0.00214328 | ||||
| Exit Farm | 16566895 | 1114 days ago | IN | 0 ETH | 0.00181421 | ||||
| Exit Farm | 16566552 | 1115 days ago | IN | 0 ETH | 0.00166664 | ||||
| Farm Deposit | 16563260 | 1115 days ago | IN | 0 ETH | 0.00160311 | ||||
| Farm Deposit | 16563254 | 1115 days ago | IN | 0 ETH | 0.00210493 | ||||
| Exit Farm | 16562903 | 1115 days ago | IN | 0 ETH | 0.00212773 | ||||
| Exit Farm | 16555634 | 1116 days ago | IN | 0 ETH | 0.0024481 | ||||
| Exit Farm | 16554107 | 1116 days ago | IN | 0 ETH | 0.00249449 | ||||
| Exit Farm | 16552752 | 1116 days ago | IN | 0 ETH | 0.00198807 | ||||
| Exit Farm | 16552632 | 1116 days ago | IN | 0 ETH | 0.00197712 | ||||
| Exit Farm | 16552565 | 1116 days ago | IN | 0 ETH | 0.00217045 | ||||
| Exit Farm | 16549348 | 1117 days ago | IN | 0 ETH | 0.00476312 | ||||
| Exit Farm | 16548817 | 1117 days ago | IN | 0 ETH | 0.0031743 | ||||
| Exit Farm | 16548697 | 1117 days ago | IN | 0 ETH | 0.00295695 | ||||
| Exit Farm | 16548660 | 1117 days ago | IN | 0 ETH | 0.00354582 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
SimpleFarm
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity Multiple files format)
// SPDX-License-Identifier: -- BCOM --
pragma solidity =0.8.17;
import "./TokenWrapper.sol";
contract SimpleFarm is TokenWrapper {
IERC20 public immutable stakeToken;
IERC20 public immutable rewardToken;
uint256 public rewardRate;
uint256 public periodFinished;
uint256 public rewardDuration;
uint256 public lastUpdateTime;
uint256 public perTokenStored;
uint256 constant PRECISION = 1E18;
address constant ZERO_ADDRESS = address(0x0);
mapping(address => uint256) public userRewards;
mapping(address => uint256) public perTokenPaid;
address public ownerAddress;
address public proposedOwner;
address public managerAddress;
modifier onlyOwner() {
require(
msg.sender == ownerAddress,
"SimpleFarm: INVALID_OWNER"
);
_;
}
modifier onlyManager() {
require(
msg.sender == managerAddress,
"SimpleFarm: INVALID_MANAGER"
);
_;
}
modifier updateFarm() {
perTokenStored = rewardPerToken();
lastUpdateTime = lastTimeRewardApplicable();
_;
}
modifier updateUser() {
userRewards[msg.sender] = earned(msg.sender);
perTokenPaid[msg.sender] = perTokenStored;
_;
}
event Staked(
address indexed user,
uint256 tokenAmount
);
event Withdrawn(
address indexed user,
uint256 tokenAmount
);
event RewardAdded(
uint256 rewardRate,
uint256 tokenAmount
);
event RewardPaid(
address indexed user,
uint256 tokenAmount
);
event Recovered(
IERC20 indexed token,
uint256 tokenAmount
);
event RewardsDurationUpdated(
uint256 newRewardDuration
);
event OwnerProposed(
address proposedOwner
);
event OwnerChanged(
address newOwner
);
event ManagerChanged(
address newManager
);
constructor(
IERC20 _stakeToken,
IERC20 _rewardToken,
uint256 _defaultDuration
) {
require(
_defaultDuration > 0,
"SimpleFarm: INVALID_DURATION"
);
stakeToken = _stakeToken;
rewardToken = _rewardToken;
ownerAddress = msg.sender;
managerAddress = msg.sender;
rewardDuration = _defaultDuration;
}
/**
* @dev Tracks timestamp for when reward was applied last time
*/
function lastTimeRewardApplicable()
public
view
returns (uint256 res)
{
res = block.timestamp < periodFinished
? block.timestamp
: periodFinished;
}
/**
* @dev Relative value on reward for single staked token
*/
function rewardPerToken()
public
view
returns (uint256)
{
if (_totalStaked == 0) {
return perTokenStored;
}
uint256 timeFrame = lastTimeRewardApplicable()
- lastUpdateTime;
uint256 extraFund = timeFrame
* rewardRate
* PRECISION
/ _totalStaked;
return perTokenStored
+ extraFund;
}
/**
* @dev Reports earned amount by wallet address not yet collected
*/
function earned(
address _walletAddress
)
public
view
returns (uint256)
{
uint256 difference = rewardPerToken()
- perTokenPaid[_walletAddress];
return _balances[_walletAddress]
* difference
/ PRECISION
+ userRewards[_walletAddress];
}
/**
* @dev Performs deposit of staked token into the farm
*/
function farmDeposit(
uint256 _stakeAmount
)
external
updateFarm()
updateUser()
{
address senderAddress = msg.sender;
_stake(
_stakeAmount,
senderAddress
);
safeTransferFrom(
stakeToken,
senderAddress,
address(this),
_stakeAmount
);
emit Staked(
senderAddress,
_stakeAmount
);
}
/**
* @dev Performs withdrawal of staked token from the farm
*/
function farmWithdraw(
uint256 _withdrawAmount
)
public
updateFarm()
updateUser()
{
if (block.timestamp < periodFinished) {
require(
_totalStaked > _withdrawAmount,
"SimpleFarm: STILL_EARNING"
);
}
address senderAddress = msg.sender;
_withdraw(
_withdrawAmount,
senderAddress
);
safeTransfer(
stakeToken,
senderAddress,
_withdrawAmount
);
emit Withdrawn(
senderAddress,
_withdrawAmount
);
}
/**
* @dev Allows to withdraw staked tokens and claim rewards
*/
function exitFarm()
external
{
uint256 withdrawAmount = _balances[
msg.sender
];
farmWithdraw(
withdrawAmount
);
claimReward();
}
/**
* @dev Allows to claim accumulated rewards up to date
*/
function claimReward()
public
updateFarm()
updateUser()
returns (uint256 rewardAmount)
{
address senderAddress = msg.sender;
rewardAmount = earned(
senderAddress
);
require(
rewardAmount > 0,
"SimpleFarm: NOTHING_TO_CLAIM"
);
userRewards[senderAddress] = 0;
safeTransfer(
rewardToken,
senderAddress,
rewardAmount
);
emit RewardPaid(
senderAddress,
rewardAmount
);
}
/**
* @dev Allows to invoke owner-change procedure
*/
function proposeNewOwner(
address _newOwner
)
external
onlyOwner
{
if (_newOwner == ZERO_ADDRESS) {
revert("SimpleFarm: WRONG_ADDRESS");
}
proposedOwner = _newOwner;
emit OwnerProposed(
_newOwner
);
}
/**
* @dev Finalizes owner-change 2-step procedure
*/
function claimOwnership()
external
{
require(
msg.sender == proposedOwner,
"SimpleFarm: INVALID_CANDIDATE"
);
ownerAddress = proposedOwner;
emit OwnerChanged(
ownerAddress
);
}
/**
* @dev Allows to change manager of the farm
*/
function changeManager(
address _newManager
)
external
onlyOwner
{
if (_newManager == ZERO_ADDRESS) {
revert("SimpleFarm: WRONG_ADDRESS");
}
managerAddress = _newManager;
emit ManagerChanged(
_newManager
);
}
/**
* @dev Allows to recover accidentally sent tokens
* into the farm except stake and reward tokens
*/
function recoverToken(
IERC20 tokenAddress,
uint256 tokenAmount
)
external
{
if (tokenAddress == stakeToken) {
revert("SimpleFarm: INVALID_TOKEN");
}
if (tokenAddress == rewardToken) {
revert("SimpleFarm: INVALID_TOKEN");
}
safeTransfer(
tokenAddress,
ownerAddress,
tokenAmount
);
emit Recovered(
tokenAddress,
tokenAmount
);
}
/**
* @dev Manager sets the cycle duration for distribution
* in seconds and can't be changed during active cycle
*/
function setRewardDuration(
uint256 _rewardDuration
)
external
onlyManager
{
require(
_rewardDuration > 0,
"SimpleFarm: INVALID_DURATION"
);
require(
block.timestamp > periodFinished,
"SimpleFarm: ONGOING_DISTRIBUTION"
);
rewardDuration = _rewardDuration;
emit RewardsDurationUpdated(
_rewardDuration
);
}
/**
* @dev Manager sets reward per second to be distributed
* and invokes initial distribution to be started right away,
* must have some tokens already staked before executing.
*/
function setRewardRate(
uint256 _newRewardRate
)
external
onlyManager
updateFarm()
{
require(
_totalStaked > 0,
"SimpleFarm: NO_STAKERS"
);
require(
_newRewardRate > 0,
"SimpleFarm: INVALID_RATE"
);
uint256 currentPeriodFinish = periodFinished;
lastUpdateTime = block.timestamp;
periodFinished = block.timestamp
+ rewardDuration;
if (block.timestamp < currentPeriodFinish) {
require(
_newRewardRate >= rewardRate,
"SimpleFarm: RATE_CANT_DECREASE"
);
uint256 remainingTime = currentPeriodFinish
- block.timestamp;
uint256 rewardRemains = remainingTime
* rewardRate;
safeTransfer(
rewardToken,
managerAddress,
rewardRemains
);
}
rewardRate = _newRewardRate;
uint256 newRewardAmount = rewardDuration
* _newRewardRate;
safeTransferFrom(
rewardToken,
managerAddress,
address(this),
newRewardAmount
);
emit RewardAdded(
_newRewardRate,
newRewardAmount
);
}
}
// SPDX-License-Identifier: -- BCOM --
pragma solidity =0.8.17;
interface IERC20 {
/**
* @dev Interface fo transfer function
*/
function transfer(
address recipient,
uint256 amount
)
external
returns (bool);
/**
* @dev Interface for transferFrom function
*/
function transferFrom(
address sender,
address recipient,
uint256 amount
)
external
returns (bool);
}
// SPDX-License-Identifier: -- BCOM --
pragma solidity =0.8.17;
import "./IERC20.sol";
contract SafeERC20 {
/**
* @dev Allows to execute transfer for a token
*/
function safeTransfer(
IERC20 _token,
address _to,
uint256 _value
)
internal
{
callOptionalReturn(
_token,
abi.encodeWithSelector(
_token.transfer.selector,
_to,
_value
)
);
}
/**
* @dev Allows to execute transferFrom for a token
*/
function safeTransferFrom(
IERC20 _token,
address _from,
address _to,
uint256 _value
)
internal
{
callOptionalReturn(
_token,
abi.encodeWithSelector(
_token.transferFrom.selector,
_from,
_to,
_value
)
);
}
function callOptionalReturn(
IERC20 _token,
bytes memory _data
)
private
{
(
bool success,
bytes memory returndata
) = address(_token).call(_data);
require(
success,
"SafeERC20: CALL_FAILED"
);
if (returndata.length > 0) {
require(
abi.decode(
returndata,
(bool)
),
"SafeERC20: OPERATION_FAILED"
);
}
}
}
// SPDX-License-Identifier: -- BCOM --
pragma solidity =0.8.17;
import "./SafeERC20.sol";
contract TokenWrapper is SafeERC20 {
string public constant name = "VerseFarm";
string public constant symbol = "VFARM";
uint8 public constant decimals = 18;
uint256 _totalStaked;
mapping(address => uint256) _balances;
mapping(address => mapping(address => uint256)) private _allowances;
event Transfer(
address indexed from,
address indexed to,
uint256 value
);
event Approval(
address indexed owner,
address indexed spender,
uint256 value
);
/**
* @dev Returns total amount of staked tokens
*/
function totalSupply()
external
view
returns (uint256)
{
return _totalStaked;
}
/**
* @dev Returns staked amount by wallet address
*/
function balanceOf(
address _walletAddress
)
external
view
returns (uint256)
{
return _balances[_walletAddress];
}
/**
* @dev Increases staked amount by wallet address
*/
function _stake(
uint256 _amount,
address _address
)
internal
{
_totalStaked =
_totalStaked + _amount;
unchecked {
_balances[_address] =
_balances[_address] + _amount;
}
}
/**
* @dev Decreases total staked amount
*/
function _withdraw(
uint256 _amount,
address _address
)
internal
{
unchecked {
_totalStaked =
_totalStaked - _amount;
}
_balances[_address] =
_balances[_address] - _amount;
}
/**
* @dev Allows to transfer receipt tokens
*/
function transfer(
address _recipient,
uint256 _amount
)
external
returns (bool)
{
_transfer(
msg.sender,
_recipient,
_amount
);
return true;
}
/**
* @dev Updates balances during transfer
*/
function _transfer(
address _sender,
address _recipient,
uint256 _amount
)
internal
{
_balances[_sender] =
_balances[_sender] - _amount;
unchecked {
_balances[_recipient] =
_balances[_recipient] + _amount;
}
emit Transfer(
_sender,
_recipient,
_amount
);
}
/**
* @dev Allows to transfer receipt tokens on owner's behalf
*/
function transferFrom(
address _sender,
address _recipient,
uint256 _amount
)
external
returns (bool)
{
if (_allowances[_sender][msg.sender] != type(uint256).max) {
_allowances[_sender][msg.sender] -= _amount;
}
_transfer(
_sender,
_recipient,
_amount
);
return true;
}
/**
* @dev Grants permission for receipt tokens transfer on owner's behalf
*/
function approve(
address _spender,
uint256 _amount
)
external
returns (bool)
{
_approve(
msg.sender,
_spender,
_amount
);
return true;
}
/**
* @dev Checks value for receipt tokens transfer on owner's behalf
*/
function allowance(
address _owner,
address _spender
)
external
view
returns (uint256)
{
return _allowances[_owner][_spender];
}
/**
* @dev Allowance update for receipt tokens transfer on owner's behalf
*/
function _approve(
address _owner,
address _spender,
uint256 _amount
)
internal
{
_allowances[_owner][_spender] = _amount;
emit Approval(
_owner,
_spender,
_amount
);
}
/**
* @dev Increases value for receipt tokens transfer on owner's behalf
*/
function increaseAllowance(
address _spender,
uint256 _addedValue
)
external
returns (bool)
{
_approve(
msg.sender,
_spender,
_allowances[msg.sender][_spender] + _addedValue
);
return true;
}
/**
* @dev Decreases value for receipt tokens transfer on owner's behalf
*/
function decreaseAllowance(
address _spender,
uint256 _subtractedValue
)
external
returns (bool)
{
_approve(
msg.sender,
_spender,
_allowances[msg.sender][_spender] - _subtractedValue
);
return true;
}
}
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"contract IERC20","name":"_stakeToken","type":"address"},{"internalType":"contract IERC20","name":"_rewardToken","type":"address"},{"internalType":"uint256","name":"_defaultDuration","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newManager","type":"address"}],"name":"ManagerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"proposedOwner","type":"address"}],"name":"OwnerProposed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"contract IERC20","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"Recovered","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"rewardRate","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"RewardAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"RewardPaid","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newRewardDuration","type":"uint256"}],"name":"RewardsDurationUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"Staked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"Withdrawn","type":"event"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_walletAddress","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newManager","type":"address"}],"name":"changeManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimReward","outputs":[{"internalType":"uint256","name":"rewardAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_walletAddress","type":"address"}],"name":"earned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"exitFarm","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_stakeAmount","type":"uint256"}],"name":"farmDeposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_withdrawAmount","type":"uint256"}],"name":"farmWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lastTimeRewardApplicable","outputs":[{"internalType":"uint256","name":"res","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastUpdateTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"managerAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ownerAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"perTokenPaid","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"perTokenStored","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"periodFinished","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"proposeNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"proposedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"recoverToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rewardDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardPerToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"uint256","name":"_rewardDuration","type":"uint256"}],"name":"setRewardDuration","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newRewardRate","type":"uint256"}],"name":"setRewardRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stakeToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_recipient","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_sender","type":"address"},{"internalType":"address","name":"_recipient","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]Contract Creation Code
60c06040523480156200001157600080fd5b50604051620018d9380380620018d98339810160408190526200003491620000e4565b60008111620000895760405162461bcd60e51b815260206004820152601c60248201527f53696d706c654661726d3a20494e56414c49445f4455524154494f4e00000000604482015260640160405180910390fd5b6001600160a01b03928316608052911660a052600a8054336001600160a01b03199182168117909255600c8054909116909117905560055562000125565b80516001600160a01b0381168114620000df57600080fd5b919050565b600080600060608486031215620000fa57600080fd5b6200010584620000c7565b92506200011560208501620000c7565b9150604084015190509250925092565b60805160a05161175d6200017c6000396000818161052b01528181610ade01528181610b3201528181610e560152610fe301526000818161033101528181610715015281816108d80152610dd9015261175d6000f3fe608060405234801561001057600080fd5b506004361061021b5760003560e01c80639e447fc611610125578063c8f33c91116100ad578063d153b60c1161007c578063d153b60c146104c8578063dd62ed3e146104db578063ee6c0d5714610514578063f520e7e51461051d578063f7c618c11461052657600080fd5b8063c8f33c911461049c578063cd3daf9d146104a5578063cddaf358146104ad578063cf73a1bc146104b557600080fd5b8063a9059cbb116100f4578063a9059cbb14610448578063b1f8100d1461045b578063b29a81401461046e578063b88a802f14610481578063c0ed00c91461048957600080fd5b80639e447fc6146103ef578063a3fbbaae14610402578063a457c2d714610415578063a4c0ae6f1461042857600080fd5b806339509351116101a85780637b0a47ee116101775780637b0a47ee1461039457806380faa57d1461039d5780638f84aa09146103a557806390717dd3146103b857806395d89b41146103cb57600080fd5b806339509351146103115780634e71e0c81461032457806351ed6a301461032c57806370a082311461036b57600080fd5b80630962c4f9116101ef5780630962c4f9146102be57806318160ddd146102c757806323b872dd146102cf5780632b8c8a64146102e2578063313ce567146102f757600080fd5b80628cc262146102205780630660f1e81461024657806306fdde0314610266578063095ea7b31461029b575b600080fd5b61023361022e366004611541565b61054d565b6040519081526020015b60405180910390f35b610233610254366004611541565b60086020526000908152604090205481565b61028e6040518060400160405280600981526020016856657273654661726d60b81b81525081565b60405161023d9190611582565b6102ae6102a93660046115b5565b6105d3565b604051901515815260200161023d565b61023360045481565b600054610233565b6102ae6102dd3660046115e1565b6105ea565b6102f56102f0366004611622565b610664565b005b6102ff601281565b60405160ff909116815260200161023d565b6102ae61031f3660046115b5565b610782565b6102f56107be565b6103537f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161023d565b610233610379366004611541565b6001600160a01b031660009081526001602052604090205490565b61023360035481565b61023361086e565b600a54610353906001600160a01b031681565b6102f56103c6366004611622565b610885565b61028e60405180604001604052806005815260200164564641524d60d81b81525081565b6102f56103fd366004611622565b61093a565b6102f5610410366004611541565b610ba0565b6102ae6104233660046115b5565b610c9d565b610233610436366004611541565b60096020526000908152604090205481565b6102ae6104563660046115b5565b610cd4565b6102f5610469366004611541565b610ce1565b6102f561047c3660046115b5565b610dd7565b610233610f24565b6102f5610497366004611622565b611050565b61023360065481565b610233611180565b6102f56111f1565b600c54610353906001600160a01b031681565b600b54610353906001600160a01b031681565b6102336104e936600461163b565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b61023360075481565b61023360055481565b6103537f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b0381166000908152600960205260408120548190610570611180565b61057a919061168a565b6001600160a01b03841660009081526008602090815260408083205460019092529091205491925090670de0b6b3a7640000906105b890849061169d565b6105c291906116b4565b6105cc91906116d6565b9392505050565b60006105e0338484611216565b5060015b92915050565b6001600160a01b03831660009081526002602090815260408083203384529091528120546000191461064f576001600160a01b03841660009081526002602090815260408083203384529091528120805484929061064990849061168a565b90915550505b61065a848484611278565b5060019392505050565b61066c611180565b60075561067761086e565b6006556106833361054d565b336000908152600860209081526040808320939093556007546009909152919020556004544210156107055780600054116107055760405162461bcd60e51b815260206004820152601960248201527f53696d706c654661726d3a205354494c4c5f4541524e494e470000000000000060448201526064015b60405180910390fd5b3361071082826112fb565b61073b7f00000000000000000000000000000000000000000000000000000000000000008284611342565b806001600160a01b03167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d58360405161077691815260200190565b60405180910390a25050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916105e09185906107b99086906116d6565b611216565b600b546001600160a01b031633146108185760405162461bcd60e51b815260206004820152601d60248201527f53696d706c654661726d3a20494e56414c49445f43414e44494441544500000060448201526064016106fc565b600b54600a80546001600160a01b0319166001600160a01b0390921691821790556040519081527fa2ea9883a321a3e97b8266c2b078bfeec6d50c711ed71f874a90d500ae2eaf369060200160405180910390a1565b60006004544210610880575060045490565b504290565b61088d611180565b60075561089861086e565b6006556108a43361054d565b336000818152600860209081526040808320949094556007546009909152929020919091556108d382826113aa565b6108ff7f00000000000000000000000000000000000000000000000000000000000000008230856113dc565b806001600160a01b03167f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d8360405161077691815260200190565b600c546001600160a01b031633146109945760405162461bcd60e51b815260206004820152601b60248201527f53696d706c654661726d3a20494e56414c49445f4d414e41474552000000000060448201526064016106fc565b61099c611180565b6007556109a761086e565b6006556000546109f25760405162461bcd60e51b815260206004820152601660248201527553696d706c654661726d3a204e4f5f5354414b45525360501b60448201526064016106fc565b60008111610a425760405162461bcd60e51b815260206004820152601860248201527f53696d706c654661726d3a20494e56414c49445f52415445000000000000000060448201526064016106fc565b600454426006819055600554610a57916116d6565b60045542811115610b1057600354821015610ab45760405162461bcd60e51b815260206004820152601e60248201527f53696d706c654661726d3a20524154455f43414e545f4445435245415345000060448201526064016106fc565b6000610ac0428361168a565b9050600060035482610ad2919061169d565b600c54909150610b0d907f0000000000000000000000000000000000000000000000000000000000000000906001600160a01b031683611342565b50505b6003829055600554600090610b2690849061169d565b600c54909150610b62907f0000000000000000000000000000000000000000000000000000000000000000906001600160a01b031630846113dc565b60408051848152602081018390527f6c07ee05dcf262f13abf9d87b846ee789d2f90fe991d495acd7d7fc109ee1f55910160405180910390a1505050565b600a546001600160a01b03163314610bf65760405162461bcd60e51b815260206004820152601960248201527829b4b6b83632a330b9369d1024a72b20a624a22fa7aba722a960391b60448201526064016106fc565b6001600160a01b038116610c485760405162461bcd60e51b815260206004820152601960248201527853696d706c654661726d3a2057524f4e475f4144445245535360381b60448201526064016106fc565b600c80546001600160a01b0319166001600160a01b0383169081179091556040519081527f198db6e425fb8aafd1823c6ca50be2d51e5764571a5ae0f0f21c6812e45def0b906020015b60405180910390a150565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916105e09185906107b990869061168a565b60006105e0338484611278565b600a546001600160a01b03163314610d375760405162461bcd60e51b815260206004820152601960248201527829b4b6b83632a330b9369d1024a72b20a624a22fa7aba722a960391b60448201526064016106fc565b6001600160a01b038116610d895760405162461bcd60e51b815260206004820152601960248201527853696d706c654661726d3a2057524f4e475f4144445245535360381b60448201526064016106fc565b600b80546001600160a01b0319166001600160a01b0383169081179091556040519081527f35b5da26a401fdbef2e1cfabeec2c10a6121d56f136be501a393c284cdd1af5890602001610c92565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031603610e545760405162461bcd60e51b815260206004820152601960248201527829b4b6b83632a330b9369d1024a72b20a624a22faa27a5a2a760391b60448201526064016106fc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031603610ed15760405162461bcd60e51b815260206004820152601960248201527829b4b6b83632a330b9369d1024a72b20a624a22faa27a5a2a760391b60448201526064016106fc565b600a54610ee99083906001600160a01b031683611342565b816001600160a01b03167f8c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa288260405161077691815260200190565b6000610f2e611180565b600755610f3961086e565b600655610f453361054d565b33600081815260086020908152604080832094909455600754600990915292902091909155610f738161054d565b915060008211610fc55760405162461bcd60e51b815260206004820152601c60248201527f53696d706c654661726d3a204e4f5448494e475f544f5f434c41494d0000000060448201526064016106fc565b6001600160a01b0381166000908152600860205260408120556110097f00000000000000000000000000000000000000000000000000000000000000008284611342565b806001600160a01b03167fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e04868360405161104491815260200190565b60405180910390a25090565b600c546001600160a01b031633146110aa5760405162461bcd60e51b815260206004820152601b60248201527f53696d706c654661726d3a20494e56414c49445f4d414e41474552000000000060448201526064016106fc565b600081116110fa5760405162461bcd60e51b815260206004820152601c60248201527f53696d706c654661726d3a20494e56414c49445f4455524154494f4e0000000060448201526064016106fc565b600454421161114b5760405162461bcd60e51b815260206004820181905260248201527f53696d706c654661726d3a204f4e474f494e475f444953545249425554494f4e60448201526064016106fc565b60058190556040518181527ffb46ca5a5e06d4540d6387b930a7c978bce0db5f449ec6b3f5d07c6e1d44f2d390602001610c92565b60008054600003611192575060075490565b600060065461119f61086e565b6111a9919061168a565b905060008054670de0b6b3a7640000600354846111c6919061169d565b6111d0919061169d565b6111da91906116b4565b9050806007546111ea91906116d6565b9250505090565b3360009081526001602052604090205461120a81610664565b611212610f24565b5050565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831660009081526001602052604090205461129c90829061168a565b6001600160a01b0384811660008181526001602090815260408083209590955592861680825290849020805486019055925184815290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910161126b565b6000805483900381556001600160a01b03821681526001602052604090205461132590839061168a565b6001600160a01b0390911660009081526001602052604090205550565b6040516001600160a01b0383166024820152604481018290526113a590849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261141a565b505050565b816000546113b891906116d6565b60009081556001600160a01b03909116815260016020526040902080549091019055565b6040516001600160a01b03808516602483015283166044820152606481018290526114149085906323b872dd60e01b9060840161136e565b50505050565b600080836001600160a01b03168360405161143591906116e9565b6000604051808303816000865af19150503d8060008114611472576040519150601f19603f3d011682016040523d82523d6000602084013e611477565b606091505b5091509150816114c25760405162461bcd60e51b815260206004820152601660248201527514d85999515490cc8c0e8810d0531317d1905253115160521b60448201526064016106fc565b80511561141457808060200190518101906114dd9190611705565b6114145760405162461bcd60e51b815260206004820152601b60248201527f5361666545524332303a204f5045524154494f4e5f4641494c4544000000000060448201526064016106fc565b6001600160a01b038116811461153e57600080fd5b50565b60006020828403121561155357600080fd5b81356105cc81611529565b60005b83811015611579578181015183820152602001611561565b50506000910152565b60208152600082518060208401526115a181604085016020870161155e565b601f01601f19169190910160400192915050565b600080604083850312156115c857600080fd5b82356115d381611529565b946020939093013593505050565b6000806000606084860312156115f657600080fd5b833561160181611529565b9250602084013561161181611529565b929592945050506040919091013590565b60006020828403121561163457600080fd5b5035919050565b6000806040838503121561164e57600080fd5b823561165981611529565b9150602083013561166981611529565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b818103818111156105e4576105e4611674565b80820281158282048414176105e4576105e4611674565b6000826116d157634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156105e4576105e4611674565b600082516116fb81846020870161155e565b9190910192915050565b60006020828403121561171757600080fd5b815180151581146105cc57600080fdfea26469706673582212200c76f9ef49e6932b7fec81f35fcce7964e841b049a150c8122a2d50f18ca00a364736f6c63430008110033000000000000000000000000845c0179060362f071ff5c7f1d2703617a480f3e000000000000000000000000249ca82617ec3dfb2589c4c17ab7ec9765350a180000000000000000000000000000000000000000000000000000000000093a80
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061021b5760003560e01c80639e447fc611610125578063c8f33c91116100ad578063d153b60c1161007c578063d153b60c146104c8578063dd62ed3e146104db578063ee6c0d5714610514578063f520e7e51461051d578063f7c618c11461052657600080fd5b8063c8f33c911461049c578063cd3daf9d146104a5578063cddaf358146104ad578063cf73a1bc146104b557600080fd5b8063a9059cbb116100f4578063a9059cbb14610448578063b1f8100d1461045b578063b29a81401461046e578063b88a802f14610481578063c0ed00c91461048957600080fd5b80639e447fc6146103ef578063a3fbbaae14610402578063a457c2d714610415578063a4c0ae6f1461042857600080fd5b806339509351116101a85780637b0a47ee116101775780637b0a47ee1461039457806380faa57d1461039d5780638f84aa09146103a557806390717dd3146103b857806395d89b41146103cb57600080fd5b806339509351146103115780634e71e0c81461032457806351ed6a301461032c57806370a082311461036b57600080fd5b80630962c4f9116101ef5780630962c4f9146102be57806318160ddd146102c757806323b872dd146102cf5780632b8c8a64146102e2578063313ce567146102f757600080fd5b80628cc262146102205780630660f1e81461024657806306fdde0314610266578063095ea7b31461029b575b600080fd5b61023361022e366004611541565b61054d565b6040519081526020015b60405180910390f35b610233610254366004611541565b60086020526000908152604090205481565b61028e6040518060400160405280600981526020016856657273654661726d60b81b81525081565b60405161023d9190611582565b6102ae6102a93660046115b5565b6105d3565b604051901515815260200161023d565b61023360045481565b600054610233565b6102ae6102dd3660046115e1565b6105ea565b6102f56102f0366004611622565b610664565b005b6102ff601281565b60405160ff909116815260200161023d565b6102ae61031f3660046115b5565b610782565b6102f56107be565b6103537f000000000000000000000000845c0179060362f071ff5c7f1d2703617a480f3e81565b6040516001600160a01b03909116815260200161023d565b610233610379366004611541565b6001600160a01b031660009081526001602052604090205490565b61023360035481565b61023361086e565b600a54610353906001600160a01b031681565b6102f56103c6366004611622565b610885565b61028e60405180604001604052806005815260200164564641524d60d81b81525081565b6102f56103fd366004611622565b61093a565b6102f5610410366004611541565b610ba0565b6102ae6104233660046115b5565b610c9d565b610233610436366004611541565b60096020526000908152604090205481565b6102ae6104563660046115b5565b610cd4565b6102f5610469366004611541565b610ce1565b6102f561047c3660046115b5565b610dd7565b610233610f24565b6102f5610497366004611622565b611050565b61023360065481565b610233611180565b6102f56111f1565b600c54610353906001600160a01b031681565b600b54610353906001600160a01b031681565b6102336104e936600461163b565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b61023360075481565b61023360055481565b6103537f000000000000000000000000249ca82617ec3dfb2589c4c17ab7ec9765350a1881565b6001600160a01b0381166000908152600960205260408120548190610570611180565b61057a919061168a565b6001600160a01b03841660009081526008602090815260408083205460019092529091205491925090670de0b6b3a7640000906105b890849061169d565b6105c291906116b4565b6105cc91906116d6565b9392505050565b60006105e0338484611216565b5060015b92915050565b6001600160a01b03831660009081526002602090815260408083203384529091528120546000191461064f576001600160a01b03841660009081526002602090815260408083203384529091528120805484929061064990849061168a565b90915550505b61065a848484611278565b5060019392505050565b61066c611180565b60075561067761086e565b6006556106833361054d565b336000908152600860209081526040808320939093556007546009909152919020556004544210156107055780600054116107055760405162461bcd60e51b815260206004820152601960248201527f53696d706c654661726d3a205354494c4c5f4541524e494e470000000000000060448201526064015b60405180910390fd5b3361071082826112fb565b61073b7f000000000000000000000000845c0179060362f071ff5c7f1d2703617a480f3e8284611342565b806001600160a01b03167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d58360405161077691815260200190565b60405180910390a25050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916105e09185906107b99086906116d6565b611216565b600b546001600160a01b031633146108185760405162461bcd60e51b815260206004820152601d60248201527f53696d706c654661726d3a20494e56414c49445f43414e44494441544500000060448201526064016106fc565b600b54600a80546001600160a01b0319166001600160a01b0390921691821790556040519081527fa2ea9883a321a3e97b8266c2b078bfeec6d50c711ed71f874a90d500ae2eaf369060200160405180910390a1565b60006004544210610880575060045490565b504290565b61088d611180565b60075561089861086e565b6006556108a43361054d565b336000818152600860209081526040808320949094556007546009909152929020919091556108d382826113aa565b6108ff7f000000000000000000000000845c0179060362f071ff5c7f1d2703617a480f3e8230856113dc565b806001600160a01b03167f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d8360405161077691815260200190565b600c546001600160a01b031633146109945760405162461bcd60e51b815260206004820152601b60248201527f53696d706c654661726d3a20494e56414c49445f4d414e41474552000000000060448201526064016106fc565b61099c611180565b6007556109a761086e565b6006556000546109f25760405162461bcd60e51b815260206004820152601660248201527553696d706c654661726d3a204e4f5f5354414b45525360501b60448201526064016106fc565b60008111610a425760405162461bcd60e51b815260206004820152601860248201527f53696d706c654661726d3a20494e56414c49445f52415445000000000000000060448201526064016106fc565b600454426006819055600554610a57916116d6565b60045542811115610b1057600354821015610ab45760405162461bcd60e51b815260206004820152601e60248201527f53696d706c654661726d3a20524154455f43414e545f4445435245415345000060448201526064016106fc565b6000610ac0428361168a565b9050600060035482610ad2919061169d565b600c54909150610b0d907f000000000000000000000000249ca82617ec3dfb2589c4c17ab7ec9765350a18906001600160a01b031683611342565b50505b6003829055600554600090610b2690849061169d565b600c54909150610b62907f000000000000000000000000249ca82617ec3dfb2589c4c17ab7ec9765350a18906001600160a01b031630846113dc565b60408051848152602081018390527f6c07ee05dcf262f13abf9d87b846ee789d2f90fe991d495acd7d7fc109ee1f55910160405180910390a1505050565b600a546001600160a01b03163314610bf65760405162461bcd60e51b815260206004820152601960248201527829b4b6b83632a330b9369d1024a72b20a624a22fa7aba722a960391b60448201526064016106fc565b6001600160a01b038116610c485760405162461bcd60e51b815260206004820152601960248201527853696d706c654661726d3a2057524f4e475f4144445245535360381b60448201526064016106fc565b600c80546001600160a01b0319166001600160a01b0383169081179091556040519081527f198db6e425fb8aafd1823c6ca50be2d51e5764571a5ae0f0f21c6812e45def0b906020015b60405180910390a150565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916105e09185906107b990869061168a565b60006105e0338484611278565b600a546001600160a01b03163314610d375760405162461bcd60e51b815260206004820152601960248201527829b4b6b83632a330b9369d1024a72b20a624a22fa7aba722a960391b60448201526064016106fc565b6001600160a01b038116610d895760405162461bcd60e51b815260206004820152601960248201527853696d706c654661726d3a2057524f4e475f4144445245535360381b60448201526064016106fc565b600b80546001600160a01b0319166001600160a01b0383169081179091556040519081527f35b5da26a401fdbef2e1cfabeec2c10a6121d56f136be501a393c284cdd1af5890602001610c92565b7f000000000000000000000000845c0179060362f071ff5c7f1d2703617a480f3e6001600160a01b0316826001600160a01b031603610e545760405162461bcd60e51b815260206004820152601960248201527829b4b6b83632a330b9369d1024a72b20a624a22faa27a5a2a760391b60448201526064016106fc565b7f000000000000000000000000249ca82617ec3dfb2589c4c17ab7ec9765350a186001600160a01b0316826001600160a01b031603610ed15760405162461bcd60e51b815260206004820152601960248201527829b4b6b83632a330b9369d1024a72b20a624a22faa27a5a2a760391b60448201526064016106fc565b600a54610ee99083906001600160a01b031683611342565b816001600160a01b03167f8c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa288260405161077691815260200190565b6000610f2e611180565b600755610f3961086e565b600655610f453361054d565b33600081815260086020908152604080832094909455600754600990915292902091909155610f738161054d565b915060008211610fc55760405162461bcd60e51b815260206004820152601c60248201527f53696d706c654661726d3a204e4f5448494e475f544f5f434c41494d0000000060448201526064016106fc565b6001600160a01b0381166000908152600860205260408120556110097f000000000000000000000000249ca82617ec3dfb2589c4c17ab7ec9765350a188284611342565b806001600160a01b03167fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e04868360405161104491815260200190565b60405180910390a25090565b600c546001600160a01b031633146110aa5760405162461bcd60e51b815260206004820152601b60248201527f53696d706c654661726d3a20494e56414c49445f4d414e41474552000000000060448201526064016106fc565b600081116110fa5760405162461bcd60e51b815260206004820152601c60248201527f53696d706c654661726d3a20494e56414c49445f4455524154494f4e0000000060448201526064016106fc565b600454421161114b5760405162461bcd60e51b815260206004820181905260248201527f53696d706c654661726d3a204f4e474f494e475f444953545249425554494f4e60448201526064016106fc565b60058190556040518181527ffb46ca5a5e06d4540d6387b930a7c978bce0db5f449ec6b3f5d07c6e1d44f2d390602001610c92565b60008054600003611192575060075490565b600060065461119f61086e565b6111a9919061168a565b905060008054670de0b6b3a7640000600354846111c6919061169d565b6111d0919061169d565b6111da91906116b4565b9050806007546111ea91906116d6565b9250505090565b3360009081526001602052604090205461120a81610664565b611212610f24565b5050565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831660009081526001602052604090205461129c90829061168a565b6001600160a01b0384811660008181526001602090815260408083209590955592861680825290849020805486019055925184815290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910161126b565b6000805483900381556001600160a01b03821681526001602052604090205461132590839061168a565b6001600160a01b0390911660009081526001602052604090205550565b6040516001600160a01b0383166024820152604481018290526113a590849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261141a565b505050565b816000546113b891906116d6565b60009081556001600160a01b03909116815260016020526040902080549091019055565b6040516001600160a01b03808516602483015283166044820152606481018290526114149085906323b872dd60e01b9060840161136e565b50505050565b600080836001600160a01b03168360405161143591906116e9565b6000604051808303816000865af19150503d8060008114611472576040519150601f19603f3d011682016040523d82523d6000602084013e611477565b606091505b5091509150816114c25760405162461bcd60e51b815260206004820152601660248201527514d85999515490cc8c0e8810d0531317d1905253115160521b60448201526064016106fc565b80511561141457808060200190518101906114dd9190611705565b6114145760405162461bcd60e51b815260206004820152601b60248201527f5361666545524332303a204f5045524154494f4e5f4641494c4544000000000060448201526064016106fc565b6001600160a01b038116811461153e57600080fd5b50565b60006020828403121561155357600080fd5b81356105cc81611529565b60005b83811015611579578181015183820152602001611561565b50506000910152565b60208152600082518060208401526115a181604085016020870161155e565b601f01601f19169190910160400192915050565b600080604083850312156115c857600080fd5b82356115d381611529565b946020939093013593505050565b6000806000606084860312156115f657600080fd5b833561160181611529565b9250602084013561161181611529565b929592945050506040919091013590565b60006020828403121561163457600080fd5b5035919050565b6000806040838503121561164e57600080fd5b823561165981611529565b9150602083013561166981611529565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b818103818111156105e4576105e4611674565b80820281158282048414176105e4576105e4611674565b6000826116d157634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156105e4576105e4611674565b600082516116fb81846020870161155e565b9190910192915050565b60006020828403121561171757600080fd5b815180151581146105cc57600080fdfea26469706673582212200c76f9ef49e6932b7fec81f35fcce7964e841b049a150c8122a2d50f18ca00a364736f6c63430008110033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000845c0179060362f071ff5c7f1d2703617a480f3e000000000000000000000000249ca82617ec3dfb2589c4c17ab7ec9765350a180000000000000000000000000000000000000000000000000000000000093a80
-----Decoded View---------------
Arg [0] : _stakeToken (address): 0x845C0179060362f071FF5C7f1D2703617a480F3e
Arg [1] : _rewardToken (address): 0x249cA82617eC3DfB2589c4c17ab7EC9765350a18
Arg [2] : _defaultDuration (uint256): 604800
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000845c0179060362f071ff5c7f1d2703617a480f3e
Arg [1] : 000000000000000000000000249ca82617ec3dfb2589c4c17ab7ec9765350a18
Arg [2] : 0000000000000000000000000000000000000000000000000000000000093a80
Deployed Bytecode Sourcemap
96:9714:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3299:343;;;;;;:::i;:::-;;:::i;:::-;;;548:25:4;;;536:2;521:18;3299:343:2;;;;;;;;483:46;;;;;;:::i;:::-;;;;;;;;;;;;;;135:41:3;;;;;;;;;;;;;;;-1:-1:-1;;;135:41:3;;;;;;;;;;;;:::i;3119:242::-;;;;;;:::i;:::-;;:::i;:::-;;;1725:14:4;;1718:22;1700:41;;1688:2;1673:18;3119:242:3;1560:187:4;252:29:2;;;;;;701:119:3;771:7;801:12;701:119;;2610:411;;;;;;:::i;:::-;;:::i;4284:650:2:-;;;;;;:::i;:::-;;:::i;:::-;;228:35:3;;261:2;228:35;;;;;2570:4:4;2558:17;;;2540:36;;2528:2;2513:18;228:35:3;2398:184:4;4108:296:3;;;;;;:::i;:::-;;:::i;6347:270:2:-;;;:::i;139:34::-;;;;;;;;-1:-1:-1;;;;;2764:32:4;;;2746:51;;2734:2;2719:18;139:34:2;2587:216:4;894:166:3;;;;;;:::i;:::-;-1:-1:-1;;;;;1028:25:3;998:7;1028:25;;;:9;:25;;;;;;;894:166;221:25:2;;;;;;2485:212;;;:::i;589:27::-;;;;;-1:-1:-1;;;;;589:27:2;;;3723:477;;;;;;:::i;:::-;;:::i;182:39:3:-;;;;;;;;;;;;;;;-1:-1:-1;;;182:39:3;;;;;8454:1354:2;;;;;;:::i;:::-;;:::i;6688:310::-;;;;;;:::i;:::-;;:::i;4500:306:3:-;;;;;;:::i;:::-;;:::i;535:47:2:-;;;;;;:::i;:::-;;;;;;;;;;;;;;1799:248:3;;;;;;:::i;:::-;;:::i;5971:302:2:-;;;;;;:::i;:::-;;:::i;7127:514::-;;;;;;:::i;:::-;;:::i;5311:586::-;;;:::i;7783:460::-;;;;;;:::i;:::-;;:::i;322:29::-;;;;;;2780:427;;;:::i;5019:211::-;;;:::i;656:29::-;;;;;-1:-1:-1;;;;;656:29:2;;;622:28;;;;;-1:-1:-1;;;;;622:28:2;;;3454:188:3;;;;;;:::i;:::-;-1:-1:-1;;;;;3606:19:3;;;3576:7;3606:19;;;:11;:19;;;;;;;;:29;;;;;;;;;;;;;3454:188;357:29:2;;;;;;287;;;;;;179:35;;;;;3299:343;-1:-1:-1;;;;;3473:28:2;;3398:7;3473:28;;;:12;:28;;;;;;3398:7;;3442:16;:14;:16::i;:::-;:59;;;;:::i;:::-;-1:-1:-1;;;;;3608:27:2;;;;;;:11;:27;;;;;;;;;3519:9;:25;;;;;;;3421:80;;-1:-1:-1;3608:27:2;422:4;;3519:50;;3421:80;;3519:50;:::i;:::-;:74;;;;:::i;:::-;:116;;;;:::i;:::-;3512:123;3299:343;-1:-1:-1;;;3299:343:2:o;3119:242:3:-;3227:4;3247:85;3269:10;3293:8;3315:7;3247:8;:85::i;:::-;-1:-1:-1;3350:4:3;3119:242;;;;;:::o;2610:411::-;-1:-1:-1;;;;;2774:20:3;;2750:4;2774:20;;;:11;:20;;;;;;;;2795:10;2774:32;;;;;;;;-1:-1:-1;;2774:53:3;2770:127;;-1:-1:-1;;;;;2843:20:3;;;;;;:11;:20;;;;;;;;2864:10;2843:32;;;;;;;:43;;2879:7;;2843:20;:43;;2879:7;;2843:43;:::i;:::-;;;;-1:-1:-1;;2770:127:3;2907:85;2930:7;2951:10;2975:7;2907:9;:85::i;:::-;-1:-1:-1;3010:4:3;2610:411;;;;;:::o;4284:650:2:-;1053:16;:14;:16::i;:::-;1036:14;:33;1096:26;:24;:26::i;:::-;1079:14;:43;1204:18:::1;1211:10;1204:6;:18::i;:::-;1190:10;1178:23;::::0;;;:11:::1;:23;::::0;;;;;;;:44;;;;1259:14:::1;::::0;1232:12:::1;:24:::0;;;;;;:41;4438:14:::2;::::0;4420:15:::2;:32;4416:177;;;4508:15;4493:12;;:30;4468:114;;;::::0;-1:-1:-1;;;4468:114:2;;4734:2:4;4468:114:2::2;::::0;::::2;4716:21:4::0;4773:2;4753:18;;;4746:30;4812:27;4792:18;;;4785:55;4857:18;;4468:114:2::2;;;;;;;;;4627:10;4648:75;4671:15:::0;4627:10;4648:9:::2;:75::i;:::-;4734:102;4760:10;4784:13;4811:15;4734:12;:102::i;:::-;4875:13;-1:-1:-1::0;;;;;4852:75:2::2;;4902:15;4852:75;;;;548:25:4::0;;536:2;521:18;;402:177;4852:75:2::2;;;;;;;;4406:528;4284:650:::0;:::o;4108:296:3:-;4272:10;4230:4;4318:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;4318:33:3;;;;;;;;;;4230:4;;4250:125;;4296:8;;4318:47;;4354:11;;4318:47;:::i;:::-;4250:8;:125::i;6347:270:2:-;6439:13;;-1:-1:-1;;;;;6439:13:2;6425:10;:27;6404:103;;;;-1:-1:-1;;;6404:103:2;;5088:2:4;6404:103:2;;;5070:21:4;5127:2;5107:18;;;5100:30;5166:31;5146:18;;;5139:59;5215:18;;6404:103:2;4886:353:4;6404:103:2;6533:13;;6518:12;:28;;-1:-1:-1;;;;;;6518:28:2;-1:-1:-1;;;;;6533:13:2;;;6518:28;;;;;6562:48;;2746:51:4;;;6562:48:2;;2734:2:4;2719:18;6562:48:2;;;;;;;6347:270::o;2485:212::-;2566:11;2617:14;;2599:15;:32;:91;;-1:-1:-1;2676:14:2;;;2485:212::o;2599:91::-;-1:-1:-1;2646:15:2;;2485:212::o;3723:477::-;1053:16;:14;:16::i;:::-;1036:14;:33;1096:26;:24;:26::i;:::-;1079:14;:43;1204:18:::1;1211:10;1204:6;:18::i;:::-;1190:10;1178:23;::::0;;;:11:::1;:23;::::0;;;;;;;:44;;;;1259:14:::1;::::0;1232:12:::1;:24:::0;;;;;;:41;;;;3898:69:::2;3918:12:::0;1190:10;3898:6:::2;:69::i;:::-;3978:130;4008:10;4032:13;4067:4;4086:12;3978:16;:130::i;:::-;4144:13;-1:-1:-1::0;;;;;4124:69:2::2;;4171:12;4124:69;;;;548:25:4::0;;536:2;521:18;;402:177;8454:1354:2;913:14;;-1:-1:-1;;;;;913:14:2;899:10;:28;878:102;;;;-1:-1:-1;;;878:102:2;;5446:2:4;878:102:2;;;5428:21:4;5485:2;5465:18;;;5458:30;5524:29;5504:18;;;5497:57;5571:18;;878:102:2;5244:351:4;878:102:2;1053:16:::1;:14;:16::i;:::-;1036:14;:33:::0;1096:26:::1;:24;:26::i;:::-;1079:14;:43:::0;8623:1:::2;8608:12:::0;8587:85:::2;;;::::0;-1:-1:-1;;;8587:85:2;;5802:2:4;8587:85:2::2;::::0;::::2;5784:21:4::0;5841:2;5821:18;;;5814:30;-1:-1:-1;;;5860:18:4;;;5853:52;5922:18;;8587:85:2::2;5600:346:4::0;8587:85:2::2;8721:1;8704:14;:18;8683:89;;;::::0;-1:-1:-1;;;8683:89:2;;6153:2:4;8683:89:2::2;::::0;::::2;6135:21:4::0;6192:2;6172:18;;;6165:30;6231:26;6211:18;;;6204:54;6275:18;;8683:89:2::2;5951:348:4::0;8683:89:2::2;8813:14;::::0;8855:15:::2;8838:14;:32:::0;;;8927:14:::2;::::0;8897:44:::2;::::0;::::2;:::i;:::-;8880:14;:61:::0;8956:15:::2;:37:::0;-1:-1:-1;8952:492:2::2;;;9053:10;;9035:14;:28;;9010:117;;;::::0;-1:-1:-1;;;9010:117:2;;6506:2:4;9010:117:2::2;::::0;::::2;6488:21:4::0;6545:2;6525:18;;;6518:30;6584:32;6564:18;;;6557:60;6634:18;;9010:117:2::2;6304:354:4::0;9010:117:2::2;9142:21;9166:53;9204:15;9166:19:::0;:53:::2;:::i;:::-;9142:77;;9234:21;9290:10;;9258:13;:42;;;;:::i;:::-;9374:14;::::0;9234:66;;-1:-1:-1;9315:118:2::2;::::0;9345:11:::2;::::0;-1:-1:-1;;;;;9374:14:2::2;9234:66:::0;9315:12:::2;:118::i;:::-;8995:449;;8952:492;9454:10;:27:::0;;;9518:14:::2;::::0;9492:23:::2;::::0;9518:43:::2;::::0;9467:14;;9518:43:::2;:::i;:::-;9627:14;::::0;9492:69;;-1:-1:-1;9572:135:2::2;::::0;9602:11:::2;::::0;-1:-1:-1;;;;;9627:14:2::2;9663:4;9492:69:::0;9572:16:::2;:135::i;:::-;9723:78;::::0;;6837:25:4;;;6893:2;6878:18;;6871:34;;;9723:78:2::2;::::0;6810:18:4;9723:78:2::2;;;;;;;8577:1231;;8454:1354:::0;:::o;6688:310::-;758:12;;-1:-1:-1;;;;;758:12:2;744:10;:26;723:98;;;;-1:-1:-1;;;723:98:2;;7118:2:4;723:98:2;;;7100:21:4;7157:2;7137:18;;;7130:30;-1:-1:-1;;;7176:18:4;;;7169:55;7241:18;;723:98:2;6916:349:4;723:98:2;-1:-1:-1;;;;;6799:27:2;::::1;6795:93;;6842:35;::::0;-1:-1:-1;;;6842:35:2;;7472:2:4;6842:35:2::1;::::0;::::1;7454:21:4::0;7511:2;7491:18;;;7484:30;-1:-1:-1;;;7530:18:4;;;7523:55;7595:18;;6842:35:2::1;7270:349:4::0;6795:93:2::1;6898:14;:28:::0;;-1:-1:-1;;;;;;6898:28:2::1;-1:-1:-1::0;;;;;6898:28:2;::::1;::::0;;::::1;::::0;;;6942:49:::1;::::0;2746:51:4;;;6942:49:2::1;::::0;2734:2:4;2719:18;6942:49:2::1;;;;;;;;6688:310:::0;:::o;4500:306:3:-;4669:10;4627:4;4715:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;4715:33:3;;;;;;;;;;4627:4;;4647:130;;4693:8;;4715:52;;4751:16;;4715:52;:::i;1799:248::-;1910:4;1930:88;1953:10;1977;2001:7;1930:9;:88::i;5971:302:2:-;758:12;;-1:-1:-1;;;;;758:12:2;744:10;:26;723:98;;;;-1:-1:-1;;;723:98:2;;7118:2:4;723:98:2;;;7100:21:4;7157:2;7137:18;;;7130:30;-1:-1:-1;;;7176:18:4;;;7169:55;7241:18;;723:98:2;6916:349:4;723:98:2;-1:-1:-1;;;;;6082:25:2;::::1;6078:91;;6123:35;::::0;-1:-1:-1;;;6123:35:2;;7472:2:4;6123:35:2::1;::::0;::::1;7454:21:4::0;7511:2;7491:18;;;7484:30;-1:-1:-1;;;7530:18:4;;;7523:55;7595:18;;6123:35:2::1;7270:349:4::0;6078:91:2::1;6179:13;:25:::0;;-1:-1:-1;;;;;;6179:25:2::1;-1:-1:-1::0;;;;;6179:25:2;::::1;::::0;;::::1;::::0;;;6220:46:::1;::::0;2746:51:4;;;6220:46:2::1;::::0;2734:2:4;2719:18;6220:46:2::1;2587:216:4::0;7127:514:2;7264:10;-1:-1:-1;;;;;7248:26:2;:12;-1:-1:-1;;;;;7248:26:2;;7244:92;;7290:35;;-1:-1:-1;;;7290:35:2;;7826:2:4;7290:35:2;;;7808:21:4;7865:2;7845:18;;;7838:30;-1:-1:-1;;;7884:18:4;;;7877:55;7949:18;;7290:35:2;7624:349:4;7244:92:2;7366:11;-1:-1:-1;;;;;7350:27:2;:12;-1:-1:-1;;;;;7350:27:2;;7346:93;;7393:35;;-1:-1:-1;;;7393:35:2;;7826:2:4;7393:35:2;;;7808:21:4;7865:2;7845:18;;;7838:30;-1:-1:-1;;;7884:18:4;;;7877:55;7949:18;;7393:35:2;7624:349:4;7346:93:2;7501:12;;7449:99;;7475:12;;-1:-1:-1;;;;;7501:12:2;7527:11;7449:12;:99::i;:::-;7587:12;-1:-1:-1;;;;;7564:70:2;;7613:11;7564:70;;;;548:25:4;;536:2;521:18;;402:177;5311:586:2;5408:20;1053:16;:14;:16::i;:::-;1036:14;:33;1096:26;:24;:26::i;:::-;1079:14;:43;1204:18:::1;1211:10;1204:6;:18::i;:::-;1190:10;1178:23;::::0;;;:11:::1;:23;::::0;;;;;;;:44;;;;1259:14:::1;::::0;1232:12:::1;:24:::0;;;;;;:41;;;;5504:43:::2;1190:10:::0;5504:6:::2;:43::i;:::-;5489:58;;5594:1;5579:12;:16;5558:91;;;::::0;-1:-1:-1;;;5558:91:2;;8180:2:4;5558:91:2::2;::::0;::::2;8162:21:4::0;8219:2;8199:18;;;8192:30;8258;8238:18;;;8231:58;8306:18;;5558:91:2::2;7978:352:4::0;5558:91:2::2;-1:-1:-1::0;;;;;5660:26:2;::::2;5689:1;5660:26:::0;;;:11:::2;:26;::::0;;;;:30;5701:100:::2;5727:11;5672:13:::0;5779:12;5701::::2;:100::i;:::-;5841:13;-1:-1:-1::0;;;;;5817:73:2::2;;5868:12;5817:73;;;;548:25:4::0;;536:2;521:18;;402:177;5817:73:2::2;;;;;;;;5434:463;5311:586:::0;:::o;7783:460::-;913:14;;-1:-1:-1;;;;;913:14:2;899:10;:28;878:102;;;;-1:-1:-1;;;878:102:2;;5446:2:4;878:102:2;;;5428:21:4;5485:2;5465:18;;;5458:30;5524:29;5504:18;;;5497:57;5571:18;;878:102:2;5244:351:4;878:102:2;7939:1:::1;7921:15;:19;7900:94;;;::::0;-1:-1:-1;;;7900:94:2;;8537:2:4;7900:94:2::1;::::0;::::1;8519:21:4::0;8576:2;8556:18;;;8549:30;8615;8595:18;;;8588:58;8663:18;;7900:94:2::1;8335:352:4::0;7900:94:2::1;8044:14;;8026:15;:32;8005:111;;;::::0;-1:-1:-1;;;8005:111:2;;8894:2:4;8005:111:2::1;::::0;::::1;8876:21:4::0;;;8913:18;;;8906:30;8972:34;8952:18;;;8945:62;9024:18;;8005:111:2::1;8692:356:4::0;8005:111:2::1;8127:14;:32:::0;;;8175:61:::1;::::0;548:25:4;;;8175:61:2::1;::::0;536:2:4;521:18;8175:61:2::1;402:177:4::0;2780:427:2;2851:7;2878:12;;2894:1;2878:17;2874:69;;-1:-1:-1;2918:14:2;;;2780:427::o;2874:69::-;2953:17;3014:14;;2973:26;:24;:26::i;:::-;:55;;;;:::i;:::-;2953:75;;3039:17;3132:12;;422:4;3083:10;;3059:9;:34;;;;:::i;:::-;:58;;;;:::i;:::-;:85;;;;:::i;:::-;3039:105;;3191:9;3162:14;;:38;;;;:::i;:::-;3155:45;;;;2780:427;:::o;5019:211::-;5118:10;5070:22;5095:43;;;:9;:43;;;;;;5149:50;5095:43;5149:12;:50::i;:::-;5210:13;:11;:13::i;:::-;;5060:170;5019:211::o;3739:273:3:-;-1:-1:-1;;;;;3869:19:3;;;;;;;:11;:19;;;;;;;;:29;;;;;;;;;;;;;:39;;;3924:81;;548:25:4;;;3924:81:3;;521:18:4;3924:81:3;;;;;;;;3739:273;;;:::o;2114:410::-;-1:-1:-1;;;;;2277:18:3;;;;;;:9;:18;;;;;;:28;;2298:7;;2277:28;:::i;:::-;-1:-1:-1;;;;;2248:18:3;;;;;;;:9;:18;;;;;;;;:57;;;;2376:21;;;;;;;;;;;;:31;;2340:67;;2433:84;;548:25:4;;;2248:18:3;;2433:84;;521:18:4;2433:84:3;402:177:4;1464:267:3;1622:12;;;:22;;;1595:49;;-1:-1:-1;;;;;1695:19:3;;;;-1:-1:-1;1695:19:3;;;;;;:29;;1637:7;;1695:29;:::i;:::-;-1:-1:-1;;;;;1665:19:3;;;;;;;:9;:19;;;;;:59;-1:-1:-1;1464:267:3:o;183:319:1:-;362:123;;-1:-1:-1;;;;;9245:32:4;;362:123:1;;;9227:51:4;9294:18;;;9287:34;;;310:185:1;;342:6;;-1:-1:-1;;;402:24:1;9200:18:4;;362:123:1;;;;-1:-1:-1;;362:123:1;;;;;;;;;;;;;;-1:-1:-1;;;;;362:123:1;-1:-1:-1;;;;;;362:123:1;;;;;;;;;;310:18;:185::i;:::-;183:319;;;:::o;1136:264:3:-;1278:7;1263:12;;:22;;;;:::i;:::-;1240:12;:45;;;-1:-1:-1;;;;;1354:19:3;;;;;:9;:19;;;;;;;:29;;;1320:63;;1136:264::o;579:373:1:-;785:150;;-1:-1:-1;;;;;9590:15:4;;;785:150:1;;;9572:34:4;9642:15;;9622:18;;;9615:43;9674:18;;;9667:34;;;733:212:1;;765:6;;-1:-1:-1;;;825:28:1;9507:18:4;;785:150:1;9332:375:4;733:212:1;579:373;;;;:::o;958:548::-;1087:12;1113:23;1157:6;-1:-1:-1;;;;;1149:20:1;1170:5;1149:27;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1073:103;;;;1208:7;1187:76;;;;-1:-1:-1;;;1187:76:1;;10206:2:4;1187:76:1;;;10188:21:4;10245:2;10225:18;;;10218:30;-1:-1:-1;;;10264:18:4;;;10257:52;10326:18;;1187:76:1;10004:346:4;1187:76:1;1278:17;;:21;1274:226;;1372:10;1340:88;;;;;;;;;;;;:::i;:::-;1315:174;;;;-1:-1:-1;;;1315:174:1;;10839:2:4;1315:174:1;;;10821:21:4;10878:2;10858:18;;;10851:30;10917:29;10897:18;;;10890:57;10964:18;;1315:174:1;10637:351:4;14:131;-1:-1:-1;;;;;89:31:4;;79:42;;69:70;;135:1;132;125:12;69:70;14:131;:::o;150:247::-;209:6;262:2;250:9;241:7;237:23;233:32;230:52;;;278:1;275;268:12;230:52;317:9;304:23;336:31;361:5;336:31;:::i;584:250::-;669:1;679:113;693:6;690:1;687:13;679:113;;;769:11;;;763:18;750:11;;;743:39;715:2;708:10;679:113;;;-1:-1:-1;;826:1:4;808:16;;801:27;584:250::o;839:396::-;988:2;977:9;970:21;951:4;1020:6;1014:13;1063:6;1058:2;1047:9;1043:18;1036:34;1079:79;1151:6;1146:2;1135:9;1131:18;1126:2;1118:6;1114:15;1079:79;:::i;:::-;1219:2;1198:15;-1:-1:-1;;1194:29:4;1179:45;;;;1226:2;1175:54;;839:396;-1:-1:-1;;839:396:4:o;1240:315::-;1308:6;1316;1369:2;1357:9;1348:7;1344:23;1340:32;1337:52;;;1385:1;1382;1375:12;1337:52;1424:9;1411:23;1443:31;1468:5;1443:31;:::i;:::-;1493:5;1545:2;1530:18;;;;1517:32;;-1:-1:-1;;;1240:315:4:o;1752:456::-;1829:6;1837;1845;1898:2;1886:9;1877:7;1873:23;1869:32;1866:52;;;1914:1;1911;1904:12;1866:52;1953:9;1940:23;1972:31;1997:5;1972:31;:::i;:::-;2022:5;-1:-1:-1;2079:2:4;2064:18;;2051:32;2092:33;2051:32;2092:33;:::i;:::-;1752:456;;2144:7;;-1:-1:-1;;;2198:2:4;2183:18;;;;2170:32;;1752:456::o;2213:180::-;2272:6;2325:2;2313:9;2304:7;2300:23;2296:32;2293:52;;;2341:1;2338;2331:12;2293:52;-1:-1:-1;2364:23:4;;2213:180;-1:-1:-1;2213:180:4:o;3349:388::-;3417:6;3425;3478:2;3466:9;3457:7;3453:23;3449:32;3446:52;;;3494:1;3491;3484:12;3446:52;3533:9;3520:23;3552:31;3577:5;3552:31;:::i;:::-;3602:5;-1:-1:-1;3659:2:4;3644:18;;3631:32;3672:33;3631:32;3672:33;:::i;:::-;3724:7;3714:17;;;3349:388;;;;;:::o;3742:127::-;3803:10;3798:3;3794:20;3791:1;3784:31;3834:4;3831:1;3824:15;3858:4;3855:1;3848:15;3874:128;3941:9;;;3962:11;;;3959:37;;;3976:18;;:::i;4007:168::-;4080:9;;;4111;;4128:15;;;4122:22;;4108:37;4098:71;;4149:18;;:::i;4180:217::-;4220:1;4246;4236:132;;4290:10;4285:3;4281:20;4278:1;4271:31;4325:4;4322:1;4315:15;4353:4;4350:1;4343:15;4236:132;-1:-1:-1;4382:9:4;;4180:217::o;4402:125::-;4467:9;;;4488:10;;;4485:36;;;4501:18;;:::i;9712:287::-;9841:3;9879:6;9873:13;9895:66;9954:6;9949:3;9942:4;9934:6;9930:17;9895:66;:::i;:::-;9977:16;;;;;9712:287;-1:-1:-1;;9712:287:4:o;10355:277::-;10422:6;10475:2;10463:9;10454:7;10450:23;10446:32;10443:52;;;10491:1;10488;10481:12;10443:52;10523:9;10517:16;10576:5;10569:13;10562:21;10555:5;10552:32;10542:60;;10598:1;10595;10588:12
Swarm Source
ipfs://0c76f9ef49e6932b7fec81f35fcce7964e841b049a150c8122a2d50f18ca00a3
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
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.