Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 2,144 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Withdraw | 14161766 | 1064 days ago | IN | 0 ETH | 0.00441119 | ||||
Pause | 14161760 | 1064 days ago | IN | 0 ETH | 0.00730996 | ||||
Mint | 13953440 | 1096 days ago | IN | 0.33532 ETH | 0.00486962 | ||||
Mint | 13944904 | 1097 days ago | IN | 0.08383 ETH | 0.00382469 | ||||
Mint | 13941994 | 1098 days ago | IN | 0.08383 ETH | 0.00522224 | ||||
Setmax Supply | 13941974 | 1098 days ago | IN | 0 ETH | 0.00905038 | ||||
Mint | 13941970 | 1098 days ago | IN | 0.08383 ETH | 0.06225355 | ||||
Setmax Supply | 13941968 | 1098 days ago | IN | 0 ETH | 0.01117061 | ||||
Setmax Mint Amou... | 13941930 | 1098 days ago | IN | 0 ETH | 0.00361387 | ||||
Setmax Mint Amou... | 13941899 | 1098 days ago | IN | 0 ETH | 0.00389117 | ||||
Mint | 13941890 | 1098 days ago | IN | 0.41915 ETH | 0.00442824 | ||||
Mint | 13941874 | 1098 days ago | IN | 0.25149 ETH | 0.00549305 | ||||
Mint | 13941873 | 1098 days ago | IN | 0.25149 ETH | 0.00488903 | ||||
Mint | 13941873 | 1098 days ago | IN | 0.25149 ETH | 0.05215291 | ||||
Mint | 13941871 | 1098 days ago | IN | 0.08383 ETH | 0.02273891 | ||||
Mint | 13941871 | 1098 days ago | IN | 0.41915 ETH | 0.00449421 | ||||
Mint | 13941868 | 1098 days ago | IN | 0.08383 ETH | 0.0249927 | ||||
Mint | 13941868 | 1098 days ago | IN | 0.08383 ETH | 0.02268142 | ||||
Mint | 13941868 | 1098 days ago | IN | 0.08383 ETH | 0.02268142 | ||||
Mint | 13941867 | 1098 days ago | IN | 0.16766 ETH | 0.03442764 | ||||
Mint | 13941866 | 1098 days ago | IN | 0.08383 ETH | 0.0190819 | ||||
Mint | 13941865 | 1098 days ago | IN | 0.08383 ETH | 0.01881618 | ||||
Mint | 13941864 | 1098 days ago | IN | 0.08383 ETH | 0.01911014 | ||||
Mint | 13941861 | 1098 days ago | IN | 0.08383 ETH | 0.01873466 | ||||
Mint | 13941861 | 1098 days ago | IN | 0.08383 ETH | 0.01873466 |
Loading...
Loading
Contract Name:
MintOne
Compiler Version
v0.8.0+commit.c7dfd78e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-01-04 */ // File: @openzeppelin/contracts/utils/Strings.sol // OpenZeppelin Contracts v4.4.1 (utils/Strings.sol) pragma solidity ^0.8.0; /** * @dev String operations. */ library Strings { bytes16 private constant _HEX_SYMBOLS = "0123456789abcdef"; /** * @dev Converts a `uint256` to its ASCII `string` decimal representation. */ function toString(uint256 value) internal pure returns (string memory) { // Inspired by OraclizeAPI's implementation - MIT licence // https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.sol if (value == 0) { return "0"; } uint256 temp = value; uint256 digits; while (temp != 0) { digits++; temp /= 10; } bytes memory buffer = new bytes(digits); while (value != 0) { digits -= 1; buffer[digits] = bytes1(uint8(48 + uint256(value % 10))); value /= 10; } return string(buffer); } /** * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation. */ function toHexString(uint256 value) internal pure returns (string memory) { if (value == 0) { return "0x00"; } uint256 temp = value; uint256 length = 0; while (temp != 0) { length++; temp >>= 8; } return toHexString(value, length); } /** * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length. */ function toHexString(uint256 value, uint256 length) internal pure returns (string memory) { bytes memory buffer = new bytes(2 * length + 2); buffer[0] = "0"; buffer[1] = "x"; for (uint256 i = 2 * length + 1; i > 1; --i) { buffer[i] = _HEX_SYMBOLS[value & 0xf]; value >>= 4; } require(value == 0, "Strings: hex length insufficient"); return string(buffer); } } // File: @openzeppelin/contracts/utils/Address.sol // OpenZeppelin Contracts v4.4.1 (utils/Address.sol) pragma solidity ^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; 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"); (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"); (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"); (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"); (bool success, bytes memory returndata) = target.delegatecall(data); return verifyCallResult(success, returndata, errorMessage); } /** * @dev Tool to verifies that a low level call was successful, and revert if it wasn't, either by bubbling the * revert reason using the provided one. * * _Available since v4.3._ */ function verifyCallResult( bool success, bytes memory returndata, string memory errorMessage ) internal 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 assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } // File: @openzeppelin/contracts/token/ERC721/IERC721Receiver.sol // OpenZeppelin Contracts v4.4.1 (token/ERC721/IERC721Receiver.sol) pragma solidity ^0.8.0; /** * @title ERC721 token receiver interface * @dev Interface for any contract that wants to support safeTransfers * from ERC721 asset contracts. */ interface IERC721Receiver { /** * @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom} * by `operator` from `from`, this function is called. * * It must return its Solidity selector to confirm the token transfer. * If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted. * * The selector can be obtained in Solidity with `IERC721.onERC721Received.selector`. */ function onERC721Received( address operator, address from, uint256 tokenId, bytes calldata data ) external returns (bytes4); } // File: @openzeppelin/contracts/utils/introspection/IERC165.sol // OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC165 standard, as defined in the * https://eips.ethereum.org/EIPS/eip-165[EIP]. * * Implementers can declare support of contract interfaces, which can then be * queried by others ({ERC165Checker}). * * For an implementation, see {ERC165}. */ interface IERC165 { /** * @dev Returns true if this contract implements the interface defined by * `interfaceId`. See the corresponding * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] * to learn more about how these ids are created. * * This function call must use less than 30 000 gas. */ function supportsInterface(bytes4 interfaceId) external view returns (bool); } // File: @openzeppelin/contracts/utils/introspection/ERC165.sol // OpenZeppelin Contracts v4.4.1 (utils/introspection/ERC165.sol) pragma solidity ^0.8.0; /** * @dev Implementation of the {IERC165} interface. * * Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check * for the additional interface id that will be supported. For example: * * ```solidity * function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { * return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId); * } * ``` * * Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation. */ abstract contract ERC165 is IERC165 { /** * @dev See {IERC165-supportsInterface}. */ function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { return interfaceId == type(IERC165).interfaceId; } } // File: @openzeppelin/contracts/token/ERC721/IERC721.sol // OpenZeppelin Contracts v4.4.1 (token/ERC721/IERC721.sol) pragma solidity ^0.8.0; /** * @dev Required interface of an ERC721 compliant contract. */ interface IERC721 is IERC165 { /** * @dev Emitted when `tokenId` token is transferred from `from` to `to`. */ event Transfer(address indexed from, address indexed to, uint256 indexed tokenId); /** * @dev Emitted when `owner` enables `approved` to manage the `tokenId` token. */ event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId); /** * @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets. */ event ApprovalForAll(address indexed owner, address indexed operator, bool approved); /** * @dev Returns the number of tokens in ``owner``'s account. */ function balanceOf(address owner) external view returns (uint256 balance); /** * @dev Returns the owner of the `tokenId` token. * * Requirements: * * - `tokenId` must exist. */ function ownerOf(uint256 tokenId) external view returns (address owner); /** * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients * are aware of the ERC721 protocol to prevent tokens from being forever locked. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must exist and be owned by `from`. * - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * * Emits a {Transfer} event. */ function safeTransferFrom( address from, address to, uint256 tokenId ) external; /** * @dev Transfers `tokenId` token from `from` to `to`. * * WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must be owned by `from`. * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. * * Emits a {Transfer} event. */ function transferFrom( address from, address to, uint256 tokenId ) external; /** * @dev Gives permission to `to` to transfer `tokenId` token to another account. * The approval is cleared when the token is transferred. * * Only a single account can be approved at a time, so approving the zero address clears previous approvals. * * Requirements: * * - The caller must own the token or be an approved operator. * - `tokenId` must exist. * * Emits an {Approval} event. */ function approve(address to, uint256 tokenId) external; /** * @dev Returns the account approved for `tokenId` token. * * Requirements: * * - `tokenId` must exist. */ function getApproved(uint256 tokenId) external view returns (address operator); /** * @dev Approve or remove `operator` as an operator for the caller. * Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. * * Requirements: * * - The `operator` cannot be the caller. * * Emits an {ApprovalForAll} event. */ function setApprovalForAll(address operator, bool _approved) external; /** * @dev Returns if the `operator` is allowed to manage all of the assets of `owner`. * * See {setApprovalForAll} */ function isApprovedForAll(address owner, address operator) external view returns (bool); /** * @dev Safely transfers `tokenId` token from `from` to `to`. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must exist and be owned by `from`. * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * * Emits a {Transfer} event. */ function safeTransferFrom( address from, address to, uint256 tokenId, bytes calldata data ) external; } // File: @openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol // OpenZeppelin Contracts v4.4.1 (token/ERC721/extensions/IERC721Enumerable.sol) pragma solidity ^0.8.0; /** * @title ERC-721 Non-Fungible Token Standard, optional enumeration extension * @dev See https://eips.ethereum.org/EIPS/eip-721 */ interface IERC721Enumerable is IERC721 { /** * @dev Returns the total amount of tokens stored by the contract. */ function totalSupply() external view returns (uint256); /** * @dev Returns a token ID owned by `owner` at a given `index` of its token list. * Use along with {balanceOf} to enumerate all of ``owner``'s tokens. */ function tokenOfOwnerByIndex(address owner, uint256 index) external view returns (uint256 tokenId); /** * @dev Returns a token ID at a given `index` of all the tokens stored by the contract. * Use along with {totalSupply} to enumerate all tokens. */ function tokenByIndex(uint256 index) external view returns (uint256); } // File: @openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol // OpenZeppelin Contracts v4.4.1 (token/ERC721/extensions/IERC721Metadata.sol) pragma solidity ^0.8.0; /** * @title ERC-721 Non-Fungible Token Standard, optional metadata extension * @dev See https://eips.ethereum.org/EIPS/eip-721 */ interface IERC721Metadata is IERC721 { /** * @dev Returns the token collection name. */ function name() external view returns (string memory); /** * @dev Returns the token collection symbol. */ function symbol() external view returns (string memory); /** * @dev Returns the Uniform Resource Identifier (URI) for `tokenId` token. */ function tokenURI(uint256 tokenId) external view returns (string memory); } // File: @openzeppelin/contracts/utils/Context.sol // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) pragma solidity ^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 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) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } // File: @openzeppelin/contracts/access/Ownable.sol // OpenZeppelin Contracts v4.4.1 (access/Ownable.sol) pragma solidity ^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() { _transferOwnership(_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 { _transferOwnership(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"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } // File: Bees/WithSuperOperators.sol //SPDX-License-Identifier: MIT // solhint-disable-next-line compiler-version pragma solidity ^0.8.0; contract WithSuperOperators is Ownable { mapping(address => bool) internal _superOperators; event SuperOperator(address superOperator, bool enabled); /// @notice Enable or disable the ability of `superOperator` to transfer tokens of all (superOperator rights). /// @param superOperator address that will be given/removed superOperator right. /// @param enabled set whether the superOperator is enabled or disabled. function setSuperOperator(address superOperator, bool enabled) external onlyOwner { _superOperators[superOperator] = enabled; emit SuperOperator(superOperator, enabled); } /// @notice check whether address `who` is given superOperator rights. /// @param who The address to query. /// @return whether the address has superOperator rights. function isSuperOperator(address who) public view returns (bool) { return _superOperators[who]; } } // File: Bees/ERC721C_2.sol pragma solidity ^0.8.0; abstract contract ERC721C is Context, ERC165, IERC721, IERC721Metadata, WithSuperOperators { using Address for address; using Strings for uint256; // Token name string private _name; // Token symbol string private _symbol; //uint256 internal _supply; uint256[] internal _tokenIds; // Mapping from token ID to owner address mapping(uint256 => address) internal _owners; // Mapping owner address to token count mapping(address => uint256) private _balances; // Mapping from token ID to approved address mapping(uint256 => address) private _tokenApprovals; // Mapping from owner to operator approvals mapping(address => mapping(address => bool)) private _operatorApprovals; /** * @dev Initializes the contract by setting a `name` and a `symbol` to the token collection. */ constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } /** * @dev See {IERC165-supportsInterface}. */ function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165, IERC165) returns (bool) { return interfaceId == type(IERC721).interfaceId || interfaceId == type(IERC721Metadata).interfaceId || super.supportsInterface(interfaceId); } /** * @dev See {IERC721-balanceOf}. */ function balanceOf(address owner) public view virtual override returns (uint256) { require(owner != address(0), "ERC721: balance query for the zero address"); return _balances[owner]; } /** * @dev See {IERC721-ownerOf}. */ function ownerOf(uint256 tokenId) public view virtual override returns (address) { address owner = _owners[tokenId]; require(owner != address(0), "ERC721: owner query for nonexistent token"); return owner; } /** * @dev See {IERC721Metadata-name}. */ function name() public view virtual override returns (string memory) { return _name; } /** * @dev See {IERC721Metadata-symbol}. */ function symbol() public view virtual override returns (string memory) { return _symbol; } /** * @dev See {IERC721Metadata-tokenURI}. */ function tokenURI(uint256 tokenId) public view virtual override returns (string memory) { require(_exists(tokenId), "ERC721Metadata: URI query for nonexistent token"); string memory baseURI = _baseURI(); return bytes(baseURI).length > 0 ? string(abi.encodePacked(baseURI, tokenId.toString())) : ""; } /** * @dev Base URI for computing {tokenURI}. If set, the resulting URI for each * token will be the concatenation of the `baseURI` and the `tokenId`. Empty * by default, can be overriden in child contracts. */ function _baseURI() internal view virtual returns (string memory) { return ""; } /** * @dev See {IERC721-approve}. */ function approve(address to, uint256 tokenId) public virtual override { address owner = ERC721C.ownerOf(tokenId); require(to != owner, "ERC721: approval to current owner"); require( _msgSender() == owner || _superOperators[_msgSender()] || isApprovedForAll(owner, _msgSender()), "ERC721: approve caller is not owner nor approved for all" ); _approve(to, tokenId); } /** * @dev See {IERC721-getApproved}. */ function getApproved(uint256 tokenId) public view virtual override returns (address) { require(_exists(tokenId), "ERC721: approved query for nonexistent token"); return _tokenApprovals[tokenId]; } /** * @dev See {IERC721-setApprovalForAll}. */ function setApprovalForAll(address operator, bool approved) public virtual override { require(operator != _msgSender(), "ERC721: approve to caller"); _operatorApprovals[_msgSender()][operator] = approved; emit ApprovalForAll(_msgSender(), operator, approved); } /** * @dev See {IERC721-isApprovedForAll}. */ function isApprovedForAll(address owner, address operator) public view virtual override returns (bool) { return _operatorApprovals[owner][operator]; } /** * @dev See {IERC721-transferFrom}. */ function transferFrom( address from, address to, uint256 tokenId ) public virtual override { //solhint-disable-next-line max-line-length require(_isApprovedOrOwner(_msgSender(), tokenId), "ERC721: transfer caller is not owner nor approved"); _transfer(from, to, tokenId); } /** * @dev See {IERC721-safeTransferFrom}. */ function safeTransferFrom( address from, address to, uint256 tokenId ) public virtual override { safeTransferFrom(from, to, tokenId, ""); } /** * @dev See {IERC721-safeTransferFrom}. */ function safeTransferFrom( address from, address to, uint256 tokenId, bytes memory _data ) public virtual override { require(_isApprovedOrOwner(_msgSender(), tokenId), "ERC721: transfer caller is not owner nor approved"); _safeTransfer(from, to, tokenId, _data); } /** * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients * are aware of the ERC721 protocol to prevent tokens from being forever locked. * * `_data` is additional data, it has no specified format and it is sent in call to `to`. * * This internal function is equivalent to {safeTransferFrom}, and can be used to e.g. * implement alternative mechanisms to perform token transfer, such as signature-based. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must exist and be owned by `from`. * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * * Emits a {Transfer} event. */ function _safeTransfer( address from, address to, uint256 tokenId, bytes memory _data ) internal virtual { _transfer(from, to, tokenId); require(_checkOnERC721Received(from, to, tokenId, _data), "ERC721: transfer to non ERC721Receiver implementer"); } /** * @dev Returns whether `tokenId` exists. * * Tokens can be managed by their owner or approved accounts via {approve} or {setApprovalForAll}. * * Tokens start existing when they are minted (`_mint`), * and stop existing when they are burned (`_burn`). */ function _exists(uint256 tokenId) internal view virtual returns (bool) { return _owners[tokenId] != address(0); } /** * @dev Returns whether `spender` is allowed to manage `tokenId`. * * Requirements: * * - `tokenId` must exist. */ function _isApprovedOrOwner(address spender, uint256 tokenId) internal view virtual returns (bool) { require(_exists(tokenId), "ERC721: operator query for nonexistent token"); address owner = ERC721C.ownerOf(tokenId); return (spender == owner || getApproved(tokenId) == spender || isApprovedForAll(owner, spender) || _superOperators[_msgSender()]); } /** * @dev Safely mints `tokenId` and transfers it to `to`. * * Requirements: * * - `tokenId` must not exist. * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * * Emits a {Transfer} event. */ function _safeMint(address to, uint256 tokenId) internal virtual { _safeMint(to, tokenId, ""); } /** * @dev Same as {xref-ERC721-_safeMint-address-uint256-}[`_safeMint`], with an additional `data` parameter which is * forwarded in {IERC721Receiver-onERC721Received} to contract recipients. */ function _safeMint( address to, uint256 tokenId, bytes memory _data ) internal virtual { _mint(to, tokenId); require( _checkOnERC721Received(address(0), to, tokenId, _data), "ERC721: transfer to non ERC721Receiver implementer" ); } /** * @dev Mints `tokenId` and transfers it to `to`. * * WARNING: Usage of this method is discouraged, use {_safeMint} whenever possible * * Requirements: * * - `tokenId` must not exist. * - `to` cannot be the zero address. * * Emits a {Transfer} event. */ function _mint(address to, uint256 tokenId) internal virtual { require(to != address(0), "ERC721: mint to the zero address"); require(!_exists(tokenId), "ERC721: token already minted"); _beforeTokenTransfer(address(0), to, tokenId); _balances[to] += 1; //_supply += 1; _tokenIds.push(tokenId); _owners[tokenId] = to; emit Transfer(address(0), to, tokenId); } /** * @dev Destroys `tokenId`. * The approval is cleared when the token is burned. * * Requirements: * * - `tokenId` must exist. * * Emits a {Transfer} event. */ function _burn(uint256 tokenId) internal virtual { address owner = ERC721C.ownerOf(tokenId); _beforeTokenTransfer(owner, address(0), tokenId); // Clear approvals _approve(address(0), tokenId); _owners[tokenId] = address(0); emit Transfer(owner, address(0), tokenId); } /** * @dev Transfers `tokenId` from `from` to `to`. * As opposed to {transferFrom}, this imposes no restrictions on msg.sender. * * Requirements: * * - `to` cannot be the zero address. * - `tokenId` token must be owned by `from`. * * Emits a {Transfer} event. */ function _transfer( address from, address to, uint256 tokenId ) internal virtual { require(ERC721C.ownerOf(tokenId) == from, "ERC721: transfer of token that is not own"); require(to != address(0), "ERC721: transfer to the zero address"); _beforeTokenTransfer(from, to, tokenId); // Clear approvals from the previous owner _approve(address(0), tokenId); _balances[from] -= 1; _balances[to] += 1; _owners[tokenId] = to; emit Transfer(from, to, tokenId); } /** * @dev Approve `to` to operate on `tokenId` * * Emits a {Approval} event. */ function _approve(address to, uint256 tokenId) internal virtual { _tokenApprovals[tokenId] = to; emit Approval(ERC721C.ownerOf(tokenId), to, tokenId); } /** * @dev Internal function to invoke {IERC721Receiver-onERC721Received} on a target address. * The call is not executed if the target address is not a contract. * * @param from address representing the previous owner of the given token ID * @param to target address that will receive the tokens * @param tokenId uint256 ID of the token to be transferred * @param _data bytes optional data to send along with the call * @return bool whether the call correctly returned the expected magic value */ function _checkOnERC721Received( address from, address to, uint256 tokenId, bytes memory _data ) private returns (bool) { if (to.isContract()) { try IERC721Receiver(to).onERC721Received(_msgSender(), from, tokenId, _data) returns (bytes4 retval) { return retval == IERC721Receiver.onERC721Received.selector; } catch (bytes memory reason) { if (reason.length == 0) { revert("ERC721: transfer to non ERC721Receiver implementer"); } else { assembly { revert(add(32, reason), mload(reason)) } } } } else { return true; } } /** * @dev Hook that is called before any token transfer. This includes minting * and burning. * * Calling conditions: * * - When `from` and `to` are both non-zero, ``from``'s `tokenId` will be * transferred to `to`. * - When `from` is zero, `tokenId` will be minted for `to`. * - When `to` is zero, ``from``'s `tokenId` will be burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _beforeTokenTransfer( address from, address to, uint256 tokenId ) internal virtual {} } // File: Bees/ERC721EnumLiteC.sol pragma solidity ^0.8.0; /** * @dev This implements an optional extension of {ERC721} defined in the EIP that adds * enumerability of all the token ids in the contract as well as all token ids owned by each * account. */ abstract contract ERC721EnumerableLiteC is ERC721C, IERC721Enumerable { /** * @dev See {IERC165-supportsInterface}. */ function supportsInterface(bytes4 interfaceId) public view virtual override(IERC165, ERC721C) returns (bool) { return interfaceId == type(IERC721Enumerable).interfaceId || super.supportsInterface(interfaceId); } /** * @dev See {IERC721Enumerable-tokenOfOwnerByIndex}. */ function tokenOfOwnerByIndex(address owner, uint256 index) public view override returns (uint256 tokenId) { require(index < ERC721C.balanceOf(owner), "ERC721Enumerable: owner index out of bounds"); uint count; for( uint i; i < _tokenIds.length; ++i ){ if( owner == _owners[_tokenIds[i]] ){ if( count == index ) return _tokenIds[i]; else ++count; } } require(false, "ERC721Enumerable: owner index out of bounds"); } /** * @dev See {IERC721Enumerable-totalSupply}. */ function totalSupply() public view virtual override returns (uint256) { return _tokenIds.length; } /** * @dev See {IERC721Enumerable-tokenByIndex}. */ function tokenByIndex(uint256 index) public view virtual override returns (uint256) { require(index < ERC721EnumerableLiteC.totalSupply(), "ERC721Enumerable: global index out of bounds"); return index; } } // File: Bees/BeeNFT.sol pragma solidity >=0.7.0 <0.9.0; contract BeeNFT is Ownable, ERC721EnumerableLiteC { using Strings for uint256; string private baseTokenURI = "https:///"; mapping(address => bool) public enabledMinter; uint256 public maxSupply = 13838; bool public paused = false; mapping(uint256 => uint256) public QueenRegistry; //ID to Int Status mapping(uint256 => uint256) public miscSetting; constructor( string memory _name, string memory _symbol, string memory _initBaseURI ) ERC721C(_name, _symbol){ setBaseURI(_initBaseURI); } // public function mint(address _to, uint256 _mintNumber) public { require(enabledMinter[msg.sender] , "!minter"); uint256 supply = totalSupply(); require(!paused, "paused" ); require(supply + 1 <= maxSupply, "OverMaxSupply" ); _safeMint(_to, _mintNumber, ""); } // function gift(uint[] calldata quantity, address[] calldata recipient) external onlyOwner{ // require(quantity.length == recipient.length, "Must provide equal quantities and recipients" ); // uint totalQuantity = 0; // uint256 supply = totalSupply(); // for(uint i = 0; i < quantity.length; ++i){ // totalQuantity += quantity[i]; // } // require( supply + totalQuantity <= maxSupply, "Mint/order exceeds supply" ); // delete totalQuantity; // for(uint i = 0; i < recipient.length; ++i){ // for(uint j = 0; j < quantity[i]; ++j){ // _safeMint( recipient[i], supply++, "" ); // } // } // } function _baseURI() internal view virtual override returns (string memory) { return baseTokenURI; } function setBaseURI(string memory _value) public onlyOwner{ baseTokenURI = _value; } function setMaxSupply(uint256 _maxSupply) public onlyOwner { maxSupply = _maxSupply; } function setMinter(address _minter, bool _option) public onlyOwner { enabledMinter[_minter] = _option; } function setMisc(uint256[] calldata _ids, uint256[] calldata _values) public onlyOwner { require(_ids.length == _values.length, "Must provide equal ids and values" ); for(uint256 i = 0; i < _ids.length; i++){ miscSetting[_ids[i]] = _values[i]; } } function setQueenRegistry(uint256[] calldata _ids, uint256[] calldata _values) public onlyOwner { require(_ids.length == _values.length, "Must provide equal ids and values" ); for(uint256 i = 0; i < _ids.length; i++){ QueenRegistry[_ids[i]] = _values[i]; } } function pause(bool _state) public onlyOwner { paused = _state; } } // File: Bees/mintOne.sol pragma solidity >=0.7.0 <0.9.0; contract MintOne is Ownable { uint256 public cost = 0.08383 ether; uint256 public maxMintAmount = 5; uint256 public maxSupply = 10038; //phase one max bool public paused = false; uint256 public whiteListTime = 0; uint256 public publicTime = 0; BeeNFT public beeNFT; address public beesEscrow; mapping(address => uint256) public whitelisted; constructor( BeeNFT _beeNFT, address _beesEscrow, uint256 _cost, uint256 _listTime, uint256 _publicTime ){ beeNFT = _beeNFT; beesEscrow = _beesEscrow; cost = _cost; whiteListTime = _listTime; publicTime = _publicTime; } // public function mint(uint256 _mintAmount) public payable { uint256 supply = beeNFT.totalSupply(); require(!paused, "Paused" ); require(_mintAmount > 0, "Can not mint 0" ); require(_mintAmount <= maxMintAmount, "Max Mint Amount" ); require(supply + (_mintAmount*2) < maxSupply, "Max Mint Amount" ); require(msg.value >= cost * _mintAmount); require(block.timestamp >= whiteListTime); if(block.timestamp <= publicTime){ //WhiteList only uint256 quota = whitelisted[msg.sender]; require(_mintAmount <= quota, "No whitelist quota"); for(uint256 i = 0; i < _mintAmount; i++){ whitelisted[msg.sender]--; beeNFT.mint(msg.sender, supply + (i*2)); //Mint To User beeNFT.mint(beesEscrow, supply + (i*2 + 1)); //Mint To Bess university } }else if(block.timestamp > publicTime){ //Open whitelist require(block.timestamp > publicTime); for(uint256 i = 0; i < _mintAmount; i++){ beeNFT.mint(msg.sender, supply + (i*2)); //Mint To User beeNFT.mint(beesEscrow, supply + (i*2 + 1)); //Mint To Bess university } } } function isWhitelisted(address _user) public view returns (uint256 amount){ return whitelisted[_user]; } //only owner function setCost(uint256 _newCost) public onlyOwner { cost = _newCost; } function setTimes(uint256 _whitelist, uint256 _public) public onlyOwner { whiteListTime = _whitelist; publicTime = _public; } function setmaxMintAmount(uint256 _newmaxMintAmount) public onlyOwner { maxMintAmount = _newmaxMintAmount; } function setmaxSupply(uint256 _supply) public onlyOwner { maxSupply = _supply; } function pause(bool _state) public onlyOwner { paused = _state; } function whitelistUsers(address[] calldata users, uint256[] calldata quantity) public onlyOwner { require(users.length == quantity.length, "Must provide equal quantities and users" ); for(uint256 i = 0; i < users.length; i++){ whitelisted[users[i]] = quantity[i]; } } function withdraw() public payable onlyOwner { (bool success, ) = payable(msg.sender).call{value: address(this).balance}(""); require(success); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"contract BeeNFT","name":"_beeNFT","type":"address"},{"internalType":"address","name":"_beesEscrow","type":"address"},{"internalType":"uint256","name":"_cost","type":"uint256"},{"internalType":"uint256","name":"_listTime","type":"uint256"},{"internalType":"uint256","name":"_publicTime","type":"uint256"}],"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"},{"inputs":[],"name":"beeNFT","outputs":[{"internalType":"contract BeeNFT","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"beesEscrow","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cost","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"isWhitelisted","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxMintAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_mintAmount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_state","type":"bool"}],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"publicTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newCost","type":"uint256"}],"name":"setCost","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_whitelist","type":"uint256"},{"internalType":"uint256","name":"_public","type":"uint256"}],"name":"setTimes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newmaxMintAmount","type":"uint256"}],"name":"setmaxMintAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_supply","type":"uint256"}],"name":"setmaxSupply","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"whiteListTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"users","type":"address[]"},{"internalType":"uint256[]","name":"quantity","type":"uint256[]"}],"name":"whitelistUsers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"whitelisted","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"payable","type":"function"}]
Contract Creation Code
6080604052670129d2f0db85600060015560056002556127366003556000600460006101000a81548160ff021916908315150217905550600060055560006006553480156200004d57600080fd5b5060405162001f7638038062001f76833981810160405281019062000073919062000246565b62000093620000876200013560201b60201c565b6200013d60201b60201c565b84600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826001819055508160058190555080600681905550505050505062000368565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008151905062000212816200031a565b92915050565b600081519050620002298162000334565b92915050565b60008151905062000240816200034e565b92915050565b600080600080600060a086880312156200025f57600080fd5b60006200026f8882890162000218565b9550506020620002828882890162000201565b945050604062000295888289016200022f565b9350506060620002a8888289016200022f565b9250506080620002bb888289016200022f565b9150509295509295909350565b6000620002d582620002f0565b9050919050565b6000620002e982620002c8565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6200032581620002c8565b81146200033157600080fd5b50565b6200033f81620002dc565b81146200034b57600080fd5b50565b620003598162000310565b81146200036557600080fd5b50565b611bfe80620003786000396000f3fe60806040526004361061012a5760003560e01c806344a0d68a116100ab57806394ed28441161006f57806394ed284414610385578063a0712d68146103b0578063b225e08a146103cc578063d5abeb01146103f7578063d936547e14610422578063f2fde38b1461045f5761012a565b806344a0d68a146102c65780635c975abb146102ef578063715018a61461031a5780637f00c7a6146103315780638da5cb5b1461035a5761012a565b806322434836116100f25780632243483614610202578063228025e81461022b578063239c70ae146102545780633af32abf1461027f5780633ccfd60b146102bc5761012a565b806302329a291461012f578063127835241461015857806313faede6146101835780631973ea06146101ae5780631bdc608e146101d7575b600080fd5b34801561013b57600080fd5b5061015660048036038101906101519190611506565b610488565b005b34801561016457600080fd5b5061016d610521565b60405161017a9190611834565b60405180910390f35b34801561018f57600080fd5b50610198610547565b6040516101a5919061198e565b60405180910390f35b3480156101ba57600080fd5b506101d560048036038101906101d09190611491565b61054d565b005b3480156101e357600080fd5b506101ec610709565b6040516101f9919061198e565b60405180910390f35b34801561020e57600080fd5b5061022960048036038101906102249190611581565b61070f565b005b34801561023757600080fd5b50610252600480360381019061024d919061152f565b61079d565b005b34801561026057600080fd5b50610269610823565b604051610276919061198e565b60405180910390f35b34801561028b57600080fd5b506102a660048036038101906102a19190611468565b610829565b6040516102b3919061198e565b60405180910390f35b6102c4610872565b005b3480156102d257600080fd5b506102ed60048036038101906102e8919061152f565b610967565b005b3480156102fb57600080fd5b506103046109ed565b6040516103119190611878565b60405180910390f35b34801561032657600080fd5b5061032f610a00565b005b34801561033d57600080fd5b506103586004803603810190610353919061152f565b610a88565b005b34801561036657600080fd5b5061036f610b0e565b60405161037c9190611834565b60405180910390f35b34801561039157600080fd5b5061039a610b37565b6040516103a79190611893565b60405180910390f35b6103ca60048036038101906103c5919061152f565b610b5d565b005b3480156103d857600080fd5b506103e1611198565b6040516103ee919061198e565b60405180910390f35b34801561040357600080fd5b5061040c61119e565b604051610419919061198e565b60405180910390f35b34801561042e57600080fd5b5061044960048036038101906104449190611468565b6111a4565b604051610456919061198e565b60405180910390f35b34801561046b57600080fd5b5061048660048036038101906104819190611468565b6111bc565b005b6104906112b4565b73ffffffffffffffffffffffffffffffffffffffff166104ae610b0e565b73ffffffffffffffffffffffffffffffffffffffff1614610504576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104fb9061192e565b60405180910390fd5b80600460006101000a81548160ff02191690831515021790555050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b6105556112b4565b73ffffffffffffffffffffffffffffffffffffffff16610573610b0e565b73ffffffffffffffffffffffffffffffffffffffff16146105c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c09061192e565b60405180910390fd5b818190508484905014610611576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106089061194e565b60405180910390fd5b60005b8484905081101561070257828282818110610658577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b905060200201356009600087878581811061069c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906106b19190611468565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080806106fa90611b0b565b915050610614565b5050505050565b60065481565b6107176112b4565b73ffffffffffffffffffffffffffffffffffffffff16610735610b0e565b73ffffffffffffffffffffffffffffffffffffffff161461078b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107829061192e565b60405180910390fd5b81600581905550806006819055505050565b6107a56112b4565b73ffffffffffffffffffffffffffffffffffffffff166107c3610b0e565b73ffffffffffffffffffffffffffffffffffffffff1614610819576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108109061192e565b60405180910390fd5b8060038190555050565b60025481565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61087a6112b4565b73ffffffffffffffffffffffffffffffffffffffff16610898610b0e565b73ffffffffffffffffffffffffffffffffffffffff16146108ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e59061192e565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff16476040516109149061181f565b60006040518083038185875af1925050503d8060008114610951576040519150601f19603f3d011682016040523d82523d6000602084013e610956565b606091505b505090508061096457600080fd5b50565b61096f6112b4565b73ffffffffffffffffffffffffffffffffffffffff1661098d610b0e565b73ffffffffffffffffffffffffffffffffffffffff16146109e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109da9061192e565b60405180910390fd5b8060018190555050565b600460009054906101000a900460ff1681565b610a086112b4565b73ffffffffffffffffffffffffffffffffffffffff16610a26610b0e565b73ffffffffffffffffffffffffffffffffffffffff1614610a7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a739061192e565b60405180910390fd5b610a8660006112bc565b565b610a906112b4565b73ffffffffffffffffffffffffffffffffffffffff16610aae610b0e565b73ffffffffffffffffffffffffffffffffffffffff1614610b04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610afb9061192e565b60405180910390fd5b8060028190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610bc757600080fd5b505afa158015610bdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bff9190611558565b9050600460009054906101000a900460ff1615610c51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c48906118ae565b60405180910390fd5b60008211610c94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8b906118ce565b60405180910390fd5b600254821115610cd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd09061196e565b60405180910390fd5b600354600283610ce99190611a1b565b82610cf491906119c5565b10610d34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2b9061196e565b60405180910390fd5b81600154610d429190611a1b565b341015610d4e57600080fd5b600554421015610d5d57600080fd5b6006544211610fe1576000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610ded576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de49061190e565b60405180910390fd5b60005b83811015610fda57600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190610e4890611ae1565b9190505550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1933600284610e999190611a1b565b86610ea491906119c5565b6040518363ffffffff1660e01b8152600401610ec192919061184f565b600060405180830381600087803b158015610edb57600080fd5b505af1158015610eef573d6000803e3d6000fd5b50505050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f19600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001600285610f639190611a1b565b610f6d91906119c5565b86610f7891906119c5565b6040518363ffffffff1660e01b8152600401610f9592919061184f565b600060405180830381600087803b158015610faf57600080fd5b505af1158015610fc3573d6000803e3d6000fd5b505050508080610fd290611b0b565b915050610df0565b5050611194565b600654421115611193576006544211610ff957600080fd5b60005b8281101561119157600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f19336002846110509190611a1b565b8561105b91906119c5565b6040518363ffffffff1660e01b815260040161107892919061184f565b600060405180830381600087803b15801561109257600080fd5b505af11580156110a6573d6000803e3d6000fd5b50505050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f19600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160028561111a9190611a1b565b61112491906119c5565b8561112f91906119c5565b6040518363ffffffff1660e01b815260040161114c92919061184f565b600060405180830381600087803b15801561116657600080fd5b505af115801561117a573d6000803e3d6000fd5b50505050808061118990611b0b565b915050610ffc565b505b5b5050565b60055481565b60035481565b60096020528060005260406000206000915090505481565b6111c46112b4565b73ffffffffffffffffffffffffffffffffffffffff166111e2610b0e565b73ffffffffffffffffffffffffffffffffffffffff1614611238576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122f9061192e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156112a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129f906118ee565b60405180910390fd5b6112b1816112bc565b50565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008135905061138f81611b83565b92915050565b60008083601f8401126113a757600080fd5b8235905067ffffffffffffffff8111156113c057600080fd5b6020830191508360208202830111156113d857600080fd5b9250929050565b60008083601f8401126113f157600080fd5b8235905067ffffffffffffffff81111561140a57600080fd5b60208301915083602082028301111561142257600080fd5b9250929050565b60008135905061143881611b9a565b92915050565b60008135905061144d81611bb1565b92915050565b60008151905061146281611bb1565b92915050565b60006020828403121561147a57600080fd5b600061148884828501611380565b91505092915050565b600080600080604085870312156114a757600080fd5b600085013567ffffffffffffffff8111156114c157600080fd5b6114cd87828801611395565b9450945050602085013567ffffffffffffffff8111156114ec57600080fd5b6114f8878288016113df565b925092505092959194509250565b60006020828403121561151857600080fd5b600061152684828501611429565b91505092915050565b60006020828403121561154157600080fd5b600061154f8482850161143e565b91505092915050565b60006020828403121561156a57600080fd5b600061157884828501611453565b91505092915050565b6000806040838503121561159457600080fd5b60006115a28582860161143e565b92505060206115b38582860161143e565b9150509250929050565b6115c681611a75565b82525050565b6115d581611a87565b82525050565b6115e481611abd565b82525050565b60006115f76006836119b4565b91507f50617573656400000000000000000000000000000000000000000000000000006000830152602082019050919050565b6000611637600e836119b4565b91507f43616e206e6f74206d696e7420300000000000000000000000000000000000006000830152602082019050919050565b60006116776026836119b4565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006116dd6012836119b4565b91507f4e6f2077686974656c6973742071756f746100000000000000000000000000006000830152602082019050919050565b600061171d6020836119b4565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b600061175d6000836119a9565b9150600082019050919050565b60006117776027836119b4565b91507f4d7573742070726f7669646520657175616c207175616e74697469657320616e60008301527f64207573657273000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006117dd600f836119b4565b91507f4d6178204d696e7420416d6f756e7400000000000000000000000000000000006000830152602082019050919050565b61181981611ab3565b82525050565b600061182a82611750565b9150819050919050565b600060208201905061184960008301846115bd565b92915050565b600060408201905061186460008301856115bd565b6118716020830184611810565b9392505050565b600060208201905061188d60008301846115cc565b92915050565b60006020820190506118a860008301846115db565b92915050565b600060208201905081810360008301526118c7816115ea565b9050919050565b600060208201905081810360008301526118e78161162a565b9050919050565b600060208201905081810360008301526119078161166a565b9050919050565b60006020820190508181036000830152611927816116d0565b9050919050565b6000602082019050818103600083015261194781611710565b9050919050565b600060208201905081810360008301526119678161176a565b9050919050565b60006020820190508181036000830152611987816117d0565b9050919050565b60006020820190506119a36000830184611810565b92915050565b600081905092915050565b600082825260208201905092915050565b60006119d082611ab3565b91506119db83611ab3565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611a1057611a0f611b54565b5b828201905092915050565b6000611a2682611ab3565b9150611a3183611ab3565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611a6a57611a69611b54565b5b828202905092915050565b6000611a8082611a93565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000611ac882611acf565b9050919050565b6000611ada82611a93565b9050919050565b6000611aec82611ab3565b91506000821415611b0057611aff611b54565b5b600182039050919050565b6000611b1682611ab3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611b4957611b48611b54565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b611b8c81611a75565b8114611b9757600080fd5b50565b611ba381611a87565b8114611bae57600080fd5b50565b611bba81611ab3565b8114611bc557600080fd5b5056fea26469706673582212202646e74c99c7601b4e5a24246e1a2152b0ac27afbe97c727d75ad56d4ec1990164736f6c634300080000330000000000000000000000004848a07744e46bb3ea93ad4933075a4fa47b1162000000000000000000000000ced09e759d9606d529de95fe8caa6db39853ddde0000000000000000000000000000000000000000000000000129d2f0db8560000000000000000000000000000000000000000000000000000000000061cf8b700000000000000000000000000000000000000000000000000000000061d36cb8
Deployed Bytecode
0x60806040526004361061012a5760003560e01c806344a0d68a116100ab57806394ed28441161006f57806394ed284414610385578063a0712d68146103b0578063b225e08a146103cc578063d5abeb01146103f7578063d936547e14610422578063f2fde38b1461045f5761012a565b806344a0d68a146102c65780635c975abb146102ef578063715018a61461031a5780637f00c7a6146103315780638da5cb5b1461035a5761012a565b806322434836116100f25780632243483614610202578063228025e81461022b578063239c70ae146102545780633af32abf1461027f5780633ccfd60b146102bc5761012a565b806302329a291461012f578063127835241461015857806313faede6146101835780631973ea06146101ae5780631bdc608e146101d7575b600080fd5b34801561013b57600080fd5b5061015660048036038101906101519190611506565b610488565b005b34801561016457600080fd5b5061016d610521565b60405161017a9190611834565b60405180910390f35b34801561018f57600080fd5b50610198610547565b6040516101a5919061198e565b60405180910390f35b3480156101ba57600080fd5b506101d560048036038101906101d09190611491565b61054d565b005b3480156101e357600080fd5b506101ec610709565b6040516101f9919061198e565b60405180910390f35b34801561020e57600080fd5b5061022960048036038101906102249190611581565b61070f565b005b34801561023757600080fd5b50610252600480360381019061024d919061152f565b61079d565b005b34801561026057600080fd5b50610269610823565b604051610276919061198e565b60405180910390f35b34801561028b57600080fd5b506102a660048036038101906102a19190611468565b610829565b6040516102b3919061198e565b60405180910390f35b6102c4610872565b005b3480156102d257600080fd5b506102ed60048036038101906102e8919061152f565b610967565b005b3480156102fb57600080fd5b506103046109ed565b6040516103119190611878565b60405180910390f35b34801561032657600080fd5b5061032f610a00565b005b34801561033d57600080fd5b506103586004803603810190610353919061152f565b610a88565b005b34801561036657600080fd5b5061036f610b0e565b60405161037c9190611834565b60405180910390f35b34801561039157600080fd5b5061039a610b37565b6040516103a79190611893565b60405180910390f35b6103ca60048036038101906103c5919061152f565b610b5d565b005b3480156103d857600080fd5b506103e1611198565b6040516103ee919061198e565b60405180910390f35b34801561040357600080fd5b5061040c61119e565b604051610419919061198e565b60405180910390f35b34801561042e57600080fd5b5061044960048036038101906104449190611468565b6111a4565b604051610456919061198e565b60405180910390f35b34801561046b57600080fd5b5061048660048036038101906104819190611468565b6111bc565b005b6104906112b4565b73ffffffffffffffffffffffffffffffffffffffff166104ae610b0e565b73ffffffffffffffffffffffffffffffffffffffff1614610504576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104fb9061192e565b60405180910390fd5b80600460006101000a81548160ff02191690831515021790555050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b6105556112b4565b73ffffffffffffffffffffffffffffffffffffffff16610573610b0e565b73ffffffffffffffffffffffffffffffffffffffff16146105c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c09061192e565b60405180910390fd5b818190508484905014610611576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106089061194e565b60405180910390fd5b60005b8484905081101561070257828282818110610658577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b905060200201356009600087878581811061069c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906106b19190611468565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080806106fa90611b0b565b915050610614565b5050505050565b60065481565b6107176112b4565b73ffffffffffffffffffffffffffffffffffffffff16610735610b0e565b73ffffffffffffffffffffffffffffffffffffffff161461078b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107829061192e565b60405180910390fd5b81600581905550806006819055505050565b6107a56112b4565b73ffffffffffffffffffffffffffffffffffffffff166107c3610b0e565b73ffffffffffffffffffffffffffffffffffffffff1614610819576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108109061192e565b60405180910390fd5b8060038190555050565b60025481565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61087a6112b4565b73ffffffffffffffffffffffffffffffffffffffff16610898610b0e565b73ffffffffffffffffffffffffffffffffffffffff16146108ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e59061192e565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff16476040516109149061181f565b60006040518083038185875af1925050503d8060008114610951576040519150601f19603f3d011682016040523d82523d6000602084013e610956565b606091505b505090508061096457600080fd5b50565b61096f6112b4565b73ffffffffffffffffffffffffffffffffffffffff1661098d610b0e565b73ffffffffffffffffffffffffffffffffffffffff16146109e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109da9061192e565b60405180910390fd5b8060018190555050565b600460009054906101000a900460ff1681565b610a086112b4565b73ffffffffffffffffffffffffffffffffffffffff16610a26610b0e565b73ffffffffffffffffffffffffffffffffffffffff1614610a7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a739061192e565b60405180910390fd5b610a8660006112bc565b565b610a906112b4565b73ffffffffffffffffffffffffffffffffffffffff16610aae610b0e565b73ffffffffffffffffffffffffffffffffffffffff1614610b04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610afb9061192e565b60405180910390fd5b8060028190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610bc757600080fd5b505afa158015610bdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bff9190611558565b9050600460009054906101000a900460ff1615610c51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c48906118ae565b60405180910390fd5b60008211610c94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8b906118ce565b60405180910390fd5b600254821115610cd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd09061196e565b60405180910390fd5b600354600283610ce99190611a1b565b82610cf491906119c5565b10610d34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2b9061196e565b60405180910390fd5b81600154610d429190611a1b565b341015610d4e57600080fd5b600554421015610d5d57600080fd5b6006544211610fe1576000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610ded576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de49061190e565b60405180910390fd5b60005b83811015610fda57600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190610e4890611ae1565b9190505550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1933600284610e999190611a1b565b86610ea491906119c5565b6040518363ffffffff1660e01b8152600401610ec192919061184f565b600060405180830381600087803b158015610edb57600080fd5b505af1158015610eef573d6000803e3d6000fd5b50505050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f19600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001600285610f639190611a1b565b610f6d91906119c5565b86610f7891906119c5565b6040518363ffffffff1660e01b8152600401610f9592919061184f565b600060405180830381600087803b158015610faf57600080fd5b505af1158015610fc3573d6000803e3d6000fd5b505050508080610fd290611b0b565b915050610df0565b5050611194565b600654421115611193576006544211610ff957600080fd5b60005b8281101561119157600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f19336002846110509190611a1b565b8561105b91906119c5565b6040518363ffffffff1660e01b815260040161107892919061184f565b600060405180830381600087803b15801561109257600080fd5b505af11580156110a6573d6000803e3d6000fd5b50505050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f19600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160028561111a9190611a1b565b61112491906119c5565b8561112f91906119c5565b6040518363ffffffff1660e01b815260040161114c92919061184f565b600060405180830381600087803b15801561116657600080fd5b505af115801561117a573d6000803e3d6000fd5b50505050808061118990611b0b565b915050610ffc565b505b5b5050565b60055481565b60035481565b60096020528060005260406000206000915090505481565b6111c46112b4565b73ffffffffffffffffffffffffffffffffffffffff166111e2610b0e565b73ffffffffffffffffffffffffffffffffffffffff1614611238576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122f9061192e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156112a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129f906118ee565b60405180910390fd5b6112b1816112bc565b50565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008135905061138f81611b83565b92915050565b60008083601f8401126113a757600080fd5b8235905067ffffffffffffffff8111156113c057600080fd5b6020830191508360208202830111156113d857600080fd5b9250929050565b60008083601f8401126113f157600080fd5b8235905067ffffffffffffffff81111561140a57600080fd5b60208301915083602082028301111561142257600080fd5b9250929050565b60008135905061143881611b9a565b92915050565b60008135905061144d81611bb1565b92915050565b60008151905061146281611bb1565b92915050565b60006020828403121561147a57600080fd5b600061148884828501611380565b91505092915050565b600080600080604085870312156114a757600080fd5b600085013567ffffffffffffffff8111156114c157600080fd5b6114cd87828801611395565b9450945050602085013567ffffffffffffffff8111156114ec57600080fd5b6114f8878288016113df565b925092505092959194509250565b60006020828403121561151857600080fd5b600061152684828501611429565b91505092915050565b60006020828403121561154157600080fd5b600061154f8482850161143e565b91505092915050565b60006020828403121561156a57600080fd5b600061157884828501611453565b91505092915050565b6000806040838503121561159457600080fd5b60006115a28582860161143e565b92505060206115b38582860161143e565b9150509250929050565b6115c681611a75565b82525050565b6115d581611a87565b82525050565b6115e481611abd565b82525050565b60006115f76006836119b4565b91507f50617573656400000000000000000000000000000000000000000000000000006000830152602082019050919050565b6000611637600e836119b4565b91507f43616e206e6f74206d696e7420300000000000000000000000000000000000006000830152602082019050919050565b60006116776026836119b4565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006116dd6012836119b4565b91507f4e6f2077686974656c6973742071756f746100000000000000000000000000006000830152602082019050919050565b600061171d6020836119b4565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b600061175d6000836119a9565b9150600082019050919050565b60006117776027836119b4565b91507f4d7573742070726f7669646520657175616c207175616e74697469657320616e60008301527f64207573657273000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006117dd600f836119b4565b91507f4d6178204d696e7420416d6f756e7400000000000000000000000000000000006000830152602082019050919050565b61181981611ab3565b82525050565b600061182a82611750565b9150819050919050565b600060208201905061184960008301846115bd565b92915050565b600060408201905061186460008301856115bd565b6118716020830184611810565b9392505050565b600060208201905061188d60008301846115cc565b92915050565b60006020820190506118a860008301846115db565b92915050565b600060208201905081810360008301526118c7816115ea565b9050919050565b600060208201905081810360008301526118e78161162a565b9050919050565b600060208201905081810360008301526119078161166a565b9050919050565b60006020820190508181036000830152611927816116d0565b9050919050565b6000602082019050818103600083015261194781611710565b9050919050565b600060208201905081810360008301526119678161176a565b9050919050565b60006020820190508181036000830152611987816117d0565b9050919050565b60006020820190506119a36000830184611810565b92915050565b600081905092915050565b600082825260208201905092915050565b60006119d082611ab3565b91506119db83611ab3565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611a1057611a0f611b54565b5b828201905092915050565b6000611a2682611ab3565b9150611a3183611ab3565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611a6a57611a69611b54565b5b828202905092915050565b6000611a8082611a93565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000611ac882611acf565b9050919050565b6000611ada82611a93565b9050919050565b6000611aec82611ab3565b91506000821415611b0057611aff611b54565b5b600182039050919050565b6000611b1682611ab3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611b4957611b48611b54565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b611b8c81611a75565b8114611b9757600080fd5b50565b611ba381611a87565b8114611bae57600080fd5b50565b611bba81611ab3565b8114611bc557600080fd5b5056fea26469706673582212202646e74c99c7601b4e5a24246e1a2152b0ac27afbe97c727d75ad56d4ec1990164736f6c63430008000033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000004848a07744e46bb3ea93ad4933075a4fa47b1162000000000000000000000000ced09e759d9606d529de95fe8caa6db39853ddde0000000000000000000000000000000000000000000000000129d2f0db8560000000000000000000000000000000000000000000000000000000000061cf8b700000000000000000000000000000000000000000000000000000000061d36cb8
-----Decoded View---------------
Arg [0] : _beeNFT (address): 0x4848a07744E46bb3eA93AD4933075a4Fa47b1162
Arg [1] : _beesEscrow (address): 0xCed09e759d9606d529DE95FE8caA6DB39853dDDe
Arg [2] : _cost (uint256): 83830000000000000
Arg [3] : _listTime (uint256): 1640991600
Arg [4] : _publicTime (uint256): 1641245880
-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 0000000000000000000000004848a07744e46bb3ea93ad4933075a4fa47b1162
Arg [1] : 000000000000000000000000ced09e759d9606d529de95fe8caa6db39853ddde
Arg [2] : 0000000000000000000000000000000000000000000000000129d2f0db856000
Arg [3] : 0000000000000000000000000000000000000000000000000000000061cf8b70
Arg [4] : 0000000000000000000000000000000000000000000000000000000061d36cb8
Deployed Bytecode Sourcemap
42637:3243:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;45300:79;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;42956:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;42674:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;45391:312;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;42889:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;44916:148;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;45200:94;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;42716:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;44680:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;45709:168;;;:::i;:::-;;44824:86;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;42815:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22606:103;;;;;;;;;;;;;:::i;:::-;;45072:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21955:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;42927:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;43385:1289;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;42850:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;42757;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;42990:46;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22864:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;45300:79;22186:12;:10;:12::i;:::-;22175:23;;:7;:5;:7::i;:::-;:23;;;22167:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;45365:6:::1;45356;;:15;;;;;;;;;;;;;;;;;;45300:79:::0;:::o;42956:25::-;;;;;;;;;;;;;:::o;42674:35::-;;;;:::o;45391:312::-;22186:12;:10;:12::i;:::-;22175:23;;:7;:5;:7::i;:::-;:23;;;22167:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;45522:8:::1;;:15;;45506:5;;:12;;:31;45498:84;;;;;;;;;;;;:::i;:::-;;;;;;;;;45597:9;45593:103;45616:5;;:12;;45612:1;:16;45593:103;;;45673:8;;45682:1;45673:11;;;;;;;;;;;;;;;;;;;;;45649;:21;45661:5;;45667:1;45661:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;45649:21;;;;;;;;;;;;;;;:35;;;;45630:3;;;;;:::i;:::-;;;;45593:103;;;;45391:312:::0;;;;:::o;42889:29::-;;;;:::o;44916:148::-;22186:12;:10;:12::i;:::-;22175:23;;:7;:5;:7::i;:::-;:23;;;22167:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;45015:10:::1;44999:13;:26;;;;45049:7;45036:10;:20;;;;44916:148:::0;;:::o;45200:94::-;22186:12;:10;:12::i;:::-;22175:23;;:7;:5;:7::i;:::-;:23;;;22167:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;45279:7:::1;45267:9;:19;;;;45200:94:::0;:::o;42716:32::-;;;;:::o;44680:118::-;44739:14;44772:11;:18;44784:5;44772:18;;;;;;;;;;;;;;;;44765:25;;44680:118;;;:::o;45709:168::-;22186:12;:10;:12::i;:::-;22175:23;;:7;:5;:7::i;:::-;:23;;;22167:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;45766:12:::1;45792:10;45784:24;;45816:21;45784:58;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;45765:77;;;45861:7;45853:16;;;::::0;::::1;;22246:1;45709:168::o:0;44824:86::-;22186:12;:10;:12::i;:::-;22175:23;;:7;:5;:7::i;:::-;:23;;;22167:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;44894:8:::1;44887:4;:15;;;;44824:86:::0;:::o;42815:26::-;;;;;;;;;;;;;:::o;22606:103::-;22186:12;:10;:12::i;:::-;22175:23;;:7;:5;:7::i;:::-;:23;;;22167:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22671:30:::1;22698:1;22671:18;:30::i;:::-;22606:103::o:0;45072:122::-;22186:12;:10;:12::i;:::-;22175:23;;:7;:5;:7::i;:::-;:23;;;22167:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;45169:17:::1;45153:13;:33;;;;45072:122:::0;:::o;21955:87::-;22001:7;22028:6;;;;;;;;;;;22021:13;;21955:87;:::o;42927:20::-;;;;;;;;;;;;;:::o;43385:1289::-;43446:14;43463:6;;;;;;;;;;;:18;;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;43446:37;;43503:6;;;;;;;;;;;43502:7;43494:27;;;;;;;;;;;;:::i;:::-;;;;;;;;;43554:1;43540:11;:15;43532:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;43609:13;;43594:11;:28;;43586:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;43689:9;;43684:1;43672:11;:13;;;;:::i;:::-;43662:6;:24;;;;:::i;:::-;:36;43654:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;43758:11;43751:4;;:18;;;;:::i;:::-;43738:9;:31;;43730:40;;;;;;43808:13;;43789:15;:32;;43781:41;;;;;;43857:10;;43838:15;:29;43835:832;;43913:13;43929:11;:23;43941:10;43929:23;;;;;;;;;;;;;;;;43913:39;;43990:5;43975:11;:20;;43967:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;44037:9;44033:261;44056:11;44052:1;:15;44033:261;;;44092:11;:23;44104:10;44092:23;;;;;;;;;;;;;;;;:25;;;;;;;;;:::i;:::-;;;;;;44136:6;;;;;;;;;;;:11;;;44148:10;44172:1;44170;:3;;;;:::i;:::-;44160:6;:14;;;;:::i;:::-;44136:39;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;44209:6;;;;;;;;;;;:11;;;44221:10;;;;;;;;;;;44249:1;44245;44243;:3;;;;:::i;:::-;:7;;;;:::i;:::-;44233:6;:18;;;;:::i;:::-;44209:43;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;44069:3;;;;;:::i;:::-;;;;44033:261;;;;43835:832;;;;44331:10;;44313:15;:28;44310:357;;;44413:10;;44395:15;:28;44387:37;;;;;;44443:9;44439:217;44462:11;44458:1;:15;44439:217;;;44498:6;;;;;;;;;;;:11;;;44510:10;44534:1;44532;:3;;;;:::i;:::-;44522:6;:14;;;;:::i;:::-;44498:39;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;44571:6;;;;;;;;;;;:11;;;44583:10;;;;;;;;;;;44611:1;44607;44605;:3;;;;:::i;:::-;:7;;;;:::i;:::-;44595:6;:18;;;;:::i;:::-;44571:43;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;44475:3;;;;;:::i;:::-;;;;44439:217;;;;44310:357;43835:832;43385:1289;;:::o;42850:32::-;;;;:::o;42757:::-;;;;:::o;42990:46::-;;;;;;;;;;;;;;;;;:::o;22864:201::-;22186:12;:10;:12::i;:::-;22175:23;;:7;:5;:7::i;:::-;:23;;;22167:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22973:1:::1;22953:22;;:8;:22;;;;22945:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;23029:28;23048:8;23029:18;:28::i;:::-;22864:201:::0;:::o;20679:98::-;20732:7;20759:10;20752:17;;20679:98;:::o;23225:191::-;23299:16;23318:6;;;;;;;;;;;23299:25;;23344:8;23335:6;;:17;;;;;;;;;;;;;;;;;;23399:8;23368:40;;23389:8;23368:40;;;;;;;;;;;;23225:191;;:::o;7:139:1:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;169:367::-;;;302:3;295:4;287:6;283:17;279:27;269:2;;320:1;317;310:12;269:2;356:6;343:20;333:30;;386:18;378:6;375:30;372:2;;;418:1;415;408:12;372:2;455:4;447:6;443:17;431:29;;509:3;501:4;493:6;489:17;479:8;475:32;472:41;469:2;;;526:1;523;516:12;469:2;259:277;;;;;:::o;559:367::-;;;692:3;685:4;677:6;673:17;669:27;659:2;;710:1;707;700:12;659:2;746:6;733:20;723:30;;776:18;768:6;765:30;762:2;;;808:1;805;798:12;762:2;845:4;837:6;833:17;821:29;;899:3;891:4;883:6;879:17;869:8;865:32;862:41;859:2;;;916:1;913;906:12;859:2;649:277;;;;;:::o;932:133::-;;1013:6;1000:20;991:29;;1029:30;1053:5;1029:30;:::i;:::-;981:84;;;;:::o;1071:139::-;;1155:6;1142:20;1133:29;;1171:33;1198:5;1171:33;:::i;:::-;1123:87;;;;:::o;1216:143::-;;1304:6;1298:13;1289:22;;1320:33;1347:5;1320:33;:::i;:::-;1279:80;;;;:::o;1365:262::-;;1473:2;1461:9;1452:7;1448:23;1444:32;1441:2;;;1489:1;1486;1479:12;1441:2;1532:1;1557:53;1602:7;1593:6;1582:9;1578:22;1557:53;:::i;:::-;1547:63;;1503:117;1431:196;;;;:::o;1633:733::-;;;;;1828:2;1816:9;1807:7;1803:23;1799:32;1796:2;;;1844:1;1841;1834:12;1796:2;1915:1;1904:9;1900:17;1887:31;1945:18;1937:6;1934:30;1931:2;;;1977:1;1974;1967:12;1931:2;2013:80;2085:7;2076:6;2065:9;2061:22;2013:80;:::i;:::-;1995:98;;;;1858:245;2170:2;2159:9;2155:18;2142:32;2201:18;2193:6;2190:30;2187:2;;;2233:1;2230;2223:12;2187:2;2269:80;2341:7;2332:6;2321:9;2317:22;2269:80;:::i;:::-;2251:98;;;;2113:246;1786:580;;;;;;;:::o;2372:256::-;;2477:2;2465:9;2456:7;2452:23;2448:32;2445:2;;;2493:1;2490;2483:12;2445:2;2536:1;2561:50;2603:7;2594:6;2583:9;2579:22;2561:50;:::i;:::-;2551:60;;2507:114;2435:193;;;;:::o;2634:262::-;;2742:2;2730:9;2721:7;2717:23;2713:32;2710:2;;;2758:1;2755;2748:12;2710:2;2801:1;2826:53;2871:7;2862:6;2851:9;2847:22;2826:53;:::i;:::-;2816:63;;2772:117;2700:196;;;;:::o;2902:284::-;;3021:2;3009:9;3000:7;2996:23;2992:32;2989:2;;;3037:1;3034;3027:12;2989:2;3080:1;3105:64;3161:7;3152:6;3141:9;3137:22;3105:64;:::i;:::-;3095:74;;3051:128;2979:207;;;;:::o;3192:407::-;;;3317:2;3305:9;3296:7;3292:23;3288:32;3285:2;;;3333:1;3330;3323:12;3285:2;3376:1;3401:53;3446:7;3437:6;3426:9;3422:22;3401:53;:::i;:::-;3391:63;;3347:117;3503:2;3529:53;3574:7;3565:6;3554:9;3550:22;3529:53;:::i;:::-;3519:63;;3474:118;3275:324;;;;;:::o;3605:118::-;3692:24;3710:5;3692:24;:::i;:::-;3687:3;3680:37;3670:53;;:::o;3729:109::-;3810:21;3825:5;3810:21;:::i;:::-;3805:3;3798:34;3788:50;;:::o;3844:161::-;3946:52;3992:5;3946:52;:::i;:::-;3941:3;3934:65;3924:81;;:::o;4011:303::-;;4174:66;4238:1;4233:3;4174:66;:::i;:::-;4167:73;;4270:8;4266:1;4261:3;4257:11;4250:29;4305:2;4300:3;4296:12;4289:19;;4157:157;;;:::o;4320:312::-;;4483:67;4547:2;4542:3;4483:67;:::i;:::-;4476:74;;4580:16;4576:1;4571:3;4567:11;4560:37;4623:2;4618:3;4614:12;4607:19;;4466:166;;;:::o;4638:370::-;;4801:67;4865:2;4860:3;4801:67;:::i;:::-;4794:74;;4898:34;4894:1;4889:3;4885:11;4878:55;4964:8;4959:2;4954:3;4950:12;4943:30;4999:2;4994:3;4990:12;4983:19;;4784:224;;;:::o;5014:316::-;;5177:67;5241:2;5236:3;5177:67;:::i;:::-;5170:74;;5274:20;5270:1;5265:3;5261:11;5254:41;5321:2;5316:3;5312:12;5305:19;;5160:170;;;:::o;5336:330::-;;5499:67;5563:2;5558:3;5499:67;:::i;:::-;5492:74;;5596:34;5592:1;5587:3;5583:11;5576:55;5657:2;5652:3;5648:12;5641:19;;5482:184;;;:::o;5672:297::-;;5852:83;5933:1;5928:3;5852:83;:::i;:::-;5845:90;;5961:1;5956:3;5952:11;5945:18;;5835:134;;;:::o;5975:371::-;;6138:67;6202:2;6197:3;6138:67;:::i;:::-;6131:74;;6235:34;6231:1;6226:3;6222:11;6215:55;6301:9;6296:2;6291:3;6287:12;6280:31;6337:2;6332:3;6328:12;6321:19;;6121:225;;;:::o;6352:313::-;;6515:67;6579:2;6574:3;6515:67;:::i;:::-;6508:74;;6612:17;6608:1;6603:3;6599:11;6592:38;6656:2;6651:3;6647:12;6640:19;;6498:167;;;:::o;6671:118::-;6758:24;6776:5;6758:24;:::i;:::-;6753:3;6746:37;6736:53;;:::o;6795:379::-;;7001:147;7144:3;7001:147;:::i;:::-;6994:154;;7165:3;7158:10;;6983:191;;;:::o;7180:222::-;;7311:2;7300:9;7296:18;7288:26;;7324:71;7392:1;7381:9;7377:17;7368:6;7324:71;:::i;:::-;7278:124;;;;:::o;7408:332::-;;7567:2;7556:9;7552:18;7544:26;;7580:71;7648:1;7637:9;7633:17;7624:6;7580:71;:::i;:::-;7661:72;7729:2;7718:9;7714:18;7705:6;7661:72;:::i;:::-;7534:206;;;;;:::o;7746:210::-;;7871:2;7860:9;7856:18;7848:26;;7884:65;7946:1;7935:9;7931:17;7922:6;7884:65;:::i;:::-;7838:118;;;;:::o;7962:252::-;;8108:2;8097:9;8093:18;8085:26;;8121:86;8204:1;8193:9;8189:17;8180:6;8121:86;:::i;:::-;8075:139;;;;:::o;8220:419::-;;8424:2;8413:9;8409:18;8401:26;;8473:9;8467:4;8463:20;8459:1;8448:9;8444:17;8437:47;8501:131;8627:4;8501:131;:::i;:::-;8493:139;;8391:248;;;:::o;8645:419::-;;8849:2;8838:9;8834:18;8826:26;;8898:9;8892:4;8888:20;8884:1;8873:9;8869:17;8862:47;8926:131;9052:4;8926:131;:::i;:::-;8918:139;;8816:248;;;:::o;9070:419::-;;9274:2;9263:9;9259:18;9251:26;;9323:9;9317:4;9313:20;9309:1;9298:9;9294:17;9287:47;9351:131;9477:4;9351:131;:::i;:::-;9343:139;;9241:248;;;:::o;9495:419::-;;9699:2;9688:9;9684:18;9676:26;;9748:9;9742:4;9738:20;9734:1;9723:9;9719:17;9712:47;9776:131;9902:4;9776:131;:::i;:::-;9768:139;;9666:248;;;:::o;9920:419::-;;10124:2;10113:9;10109:18;10101:26;;10173:9;10167:4;10163:20;10159:1;10148:9;10144:17;10137:47;10201:131;10327:4;10201:131;:::i;:::-;10193:139;;10091:248;;;:::o;10345:419::-;;10549:2;10538:9;10534:18;10526:26;;10598:9;10592:4;10588:20;10584:1;10573:9;10569:17;10562:47;10626:131;10752:4;10626:131;:::i;:::-;10618:139;;10516:248;;;:::o;10770:419::-;;10974:2;10963:9;10959:18;10951:26;;11023:9;11017:4;11013:20;11009:1;10998:9;10994:17;10987:47;11051:131;11177:4;11051:131;:::i;:::-;11043:139;;10941:248;;;:::o;11195:222::-;;11326:2;11315:9;11311:18;11303:26;;11339:71;11407:1;11396:9;11392:17;11383:6;11339:71;:::i;:::-;11293:124;;;;:::o;11423:147::-;;11561:3;11546:18;;11536:34;;;;:::o;11576:169::-;;11694:6;11689:3;11682:19;11734:4;11729:3;11725:14;11710:29;;11672:73;;;;:::o;11751:305::-;;11810:20;11828:1;11810:20;:::i;:::-;11805:25;;11844:20;11862:1;11844:20;:::i;:::-;11839:25;;11998:1;11930:66;11926:74;11923:1;11920:81;11917:2;;;12004:18;;:::i;:::-;11917:2;12048:1;12045;12041:9;12034:16;;11795:261;;;;:::o;12062:348::-;;12125:20;12143:1;12125:20;:::i;:::-;12120:25;;12159:20;12177:1;12159:20;:::i;:::-;12154:25;;12347:1;12279:66;12275:74;12272:1;12269:81;12264:1;12257:9;12250:17;12246:105;12243:2;;;12354:18;;:::i;:::-;12243:2;12402:1;12399;12395:9;12384:20;;12110:300;;;;:::o;12416:96::-;;12482:24;12500:5;12482:24;:::i;:::-;12471:35;;12461:51;;;:::o;12518:90::-;;12595:5;12588:13;12581:21;12570:32;;12560:48;;;:::o;12614:126::-;;12691:42;12684:5;12680:54;12669:65;;12659:81;;;:::o;12746:77::-;;12812:5;12801:16;;12791:32;;;:::o;12829:156::-;;12927:52;12973:5;12927:52;:::i;:::-;12914:65;;12904:81;;;:::o;12991:128::-;;13089:24;13107:5;13089:24;:::i;:::-;13076:37;;13066:53;;;:::o;13125:171::-;;13187:24;13205:5;13187:24;:::i;:::-;13178:33;;13233:4;13226:5;13223:15;13220:2;;;13241:18;;:::i;:::-;13220:2;13288:1;13281:5;13277:13;13270:20;;13168:128;;;:::o;13302:233::-;;13364:24;13382:5;13364:24;:::i;:::-;13355:33;;13410:66;13403:5;13400:77;13397:2;;;13480:18;;:::i;:::-;13397:2;13527:1;13520:5;13516:13;13509:20;;13345:190;;;:::o;13541:180::-;13589:77;13586:1;13579:88;13686:4;13683:1;13676:15;13710:4;13707:1;13700:15;13727:122;13800:24;13818:5;13800:24;:::i;:::-;13793:5;13790:35;13780:2;;13839:1;13836;13829:12;13780:2;13770:79;:::o;13855:116::-;13925:21;13940:5;13925:21;:::i;:::-;13918:5;13915:32;13905:2;;13961:1;13958;13951:12;13905:2;13895:76;:::o;13977:122::-;14050:24;14068:5;14050:24;:::i;:::-;14043:5;14040:35;14030:2;;14089:1;14086;14079:12;14030:2;14020:79;:::o
Swarm Source
ipfs://2646e74c99c7601b4e5a24246e1a2152b0ac27afbe97c727d75ad56d4ec19901
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ 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.