More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 53 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Exit | 9619682 | 1235 days ago | IN | 0 BNB | 0.00091915 | ||||
Exit | 8647883 | 1269 days ago | IN | 0 BNB | 0.00084415 | ||||
Get Reward | 7376572 | 1313 days ago | IN | 0 BNB | 0.00025864 | ||||
Get Reward | 7274308 | 1317 days ago | IN | 0 BNB | 0.00025864 | ||||
Get Reward | 7218793 | 1319 days ago | IN | 0 BNB | 0.00025864 | ||||
Exit | 7162179 | 1321 days ago | IN | 0 BNB | 0.00165864 | ||||
Withdraw | 7162171 | 1321 days ago | IN | 0 BNB | 0.00105094 | ||||
Exit | 6841261 | 1332 days ago | IN | 0 BNB | 0.00177543 | ||||
Get Reward | 6662824 | 1339 days ago | IN | 0 BNB | 0.00117424 | ||||
Withdraw | 6517213 | 1344 days ago | IN | 0 BNB | 0.00190778 | ||||
Stake | 6498230 | 1344 days ago | IN | 0 BNB | 0.00102797 | ||||
Get Reward | 6190795 | 1355 days ago | IN | 0 BNB | 0.0008695 | ||||
Get Reward | 6050231 | 1360 days ago | IN | 0 BNB | 0.0007195 | ||||
Get Reward | 6018955 | 1361 days ago | IN | 0 BNB | 0.00032528 | ||||
Exit | 6018935 | 1361 days ago | IN | 0 BNB | 0.0041606 | ||||
Get Reward | 5942810 | 1364 days ago | IN | 0 BNB | 0.0007195 | ||||
Exit | 5870544 | 1366 days ago | IN | 0 BNB | 0.00527616 | ||||
Withdraw | 5813136 | 1368 days ago | IN | 0 BNB | 0.00184457 | ||||
Get Reward | 5813126 | 1368 days ago | IN | 0 BNB | 0.0008695 | ||||
Get Reward | 5774236 | 1370 days ago | IN | 0 BNB | 0.0007195 | ||||
Get Reward | 5628466 | 1375 days ago | IN | 0 BNB | 0.00245648 | ||||
Stake | 5605901 | 1376 days ago | IN | 0 BNB | 0.00367121 | ||||
Stake | 5591264 | 1376 days ago | IN | 0 BNB | 0.00205594 | ||||
Get Reward | 5581778 | 1376 days ago | IN | 0 BNB | 0.00032573 | ||||
Get Reward | 5576391 | 1377 days ago | IN | 0 BNB | 0.00245648 |
Latest 25 internal transactions (View All)
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
5470465 | 1380 days ago | 0 BNB | ||||
5470139 | 1380 days ago | 0 BNB | ||||
5470139 | 1380 days ago | 0 BNB | ||||
5470139 | 1380 days ago | 0 BNB | ||||
5470139 | 1380 days ago | 0 BNB | ||||
5470034 | 1380 days ago | 0 BNB | ||||
5470034 | 1380 days ago | 0 BNB | ||||
5470034 | 1380 days ago | 0 BNB | ||||
5470034 | 1380 days ago | 0 BNB | ||||
5470034 | 1380 days ago | 0 BNB | ||||
5447619 | 1381 days ago | 0 BNB | ||||
5447619 | 1381 days ago | 0 BNB | ||||
5447619 | 1381 days ago | 0 BNB | ||||
5444303 | 1381 days ago | 0 BNB | ||||
5444303 | 1381 days ago | 0 BNB | ||||
5444303 | 1381 days ago | 0 BNB | ||||
5444303 | 1381 days ago | 0 BNB | ||||
5444303 | 1381 days ago | 0 BNB | ||||
5444303 | 1381 days ago | 0 BNB | ||||
5444303 | 1381 days ago | 0 BNB | ||||
5438273 | 1381 days ago | 0 BNB | ||||
5438273 | 1381 days ago | 0 BNB | ||||
5438273 | 1381 days ago | 0 BNB | ||||
5421660 | 1382 days ago | 0 BNB | ||||
5421660 | 1382 days ago | 0 BNB |
Loading...
Loading
Contract Name:
HakkaHarvester
Compiler Version
v0.5.17+commit.d19bba13
Contract Source Code (Solidity)
/** *Submitted for verification at BscScan.com on 2021-03-01 */ pragma solidity 0.5.17; library Math { /** * @dev Returns the largest of two numbers. */ function max(uint256 a, uint256 b) internal pure returns (uint256) { return a >= b ? a : b; } /** * @dev Returns the smallest of two numbers. */ function min(uint256 a, uint256 b) internal pure returns (uint256) { return a < b ? a : b; } /** * @dev Returns the average of two numbers. The result is rounded towards * zero. */ function average(uint256 a, uint256 b) internal pure returns (uint256) { // (a + b) / 2 can overflow, so we distribute return (a / 2) + (b / 2) + ((a % 2 + b % 2) / 2); } } 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. * * _Available since v2.4.0._ */ 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. * * _Available since v2.4.0._ */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 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. * * _Available since v2.4.0._ */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } contract Context { // Empty internal constructor, to prevent people from mistakenly deploying // an instance of this contract, which should be used via inheritance. constructor () internal { } // solhint-disable-previous-line no-empty-blocks function _msgSender() internal view returns (address payable) { return msg.sender; } function _msgData() internal view returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () internal { _owner = _msgSender(); emit OwnershipTransferred(address(0), _owner); } /** * @dev Returns the address of the current owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(isOwner(), "Ownable: caller is not the owner"); _; } /** * @dev Returns true if the caller is the current owner. */ function isOwner() public view returns (bool) { return _msgSender() == _owner; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public onlyOwner { _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). */ function _transferOwnership(address newOwner) internal { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } interface IERC20 { /** * @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); } library Address { /** * @dev Returns true if `account` is a contract. * * This test is non-exhaustive, and there may be false-negatives: during the * execution of a contract's constructor, its address will be reported as * not containing 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. */ 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. // According to EIP-1052, 0x0 is the value returned for not-yet created accounts // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned // for accounts without code, i.e. `keccak256('')` bytes32 codehash; bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; // solhint-disable-next-line no-inline-assembly assembly { codehash := extcodehash(account) } return (codehash != 0x0 && codehash != accountHash); } /** * @dev Converts an `address` into `address payable`. Note that this is * simply a type cast: the actual underlying value is not changed. * * _Available since v2.4.0._ */ function toPayable(address account) internal pure returns (address payable) { return address(uint160(account)); } /** * @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]. * * _Available since v2.4.0._ */ function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); // solhint-disable-next-line avoid-call-value (bool success, ) = recipient.call.value(amount)(""); require(success, "Address: unable to send value, recipient may have reverted"); } } 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)); } 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. // 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 require(address(token).isContract(), "SafeERC20: call to non-contract"); // 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"); } } } contract UniswapV2Router02 { function swapExactTokensForTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); } contract MasterChef { function deposit(uint256 _pid, uint256 _amount) public; function withdraw(uint256 _pid, uint256 _amount) public; function emergencyWithdraw(uint256 _pid) public; } contract Pot { function grant(uint256 amount) external returns (uint256 reward); } contract VestingVault { function deposit(address to, uint256 amount) external; } contract HakkaHarvester is Ownable { using SafeMath for uint256; using SafeERC20 for IERC20; IERC20 public constant Hakka = IERC20(0x1D1eb8E8293222e1a29d2C0E4cE6C0Acfd89AaaC); IERC20 public constant Cake = IERC20(0x0E09FaBB73Bd3Ade0a17ECC321fD13a19e81cE82); IERC20 public constant LP = IERC20(0x1B96B92314C44b159149f7E0303511fB2Fc4774f); //BNB-BUSD MasterChef public constant chef = MasterChef(0x73feaa1eE314F8c655E354234017bE2193C9E24E); UniswapV2Router02 public constant pancakeswap = UniswapV2Router02(0x05fF2B0DB69458A0750badebc4f9e13aDd608C7F); Pot public constant pot = Pot(0xfD091F4D523f9741Aa0712e57bd590FF2F30bD94); VestingVault public vault = VestingVault(0x6dbff20CAFf68B99b1e67B50D14A9D7BBdfA94DC); bool public autofarm = true; uint256 public constant pid = 2; //BNB-BUSD uint256 public rewardPerToken; uint256 private _totalSupply = 1; //prevent div 0 error mapping(address => uint256) public userRewardPerTokenPaid; mapping(address => uint256) public rewards; mapping(address => uint256) private _balances; event RewardAdded(uint256 reward); event Staked(address indexed user, uint256 amount); event Withdrawn(address indexed user, uint256 amount); event RewardPaid(address indexed user, uint256 reward); constructor() public { LP.approve(address(chef), uint256(-1)); Cake.approve(address(pancakeswap), uint256(-1)); Hakka.approve(address(vault), uint256(-1)); } function totalSupply() public view returns (uint256) { return _totalSupply; } function balanceOf(address account) public view returns (uint256) { return _balances[account]; } modifier updateReward(address account) { if(autofarm) harvest(); if (account != address(0)) { rewards[account] = earned(account); userRewardPerTokenPaid[account] = rewardPerToken; } _; } function earned(address account) public view returns (uint256) { return balanceOf(account) .mul(rewardPerToken.sub(userRewardPerTokenPaid[account])) .div(1e18) .add(rewards[account]); } function stake(uint256 amount) public updateReward(msg.sender) { require(amount > 0, "Cannot stake 0"); _totalSupply = _totalSupply.add(amount); _balances[msg.sender] = _balances[msg.sender].add(amount); LP.safeTransferFrom(msg.sender, address(this), amount); chef.deposit(pid, amount); emit Staked(msg.sender, amount); } function stakeFor(address to, uint256 amount) public updateReward(to) { require(amount > 0, "Cannot stake 0"); _totalSupply = _totalSupply.add(amount); _balances[to] = _balances[to].add(amount); LP.safeTransferFrom(msg.sender, address(this), amount); chef.deposit(pid, amount); emit Staked(to, amount); } function withdraw(uint256 amount) public updateReward(msg.sender) { require(amount > 0, "Cannot withdraw 0"); _totalSupply = _totalSupply.sub(amount); _balances[msg.sender] = _balances[msg.sender].sub(amount); chef.withdraw(pid, amount); LP.safeTransfer(msg.sender, amount); emit Withdrawn(msg.sender, amount); } function emergencyWithdraw(uint256 amount) public { require(amount > 0, "Cannot withdraw 0"); _totalSupply = _totalSupply.sub(amount); _balances[msg.sender] = _balances[msg.sender].sub(amount); bytes memory data = abi.encodeWithSelector(chef.withdraw.selector, pid, amount); (bool success, ) = address(chef).call(data); if(!success) chef.emergencyWithdraw(pid); LP.safeTransfer(msg.sender, amount); emit Withdrawn(msg.sender, amount); } function exit() external { withdraw(balanceOf(msg.sender)); getReward(); } function getReward() public updateReward(msg.sender) { uint256 reward = rewards[msg.sender]; if (reward > 0) { rewards[msg.sender] = 0; vault.deposit(msg.sender, reward); emit RewardPaid(msg.sender, reward); } } function harvest() public { uint256 _cake = Cake.balanceOf(address(this)); if(_cake == 0) return; address[] memory path = new address[](3); path[0] = address(Cake); path[1] = 0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56; //BUSD path[2] = address(Hakka); uint256[] memory amounts = pancakeswap.swapExactTokensForTokens(_cake, 0, path, address(this), now); uint256 reward = pot.grant(amounts[2]).add(amounts[2]); rewardPerToken = rewardPerToken.add(reward.mul(1e18).div(_totalSupply)); emit RewardAdded(reward); } function inCaseTokenGetsStuckPartial(IERC20 _TokenAddress, uint256 _amount) onlyOwner public { require(_TokenAddress != Hakka); _TokenAddress.safeTransfer(msg.sender, _amount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardPaid","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Staked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdrawn","type":"event"},{"constant":true,"inputs":[],"name":"Cake","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"Hakka","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"LP","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"autofarm","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"chef","outputs":[{"internalType":"contract MasterChef","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"earned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"emergencyWithdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"exit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"getReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"harvest","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"contract IERC20","name":"_TokenAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"inCaseTokenGetsStuckPartial","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pancakeswap","outputs":[{"internalType":"contract UniswapV2Router02","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pid","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pot","outputs":[{"internalType":"contract Pot","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rewardPerToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"rewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stakeFor","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userRewardPerTokenPaid","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"vault","outputs":[{"internalType":"contract VestingVault","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040526001805460ff60a01b196001600160a01b0319909116736dbff20caff68b99b1e67b50d14a9d7bbdfa94dc1716600160a01b1781556003553480156200004957600080fd5b506200005d6001600160e01b036200027e16565b600080546001600160a01b0319166001600160a01b03928316178082556040519216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36040805163095ea7b360e01b81527373feaa1ee314f8c655e354234017be2193c9e24e600482015260001960248201529051731b96b92314c44b159149f7e0303511fb2fc4774f9163095ea7b39160448083019260209291908290030181600087803b1580156200011557600080fd5b505af11580156200012a573d6000803e3d6000fd5b505050506040513d60208110156200014157600080fd5b50506040805163095ea7b360e01b81527305ff2b0db69458a0750badebc4f9e13add608c7f600482015260001960248201529051730e09fabb73bd3ade0a17ecc321fd13a19e81ce829163095ea7b39160448083019260209291908290030181600087803b158015620001b357600080fd5b505af1158015620001c8573d6000803e3d6000fd5b505050506040513d6020811015620001df57600080fd5b50506001546040805163095ea7b360e01b81526001600160a01b039092166004830152600019602483015251731d1eb8e8293222e1a29d2c0e4ce6c0acfd89aaac9163095ea7b39160448083019260209291908290030181600087803b1580156200024957600080fd5b505af11580156200025e573d6000803e3d6000fd5b505050506040513d60208110156200027557600080fd5b50620002829050565b3390565b6120bf80620002926000396000f3fe608060405234801561001057600080fd5b50600436106101b85760003560e01c806360911f2a116100f9578063b6fccf8a11610097578063e9fad8ee11610071578063e9fad8ee14610413578063f10684541461041b578063f2fde38b14610423578063fbfa77cf14610456576101b8565b8063b6fccf8a146103fb578063cd3daf9d14610403578063e16963491461040b576101b8565b80638b876347116100d35780638b8763471461039b5780638da5cb5b146103ce5780638f32d59b146103d6578063a694fc3a146103de576101b8565b806360911f2a1461035857806370a0823114610360578063715018a614610393576101b8565b80633d18b912116101665780634ba2363a116101405780634ba2363a146102f25780634f97e491146102fa5780635312ea8e146103335780635875588014610350576101b8565b80633d18b912146102c65780634641257d146102ce578063465f0fbd146102d6576101b8565b80631fc8bc5d116101975780631fc8bc5d1461023d5780632e1a7d4d1461026e5780632ee409081461028d576101b8565b80628cc262146101bd5780630700037d1461020257806318160ddd14610235575b600080fd5b6101f0600480360360208110156101d357600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661045e565b60408051918252519081900360200190f35b6101f06004803603602081101561021857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166104eb565b6101f06104fd565b610245610503565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61028b6004803603602081101561028457600080fd5b503561051b565b005b61028b600480360360408110156102a357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610747565b61028b6109b5565b61028b610b31565b6102de61102a565b604080519115158252519081900360200190f35b61024561104b565b61028b6004803603604081101561031057600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135611063565b61028b6004803603602081101561034957600080fd5b5035611134565b61024561140f565b610245611427565b6101f06004803603602081101561037657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661143f565b61028b611467565b6101f0600480360360208110156103b157600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611549565b61024561155b565b6102de611577565b61028b600480360360208110156103f457600080fd5b50356115b5565b6102456117e4565b6101f06117fc565b610245611802565b61028b61181a565b6101f0611833565b61028b6004803603602081101561043957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611838565b6102456118b7565b73ffffffffffffffffffffffffffffffffffffffff811660009081526005602090815260408083205460049092528220546002546104e592916104d991670de0b6b3a7640000916104cd916104b89163ffffffff6118d316565b6104c18861143f565b9063ffffffff61191c16565b9063ffffffff61198f16565b9063ffffffff6119d116565b92915050565b60056020526000908152604090205481565b60035490565b7373feaa1ee314f8c655e354234017be2193c9e24e81565b600154339074010000000000000000000000000000000000000000900460ff161561054857610548610b31565b73ffffffffffffffffffffffffffffffffffffffff8116156105a65761056d8161045e565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600560209081526040808320939093556002546004909152919020555b6000821161061557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f43616e6e6f742077697468647261772030000000000000000000000000000000604482015290519081900360640190fd5b600354610628908363ffffffff6118d316565b6003553360009081526006602052604090205461064b908363ffffffff6118d316565b336000908152600660205260408082209290925581517f441a3e70000000000000000000000000000000000000000000000000000000008152600260048201526024810185905291517373feaa1ee314f8c655e354234017be2193c9e24e9263441a3e7092604480830193919282900301818387803b1580156106cd57600080fd5b505af11580156106e1573d6000803e3d6000fd5b5061070d9250731b96b92314c44b159149f7e0303511fb2fc4774f91503390508463ffffffff611a4516565b60408051838152905133917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a25050565b600154829074010000000000000000000000000000000000000000900460ff161561077457610774610b31565b73ffffffffffffffffffffffffffffffffffffffff8116156107d2576107998161045e565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600560209081526040808320939093556002546004909152919020555b6000821161084157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f43616e6e6f74207374616b652030000000000000000000000000000000000000604482015290519081900360640190fd5b600354610854908363ffffffff6119d116565b60035573ffffffffffffffffffffffffffffffffffffffff831660009081526006602052604090205461088d908363ffffffff6119d116565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600660205260409020556108d9731b96b92314c44b159149f7e0303511fb2fc4774f33308563ffffffff611ad716565b604080517fe2bbb158000000000000000000000000000000000000000000000000000000008152600260048201526024810184905290517373feaa1ee314f8c655e354234017be2193c9e24e9163e2bbb15891604480830192600092919082900301818387803b15801561094c57600080fd5b505af1158015610960573d6000803e3d6000fd5b505060408051858152905173ffffffffffffffffffffffffffffffffffffffff871693507f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d92509081900360200190a2505050565b600154339074010000000000000000000000000000000000000000900460ff16156109e2576109e2610b31565b73ffffffffffffffffffffffffffffffffffffffff811615610a4057610a078161045e565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600560209081526040808320939093556002546004909152919020555b336000908152600560205260409020548015610b2d573360008181526005602052604080822082905560015481517f47e7ef24000000000000000000000000000000000000000000000000000000008152600481019490945260248401859052905173ffffffffffffffffffffffffffffffffffffffff909116926347e7ef2492604480830193919282900301818387803b158015610ade57600080fd5b505af1158015610af2573d6000803e3d6000fd5b50506040805184815290513393507fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e048692509081900360200190a25b5050565b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600091730e09fabb73bd3ade0a17ecc321fd13a19e81ce82916370a0823191602480820192602092909190829003018186803b158015610b9f57600080fd5b505afa158015610bb3573d6000803e3d6000fd5b505050506040513d6020811015610bc957600080fd5b5051905080610bd85750611028565b60408051600380825260808201909252606091602082018380388339019050509050730e09fabb73bd3ade0a17ecc321fd13a19e81ce8281600081518110610c1c57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505073e9e7cea3dedca5984780bafc599bd69add087d5681600181518110610c7857fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050731d1eb8e8293222e1a29d2c0e4ce6c0acfd89aaac81600281518110610cd457fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060607305ff2b0db69458a0750badebc4f9e13add608c7f73ffffffffffffffffffffffffffffffffffffffff166338ed17398460008530426040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b83811015610dd9578181015183820152602001610dc1565b505050509050019650505050505050600060405180830381600087803b158015610e0257600080fd5b505af1158015610e16573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526020811015610e5d57600080fd5b8101908080516040519392919084640100000000821115610e7d57600080fd5b908301906020820185811115610e9257600080fd5b8251866020820283011164010000000082111715610eaf57600080fd5b82525081516020918201928201910280838360005b83811015610edc578181015183820152602001610ec4565b5050505090500160405250505090506000610fb882600281518110610efd57fe5b602002602001015173fd091f4d523f9741aa0712e57bd590ff2f30bd9473ffffffffffffffffffffffffffffffffffffffff1663160e3f3d85600281518110610f4257fe5b60200260200101516040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b158015610f8057600080fd5b505af1158015610f94573d6000803e3d6000fd5b505050506040513d6020811015610faa57600080fd5b50519063ffffffff6119d116565b9050610fed610fde6003546104cd670de0b6b3a76400008561191c90919063ffffffff16565b6002549063ffffffff6119d116565b6002556040805182815290517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d9181900360200190a1505050505b565b60015474010000000000000000000000000000000000000000900460ff1681565b73fd091f4d523f9741aa0712e57bd590ff2f30bd9481565b61106b611577565b6110d657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216731d1eb8e8293222e1a29d2c0e4ce6c0acfd89aaac141561110d57600080fd5b610b2d73ffffffffffffffffffffffffffffffffffffffff8316338363ffffffff611a4516565b600081116111a357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f43616e6e6f742077697468647261772030000000000000000000000000000000604482015290519081900360640190fd5b6003546111b6908263ffffffff6118d316565b600355336000908152600660205260409020546111d9908263ffffffff6118d316565b336000908152600660209081526040808320939093558251600260248201526044808201869052845180830390910181526064909101845290810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f441a3e70000000000000000000000000000000000000000000000000000000001781529251815191937373feaa1ee314f8c655e354234017be2193c9e24e9285929182918083835b602083106112ba57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161127d565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461131c576040519150601f19603f3d011682016040523d82523d6000602084013e611321565b606091505b50509050806113af57604080517f5312ea8e0000000000000000000000000000000000000000000000000000000081526002600482015290517373feaa1ee314f8c655e354234017be2193c9e24e91635312ea8e91602480830192600092919082900301818387803b15801561139657600080fd5b505af11580156113aa573d6000803e3d6000fd5b505050505b6113d4731b96b92314c44b159149f7e0303511fb2fc4774f338563ffffffff611a4516565b60408051848152905133917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a2505050565b731d1eb8e8293222e1a29d2c0e4ce6c0acfd89aaac81565b730e09fabb73bd3ade0a17ecc321fd13a19e81ce8281565b73ffffffffffffffffffffffffffffffffffffffff1660009081526006602052604090205490565b61146f611577565b6114da57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60046020526000908152604090205481565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b6000805473ffffffffffffffffffffffffffffffffffffffff16611599611b72565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b600154339074010000000000000000000000000000000000000000900460ff16156115e2576115e2610b31565b73ffffffffffffffffffffffffffffffffffffffff811615611640576116078161045e565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600560209081526040808320939093556002546004909152919020555b600082116116af57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f43616e6e6f74207374616b652030000000000000000000000000000000000000604482015290519081900360640190fd5b6003546116c2908363ffffffff6119d116565b600355336000908152600660205260409020546116e5908363ffffffff6119d116565b3360008181526006602052604090209190915561171f90731b96b92314c44b159149f7e0303511fb2fc4774f90308563ffffffff611ad716565b604080517fe2bbb158000000000000000000000000000000000000000000000000000000008152600260048201526024810184905290517373feaa1ee314f8c655e354234017be2193c9e24e9163e2bbb15891604480830192600092919082900301818387803b15801561179257600080fd5b505af11580156117a6573d6000803e3d6000fd5b50506040805185815290513393507f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d92509081900360200190a25050565b731b96b92314c44b159149f7e0303511fb2fc4774f81565b60025481565b7305ff2b0db69458a0750badebc4f9e13add608c7f81565b61182b6118263361143f565b61051b565b6110286109b5565b600281565b611840611577565b6118ab57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6118b481611b76565b50565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b600061191583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c6f565b9392505050565b60008261192b575060006104e5565b8282028284828161193857fe5b0414611915576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806120406021913960400191505060405180910390fd5b600061191583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d20565b60008282018381101561191557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052611ad2908490611d9f565b505050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000179052611b6c908590611d9f565b50505050565b3390565b73ffffffffffffffffffffffffffffffffffffffff8116611be2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061201a6026913960400191505060405180910390fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60008184841115611d18576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611cdd578181015183820152602001611cc5565b50505050905090810190601f168015611d0a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008183611d89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201818152835160248401528351909283926044909101919085019080838360008315611cdd578181015183820152602001611cc5565b506000838581611d9557fe5b0495945050505050565b611dbe8273ffffffffffffffffffffffffffffffffffffffff16611fdd565b611e2957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b600060608373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b60208310611e9257805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611e55565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611ef4576040519150601f19603f3d011682016040523d82523d6000602084013e611ef9565b606091505b509150915081611f6a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115611b6c57808060200190516020811015611f8657600080fd5b5051611b6c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180612061602a913960400191505060405180910390fd5b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081158015906120115750808214155b94935050505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a723158207cedb0afa7fd5ace36a09371af3c044b38feef93ebf4223ce6ed715744264b6b64736f6c63430005110032
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101b85760003560e01c806360911f2a116100f9578063b6fccf8a11610097578063e9fad8ee11610071578063e9fad8ee14610413578063f10684541461041b578063f2fde38b14610423578063fbfa77cf14610456576101b8565b8063b6fccf8a146103fb578063cd3daf9d14610403578063e16963491461040b576101b8565b80638b876347116100d35780638b8763471461039b5780638da5cb5b146103ce5780638f32d59b146103d6578063a694fc3a146103de576101b8565b806360911f2a1461035857806370a0823114610360578063715018a614610393576101b8565b80633d18b912116101665780634ba2363a116101405780634ba2363a146102f25780634f97e491146102fa5780635312ea8e146103335780635875588014610350576101b8565b80633d18b912146102c65780634641257d146102ce578063465f0fbd146102d6576101b8565b80631fc8bc5d116101975780631fc8bc5d1461023d5780632e1a7d4d1461026e5780632ee409081461028d576101b8565b80628cc262146101bd5780630700037d1461020257806318160ddd14610235575b600080fd5b6101f0600480360360208110156101d357600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661045e565b60408051918252519081900360200190f35b6101f06004803603602081101561021857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166104eb565b6101f06104fd565b610245610503565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61028b6004803603602081101561028457600080fd5b503561051b565b005b61028b600480360360408110156102a357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610747565b61028b6109b5565b61028b610b31565b6102de61102a565b604080519115158252519081900360200190f35b61024561104b565b61028b6004803603604081101561031057600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135611063565b61028b6004803603602081101561034957600080fd5b5035611134565b61024561140f565b610245611427565b6101f06004803603602081101561037657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661143f565b61028b611467565b6101f0600480360360208110156103b157600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611549565b61024561155b565b6102de611577565b61028b600480360360208110156103f457600080fd5b50356115b5565b6102456117e4565b6101f06117fc565b610245611802565b61028b61181a565b6101f0611833565b61028b6004803603602081101561043957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611838565b6102456118b7565b73ffffffffffffffffffffffffffffffffffffffff811660009081526005602090815260408083205460049092528220546002546104e592916104d991670de0b6b3a7640000916104cd916104b89163ffffffff6118d316565b6104c18861143f565b9063ffffffff61191c16565b9063ffffffff61198f16565b9063ffffffff6119d116565b92915050565b60056020526000908152604090205481565b60035490565b7373feaa1ee314f8c655e354234017be2193c9e24e81565b600154339074010000000000000000000000000000000000000000900460ff161561054857610548610b31565b73ffffffffffffffffffffffffffffffffffffffff8116156105a65761056d8161045e565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600560209081526040808320939093556002546004909152919020555b6000821161061557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f43616e6e6f742077697468647261772030000000000000000000000000000000604482015290519081900360640190fd5b600354610628908363ffffffff6118d316565b6003553360009081526006602052604090205461064b908363ffffffff6118d316565b336000908152600660205260408082209290925581517f441a3e70000000000000000000000000000000000000000000000000000000008152600260048201526024810185905291517373feaa1ee314f8c655e354234017be2193c9e24e9263441a3e7092604480830193919282900301818387803b1580156106cd57600080fd5b505af11580156106e1573d6000803e3d6000fd5b5061070d9250731b96b92314c44b159149f7e0303511fb2fc4774f91503390508463ffffffff611a4516565b60408051838152905133917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a25050565b600154829074010000000000000000000000000000000000000000900460ff161561077457610774610b31565b73ffffffffffffffffffffffffffffffffffffffff8116156107d2576107998161045e565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600560209081526040808320939093556002546004909152919020555b6000821161084157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f43616e6e6f74207374616b652030000000000000000000000000000000000000604482015290519081900360640190fd5b600354610854908363ffffffff6119d116565b60035573ffffffffffffffffffffffffffffffffffffffff831660009081526006602052604090205461088d908363ffffffff6119d116565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600660205260409020556108d9731b96b92314c44b159149f7e0303511fb2fc4774f33308563ffffffff611ad716565b604080517fe2bbb158000000000000000000000000000000000000000000000000000000008152600260048201526024810184905290517373feaa1ee314f8c655e354234017be2193c9e24e9163e2bbb15891604480830192600092919082900301818387803b15801561094c57600080fd5b505af1158015610960573d6000803e3d6000fd5b505060408051858152905173ffffffffffffffffffffffffffffffffffffffff871693507f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d92509081900360200190a2505050565b600154339074010000000000000000000000000000000000000000900460ff16156109e2576109e2610b31565b73ffffffffffffffffffffffffffffffffffffffff811615610a4057610a078161045e565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600560209081526040808320939093556002546004909152919020555b336000908152600560205260409020548015610b2d573360008181526005602052604080822082905560015481517f47e7ef24000000000000000000000000000000000000000000000000000000008152600481019490945260248401859052905173ffffffffffffffffffffffffffffffffffffffff909116926347e7ef2492604480830193919282900301818387803b158015610ade57600080fd5b505af1158015610af2573d6000803e3d6000fd5b50506040805184815290513393507fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e048692509081900360200190a25b5050565b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600091730e09fabb73bd3ade0a17ecc321fd13a19e81ce82916370a0823191602480820192602092909190829003018186803b158015610b9f57600080fd5b505afa158015610bb3573d6000803e3d6000fd5b505050506040513d6020811015610bc957600080fd5b5051905080610bd85750611028565b60408051600380825260808201909252606091602082018380388339019050509050730e09fabb73bd3ade0a17ecc321fd13a19e81ce8281600081518110610c1c57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505073e9e7cea3dedca5984780bafc599bd69add087d5681600181518110610c7857fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050731d1eb8e8293222e1a29d2c0e4ce6c0acfd89aaac81600281518110610cd457fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060607305ff2b0db69458a0750badebc4f9e13add608c7f73ffffffffffffffffffffffffffffffffffffffff166338ed17398460008530426040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b83811015610dd9578181015183820152602001610dc1565b505050509050019650505050505050600060405180830381600087803b158015610e0257600080fd5b505af1158015610e16573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526020811015610e5d57600080fd5b8101908080516040519392919084640100000000821115610e7d57600080fd5b908301906020820185811115610e9257600080fd5b8251866020820283011164010000000082111715610eaf57600080fd5b82525081516020918201928201910280838360005b83811015610edc578181015183820152602001610ec4565b5050505090500160405250505090506000610fb882600281518110610efd57fe5b602002602001015173fd091f4d523f9741aa0712e57bd590ff2f30bd9473ffffffffffffffffffffffffffffffffffffffff1663160e3f3d85600281518110610f4257fe5b60200260200101516040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b158015610f8057600080fd5b505af1158015610f94573d6000803e3d6000fd5b505050506040513d6020811015610faa57600080fd5b50519063ffffffff6119d116565b9050610fed610fde6003546104cd670de0b6b3a76400008561191c90919063ffffffff16565b6002549063ffffffff6119d116565b6002556040805182815290517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d9181900360200190a1505050505b565b60015474010000000000000000000000000000000000000000900460ff1681565b73fd091f4d523f9741aa0712e57bd590ff2f30bd9481565b61106b611577565b6110d657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216731d1eb8e8293222e1a29d2c0e4ce6c0acfd89aaac141561110d57600080fd5b610b2d73ffffffffffffffffffffffffffffffffffffffff8316338363ffffffff611a4516565b600081116111a357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f43616e6e6f742077697468647261772030000000000000000000000000000000604482015290519081900360640190fd5b6003546111b6908263ffffffff6118d316565b600355336000908152600660205260409020546111d9908263ffffffff6118d316565b336000908152600660209081526040808320939093558251600260248201526044808201869052845180830390910181526064909101845290810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f441a3e70000000000000000000000000000000000000000000000000000000001781529251815191937373feaa1ee314f8c655e354234017be2193c9e24e9285929182918083835b602083106112ba57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161127d565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461131c576040519150601f19603f3d011682016040523d82523d6000602084013e611321565b606091505b50509050806113af57604080517f5312ea8e0000000000000000000000000000000000000000000000000000000081526002600482015290517373feaa1ee314f8c655e354234017be2193c9e24e91635312ea8e91602480830192600092919082900301818387803b15801561139657600080fd5b505af11580156113aa573d6000803e3d6000fd5b505050505b6113d4731b96b92314c44b159149f7e0303511fb2fc4774f338563ffffffff611a4516565b60408051848152905133917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a2505050565b731d1eb8e8293222e1a29d2c0e4ce6c0acfd89aaac81565b730e09fabb73bd3ade0a17ecc321fd13a19e81ce8281565b73ffffffffffffffffffffffffffffffffffffffff1660009081526006602052604090205490565b61146f611577565b6114da57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60046020526000908152604090205481565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b6000805473ffffffffffffffffffffffffffffffffffffffff16611599611b72565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b600154339074010000000000000000000000000000000000000000900460ff16156115e2576115e2610b31565b73ffffffffffffffffffffffffffffffffffffffff811615611640576116078161045e565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600560209081526040808320939093556002546004909152919020555b600082116116af57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f43616e6e6f74207374616b652030000000000000000000000000000000000000604482015290519081900360640190fd5b6003546116c2908363ffffffff6119d116565b600355336000908152600660205260409020546116e5908363ffffffff6119d116565b3360008181526006602052604090209190915561171f90731b96b92314c44b159149f7e0303511fb2fc4774f90308563ffffffff611ad716565b604080517fe2bbb158000000000000000000000000000000000000000000000000000000008152600260048201526024810184905290517373feaa1ee314f8c655e354234017be2193c9e24e9163e2bbb15891604480830192600092919082900301818387803b15801561179257600080fd5b505af11580156117a6573d6000803e3d6000fd5b50506040805185815290513393507f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d92509081900360200190a25050565b731b96b92314c44b159149f7e0303511fb2fc4774f81565b60025481565b7305ff2b0db69458a0750badebc4f9e13add608c7f81565b61182b6118263361143f565b61051b565b6110286109b5565b600281565b611840611577565b6118ab57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6118b481611b76565b50565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b600061191583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c6f565b9392505050565b60008261192b575060006104e5565b8282028284828161193857fe5b0414611915576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806120406021913960400191505060405180910390fd5b600061191583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d20565b60008282018381101561191557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052611ad2908490611d9f565b505050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000179052611b6c908590611d9f565b50505050565b3390565b73ffffffffffffffffffffffffffffffffffffffff8116611be2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061201a6026913960400191505060405180910390fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60008184841115611d18576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611cdd578181015183820152602001611cc5565b50505050905090810190601f168015611d0a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008183611d89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201818152835160248401528351909283926044909101919085019080838360008315611cdd578181015183820152602001611cc5565b506000838581611d9557fe5b0495945050505050565b611dbe8273ffffffffffffffffffffffffffffffffffffffff16611fdd565b611e2957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b600060608373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b60208310611e9257805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611e55565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611ef4576040519150601f19603f3d011682016040523d82523d6000602084013e611ef9565b606091505b509150915081611f6a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115611b6c57808060200190516020811015611f8657600080fd5b5051611b6c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180612061602a913960400191505060405180910390fd5b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081158015906120115750808214155b94935050505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a723158207cedb0afa7fd5ace36a09371af3c044b38feef93ebf4223ce6ed715744264b6b64736f6c63430005110032
Deployed Bytecode Sourcemap
17661:5156:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17661:5156:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19670:263;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19670:263:0;;;;:::i;:::-;;;;;;;;;;;;;;;;18672:42;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18672:42:0;;;;:::i;19192:91::-;;;:::i;18042:88::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;20700:371;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20700:371:0;;:::i;:::-;;20329:363;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20329:363:0;;;;;;;;;:::i;21705:282::-;;;:::i;21995:608::-;;;:::i;18426:27::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;18253:73;;;:::i;22611:201::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22611:201:0;;;;;;;;;:::i;21079:513::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;21079:513:0;;:::i;17771:81::-;;;:::i;17859:80::-;;;:::i;19291:110::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19291:110:0;;;;:::i;7450:140::-;;;:::i;18608:57::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18608:57:0;;;;:::i;6639:79::-;;;:::i;7005:94::-;;;:::i;19941:380::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19941:380:0;;:::i;17946:78::-;;;:::i;18509:29::-;;;:::i;18137:109::-;;;:::i;21600:97::-;;;:::i;18460:31::-;;;:::i;7745:109::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7745:109:0;;;;:::i;18333:84::-;;;:::i;19670:263::-;19908:16;;;19724:7;19908:16;;;:7;:16;;;;;;;;;19824:22;:31;;;;;;19805:14;;19764:161;;19908:16;19764:121;;19880:4;;19764:93;;19805:51;;;:18;:51;:::i;:::-;19764:18;19774:7;19764:9;:18::i;:::-;:40;:93;:40;:93;:::i;:::-;:115;:121;:115;:121;:::i;:::-;:143;:161;:143;:161;:::i;:::-;19744:181;19670:263;-1:-1:-1;;19670:263:0:o;18672:42::-;;;;;;;;;;;;;:::o;19192:91::-;19263:12;;19192:91;:::o;18042:88::-;18087:42;18042:88;:::o;20700:371::-;19462:8;;20754:10;;19462:8;;;;;19459:22;;;19472:9;:7;:9::i;:::-;19496:21;;;;19492:151;;19553:15;19560:7;19553:6;:15::i;:::-;19534:16;;;;;;;:7;:16;;;;;;;;:34;;;;19617:14;;19583:22;:31;;;;;;:48;19492:151;20794:1;20785:6;:10;20777:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20843:12;;:24;;20860:6;20843:24;:16;:24;:::i;:::-;20828:12;:39;20912:10;20902:21;;;;:9;:21;;;;;;:33;;20928:6;20902:33;:25;:33;:::i;:::-;20888:10;20878:21;;;;:9;:21;;;;;;:57;;;;20946:26;;;;;18490:1;20946:26;;;;;;;;;;;;18087:42;;20946:13;;:26;;;;;20878:21;;20946:26;;;;;20878:21;18087:42;20946:26;;;5:2:-1;;;;30:1;27;20:12;5:2;20946:26:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;20983:35:0;;-1:-1:-1;17981:42:0;;-1:-1:-1;20999:10:0;;-1:-1:-1;21011:6:0;20983:35;:15;:35;:::i;:::-;21034:29;;;;;;;;21044:10;;21034:29;;;;;;;;;;20700:371;;:::o;20329:363::-;19462:8;;20395:2;;19462:8;;;;;19459:22;;;19472:9;:7;:9::i;:::-;19496:21;;;;19492:151;;19553:15;19560:7;19553:6;:15::i;:::-;19534:16;;;;;;;:7;:16;;;;;;;;:34;;;;19617:14;;19583:22;:31;;;;;;:48;19492:151;20427:1;20418:6;:10;20410:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20473:12;;:24;;20490:6;20473:24;:16;:24;:::i;:::-;20458:12;:39;20524:13;;;;;;;:9;:13;;;;;;:25;;20542:6;20524:25;:17;:25;:::i;:::-;20508:13;;;;;;;:9;:13;;;;;:41;20560:54;17981:42;20580:10;20600:4;20607:6;20560:54;:19;:54;:::i;:::-;20625:25;;;;;;18490:1;20625:25;;;;;;;;;;;;18087:42;;20625:12;;:25;;;;;-1:-1:-1;;20625:25:0;;;;;;;-1:-1:-1;18087:42:0;20625:25;;;5:2:-1;;;;30:1;27;20:12;5:2;20625:25:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;20666:18:0;;;;;;;;;;;;-1:-1:-1;20666:18:0;;-1:-1:-1;20666:18:0;;;;;;;;20329:363;;;:::o;21705:282::-;19462:8;;21746:10;;19462:8;;;;;19459:22;;;19472:9;:7;:9::i;:::-;19496:21;;;;19492:151;;19553:15;19560:7;19553:6;:15::i;:::-;19534:16;;;;;;;:7;:16;;;;;;;;:34;;;;19617:14;;19583:22;:31;;;;;;:48;19492:151;21794:10;21769:14;21786:19;;;:7;:19;;;;;;21820:10;;21816:164;;21855:10;21869:1;21847:19;;;:7;:19;;;;;;:23;;;21885:5;;:33;;;;;;;;;;;;;;;;;;;;21847:19;21885:5;;;;:13;;:33;;;;;21869:1;;21885:33;;;;;21869:1;21885:5;:33;;;5:2:-1;;;;30:1;27;20:12;5:2;21885:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;21938:30:0;;;;;;;;21949:10;;-1:-1:-1;21938:30:0;;-1:-1:-1;21938:30:0;;;;;;;;21816:164;19653:1;21705:282;:::o;21995:608::-;22048:29;;;;;;22071:4;22048:29;;;;;;22032:13;;17896:42;;22048:14;;:29;;;;;;;;;;;;;;;17896:42;22048:29;;;5:2:-1;;;;30:1;27;20:12;5:2;22048:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;22048:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22048:29:0;;-1:-1:-1;22091:10:0;22088:22;;22103:7;;;22088:22;22146:16;;;22160:1;22146:16;;;;;;;;;22122:21;;22146:16;;;22122:21;;105:10:-1;22146:16:0;88:34:-1;136:17;;-1:-1;22146:16:0;22122:40;;17896:42;22173:4;22178:1;22173:7;;;;;;;;;;;;;:23;;;;;;;;;;;22217:42;22207:4;22212:1;22207:7;;;;;;;;;;;;;:52;;;;;;;;;;;17809:42;22277:4;22282:1;22277:7;;;;;;;;;;;;;:24;;;;;;;;;;;22312;18203:42;22339:36;;;22376:5;22383:1;22386:4;22400;22407:3;22339:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;22339:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22339:72:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;22339:72:0;;;;;;39:16:-1;36:1;17:17;2:54;101:4;22339:72:0;80:15:-1;;;97:9;76:31;65:43;;120:4;113:20;13:2;5:11;;2:2;;;29:1;26;19:12;2:2;22339:72:0;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;219:3;213:10;331:9;325:2;311:12;307:21;289:16;285:44;282:59;261:11;247:12;244:29;233:116;230:2;;;362:1;359;352:12;230:2;373:25;;-1:-1;22339:72:0;;421:4:-1;412:14;;;;22339:72:0;;;;;412:14:-1;22339:72:0;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;22339:72:0;;;;;;;;;;;22312:99;;22422:14;22439:37;22465:7;22473:1;22465:10;;;;;;;;;;;;;;18283:42;22439:9;;;22449:7;22457:1;22449:10;;;;;;;;;;;;;;22439:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22439:21:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;22439:21:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22439:21:0;;:37;:25;:37;:::i;:::-;22422:54;;22506;22525:34;22546:12;;22525:16;22536:4;22525:6;:10;;:16;;;;:::i;:34::-;22506:14;;;:54;:18;:54;:::i;:::-;22489:14;:71;22576:19;;;;;;;;;;;;;;;;;21995:608;;;;;:::o;18426:27::-;;;;;;;;;:::o;18253:73::-;18283:42;18253:73;:::o;22611:201::-;6851:9;:7;:9::i;:::-;6843:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22723:22;;;17809:42;22723:22;;22715:31;;;;;;22757:47;:26;;;22784:10;22796:7;22757:47;:26;:47;:::i;21079:513::-;21157:1;21148:6;:10;21140:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21206:12;;:24;;21223:6;21206:24;:16;:24;:::i;:::-;21191:12;:39;21275:10;21265:21;;;;:9;:21;;;;;;:33;;21291:6;21265:33;:25;:33;:::i;:::-;21251:10;21241:21;;;;:9;:21;;;;;;;;:57;;;;21329:59;;18490:1;21329:59;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;21329:59:0;;;;;;25:18:-1;;;61:17;;21329:59:0;182:15:-1;21352:22:0;179:29:-1;160:49;;21418:24:0;;;;21329:59;;18087:42;;21329:59;;21418:24;;;;;25:18:-1;36:153;66:2;61:3;58:11;36:153;;176:10;;164:23;;139:12;;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;21418:24:0;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;21399:43:0;;;21457:7;21453:40;;21466:27;;;;;;18490:1;21466:27;;;;;;18087:42;;21466:22;;:27;;;;;-1:-1:-1;;21466:27:0;;;;;;;-1:-1:-1;18087:42:0;21466:27;;;5:2:-1;;;;30:1;27;20:12;5:2;21466:27:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;21466:27:0;;;;21453:40;21504:35;17981:42;21520:10;21532:6;21504:35;:15;:35;:::i;:::-;21555:29;;;;;;;;21565:10;;21555:29;;;;;;;;;;21079:513;;;:::o;17771:81::-;17809:42;17771:81;:::o;17859:80::-;17896:42;17859:80;:::o;19291:110::-;19375:18;;19348:7;19375:18;;;:9;:18;;;;;;;19291:110::o;7450:140::-;6851:9;:7;:9::i;:::-;6843:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7549:1;7533:6;;7512:40;;;7533:6;;;;7512:40;;7549:1;;7512:40;7580:1;7563:19;;;;;;7450:140::o;18608:57::-;;;;;;;;;;;;;:::o;6639:79::-;6677:7;6704:6;;;6639:79;:::o;7005:94::-;7045:4;7085:6;;;;7069:12;:10;:12::i;:::-;:22;;;7062:29;;7005:94;:::o;19941:380::-;19462:8;;19992:10;;19462:8;;;;;19459:22;;;19472:9;:7;:9::i;:::-;19496:21;;;;19492:151;;19553:15;19560:7;19553:6;:15::i;:::-;19534:16;;;;;;;:7;:16;;;;;;;;:34;;;;19617:14;;19583:22;:31;;;;;;:48;19492:151;20032:1;20023:6;:10;20015:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20078:12;;:24;;20095:6;20078:24;:16;:24;:::i;:::-;20063:12;:39;20147:10;20137:21;;;;:9;:21;;;;;;:33;;20163:6;20137:33;:25;:33;:::i;:::-;20123:10;20113:21;;;;:9;:21;;;;;:57;;;;20181:54;;17981:42;;20221:4;20228:6;20181:54;:19;:54;:::i;:::-;20246:25;;;;;;18490:1;20246:25;;;;;;;;;;;;18087:42;;20246:12;;:25;;;;;-1:-1:-1;;20246:25:0;;;;;;;-1:-1:-1;18087:42:0;20246:25;;;5:2:-1;;;;30:1;27;20:12;5:2;20246:25:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;20287:26:0;;;;;;;;20294:10;;-1:-1:-1;20287:26:0;;-1:-1:-1;20287:26:0;;;;;;;;19941:380;;:::o;17946:78::-;17981:42;17946:78;:::o;18509:29::-;;;;:::o;18137:109::-;18203:42;18137:109;:::o;21600:97::-;21636:31;21645:21;21655:10;21645:9;:21::i;:::-;21636:8;:31::i;:::-;21678:11;:9;:11::i;18460:31::-;18490:1;18460:31;:::o;7745:109::-;6851:9;:7;:9::i;:::-;6843:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7818:28;7837:8;7818:18;:28::i;:::-;7745:109;:::o;18333:84::-;;;;;;:::o;1433:136::-;1491:7;1518:43;1522:1;1525;1518:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1511:50;1433:136;-1:-1:-1;;;1433:136:0:o;2349:471::-;2407:7;2652:6;2648:47;;-1:-1:-1;2682:1:0;2675:8;;2648:47;2719:5;;;2723:1;2719;:5;:1;2743:5;;;;;:10;2735:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3288:132;3346:7;3373:39;3377:1;3380;3373:39;;;;;;;;;;;;;;;;;:3;:39::i;977:181::-;1035:7;1067:5;;;1091:6;;;;1083:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13912:176;14021:58;;;14044:14;14021:58;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;14021:58:0;;;;;;;;25:18:-1;;61:17;;14021:58:0;182:15:-1;14044:23:0;179:29:-1;160:49;;13995:85:0;;14014:5;;13995:18;:85::i;:::-;13912:176;;;:::o;14096:204::-;14223:68;;;14246:18;14223:68;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;14223:68:0;;;;;;;;25:18:-1;;61:17;;14223:68:0;182:15:-1;14246:27:0;179:29:-1;160:49;;14197:95:0;;14216:5;;14197:18;:95::i;:::-;14096:204;;;;:::o;5843:98::-;5923:10;5843:98;:::o;7960:229::-;8034:22;;;8026:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8136:6;;;8115:38;;;;;;;8136:6;;;8115:38;;;8164:6;:17;;;;;;;;;;;;;;;7960:229::o;1906:192::-;1992:7;2028:12;2020:6;;;;2012:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2012:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2064:5:0;;;1906:192::o;3950:345::-;4036:7;4138:12;4131:5;4123:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;4123:28:0;;4162:9;4178:1;4174;:5;;;;;;;3950:345;-1:-1:-1;;;;;3950:345:0:o;15951:1114::-;16555:27;16563:5;16555:25;;;:27::i;:::-;16547:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16692:12;16706:23;16741:5;16733:19;;16753:4;16733:25;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;139:12;;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16733:25:0;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;16691:67:0;;;;16777:7;16769:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16838:17;;:21;16834:224;;16980:10;16969:30;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16969:30:0;16961:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11311:810;11371:4;12030:20;;11873:66;12070:15;;;;;:42;;;12101:11;12089:8;:23;;12070:42;12062:51;11311:810;-1:-1:-1;;;;11311:810:0:o
Swarm Source
bzzr://7cedb0afa7fd5ace36a09371af3c044b38feef93ebf4223ce6ed715744264b6b
Loading...
Loading
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
BSC | 100.00% | $0.003023 | 62.8025 | $0.1898 |
[ Download: CSV Export ]
[ 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.