ETH Price: $2,686.79 (+2.61%)

Honey Comb (HONEYCOMB)
 

Overview

TokenID

4012

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Honey Comb is a gaming platform

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
HoneyComb

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 10 runs

Other Settings:
default evmVersion
File 1 of 19 : HoneyComb.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.17;
import "solmate/auth/Owned.sol";
import "dual-ownership-nft/MultisigOwnable.sol";
import "solmate/utils/LibString.sol";
import {ERC721AQueryable, ERC721A, IERC721A} from "ERC721A/extensions/ERC721AQueryable.sol";
import {IHoneyComb} from "./IHoneyComb.sol";
import {GameRegistryConsumer} from "./GameRegistry.sol";
import {Constants} from "./GameLib.sol";
contract HoneyComb is IHoneyComb, GameRegistryConsumer, ERC721AQueryable, MultisigOwnable {
using LibString for uint256;
constructor(address gameRegistry_) ERC721A("Honey Comb", "HONEYCOMB") GameRegistryConsumer(gameRegistry_) {}
// metadata URI
string public _baseTokenURI = "https://www.0xhoneyjar.xyz/";
bool public isGenerated; // once the token is generated we can append individual tokenIDs
function _baseURI() internal view override returns (string memory) {
return _baseTokenURI;
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 2 of 19 : ERC721A.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
// ERC721A Contracts v4.2.3
// Creator: Chiru Labs
pragma solidity ^0.8.4;
import './IERC721A.sol';
/**
* @dev Interface of ERC721 token receiver.
*/
interface ERC721A__IERC721Receiver {
function onERC721Received(
address operator,
address from,
uint256 tokenId,
bytes calldata data
) external returns (bytes4);
}
/**
* @title ERC721A
*
* @dev Implementation of the [ERC721](https://eips.ethereum.org/EIPS/eip-721)
* Non-Fungible Token Standard, including the Metadata extension.
* Optimized for lower gas during batch mints.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 3 of 19 : IERC721A.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
// ERC721A Contracts v4.2.3
// Creator: Chiru Labs
pragma solidity ^0.8.4;
/**
* @dev Interface of ERC721A.
*/
interface IERC721A {
/**
* The caller must own the token or be an approved operator.
*/
error ApprovalCallerNotOwnerNorApproved();
/**
* The token does not exist.
*/
error ApprovalQueryForNonexistentToken();
/**
* Cannot query the balance for the zero address.
*/
error BalanceQueryForZeroAddress();
/**
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 4 of 19 : ERC721AQueryable.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
// ERC721A Contracts v4.2.3
// Creator: Chiru Labs
pragma solidity ^0.8.4;
import './IERC721AQueryable.sol';
import '../ERC721A.sol';
/**
* @title ERC721AQueryable.
*
* @dev ERC721A subclass with convenience query functions.
*/
abstract contract ERC721AQueryable is ERC721A, IERC721AQueryable {
/**
* @dev Returns the `TokenOwnership` struct at `tokenId` without reverting.
*
* If the `tokenId` is out of bounds:
*
* - `addr = address(0)`
* - `startTimestamp = 0`
* - `burned = false`
* - `extraData = 0`
*
* If the `tokenId` is burned:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 5 of 19 : IERC721AQueryable.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
// ERC721A Contracts v4.2.3
// Creator: Chiru Labs
pragma solidity ^0.8.4;
import '../IERC721A.sol';
/**
* @dev Interface of ERC721AQueryable.
*/
interface IERC721AQueryable is IERC721A {
/**
* Invalid query range (`start` >= `stop`).
*/
error InvalidQueryRange();
/**
* @dev Returns the `TokenOwnership` struct at `tokenId` without reverting.
*
* If the `tokenId` is out of bounds:
*
* - `addr = address(0)`
* - `startTimestamp = 0`
* - `burned = false`
* - `extraData = 0`
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 6 of 19 : MultisigOwnable.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
//SPDX-License-Identifier: CC0
pragma solidity ^0.8.0;
import "@openzeppelin/contracts/access/Ownable.sol";
/*
Opensea only allows EOAs to make changes to collections,
which makes it impossible to use multisigs to secure these NFT contracts
since when you want to make changes you need to transfer ownership to an EOA, who can rug.
This contract establishes a second owner that can change the EOA owner,
this way a multisig can give ownership to an EOA and later claim it back.
*/
abstract contract MultisigOwnable is Ownable {
address public realOwner;
constructor() {
realOwner = msg.sender;
}
modifier onlyRealOwner() {
require(realOwner == msg.sender, "MultisigOwnable: caller is not the real owner");
_;
}
function transferRealOwnership(address newRealOwner) public onlyRealOwner {
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 7 of 19 : AccessControl.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.8.0) (access/AccessControl.sol)
pragma solidity ^0.8.0;
import "./IAccessControl.sol";
import "../utils/Context.sol";
import "../utils/Strings.sol";
import "../utils/introspection/ERC165.sol";
/**
* @dev Contract module that allows children to implement role-based access
* control mechanisms. This is a lightweight version that doesn't allow enumerating role
* members except through off-chain means by accessing the contract event logs. Some
* applications may benefit from on-chain enumerability, for those cases see
* {AccessControlEnumerable}.
*
* Roles are referred to by their `bytes32` identifier. These should be exposed
* in the external API and be unique. The best way to achieve this is by
* using `public constant` hash digests:
*
* ```
* bytes32 public constant MY_ROLE = keccak256("MY_ROLE");
* ```
*
* Roles can be used to represent a set of permissions. To restrict access to a
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 8 of 19 : IAccessControl.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (access/IAccessControl.sol)
pragma solidity ^0.8.0;
/**
* @dev External interface of AccessControl declared to support ERC165 detection.
*/
interface IAccessControl {
/**
* @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole`
*
* `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite
* {RoleAdminChanged} not being emitted signaling this.
*
* _Available since v3.1._
*/
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole);
/**
* @dev Emitted when `account` is granted `role`.
*
* `sender` is the account that originated the contract call, an admin role
* bearer except when using {AccessControl-_setupRole}.
*/
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 9 of 19 : Ownable.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol)
pragma solidity ^0.8.0;
import "../utils/Context.sol";
/**
* @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.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 10 of 19 : Context.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// SPDX-License-Identifier: MIT
// 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;
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 11 of 19 : Strings.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.8.0) (utils/Strings.sol)
pragma solidity ^0.8.0;
import "./math/Math.sol";
/**
* @dev String operations.
*/
library Strings {
bytes16 private constant _SYMBOLS = "0123456789abcdef";
uint8 private constant _ADDRESS_LENGTH = 20;
/**
* @dev Converts a `uint256` to its ASCII `string` decimal representation.
*/
function toString(uint256 value) internal pure returns (string memory) {
unchecked {
uint256 length = Math.log10(value) + 1;
string memory buffer = new string(length);
uint256 ptr;
/// @solidity memory-safe-assembly
assembly {
ptr := add(buffer, add(32, length))
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 12 of 19 : ERC165.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/introspection/ERC165.sol)
pragma solidity ^0.8.0;
import "./IERC165.sol";
/**
* @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) {
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 13 of 19 : IERC165.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// SPDX-License-Identifier: MIT
// 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);
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 14 of 19 : Math.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.8.0) (utils/math/Math.sol)
pragma solidity ^0.8.0;
/**
* @dev Standard math utilities missing in the Solidity language.
*/
library Math {
enum Rounding {
Down, // Toward negative infinity
Up, // Toward infinity
Zero // Toward zero
}
/**
* @dev Returns the largest of two numbers.
*/
function max(uint256 a, uint256 b) internal pure returns (uint256) {
return a > b ? a : b;
}
/**
* @dev Returns the smallest of two numbers.
*/
function min(uint256 a, uint256 b) internal pure returns (uint256) {
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 15 of 19 : Owned.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity >=0.8.0;
/// @notice Simple single owner authorization mixin.
/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/auth/Owned.sol)
abstract contract Owned {
/*//////////////////////////////////////////////////////////////
EVENTS
//////////////////////////////////////////////////////////////*/
event OwnershipTransferred(address indexed user, address indexed newOwner);
/*//////////////////////////////////////////////////////////////
OWNERSHIP STORAGE
//////////////////////////////////////////////////////////////*/
address public owner;
modifier onlyOwner() virtual {
require(msg.sender == owner, "UNAUTHORIZED");
_;
}
/*//////////////////////////////////////////////////////////////
CONSTRUCTOR
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 16 of 19 : LibString.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
pragma solidity >=0.8.0;
/// @notice Efficient library for creating string representations of integers.
/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/utils/LibString.sol)
/// @author Modified from Solady (https://github.com/Vectorized/solady/blob/main/src/utils/LibString.sol)
library LibString {
function toString(int256 value) internal pure returns (string memory str) {
if (value >= 0) return toString(uint256(value));
unchecked {
str = toString(uint256(-value));
/// @solidity memory-safe-assembly
assembly {
// Note: This is only safe because we over-allocate memory
// and write the string from right to left in toString(uint256),
// and thus can be sure that sub(str, 1) is an unused memory location.
let length := mload(str) // Load the string length.
// Put the - character at the start of the string contents.
mstore(str, 45) // 45 is the ASCII code for the - character.
str := sub(str, 1) // Move back the string pointer by a byte.
mstore(str, add(length, 1)) // Update the string length.
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 17 of 19 : GameLib.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.17;
library Constants {
// External permissions
bytes32 public constant GAME_ADMIN = "GAME_ADMIN";
bytes32 public constant BEEKEEPER = "BEEKEEPER";
bytes32 public constant JANI = "JANI";
// Contract instances
bytes32 public constant GAME_INSTANCE = "GAME_INSTANCE";
bytes32 public constant BEAR_POUCH = "BEAR_POUCH";
bytes32 public constant GATEKEEPER = "GATEKEEPER";
bytes32 public constant GATE = "GATE";
// Special honeycomb permissions
bytes32 public constant MINTER = "MINTER";
bytes32 public constant BURNER = "BURNER";
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 18 of 19 : GameRegistry.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.17;
import "@openzeppelin/contracts/access/AccessControl.sol";
import {Constants} from "./GameLib.sol";
/// @title GameRegistry
/// @notice Central repository that tracks games and permissions.
/// @dev All game contracts should use extend `GameRegistryConsumer` to have consistent permissioning
contract GameRegistry is AccessControl {
struct Game {
bool enabled;
}
uint256[] public stageTimes;
constructor() {
_setupRole(DEFAULT_ADMIN_ROLE, msg.sender);
_setupRole(Constants.GAME_ADMIN, msg.sender);
// Initial 4 stages
stageTimes.push(0 hours);
stageTimes.push(24 hours);
stageTimes.push(48 hours);
stageTimes.push(72 hours);
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 19 of 19 : IHoneyComb.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.17;
import "ERC721A/extensions/IERC721AQueryable.sol";
interface IHoneyComb is IERC721AQueryable {
function mint(address to) external returns (uint256);
function batchMint(address to, uint256 amount) external;
function burn(uint256 _id) external;
function nextTokenId() external view returns (uint256);
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Settings
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
{
"remappings": [
"@chainlink/=lib/chainlink-brownie-contracts/contracts/src/v0.8/",
"@openzeppelin/=lib/openzeppelin-contracts/",
"ERC721A/=lib/ERC721A/contracts/",
"chainlink-brownie-contracts/=lib/chainlink-brownie-contracts/contracts/src/v0.8/dev/vendor/@arbitrum/nitro-contracts/src/",
"ds-test/=lib/solmate/lib/ds-test/src/",
"dual-ownership-nft/=lib/dual-ownership-nft/contracts/",
"forge-std/=lib/forge-std/src/",
"murky/=lib/murky/src/",
"openzeppelin-contracts/=lib/murky/lib/openzeppelin-contracts/",
"solmate/=lib/solmate/src/"
],
"optimizer": {
"enabled": true,
"runs": 10
},
"metadata": {
"bytecodeHash": "ipfs"
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"gameRegistry_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ApprovalCallerNotOwnerNorApproved","type":"error"},{"inputs":[],"name":"ApprovalQueryForNonexistentToken","type":"error"},{"inputs":[],"name":"BalanceQueryForZeroAddress","type":"error"},{"inputs":[{"internalType":"string","name":"role","type":"string"},{"internalType":"address","name":"user","type":"address"}],"name":"GameRegistry_NoPermissions","type":"error"},{"inputs":[{"internalType":"uint8","name":"index","type":"uint8"}],"name":"GameRegistry_StageOutOfBounds","type":"error"},{"inputs":[],"name":"InvalidQueryRange","type":"error"},{"inputs":[],"name":"MintERC2309QuantityExceedsLimit","type":"error"},{"inputs":[],"name":"MintToZeroAddress","type":"error"},{"inputs":[],"name":"MintZeroQuantity","type":"error"},{"inputs":[],"name":"OwnerQueryForNonexistentToken","type":"error"},{"inputs":[],"name":"OwnershipNotInitializedForExtraData","type":"error"},{"inputs":[],"name":"TransferCallerNotOwnerNorApproved","type":"error"},{"inputs":[],"name":"TransferFromIncorrectOwner","type":"error"},{"inputs":[],"name":"TransferToNonERC721ReceiverImplementer","type":"error"},{"inputs":[],"name":"TransferToZeroAddress","type":"error"},{"inputs":[],"name":"URIQueryForNonexistentToken","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"fromTokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"toTokenId","type":"uint256"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"ConsecutiveTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_baseTokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"batchMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"explicitOwnershipOf","outputs":[{"components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint64","name":"startTimestamp","type":"uint64"},{"internalType":"bool","name":"burned","type":"bool"},{"internalType":"uint24","name":"extraData","type":"uint24"}],"internalType":"struct IERC721A.TokenOwnership","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}],"name":"explicitOwnershipsOf","outputs":[{"components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint64","name":"startTimestamp","type":"uint64"},{"internalType":"bool","name":"burned","type":"bool"},{"internalType":"uint24","name":"extraData","type":"uint24"}],"internalType":"struct IERC721A.TokenOwnership[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"gameRegistry","outputs":[{"internalType":"contract GameRegistry","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isGenerated","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"mint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nextTokenId","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":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"realOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"baseURI","type":"string"}],"name":"setBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"generated_","type":"bool"}],"name":"setGenerated","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"tokensOfOwner","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"stop","type":"uint256"}],"name":"tokensOfOwnerIn","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferLowerOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newRealOwner","type":"address"}],"name":"transferRealOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60c0604052601b60809081527f68747470733a2f2f7777772e3078686f6e65796a61722e78797a2f000000000060a052600b906200003e90826200021e565b503480156200004c57600080fd5b5060405162002265380380620022658339810160408190526200006f91620002ea565b806040518060400160405280600a8152602001692437b732bc9021b7b6b160b11b815250604051806040016040528060098152602001682427a722aca1a7a6a160b91b8152508160029081620000c691906200021e565b506003620000d582826200021e565b50600080555050600880546001600160a01b0319166001600160a01b03929092169190911790556200010e620001083390565b62000127565b50600a80546001600160a01b031916331790556200031c565b600980546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620001a457607f821691505b602082108103620001c557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200021957600081815260208120601f850160051c81016020861015620001f45750805b601f850160051c820191505b81811015620002155782815560010162000200565b5050505b505050565b81516001600160401b038111156200023a576200023a62000179565b62000252816200024b84546200018f565b84620001cb565b602080601f8311600181146200028a5760008415620002715750858301515b600019600386901b1c1916600185901b17855562000215565b600085815260208120601f198616915b82811015620002bb578886015182559484019460019091019084016200029a565b5085821015620002da5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215620002fd57600080fd5b81516001600160a01b03811681146200031557600080fd5b9392505050565b611f39806200032c6000396000f3fe60806040526004361061017e5760003560e01c806301ffc9a71461018357806303289bef146101b857806306fdde03146101d2578063081812fc146101f4578063095ea7b31461022c57806309af3f9a1461024157806318160ddd146102615780631df270f31461028457806323b872dd146102a45780632cff6770146102b757806342842e0e146102d757806342966c68146102ea57806343508b051461030a57806355f804b31461032a5780635bbb21771461034a5780636352211e1461037757806364c0276d146103975780636a627842146103b757806370a08231146103d7578063715018a6146103f757806375794a3c1461040c5780638462151c146104215780638da5cb5b1461044e57806395d89b411461046357806399a2557a14610478578063a22cb46514610498578063b88d4fde146104b8578063c23dc68f146104cb578063c87b56dd146104f8578063cfc86f7b14610518578063da0907551461052d578063e985e9c51461054d578063f2fde38b14610596575b600080fd5b34801561018f57600080fd5b506101a361019e3660046117b8565b6105b6565b60405190151581526020015b60405180910390f35b3480156101c457600080fd5b50600c546101a39060ff1681565b3480156101de57600080fd5b506101e7610608565b6040516101af9190611825565b34801561020057600080fd5b5061021461020f366004611838565b61069a565b6040516001600160a01b0390911681526020016101af565b61023f61023a36600461186d565b6106de565b005b34801561024d57600080fd5b5061023f61025c366004611897565b61077e565b34801561026d57600080fd5b50600154600054035b6040519081526020016101af565b34801561029057600080fd5b50600a54610214906001600160a01b031681565b61023f6102b23660046118b2565b6107bd565b3480156102c357600080fd5b5061023f6102d2366004611897565b61094e565b61023f6102e53660046118b2565b61099a565b3480156102f657600080fd5b5061023f610305366004611838565b6109ba565b34801561031657600080fd5b5061023f61032536600461186d565b610a7f565b34801561033657600080fd5b5061023f6103453660046118ee565b610b1a565b34801561035657600080fd5b5061036a61036536600461195f565b610b51565b6040516101af91906119fd565b34801561038357600080fd5b50610214610392366004611838565b610c03565b3480156103a357600080fd5b5061023f6103b2366004611a4d565b610c0e565b3480156103c357600080fd5b506102766103d2366004611897565b610c4b565b3480156103e357600080fd5b506102766103f2366004611897565b610d0a565b34801561040357600080fd5b5061023f610d58565b34801561041857600080fd5b50600054610276565b34801561042d57600080fd5b5061044161043c366004611897565b610d6c565b6040516101af9190611a6a565b34801561045a57600080fd5b50610214610e52565b34801561046f57600080fd5b506101e7610e61565b34801561048457600080fd5b50610441610493366004611aa2565b610e70565b3480156104a457600080fd5b5061023f6104b3366004611ad5565b610fe9565b61023f6104c6366004611b22565b611055565b3480156104d757600080fd5b506104eb6104e6366004611838565b61109f565b6040516101af9190611bfd565b34801561050457600080fd5b506101e7610513366004611838565b6110e2565b34801561052457600080fd5b506101e7611158565b34801561053957600080fd5b50600854610214906001600160a01b031681565b34801561055957600080fd5b506101a3610568366004611c0b565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b3480156105a257600080fd5b5061023f6105b1366004611897565b6111e6565b60006301ffc9a760e01b6001600160e01b0319831614806105e757506380ac58cd60e01b6001600160e01b03198316145b806106025750635b5e139f60e01b6001600160e01b03198316145b92915050565b60606002805461061790611c3e565b80601f016020809104026020016040519081016040528092919081815260200182805461064390611c3e565b80156106905780601f1061066557610100808354040283529160200191610690565b820191906000526020600020905b81548152906001019060200180831161067357829003601f168201915b5050505050905090565b60006106a582611253565b6106c2576040516333d1c03960e21b815260040160405180910390fd5b506000908152600660205260409020546001600160a01b031690565b60006106e982610c03565b9050336001600160a01b03821614610722576107058133610568565b610722576040516367d9dca160e11b815260040160405180910390fd5b60008281526006602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b600a546001600160a01b031633146107b15760405162461bcd60e51b81526004016107a890611c72565b60405180910390fd5b6107ba8161127a565b50565b60006107c8826112cc565b9050836001600160a01b0316816001600160a01b0316146107fb5760405162a1148160e81b815260040160405180910390fd5b600082815260066020526040902080546108278187335b6001600160a01b039081169116811491141790565b610852576108358633610568565b61085257604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b03851661087957604051633a954ecd60e21b815260040160405180910390fd5b801561088457600082555b6001600160a01b038681166000908152600560205260408082208054600019019055918716815220805460010190556108c185600160e11b611333565b600085815260046020526040812091909155600160e11b84169003610916576001840160008181526004602052604081205490036109145760005481146109145760008181526004602052604090208490555b505b83856001600160a01b0316876001600160a01b0316600080516020611ee483398151915260405160405180910390a45b505050505050565b600a546001600160a01b031633146109785760405162461bcd60e51b81526004016107a890611c72565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6109b583838360405180602001604052806000815250611055565b505050565b600854604051632474521560e21b815265212aa92722a960d11b916001600160a01b0316906391d14854906109f59084903390600401611cbf565b602060405180830381865afa158015610a12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a369190611cd6565b610a70576040805160208101839052015b60408051601f1981840301815290829052637ed408ef60e11b82526107a8913390600401611cf3565b610a7b826001611348565b5050565b600854604051632474521560e21b81526526a4a72a22a960d11b916001600160a01b0316906391d1485490610aba9084903390600401611cbf565b602060405180830381865afa158015610ad7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610afb9190611cd6565b610b1057604080516020810183905201610a47565b6109b5838361147a565b600a546001600160a01b03163314610b445760405162461bcd60e51b81526004016107a890611c72565b600b6109b5828483611d63565b6060816000816001600160401b03811115610b6e57610b6e611b0c565b604051908082528060200260200182016040528015610ba757816020015b610b9461177b565b815260200190600190039081610b8c5790505b50905060005b828114610bfa57610bd5868683818110610bc957610bc9611e23565b9050602002013561109f565b828281518110610be757610be7611e23565b6020908102919091010152600101610bad565b50949350505050565b6000610602826112cc565b600a546001600160a01b03163314610c385760405162461bcd60e51b81526004016107a890611c72565b600c805460ff1916911515919091179055565b600854604051632474521560e21b81526000916526a4a72a22a960d11b916001600160a01b03909116906391d1485490610c8b9084903390600401611cbf565b602060405180830381865afa158015610ca8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ccc9190611cd6565b610ce157604080516020810183905201610a47565b610cec83600161147a565b6001610cf760005490565b610d019190611e39565b91505b50919050565b60006001600160a01b038216610d33576040516323d3ad8160e21b815260040160405180910390fd5b506001600160a01b03166000908152600560205260409020546001600160401b031690565b610d60611562565b610d6a600061127a565b565b60606000806000610d7c85610d0a565b90506000816001600160401b03811115610d9857610d98611b0c565b604051908082528060200260200182016040528015610dc1578160200160208202803683370190505b509050610dcc61177b565b60005b838614610e4657610ddf816115c1565b91508160400151610e3e5781516001600160a01b031615610dff57815194505b876001600160a01b0316856001600160a01b031603610e3e5780838780600101985081518110610e3157610e31611e23565b6020026020010181815250505b600101610dcf565b50909695505050505050565b6009546001600160a01b031690565b60606003805461061790611c3e565b6060818310610e9257604051631960ccad60e11b815260040160405180910390fd5b600080610e9e60005490565b905080841115610eac578093505b6000610eb787610d0a565b905084861015610ed65785850381811015610ed0578091505b50610eda565b5060005b6000816001600160401b03811115610ef457610ef4611b0c565b604051908082528060200260200182016040528015610f1d578160200160208202803683370190505b50905081600003610f33579350610fe292505050565b6000610f3e8861109f565b905060008160400151610f4f575080515b885b888114158015610f615750848714155b15610fd657610f6f816115c1565b92508260400151610fce5782516001600160a01b031615610f8f57825191505b8a6001600160a01b0316826001600160a01b031603610fce5780848880600101995081518110610fc157610fc1611e23565b6020026020010181815250505b600101610f51565b50505092835250909150505b9392505050565b3360008181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6110608484846107bd565b6001600160a01b0383163b156110995761107c848484846115e1565b611099576040516368d2bf6b60e11b815260040160405180910390fd5b50505050565b6110a761177b565b6110af61177b565b60005483106110be5792915050565b6110c7836115c1565b90508060400151156110d95792915050565b610d01836116cc565b60606110ed82611253565b61110a57604051630a14c4b560e41b815260040160405180910390fd5b60006111146116e5565b600c5490915060ff166111275780610d01565b80611131846116f4565b604051602001611142929190611e5a565b6040516020818303038152906040529392505050565b600b805461116590611c3e565b80601f016020809104026020016040519081016040528092919081815260200182805461119190611c3e565b80156111de5780601f106111b3576101008083540402835291602001916111de565b820191906000526020600020905b8154815290600101906020018083116111c157829003601f168201915b505050505081565b6111ee611562565b6001600160a01b0381166107b15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107a8565b6000805482108015610602575050600090815260046020526040902054600160e01b161590565b600980546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60008160005481101561131a5760008181526004602052604081205490600160e01b82169003611318575b80600003610fe25750600019016000818152600460205260409020546112f7565b505b604051636f96cda160e11b815260040160405180910390fd5b4260a01b176001600160a01b03919091161790565b6000611353836112cc565b90508060008061137186600090815260066020526040902080549091565b9150915084156113b157611386818433610812565b6113b1576113948333610568565b6113b157604051632ce44b5f60e11b815260040160405180910390fd5b80156113bc57600082555b6001600160a01b038316600090815260056020526040902080546001600160801b030190556113ef83600360e01b611333565b600087815260046020526040812091909155600160e11b85169003611444576001860160008181526004602052604081205490036114425760005481146114425760008181526004602052604090208590555b505b60405186906000906001600160a01b03861690600080516020611ee4833981519152908390a45050600180548101905550505050565b600080549082900361149f5760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b038316600090815260056020526040902080546001600160401b0184020190556114d6836001841460e11b611333565b6000828152600460205260408120919091556001600160a01b038416908383019083908390600080516020611ee48339815191528180a4600183015b8181146115385780836000600080516020611ee4833981519152600080a4600101611512565b508160000361155957604051622e076360e81b815260040160405180910390fd5b60005550505050565b3361156b610e52565b6001600160a01b031614610d6a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107a8565b6115c961177b565b60008281526004602052604090205461060290611738565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a0290611616903390899088908890600401611e89565b6020604051808303816000875af1925050508015611651575060408051601f3d908101601f1916820190925261164e91810190611ec6565b60015b6116af573d80801561167f576040519150601f19603f3d011682016040523d82523d6000602084013e611684565b606091505b5080516000036116a7576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050949350505050565b6116d461177b565b6106026116e0836112cc565b611738565b6060600b805461061790611c3e565b606060a06040510180604052602081039150506000815280825b600183039250600a81066030018353600a90048061170e5750819003601f19909101908152919050565b61174061177b565b6001600160a01b03821681526001600160401b0360a083901c166020820152600160e01b82161515604082015260e89190911c606082015290565b60408051608081018252600080825260208201819052918101829052606081019190915290565b6001600160e01b0319811681146107ba57600080fd5b6000602082840312156117ca57600080fd5b8135610fe2816117a2565b60005b838110156117f05781810151838201526020016117d8565b50506000910152565b600081518084526118118160208601602086016117d5565b601f01601f19169290920160200192915050565b602081526000610fe260208301846117f9565b60006020828403121561184a57600080fd5b5035919050565b80356001600160a01b038116811461186857600080fd5b919050565b6000806040838503121561188057600080fd5b61188983611851565b946020939093013593505050565b6000602082840312156118a957600080fd5b610fe282611851565b6000806000606084860312156118c757600080fd5b6118d084611851565b92506118de60208501611851565b9150604084013590509250925092565b6000806020838503121561190157600080fd5b82356001600160401b038082111561191857600080fd5b818501915085601f83011261192c57600080fd5b81358181111561193b57600080fd5b86602082850101111561194d57600080fd5b60209290920196919550909350505050565b6000806020838503121561197257600080fd5b82356001600160401b038082111561198957600080fd5b818501915085601f83011261199d57600080fd5b8135818111156119ac57600080fd5b8660208260051b850101111561194d57600080fd5b80516001600160a01b031682526020808201516001600160401b03169083015260408082015115159083015260609081015162ffffff16910152565b6020808252825182820181905260009190848201906040850190845b81811015610e4657611a2c8385516119c1565b9284019260809290920191600101611a19565b80151581146107ba57600080fd5b600060208284031215611a5f57600080fd5b8135610fe281611a3f565b6020808252825182820181905260009190848201906040850190845b81811015610e4657835183529284019291840191600101611a86565b600080600060608486031215611ab757600080fd5b611ac084611851565b95602085013595506040909401359392505050565b60008060408385031215611ae857600080fd5b611af183611851565b91506020830135611b0181611a3f565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215611b3857600080fd5b611b4185611851565b9350611b4f60208601611851565b92506040850135915060608501356001600160401b0380821115611b7257600080fd5b818701915087601f830112611b8657600080fd5b813581811115611b9857611b98611b0c565b604051601f8201601f19908116603f01168101908382118183101715611bc057611bc0611b0c565b816040528281528a6020848701011115611bd957600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6080810161060282846119c1565b60008060408385031215611c1e57600080fd5b611c2783611851565b9150611c3560208401611851565b90509250929050565b600181811c90821680611c5257607f821691505b602082108103610d0457634e487b7160e01b600052602260045260246000fd5b6020808252602d908201527f4d756c74697369674f776e61626c653a2063616c6c6572206973206e6f74207460408201526c3432903932b0b61037bbb732b960991b606082015260800190565b9182526001600160a01b0316602082015260400190565b600060208284031215611ce857600080fd5b8151610fe281611a3f565b604081526000611d0660408301856117f9565b905060018060a01b03831660208301529392505050565b601f8211156109b557600081815260208120601f850160051c81016020861015611d445750805b601f850160051c820191505b8181101561094657828155600101611d50565b6001600160401b03831115611d7a57611d7a611b0c565b611d8e83611d888354611c3e565b83611d1d565b6000601f841160018114611dc25760008515611daa5750838201355b600019600387901b1c1916600186901b178355611e1c565b600083815260209020601f19861690835b82811015611df35786850135825560209485019460019092019101611dd3565b5086821015611e105760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b634e487b7160e01b600052603260045260246000fd5b8181038181111561060257634e487b7160e01b600052601160045260246000fd5b60008351611e6c8184602088016117d5565b835190830190611e808183602088016117d5565b01949350505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611ebc908301846117f9565b9695505050505050565b600060208284031215611ed857600080fd5b8151610fe2816117a256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122099914220df2e6544f524d2afbf54f67efc3eb5c73e9a75b42d68f73e54406e4764736f6c6343000811003300000000000000000000000021fdb00713c74147c2bb629de13531ab51a94b8b

Deployed Bytecode

0x60806040526004361061017e5760003560e01c806301ffc9a71461018357806303289bef146101b857806306fdde03146101d2578063081812fc146101f4578063095ea7b31461022c57806309af3f9a1461024157806318160ddd146102615780631df270f31461028457806323b872dd146102a45780632cff6770146102b757806342842e0e146102d757806342966c68146102ea57806343508b051461030a57806355f804b31461032a5780635bbb21771461034a5780636352211e1461037757806364c0276d146103975780636a627842146103b757806370a08231146103d7578063715018a6146103f757806375794a3c1461040c5780638462151c146104215780638da5cb5b1461044e57806395d89b411461046357806399a2557a14610478578063a22cb46514610498578063b88d4fde146104b8578063c23dc68f146104cb578063c87b56dd146104f8578063cfc86f7b14610518578063da0907551461052d578063e985e9c51461054d578063f2fde38b14610596575b600080fd5b34801561018f57600080fd5b506101a361019e3660046117b8565b6105b6565b60405190151581526020015b60405180910390f35b3480156101c457600080fd5b50600c546101a39060ff1681565b3480156101de57600080fd5b506101e7610608565b6040516101af9190611825565b34801561020057600080fd5b5061021461020f366004611838565b61069a565b6040516001600160a01b0390911681526020016101af565b61023f61023a36600461186d565b6106de565b005b34801561024d57600080fd5b5061023f61025c366004611897565b61077e565b34801561026d57600080fd5b50600154600054035b6040519081526020016101af565b34801561029057600080fd5b50600a54610214906001600160a01b031681565b61023f6102b23660046118b2565b6107bd565b3480156102c357600080fd5b5061023f6102d2366004611897565b61094e565b61023f6102e53660046118b2565b61099a565b3480156102f657600080fd5b5061023f610305366004611838565b6109ba565b34801561031657600080fd5b5061023f61032536600461186d565b610a7f565b34801561033657600080fd5b5061023f6103453660046118ee565b610b1a565b34801561035657600080fd5b5061036a61036536600461195f565b610b51565b6040516101af91906119fd565b34801561038357600080fd5b50610214610392366004611838565b610c03565b3480156103a357600080fd5b5061023f6103b2366004611a4d565b610c0e565b3480156103c357600080fd5b506102766103d2366004611897565b610c4b565b3480156103e357600080fd5b506102766103f2366004611897565b610d0a565b34801561040357600080fd5b5061023f610d58565b34801561041857600080fd5b50600054610276565b34801561042d57600080fd5b5061044161043c366004611897565b610d6c565b6040516101af9190611a6a565b34801561045a57600080fd5b50610214610e52565b34801561046f57600080fd5b506101e7610e61565b34801561048457600080fd5b50610441610493366004611aa2565b610e70565b3480156104a457600080fd5b5061023f6104b3366004611ad5565b610fe9565b61023f6104c6366004611b22565b611055565b3480156104d757600080fd5b506104eb6104e6366004611838565b61109f565b6040516101af9190611bfd565b34801561050457600080fd5b506101e7610513366004611838565b6110e2565b34801561052457600080fd5b506101e7611158565b34801561053957600080fd5b50600854610214906001600160a01b031681565b34801561055957600080fd5b506101a3610568366004611c0b565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b3480156105a257600080fd5b5061023f6105b1366004611897565b6111e6565b60006301ffc9a760e01b6001600160e01b0319831614806105e757506380ac58cd60e01b6001600160e01b03198316145b806106025750635b5e139f60e01b6001600160e01b03198316145b92915050565b60606002805461061790611c3e565b80601f016020809104026020016040519081016040528092919081815260200182805461064390611c3e565b80156106905780601f1061066557610100808354040283529160200191610690565b820191906000526020600020905b81548152906001019060200180831161067357829003601f168201915b5050505050905090565b60006106a582611253565b6106c2576040516333d1c03960e21b815260040160405180910390fd5b506000908152600660205260409020546001600160a01b031690565b60006106e982610c03565b9050336001600160a01b03821614610722576107058133610568565b610722576040516367d9dca160e11b815260040160405180910390fd5b60008281526006602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b600a546001600160a01b031633146107b15760405162461bcd60e51b81526004016107a890611c72565b60405180910390fd5b6107ba8161127a565b50565b60006107c8826112cc565b9050836001600160a01b0316816001600160a01b0316146107fb5760405162a1148160e81b815260040160405180910390fd5b600082815260066020526040902080546108278187335b6001600160a01b039081169116811491141790565b610852576108358633610568565b61085257604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b03851661087957604051633a954ecd60e21b815260040160405180910390fd5b801561088457600082555b6001600160a01b038681166000908152600560205260408082208054600019019055918716815220805460010190556108c185600160e11b611333565b600085815260046020526040812091909155600160e11b84169003610916576001840160008181526004602052604081205490036109145760005481146109145760008181526004602052604090208490555b505b83856001600160a01b0316876001600160a01b0316600080516020611ee483398151915260405160405180910390a45b505050505050565b600a546001600160a01b031633146109785760405162461bcd60e51b81526004016107a890611c72565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6109b583838360405180602001604052806000815250611055565b505050565b600854604051632474521560e21b815265212aa92722a960d11b916001600160a01b0316906391d14854906109f59084903390600401611cbf565b602060405180830381865afa158015610a12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a369190611cd6565b610a70576040805160208101839052015b60408051601f1981840301815290829052637ed408ef60e11b82526107a8913390600401611cf3565b610a7b826001611348565b5050565b600854604051632474521560e21b81526526a4a72a22a960d11b916001600160a01b0316906391d1485490610aba9084903390600401611cbf565b602060405180830381865afa158015610ad7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610afb9190611cd6565b610b1057604080516020810183905201610a47565b6109b5838361147a565b600a546001600160a01b03163314610b445760405162461bcd60e51b81526004016107a890611c72565b600b6109b5828483611d63565b6060816000816001600160401b03811115610b6e57610b6e611b0c565b604051908082528060200260200182016040528015610ba757816020015b610b9461177b565b815260200190600190039081610b8c5790505b50905060005b828114610bfa57610bd5868683818110610bc957610bc9611e23565b9050602002013561109f565b828281518110610be757610be7611e23565b6020908102919091010152600101610bad565b50949350505050565b6000610602826112cc565b600a546001600160a01b03163314610c385760405162461bcd60e51b81526004016107a890611c72565b600c805460ff1916911515919091179055565b600854604051632474521560e21b81526000916526a4a72a22a960d11b916001600160a01b03909116906391d1485490610c8b9084903390600401611cbf565b602060405180830381865afa158015610ca8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ccc9190611cd6565b610ce157604080516020810183905201610a47565b610cec83600161147a565b6001610cf760005490565b610d019190611e39565b91505b50919050565b60006001600160a01b038216610d33576040516323d3ad8160e21b815260040160405180910390fd5b506001600160a01b03166000908152600560205260409020546001600160401b031690565b610d60611562565b610d6a600061127a565b565b60606000806000610d7c85610d0a565b90506000816001600160401b03811115610d9857610d98611b0c565b604051908082528060200260200182016040528015610dc1578160200160208202803683370190505b509050610dcc61177b565b60005b838614610e4657610ddf816115c1565b91508160400151610e3e5781516001600160a01b031615610dff57815194505b876001600160a01b0316856001600160a01b031603610e3e5780838780600101985081518110610e3157610e31611e23565b6020026020010181815250505b600101610dcf565b50909695505050505050565b6009546001600160a01b031690565b60606003805461061790611c3e565b6060818310610e9257604051631960ccad60e11b815260040160405180910390fd5b600080610e9e60005490565b905080841115610eac578093505b6000610eb787610d0a565b905084861015610ed65785850381811015610ed0578091505b50610eda565b5060005b6000816001600160401b03811115610ef457610ef4611b0c565b604051908082528060200260200182016040528015610f1d578160200160208202803683370190505b50905081600003610f33579350610fe292505050565b6000610f3e8861109f565b905060008160400151610f4f575080515b885b888114158015610f615750848714155b15610fd657610f6f816115c1565b92508260400151610fce5782516001600160a01b031615610f8f57825191505b8a6001600160a01b0316826001600160a01b031603610fce5780848880600101995081518110610fc157610fc1611e23565b6020026020010181815250505b600101610f51565b50505092835250909150505b9392505050565b3360008181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6110608484846107bd565b6001600160a01b0383163b156110995761107c848484846115e1565b611099576040516368d2bf6b60e11b815260040160405180910390fd5b50505050565b6110a761177b565b6110af61177b565b60005483106110be5792915050565b6110c7836115c1565b90508060400151156110d95792915050565b610d01836116cc565b60606110ed82611253565b61110a57604051630a14c4b560e41b815260040160405180910390fd5b60006111146116e5565b600c5490915060ff166111275780610d01565b80611131846116f4565b604051602001611142929190611e5a565b6040516020818303038152906040529392505050565b600b805461116590611c3e565b80601f016020809104026020016040519081016040528092919081815260200182805461119190611c3e565b80156111de5780601f106111b3576101008083540402835291602001916111de565b820191906000526020600020905b8154815290600101906020018083116111c157829003601f168201915b505050505081565b6111ee611562565b6001600160a01b0381166107b15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107a8565b6000805482108015610602575050600090815260046020526040902054600160e01b161590565b600980546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60008160005481101561131a5760008181526004602052604081205490600160e01b82169003611318575b80600003610fe25750600019016000818152600460205260409020546112f7565b505b604051636f96cda160e11b815260040160405180910390fd5b4260a01b176001600160a01b03919091161790565b6000611353836112cc565b90508060008061137186600090815260066020526040902080549091565b9150915084156113b157611386818433610812565b6113b1576113948333610568565b6113b157604051632ce44b5f60e11b815260040160405180910390fd5b80156113bc57600082555b6001600160a01b038316600090815260056020526040902080546001600160801b030190556113ef83600360e01b611333565b600087815260046020526040812091909155600160e11b85169003611444576001860160008181526004602052604081205490036114425760005481146114425760008181526004602052604090208590555b505b60405186906000906001600160a01b03861690600080516020611ee4833981519152908390a45050600180548101905550505050565b600080549082900361149f5760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b038316600090815260056020526040902080546001600160401b0184020190556114d6836001841460e11b611333565b6000828152600460205260408120919091556001600160a01b038416908383019083908390600080516020611ee48339815191528180a4600183015b8181146115385780836000600080516020611ee4833981519152600080a4600101611512565b508160000361155957604051622e076360e81b815260040160405180910390fd5b60005550505050565b3361156b610e52565b6001600160a01b031614610d6a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107a8565b6115c961177b565b60008281526004602052604090205461060290611738565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a0290611616903390899088908890600401611e89565b6020604051808303816000875af1925050508015611651575060408051601f3d908101601f1916820190925261164e91810190611ec6565b60015b6116af573d80801561167f576040519150601f19603f3d011682016040523d82523d6000602084013e611684565b606091505b5080516000036116a7576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050949350505050565b6116d461177b565b6106026116e0836112cc565b611738565b6060600b805461061790611c3e565b606060a06040510180604052602081039150506000815280825b600183039250600a81066030018353600a90048061170e5750819003601f19909101908152919050565b61174061177b565b6001600160a01b03821681526001600160401b0360a083901c166020820152600160e01b82161515604082015260e89190911c606082015290565b60408051608081018252600080825260208201819052918101829052606081019190915290565b6001600160e01b0319811681146107ba57600080fd5b6000602082840312156117ca57600080fd5b8135610fe2816117a2565b60005b838110156117f05781810151838201526020016117d8565b50506000910152565b600081518084526118118160208601602086016117d5565b601f01601f19169290920160200192915050565b602081526000610fe260208301846117f9565b60006020828403121561184a57600080fd5b5035919050565b80356001600160a01b038116811461186857600080fd5b919050565b6000806040838503121561188057600080fd5b61188983611851565b946020939093013593505050565b6000602082840312156118a957600080fd5b610fe282611851565b6000806000606084860312156118c757600080fd5b6118d084611851565b92506118de60208501611851565b9150604084013590509250925092565b6000806020838503121561190157600080fd5b82356001600160401b038082111561191857600080fd5b818501915085601f83011261192c57600080fd5b81358181111561193b57600080fd5b86602082850101111561194d57600080fd5b60209290920196919550909350505050565b6000806020838503121561197257600080fd5b82356001600160401b038082111561198957600080fd5b818501915085601f83011261199d57600080fd5b8135818111156119ac57600080fd5b8660208260051b850101111561194d57600080fd5b80516001600160a01b031682526020808201516001600160401b03169083015260408082015115159083015260609081015162ffffff16910152565b6020808252825182820181905260009190848201906040850190845b81811015610e4657611a2c8385516119c1565b9284019260809290920191600101611a19565b80151581146107ba57600080fd5b600060208284031215611a5f57600080fd5b8135610fe281611a3f565b6020808252825182820181905260009190848201906040850190845b81811015610e4657835183529284019291840191600101611a86565b600080600060608486031215611ab757600080fd5b611ac084611851565b95602085013595506040909401359392505050565b60008060408385031215611ae857600080fd5b611af183611851565b91506020830135611b0181611a3f565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215611b3857600080fd5b611b4185611851565b9350611b4f60208601611851565b92506040850135915060608501356001600160401b0380821115611b7257600080fd5b818701915087601f830112611b8657600080fd5b813581811115611b9857611b98611b0c565b604051601f8201601f19908116603f01168101908382118183101715611bc057611bc0611b0c565b816040528281528a6020848701011115611bd957600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6080810161060282846119c1565b60008060408385031215611c1e57600080fd5b611c2783611851565b9150611c3560208401611851565b90509250929050565b600181811c90821680611c5257607f821691505b602082108103610d0457634e487b7160e01b600052602260045260246000fd5b6020808252602d908201527f4d756c74697369674f776e61626c653a2063616c6c6572206973206e6f74207460408201526c3432903932b0b61037bbb732b960991b606082015260800190565b9182526001600160a01b0316602082015260400190565b600060208284031215611ce857600080fd5b8151610fe281611a3f565b604081526000611d0660408301856117f9565b905060018060a01b03831660208301529392505050565b601f8211156109b557600081815260208120601f850160051c81016020861015611d445750805b601f850160051c820191505b8181101561094657828155600101611d50565b6001600160401b03831115611d7a57611d7a611b0c565b611d8e83611d888354611c3e565b83611d1d565b6000601f841160018114611dc25760008515611daa5750838201355b600019600387901b1c1916600186901b178355611e1c565b600083815260209020601f19861690835b82811015611df35786850135825560209485019460019092019101611dd3565b5086821015611e105760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b634e487b7160e01b600052603260045260246000fd5b8181038181111561060257634e487b7160e01b600052601160045260246000fd5b60008351611e6c8184602088016117d5565b835190830190611e808183602088016117d5565b01949350505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611ebc908301846117f9565b9695505050505050565b600060208284031215611ed857600080fd5b8151610fe2816117a256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122099914220df2e6544f524d2afbf54f67efc3eb5c73e9a75b42d68f73e54406e4764736f6c63430008110033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000021fdb00713c74147c2bb629de13531ab51a94b8b

-----Decoded View---------------
Arg [0] : gameRegistry_ (address): 0x21FDb00713C74147c2BB629De13531Ab51a94b8B

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000021fdb00713c74147c2bb629de13531ab51a94b8b


Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.