More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 79 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Claim Rewards | 15742923 | 815 days ago | IN | 0 ETH | 0.00413129 | ||||
Claim Rewards | 15448216 | 859 days ago | IN | 0 ETH | 0.00780989 | ||||
Claim Rewards | 15037922 | 923 days ago | IN | 0 ETH | 0.05593252 | ||||
Claim Rewards | 14743699 | 973 days ago | IN | 0 ETH | 0.05593252 | ||||
Claim Rewards | 14619723 | 992 days ago | IN | 0 ETH | 0.01188383 | ||||
Claim Rewards | 14470999 | 1015 days ago | IN | 0 ETH | 0.00870061 | ||||
Claim Rewards | 14189344 | 1059 days ago | IN | 0 ETH | 0.05593252 | ||||
Claim Rewards | 13908487 | 1102 days ago | IN | 0 ETH | 0.05701252 | ||||
Claim Rewards | 13846671 | 1112 days ago | IN | 0 ETH | 0.01174456 | ||||
Claim Rewards | 13834186 | 1114 days ago | IN | 0 ETH | 0.01093156 | ||||
Claim Rewards | 13680762 | 1138 days ago | IN | 0 ETH | 0.02598568 | ||||
Claim Rewards | 13598560 | 1151 days ago | IN | 0 ETH | 0.03537859 | ||||
Claim Rewards | 13466021 | 1172 days ago | IN | 0 ETH | 0.01556112 | ||||
Claim Rewards | 13446244 | 1175 days ago | IN | 0 ETH | 0.01615828 | ||||
Claim Rewards | 13259780 | 1204 days ago | IN | 0 ETH | 0.01104497 | ||||
Claim Rewards | 13060663 | 1235 days ago | IN | 0 ETH | 0.05870002 | ||||
Claim Rewards | 13040618 | 1238 days ago | IN | 0 ETH | 0.00926398 | ||||
Claim Rewards | 12820585 | 1272 days ago | IN | 0 ETH | 0.01000809 | ||||
Claim Rewards | 12704482 | 1291 days ago | IN | 0 ETH | 0.06642225 | ||||
Claim Rewards | 12587718 | 1309 days ago | IN | 0 ETH | 0.00481439 | ||||
Claim Rewards | 12578291 | 1310 days ago | IN | 0 ETH | 0.00412933 | ||||
Claim Rewards | 12492750 | 1323 days ago | IN | 0 ETH | 0.05809252 | ||||
Claim Rewards | 12444361 | 1331 days ago | IN | 0 ETH | 0.01280945 | ||||
Claim Rewards | 12382013 | 1341 days ago | IN | 0 ETH | 0.06334725 | ||||
Claim Rewards | 12300707 | 1353 days ago | IN | 0 ETH | 0.01764981 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
YFMBVault
Compiler Version
v0.6.10+commit.00c0fcaf
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-11-17 */ // File: @openzeppelin/contracts/token/ERC20/IERC20.sol pragma solidity ^0.6.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } // File: @openzeppelin/contracts/math/SafeMath.sol pragma solidity ^0.6.0; /** * @dev Wrappers over Solidity's arithmetic operations with added overflow * checks. * * Arithmetic operations in Solidity wrap on overflow. This can easily result * in bugs, because programmers usually assume that an overflow raises an * error, which is the standard behavior in high level programming languages. * `SafeMath` restores this intuition by reverting the transaction when an * operation overflows. * * Using this library instead of the unchecked operations eliminates an entire * class of bugs, so it's recommended to use it always. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } /** * @dev Returns the integer division of two unsigned integers. Reverts with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts with custom message when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } // File: @openzeppelin/contracts/utils/Address.sol pragma solidity ^0.6.2; /** * @dev Collection of functions related to the address type */ library Address { /** * @dev Returns true if `account` is a contract. * * [IMPORTANT] * ==== * It is unsafe to assume that an address for which this function returns * false is an externally-owned account (EOA) and not a contract. * * Among others, `isContract` will return false for the following * types of addresses: * * - an externally-owned account * - a contract in construction * - an address where a contract will be created * - an address where a contract lived, but was destroyed * ==== */ function isContract(address account) internal view returns (bool) { // This method relies in extcodesize, which returns 0 for contracts in // construction, since the code is only stored at the end of the // constructor execution. uint256 size; // solhint-disable-next-line no-inline-assembly assembly { size := extcodesize(account) } return size > 0; } /** * @dev Replacement for Solidity's `transfer`: sends `amount` wei to * `recipient`, forwarding all available gas and reverting on errors. * * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost * of certain opcodes, possibly making contracts go over the 2300 gas limit * imposed by `transfer`, making them unable to receive funds via * `transfer`. {sendValue} removes this limitation. * * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more]. * * IMPORTANT: because control is transferred to `recipient`, care must be * taken to not create reentrancy vulnerabilities. Consider using * {ReentrancyGuard} or the * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]. */ function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); // solhint-disable-next-line avoid-low-level-calls, avoid-call-value (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } /** * @dev Performs a Solidity function call using a low level `call`. A * plain`call` is an unsafe replacement for a function call: use this * function instead. * * If `target` reverts with a revert reason, it is bubbled up by this * function (like regular Solidity function calls). * * Returns the raw returned data. To convert to the expected return value, * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`]. * * Requirements: * * - `target` must be a contract. * - calling `target` with `data` must not revert. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with * `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return _functionCallWithValue(target, data, 0, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but also transferring `value` wei to `target`. * * Requirements: * * - the calling contract must have an ETH balance of at least `value`. * - the called Solidity function must be `payable`. * * _Available since v3.1._ */ function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } /** * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but * with `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); return _functionCallWithValue(target, data, value, errorMessage); } function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) { require(isContract(target), "Address: call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.call{ value: weiValue }(data); if (success) { return returndata; } else { // Look for revert reason and bubble it up if present if (returndata.length > 0) { // The easiest way to bubble the revert reason is using memory via assembly // solhint-disable-next-line no-inline-assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } // File: @openzeppelin/contracts/token/ERC20/SafeERC20.sol pragma solidity ^0.6.0; /** * @title SafeERC20 * @dev Wrappers around ERC20 operations that throw on failure (when the token * contract returns false). Tokens that return no value (and instead revert or * throw on failure) are also supported, non-reverting calls are assumed to be * successful. * To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract, * which allows you to call the safe operations as `token.safeTransfer(...)`, etc. */ library SafeERC20 { using SafeMath for uint256; using Address for address; function safeTransfer(IERC20 token, address to, uint256 value) internal { _callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value)); } function safeTransferFrom(IERC20 token, address from, address to, uint256 value) internal { _callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value)); } /** * @dev Deprecated. This function has issues similar to the ones found in * {IERC20-approve}, and its usage is discouraged. * * Whenever possible, use {safeIncreaseAllowance} and * {safeDecreaseAllowance} instead. */ function safeApprove(IERC20 token, address spender, uint256 value) internal { // safeApprove should only be called when setting an initial allowance, // or when resetting it to zero. To increase and decrease it, use // 'safeIncreaseAllowance' and 'safeDecreaseAllowance' // solhint-disable-next-line max-line-length require((value == 0) || (token.allowance(address(this), spender) == 0), "SafeERC20: approve from non-zero to non-zero allowance" ); _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value)); } function safeIncreaseAllowance(IERC20 token, address spender, uint256 value) internal { uint256 newAllowance = token.allowance(address(this), spender).add(value); _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance)); } function safeDecreaseAllowance(IERC20 token, address spender, uint256 value) internal { uint256 newAllowance = token.allowance(address(this), spender).sub(value, "SafeERC20: decreased allowance below zero"); _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance)); } /** * @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement * on the return value: the return value is optional (but if data is returned, it must not be false). * @param token The token targeted by the call. * @param data The call data (encoded using abi.encode or one of its variants). */ function _callOptionalReturn(IERC20 token, bytes memory data) private { // We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since // we're implementing it ourselves. We use {Address.functionCall} to perform this call, which verifies that // the target address contains contract code and also asserts for success in the low-level call. bytes memory returndata = address(token).functionCall(data, "SafeERC20: low-level call failed"); if (returndata.length > 0) { // Return data is optional // solhint-disable-next-line max-line-length require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed"); } } } // File: @openzeppelin/contracts/GSN/Context.sol pragma solidity ^0.6.0; /* * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with GSN meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return msg.sender; } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } // File: contracts/Ownable.sol pragma solidity ^0.6.10; contract Ownable is Context { address payable public owner; event TransferredOwnership(address _previous, address _next, uint256 _time); modifier onlyOwner() { require(_msgSender() == owner, "Owner only"); _; } constructor() public { owner = _msgSender(); } function transferOwnership(address payable _owner) public onlyOwner() { address previousOwner = owner; owner = _owner; emit TransferredOwnership(previousOwner, owner, now); } } // File: contracts/YFMBVault.sol pragma solidity ^0.6.10; contract YFMBVault is Ownable { using SafeMath for uint256; using SafeERC20 for IERC20; struct User { uint256 _LPDeposited; uint256 _rewardDebt; } // events event StakeCompleted(address _staker, uint256 _amount, uint256 _totalStaked, uint256 _time); event PoolUpdated(uint256 _blocksRewarded, uint256 _amountRewarded, uint256 _time); event RewardsClaimed(address _staker, uint256 _rewardsClaimed, uint256 _time); event EmergencyWithdrawOn(address _caller, bool _emergencyWithdraw, uint256 _time); event WithdrawCompleted(address _staker, uint256 _amount, uint256 _time); // constants IERC20 public LPToken; IERC20 public YFMBToken; address public rewardPool; uint256 public dailyReward; uint256 public accYFMBPerShare; uint256 public lastRewardBlock; uint256 public totalStaked; bool public emergencyWithdraw = false; mapping(address => User) public userDetails; // Constructor will set the address of YFMB/ETH LP token constructor(address _LPToken, address _YFMBToken, address _rewardPool, uint256 _dailyReward) Ownable() public { LPToken = IERC20(_LPToken); YFMBToken = IERC20(_YFMBToken); rewardPool = _rewardPool; lastRewardBlock = block.number; setDailyReward(_dailyReward); accYFMBPerShare = 0; } // 6500 blocks in average day --- decimals * YFMB balance of rewardPool / blocks / 10000 * dailyReward (in hundredths of %) = rewardPerBlock function getRewardPerBlock() public view returns(uint256) { return YFMBToken.balanceOf(rewardPool).div(6500).div(10000).mul(dailyReward); } // % of reward pool to be distributed each day --- in hundredths of % 150 == 1.50% function setDailyReward(uint256 _dailyReward) public onlyOwner { dailyReward = _dailyReward; } // Function that will get balance of a certain stake function getUserBalance(address _staker) public view returns(uint256 _amountStaked) { return userDetails[_staker]._LPDeposited; } // Function that returns User's pending rewards function pendingRewards(address _staker) public view returns(uint256) { User storage user = userDetails[_staker]; uint256 _accYFMBPerShare = accYFMBPerShare; if (block.number > lastRewardBlock && totalStaked != 0) { uint256 blocksToReward = block.number.sub(lastRewardBlock); uint256 YFMBReward = blocksToReward.mul(getRewardPerBlock()); _accYFMBPerShare = _accYFMBPerShare.add(YFMBReward.mul(1e18).div(totalStaked)); } return user._LPDeposited.mul(_accYFMBPerShare).div(1e18).sub(user._rewardDebt); } // Function that updates YFMB/ETH LP pool function updatePool() public { if (block.number <= lastRewardBlock) { return; } if (totalStaked == 0) { lastRewardBlock = block.number; return; } uint256 blocksToReward = block.number.sub(lastRewardBlock); uint256 YFMBReward = blocksToReward.mul(getRewardPerBlock()); YFMBToken.transferFrom(rewardPool, address(this), YFMBReward); accYFMBPerShare = accYFMBPerShare.add(YFMBReward.mul(1e18).div(totalStaked)); lastRewardBlock = block.number; emit PoolUpdated(blocksToReward, YFMBReward, now); } // Function that lets user stake YFMB/ETH LP function stakeLP(uint256 _amount) public { require(emergencyWithdraw == false, "emergency withdraw is on, cannot stake"); require(_amount > 0, "Can not stake 0 LP tokens"); require(LPToken.balanceOf(_msgSender()) >= _amount, "Do not have enough LP tokens to stake"); updatePool(); User storage user = userDetails[_msgSender()]; if(user._LPDeposited > 0) { uint256 _pendingRewards = user._LPDeposited.mul(accYFMBPerShare).div(1e18).sub(user._rewardDebt); if(_pendingRewards > 0) { YFMBToken.transfer(_msgSender(), _pendingRewards); emit RewardsClaimed(_msgSender(), _pendingRewards, now); } } LPToken.transferFrom(_msgSender(), address(this), _amount); user._LPDeposited = user._LPDeposited.add(_amount); totalStaked = totalStaked.add(_amount); user._rewardDebt = user._LPDeposited.mul(accYFMBPerShare).div(1e18); emit StakeCompleted(_msgSender(), _amount, user._LPDeposited, now); } // Function that will allow user to claim rewards function claimRewards() public { updatePool(); User storage user = userDetails[_msgSender()]; uint256 _pendingRewards = user._LPDeposited.mul(accYFMBPerShare).div(1e18).sub(user._rewardDebt); require(_pendingRewards > 0, "No rewards to claim!"); YFMBToken.transfer(_msgSender(), _pendingRewards); user._rewardDebt = user._LPDeposited.mul(accYFMBPerShare).div(1e18); emit RewardsClaimed(_msgSender(), _pendingRewards, now); } // Function that lets user unstake YFMB/ETH LP in system function unstakeLP() public { require(emergencyWithdraw == true, "Can not withdraw"); updatePool(); User storage user = userDetails[_msgSender()]; require(user._LPDeposited > 0, "User has no stake"); uint256 _pendingRewards = user._LPDeposited.mul(accYFMBPerShare).div(1e18).sub(user._rewardDebt); uint256 beingWithdrawn = user._LPDeposited; user._LPDeposited = 0; user._rewardDebt = 0; totalStaked = totalStaked.sub(beingWithdrawn); LPToken.transfer(_msgSender(), beingWithdrawn); YFMBToken.transfer(_msgSender(), _pendingRewards); emit WithdrawCompleted(_msgSender(), beingWithdrawn, now); emit RewardsClaimed(_msgSender(), _pendingRewards, now); } // Function that will turn on emergency withdraws function turnEmergencyWithdrawOn() public onlyOwner() { require(emergencyWithdraw == false, "emergency withdrawing already allowed"); emergencyWithdraw = true; emit EmergencyWithdrawOn(_msgSender(), emergencyWithdraw, now); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_LPToken","type":"address"},{"internalType":"address","name":"_YFMBToken","type":"address"},{"internalType":"address","name":"_rewardPool","type":"address"},{"internalType":"uint256","name":"_dailyReward","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_caller","type":"address"},{"indexed":false,"internalType":"bool","name":"_emergencyWithdraw","type":"bool"},{"indexed":false,"internalType":"uint256","name":"_time","type":"uint256"}],"name":"EmergencyWithdrawOn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_blocksRewarded","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_amountRewarded","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_time","type":"uint256"}],"name":"PoolUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_staker","type":"address"},{"indexed":false,"internalType":"uint256","name":"_rewardsClaimed","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_time","type":"uint256"}],"name":"RewardsClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_staker","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_totalStaked","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_time","type":"uint256"}],"name":"StakeCompleted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_previous","type":"address"},{"indexed":false,"internalType":"address","name":"_next","type":"address"},{"indexed":false,"internalType":"uint256","name":"_time","type":"uint256"}],"name":"TransferredOwnership","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_staker","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_time","type":"uint256"}],"name":"WithdrawCompleted","type":"event"},{"inputs":[],"name":"LPToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"YFMBToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"accYFMBPerShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"dailyReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"emergencyWithdraw","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRewardPerBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_staker","type":"address"}],"name":"getUserBalance","outputs":[{"internalType":"uint256","name":"_amountStaked","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastRewardBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_staker","type":"address"}],"name":"pendingRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardPool","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_dailyReward","type":"uint256"}],"name":"setDailyReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"stakeLP","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalStaked","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"_owner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"turnEmergencyWithdrawOn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unstakeLP","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"updatePool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userDetails","outputs":[{"internalType":"uint256","name":"_LPDeposited","type":"uint256"},{"internalType":"uint256","name":"_rewardDebt","type":"uint256"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60806040526000600860006101000a81548160ff0219169083151502179055503480156200002c57600080fd5b50604051620023c7380380620023c7833981810160405260808110156200005257600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919050505062000091620001bd60201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555043600681905550620001ab81620001c560201b60201c565b600060058190555050505050620002a1565b600033905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166200020d620001bd60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000297576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f4f776e6572206f6e6c790000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8060048190555050565b61211680620002b16000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c8063817b1cd2116100ad578063db2e21bc11610071578063db2e21bc14610440578063e3161ddd14610462578063e5da2cb21461046c578063f2fde38b1461049a578063f7929e44146104de5761012c565b8063817b1cd2146103925780638da5cb5b146103b0578063a9f8d181146103fa578063c819d38814610418578063c964ad45146104225761012c565b8063372500ab116100f4578063372500ab14610269578063477348921461027357806348dec2a7146102cb57806349df8d331461032a57806366666aa9146103485761012c565b8063011cee36146101315780630aa435331461017b5780632c691b36146101a957806331d7a262146101c757806333b7d3ea1461021f575b600080fd5b6101396104e8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101a76004803603602081101561019157600080fd5b810190808035906020019092919050505061050e565b005b6101b16105e1565b6040518082815260200191505060405180910390f35b610209600480360360208110156101dd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105e7565b6040518082815260200191505060405180910390f35b610227610718565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61027161073e565b005b6102b56004803603602081101561028957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109f8565b6040518082815260200191505060405180910390f35b61030d600480360360208110156102e157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a44565b604051808381526020018281526020019250505060405180910390f35b610332610a68565b6040518082815260200191505060405180910390f35b610350610ba7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61039a610bcd565b6040518082815260200191505060405180910390f35b6103b8610bd3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610402610bf8565b6040518082815260200191505060405180910390f35b610420610bfe565b005b61042a6110a9565b6040518082815260200191505060405180910390f35b6104486110af565b604051808215151515815260200191505060405180910390f35b61046a6110c2565b005b6104986004803603602081101561048257600080fd5b81019080803590602001909291905050506112f5565b005b6104dc600480360360208110156104b057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061194d565b005b6104e6611b40565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661054e611d1f565b73ffffffffffffffffffffffffffffffffffffffff16146105d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f4f776e6572206f6e6c790000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8060048190555050565b60055481565b600080600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060006005549050600654431180156106465750600060075414155b156106c857600061066260065443611d2790919063ffffffff16565b90506000610680610671610a68565b83611d7190919063ffffffff16565b90506106c36106b46007546106a6670de0b6b3a764000085611d7190919063ffffffff16565b611df790919063ffffffff16565b84611e4190919063ffffffff16565b925050505b61070f8260010154610701670de0b6b3a76400006106f3858760000154611d7190919063ffffffff16565b611df790919063ffffffff16565b611d2790919063ffffffff16565b92505050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6107466110c2565b600060096000610754611d1f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060006107db82600101546107cd670de0b6b3a76400006107bf6005548760000154611d7190919063ffffffff16565b611df790919063ffffffff16565b611d2790919063ffffffff16565b905060008111610853576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f4e6f207265776172647320746f20636c61696d2100000000000000000000000081525060200191505060405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb610899611d1f565b836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561090357600080fd5b505af1158015610917573d6000803e3d6000fd5b505050506040513d602081101561092d57600080fd5b810190808051906020019092919050505050610972670de0b6b3a76400006109646005548560000154611d7190919063ffffffff16565b611df790919063ffffffff16565b82600101819055507fdacbdde355ba930696a362ea6738feb9f8bd52dfb3d81947558fd3217e23e3256109a3611d1f565b8242604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a15050565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001549050919050565b60096020528060005260406000206000915090508060000154908060010154905082565b6000610ba2600454610b94612710610b86611964600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610b3d57600080fd5b505afa158015610b51573d6000803e3d6000fd5b505050506040513d6020811015610b6757600080fd5b8101908080519060200190929190505050611df790919063ffffffff16565b611df790919063ffffffff16565b611d7190919063ffffffff16565b905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60075481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b60011515600860009054906101000a900460ff16151514610c87576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f43616e206e6f742077697468647261770000000000000000000000000000000081525060200191505060405180910390fd5b610c8f6110c2565b600060096000610c9d611d1f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000816000015411610d53576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5573657220686173206e6f207374616b6500000000000000000000000000000081525060200191505060405180910390fd5b6000610d9e8260010154610d90670de0b6b3a7640000610d826005548760000154611d7190919063ffffffff16565b611df790919063ffffffff16565b611d2790919063ffffffff16565b90506000826000015490506000836000018190555060008360010181905550610dd281600754611d2790919063ffffffff16565b600781905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb610e1e611d1f565b836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610e8857600080fd5b505af1158015610e9c573d6000803e3d6000fd5b505050506040513d6020811015610eb257600080fd5b810190808051906020019092919050505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb610f0a611d1f565b846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610f7457600080fd5b505af1158015610f88573d6000803e3d6000fd5b505050506040513d6020811015610f9e57600080fd5b8101908080519060200190929190505050507f0502837c293951f8cf960d168bcedcf3e4531ffd7010af47fe48bbff7917d9b4610fd9611d1f565b8242604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a17fdacbdde355ba930696a362ea6738feb9f8bd52dfb3d81947558fd3217e23e325611053611d1f565b8342604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a1505050565b60045481565b600860009054906101000a900460ff1681565b60065443116110d0576112f3565b600060075414156110e757436006819055506112f3565b60006110fe60065443611d2790919063ffffffff16565b9050600061111c61110d610a68565b83611d7190919063ffffffff16565b9050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1630846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561121d57600080fd5b505af1158015611231573d6000803e3d6000fd5b505050506040513d602081101561124757600080fd5b81019080805190602001909291905050505061129c61128b60075461127d670de0b6b3a764000085611d7190919063ffffffff16565b611df790919063ffffffff16565b600554611e4190919063ffffffff16565b600581905550436006819055507f17b8644f386d1c7c7138ef98b3c8035622bbe94d7be9b26f71d2654a547c294382824260405180848152602001838152602001828152602001935050505060405180910390a150505b565b60001515600860009054906101000a900460ff16151514611361576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806120bb6026913960400191505060405180910390fd5b600081116113d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f43616e206e6f74207374616b652030204c5020746f6b656e730000000000000081525060200191505060405180910390fd5b80600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a0823161141e611d1f565b6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561147e57600080fd5b505afa158015611492573d6000803e3d6000fd5b505050506040513d60208110156114a857600080fd5b81019080805190602001909291905050501015611510576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806120506025913960400191505060405180910390fd5b6115186110c2565b600060096000611526611d1f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160000154111561172e5760006115ba82600101546115ac670de0b6b3a764000061159e6005548760000154611d7190919063ffffffff16565b611df790919063ffffffff16565b611d2790919063ffffffff16565b9050600081111561172c57600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb61160b611d1f565b836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561167557600080fd5b505af1158015611689573d6000803e3d6000fd5b505050506040513d602081101561169f57600080fd5b8101908080519060200190929190505050507fdacbdde355ba930696a362ea6738feb9f8bd52dfb3d81947558fd3217e23e3256116da611d1f565b8242604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a15b505b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd611774611d1f565b30856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561181257600080fd5b505af1158015611826573d6000803e3d6000fd5b505050506040513d602081101561183c57600080fd5b810190808051906020019092919050505050611865828260000154611e4190919063ffffffff16565b816000018190555061188282600754611e4190919063ffffffff16565b6007819055506118bb670de0b6b3a76400006118ad6005548460000154611d7190919063ffffffff16565b611df790919063ffffffff16565b81600101819055507f0f392fab93032b655a2790a0aa9babb8772dad4d3bf28e0b2f7f3b6a2ae6fae36118ec611d1f565b83836000015442604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200194505050505060405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661198d611d1f565b73ffffffffffffffffffffffffffffffffffffffff1614611a16576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f4f776e6572206f6e6c790000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f30e048e48a73aeea72c325c17c7dec1889a58fef3848c2d5fbb81502c4702f31816000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1642604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611b80611d1f565b73ffffffffffffffffffffffffffffffffffffffff1614611c09576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f4f776e6572206f6e6c790000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60001515600860009054906101000a900460ff16151514611c75576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806120756025913960400191505060405180910390fd5b6001600860006101000a81548160ff0219169083151502179055507f0ddc38832c76d85de8f93d2b696c8851487fb920787fb5270a3e78a3f4d0d423611cb9611d1f565b600860009054906101000a900460ff1642604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183151515158152602001828152602001935050505060405180910390a1565b600033905090565b6000611d6983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ec9565b905092915050565b600080831415611d845760009050611df1565b6000828402905082848281611d9557fe5b0414611dec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061209a6021913960400191505060405180910390fd5b809150505b92915050565b6000611e3983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f89565b905092915050565b600080828401905083811015611ebf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000838311158290611f76576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611f3b578082015181840152602081019050611f20565b50505050905090810190601f168015611f685780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008083118290612035576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611ffa578082015181840152602081019050611fdf565b50505050905090810190601f1680156120275780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161204157fe5b04905080915050939250505056fe446f206e6f74206861766520656e6f756768204c5020746f6b656e7320746f207374616b65656d657267656e6379207769746864726177696e6720616c726561647920616c6c6f776564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77656d657267656e6379207769746864726177206973206f6e2c2063616e6e6f74207374616b65a2646970667358221220ac8bf9042d65b8aeeefaa964bdb42dd2191a4d02ae9a0c5db0fcd3927c3944de64736f6c634300060a003300000000000000000000000083d8d0384cf652977797e4454fcbbf91397f1967000000000000000000000000e5a55df7c54fde43a1217449a3f9a0233ef2a393000000000000000000000000203615a96931e692c63ea70e2e0a8581c7179402000000000000000000000000000000000000000000000000000000000000001e
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061012c5760003560e01c8063817b1cd2116100ad578063db2e21bc11610071578063db2e21bc14610440578063e3161ddd14610462578063e5da2cb21461046c578063f2fde38b1461049a578063f7929e44146104de5761012c565b8063817b1cd2146103925780638da5cb5b146103b0578063a9f8d181146103fa578063c819d38814610418578063c964ad45146104225761012c565b8063372500ab116100f4578063372500ab14610269578063477348921461027357806348dec2a7146102cb57806349df8d331461032a57806366666aa9146103485761012c565b8063011cee36146101315780630aa435331461017b5780632c691b36146101a957806331d7a262146101c757806333b7d3ea1461021f575b600080fd5b6101396104e8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101a76004803603602081101561019157600080fd5b810190808035906020019092919050505061050e565b005b6101b16105e1565b6040518082815260200191505060405180910390f35b610209600480360360208110156101dd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105e7565b6040518082815260200191505060405180910390f35b610227610718565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61027161073e565b005b6102b56004803603602081101561028957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109f8565b6040518082815260200191505060405180910390f35b61030d600480360360208110156102e157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a44565b604051808381526020018281526020019250505060405180910390f35b610332610a68565b6040518082815260200191505060405180910390f35b610350610ba7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61039a610bcd565b6040518082815260200191505060405180910390f35b6103b8610bd3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610402610bf8565b6040518082815260200191505060405180910390f35b610420610bfe565b005b61042a6110a9565b6040518082815260200191505060405180910390f35b6104486110af565b604051808215151515815260200191505060405180910390f35b61046a6110c2565b005b6104986004803603602081101561048257600080fd5b81019080803590602001909291905050506112f5565b005b6104dc600480360360208110156104b057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061194d565b005b6104e6611b40565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661054e611d1f565b73ffffffffffffffffffffffffffffffffffffffff16146105d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f4f776e6572206f6e6c790000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8060048190555050565b60055481565b600080600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060006005549050600654431180156106465750600060075414155b156106c857600061066260065443611d2790919063ffffffff16565b90506000610680610671610a68565b83611d7190919063ffffffff16565b90506106c36106b46007546106a6670de0b6b3a764000085611d7190919063ffffffff16565b611df790919063ffffffff16565b84611e4190919063ffffffff16565b925050505b61070f8260010154610701670de0b6b3a76400006106f3858760000154611d7190919063ffffffff16565b611df790919063ffffffff16565b611d2790919063ffffffff16565b92505050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6107466110c2565b600060096000610754611d1f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060006107db82600101546107cd670de0b6b3a76400006107bf6005548760000154611d7190919063ffffffff16565b611df790919063ffffffff16565b611d2790919063ffffffff16565b905060008111610853576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f4e6f207265776172647320746f20636c61696d2100000000000000000000000081525060200191505060405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb610899611d1f565b836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561090357600080fd5b505af1158015610917573d6000803e3d6000fd5b505050506040513d602081101561092d57600080fd5b810190808051906020019092919050505050610972670de0b6b3a76400006109646005548560000154611d7190919063ffffffff16565b611df790919063ffffffff16565b82600101819055507fdacbdde355ba930696a362ea6738feb9f8bd52dfb3d81947558fd3217e23e3256109a3611d1f565b8242604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a15050565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001549050919050565b60096020528060005260406000206000915090508060000154908060010154905082565b6000610ba2600454610b94612710610b86611964600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610b3d57600080fd5b505afa158015610b51573d6000803e3d6000fd5b505050506040513d6020811015610b6757600080fd5b8101908080519060200190929190505050611df790919063ffffffff16565b611df790919063ffffffff16565b611d7190919063ffffffff16565b905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60075481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b60011515600860009054906101000a900460ff16151514610c87576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f43616e206e6f742077697468647261770000000000000000000000000000000081525060200191505060405180910390fd5b610c8f6110c2565b600060096000610c9d611d1f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000816000015411610d53576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5573657220686173206e6f207374616b6500000000000000000000000000000081525060200191505060405180910390fd5b6000610d9e8260010154610d90670de0b6b3a7640000610d826005548760000154611d7190919063ffffffff16565b611df790919063ffffffff16565b611d2790919063ffffffff16565b90506000826000015490506000836000018190555060008360010181905550610dd281600754611d2790919063ffffffff16565b600781905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb610e1e611d1f565b836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610e8857600080fd5b505af1158015610e9c573d6000803e3d6000fd5b505050506040513d6020811015610eb257600080fd5b810190808051906020019092919050505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb610f0a611d1f565b846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610f7457600080fd5b505af1158015610f88573d6000803e3d6000fd5b505050506040513d6020811015610f9e57600080fd5b8101908080519060200190929190505050507f0502837c293951f8cf960d168bcedcf3e4531ffd7010af47fe48bbff7917d9b4610fd9611d1f565b8242604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a17fdacbdde355ba930696a362ea6738feb9f8bd52dfb3d81947558fd3217e23e325611053611d1f565b8342604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a1505050565b60045481565b600860009054906101000a900460ff1681565b60065443116110d0576112f3565b600060075414156110e757436006819055506112f3565b60006110fe60065443611d2790919063ffffffff16565b9050600061111c61110d610a68565b83611d7190919063ffffffff16565b9050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1630846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561121d57600080fd5b505af1158015611231573d6000803e3d6000fd5b505050506040513d602081101561124757600080fd5b81019080805190602001909291905050505061129c61128b60075461127d670de0b6b3a764000085611d7190919063ffffffff16565b611df790919063ffffffff16565b600554611e4190919063ffffffff16565b600581905550436006819055507f17b8644f386d1c7c7138ef98b3c8035622bbe94d7be9b26f71d2654a547c294382824260405180848152602001838152602001828152602001935050505060405180910390a150505b565b60001515600860009054906101000a900460ff16151514611361576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806120bb6026913960400191505060405180910390fd5b600081116113d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f43616e206e6f74207374616b652030204c5020746f6b656e730000000000000081525060200191505060405180910390fd5b80600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a0823161141e611d1f565b6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561147e57600080fd5b505afa158015611492573d6000803e3d6000fd5b505050506040513d60208110156114a857600080fd5b81019080805190602001909291905050501015611510576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806120506025913960400191505060405180910390fd5b6115186110c2565b600060096000611526611d1f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160000154111561172e5760006115ba82600101546115ac670de0b6b3a764000061159e6005548760000154611d7190919063ffffffff16565b611df790919063ffffffff16565b611d2790919063ffffffff16565b9050600081111561172c57600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb61160b611d1f565b836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561167557600080fd5b505af1158015611689573d6000803e3d6000fd5b505050506040513d602081101561169f57600080fd5b8101908080519060200190929190505050507fdacbdde355ba930696a362ea6738feb9f8bd52dfb3d81947558fd3217e23e3256116da611d1f565b8242604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a15b505b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd611774611d1f565b30856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561181257600080fd5b505af1158015611826573d6000803e3d6000fd5b505050506040513d602081101561183c57600080fd5b810190808051906020019092919050505050611865828260000154611e4190919063ffffffff16565b816000018190555061188282600754611e4190919063ffffffff16565b6007819055506118bb670de0b6b3a76400006118ad6005548460000154611d7190919063ffffffff16565b611df790919063ffffffff16565b81600101819055507f0f392fab93032b655a2790a0aa9babb8772dad4d3bf28e0b2f7f3b6a2ae6fae36118ec611d1f565b83836000015442604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200194505050505060405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661198d611d1f565b73ffffffffffffffffffffffffffffffffffffffff1614611a16576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f4f776e6572206f6e6c790000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f30e048e48a73aeea72c325c17c7dec1889a58fef3848c2d5fbb81502c4702f31816000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1642604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611b80611d1f565b73ffffffffffffffffffffffffffffffffffffffff1614611c09576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f4f776e6572206f6e6c790000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60001515600860009054906101000a900460ff16151514611c75576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806120756025913960400191505060405180910390fd5b6001600860006101000a81548160ff0219169083151502179055507f0ddc38832c76d85de8f93d2b696c8851487fb920787fb5270a3e78a3f4d0d423611cb9611d1f565b600860009054906101000a900460ff1642604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183151515158152602001828152602001935050505060405180910390a1565b600033905090565b6000611d6983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ec9565b905092915050565b600080831415611d845760009050611df1565b6000828402905082848281611d9557fe5b0414611dec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061209a6021913960400191505060405180910390fd5b809150505b92915050565b6000611e3983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f89565b905092915050565b600080828401905083811015611ebf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000838311158290611f76576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611f3b578082015181840152602081019050611f20565b50505050905090810190601f168015611f685780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008083118290612035576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611ffa578082015181840152602081019050611fdf565b50505050905090810190601f1680156120275780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161204157fe5b04905080915050939250505056fe446f206e6f74206861766520656e6f756768204c5020746f6b656e7320746f207374616b65656d657267656e6379207769746864726177696e6720616c726561647920616c6c6f776564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77656d657267656e6379207769746864726177206973206f6e2c2063616e6e6f74207374616b65a2646970667358221220ac8bf9042d65b8aeeefaa964bdb42dd2191a4d02ae9a0c5db0fcd3927c3944de64736f6c634300060a0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000083d8d0384cf652977797e4454fcbbf91397f1967000000000000000000000000e5a55df7c54fde43a1217449a3f9a0233ef2a393000000000000000000000000203615a96931e692c63ea70e2e0a8581c7179402000000000000000000000000000000000000000000000000000000000000001e
-----Decoded View---------------
Arg [0] : _LPToken (address): 0x83D8d0384cf652977797E4454FcbbF91397f1967
Arg [1] : _YFMBToken (address): 0xe5A55df7C54fdE43A1217449a3f9a0233eF2A393
Arg [2] : _rewardPool (address): 0x203615A96931e692c63eA70E2e0a8581c7179402
Arg [3] : _dailyReward (uint256): 30
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 00000000000000000000000083d8d0384cf652977797e4454fcbbf91397f1967
Arg [1] : 000000000000000000000000e5a55df7c54fde43a1217449a3f9a0233ef2a393
Arg [2] : 000000000000000000000000203615a96931e692c63ea70e2e0a8581c7179402
Arg [3] : 000000000000000000000000000000000000000000000000000000000000001e
Deployed Bytecode Sourcemap
19591:6362:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20263:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;21399:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;20386:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;21777:596;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;20291:23;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;24270:502;;;:::i;:::-;;21573:143;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;20541:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;21150:153;;;:::i;:::-;;;;;;;;;;;;;;;;;;;20321:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;20460:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;19021:28;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;20423:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;24842:788;;;:::i;:::-;;20353:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;20495:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;22428:639;;;:::i;:::-;;23125:1082;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;19314:206;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;25693:257;;;:::i;:::-;;20263:21;;;;;;;;;;;;;:::o;21399:108::-;19198:5;;;;;;;;;;;19182:21;;:12;:10;:12::i;:::-;:21;;;19174:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21487:12:::1;21473:11;:26;;;;21399:108:::0;:::o;20386:30::-;;;;:::o;21777:596::-;21838:7;21858:17;21878:11;:20;21890:7;21878:20;;;;;;;;;;;;;;;21858:40;;21911:24;21938:15;;21911:42;;21985:15;;21970:12;:30;:50;;;;;22019:1;22004:11;;:16;;21970:50;21966:309;;;22037:22;22062:33;22079:15;;22062:12;:16;;:33;;;;:::i;:::-;22037:58;;22110:18;22131:39;22150:19;:17;:19::i;:::-;22131:14;:18;;:39;;;;:::i;:::-;22110:60;;22204:59;22225:37;22250:11;;22225:20;22240:4;22225:10;:14;;:20;;;;:::i;:::-;:24;;:37;;;;:::i;:::-;22204:16;:20;;:59;;;;:::i;:::-;22185:78;;21966:309;;;22294:71;22348:4;:16;;;22294:49;22338:4;22294:39;22316:16;22294:4;:17;;;:21;;:39;;;;:::i;:::-;:43;;:49;;;;:::i;:::-;:53;;:71;;;;:::i;:::-;22287:78;;;;21777:596;;;:::o;20291:23::-;;;;;;;;;;;;;:::o;24270:502::-;24312:12;:10;:12::i;:::-;24337:17;24357:11;:25;24369:12;:10;:12::i;:::-;24357:25;;;;;;;;;;;;;;;24337:45;;24395:23;24421:70;24474:4;:16;;;24421:48;24464:4;24421:38;24443:15;;24421:4;:17;;;:21;;:38;;;;:::i;:::-;:42;;:48;;;;:::i;:::-;:52;;:70;;;;:::i;:::-;24395:96;;24528:1;24510:15;:19;24502:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24567:9;;;;;;;;;;;:18;;;24586:12;:10;:12::i;:::-;24600:15;24567:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24648:48;24691:4;24648:38;24670:15;;24648:4;:17;;;:21;;:38;;;;:::i;:::-;:42;;:48;;;;:::i;:::-;24629:4;:16;;:67;;;;24714:50;24729:12;:10;:12::i;:::-;24743:15;24760:3;24714:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24270:502;;:::o;21573:143::-;21634:21;21675:11;:20;21687:7;21675:20;;;;;;;;;;;;;;;:33;;;21668:40;;21573:143;;;:::o;20541:43::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;21150:153::-;21199:7;21226:69;21283:11;;21226:52;21272:5;21226:41;21262:4;21226:9;;;;;;;;;;;:19;;;21246:10;;;;;;;;;;;21226:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:35;;:41;;;;:::i;:::-;:45;;:52;;;;:::i;:::-;:56;;:69;;;;:::i;:::-;21219:76;;21150:153;:::o;20321:25::-;;;;;;;;;;;;;:::o;20460:26::-;;;;:::o;19021:28::-;;;;;;;;;;;;;:::o;20423:30::-;;;;:::o;24842:788::-;24910:4;24889:25;;:17;;;;;;;;;;;:25;;;24881:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24948:12;:10;:12::i;:::-;24973:17;24993:11;:25;25005:12;:10;:12::i;:::-;24993:25;;;;;;;;;;;;;;;24973:45;;25057:1;25037:4;:17;;;:21;25029:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25093:23;25119:70;25172:4;:16;;;25119:48;25162:4;25119:38;25141:15;;25119:4;:17;;;:21;;:38;;;;:::i;:::-;:42;;:48;;;;:::i;:::-;:52;;:70;;;;:::i;:::-;25093:96;;25202:22;25227:4;:17;;;25202:42;;25277:1;25257:4;:17;;:21;;;;25308:1;25289:4;:16;;:20;;;;25336:31;25352:14;25336:11;;:15;;:31;;;;:::i;:::-;25322:11;:45;;;;25380:7;;;;;;;;;;;:16;;;25397:12;:10;:12::i;:::-;25411:14;25380:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25437:9;;;;;;;;;;;:18;;;25456:12;:10;:12::i;:::-;25470:15;25437:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25504:52;25522:12;:10;:12::i;:::-;25536:14;25552:3;25504:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25572:50;25587:12;:10;:12::i;:::-;25601:15;25618:3;25572:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24842:788;;;:::o;20353:26::-;;;;:::o;20495:37::-;;;;;;;;;;;;;:::o;22428:639::-;22488:15;;22472:12;:31;22468:70;;22520:7;;22468:70;22569:1;22554:11;;:16;22550:100;;;22605:12;22587:15;:30;;;;22632:7;;22550:100;22662:22;22687:33;22704:15;;22687:12;:16;;:33;;;;:::i;:::-;22662:58;;22733:18;22754:39;22773:19;:17;:19::i;:::-;22754:14;:18;;:39;;;;:::i;:::-;22733:60;;22806:9;;;;;;;;;;;:22;;;22829:10;;;;;;;;;;;22849:4;22856:10;22806:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22898:58;22918:37;22943:11;;22918:20;22933:4;22918:10;:14;;:20;;;;:::i;:::-;:24;;:37;;;;:::i;:::-;22898:15;;:19;;:58;;;;:::i;:::-;22880:15;:76;;;;22985:12;22967:15;:30;;;;23015:44;23027:14;23043:10;23055:3;23015:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22428:639;;;:::o;23125:1082::-;23206:5;23185:26;;:17;;;;;;;;;;;:26;;;23177:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23283:1;23273:7;:11;23265:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23368:7;23333;;;;;;;;;;;:17;;;23351:12;:10;:12::i;:::-;23333:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:42;;23325:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23430:12;:10;:12::i;:::-;23455:17;23475:11;:25;23487:12;:10;:12::i;:::-;23475:25;;;;;;;;;;;;;;;23455:45;;23536:1;23516:4;:17;;;:21;23513:347;;;23554:23;23580:70;23633:4;:16;;;23580:48;23623:4;23580:38;23602:15;;23580:4;:17;;;:21;;:38;;;;:::i;:::-;:42;;:48;;;;:::i;:::-;:52;;:70;;;;:::i;:::-;23554:96;;23688:1;23670:15;:19;23667:182;;;23710:9;;;;;;;;;;;:18;;;23729:12;:10;:12::i;:::-;23743:15;23710:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23783:50;23798:12;:10;:12::i;:::-;23812:15;23829:3;23783:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23667:182;23513:347;;23872:7;;;;;;;;;;;:20;;;23893:12;:10;:12::i;:::-;23915:4;23922:7;23872:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23961:30;23983:7;23961:4;:17;;;:21;;:30;;;;:::i;:::-;23941:4;:17;;:50;;;;24016:24;24032:7;24016:11;;:15;;:24;;;;:::i;:::-;24002:11;:38;;;;24072:48;24115:4;24072:38;24094:15;;24072:4;:17;;;:21;;:38;;;;:::i;:::-;:42;;:48;;;;:::i;:::-;24053:4;:16;;:67;;;;24138:61;24153:12;:10;:12::i;:::-;24167:7;24176:4;:17;;;24195:3;24138:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23125:1082;;:::o;19314:206::-;19198:5;;;;;;;;;;;19182:21;;:12;:10;:12::i;:::-;:21;;;19174:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19395:21:::1;19419:5:::0;::::1;;;;;;;;;;19395:29;;19443:6;19435:5;::::0;:14:::1;;;;;;;;;;;;;;;;;;19465:47;19486:13;19501:5;::::0;::::1;;;;;;;;;19508:3;19465:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19229:1;19314:206:::0;:::o;25693:257::-;19198:5;;;;;;;;;;;19182:21;;:12;:10;:12::i;:::-;:21;;;19174:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25787:5:::1;25766:26;;:17;;;;;;;;;;;:26;;;25758:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25865:4;25845:17;;:24;;;;;;;;;;;;;;;;;;25885:57;25905:12;:10;:12::i;:::-;25919:17;;;;;;;;;;;25938:3;25885:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25693:257::o:0;18568:106::-;18621:15;18656:10;18649:17;;18568:106;:::o;4186:136::-;4244:7;4271:43;4275:1;4278;4271:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;4264:50;;4186:136;;;;:::o;5076:471::-;5134:7;5384:1;5379;:6;5375:47;;;5409:1;5402:8;;;;5375:47;5434:9;5450:1;5446;:5;5434:17;;5479:1;5474;5470;:5;;;;;;:10;5462:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5538:1;5531:8;;;5076:471;;;;;:::o;6023:132::-;6081:7;6108:39;6112:1;6115;6108:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;6101:46;;6023:132;;;;:::o;3722:181::-;3780:7;3800:9;3816:1;3812;:5;3800:17;;3841:1;3836;:6;;3828:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3894:1;3887:8;;;3722:181;;;;:::o;4625:192::-;4711:7;4744:1;4739;:6;;4747:12;4731:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4771:9;4787:1;4783;:5;4771:17;;4808:1;4801:8;;;4625:192;;;;;:::o;6651:278::-;6737:7;6769:1;6765;:5;6772:12;6757:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6796:9;6812:1;6808;:5;;;;;;6796:17;;6920:1;6913:8;;;6651:278;;;;;:::o
Swarm Source
ipfs://ac8bf9042d65b8aeeefaa964bdb42dd2191a4d02ae9a0c5db0fcd3927c3944de
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.