Contract Overview
Balance:
0 AVAX
AVAX Value:
$0.00
My Name Tag:
Not Available, login to update
[ Download CSV Export ]
Contract Name:
HOEPublicPresale
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at snowtrace.io on 2022-05-14 */ // SPDX-License-Identifier: MIT // File: @openzeppelin/contracts/utils/Context.sol pragma solidity >=0.6.0 <0.8.0; /* * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with GSN meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return msg.sender; } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } // File: @openzeppelin/contracts/access/Ownable.sol pragma solidity >=0.6.0 <0.8.0; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract 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 { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the 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 virtual 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 virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } // File: @openzeppelin/contracts/utils/ReentrancyGuard.sol pragma solidity >=0.6.0 <0.8.0; /** * @dev Contract module that helps prevent reentrant calls to a function. * * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier * available, which can be applied to functions to make sure there are no nested * (reentrant) calls to them. * * Note that because there is a single `nonReentrant` guard, functions marked as * `nonReentrant` may not call one another. This can be worked around by making * those functions `private`, and then adding `external` `nonReentrant` entry * points to them. * * TIP: If you would like to learn more about reentrancy and alternative ways * to protect against it, check out our blog post * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul]. */ abstract contract ReentrancyGuard { // Booleans are more expensive than uint256 or any type that takes up a full // word because each write operation emits an extra SLOAD to first read the // slot's contents, replace the bits taken up by the boolean, and then write // back. This is the compiler's defense against contract upgrades and // pointer aliasing, and it cannot be disabled. // The values being non-zero value makes deployment a bit more expensive, // but in exchange the refund on every call to nonReentrant will be lower in // amount. Since refunds are capped to a percentage of the total // transaction's gas, it is best to keep them low in cases like this one, to // increase the likelihood of the full refund coming into effect. uint256 private constant _NOT_ENTERED = 1; uint256 private constant _ENTERED = 2; uint256 private _status; constructor () internal { _status = _NOT_ENTERED; } /** * @dev Prevents a contract from calling itself, directly or indirectly. * Calling a `nonReentrant` function from another `nonReentrant` * function is not supported. It is possible to prevent this from happening * by making the `nonReentrant` function external, and make it call a * `private` function that does the actual work. */ modifier nonReentrant() { // On the first call to nonReentrant, _notEntered will be true require(_status != _ENTERED, "ReentrancyGuard: reentrant call"); // Any calls to nonReentrant after this point will fail _status = _ENTERED; _; // By storing the original value once again, a refund is triggered (see // https://eips.ethereum.org/EIPS/eip-2200) _status = _NOT_ENTERED; } } // File: contracts/libs/IBEP20.sol pragma solidity >=0.4.0; interface IBEP20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the token decimals. */ function decimals() external view returns (uint8); /** * @dev Returns the token symbol. */ function symbol() external view returns (string memory); /** * @dev Returns the token name. */ function name() external view returns (string memory); /** * @dev Returns the bep token owner. */ function getOwner() external view returns (address); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address _owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } // File: @openzeppelin/contracts/math/SafeMath.sol pragma solidity >=0.6.0 <0.8.0; /** * @dev Wrappers over Solidity's arithmetic operations with added overflow * checks. * * Arithmetic operations in Solidity wrap on overflow. This can easily result * in bugs, because programmers usually assume that an overflow raises an * error, which is the standard behavior in high level programming languages. * `SafeMath` restores this intuition by reverting the transaction when an * operation overflows. * * Using this library instead of the unchecked operations eliminates an entire * class of bugs, so it's recommended to use it always. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } /** * @dev Returns the substraction of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { if (b > a) return (false, 0); return (true, a - b); } /** * @dev Returns the multiplication of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryMul(uint256 a, uint256 b) internal pure returns (bool, 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 (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } /** * @dev Returns the division of two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { if (b == 0) return (false, 0); return (true, a / b); } /** * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { if (b == 0) return (false, 0); return (true, a % b); } /** * @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) { require(b <= a, "SafeMath: subtraction overflow"); return a - b; } /** * @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) { 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, reverting 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) { require(b > 0, "SafeMath: division by zero"); return a / b; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting 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) { require(b > 0, "SafeMath: modulo by zero"); return a % b; } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {trySub}. * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); return a - b; } /** * @dev Returns the integer division of two unsigned integers, reverting with custom message on * division by zero. The result is rounded towards zero. * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {tryDiv}. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); return a / b; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting with custom message when dividing by zero. * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {tryMod}. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); return a % b; } } // File: @openzeppelin/contracts/utils/Address.sol pragma solidity >=0.6.2 <0.8.0; /** * @dev Collection of functions related to the address type */ library Address { /** * @dev Returns true if `account` is a contract. * * [IMPORTANT] * ==== * It is unsafe to assume that an address for which this function returns * false is an externally-owned account (EOA) and not a contract. * * Among others, `isContract` will return false for the following * types of addresses: * * - an externally-owned account * - a contract in construction * - an address where a contract will be created * - an address where a contract lived, but was destroyed * ==== */ function isContract(address account) internal view returns (bool) { // This method relies on extcodesize, which returns 0 for contracts in // construction, since the code is only stored at the end of the // constructor execution. uint256 size; // solhint-disable-next-line no-inline-assembly assembly { size := extcodesize(account) } return size > 0; } /** * @dev Replacement for Solidity's `transfer`: sends `amount` wei to * `recipient`, forwarding all available gas and reverting on errors. * * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost * of certain opcodes, possibly making contracts go over the 2300 gas limit * imposed by `transfer`, making them unable to receive funds via * `transfer`. {sendValue} removes this limitation. * * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more]. * * IMPORTANT: because control is transferred to `recipient`, care must be * taken to not create reentrancy vulnerabilities. Consider using * {ReentrancyGuard} or the * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]. */ function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); // solhint-disable-next-line avoid-low-level-calls, avoid-call-value (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } /** * @dev Performs a Solidity function call using a low level `call`. A * plain`call` is an unsafe replacement for a function call: use this * function instead. * * If `target` reverts with a revert reason, it is bubbled up by this * function (like regular Solidity function calls). * * Returns the raw returned data. To convert to the expected return value, * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`]. * * Requirements: * * - `target` must be a contract. * - calling `target` with `data` must not revert. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with * `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return functionCallWithValue(target, data, 0, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but also transferring `value` wei to `target`. * * Requirements: * * - the calling contract must have an ETH balance of at least `value`. * - the called Solidity function must be `payable`. * * _Available since v3.1._ */ function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } /** * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but * with `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); require(isContract(target), "Address: call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.call{ value: value }(data); return _verifyCallResult(success, returndata, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but performing a static call. * * _Available since v3.3._ */ function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) { return functionStaticCall(target, data, "Address: low-level static call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], * but performing a static call. * * _Available since v3.3._ */ function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) { require(isContract(target), "Address: static call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.staticcall(data); return _verifyCallResult(success, returndata, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but performing a delegate call. * * _Available since v3.4._ */ function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) { return functionDelegateCall(target, data, "Address: low-level delegate call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], * but performing a delegate call. * * _Available since v3.4._ */ function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { require(isContract(target), "Address: delegate call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.delegatecall(data); return _verifyCallResult(success, returndata, errorMessage); } function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) { if (success) { return returndata; } else { // Look for revert reason and bubble it up if present if (returndata.length > 0) { // The easiest way to bubble the revert reason is using memory via assembly // solhint-disable-next-line no-inline-assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } pragma solidity 0.6.12; contract HOEPublicPresale is ReentrancyGuard { using SafeMath for uint256; // Maps user to the number of tokens owned mapping(address => uint256) public tokensOwned; // The number of unclaimed tokens the user has mapping(address => uint256) public tokensUnclaimed; mapping(address => bool) public whitelist; // HOE token IBEP20 public HOE; // USDC token IBEP20 public USDC; // Sale active bool isSaleActive; // Claim active bool isClaimActive; bool isWhitelistPresale; // Total HOE sold uint256 totalTokensSold = 0; uint256 USDCperToken = 10; // Amount of USDC received in presale uint256 usdcReceived = 0; uint256 public minimumDepositAmount = 200 * 10 ** 6; address public owner; address public dao; modifier onlyOwner() { require(msg.sender == owner, "You're not the owner"); _; } event TokenBuy(address user, uint256 tokens); event TokenClaim(address user, uint256 tokens); constructor( address _HOE, address _USDC, address _dao ) public { HOE = IBEP20(_HOE); USDC = IBEP20(_USDC); isSaleActive; owner = msg.sender; dao = _dao; isWhitelistPresale = true; } function addWhitelist( address[] memory list) external onlyOwner{ for ( uint i = 0; i < list.length ; i ++ ){ whitelist[list[i]] = true; } } function setTokenPrice( uint256 _price) external onlyOwner { USDCperToken = _price; } function setWhitelistPresale( bool _f) external onlyOwner { isWhitelistPresale = _f; } function removeWhitelist( address[] memory list) external onlyOwner{ for ( uint i = 0; i < list.length ; i ++ ){ whitelist[list[i]] = false; } } function buy(uint256 _amount) public nonReentrant { if ( isWhitelistPresale ) require(whitelist[msg.sender]==true, "Not whitelisted"); require(isSaleActive, "Presale has not started"); require(_amount >= minimumDepositAmount, "low amount than min"); address _buyer = msg.sender; uint256 tokens = _amount.div(USDCperToken).mul(10**11); USDC.transferFrom(msg.sender, address(dao), _amount); tokensOwned[_buyer] = tokensOwned[_buyer].add(tokens); tokensUnclaimed[_buyer] = tokensUnclaimed[_buyer].add(tokens); totalTokensSold = totalTokensSold.add(tokens); usdcReceived = usdcReceived.add(_amount); emit TokenBuy(msg.sender, tokens); } function setSaleActive(bool _isSaleActive) external onlyOwner { isSaleActive = _isSaleActive; } function setClaimActive(bool _isClaimActive) external onlyOwner { isClaimActive = _isClaimActive; } function saleActive() public view returns (bool) { return isSaleActive; } function getTotalTokensSold() public view returns (uint256) { return totalTokensSold; } function claimActive() public view returns (bool) { return isClaimActive; } function getHOETokensLeft() external view returns (uint256) { return HOE.balanceOf(address(this)); } function claimTokens() external nonReentrant { require(isClaimActive, "Claim is not allowed yet"); require(tokensOwned[msg.sender] > 0, "User should own some HOE tokens"); require(tokensUnclaimed[msg.sender] > 0, "User should have unclaimed HOE tokens"); require(HOE.balanceOf(address(this)) >= tokensUnclaimed[msg.sender], "There are not enough HOE tokens to transfer."); uint256 callerTokensUnclaimed = tokensUnclaimed[msg.sender]; tokensUnclaimed[msg.sender] = 0; HOE.transfer(msg.sender, callerTokensUnclaimed); emit TokenClaim(msg.sender, callerTokensUnclaimed); } function setHOE(address _hoe) external onlyOwner { require(_hoe != address(0)); HOE = IBEP20(_hoe); } function setReceiver(address _newAddr) external onlyOwner { dao = _newAddr; } function withdrawUnsoldHOE() external onlyOwner { uint256 amount = HOE.balanceOf(address(this)) - totalTokensSold; HOE.transfer(msg.sender, amount); } function withdrawAllHOE() external onlyOwner { HOE.transfer(msg.sender, HOE.balanceOf(address(this))); } function transferOwnership(address _newOwner) external onlyOwner { require(_newOwner != address(0), "Ownable: new owner is the zero address"); owner = _newOwner; } }
[{"inputs":[{"internalType":"address","name":"_HOE","type":"address"},{"internalType":"address","name":"_USDC","type":"address"},{"internalType":"address","name":"_dao","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"TokenBuy","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"TokenClaim","type":"event"},{"inputs":[],"name":"HOE","outputs":[{"internalType":"contract IBEP20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"USDC","outputs":[{"internalType":"contract IBEP20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"list","type":"address[]"}],"name":"addWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"buy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"dao","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getHOETokensLeft","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalTokensSold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumDepositAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"list","type":"address[]"}],"name":"removeWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"saleActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_isClaimActive","type":"bool"}],"name":"setClaimActive","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_hoe","type":"address"}],"name":"setHOE","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newAddr","type":"address"}],"name":"setReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_isSaleActive","type":"bool"}],"name":"setSaleActive","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_price","type":"uint256"}],"name":"setTokenPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_f","type":"bool"}],"name":"setWhitelistPresale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"tokensOwned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"tokensUnclaimed","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":"address","name":"","type":"address"}],"name":"whitelist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawAllHOE","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawUnsoldHOE","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040526000600655600a6007556000600855630bebc20060095534801561002757600080fd5b5060405161268e38038061268e8339818101604052606081101561004a57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190505050600160008190555082600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600560149054906101000a90505033600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600560166101000a81548160ff0219169083151502179055505050506124d8806101b66000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c8063807bf229116100de5780639b19251a11610097578063d96a094a11610071578063d96a094a146105fe578063db689bf51461062c578063edac985b14610636578063f2fde38b146106ee57610173565b80639b19251a14610554578063bc2ae68f146105ae578063d4a6a2fd146105de57610173565b8063807bf22914610412578063841718a61461046a57806389a302711461049a5780638da5cb5b146104ce57806394c3316314610502578063999cb1581461052057610173565b806348c54b9d1161013057806348c54b9d146103025780634c96efda1461030c57806368428a1b146103505780636a61e5fc14610370578063718da7ee1461039e57806373417b09146103e257610173565b8063080c279a14610178578063133eeb831461019657806321cda790146101b4578063232452161461020c5780633b073f30146102c45780634162169f146102ce575b600080fd5b610180610732565b6040518082815260200191505060405180910390f35b61019e610738565b6040518082815260200191505060405180910390f35b6101f6600480360360208110156101ca57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610803565b6040518082815260200191505060405180910390f35b6102c26004803603602081101561022257600080fd5b810190808035906020019064010000000081111561023f57600080fd5b82018360208201111561025157600080fd5b8035906020019184602083028401116401000000008311171561027357600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050919291929050505061081b565b005b6102cc610966565b005b6102d6610bc7565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61030a610bed565b005b61034e6004803603602081101561032257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611150565b005b610358611291565b60405180821515815260200191505060405180910390f35b61039c6004803603602081101561038657600080fd5b81019080803590602001909291905050506112a8565b005b6103e0600480360360208110156103b457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611375565b005b610410600480360360208110156103f857600080fd5b8101908080351515906020019092919050505061147c565b005b6104546004803603602081101561042857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061155c565b6040518082815260200191505060405180910390f35b6104986004803603602081101561048057600080fd5b81019080803515159060200190929190505050611574565b005b6104a2611654565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104d661167a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61050a6116a0565b6040518082815260200191505060405180910390f35b6105286116aa565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105966004803603602081101561056a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116d0565b60405180821515815260200191505060405180910390f35b6105dc600480360360208110156105c457600080fd5b810190808035151590602001909291905050506116f0565b005b6105e66117d0565b60405180821515815260200191505060405180910390f35b61062a6004803603602081101561061457600080fd5b81019080803590602001909291905050506117e7565b005b610634611d44565b005b6106ec6004803603602081101561064c57600080fd5b810190808035906020019064010000000081111561066957600080fd5b82018360208201111561067b57600080fd5b8035906020019184602083028401116401000000008311171561069d57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050611f9b565b005b6107306004803603602081101561070457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120e6565b005b60095481565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156107c357600080fd5b505afa1580156107d7573d6000803e3d6000fd5b505050506040513d60208110156107ed57600080fd5b8101908080519060200190929190505050905090565b60016020528060005260406000206000915090505481565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f596f75277265206e6f7420746865206f776e657200000000000000000000000081525060200191505060405180910390fd5b60005b8151811015610962576000600360008484815181106108fc57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806001019150506108e1565b5050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a29576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f596f75277265206e6f7420746865206f776e657200000000000000000000000081525060200191505060405180910390fd5b6000600654600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610ab757600080fd5b505afa158015610acb573d6000803e3d6000fd5b505050506040513d6020811015610ae157600080fd5b8101908080519060200190929190505050039050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610b8857600080fd5b505af1158015610b9c573d6000803e3d6000fd5b505050506040513d6020811015610bb257600080fd5b81019080805190602001909291905050505050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026000541415610c66576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b6002600081905550600560159054906101000a900460ff16610cf0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436c61696d206973206e6f7420616c6c6f77656420796574000000000000000081525060200191505060405180910390fd5b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411610da5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f557365722073686f756c64206f776e20736f6d6520484f4520746f6b656e730081525060200191505060405180910390fd5b6000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411610e3d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061247e6025913960400191505060405180910390fd5b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610f0657600080fd5b505afa158015610f1a573d6000803e3d6000fd5b505050506040513d6020811015610f3057600080fd5b81019080805190602001909291905050501015610f98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061240b602c913960400191505060405180910390fd5b6000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156110b457600080fd5b505af11580156110c8573d6000803e3d6000fd5b505050506040513d60208110156110de57600080fd5b8101908080519060200190929190505050507ffcd6a0cf5a625280133c034863698c011fa0aefbee7f3be397f86fabd98918523382604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a1506001600081905550565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611213576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f596f75277265206e6f7420746865206f776e657200000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561124d57600080fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600560149054906101000a900460ff16905090565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461136b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f596f75277265206e6f7420746865206f776e657200000000000000000000000081525060200191505060405180910390fd5b8060078190555050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611438576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f596f75277265206e6f7420746865206f776e657200000000000000000000000081525060200191505060405180910390fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461153f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f596f75277265206e6f7420746865206f776e657200000000000000000000000081525060200191505060405180910390fd5b80600560156101000a81548160ff02191690831515021790555050565b60026020528060005260406000206000915090505481565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611637576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f596f75277265206e6f7420746865206f776e657200000000000000000000000081525060200191505060405180910390fd5b80600560146101000a81548160ff02191690831515021790555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600654905090565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60036020528060005260406000206000915054906101000a900460ff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146117b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f596f75277265206e6f7420746865206f776e657200000000000000000000000081525060200191505060405180910390fd5b80600560166101000a81548160ff02191690831515021790555050565b6000600560159054906101000a900460ff16905090565b60026000541415611860576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b6002600081905550600560169054906101000a900460ff16156119445760011515600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611943576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f4e6f742077686974656c6973746564000000000000000000000000000000000081525060200191505060405180910390fd5b5b600560149054906101000a900460ff166119c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f50726573616c6520686173206e6f74207374617274656400000000000000000081525060200191505060405180910390fd5b600954811015611a3e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f6c6f7720616d6f756e74207468616e206d696e0000000000000000000000000081525060200191505060405180910390fd5b60003390506000611a7164174876e800611a636007548661227390919063ffffffff16565b6122fc90919063ffffffff16565b9050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd33600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16866040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611b4657600080fd5b505af1158015611b5a573d6000803e3d6000fd5b505050506040513d6020811015611b7057600080fd5b810190808051906020019092919050505050611bd481600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461238290919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c6981600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461238290919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611cc18160065461238290919063ffffffff16565b600681905550611cdc8360085461238290919063ffffffff16565b6008819055507f0c031f45b18305561115944c48c15b7aef3fdfe9182afbf6b01c249542ec6a113382604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050600160008190555050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611e07576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f596f75277265206e6f7420746865206f776e657200000000000000000000000081525060200191505060405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611ecf57600080fd5b505afa158015611ee3573d6000803e3d6000fd5b505050506040513d6020811015611ef957600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611f5d57600080fd5b505af1158015611f71573d6000803e3d6000fd5b505050506040513d6020811015611f8757600080fd5b810190808051906020019092919050505050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461205e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f596f75277265206e6f7420746865206f776e657200000000000000000000000081525060200191505060405180910390fd5b60005b81518110156120e25760016003600084848151811061207c57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050612061565b5050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146121a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f596f75277265206e6f7420746865206f776e657200000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561222f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806124376026913960400191505060405180910390fd5b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008082116122ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060200191505060405180910390fd5b8183816122f357fe5b04905092915050565b60008083141561230f576000905061237c565b600082840290508284828161232057fe5b0414612377576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061245d6021913960400191505060405180910390fd5b809150505b92915050565b600080828401905083811015612400576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b809150509291505056fe546865726520617265206e6f7420656e6f75676820484f4520746f6b656e7320746f207472616e736665722e4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77557365722073686f756c64206861766520756e636c61696d656420484f4520746f6b656e73a26469706673582212207052c868afcdb40aa27a0e20c0bee951f95eced78973e8247909267e76edb16564736f6c634300060c0033000000000000000000000000b97ef9ef8734c71904d8002f8b6bc66dd9c48a6e000000000000000000000000b97ef9ef8734c71904d8002f8b6bc66dd9c48a6e000000000000000000000000fed3445457f57a3fe4d50b3ecbfb523a049045a0
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000b97ef9ef8734c71904d8002f8b6bc66dd9c48a6e000000000000000000000000b97ef9ef8734c71904d8002f8b6bc66dd9c48a6e000000000000000000000000fed3445457f57a3fe4d50b3ecbfb523a049045a0
-----Decoded View---------------
Arg [0] : _HOE (address): 0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e
Arg [1] : _USDC (address): 0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e
Arg [2] : _dao (address): 0xfed3445457f57a3fe4d50b3ecbfb523a049045a0
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000b97ef9ef8734c71904d8002f8b6bc66dd9c48a6e
Arg [1] : 000000000000000000000000b97ef9ef8734c71904d8002f8b6bc66dd9c48a6e
Arg [2] : 000000000000000000000000fed3445457f57a3fe4d50b3ecbfb523a049045a0
Deployed ByteCode Sourcemap
24773:4397:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25439:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;27767:105;;;:::i;:::-;;;;;;;;;;;;;;;;;;;24897:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;26376:180;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;28701:158;;;:::i;:::-;;25524:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;27877:597;;;:::i;:::-;;28482:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;27502:78;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;26165:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;28614:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;27393:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;24996:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;27288:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;25152:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;25497:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;27585:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;25115:17;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;25053:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;26270:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;27682:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;26561:722;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;28864:109;;;:::i;:::-;;25983:176;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;28981:186;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;25439:51;;;;:::o;27767:105::-;27818:7;27839:3;;;;;;;;;;;:13;;;27861:4;27839:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27832:35;;27767:105;:::o;24897:46::-;;;;;;;;;;;;;;;;;:::o;26376:180::-;25596:5;;;;;;;;;;;25582:19;;:10;:19;;;25574:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26460:6:::1;26454:95;26476:4;:11;26472:1;:15;26454:95;;;26532:5;26511:9;:18;26521:4;26526:1;26521:7;;;;;;;;;;;;;;26511:18;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;26490:4;;;;;;;26454:95;;;;26376:180:::0;:::o;28701:158::-;25596:5;;;;;;;;;;;25582:19;;:10;:19;;;25574:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28754:14:::1;28802:15;;28771:3;;;;;;;;;;;:13;;;28793:4;28771:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;:46;28754:63;;28822:3;;;;;;;;;;;:12;;;28835:10;28847:6;28822:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;25631:1;28701:158::o:0;25524:18::-;;;;;;;;;;;;;:::o;27877:597::-;5081:1;5687:7;;:19;;5679:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5081:1;5820:7;:18;;;;27935:13:::1;;;;;;;;;;;27927:50;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;28016:1;27990:11;:23;28002:10;27990:23;;;;;;;;;;;;;;;;:27;27982:71;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;28096:1;28066:15;:27;28082:10;28066:27;;;;;;;;;;;;;;;;:31;28058:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28184:15;:27;28200:10;28184:27;;;;;;;;;;;;;;;;28152:3;;;;;;;;;;;:13;;;28174:4;28152:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;:59;;28144:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28267:29;28299:15;:27;28315:10;28299:27;;;;;;;;;;;;;;;;28267:59;;28361:1;28331:15;:27;28347:10;28331:27;;;;;;;;;;;;;;;:31;;;;28367:3;;;;;;;;;;;:12;;;28380:10;28392:21;28367:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;28424:45;28435:10;28447:21;28424:45;;;;;;;;;;;;;;;;;;;;;;;;;;5851:1;5037::::0;5999:7;:22;;;;27877:597::o;28482:124::-;25596:5;;;;;;;;;;;25582:19;;:10;:19;;;25574:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28566:1:::1;28550:18;;:4;:18;;;;28542:27;;;::::0;::::1;;28593:4;28580:3;;:18;;;;;;;;;;;;;;;;;;28482:124:::0;:::o;27502:78::-;27545:4;27563:12;;;;;;;;;;;27556:19;;27502:78;:::o;26165:99::-;25596:5;;;;;;;;;;;25582:19;;:10;:19;;;25574:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26250:6:::1;26235:12;:21;;;;26165:99:::0;:::o;28614:82::-;25596:5;;;;;;;;;;;25582:19;;:10;:19;;;25574:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28683:8:::1;28677:3;;:14;;;;;;;;;;;;;;;;;;28614:82:::0;:::o;27393:104::-;25596:5;;;;;;;;;;;25582:19;;:10;:19;;;25574:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27478:14:::1;27462:13;;:30;;;;;;;;;;;;;;;;;;27393:104:::0;:::o;24996:50::-;;;;;;;;;;;;;;;;;:::o;27288:100::-;25596:5;;;;;;;;;;;25582:19;;:10;:19;;;25574:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27370:13:::1;27355:12;;:28;;;;;;;;;;;;;;;;;;27288:100:::0;:::o;25152:18::-;;;;;;;;;;;;;:::o;25497:20::-;;;;;;;;;;;;;:::o;27585:92::-;27636:7;27657:15;;27650:22;;27585:92;:::o;25115:17::-;;;;;;;;;;;;;:::o;25053:41::-;;;;;;;;;;;;;;;;;;;;;;:::o;26270:100::-;25596:5;;;;;;;;;;;25582:19;;:10;:19;;;25574:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26360:2:::1;26339:18;;:23;;;;;;;;;;;;;;;;;;26270:100:::0;:::o;27682:80::-;27726:4;27744:13;;;;;;;;;;;27737:20;;27682:80;:::o;26561:722::-;5081:1;5687:7;;:19;;5679:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5081:1;5820:7;:18;;;;26627::::1;;;;;;;;;;;26622:94;;;26692:4;26669:27;;:9;:21;26679:10;26669:21;;;;;;;;;;;;;;;;;;;;;;;;;:27;;;26661:55;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;26622:94;26729:12;;;;;;;;;;;26721:48;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;26799:20;;26788:7;:31;;26780:63;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;26868:14;26885:10;26868:27;;26900:14;26917:37;26947:6;26917:25;26929:12;;26917:7;:11;;:25;;;;:::i;:::-;:29;;:37;;;;:::i;:::-;26900:54;;26967:4;;;;;;;;;;;:17;;;26985:10;27005:3;;;;;;;;;;;27011:7;26967:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;27048:31;27072:6;27048:11;:19;27060:6;27048:19;;;;;;;;;;;;;;;;:23;;:31;;;;:::i;:::-;27026:11;:19;27038:6;27026:19;;;;;;;;;;;;;;;:53;;;;27110:35;27138:6;27110:15;:23;27126:6;27110:23;;;;;;;;;;;;;;;;:27;;:35;;;;:::i;:::-;27084:15;:23;27100:6;27084:23;;;;;;;;;;;;;;;:61;;;;27168:27;27188:6;27168:15;;:19;;:27;;;;:::i;:::-;27150:15;:45;;;;27215:25;27232:7;27215:12;;:16;;:25;;;;:::i;:::-;27200:12;:40;;;;27250:28;27259:10;27271:6;27250:28;;;;;;;;;;;;;;;;;;;;;;;;;;5851:1;;5037::::0;5999:7;:22;;;;26561:722;:::o;28864:109::-;25596:5;;;;;;;;;;;25582:19;;:10;:19;;;25574:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28914:3:::1;;;;;;;;;;;:12;;;28927:10;28939:3;;;;;;;;;;;:13;;;28961:4;28939:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;28914:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;28864:109::o:0;25983:176::-;25596:5;;;;;;;;;;;25582:19;;:10;:19;;;25574:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26064:6:::1;26058:94;26080:4;:11;26076:1;:15;26058:94;;;26136:4;26115:9;:18;26125:4;26130:1;26125:7;;;;;;;;;;;;;;26115:18;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;26094:4;;;;;;;26058:94;;;;25983:176:::0;:::o;28981:186::-;25596:5;;;;;;;;;;;25582:19;;:10;:19;;;25574:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29086:1:::1;29065:23;;:9;:23;;;;29057:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29150:9;29142:5;;:17;;;;;;;;;;;;;;;;;;28981:186:::0;:::o;13621:153::-;13679:7;13711:1;13707;:5;13699:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13765:1;13761;:5;;;;;;13754:12;;13621:153;;;;:::o;12923:220::-;12981:7;13010:1;13005;:6;13001:20;;;13020:1;13013:8;;;;13001:20;13032:9;13048:1;13044;:5;13032:17;;13077:1;13072;13068;:5;;;;;;:10;13060:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13134:1;13127:8;;;12923:220;;;;;:::o;12044:179::-;12102:7;12122:9;12138:1;12134;:5;12122:17;;12163:1;12158;:6;;12150:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12214:1;12207:8;;;12044:179;;;;:::o
Swarm Source
ipfs://7052c868afcdb40aa27a0e20c0bee951f95eced78973e8247909267e76edb165
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.