My Name Tag:
Not Available
[ Download CSV Export ]
Latest 25 internal transaction
[ Download CSV Export ]
Contract Name:
DODOMine
Compiler Version
v0.6.9+commit.3e3065ac
Contract Source Code (Solidity)
/** *Submitted for verification at Arbiscan on 2021-09-02 */ // File: contracts/lib/Ownable.sol /* Copyright 2020 DODO ZOO. SPDX-License-Identifier: Apache-2.0 */ pragma solidity 0.6.9; pragma experimental ABIEncoderV2; /** * @title Ownable * @author DODO Breeder * * @notice Ownership related functions */ contract Ownable { address public _OWNER_; address public _NEW_OWNER_; // ============ Events ============ event OwnershipTransferPrepared(address indexed previousOwner, address indexed newOwner); event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); // ============ Modifiers ============ modifier onlyOwner() { require(msg.sender == _OWNER_, "NOT_OWNER"); _; } // ============ Functions ============ constructor() internal { _OWNER_ = msg.sender; emit OwnershipTransferred(address(0), _OWNER_); } function transferOwnership(address newOwner) external onlyOwner { emit OwnershipTransferPrepared(_OWNER_, newOwner); _NEW_OWNER_ = newOwner; } function claimOwnership() external { require(msg.sender == _NEW_OWNER_, "INVALID_CLAIM"); emit OwnershipTransferred(_OWNER_, _NEW_OWNER_); _OWNER_ = _NEW_OWNER_; _NEW_OWNER_ = address(0); } } // File: contracts/lib/SafeMath.sol /** * @title SafeMath * @author DODO Breeder * * @notice Math operations with safety checks that revert on error */ library SafeMath { function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "MUL_ERROR"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { require(b > 0, "DIVIDING_ERROR"); return a / b; } function divCeil(uint256 a, uint256 b) internal pure returns (uint256) { uint256 quotient = div(a, b); uint256 remainder = a - quotient * b; if (remainder > 0) { return quotient + 1; } else { return quotient; } } function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a, "SUB_ERROR"); return a - b; } function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "ADD_ERROR"); return c; } function sqrt(uint256 x) internal pure returns (uint256 y) { uint256 z = x / 2 + 1; y = x; while (z < y) { y = z; z = (x / z + z) / 2; } } } // File: contracts/lib/DecimalMath.sol /** * @title DecimalMath * @author DODO Breeder * * @notice Functions for fixed point number with 18 decimals */ library DecimalMath { using SafeMath for uint256; uint256 internal constant ONE = 10**18; uint256 internal constant ONE2 = 10**36; function mulFloor(uint256 target, uint256 d) internal pure returns (uint256) { return target.mul(d) / (10**18); } function mulCeil(uint256 target, uint256 d) internal pure returns (uint256) { return target.mul(d).divCeil(10**18); } function divFloor(uint256 target, uint256 d) internal pure returns (uint256) { return target.mul(10**18).div(d); } function divCeil(uint256 target, uint256 d) internal pure returns (uint256) { return target.mul(10**18).divCeil(d); } function reciprocalFloor(uint256 target) internal pure returns (uint256) { return uint256(10**36).div(target); } function reciprocalCeil(uint256 target) internal pure returns (uint256) { return uint256(10**36).divCeil(target); } } // File: contracts/intf/IERC20.sol /** * @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); function decimals() external view returns (uint8); function name() external view returns (string memory); function symbol() external view returns (string memory); /** * @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); } // File: contracts/lib/SafeERC20.sol /** * @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 ERC20;` statement to your contract, * which allows you to call the safe operations as `token.safeTransfer(...)`, etc. */ library SafeERC20 { using SafeMath for uint256; 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) ); } 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)); } /** * @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. // A Solidity high level call has three parts: // 1. The target address is checked to verify it contains contract code // 2. The call itself is made, and success asserted // 3. The return value is decoded, which in turn checks the size of the returned data. // solhint-disable-next-line max-line-length // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = address(token).call(data); require(success, "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: contracts/DODOToken/DODORewardVault.sol interface IDODORewardVault { function reward(address to, uint256 amount) external; } contract DODORewardVault is Ownable { using SafeERC20 for IERC20; address public dodoToken; constructor(address _dodoToken) public { dodoToken = _dodoToken; } function reward(address to, uint256 amount) external onlyOwner { IERC20(dodoToken).safeTransfer(to, amount); } } // File: contracts/DODOToken/DODOMine.sol contract DODOMine is Ownable { using SafeMath for uint256; using SafeERC20 for IERC20; // Info of each user. struct UserInfo { uint256 amount; // How many LP tokens the user has provided. uint256 rewardDebt; // Reward debt. See explanation below. // // We do some fancy math here. Basically, any point in time, the amount of DODOs // entitled to a user but is pending to be distributed is: // // pending reward = (user.amount * pool.accDODOPerShare) - user.rewardDebt // // Whenever a user deposits or withdraws LP tokens to a pool. Here's what happens: // 1. The pool's `accDODOPerShare` (and `lastRewardBlock`) gets updated. // 2. User receives the pending reward sent to his/her address. // 3. User's `amount` gets updated. // 4. User's `rewardDebt` gets updated. } // Info of each pool. struct PoolInfo { address lpToken; // Address of LP token contract. uint256 allocPoint; // How many allocation points assigned to this pool. DODOs to distribute per block. uint256 lastRewardBlock; // Last block number that DODOs distribution occurs. uint256 accDODOPerShare; // Accumulated DODOs per share, times 1e12. See below. } address public dodoRewardVault; uint256 public dodoPerBlock; // Info of each pool. PoolInfo[] public poolInfos; mapping(address => uint256) public lpTokenRegistry; // Info of each user that stakes LP tokens. mapping(uint256 => mapping(address => UserInfo)) public userInfo; mapping(address => uint256) public realizedReward; // Total allocation points. Must be the sum of all allocation points in all pools. uint256 public totalAllocPoint = 0; // The block number when DODO mining starts. uint256 public startBlock; event Deposit(address indexed user, uint256 indexed pid, uint256 amount); event Withdraw(address indexed user, uint256 indexed pid, uint256 amount); event Claim(address indexed user, uint256 amount); constructor(address _dodoToken, uint256 _startBlock) public { dodoRewardVault = address(new DODORewardVault(_dodoToken)); startBlock = _startBlock; } // ============ Modifiers ============ modifier lpTokenExist(address lpToken) { require(lpTokenRegistry[lpToken] > 0, "LP Token Not Exist"); _; } modifier lpTokenNotExist(address lpToken) { require(lpTokenRegistry[lpToken] == 0, "LP Token Already Exist"); _; } // ============ Helper ============ function poolLength() external view returns (uint256) { return poolInfos.length; } function getPid(address _lpToken) public view lpTokenExist(_lpToken) returns (uint256) { return lpTokenRegistry[_lpToken] - 1; } function getUserLpBalance(address _lpToken, address _user) public view returns (uint256) { uint256 pid = getPid(_lpToken); return userInfo[pid][_user].amount; } // ============ Ownable ============ function addLpToken( address _lpToken, uint256 _allocPoint, bool _withUpdate ) public lpTokenNotExist(_lpToken) onlyOwner { if (_withUpdate) { massUpdatePools(); } uint256 lastRewardBlock = block.number > startBlock ? block.number : startBlock; totalAllocPoint = totalAllocPoint.add(_allocPoint); poolInfos.push( PoolInfo({ lpToken: _lpToken, allocPoint: _allocPoint, lastRewardBlock: lastRewardBlock, accDODOPerShare: 0 }) ); lpTokenRegistry[_lpToken] = poolInfos.length; } function setLpToken( address _lpToken, uint256 _allocPoint, bool _withUpdate ) public onlyOwner { if (_withUpdate) { massUpdatePools(); } uint256 pid = getPid(_lpToken); totalAllocPoint = totalAllocPoint.sub(poolInfos[pid].allocPoint).add(_allocPoint); poolInfos[pid].allocPoint = _allocPoint; } function setReward(uint256 _dodoPerBlock, bool _withUpdate) external onlyOwner { if (_withUpdate) { massUpdatePools(); } dodoPerBlock = _dodoPerBlock; } // ============ View Rewards ============ function getPendingReward(address _lpToken, address _user) external view returns (uint256) { uint256 pid = getPid(_lpToken); PoolInfo storage pool = poolInfos[pid]; UserInfo storage user = userInfo[pid][_user]; uint256 accDODOPerShare = pool.accDODOPerShare; uint256 lpSupply = IERC20(pool.lpToken).balanceOf(address(this)); if (block.number > pool.lastRewardBlock && lpSupply != 0) { uint256 DODOReward = block .number .sub(pool.lastRewardBlock) .mul(dodoPerBlock) .mul(pool.allocPoint) .div(totalAllocPoint); accDODOPerShare = accDODOPerShare.add(DecimalMath.divFloor(DODOReward, lpSupply)); } return DecimalMath.mulFloor(user.amount, accDODOPerShare).sub(user.rewardDebt); } function getAllPendingReward(address _user) external view returns (uint256) { uint256 length = poolInfos.length; uint256 totalReward = 0; for (uint256 pid = 0; pid < length; ++pid) { if (userInfo[pid][_user].amount == 0 || poolInfos[pid].allocPoint == 0) { continue; // save gas } PoolInfo storage pool = poolInfos[pid]; UserInfo storage user = userInfo[pid][_user]; uint256 accDODOPerShare = pool.accDODOPerShare; uint256 lpSupply = IERC20(pool.lpToken).balanceOf(address(this)); if (block.number > pool.lastRewardBlock && lpSupply != 0) { uint256 DODOReward = block .number .sub(pool.lastRewardBlock) .mul(dodoPerBlock) .mul(pool.allocPoint) .div(totalAllocPoint); accDODOPerShare = accDODOPerShare.add(DecimalMath.divFloor(DODOReward, lpSupply)); } totalReward = totalReward.add( DecimalMath.mulFloor(user.amount, accDODOPerShare).sub(user.rewardDebt) ); } return totalReward; } function getRealizedReward(address _user) external view returns (uint256) { return realizedReward[_user]; } function getDlpMiningSpeed(address _lpToken) external view returns (uint256) { uint256 pid = getPid(_lpToken); PoolInfo storage pool = poolInfos[pid]; return dodoPerBlock.mul(pool.allocPoint).div(totalAllocPoint); } // ============ Update Pools ============ // Update reward vairables for all pools. Be careful of gas spending! function massUpdatePools() public { uint256 length = poolInfos.length; for (uint256 pid = 0; pid < length; ++pid) { updatePool(pid); } } // Update reward variables of the given pool to be up-to-date. function updatePool(uint256 _pid) public { PoolInfo storage pool = poolInfos[_pid]; if (block.number <= pool.lastRewardBlock) { return; } uint256 lpSupply = IERC20(pool.lpToken).balanceOf(address(this)); if (lpSupply == 0) { pool.lastRewardBlock = block.number; return; } uint256 DODOReward = block .number .sub(pool.lastRewardBlock) .mul(dodoPerBlock) .mul(pool.allocPoint) .div(totalAllocPoint); pool.accDODOPerShare = pool.accDODOPerShare.add(DecimalMath.divFloor(DODOReward, lpSupply)); pool.lastRewardBlock = block.number; } // ============ Deposit & Withdraw & Claim ============ // Deposit & withdraw will also trigger claim function deposit(address _lpToken, uint256 _amount) public { uint256 pid = getPid(_lpToken); PoolInfo storage pool = poolInfos[pid]; UserInfo storage user = userInfo[pid][msg.sender]; updatePool(pid); if (user.amount > 0) { uint256 pending = DecimalMath.mulFloor(user.amount, pool.accDODOPerShare).sub( user.rewardDebt ); safeDODOTransfer(msg.sender, pending); } IERC20(pool.lpToken).safeTransferFrom(address(msg.sender), address(this), _amount); user.amount = user.amount.add(_amount); user.rewardDebt = DecimalMath.mulFloor(user.amount, pool.accDODOPerShare); emit Deposit(msg.sender, pid, _amount); } function withdraw(address _lpToken, uint256 _amount) public { uint256 pid = getPid(_lpToken); PoolInfo storage pool = poolInfos[pid]; UserInfo storage user = userInfo[pid][msg.sender]; require(user.amount >= _amount, "withdraw too much"); updatePool(pid); uint256 pending = DecimalMath.mulFloor(user.amount, pool.accDODOPerShare).sub( user.rewardDebt ); safeDODOTransfer(msg.sender, pending); user.amount = user.amount.sub(_amount); user.rewardDebt = DecimalMath.mulFloor(user.amount, pool.accDODOPerShare); IERC20(pool.lpToken).safeTransfer(address(msg.sender), _amount); emit Withdraw(msg.sender, pid, _amount); } function withdrawAll(address _lpToken) public { uint256 balance = getUserLpBalance(_lpToken, msg.sender); withdraw(_lpToken, balance); } // Withdraw without caring about rewards. EMERGENCY ONLY. function emergencyWithdraw(address _lpToken) public { uint256 pid = getPid(_lpToken); PoolInfo storage pool = poolInfos[pid]; UserInfo storage user = userInfo[pid][msg.sender]; IERC20(pool.lpToken).safeTransfer(address(msg.sender), user.amount); user.amount = 0; user.rewardDebt = 0; } function claim(address _lpToken) public { uint256 pid = getPid(_lpToken); if (userInfo[pid][msg.sender].amount == 0 || poolInfos[pid].allocPoint == 0) { return; // save gas } PoolInfo storage pool = poolInfos[pid]; UserInfo storage user = userInfo[pid][msg.sender]; updatePool(pid); uint256 pending = DecimalMath.mulFloor(user.amount, pool.accDODOPerShare).sub( user.rewardDebt ); user.rewardDebt = DecimalMath.mulFloor(user.amount, pool.accDODOPerShare); safeDODOTransfer(msg.sender, pending); } function claimAll() public { uint256 length = poolInfos.length; uint256 pending = 0; for (uint256 pid = 0; pid < length; ++pid) { if (userInfo[pid][msg.sender].amount == 0 || poolInfos[pid].allocPoint == 0) { continue; // save gas } PoolInfo storage pool = poolInfos[pid]; UserInfo storage user = userInfo[pid][msg.sender]; updatePool(pid); pending = pending.add( DecimalMath.mulFloor(user.amount, pool.accDODOPerShare).sub(user.rewardDebt) ); user.rewardDebt = DecimalMath.mulFloor(user.amount, pool.accDODOPerShare); } safeDODOTransfer(msg.sender, pending); } // Safe DODO transfer function function safeDODOTransfer(address _to, uint256 _amount) internal { IDODORewardVault(dodoRewardVault).reward(_to, _amount); realizedReward[_to] = realizedReward[_to].add(_amount); emit Claim(_to, _amount); } }
[{"inputs":[{"internalType":"address","name":"_dodoToken","type":"address"},{"internalType":"uint256","name":"_startBlock","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Claim","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"uint256","name":"pid","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferPrepared","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"uint256","name":"pid","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdraw","type":"event"},{"inputs":[],"name":"_NEW_OWNER_","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_OWNER_","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_lpToken","type":"address"},{"internalType":"uint256","name":"_allocPoint","type":"uint256"},{"internalType":"bool","name":"_withUpdate","type":"bool"}],"name":"addLpToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_lpToken","type":"address"}],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_lpToken","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"dodoPerBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dodoRewardVault","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_lpToken","type":"address"}],"name":"emergencyWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"getAllPendingReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_lpToken","type":"address"}],"name":"getDlpMiningSpeed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_lpToken","type":"address"},{"internalType":"address","name":"_user","type":"address"}],"name":"getPendingReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_lpToken","type":"address"}],"name":"getPid","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"getRealizedReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_lpToken","type":"address"},{"internalType":"address","name":"_user","type":"address"}],"name":"getUserLpBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"lpTokenRegistry","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"massUpdatePools","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"poolInfos","outputs":[{"internalType":"address","name":"lpToken","type":"address"},{"internalType":"uint256","name":"allocPoint","type":"uint256"},{"internalType":"uint256","name":"lastRewardBlock","type":"uint256"},{"internalType":"uint256","name":"accDODOPerShare","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"poolLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"realizedReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_lpToken","type":"address"},{"internalType":"uint256","name":"_allocPoint","type":"uint256"},{"internalType":"bool","name":"_withUpdate","type":"bool"}],"name":"setLpToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_dodoPerBlock","type":"uint256"},{"internalType":"bool","name":"_withUpdate","type":"bool"}],"name":"setReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalAllocPoint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_pid","type":"uint256"}],"name":"updatePool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"name":"userInfo","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"rewardDebt","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_lpToken","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_lpToken","type":"address"}],"name":"withdrawAll","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405260006008553480156200001657600080fd5b5060405162003caa38038062003caa83398181016040528101906200003c9190620001bc565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a381604051620001079062000180565b6200011391906200020e565b604051809103906000f08015801562000130573d6000803e3d6000fd5b50600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060098190555050506200029d565b610d148062002f9683390190565b6000815190506200019f8162000269565b92915050565b600081519050620001b68162000283565b92915050565b60008060408385031215620001d057600080fd5b6000620001e0858286016200018e565b9250506020620001f385828601620001a5565b9150509250929050565b62000208816200022b565b82525050565b6000602082019050620002256000830184620001fd565b92915050565b600062000238826200023f565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b62000274816200022b565b81146200028057600080fd5b50565b6200028e816200025f565b81146200029a57600080fd5b50565b612ce980620002ad6000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80636ff1c9bc11610104578063d1058e59116100a2578063f3fef3a311610071578063f3fef3a314610533578063fa09e6301461054f578063fb7276f41461056b578063fe0f3a131461059b576101da565b8063d1058e59146104ad578063ec83a76a146104b7578063f146b809146104e7578063f2fde38b14610517576101da565b80638af70336116100de5780638af703361461042457806393f1a40b146104425780639599af1314610473578063bea006e014610491576101da565b80636ff1c9bc146103ce5780637f10179f146103ea5780638456db1514610406576101da565b806343b55f351161017c57806351eb05a61161014b57806351eb05a614610345578063630b5ba114610361578063689d84e41461036b5780636dc2cc8c1461039e576101da565b806343b55f35146102d157806347e7ef241461030157806348cd4cb11461031d5780634e71e0c81461033b576101da565b806319a78f55116101b857806319a78f55146102395780631e83409a1461026957806334ea5389146102855780633d16433e146102a1576101da565b8063081e3eda146101df57806316048bc4146101fd57806317caf6f11461021b575b600080fd5b6101e76105cb565b6040516101f49190612b88565b60405180910390f35b6102056105d8565b6040516102129190612968565b60405180910390f35b6102236105fd565b6040516102309190612b88565b60405180910390f35b610253600480360381019061024e9190612462565b610603565b6040516102609190612b88565b60405180910390f35b610283600480360381019061027e9190612439565b61066e565b005b61029f600480360381019061029a91906124da565b6107da565b005b6102bb60048036038101906102b69190612439565b6108f9565b6040516102c89190612b88565b60405180910390f35b6102eb60048036038101906102e69190612439565b610911565b6040516102f89190612b88565b60405180910390f35b61031b6004803603810190610316919061249e565b6109e1565b005b610325610b8f565b6040516103329190612b88565b60405180910390f35b610343610b95565b005b61035f600480360381019061035a9190612552565b610d68565b005b610369610ef3565b005b61038560048036038101906103809190612552565b610f23565b60405161039594939291906129e3565b60405180910390f35b6103b860048036038101906103b39190612439565b610f80565b6040516103c59190612b88565b60405180910390f35b6103e860048036038101906103e39190612439565b610fc9565b005b61040460048036038101906103ff91906125e0565b6110b6565b005b61040e61115f565b60405161041b9190612968565b60405180910390f35b61042c611185565b6040516104399190612b88565b60405180910390f35b61045c600480360381019061045791906125a4565b61118b565b60405161046a929190612ba3565b60405180910390f35b61047b6111bc565b6040516104889190612968565b60405180910390f35b6104ab60048036038101906104a691906124da565b6111e2565b005b6104b561144f565b005b6104d160048036038101906104cc9190612439565b6115e5565b6040516104de9190612b88565b60405180910390f35b61050160048036038101906104fc9190612439565b6115fd565b60405161050e9190612b88565b60405180910390f35b610531600480360381019061052c9190612439565b6118b7565b005b61054d6004803603810190610548919061249e565b611a05565b005b61056960048036038101906105649190612439565b611bea565b005b61058560048036038101906105809190612439565b611c06565b6040516105929190612b88565b60405180910390f35b6105b560048036038101906105b09190612462565b611c69565b6040516105c29190612b88565b60405180910390f35b6000600480549050905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60085481565b60008061060f84610911565b90506006600082815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015491505092915050565b600061067982610911565b905060006006600083815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015414806106fb57506000600482815481106106e757fe5b906000526020600020906004020160010154145b1561070657506107d7565b60006004828154811061071557fe5b9060005260206000209060040201905060006006600084815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905061078283610d68565b60006107ac826001015461079e84600001548660030154611e67565b611e9590919063ffffffff16565b90506107c082600001548460030154611e67565b82600101819055506107d23382611ee5565b505050505b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610869576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086090612ac8565b60405180910390fd5b801561087857610877610ef3565b5b600061088384610911565b90506108ca836108bc6004848154811061089957fe5b906000526020600020906004020160010154600854611e9590919063ffffffff16565b61205b90919063ffffffff16565b60088190555082600482815481106108de57fe5b90600052602060002090600402016001018190555050505050565b60056020528060005260406000206000915090505481565b6000816000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411610996576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098d90612ae8565b60405180910390fd5b6001600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205403915050919050565b60006109ec83610911565b90506000600482815481106109fd57fe5b9060005260206000209060040201905060006006600084815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050610a6a83610d68565b600081600001541115610aaf576000610aa18260010154610a9384600001548660030154611e67565b611e9590919063ffffffff16565b9050610aad3382611ee5565b505b610b003330868560000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166120b0909392919063ffffffff16565b610b1784826000015461205b90919063ffffffff16565b8160000181905550610b3181600001548360030154611e67565b8160010181905550823373ffffffffffffffffffffffffffffffffffffffff167f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a1586604051610b809190612b88565b60405180910390a35050505050565b60095481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1c90612a28565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600060048281548110610d7757fe5b9060005260206000209060040201905080600201544311610d985750610ef0565b60008160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610df79190612968565b60206040518083038186803b158015610e0f57600080fd5b505afa158015610e23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e47919061257b565b90506000811415610e62574382600201819055505050610ef0565b6000610eb9600854610eab8560010154610e9d600354610e8f896002015443611e9590919063ffffffff16565b61213990919063ffffffff16565b61213990919063ffffffff16565b6121a990919063ffffffff16565b9050610edb610ec882846121ff565b846003015461205b90919063ffffffff16565b83600301819055504383600201819055505050505b50565b6000600480549050905060008090505b81811015610f1f57610f1481610d68565b806001019050610f03565b5050565b60048181548110610f3057fe5b90600052602060002090600402016000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154908060030154905084565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000610fd482610911565b9050600060048281548110610fe557fe5b9060005260206000209060040201905060006006600084815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905061109c3382600001548460000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166122369092919063ffffffff16565b600081600001819055506000816001018190555050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611145576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113c90612ac8565b60405180910390fd5b801561115457611153610ef3565b5b816003819055505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b6006602052816000526040600020602052806000526040600020600091509150508060000154908060010154905082565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b826000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125c90612b48565b60405180910390fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112eb90612ac8565b60405180910390fd5b811561130357611302610ef3565b5b6000600954431161131657600954611318565b435b905061132f8460085461205b90919063ffffffff16565b600881905550600460405180608001604052808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018381526020016000815250908060018154018082558091505060019003906000526020600020906004020160009091909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001015560408201518160020155606082015181600301555050600480549050600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050505050565b60006004805490509050600080905060008090505b828110156115d65760006006600083815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015414806114ec57506000600482815481106114d857fe5b906000526020600020906004020160010154145b156114f6576115cb565b60006004828154811061150557fe5b9060005260206000209060040201905060006006600084815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905061157283610d68565b6115ac61159d826001015461158f84600001548660030154611e67565b611e9590919063ffffffff16565b8561205b90919063ffffffff16565b93506115c081600001548360030154611e67565b816001018190555050505b806001019050611464565b506115e13382611ee5565b5050565b60076020528060005260406000206000915090505481565b6000806004805490509050600080905060008090505b828110156118ac5760006006600083815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154148061169b575060006004828154811061168757fe5b906000526020600020906004020160010154145b156116a5576118a1565b6000600482815481106116b457fe5b9060005260206000209060040201905060006006600084815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008260030154905060008360000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016117809190612968565b60206040518083038186803b15801561179857600080fd5b505afa1580156117ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d0919061257b565b90508360020154431180156117e6575060008114155b1561186457600061184260085461183487600101546118266003546118188b6002015443611e9590919063ffffffff16565b61213990919063ffffffff16565b61213990919063ffffffff16565b6121a990919063ffffffff16565b905061186061185182846121ff565b8461205b90919063ffffffff16565b9250505b61189a61188b846001015461187d866000015486611e67565b611e9590919063ffffffff16565b8761205b90919063ffffffff16565b9550505050505b806001019050611613565b508092505050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611946576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193d90612ac8565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6260405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000611a1083610911565b9050600060048281548110611a2157fe5b9060005260206000209060040201905060006006600084815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508381600001541015611acc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ac390612aa8565b60405180910390fd5b611ad583610d68565b6000611aff8260010154611af184600001548660030154611e67565b611e9590919063ffffffff16565b9050611b0b3382611ee5565b611b22858360000154611e9590919063ffffffff16565b8260000181905550611b3c82600001548460030154611e67565b8260010181905550611b9333868560000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166122369092919063ffffffff16565b833373ffffffffffffffffffffffffffffffffffffffff167ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b56887604051611bda9190612b88565b60405180910390a3505050505050565b6000611bf68233610603565b9050611c028282611a05565b5050565b600080611c1283610911565b9050600060048281548110611c2357fe5b90600052602060002090600402019050611c60600854611c52836001015460035461213990919063ffffffff16565b6121a990919063ffffffff16565b92505050919050565b600080611c7584610911565b9050600060048281548110611c8657fe5b9060005260206000209060040201905060006006600084815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008260030154905060008360000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611d529190612968565b60206040518083038186803b158015611d6a57600080fd5b505afa158015611d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da2919061257b565b9050836002015443118015611db8575060008114155b15611e36576000611e14600854611e068760010154611df8600354611dea8b6002015443611e9590919063ffffffff16565b61213990919063ffffffff16565b61213990919063ffffffff16565b6121a990919063ffffffff16565b9050611e32611e2382846121ff565b8461205b90919063ffffffff16565b9250505b611e5a8360010154611e4c856000015485611e67565b611e9590919063ffffffff16565b9550505050505092915050565b6000670de0b6b3a7640000611e85838561213990919063ffffffff16565b81611e8c57fe5b04905092915050565b600082821115611eda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ed190612a88565b60405180910390fd5b818303905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166321670f2283836040518363ffffffff1660e01b8152600401611f429291906129ba565b600060405180830381600087803b158015611f5c57600080fd5b505af1158015611f70573d6000803e3d6000fd5b50505050611fc681600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205b90919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d48260405161204f9190612b88565b60405180910390a25050565b6000808284019050838110156120a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209d90612b08565b60405180910390fd5b8091505092915050565b612133846323b872dd60e01b8585856040516024016120d193929190612983565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506122bc565b50505050565b60008083141561214c57600090506121a3565b600082840290508284828161215d57fe5b041461219e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161219590612b68565b60405180910390fd5b809150505b92915050565b60008082116121ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121e490612a68565b60405180910390fd5b8183816121f657fe5b04905092915050565b600061222e82612220670de0b6b3a76400008661213990919063ffffffff16565b6121a990919063ffffffff16565b905092915050565b6122b78363a9059cbb60e01b84846040516024016122559291906129ba565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506122bc565b505050565b600060608373ffffffffffffffffffffffffffffffffffffffff16836040516122e59190612951565b6000604051808303816000865af19150503d8060008114612322576040519150601f19603f3d011682016040523d82523d6000602084013e612327565b606091505b50915091508161236c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161236390612a48565b60405180910390fd5b6000815111156123ca578080602001905181019061238a9190612529565b6123c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123c090612b28565b60405180910390fd5b5b50505050565b6000813590506123df81612c6e565b92915050565b6000813590506123f481612c85565b92915050565b60008151905061240981612c85565b92915050565b60008135905061241e81612c9c565b92915050565b60008151905061243381612c9c565b92915050565b60006020828403121561244b57600080fd5b6000612459848285016123d0565b91505092915050565b6000806040838503121561247557600080fd5b6000612483858286016123d0565b9250506020612494858286016123d0565b9150509250929050565b600080604083850312156124b157600080fd5b60006124bf858286016123d0565b92505060206124d08582860161240f565b9150509250929050565b6000806000606084860312156124ef57600080fd5b60006124fd868287016123d0565b935050602061250e8682870161240f565b925050604061251f868287016123e5565b9150509250925092565b60006020828403121561253b57600080fd5b6000612549848285016123fa565b91505092915050565b60006020828403121561256457600080fd5b60006125728482850161240f565b91505092915050565b60006020828403121561258d57600080fd5b600061259b84828501612424565b91505092915050565b600080604083850312156125b757600080fd5b60006125c58582860161240f565b92505060206125d6858286016123d0565b9150509250929050565b600080604083850312156125f357600080fd5b60006126018582860161240f565b9250506020612612858286016123e5565b9150509250929050565b61262581612bf3565b82525050565b600061263682612bcc565b6126408185612bd7565b9350612650818560208601612c3b565b80840191505092915050565b6000612669600d83612be2565b91507f494e56414c49445f434c41494d000000000000000000000000000000000000006000830152602082019050919050565b60006126a9602083612be2565b91507f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65646000830152602082019050919050565b60006126e9600e83612be2565b91507f4449564944494e475f4552524f520000000000000000000000000000000000006000830152602082019050919050565b6000612729600983612be2565b91507f5355425f4552524f5200000000000000000000000000000000000000000000006000830152602082019050919050565b6000612769601183612be2565b91507f776974686472617720746f6f206d7563680000000000000000000000000000006000830152602082019050919050565b60006127a9600983612be2565b91507f4e4f545f4f574e455200000000000000000000000000000000000000000000006000830152602082019050919050565b60006127e9601283612be2565b91507f4c5020546f6b656e204e6f7420457869737400000000000000000000000000006000830152602082019050919050565b6000612829600983612be2565b91507f4144445f4552524f5200000000000000000000000000000000000000000000006000830152602082019050919050565b6000612869602a83612be2565b91507f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008301527f6f742073756363656564000000000000000000000000000000000000000000006020830152604082019050919050565b60006128cf601683612be2565b91507f4c5020546f6b656e20416c7265616479204578697374000000000000000000006000830152602082019050919050565b600061290f600983612be2565b91507f4d554c5f4552524f5200000000000000000000000000000000000000000000006000830152602082019050919050565b61294b81612c31565b82525050565b600061295d828461262b565b915081905092915050565b600060208201905061297d600083018461261c565b92915050565b6000606082019050612998600083018661261c565b6129a5602083018561261c565b6129b26040830184612942565b949350505050565b60006040820190506129cf600083018561261c565b6129dc6020830184612942565b9392505050565b60006080820190506129f8600083018761261c565b612a056020830186612942565b612a126040830185612942565b612a1f6060830184612942565b95945050505050565b60006020820190508181036000830152612a418161265c565b9050919050565b60006020820190508181036000830152612a618161269c565b9050919050565b60006020820190508181036000830152612a81816126dc565b9050919050565b60006020820190508181036000830152612aa18161271c565b9050919050565b60006020820190508181036000830152612ac18161275c565b9050919050565b60006020820190508181036000830152612ae18161279c565b9050919050565b60006020820190508181036000830152612b01816127dc565b9050919050565b60006020820190508181036000830152612b218161281c565b9050919050565b60006020820190508181036000830152612b418161285c565b9050919050565b60006020820190508181036000830152612b61816128c2565b9050919050565b60006020820190508181036000830152612b8181612902565b9050919050565b6000602082019050612b9d6000830184612942565b92915050565b6000604082019050612bb86000830185612942565b612bc56020830184612942565b9392505050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b6000612bfe82612c11565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b83811015612c59578082015181840152602081019050612c3e565b83811115612c68576000848401525b50505050565b612c7781612bf3565b8114612c8257600080fd5b50565b612c8e81612c05565b8114612c9957600080fd5b50565b612ca581612c31565b8114612cb057600080fd5b5056fea26469706673582212206c5ef2855065d11ff39309bb4d76e329941b85d4478ba56a6ef0537c8597a10564736f6c63430006090033608060405234801561001057600080fd5b50604051610d14380380610d148339818101604052810190610032919061014a565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506101bc565b600081519050610144816101a5565b92915050565b60006020828403121561015c57600080fd5b600061016a84828501610135565b91505092915050565b600061017e82610185565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6101ae81610173565b81146101b957600080fd5b50565b610b49806101cb6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806316048bc41461006757806321670f22146100855780634e71e0c8146100a157806375123ff9146100ab5780638456db15146100c9578063f2fde38b146100e7575b600080fd5b61006f610103565b60405161007c9190610968565b60405180910390f35b61009f600480360381019061009a9190610777565b610128565b005b6100a9610208565b005b6100b36103db565b6040516100c09190610968565b60405180910390f35b6100d1610401565b6040516100de9190610968565b60405180910390f35b61010160048036038101906100fc919061074e565b610427565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101ae906109ec565b60405180910390fd5b6102048282600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105759092919063ffffffff16565b5050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610298576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161028f906109ac565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146104b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ad906109ec565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6260405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6105f68363a9059cbb60e01b8484604051602401610594929190610983565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506105fb565b505050565b600060608373ffffffffffffffffffffffffffffffffffffffff16836040516106249190610951565b6000604051808303816000865af19150503d8060008114610661576040519150601f19603f3d011682016040523d82523d6000602084013e610666565b606091505b5091509150816106ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a2906109cc565b60405180910390fd5b60008151111561070957808060200190518101906106c991906107b3565b610708576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ff90610a0c565b60405180910390fd5b5b50505050565b60008135905061071e81610ace565b92915050565b60008151905061073381610ae5565b92915050565b60008135905061074881610afc565b92915050565b60006020828403121561076057600080fd5b600061076e8482850161070f565b91505092915050565b6000806040838503121561078a57600080fd5b60006107988582860161070f565b92505060206107a985828601610739565b9150509250929050565b6000602082840312156107c557600080fd5b60006107d384828501610724565b91505092915050565b6107e581610a53565b82525050565b60006107f682610a2c565b6108008185610a37565b9350610810818560208601610a9b565b80840191505092915050565b6000610829600d83610a42565b91507f494e56414c49445f434c41494d000000000000000000000000000000000000006000830152602082019050919050565b6000610869602083610a42565b91507f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65646000830152602082019050919050565b60006108a9600983610a42565b91507f4e4f545f4f574e455200000000000000000000000000000000000000000000006000830152602082019050919050565b60006108e9602a83610a42565b91507f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008301527f6f742073756363656564000000000000000000000000000000000000000000006020830152604082019050919050565b61094b81610a91565b82525050565b600061095d82846107eb565b915081905092915050565b600060208201905061097d60008301846107dc565b92915050565b600060408201905061099860008301856107dc565b6109a56020830184610942565b9392505050565b600060208201905081810360008301526109c58161081c565b9050919050565b600060208201905081810360008301526109e58161085c565b9050919050565b60006020820190508181036000830152610a058161089c565b9050919050565b60006020820190508181036000830152610a25816108dc565b9050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b6000610a5e82610a71565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b83811015610ab9578082015181840152602081019050610a9e565b83811115610ac8576000848401525b50505050565b610ad781610a53565b8114610ae257600080fd5b50565b610aee81610a65565b8114610af957600080fd5b50565b610b0581610a91565b8114610b1057600080fd5b5056fea26469706673582212204dd3b51af84772c0cd791c715df9a4fb26f85a61e90d8f8af99a209c42d9a3c964736f6c6343000609003300000000000000000000000069eb4fa4a2fbd498c257c57ea8b7655a2559a5810000000000000000000000000000000000000000000000000000000000c8a794
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000069eb4fa4a2fbd498c257c57ea8b7655a2559a5810000000000000000000000000000000000000000000000000000000000c8a794
-----Decoded View---------------
Arg [0] : _dodoToken (address): 0x69eb4fa4a2fbd498c257c57ea8b7655a2559a581
Arg [1] : _startBlock (uint256): 13150100
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000069eb4fa4a2fbd498c257c57ea8b7655a2559a581
Arg [1] : 0000000000000000000000000000000000000000000000000000000000c8a794
Deployed ByteCode Sourcemap
10067:11992:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12756:96;;;:::i;:::-;;;;;;;;;;;;;;;;306:22;;;:::i;:::-;;;;;;;;;;;;;;;;11863:34;;;:::i;:::-;;;;;;;;;;;;;;;;13010:183;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;20400:617;;;;;;;;;;;;;;;;:::i;:::-;;13934:390;;;;;;;;;;;;;;;;:::i;:::-;;11538:50;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;12860:142;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;18307:754;;;;;;;;;;;;;;;;:::i;:::-;;11954:25;;;:::i;:::-;;;;;;;;;;;;;;;;1097:230;;;:::i;:::-;;17466:719;;;;;;;;;;;;;;;;:::i;:::-;;17209:181;;;:::i;:::-;;11504:27;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16701:121;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;20048:344;;;;;;;;;;;;;;;;:::i;:::-;;14332:197;;;;;;;;;;;;;;;;:::i;:::-;;335:26;;;:::i;:::-;;;;;;;;;;;;;;;;11441:27;;;:::i;:::-;;;;;;;;;;;;;;;;11646:64;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;11404:30;;;:::i;:::-;;;;;;;;;;;;;;;;13245:681;;;;;;;;;;;;;;;;:::i;:::-;;21025:749;;;:::i;:::-;;11717:49;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;15459:1234;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;924:165;;;;;;;;;;;;;;;;:::i;:::-;;19069:741;;;;;;;;;;;;;;;;:::i;:::-;;19818:159;;;;;;;;;;;;;;;;:::i;:::-;;16830:247;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;14586:865;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;12756:96;12801:7;12828:9;:16;;;;12821:23;;12756:96;:::o;306:22::-;;;;;;;;;;;;;:::o;11863:34::-;;;;:::o;13010:183::-;13090:7;13110:11;13124:16;13131:8;13124:6;:16::i;:::-;13110:30;;13158:8;:13;13167:3;13158:13;;;;;;;;;;;:20;13172:5;13158:20;;;;;;;;;;;;;;;:27;;;13151:34;;;13010:183;;;;:::o;20400:617::-;20451:11;20465:16;20472:8;20465:6;:16::i;:::-;20451:30;;20532:1;20496:8;:13;20505:3;20496:13;;;;;;;;;;;:25;20510:10;20496:25;;;;;;;;;;;;;;;:32;;;:37;:71;;;;20566:1;20537:9;20547:3;20537:14;;;;;;;;;;;;;;;;;;:25;;;:30;20496:71;20492:122;;;20584:7;;;20492:122;20624:21;20648:9;20658:3;20648:14;;;;;;;;;;;;;;;;;;20624:38;;20673:21;20697:8;:13;20706:3;20697:13;;;;;;;;;;;:25;20711:10;20697:25;;;;;;;;;;;;;;;20673:49;;20733:15;20744:3;20733:10;:15::i;:::-;20759;20777:100;20851:4;:15;;;20777:55;20798:4;:11;;;20811:4;:20;;;20777;:55::i;:::-;:59;;:100;;;;:::i;:::-;20759:118;;20906:55;20927:4;:11;;;20940:4;:20;;;20906;:55::i;:::-;20888:4;:15;;:73;;;;20972:37;20989:10;21001:7;20972:16;:37::i;:::-;20400:617;;;;;;:::o;13934:390::-;702:7;;;;;;;;;;;688:21;;:10;:21;;;680:43;;;;;;;;;;;;;;;;;;;;;;14077:11:::1;14073:61;;;14105:17;:15;:17::i;:::-;14073:61;14144:11;14158:16;14165:8;14158:6;:16::i;:::-;14144:30;;14203:63;14254:11;14203:46;14223:9;14233:3;14223:14;;;;;;;;;;;;;;;;;;:25;;;14203:15;;:19;;:46;;;;:::i;:::-;:50;;:63;;;;:::i;:::-;14185:15;:81;;;;14305:11;14277:9;14287:3;14277:14;;;;;;;;;;;;;;;;;;:25;;:39;;;;734:1;13934:390:::0;;;:::o;11538:50::-;;;;;;;;;;;;;;;;;:::o;12860:142::-;12938:7;12919:8;12516:1;12489:15;:24;12505:7;12489:24;;;;;;;;;;;;;;;;:28;12481:59;;;;;;;;;;;;;;;;;;;;;;12993:1:::1;12965:15;:25;12981:8;12965:25;;;;;;;;;;;;;;;;:29;12958:36;;12860:142:::0;;;;:::o;18307:754::-;18377:11;18391:16;18398:8;18391:6;:16::i;:::-;18377:30;;18418:21;18442:9;18452:3;18442:14;;;;;;;;;;;;;;;;;;18418:38;;18467:21;18491:8;:13;18500:3;18491:13;;;;;;;;;;;:25;18505:10;18491:25;;;;;;;;;;;;;;;18467:49;;18527:15;18538:3;18527:10;:15::i;:::-;18571:1;18557:4;:11;;;:15;18553:226;;;18589:15;18607:108;18685:4;:15;;;18607:55;18628:4;:11;;;18641:4;:20;;;18607;:55::i;:::-;:59;;:108;;;;:::i;:::-;18589:126;;18730:37;18747:10;18759:7;18730:16;:37::i;:::-;18553:226;;18789:82;18835:10;18856:4;18863:7;18796:4;:12;;;;;;;;;;;;18789:37;;;;:82;;;;;;:::i;:::-;18896:24;18912:7;18896:4;:11;;;:15;;:24;;;;:::i;:::-;18882:4;:11;;:38;;;;18949:55;18970:4;:11;;;18983:4;:20;;;18949;:55::i;:::-;18931:4;:15;;:73;;;;19040:3;19028:10;19020:33;;;19045:7;19020:33;;;;;;;;;;;;;;;18307:754;;;;;:::o;11954:25::-;;;;:::o;1097:230::-;1165:11;;;;;;;;;;;1151:25;;:10;:25;;;1143:51;;;;;;;;;;;;;;;;;;;;;;1240:11;;;;;;;;;;;1210:42;;1231:7;;;;;;;;;;;1210:42;;;;;;;;;;;;1273:11;;;;;;;;;;;1263:7;;:21;;;;;;;;;;;;;;;;;;1317:1;1295:11;;:24;;;;;;;;;;;;;;;;;;1097:230::o;17466:719::-;17518:21;17542:9;17552:4;17542:15;;;;;;;;;;;;;;;;;;17518:39;;17588:4;:20;;;17572:12;:36;17568:75;;17625:7;;;17568:75;17653:16;17679:4;:12;;;;;;;;;;;;17672:30;;;17711:4;17672:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17653:64;;17744:1;17732:8;:13;17728:102;;;17785:12;17762:4;:20;;:35;;;;17812:7;;;;17728:102;17840:18;17861:168;18013:15;;17861:133;17978:4;:15;;;17861:98;17946:12;;17861:66;17906:4;:20;;;17861:26;:44;;:66;;;;:::i;:::-;:84;;:98;;;;:::i;:::-;:116;;:133;;;;:::i;:::-;:151;;:168;;;;:::i;:::-;17840:189;;18063:68;18088:42;18109:10;18121:8;18088:20;:42::i;:::-;18063:4;:20;;;:24;;:68;;;;:::i;:::-;18040:4;:20;;:91;;;;18165:12;18142:4;:20;;:35;;;;17466:719;;;;;:::o;17209:181::-;17254:14;17271:9;:16;;;;17254:33;;17303:11;17317:1;17303:15;;17298:85;17326:6;17320:3;:12;17298:85;;;17356:15;17367:3;17356:10;:15::i;:::-;17334:5;;;;;17298:85;;;;17209:181;:::o;11504:27::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;16701:121::-;16766:7;16793:14;:21;16808:5;16793:21;;;;;;;;;;;;;;;;16786:28;;16701:121;;;:::o;20048:344::-;20111:11;20125:16;20132:8;20125:6;:16::i;:::-;20111:30;;20152:21;20176:9;20186:3;20176:14;;;;;;;;;;;;;;;;;;20152:38;;20201:21;20225:8;:13;20234:3;20225:13;;;;;;;;;;;:25;20239:10;20225:25;;;;;;;;;;;;;;;20201:49;;20261:67;20303:10;20316:4;:11;;;20268:4;:12;;;;;;;;;;;;20261:33;;;;:67;;;;;:::i;:::-;20353:1;20339:4;:11;;:15;;;;20383:1;20365:4;:15;;:19;;;;20048:344;;;;:::o;14332:197::-;702:7;;;;;;;;;;;688:21;;:10;:21;;;680:43;;;;;;;;;;;;;;;;;;;;;;14426:11:::1;14422:61;;;14454:17;:15;:17::i;:::-;14422:61;14508:13;14493:12;:28;;;;14332:197:::0;;:::o;335:26::-;;;;;;;;;;;;;:::o;11441:27::-;;;;:::o;11646:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;11404:30::-;;;;;;;;;;;;;:::o;13245:681::-;13379:8;12657:1;12629:15;:24;12645:7;12629:24;;;;;;;;;;;;;;;;:29;12621:64;;;;;;;;;;;;;;;;;;;;;;702:7:::1;::::0;::::1;;;;;;;;;688:21;;:10;:21;;;680:43;;;;;;;;;;;;;;;;;;;;;;13414:11:::2;13410:61;;;13442:17;:15;:17::i;:::-;13410:61;13481:23;13522:10;;13507:12;:25;:53;;13550:10;;13507:53;;;13535:12;13507:53;13481:79;;13589:32;13609:11;13589:15;;:19;;:32;;;;:::i;:::-;13571:15;:50;;;;13632:9;13661:191;;;;;;;;13698:8;13661:191;;;;;;13737:11;13661:191;;;;13784:15;13661:191;;;;13835:1;13661:191;;::::0;13632:231:::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13902:9;:16;;;;13874:15;:25;13890:8;13874:25;;;;;;;;;;;;;;;:44;;;;734:1;13245:681:::0;;;;:::o;21025:749::-;21063:14;21080:9;:16;;;;21063:33;;21107:15;21125:1;21107:19;;21142:11;21156:1;21142:15;;21137:582;21165:6;21159:3;:12;21137:582;;;21235:1;21199:8;:13;21208:3;21199:13;;;;;;;;;;;:25;21213:10;21199:25;;;;;;;;;;;;;;;:32;;;:37;:71;;;;21269:1;21240:9;21250:3;21240:14;;;;;;;;;;;;;;;;;;:25;;;:30;21199:71;21195:132;;;21291:8;;21195:132;21341:21;21365:9;21375:3;21365:14;;;;;;;;;;;;;;;;;;21341:38;;21394:21;21418:8;:13;21427:3;21418:13;;;;;;;;;;;:25;21432:10;21418:25;;;;;;;;;;;;;;;21394:49;;21458:15;21469:3;21458:10;:15::i;:::-;21498:121;21528:76;21588:4;:15;;;21528:55;21549:4;:11;;;21562:4;:20;;;21528;:55::i;:::-;:59;;:76;;;;:::i;:::-;21498:7;:11;;:121;;;;:::i;:::-;21488:131;;21652:55;21673:4;:11;;;21686:4;:20;;;21652;:55::i;:::-;21634:4;:15;;:73;;;;21137:582;;;21173:5;;;;;21137:582;;;;21729:37;21746:10;21758:7;21729:16;:37::i;:::-;21025:749;;:::o;11717:49::-;;;;;;;;;;;;;;;;;:::o;15459:1234::-;15526:7;15546:14;15563:9;:16;;;;15546:33;;15590:19;15612:1;15590:23;;15629:11;15643:1;15629:15;;15624:1033;15652:6;15646:3;:12;15624:1033;;;15717:1;15686:8;:13;15695:3;15686:13;;;;;;;;;;;:20;15700:5;15686:20;;;;;;;;;;;;;;;:27;;;:32;:66;;;;15751:1;15722:9;15732:3;15722:14;;;;;;;;;;;;;;;;;;:25;;;:30;15686:66;15682:127;;;15773:8;;15682:127;15823:21;15847:9;15857:3;15847:14;;;;;;;;;;;;;;;;;;15823:38;;15876:21;15900:8;:13;15909:3;15900:13;;;;;;;;;;;:20;15914:5;15900:20;;;;;;;;;;;;;;;15876:44;;15935:23;15961:4;:20;;;15935:46;;15996:16;16022:4;:12;;;;;;;;;;;;16015:30;;;16054:4;16015:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15996:64;;16094:4;:20;;;16079:12;:35;:52;;;;;16130:1;16118:8;:13;;16079:52;16075:422;;;16152:18;16173:208;16365:15;;16173:165;16322:4;:15;;;16173:122;16282:12;;16173:82;16234:4;:20;;;16173:34;:60;;:82;;;;:::i;:::-;:108;;:122;;;;:::i;:::-;:148;;:165;;;;:::i;:::-;:191;;:208;;;;:::i;:::-;16152:229;;16418:63;16438:42;16459:10;16471:8;16438:20;:42::i;:::-;16418:15;:19;;:63;;;;:::i;:::-;16400:81;;16075:422;;16525:120;16559:71;16614:4;:15;;;16559:50;16580:4;:11;;;16593:15;16559:20;:50::i;:::-;:54;;:71;;;;:::i;:::-;16525:11;:15;;:120;;;;:::i;:::-;16511:134;;15624:1033;;;;;15660:5;;;;;15624:1033;;;;16674:11;16667:18;;;;15459:1234;;;:::o;924:165::-;702:7;;;;;;;;;;;688:21;;:10;:21;;;680:43;;;;;;;;;;;;;;;;;;;;;;1039:8:::1;1004:44;;1030:7;::::0;::::1;;;;;;;;;1004:44;;;;;;;;;;;;1073:8;1059:11;;:22;;;;;;;;;;;;;;;;;;924:165:::0;:::o;19069:741::-;19140:11;19154:16;19161:8;19154:6;:16::i;:::-;19140:30;;19181:21;19205:9;19215:3;19205:14;;;;;;;;;;;;;;;;;;19181:38;;19230:21;19254:8;:13;19263:3;19254:13;;;;;;;;;;;:25;19268:10;19254:25;;;;;;;;;;;;;;;19230:49;;19313:7;19298:4;:11;;;:22;;19290:52;;;;;;;;;;;;;;;;;;;;;;19353:15;19364:3;19353:10;:15::i;:::-;19379;19397:100;19471:4;:15;;;19397:55;19418:4;:11;;;19431:4;:20;;;19397;:55::i;:::-;:59;;:100;;;;:::i;:::-;19379:118;;19508:37;19525:10;19537:7;19508:16;:37::i;:::-;19570:24;19586:7;19570:4;:11;;;:15;;:24;;;;:::i;:::-;19556:4;:11;;:38;;;;19623:55;19644:4;:11;;;19657:4;:20;;;19623;:55::i;:::-;19605:4;:15;;:73;;;;19689:63;19731:10;19744:7;19696:4;:12;;;;;;;;;;;;19689:33;;;;:63;;;;;:::i;:::-;19789:3;19777:10;19768:34;;;19794:7;19768:34;;;;;;;;;;;;;;;19069:741;;;;;;:::o;19818:159::-;19875:15;19893:38;19910:8;19920:10;19893:16;:38::i;:::-;19875:56;;19942:27;19951:8;19961:7;19942:8;:27::i;:::-;19818:159;;:::o;16830:247::-;16898:7;16918:11;16932:16;16939:8;16932:6;:16::i;:::-;16918:30;;16959:21;16983:9;16993:3;16983:14;;;;;;;;;;;;;;;;;;16959:38;;17015:54;17053:15;;17015:33;17032:4;:15;;;17015:12;;:16;;:33;;;;:::i;:::-;:37;;:54;;;;:::i;:::-;17008:61;;;;16830:247;;;:::o;14586:865::-;14668:7;14688:11;14702:16;14709:8;14702:6;:16::i;:::-;14688:30;;14729:21;14753:9;14763:3;14753:14;;;;;;;;;;;;;;;;;;14729:38;;14778:21;14802:8;:13;14811:3;14802:13;;;;;;;;;;;:20;14816:5;14802:20;;;;;;;;;;;;;;;14778:44;;14833:23;14859:4;:20;;;14833:46;;14890:16;14916:4;:12;;;;;;;;;;;;14909:30;;;14948:4;14909:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14890:64;;14984:4;:20;;;14969:12;:35;:52;;;;;15020:1;15008:8;:13;;14969:52;14965:390;;;15038:18;15059:188;15231:15;;15059:149;15192:4;:15;;;15059:110;15156:12;;15059:74;15112:4;:20;;;15059:30;:52;;:74;;;;:::i;:::-;:96;;:110;;;;:::i;:::-;:132;;:149;;;;:::i;:::-;:171;;:188;;;;:::i;:::-;15038:209;;15280:63;15300:42;15321:10;15333:8;15300:20;:42::i;:::-;15280:15;:19;;:63;;;;:::i;:::-;15262:81;;14965:390;;15372:71;15427:4;:15;;;15372:50;15393:4;:11;;;15406:15;15372:20;:50::i;:::-;:54;;:71;;;;:::i;:::-;15365:78;;;;;;;14586:865;;;;:::o;3050:127::-;3118:7;3162:6;3145:13;3156:1;3145:6;:10;;:13;;;;:::i;:::-;:24;;;;;;3138:31;;3050:127;;;;:::o;2203:137::-;2261:7;2294:1;2289;:6;;2281:28;;;;;;;;;;;;;;;;;;;;;;2331:1;2327;:5;2320:12;;2203:137;;;;:::o;21818:238::-;21911:15;;;;;;;;;;;21894:40;;;21935:3;21940:7;21894:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21981:32;22005:7;21981:14;:19;21996:3;21981:19;;;;;;;;;;;;;;;;:23;;:32;;;;:::i;:::-;21959:14;:19;21974:3;21959:19;;;;;;;;;;;;;;;:54;;;;22035:3;22029:19;;;22040:7;22029:19;;;;;;;;;;;;;;;21818:238;;:::o;2348:161::-;2406:7;2426:9;2442:1;2438;:5;2426:17;;2467:1;2462;:6;;2454:28;;;;;;;;;;;;;;;;;;;;;;2500:1;2493:8;;;2348:161;;;;:::o;7133:285::-;7277:133;7311:5;7354:27;;;7383:4;7389:2;7393:5;7331:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7277:19;:133::i;:::-;7133:285;;;;:::o;1524:226::-;1582:7;1611:1;1606;:6;1602:47;;;1636:1;1629:8;;;;1602:47;1661:9;1677:1;1673;:5;1661:17;;1706:1;1701;1697;:5;;;;;;:10;1689:32;;;;;;;;;;;;;;;;;;;;;;1741:1;1734:8;;;1524:226;;;;;:::o;1758:141::-;1816:7;1848:1;1844;:5;1836:32;;;;;;;;;;;;;;;;;;;;;;1890:1;1886;:5;;;;;;1879:12;;1758:141;;;;:::o;3324:128::-;3392:7;3419:25;3442:1;3419:18;3430:6;3419;:10;;:18;;;;:::i;:::-;:22;;:25;;;;:::i;:::-;3412:32;;3324:128;;;;:::o;6914:211::-;7031:86;7051:5;7081:23;;;7106:2;7110:5;7058:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7031:19;:86::i;:::-;6914:211;;;:::o;8487:1046::-;9147:12;9161:23;9196:5;9188:19;;9208:4;9188:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9146:67;;;;9232:7;9224:52;;;;;;;;;;;;;;;;;;;;;;9313:1;9293:10;:17;:21;9289:237;;;9448:10;9437:30;;;;;;;;;;;;;;9429:85;;;;;;;;;;;;;;;;;;;;;;9289:237;8487:1046;;;;:::o;5:130:-1:-;;85:6;72:20;63:29;;97:33;124:5;97:33;;;57:78;;;;;142:124;;219:6;206:20;197:29;;231:30;255:5;231:30;;;191:75;;;;;273:128;;354:6;348:13;339:22;;366:30;390:5;366:30;;;333:68;;;;;408:130;;488:6;475:20;466:29;;500:33;527:5;500:33;;;460:78;;;;;545:134;;629:6;623:13;614:22;;641:33;668:5;641:33;;;608:71;;;;;686:241;;790:2;778:9;769:7;765:23;761:32;758:2;;;806:1;803;796:12;758:2;841:1;858:53;903:7;894:6;883:9;879:22;858:53;;;848:63;;820:97;752:175;;;;;934:366;;;1055:2;1043:9;1034:7;1030:23;1026:32;1023:2;;;1071:1;1068;1061:12;1023:2;1106:1;1123:53;1168:7;1159:6;1148:9;1144:22;1123:53;;;1113:63;;1085:97;1213:2;1231:53;1276:7;1267:6;1256:9;1252:22;1231:53;;;1221:63;;1192:98;1017:283;;;;;;1307:366;;;1428:2;1416:9;1407:7;1403:23;1399:32;1396:2;;;1444:1;1441;1434:12;1396:2;1479:1;1496:53;1541:7;1532:6;1521:9;1517:22;1496:53;;;1486:63;;1458:97;1586:2;1604:53;1649:7;1640:6;1629:9;1625:22;1604:53;;;1594:63;;1565:98;1390:283;;;;;;1680:485;;;;1815:2;1803:9;1794:7;1790:23;1786:32;1783:2;;;1831:1;1828;1821:12;1783:2;1866:1;1883:53;1928:7;1919:6;1908:9;1904:22;1883:53;;;1873:63;;1845:97;1973:2;1991:53;2036:7;2027:6;2016:9;2012:22;1991:53;;;1981:63;;1952:98;2081:2;2099:50;2141:7;2132:6;2121:9;2117:22;2099:50;;;2089:60;;2060:95;1777:388;;;;;;2172:257;;2284:2;2272:9;2263:7;2259:23;2255:32;2252:2;;;2300:1;2297;2290:12;2252:2;2335:1;2352:61;2405:7;2396:6;2385:9;2381:22;2352:61;;;2342:71;;2314:105;2246:183;;;;;2436:241;;2540:2;2528:9;2519:7;2515:23;2511:32;2508:2;;;2556:1;2553;2546:12;2508:2;2591:1;2608:53;2653:7;2644:6;2633:9;2629:22;2608:53;;;2598:63;;2570:97;2502:175;;;;;2684:263;;2799:2;2787:9;2778:7;2774:23;2770:32;2767:2;;;2815:1;2812;2805:12;2767:2;2850:1;2867:64;2923:7;2914:6;2903:9;2899:22;2867:64;;;2857:74;;2829:108;2761:186;;;;;2954:366;;;3075:2;3063:9;3054:7;3050:23;3046:32;3043:2;;;3091:1;3088;3081:12;3043:2;3126:1;3143:53;3188:7;3179:6;3168:9;3164:22;3143:53;;;3133:63;;3105:97;3233:2;3251:53;3296:7;3287:6;3276:9;3272:22;3251:53;;;3241:63;;3212:98;3037:283;;;;;;3327:360;;;3445:2;3433:9;3424:7;3420:23;3416:32;3413:2;;;3461:1;3458;3451:12;3413:2;3496:1;3513:53;3558:7;3549:6;3538:9;3534:22;3513:53;;;3503:63;;3475:97;3603:2;3621:50;3663:7;3654:6;3643:9;3639:22;3621:50;;;3611:60;;3582:95;3407:280;;;;;;3694:113;3777:24;3795:5;3777:24;;;3772:3;3765:37;3759:48;;;3814:356;;3942:38;3974:5;3942:38;;;3992:88;4073:6;4068:3;3992:88;;;3985:95;;4085:52;4130:6;4125:3;4118:4;4111:5;4107:16;4085:52;;;4158:6;4153:3;4149:16;4142:23;;3922:248;;;;;;4178:313;;4338:67;4402:2;4397:3;4338:67;;;4331:74;;4438:15;4434:1;4429:3;4425:11;4418:36;4482:2;4477:3;4473:12;4466:19;;4324:167;;;;4500:332;;4660:67;4724:2;4719:3;4660:67;;;4653:74;;4760:34;4756:1;4751:3;4747:11;4740:55;4823:2;4818:3;4814:12;4807:19;;4646:186;;;;4841:314;;5001:67;5065:2;5060:3;5001:67;;;4994:74;;5101:16;5097:1;5092:3;5088:11;5081:37;5146:2;5141:3;5137:12;5130:19;;4987:168;;;;5164:308;;5324:66;5388:1;5383:3;5324:66;;;5317:73;;5423:11;5419:1;5414:3;5410:11;5403:32;5463:2;5458:3;5454:12;5447:19;;5310:162;;;;5481:317;;5641:67;5705:2;5700:3;5641:67;;;5634:74;;5741:19;5737:1;5732:3;5728:11;5721:40;5789:2;5784:3;5780:12;5773:19;;5627:171;;;;5807:308;;5967:66;6031:1;6026:3;5967:66;;;5960:73;;6066:11;6062:1;6057:3;6053:11;6046:32;6106:2;6101:3;6097:12;6090:19;;5953:162;;;;6124:318;;6284:67;6348:2;6343:3;6284:67;;;6277:74;;6384:20;6380:1;6375:3;6371:11;6364:41;6433:2;6428:3;6424:12;6417:19;;6270:172;;;;6451:308;;6611:66;6675:1;6670:3;6611:66;;;6604:73;;6710:11;6706:1;6701:3;6697:11;6690:32;6750:2;6745:3;6741:12;6734:19;;6597:162;;;;6768:379;;6928:67;6992:2;6987:3;6928:67;;;6921:74;;7028:34;7024:1;7019:3;7015:11;7008:55;7097:12;7092:2;7087:3;7083:12;7076:34;7138:2;7133:3;7129:12;7122:19;;6914:233;;;;7156:322;;7316:67;7380:2;7375:3;7316:67;;;7309:74;;7416:24;7412:1;7407:3;7403:11;7396:45;7469:2;7464:3;7460:12;7453:19;;7302:176;;;;7487:308;;7647:66;7711:1;7706:3;7647:66;;;7640:73;;7746:11;7742:1;7737:3;7733:11;7726:32;7786:2;7781:3;7777:12;7770:19;;7633:162;;;;7803:113;7886:24;7904:5;7886:24;;;7881:3;7874:37;7868:48;;;7923:271;;8076:93;8165:3;8156:6;8076:93;;;8069:100;;8186:3;8179:10;;8057:137;;;;;8201:222;;8328:2;8317:9;8313:18;8305:26;;8342:71;8410:1;8399:9;8395:17;8386:6;8342:71;;;8299:124;;;;;8430:444;;8613:2;8602:9;8598:18;8590:26;;8627:71;8695:1;8684:9;8680:17;8671:6;8627:71;;;8709:72;8777:2;8766:9;8762:18;8753:6;8709:72;;;8792;8860:2;8849:9;8845:18;8836:6;8792:72;;;8584:290;;;;;;;8881:333;;9036:2;9025:9;9021:18;9013:26;;9050:71;9118:1;9107:9;9103:17;9094:6;9050:71;;;9132:72;9200:2;9189:9;9185:18;9176:6;9132:72;;;9007:207;;;;;;9221:556;;9432:3;9421:9;9417:19;9409:27;;9447:71;9515:1;9504:9;9500:17;9491:6;9447:71;;;9529:72;9597:2;9586:9;9582:18;9573:6;9529:72;;;9612;9680:2;9669:9;9665:18;9656:6;9612:72;;;9695;9763:2;9752:9;9748:18;9739:6;9695:72;;;9403:374;;;;;;;;9784:416;;9984:2;9973:9;9969:18;9961:26;;10034:9;10028:4;10024:20;10020:1;10009:9;10005:17;9998:47;10059:131;10185:4;10059:131;;;10051:139;;9955:245;;;;10207:416;;10407:2;10396:9;10392:18;10384:26;;10457:9;10451:4;10447:20;10443:1;10432:9;10428:17;10421:47;10482:131;10608:4;10482:131;;;10474:139;;10378:245;;;;10630:416;;10830:2;10819:9;10815:18;10807:26;;10880:9;10874:4;10870:20;10866:1;10855:9;10851:17;10844:47;10905:131;11031:4;10905:131;;;10897:139;;10801:245;;;;11053:416;;11253:2;11242:9;11238:18;11230:26;;11303:9;11297:4;11293:20;11289:1;11278:9;11274:17;11267:47;11328:131;11454:4;11328:131;;;11320:139;;11224:245;;;;11476:416;;11676:2;11665:9;11661:18;11653:26;;11726:9;11720:4;11716:20;11712:1;11701:9;11697:17;11690:47;11751:131;11877:4;11751:131;;;11743:139;;11647:245;;;;11899:416;;12099:2;12088:9;12084:18;12076:26;;12149:9;12143:4;12139:20;12135:1;12124:9;12120:17;12113:47;12174:131;12300:4;12174:131;;;12166:139;;12070:245;;;;12322:416;;12522:2;12511:9;12507:18;12499:26;;12572:9;12566:4;12562:20;12558:1;12547:9;12543:17;12536:47;12597:131;12723:4;12597:131;;;12589:139;;12493:245;;;;12745:416;;12945:2;12934:9;12930:18;12922:26;;12995:9;12989:4;12985:20;12981:1;12970:9;12966:17;12959:47;13020:131;13146:4;13020:131;;;13012:139;;12916:245;;;;13168:416;;13368:2;13357:9;13353:18;13345:26;;13418:9;13412:4;13408:20;13404:1;13393:9;13389:17;13382:47;13443:131;13569:4;13443:131;;;13435:139;;13339:245;;;;13591:416;;13791:2;13780:9;13776:18;13768:26;;13841:9;13835:4;13831:20;13827:1;13816:9;13812:17;13805:47;13866:131;13992:4;13866:131;;;13858:139;;13762:245;;;;14014:416;;14214:2;14203:9;14199:18;14191:26;;14264:9;14258:4;14254:20;14250:1;14239:9;14235:17;14228:47;14289:131;14415:4;14289:131;;;14281:139;;14185:245;;;;14437:222;;14564:2;14553:9;14549:18;14541:26;;14578:71;14646:1;14635:9;14631:17;14622:6;14578:71;;;14535:124;;;;;14666:333;;14821:2;14810:9;14806:18;14798:26;;14835:71;14903:1;14892:9;14888:17;14879:6;14835:71;;;14917:72;14985:2;14974:9;14970:18;14961:6;14917:72;;;14792:207;;;;;;15006:121;;15099:5;15093:12;15083:22;;15064:63;;;;15135:144;;15270:3;15255:18;;15248:31;;;;;15288:163;;15403:6;15398:3;15391:19;15440:4;15435:3;15431:14;15416:29;;15384:67;;;;;15459:91;;15521:24;15539:5;15521:24;;;15510:35;;15504:46;;;;15557:85;;15630:5;15623:13;15616:21;15605:32;;15599:43;;;;15649:121;;15722:42;15715:5;15711:54;15700:65;;15694:76;;;;15777:72;;15839:5;15828:16;;15822:27;;;;15857:268;15922:1;15929:101;15943:6;15940:1;15937:13;15929:101;;;16019:1;16014:3;16010:11;16004:18;16000:1;15995:3;15991:11;15984:39;15965:2;15962:1;15958:10;15953:15;;15929:101;;;16045:6;16042:1;16039:13;16036:2;;;16110:1;16101:6;16096:3;16092:16;16085:27;16036:2;15906:219;;;;;16133:117;16202:24;16220:5;16202:24;;;16195:5;16192:35;16182:2;;16241:1;16238;16231:12;16182:2;16176:74;;16257:111;16323:21;16338:5;16323:21;;;16316:5;16313:32;16303:2;;16359:1;16356;16349:12;16303:2;16297:71;;16375:117;16444:24;16462:5;16444:24;;;16437:5;16434:35;16424:2;;16483:1;16480;16473:12;16424:2;16418:74;
Metadata Hash
4dd3b51af84772c0cd791c715df9a4fb26f85a61e90d8f8af99a209c42d9a3c9
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.