Polygon Sponsored slots available. Book your slot here!
Contract Overview
Balance:
0 MATIC
MATIC Value:
$0.00
My Name Tag:
Not Available, login to update
[ Download CSV Export ]
Latest 25 internal transaction
[ Download CSV Export ]
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Name:
DixelClubV2Factory
Compiler Version
v0.8.13+commit.abaa5c0e
Optimization Enabled:
Yes with 1500 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: BSD-3-Clause pragma solidity ^0.8.13; import "@openzeppelin/contracts/access/Ownable.sol"; import "./lib/StringUtils.sol"; import "./Constants.sol"; import "./Shared.sol"; import "./IDixelClubV2NFT.sol"; contract DixelClubV2Factory is Constants, Ownable { error DixelClubV2Factory__BlankedName(); error DixelClubV2Factory__BlankedSymbol(); error DixelClubV2Factory__DescriptionTooLong(); error DixelClubV2Factory__InvalidMaxSupply(); error DixelClubV2Factory__InvalidRoyalty(); error DixelClubV2Factory__InvalidCreationFee(); error DixelClubV2Factory__ZeroAddress(); error DixelClubV2Factory__InvalidFee(); /** * EIP-1167: Minimal Proxy Contract - ERC721 Token implementation contract * REF: https://github.com/optionality/clone-factory */ address public nftImplementation; address public beneficiary = address(0x82CA6d313BffE56E9096b16633dfD414148D66b1); uint256 public creationFee = 0.1 ether; // need to be updated for each chain uint256 public mintingFee = 500; // 5%; // Array of all created nft collections address[] public collections; event CollectionCreated(address indexed nftAddress, string name, string symbol); constructor(address DixelClubV2NFTImpl) { nftImplementation = DixelClubV2NFTImpl; } function _createClone(address target) private returns (address result) { bytes20 targetBytes = bytes20(target); assembly { let clone := mload(0x40) mstore(clone, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000) mstore(add(clone, 0x14), targetBytes) mstore(add(clone, 0x28), 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000) result := create(0, clone, 0x37) } } function createCollection( string calldata name, string calldata symbol, string calldata description, Shared.MetaData memory metaData, uint24[PALETTE_SIZE] calldata palette, uint8[PIXEL_ARRAY_SIZE] calldata pixels ) external payable returns (address) { if(msg.value != creationFee) revert DixelClubV2Factory__InvalidCreationFee(); if(bytes(name).length == 0) revert DixelClubV2Factory__BlankedName(); if(bytes(symbol).length == 0) revert DixelClubV2Factory__BlankedSymbol(); if(bytes(description).length > 1000) revert DixelClubV2Factory__DescriptionTooLong(); // ~900 gas per character if(metaData.maxSupply == 0 || metaData.maxSupply > MAX_SUPPLY) revert DixelClubV2Factory__InvalidMaxSupply(); if(metaData.royaltyFriction > MAX_ROYALTY_FRACTION) revert DixelClubV2Factory__InvalidRoyalty(); // Neutralize minting starts date if (metaData.mintingBeginsFrom < block.timestamp) { metaData.mintingBeginsFrom = uint40(block.timestamp); } if (creationFee > 0) { // Send fee to the beneficiary (bool sent, ) = beneficiary.call{ value: creationFee }(""); require(sent, "CREATION_FEE_TRANSFER_FAILED"); } address nftAddress = _createClone(nftImplementation); IDixelClubV2NFT newNFT = IDixelClubV2NFT(nftAddress); newNFT.init(msg.sender, name, symbol, description, metaData, palette, pixels); collections.push(nftAddress); emit CollectionCreated(nftAddress, name, symbol); return nftAddress; } // MARK: Admin functions // Admin functions to add a NFT to the collections manually for migration function addCollection(address nftAddress) external onlyOwner { collections.push(nftAddress); } // This will update NFT contract implementaion and it won't affect existing collections function updateImplementation(address newImplementation) external onlyOwner { nftImplementation = newImplementation; } function updateBeneficiary(address newAddress) external onlyOwner { if(newAddress == address(0)) revert DixelClubV2Factory__ZeroAddress(); beneficiary = newAddress; } function updateMintingFee(uint256 newMintingFee) external onlyOwner { if(newMintingFee > FRICTION_BASE) revert DixelClubV2Factory__InvalidFee(); mintingFee = newMintingFee; } function updateCreationFee(uint256 newCreationFee) external onlyOwner { creationFee = newCreationFee; } // MARK: - Utility functions function collectionCount() external view returns (uint256) { return collections.length; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (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. */ 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); } }
// SPDX-License-Identifier: BSD-3-Clause import "@openzeppelin/contracts/utils/Strings.sol"; pragma solidity ^0.8.13; library StringUtils { function address2str(address addr) internal pure returns (string memory) { return Strings.toHexString(uint160(addr), 20); } }
// SPDX-License-Identifier: BSD-3-Clause pragma solidity ^0.8.13; abstract contract Constants { uint256 public constant MAX_SUPPLY = 1000000; // 1M hardcap max uint256 public constant MAX_ROYALTY_FRACTION = 1000; // 10% uint256 public constant FRICTION_BASE = 10000; uint256 internal constant PALETTE_SIZE = 16; // 16 colors max - equal to the data type max value of CANVAS_SIZE (2^8 = 16) uint256 internal constant CANVAS_SIZE = 24; // 24x24 pixels uint256 internal constant TOTAL_PIXEL_COUNT = CANVAS_SIZE * CANVAS_SIZE; // 24x24 uint256 internal constant PIXEL_ARRAY_SIZE = TOTAL_PIXEL_COUNT / 2; // packing 2 pixels in each uint8 }
// SPDX-License-Identifier: BSD-3-Clause pragma solidity ^0.8.13; library Shared { struct MetaData { bool whitelistOnly; bool hidden; uint24 maxSupply; // can be minted up to MAX_SUPPLY uint24 royaltyFriction; // used for `royaltyInfo` (ERC2981) and `seller_fee_basis_points` (Opeansea's Contract-level metadata) uint40 mintingBeginsFrom; // Timestamp that minting event begins uint152 mintingCost; // Native token (ETH, BNB, KLAY, etc) } }
// SPDX-License-Identifier: BSD-3-Clause pragma solidity ^0.8.13; import "./Shared.sol"; interface IDixelClubV2NFT { function init( address owner_, string calldata name_, string calldata symbol_, string calldata description_, Shared.MetaData calldata metaData_, uint24[16] calldata palette_, uint8[288] calldata pixels_ ) external; }
// 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; } }
// SPDX-License-Identifier: MIT // 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); } }
{ "optimizer": { "enabled": true, "runs": 1500 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"DixelClubV2NFTImpl","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"DixelClubV2Factory__BlankedName","type":"error"},{"inputs":[],"name":"DixelClubV2Factory__BlankedSymbol","type":"error"},{"inputs":[],"name":"DixelClubV2Factory__DescriptionTooLong","type":"error"},{"inputs":[],"name":"DixelClubV2Factory__InvalidCreationFee","type":"error"},{"inputs":[],"name":"DixelClubV2Factory__InvalidFee","type":"error"},{"inputs":[],"name":"DixelClubV2Factory__InvalidMaxSupply","type":"error"},{"inputs":[],"name":"DixelClubV2Factory__InvalidRoyalty","type":"error"},{"inputs":[],"name":"DixelClubV2Factory__ZeroAddress","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"nftAddress","type":"address"},{"indexed":false,"internalType":"string","name":"name","type":"string"},{"indexed":false,"internalType":"string","name":"symbol","type":"string"}],"name":"CollectionCreated","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"},{"inputs":[],"name":"FRICTION_BASE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_ROYALTY_FRACTION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"nftAddress","type":"address"}],"name":"addCollection","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"beneficiary","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"collectionCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"collections","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"string","name":"description","type":"string"},{"components":[{"internalType":"bool","name":"whitelistOnly","type":"bool"},{"internalType":"bool","name":"hidden","type":"bool"},{"internalType":"uint24","name":"maxSupply","type":"uint24"},{"internalType":"uint24","name":"royaltyFriction","type":"uint24"},{"internalType":"uint40","name":"mintingBeginsFrom","type":"uint40"},{"internalType":"uint152","name":"mintingCost","type":"uint152"}],"internalType":"struct Shared.MetaData","name":"metaData","type":"tuple"},{"internalType":"uint24[16]","name":"palette","type":"uint24[16]"},{"internalType":"uint8[288]","name":"pixels","type":"uint8[288]"}],"name":"createCollection","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"creationFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mintingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nftImplementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"updateBeneficiary","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newCreationFee","type":"uint256"}],"name":"updateCreationFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"name":"updateImplementation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMintingFee","type":"uint256"}],"name":"updateMintingFee","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
6080604052600280546001600160a01b0319167382ca6d313bffe56e9096b16633dfd414148d66b117905567016345785d8a00006003556101f460045534801561004857600080fd5b506040516111c73803806111c7833981016040819052610067916100e5565b61007033610095565b600180546001600160a01b0319166001600160a01b0392909216919091179055610115565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100f757600080fd5b81516001600160a01b038116811461010e57600080fd5b9392505050565b6110a3806101246000396000f3fe6080604052600436106101295760003560e01c80638da5cb5b116100a5578063d57f966b11610074578063f2fde38b11610059578063f2fde38b146102e5578063f61ac58b14610305578063fdbda0ec1461032557600080fd5b8063d57f966b146102ba578063dce0b4e4146102cf57600080fd5b80638da5cb5b14610249578063a174e77a14610267578063c0275a2514610287578063d0936c43146102a757600080fd5b80633963d7eb116100fc5780636fa23795116100e15780636fa23795146101fe578063715018a61461021e5780638aae790e1461023357600080fd5b80633963d7eb146101d25780635a64ad95146101e857600080fd5b8063025b22bc1461012e5780630aaffd2a1461015057806332cb6b0c1461017057806338af3eed1461019a575b600080fd5b34801561013a57600080fd5b5061014e610149366004610c1c565b610345565b005b34801561015c57600080fd5b5061014e61016b366004610c1c565b6103d3565b34801561017c57600080fd5b50610187620f424081565b6040519081526020015b60405180910390f35b3480156101a657600080fd5b506002546101ba906001600160a01b031681565b6040516001600160a01b039091168152602001610191565b3480156101de57600080fd5b506101876103e881565b3480156101f457600080fd5b5061018760045481565b34801561020a57600080fd5b5061014e610219366004610c4c565b61049c565b34801561022a57600080fd5b5061014e6104fb565b34801561023f57600080fd5b5061018761271081565b34801561025557600080fd5b506000546001600160a01b03166101ba565b34801561027357600080fd5b5061014e610282366004610c1c565b610561565b34801561029357600080fd5b5061014e6102a2366004610c4c565b61061a565b6101ba6102b5366004610d38565b6106b5565b3480156102c657600080fd5b50600554610187565b3480156102db57600080fd5b5061018760035481565b3480156102f157600080fd5b5061014e610300366004610c1c565b610a4a565b34801561031157600080fd5b506001546101ba906001600160a01b031681565b34801561033157600080fd5b506101ba610340366004610c4c565b610b2c565b6000546001600160a01b031633146103a45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461042d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161039b565b6001600160a01b03811661046d576040517f35dcc6a400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6000546001600160a01b031633146104f65760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161039b565b600355565b6000546001600160a01b031633146105555760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161039b565b61055f6000610b56565b565b6000546001600160a01b031633146105bb5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161039b565b600580546001810182556000919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6000546001600160a01b031633146106745760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161039b565b6127108111156106b0576040517ff3da6af800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600455565b600060035434146106f2576040517f1378c9d900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600089900361072d576040517f5902e41500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000879003610768576040517f148d340500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6103e88511156107a4576040517f5de678da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604084015162ffffff1615806107c55750620f4240846040015162ffffff16115b156107fc576040517f893c8e8e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6103e8846060015162ffffff161115610841576040517fb0fe2b0900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b42846080015164ffffffffff1610156108625764ffffffffff421660808501525b60035415610911576002546003546040516000926001600160a01b031691908381818185875af1925050503d80600081146108b9576040519150601f19603f3d011682016040523d82523d6000602084013e6108be565b606091505b505090508061090f5760405162461bcd60e51b815260206004820152601c60248201527f4352454154494f4e5f4645455f5452414e534645525f4641494c454400000000604482015260640161039b565b505b600154600090610929906001600160a01b0316610bb3565b90506000819050806001600160a01b0316630b9001c9338e8e8e8e8e8e8e8e8e6040518b63ffffffff1660e01b815260040161096e9a99989796959493929190610f59565b600060405180830381600087803b15801561098857600080fd5b505af115801561099c573d6000803e3d6000fd5b5050600580546001810182556000919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0386169081179091556040519092507f3454b57f2dca4f5a54e8358d096ac9d1a0d2dab98991ddb89ff9ea17462606179150610a33908f908f908f908f9061103b565b60405180910390a2509a9950505050505050505050565b6000546001600160a01b03163314610aa45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161039b565b6001600160a01b038116610b205760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161039b565b610b2981610b56565b50565b60058181548110610b3c57600080fd5b6000918252602090912001546001600160a01b0316905081565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000808260601b90506040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528160148201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060288201526037816000f0949350505050565b600060208284031215610c2e57600080fd5b81356001600160a01b0381168114610c4557600080fd5b9392505050565b600060208284031215610c5e57600080fd5b5035919050565b60008083601f840112610c7757600080fd5b50813567ffffffffffffffff811115610c8f57600080fd5b602083019150836020828501011115610ca757600080fd5b9250929050565b80358015158114610cbe57600080fd5b919050565b803562ffffff81168114610cbe57600080fd5b803564ffffffffff81168114610cbe57600080fd5b803572ffffffffffffffffffffffffffffffffffffff81168114610cbe57600080fd5b806102008101831015610d2057600080fd5b92915050565b806124008101831015610d2057600080fd5b6000806000806000806000806000898b03612720811215610d5857600080fd5b8a3567ffffffffffffffff80821115610d7057600080fd5b610d7c8e838f01610c65565b909c509a5060208d0135915080821115610d9557600080fd5b610da18e838f01610c65565b909a50985060408d0135915080821115610dba57600080fd5b610dc68e838f01610c65565b909850965086915060c0605f1984011215610de057600080fd5b604051925060c0830191508282108183111715610e26577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b50604052610e3660608c01610cae565b8152610e4460808c01610cae565b6020820152610e5560a08c01610cc3565b6040820152610e6660c08c01610cc3565b6060820152610e7760e08c01610cd6565b6080820152610e896101008c01610ceb565b60a08201529250610e9e8b6101208c01610d0e565b9150610eae8b6103208c01610d26565b90509295985092959850929598565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8060005b6010811015610f165762ffffff610f0083610cc3565b1684526020938401939190910190600101610eea565b50505050565b806000805b610120811015610f5257823560ff8116808214610f3c578384fd5b8652506020948501949290920191600101610f21565b5050505050565b60006127406001600160a01b038d168352806020840152610f7d8184018c8e610ebd565b90508281036040840152610f92818a8c610ebd565b90508281036060840152610fa781888a610ebd565b9150508451151560808301526020850151151560a0830152604085015162ffffff80821660c08501528060608801511660e0850152505064ffffffffff60808601511661010083015272ffffffffffffffffffffffffffffffffffffff60a08601511661012083015261101e610140830185610ee6565b61102c610340830184610f1c565b9b9a5050505050505050505050565b60408152600061104f604083018688610ebd565b8281036020840152611062818587610ebd565b97965050505050505056fea26469706673582212209d29bdbbde34923358b36dbd9b0c3642636263f3eae54c32ba98e4112df20b8864736f6c634300080d00330000000000000000000000001bd78fd584e315fb0593d643a3e242bc37c4d615
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000001bd78fd584e315fb0593d643a3e242bc37c4d615
-----Decoded View---------------
Arg [0] : DixelClubV2NFTImpl (address): 0x1bd78fd584e315fb0593d643a3e242bc37c4d615
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000001bd78fd584e315fb0593d643a3e242bc37c4d615
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.