Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 476 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Set Approval For... | 17504970 | 626 days ago | IN | 0 ETH | 0.00033315 | ||||
Set Approval For... | 16992126 | 698 days ago | IN | 0 ETH | 0.00156281 | ||||
Set Approval For... | 16558273 | 759 days ago | IN | 0 ETH | 0.00062989 | ||||
Set Approval For... | 16522201 | 764 days ago | IN | 0 ETH | 0.00054044 | ||||
Set Approval For... | 15892985 | 852 days ago | IN | 0 ETH | 0.00066844 | ||||
Set Approval For... | 15431886 | 919 days ago | IN | 0 ETH | 0.00048746 | ||||
Set Approval For... | 15340842 | 933 days ago | IN | 0 ETH | 0.00113599 | ||||
Set Approval For... | 15290542 | 941 days ago | IN | 0 ETH | 0.00055738 | ||||
Set Approval For... | 15220279 | 952 days ago | IN | 0 ETH | 0.00090822 | ||||
Set Approval For... | 15173070 | 959 days ago | IN | 0 ETH | 0.00211157 | ||||
Set Approval For... | 15121622 | 967 days ago | IN | 0 ETH | 0.00052942 | ||||
Set Approval For... | 15102652 | 970 days ago | IN | 0 ETH | 0.00246262 | ||||
Set Approval For... | 15064974 | 976 days ago | IN | 0 ETH | 0.00065621 | ||||
Set Approval For... | 15041755 | 980 days ago | IN | 0 ETH | 0.00199714 | ||||
Set Approval For... | 15012500 | 986 days ago | IN | 0 ETH | 0.00092184 | ||||
Set Approval For... | 15008441 | 986 days ago | IN | 0 ETH | 0.00352135 | ||||
Set Approval For... | 14986843 | 990 days ago | IN | 0 ETH | 0.00225589 | ||||
Set Approval For... | 14928669 | 1000 days ago | IN | 0 ETH | 0.0011867 | ||||
Set Approval For... | 14919049 | 1002 days ago | IN | 0 ETH | 0.0015238 | ||||
Set Approval For... | 14899897 | 1005 days ago | IN | 0 ETH | 0.00235767 | ||||
Set Approval For... | 14873578 | 1009 days ago | IN | 0 ETH | 0.0010862 | ||||
Set Approval For... | 14771654 | 1026 days ago | IN | 0 ETH | 0.00073703 | ||||
Set Approval For... | 14738597 | 1031 days ago | IN | 0 ETH | 0.00104577 | ||||
Set Approval For... | 14728799 | 1033 days ago | IN | 0 ETH | 0.00118046 | ||||
Set Approval For... | 14725929 | 1033 days ago | IN | 0 ETH | 0.00146825 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
GoldenPass
Compiler Version
v0.8.11+commit.d7f03943
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: AGPL-3.0-only pragma solidity >=0.8.4; import {ERC1155} from "@solmate/tokens/ERC1155.sol"; import {Ownable} from "@openzeppelin/access/Ownable.sol"; import {MerkleProof} from "@openzeppelin/utils/cryptography/MerkleProof.sol"; import {Strings} from "@openzeppelin/utils/Strings.sol"; import {IOddworx} from "$/IOddworx.sol"; import {IOddworxStaking} from "$/IOddworxStaking.sol"; interface IGoldenPass { function burn(address from, uint256 amount) external; } // slither-disable-next-line missing-inheritance contract GoldenPass is IGoldenPass, ERC1155, Ownable { using Strings for uint8; using Strings for uint160; /// @dev 0x843ce46b error InvalidClaimAmount(); /// @dev 0xb05e92fa error InvalidMerkleProof(); /// @dev 0xb36c1284 error MaxSupply(); /// @dev 0x59907813 error OnlyController(); /// @dev 0xa6802b50 error PresaleOff(); /// @dev 0xf81942c9 error ReachedMaxPerTx(); /// @dev 0x3afc8ce9 error SaleOff(); // Immutable uint256 public constant TOTAL_TOKENS_AVAILABLE = 500; uint256 public constant MAX_PER_TX = 1; /// @dev price in ODDX uint256 public constant UNIT_PRICE = 300 ether; IOddworxStaking public immutable oddxStaking; bytes32 public immutable merkleRoot; address private genzeeAddress; // Mutable bool public isPresaleActive = false; uint256 public totalSupply = 0; bool public isSaleActive = false; string private _uri; /// @dev we know no one is allow-listed to claim more than 255, and we /// found out uint8 was cheaper than other uints by trial mapping(address => uint8) public amountClaimedByUser; /// @dev addresses authorized to burn tokens mapping(address => bool) public isController; // Constructor constructor( IOddworxStaking oddxStaking_, address genzeeAddress_, string memory uri_, bytes32 merkleRoot_ ) { oddxStaking = oddxStaking_; genzeeAddress = genzeeAddress_; _uri = uri_; merkleRoot = merkleRoot_; } // Modifier modifier onlyController() { if (!isController[msg.sender]) revert OnlyController(); _; } // Owner Only function setURI(string calldata newUri) external onlyOwner { _uri = newUri; } function setIsSaleActive(bool newIsSaleActive) external onlyOwner { isSaleActive = newIsSaleActive; } function setIsPresaleActive(bool newIsPresaleActive) external onlyOwner { isPresaleActive = newIsPresaleActive; } function setIsController(address controller, bool newIsController) external onlyOwner { isController[controller] = newIsController; } // Controller Only function burn(address from, uint256 amount) external onlyController { _burn(from, 1, amount); // totalSupply is not decremented because otherwise people will be able // to mint after the limit is reached } // User /// @notice Mint function to be used on presale by addresses in the allow-list. /// Caller should have enough ODDX. function premint( uint8 amount, uint8 totalAmount, uint256[] calldata nftIds, bytes32[] calldata proof ) external { if (!isPresaleActive) revert PresaleOff(); unchecked { totalSupply += amount; if (totalSupply > TOTAL_TOKENS_AVAILABLE) revert MaxSupply(); if (amountClaimedByUser[msg.sender] + amount > totalAmount) revert InvalidClaimAmount(); // disabling slither reentrancy check cuz we trust ODDX // slither-disable-next-line reentrancy-no-eth oddxStaking.buyItem(0x0103, amount * UNIT_PRICE, genzeeAddress, nftIds, msg.sender); } // Check proof bytes32 leaf = keccak256( abi.encodePacked( uint160(msg.sender).toHexString(20), ":", totalAmount.toString() ) ); bool isProofValid = MerkleProof.verify(proof, merkleRoot, leaf); if (!isProofValid) revert InvalidMerkleProof(); // This is not before the proof check cuz it will add 20k extra gas cost // if the user doesn't have the token already unchecked { amountClaimedByUser[msg.sender] += amount; } _mint(msg.sender, 1, amount, ""); } /// @notice Mint function to be used on public sale, anyone can call this. /// Caller should have enough ODDX. function mint(uint256 amount, uint256[] calldata nftIds) external { if (!isSaleActive) revert SaleOff(); if (amount > MAX_PER_TX) revert ReachedMaxPerTx(); unchecked { if (amount + totalSupply > TOTAL_TOKENS_AVAILABLE) revert MaxSupply(); totalSupply += amount; oddxStaking.buyItem(0x0103, amount * UNIT_PRICE, genzeeAddress, nftIds, msg.sender); } _mint(msg.sender, 1, amount, ""); } // Overrides function uri(uint256) public view override returns (string memory) { return _uri; } }
// 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: 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); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.5.0) (utils/cryptography/MerkleProof.sol) pragma solidity ^0.8.0; /** * @dev These functions deal with verification of Merkle Trees proofs. * * The proofs can be generated using the JavaScript library * https://github.com/miguelmota/merkletreejs[merkletreejs]. * Note: the hashing algorithm should be keccak256 and pair sorting should be enabled. * * See `test/utils/cryptography/MerkleProof.test.js` for some examples. * * WARNING: You should avoid using leaf values that are 64 bytes long prior to * hashing, or use a hash function other than keccak256 for hashing leaves. * This is because the concatenation of a sorted pair of internal nodes in * the merkle tree could be reinterpreted as a leaf value. */ library MerkleProof { /** * @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree * defined by `root`. For this, a `proof` must be provided, containing * sibling hashes on the branch from the leaf to the root of the tree. Each * pair of leaves and each pair of pre-images are assumed to be sorted. */ function verify( bytes32[] memory proof, bytes32 root, bytes32 leaf ) internal pure returns (bool) { return processProof(proof, leaf) == root; } /** * @dev Returns the rebuilt hash obtained by traversing a Merkle tree up * from `leaf` using `proof`. A `proof` is valid if and only if the rebuilt * hash matches the root of the tree. When processing the proof, the pairs * of leafs & pre-images are assumed to be sorted. * * _Available since v4.4._ */ function processProof(bytes32[] memory proof, bytes32 leaf) internal pure returns (bytes32) { bytes32 computedHash = leaf; for (uint256 i = 0; i < proof.length; i++) { bytes32 proofElement = proof[i]; if (computedHash <= proofElement) { // Hash(current computed hash + current element of the proof) computedHash = _efficientHash(computedHash, proofElement); } else { // Hash(current element of the proof + current computed hash) computedHash = _efficientHash(proofElement, computedHash); } } return computedHash; } function _efficientHash(bytes32 a, bytes32 b) private pure returns (bytes32 value) { assembly { mstore(0x00, a) mstore(0x20, b) value := keccak256(0x00, 0x40) } } }
// SPDX-License-Identifier: AGPL-3.0-only pragma solidity >=0.8.0; /// @notice Minimalist and gas efficient standard ERC1155 implementation. /// @author Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/tokens/ERC1155.sol) abstract contract ERC1155 { /*/////////////////////////////////////////////////////////////// EVENTS //////////////////////////////////////////////////////////////*/ event TransferSingle( address indexed operator, address indexed from, address indexed to, uint256 id, uint256 amount ); event TransferBatch( address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] amounts ); event ApprovalForAll(address indexed owner, address indexed operator, bool approved); event URI(string value, uint256 indexed id); /*/////////////////////////////////////////////////////////////// ERC1155 STORAGE //////////////////////////////////////////////////////////////*/ mapping(address => mapping(uint256 => uint256)) public balanceOf; mapping(address => mapping(address => bool)) public isApprovedForAll; /*/////////////////////////////////////////////////////////////// METADATA LOGIC //////////////////////////////////////////////////////////////*/ function uri(uint256 id) public view virtual returns (string memory); /*/////////////////////////////////////////////////////////////// ERC1155 LOGIC //////////////////////////////////////////////////////////////*/ function setApprovalForAll(address operator, bool approved) public virtual { isApprovedForAll[msg.sender][operator] = approved; emit ApprovalForAll(msg.sender, operator, approved); } function safeTransferFrom( address from, address to, uint256 id, uint256 amount, bytes memory data ) public virtual { require(msg.sender == from || isApprovedForAll[from][msg.sender], "NOT_AUTHORIZED"); balanceOf[from][id] -= amount; balanceOf[to][id] += amount; emit TransferSingle(msg.sender, from, to, id, amount); require( to.code.length == 0 ? to != address(0) : ERC1155TokenReceiver(to).onERC1155Received(msg.sender, from, id, amount, data) == ERC1155TokenReceiver.onERC1155Received.selector, "UNSAFE_RECIPIENT" ); } function safeBatchTransferFrom( address from, address to, uint256[] memory ids, uint256[] memory amounts, bytes memory data ) public virtual { uint256 idsLength = ids.length; // Saves MLOADs. require(idsLength == amounts.length, "LENGTH_MISMATCH"); require(msg.sender == from || isApprovedForAll[from][msg.sender], "NOT_AUTHORIZED"); // Storing these outside the loop saves ~15 gas per iteration. uint256 id; uint256 amount; for (uint256 i = 0; i < idsLength; ) { id = ids[i]; amount = amounts[i]; balanceOf[from][id] -= amount; balanceOf[to][id] += amount; // An array can't have a total length // larger than the max uint256 value. unchecked { ++i; } } emit TransferBatch(msg.sender, from, to, ids, amounts); require( to.code.length == 0 ? to != address(0) : ERC1155TokenReceiver(to).onERC1155BatchReceived(msg.sender, from, ids, amounts, data) == ERC1155TokenReceiver.onERC1155BatchReceived.selector, "UNSAFE_RECIPIENT" ); } function balanceOfBatch(address[] memory owners, uint256[] memory ids) public view virtual returns (uint256[] memory balances) { uint256 ownersLength = owners.length; // Saves MLOADs. require(ownersLength == ids.length, "LENGTH_MISMATCH"); balances = new uint256[](ownersLength); // Unchecked because the only math done is incrementing // the array index counter which cannot possibly overflow. unchecked { for (uint256 i = 0; i < ownersLength; ++i) { balances[i] = balanceOf[owners[i]][ids[i]]; } } } /*/////////////////////////////////////////////////////////////// ERC165 LOGIC //////////////////////////////////////////////////////////////*/ function supportsInterface(bytes4 interfaceId) public view virtual returns (bool) { return interfaceId == 0x01ffc9a7 || // ERC165 Interface ID for ERC165 interfaceId == 0xd9b67a26 || // ERC165 Interface ID for ERC1155 interfaceId == 0x0e89341c; // ERC165 Interface ID for ERC1155MetadataURI } /*/////////////////////////////////////////////////////////////// INTERNAL MINT/BURN LOGIC //////////////////////////////////////////////////////////////*/ function _mint( address to, uint256 id, uint256 amount, bytes memory data ) internal { balanceOf[to][id] += amount; emit TransferSingle(msg.sender, address(0), to, id, amount); require( to.code.length == 0 ? to != address(0) : ERC1155TokenReceiver(to).onERC1155Received(msg.sender, address(0), id, amount, data) == ERC1155TokenReceiver.onERC1155Received.selector, "UNSAFE_RECIPIENT" ); } function _batchMint( address to, uint256[] memory ids, uint256[] memory amounts, bytes memory data ) internal { uint256 idsLength = ids.length; // Saves MLOADs. require(idsLength == amounts.length, "LENGTH_MISMATCH"); for (uint256 i = 0; i < idsLength; ) { balanceOf[to][ids[i]] += amounts[i]; // An array can't have a total length // larger than the max uint256 value. unchecked { ++i; } } emit TransferBatch(msg.sender, address(0), to, ids, amounts); require( to.code.length == 0 ? to != address(0) : ERC1155TokenReceiver(to).onERC1155BatchReceived(msg.sender, address(0), ids, amounts, data) == ERC1155TokenReceiver.onERC1155BatchReceived.selector, "UNSAFE_RECIPIENT" ); } function _batchBurn( address from, uint256[] memory ids, uint256[] memory amounts ) internal { uint256 idsLength = ids.length; // Saves MLOADs. require(idsLength == amounts.length, "LENGTH_MISMATCH"); for (uint256 i = 0; i < idsLength; ) { balanceOf[from][ids[i]] -= amounts[i]; // An array can't have a total length // larger than the max uint256 value. unchecked { ++i; } } emit TransferBatch(msg.sender, from, address(0), ids, amounts); } function _burn( address from, uint256 id, uint256 amount ) internal { balanceOf[from][id] -= amount; emit TransferSingle(msg.sender, from, address(0), id, amount); } } /// @notice A generic interface for a contract which properly accepts ERC1155 tokens. /// @author Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/tokens/ERC1155.sol) interface ERC1155TokenReceiver { function onERC1155Received( address operator, address from, uint256 id, uint256 amount, bytes calldata data ) external returns (bytes4); function onERC1155BatchReceived( address operator, address from, uint256[] calldata ids, uint256[] calldata amounts, bytes calldata data ) external returns (bytes4); }
// SPDX-License-Identifier: AGPL-3.0-only pragma solidity >=0.8.4; interface IOddworx { function burn(address from, uint256 amount) external; }
// SPDX-License-Identifier: AGPL-3.0-only pragma solidity >=0.8.4; interface IOddworxStaking { function buyItem(uint itemSKU, uint amount, address nftContract, uint[] calldata nftIds, address user) external; }
{ "remappings": [ "$/=src/", "@ds-test/=lib/ds-test/src/", "@forge-std/=lib/forge-std/src/", "@oddworx/=lib/oddworx-token/contracts/", "@openzeppelin/=lib/openzeppelin-contracts/contracts/", "@solmate/=lib/solmate/src/", "ds-test/=lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "oddworx-token/=lib/oddworx-token/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "solmate/=lib/solmate/src/", "weird-erc20/=lib/solmate/lib/weird-erc20/src/", "src/=src/" ], "optimizer": { "enabled": true, "runs": 200 }, "metadata": { "bytecodeHash": "ipfs" }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "evmVersion": "london" }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"contract IOddworxStaking","name":"oddxStaking_","type":"address"},{"internalType":"address","name":"genzeeAddress_","type":"address"},{"internalType":"string","name":"uri_","type":"string"},{"internalType":"bytes32","name":"merkleRoot_","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"InvalidClaimAmount","type":"error"},{"inputs":[],"name":"InvalidMerkleProof","type":"error"},{"inputs":[],"name":"MaxSupply","type":"error"},{"inputs":[],"name":"OnlyController","type":"error"},{"inputs":[],"name":"PresaleOff","type":"error"},{"inputs":[],"name":"ReachedMaxPerTx","type":"error"},{"inputs":[],"name":"SaleOff","type":"error"},{"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":"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":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"TransferBatch","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TransferSingle","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"value","type":"string"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"URI","type":"event"},{"inputs":[],"name":"MAX_PER_TX","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TOTAL_TOKENS_AVAILABLE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UNIT_PRICE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"amountClaimedByUser","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"owners","type":"address[]"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"}],"name":"balanceOfBatch","outputs":[{"internalType":"uint256[]","name":"balances","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isController","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isPresaleActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isSaleActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"merkleRoot","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256[]","name":"nftIds","type":"uint256[]"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"oddxStaking","outputs":[{"internalType":"contract IOddworxStaking","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"amount","type":"uint8"},{"internalType":"uint8","name":"totalAmount","type":"uint8"},{"internalType":"uint256[]","name":"nftIds","type":"uint256[]"},{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"}],"name":"premint","outputs":[],"stateMutability":"nonpayable","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":"ids","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeBatchTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"controller","type":"address"},{"internalType":"bool","name":"newIsController","type":"bool"}],"name":"setIsController","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newIsPresaleActive","type":"bool"}],"name":"setIsPresaleActive","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newIsSaleActive","type":"bool"}],"name":"setIsSaleActive","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"newUri","type":"string"}],"name":"setURI","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":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"uri","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60c06040526003805460ff60a01b1916905560006004556005805460ff191690553480156200002d57600080fd5b5060405162002468380380620024688339810160408190526200005091620001ca565b6200005b33620000a3565b6001600160a01b03848116608052600380546001600160a01b031916918516919091179055815162000095906006906020850190620000f5565b5060a0525062000317915050565b600280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b8280546200010390620002da565b90600052602060002090601f01602090048101928262000127576000855562000172565b82601f106200014257805160ff191683800117855562000172565b8280016001018555821562000172579182015b828111156200017257825182559160200191906001019062000155565b506200018092915062000184565b5090565b5b8082111562000180576000815560010162000185565b6001600160a01b0381168114620001b157600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215620001e157600080fd5b8451620001ee816200019b565b8094505060208086015162000203816200019b565b60408701519094506001600160401b03808211156200022157600080fd5b818801915088601f8301126200023657600080fd5b8151818111156200024b576200024b620001b4565b604051601f8201601f19908116603f01168101908382118183101715620002765762000276620001b4565b816040528281528b868487010111156200028f57600080fd5b600093505b82841015620002b3578484018601518185018701529285019262000294565b82841115620002c55760008684830101525b60609a909a0151989b979a5050505050505050565b600181811c90821680620002ef57607f821691505b602082108114156200031157634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05161211662000352600039600081816102ce0152610d1e01526000818161027c015281816106410152610c1f01526121166000f3fe608060405234801561001057600080fd5b50600436106101c35760003560e01c8063715018a6116100f9578063b429afeb11610097578063e985e9c511610071578063e985e9c51461042d578063f242432a1461045b578063f2fde38b1461046e578063f43a22dc1461048157600080fd5b8063b429afeb146103e4578063c646273e14610407578063d2d65ff51461041a57600080fd5b80639dc29fac116100d35780639dc29fac1461039b578063a1a4babf146103ae578063a22cb465146103c1578063afa40bbd146103d457600080fd5b8063715018a6146103795780638da5cb5b146103815780639103321d1461039257600080fd5b80632eb2c2d611610166578063443da2a211610140578063443da2a2146103255780634e1273f414610338578063564566a81461035857806360d938dc1461036557600080fd5b80632eb2c2d6146102b65780632eb4a7ab146102c95780633b66f49d146102f057600080fd5b80630e89341c116101a25780630e89341c1461023b57806318160ddd1461025b5780632d69044f146102645780632dded0071461027757600080fd5b8062fdd58e146101c857806301ffc9a71461020357806302fe530514610226575b600080fd5b6101f06101d636600461173f565b600060208181529281526040808220909352908152205481565b6040519081526020015b60405180910390f35b61021661021136600461177f565b610489565b60405190151581526020016101fa565b61023961023436600461179c565b6104db565b005b61024e61024936600461180d565b61051f565b6040516101fa919061187e565b6101f060045481565b6102396102723660046118dc565b6105b3565b61029e7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101fa565b6102396102c4366004611a6a565b6106db565b6101f07f000000000000000000000000000000000000000000000000000000000000000081565b6103136102fe366004611b13565b60076020526000908152604090205460ff1681565b60405160ff90911681526020016101fa565b610239610333366004611b3e565b610988565b61034b610346366004611b59565b6109d0565b6040516101fa9190611c53565b6005546102169060ff1681565b60035461021690600160a01b900460ff1681565b610239610afc565b6002546001600160a01b031661029e565b6101f06101f481565b6102396103a936600461173f565b610b32565b6102396103bc366004611c77565b610b72565b6102396103cf366004611d07565b610dab565b6101f0681043561a882930000081565b6102166103f2366004611b13565b60086020526000908152604090205460ff1681565b610239610415366004611d07565b610e17565b610239610428366004611b3e565b610e6c565b61021661043b366004611d3a565b600160209081526000928352604080842090915290825290205460ff1681565b610239610469366004611d64565b610ea9565b61023961047c366004611b13565b6110a0565b6101f0600181565b60006301ffc9a760e01b6001600160e01b0319831614806104ba5750636cdb3d1360e11b6001600160e01b03198316145b806104d557506303a24d0760e21b6001600160e01b03198316145b92915050565b6002546001600160a01b0316331461050e5760405162461bcd60e51b815260040161050590611dc8565b60405180910390fd5b61051a6006838361168a565b505050565b60606006805461052e90611dfd565b80601f016020809104026020016040519081016040528092919081815260200182805461055a90611dfd565b80156105a75780601f1061057c576101008083540402835291602001916105a7565b820191906000526020600020905b81548152906001019060200180831161058a57829003601f168201915b50505050509050919050565b60055460ff166105d657604051633afc8ce960e01b815260040160405180910390fd5b60018311156105f85760405163f81942c960e01b815260040160405180910390fd5b6101f46004548401111561061f57604051632cdb04a160e21b815260040160405180910390fd5b60048054840181556003546040516349db4ced60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116936349db4ced9361068d9361010393681043561a88293000008b029392169189918991339101611e38565b600060405180830381600087803b1580156106a757600080fd5b505af11580156106bb573d6000803e3d6000fd5b5050505061051a336001856040518060200160405280600081525061113b565b82518251811461071f5760405162461bcd60e51b815260206004820152600f60248201526e0988a9c8ea890be9a92a69a82a8869608b1b6044820152606401610505565b336001600160a01b038716148061075957506001600160a01b038616600090815260016020908152604080832033845290915290205460ff165b6107965760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b6044820152606401610505565b60008060005b83811015610864578681815181106107b6576107b6611ea2565b602002602001015192508581815181106107d2576107d2611ea2565b60200260200101519150816000808b6001600160a01b03166001600160a01b03168152602001908152602001600020600085815260200190815260200160002060008282546108219190611ece565b90915550506001600160a01b03881660009081526020818152604080832086845290915281208054849290610857908490611ee5565b909155505060010161079c565b50866001600160a01b0316886001600160a01b0316336001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb89896040516108b4929190611efd565b60405180910390a46001600160a01b0387163b156109555760405163bc197c8160e01b808252906001600160a01b0389169063bc197c81906109029033908d908c908c908c90600401611f2b565b6020604051808303816000875af1158015610921573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109459190611f89565b6001600160e01b03191614610962565b6001600160a01b03871615155b61097e5760405162461bcd60e51b815260040161050590611fa6565b5050505050505050565b6002546001600160a01b031633146109b25760405162461bcd60e51b815260040161050590611dc8565b60038054911515600160a01b0260ff60a01b19909216919091179055565b81518151606091908114610a185760405162461bcd60e51b815260206004820152600f60248201526e0988a9c8ea890be9a92a69a82a8869608b1b6044820152606401610505565b806001600160401b03811115610a3057610a30611927565b604051908082528060200260200182016040528015610a59578160200160208202803683370190505b50915060005b81811015610af457600080868381518110610a7c57610a7c611ea2565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000858381518110610ab857610ab8611ea2565b6020026020010151815260200190815260200160002054838281518110610ae157610ae1611ea2565b6020908102919091010152600101610a5f565b505092915050565b6002546001600160a01b03163314610b265760405162461bcd60e51b815260040161050590611dc8565b610b306000611283565b565b3360009081526008602052604090205460ff16610b6257604051635990781360e01b815260040160405180910390fd5b610b6e826001836112d5565b5050565b600354600160a01b900460ff16610b9c57604051630a6802b560e41b815260040160405180910390fd5b6004805460ff881601908190556101f41015610bcb57604051632cdb04a160e21b815260040160405180910390fd5b3360009081526007602052604090205460ff8087169181168801161115610c055760405163843ce46b60e01b815260040160405180910390fd5b6003546040516349db4ced60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116926349db4ced92610c70926101039260ff8d16681043561a882930000002929116908a908a903390600401611e38565b600060405180830381600087803b158015610c8a57600080fd5b505af1158015610c9e573d6000803e3d6000fd5b5060009250610cb291503390506014611359565b610cbe8760ff166114fb565b604051602001610ccf929190611fd0565b6040516020818303038152906040528051906020012090506000610d498484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152507f000000000000000000000000000000000000000000000000000000000000000092508691506116009050565b905080610d695760405163582f497d60e11b815260040160405180910390fd5b336000818152600760209081526040808320805460ff19811660ff9182168f01821617909155815192830190915291815261097e9291600191908c169061113b565b3360008181526001602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6002546001600160a01b03163314610e415760405162461bcd60e51b815260040161050590611dc8565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6002546001600160a01b03163314610e965760405162461bcd60e51b815260040161050590611dc8565b6005805460ff1916911515919091179055565b336001600160a01b0386161480610ee357506001600160a01b038516600090815260016020908152604080832033845290915290205460ff165b610f205760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b6044820152606401610505565b6001600160a01b03851660009081526020818152604080832086845290915281208054849290610f51908490611ece565b90915550506001600160a01b03841660009081526020818152604080832086845290915281208054849290610f87908490611ee5565b909155505060408051848152602081018490526001600160a01b03808716929088169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46001600160a01b0384163b156110705760405163f23a6e6160e01b808252906001600160a01b0386169063f23a6e619061101d9033908a9089908990899060040161200c565b6020604051808303816000875af115801561103c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110609190611f89565b6001600160e01b0319161461107d565b6001600160a01b03841615155b6110995760405162461bcd60e51b815260040161050590611fa6565b5050505050565b6002546001600160a01b031633146110ca5760405162461bcd60e51b815260040161050590611dc8565b6001600160a01b03811661112f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610505565b61113881611283565b50565b6001600160a01b0384166000908152602081815260408083208684529091528120805484929061116c908490611ee5565b909155505060408051848152602081018490526001600160a01b0386169160009133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46001600160a01b0384163b156112545760405163f23a6e6160e01b808252906001600160a01b0386169063f23a6e619061120190339060009089908990899060040161200c565b6020604051808303816000875af1158015611220573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112449190611f89565b6001600160e01b03191614611261565b6001600160a01b03841615155b61127d5760405162461bcd60e51b815260040161050590611fa6565b50505050565b600280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03831660009081526020818152604080832085845290915281208054839290611306908490611ece565b909155505060408051838152602081018390526000916001600160a01b0386169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b60606000611368836002612051565b611373906002611ee5565b6001600160401b0381111561138a5761138a611927565b6040519080825280601f01601f1916602001820160405280156113b4576020820181803683370190505b509050600360fc1b816000815181106113cf576113cf611ea2565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106113fe576113fe611ea2565b60200101906001600160f81b031916908160001a9053506000611422846002612051565b61142d906001611ee5565b90505b60018111156114a5576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061146157611461611ea2565b1a60f81b82828151811061147757611477611ea2565b60200101906001600160f81b031916908160001a90535060049490941c9361149e81612070565b9050611430565b5083156114f45760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610505565b9392505050565b60608161151f5750506040805180820190915260018152600360fc1b602082015290565b8160005b8115611549578061153381612087565b91506115429050600a836120b8565b9150611523565b6000816001600160401b0381111561156357611563611927565b6040519080825280601f01601f19166020018201604052801561158d576020820181803683370190505b5090505b84156115f8576115a2600183611ece565b91506115af600a866120cc565b6115ba906030611ee5565b60f81b8183815181106115cf576115cf611ea2565b60200101906001600160f81b031916908160001a9053506115f1600a866120b8565b9450611591565b949350505050565b60008261160d8584611616565b14949350505050565b600081815b845181101561168257600085828151811061163857611638611ea2565b6020026020010151905080831161165e576000838152602082905260409020925061166f565b600081815260208490526040902092505b508061167a81612087565b91505061161b565b509392505050565b82805461169690611dfd565b90600052602060002090601f0160209004810192826116b857600085556116fe565b82601f106116d15782800160ff198235161785556116fe565b828001600101855582156116fe579182015b828111156116fe5782358255916020019190600101906116e3565b5061170a92915061170e565b5090565b5b8082111561170a576000815560010161170f565b80356001600160a01b038116811461173a57600080fd5b919050565b6000806040838503121561175257600080fd5b61175b83611723565b946020939093013593505050565b6001600160e01b03198116811461113857600080fd5b60006020828403121561179157600080fd5b81356114f481611769565b600080602083850312156117af57600080fd5b82356001600160401b03808211156117c657600080fd5b818501915085601f8301126117da57600080fd5b8135818111156117e957600080fd5b8660208285010111156117fb57600080fd5b60209290920196919550909350505050565b60006020828403121561181f57600080fd5b5035919050565b60005b83811015611841578181015183820152602001611829565b8381111561127d5750506000910152565b6000815180845261186a816020860160208601611826565b601f01601f19169290920160200192915050565b6020815260006114f46020830184611852565b60008083601f8401126118a357600080fd5b5081356001600160401b038111156118ba57600080fd5b6020830191508360208260051b85010111156118d557600080fd5b9250929050565b6000806000604084860312156118f157600080fd5b8335925060208401356001600160401b0381111561190e57600080fd5b61191a86828701611891565b9497909650939450505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561196557611965611927565b604052919050565b60006001600160401b0382111561198657611986611927565b5060051b60200190565b600082601f8301126119a157600080fd5b813560206119b66119b18361196d565b61193d565b82815260059290921b840181019181810190868411156119d557600080fd5b8286015b848110156119f057803583529183019183016119d9565b509695505050505050565b600082601f830112611a0c57600080fd5b81356001600160401b03811115611a2557611a25611927565b611a38601f8201601f191660200161193d565b818152846020838601011115611a4d57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215611a8257600080fd5b611a8b86611723565b9450611a9960208701611723565b935060408601356001600160401b0380821115611ab557600080fd5b611ac189838a01611990565b94506060880135915080821115611ad757600080fd5b611ae389838a01611990565b93506080880135915080821115611af957600080fd5b50611b06888289016119fb565b9150509295509295909350565b600060208284031215611b2557600080fd5b6114f482611723565b8035801515811461173a57600080fd5b600060208284031215611b5057600080fd5b6114f482611b2e565b60008060408385031215611b6c57600080fd5b82356001600160401b0380821115611b8357600080fd5b818501915085601f830112611b9757600080fd5b81356020611ba76119b18361196d565b82815260059290921b84018101918181019089841115611bc657600080fd5b948201945b83861015611beb57611bdc86611723565b82529482019490820190611bcb565b96505086013592505080821115611c0157600080fd5b50611c0e85828601611990565b9150509250929050565b600081518084526020808501945080840160005b83811015611c4857815187529582019590820190600101611c2c565b509495945050505050565b6020815260006114f46020830184611c18565b803560ff8116811461173a57600080fd5b60008060008060008060808789031215611c9057600080fd5b611c9987611c66565b9550611ca760208801611c66565b945060408701356001600160401b0380821115611cc357600080fd5b611ccf8a838b01611891565b90965094506060890135915080821115611ce857600080fd5b50611cf589828a01611891565b979a9699509497509295939492505050565b60008060408385031215611d1a57600080fd5b611d2383611723565b9150611d3160208401611b2e565b90509250929050565b60008060408385031215611d4d57600080fd5b611d5683611723565b9150611d3160208401611723565b600080600080600060a08688031215611d7c57600080fd5b611d8586611723565b9450611d9360208701611723565b9350604086013592506060860135915060808601356001600160401b03811115611dbc57600080fd5b611b06888289016119fb565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c90821680611e1157607f821691505b60208210811415611e3257634e487b7160e01b600052602260045260246000fd5b50919050565b868152602081018690526001600160a01b03858116604083015260a06060830181905282018490526000906001600160fb1b03851115611e7757600080fd5b8460051b808760c0860137600090840160c00190815293166080909201919091525095945050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600082821015611ee057611ee0611eb8565b500390565b60008219821115611ef857611ef8611eb8565b500190565b604081526000611f106040830185611c18565b8281036020840152611f228185611c18565b95945050505050565b6001600160a01b0386811682528516602082015260a060408201819052600090611f5790830186611c18565b8281036060840152611f698186611c18565b90508281036080840152611f7d8185611852565b98975050505050505050565b600060208284031215611f9b57600080fd5b81516114f481611769565b60208082526010908201526f155394d0519157d49150d2541251539560821b604082015260600190565b60008351611fe2818460208801611826565b601d60f91b9083019081528351612000816001840160208801611826565b01600101949350505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a06080820181905260009061204690830184611852565b979650505050505050565b600081600019048311821515161561206b5761206b611eb8565b500290565b60008161207f5761207f611eb8565b506000190190565b600060001982141561209b5761209b611eb8565b5060010190565b634e487b7160e01b600052601260045260246000fd5b6000826120c7576120c76120a2565b500490565b6000826120db576120db6120a2565b50069056fea2646970667358221220e06d80b12571e59198e5f86bc85f33997eb56c44d44c2d989f838b4a743237c664736f6c634300080b0033000000000000000000000000428b6a13277116c62d751bebbc6f47011a0cdc11000000000000000000000000201675fbfaaac3a51371e4c31ff73ac14cee2a5a000000000000000000000000000000000000000000000000000000000000008027babda92854c18ea5a13803c6db8de5caa27245ffe58904ca295754050d8b890000000000000000000000000000000000000000000000000000000000000035697066733a2f2f516d56417947326f4e566362686f54515475796b793771315256417565386158694d4a5041343847794a6e6a77440000000000000000000000
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101c35760003560e01c8063715018a6116100f9578063b429afeb11610097578063e985e9c511610071578063e985e9c51461042d578063f242432a1461045b578063f2fde38b1461046e578063f43a22dc1461048157600080fd5b8063b429afeb146103e4578063c646273e14610407578063d2d65ff51461041a57600080fd5b80639dc29fac116100d35780639dc29fac1461039b578063a1a4babf146103ae578063a22cb465146103c1578063afa40bbd146103d457600080fd5b8063715018a6146103795780638da5cb5b146103815780639103321d1461039257600080fd5b80632eb2c2d611610166578063443da2a211610140578063443da2a2146103255780634e1273f414610338578063564566a81461035857806360d938dc1461036557600080fd5b80632eb2c2d6146102b65780632eb4a7ab146102c95780633b66f49d146102f057600080fd5b80630e89341c116101a25780630e89341c1461023b57806318160ddd1461025b5780632d69044f146102645780632dded0071461027757600080fd5b8062fdd58e146101c857806301ffc9a71461020357806302fe530514610226575b600080fd5b6101f06101d636600461173f565b600060208181529281526040808220909352908152205481565b6040519081526020015b60405180910390f35b61021661021136600461177f565b610489565b60405190151581526020016101fa565b61023961023436600461179c565b6104db565b005b61024e61024936600461180d565b61051f565b6040516101fa919061187e565b6101f060045481565b6102396102723660046118dc565b6105b3565b61029e7f000000000000000000000000428b6a13277116c62d751bebbc6f47011a0cdc1181565b6040516001600160a01b0390911681526020016101fa565b6102396102c4366004611a6a565b6106db565b6101f07f27babda92854c18ea5a13803c6db8de5caa27245ffe58904ca295754050d8b8981565b6103136102fe366004611b13565b60076020526000908152604090205460ff1681565b60405160ff90911681526020016101fa565b610239610333366004611b3e565b610988565b61034b610346366004611b59565b6109d0565b6040516101fa9190611c53565b6005546102169060ff1681565b60035461021690600160a01b900460ff1681565b610239610afc565b6002546001600160a01b031661029e565b6101f06101f481565b6102396103a936600461173f565b610b32565b6102396103bc366004611c77565b610b72565b6102396103cf366004611d07565b610dab565b6101f0681043561a882930000081565b6102166103f2366004611b13565b60086020526000908152604090205460ff1681565b610239610415366004611d07565b610e17565b610239610428366004611b3e565b610e6c565b61021661043b366004611d3a565b600160209081526000928352604080842090915290825290205460ff1681565b610239610469366004611d64565b610ea9565b61023961047c366004611b13565b6110a0565b6101f0600181565b60006301ffc9a760e01b6001600160e01b0319831614806104ba5750636cdb3d1360e11b6001600160e01b03198316145b806104d557506303a24d0760e21b6001600160e01b03198316145b92915050565b6002546001600160a01b0316331461050e5760405162461bcd60e51b815260040161050590611dc8565b60405180910390fd5b61051a6006838361168a565b505050565b60606006805461052e90611dfd565b80601f016020809104026020016040519081016040528092919081815260200182805461055a90611dfd565b80156105a75780601f1061057c576101008083540402835291602001916105a7565b820191906000526020600020905b81548152906001019060200180831161058a57829003601f168201915b50505050509050919050565b60055460ff166105d657604051633afc8ce960e01b815260040160405180910390fd5b60018311156105f85760405163f81942c960e01b815260040160405180910390fd5b6101f46004548401111561061f57604051632cdb04a160e21b815260040160405180910390fd5b60048054840181556003546040516349db4ced60e01b81526001600160a01b037f000000000000000000000000428b6a13277116c62d751bebbc6f47011a0cdc118116936349db4ced9361068d9361010393681043561a88293000008b029392169189918991339101611e38565b600060405180830381600087803b1580156106a757600080fd5b505af11580156106bb573d6000803e3d6000fd5b5050505061051a336001856040518060200160405280600081525061113b565b82518251811461071f5760405162461bcd60e51b815260206004820152600f60248201526e0988a9c8ea890be9a92a69a82a8869608b1b6044820152606401610505565b336001600160a01b038716148061075957506001600160a01b038616600090815260016020908152604080832033845290915290205460ff165b6107965760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b6044820152606401610505565b60008060005b83811015610864578681815181106107b6576107b6611ea2565b602002602001015192508581815181106107d2576107d2611ea2565b60200260200101519150816000808b6001600160a01b03166001600160a01b03168152602001908152602001600020600085815260200190815260200160002060008282546108219190611ece565b90915550506001600160a01b03881660009081526020818152604080832086845290915281208054849290610857908490611ee5565b909155505060010161079c565b50866001600160a01b0316886001600160a01b0316336001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb89896040516108b4929190611efd565b60405180910390a46001600160a01b0387163b156109555760405163bc197c8160e01b808252906001600160a01b0389169063bc197c81906109029033908d908c908c908c90600401611f2b565b6020604051808303816000875af1158015610921573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109459190611f89565b6001600160e01b03191614610962565b6001600160a01b03871615155b61097e5760405162461bcd60e51b815260040161050590611fa6565b5050505050505050565b6002546001600160a01b031633146109b25760405162461bcd60e51b815260040161050590611dc8565b60038054911515600160a01b0260ff60a01b19909216919091179055565b81518151606091908114610a185760405162461bcd60e51b815260206004820152600f60248201526e0988a9c8ea890be9a92a69a82a8869608b1b6044820152606401610505565b806001600160401b03811115610a3057610a30611927565b604051908082528060200260200182016040528015610a59578160200160208202803683370190505b50915060005b81811015610af457600080868381518110610a7c57610a7c611ea2565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000858381518110610ab857610ab8611ea2565b6020026020010151815260200190815260200160002054838281518110610ae157610ae1611ea2565b6020908102919091010152600101610a5f565b505092915050565b6002546001600160a01b03163314610b265760405162461bcd60e51b815260040161050590611dc8565b610b306000611283565b565b3360009081526008602052604090205460ff16610b6257604051635990781360e01b815260040160405180910390fd5b610b6e826001836112d5565b5050565b600354600160a01b900460ff16610b9c57604051630a6802b560e41b815260040160405180910390fd5b6004805460ff881601908190556101f41015610bcb57604051632cdb04a160e21b815260040160405180910390fd5b3360009081526007602052604090205460ff8087169181168801161115610c055760405163843ce46b60e01b815260040160405180910390fd5b6003546040516349db4ced60e01b81526001600160a01b037f000000000000000000000000428b6a13277116c62d751bebbc6f47011a0cdc118116926349db4ced92610c70926101039260ff8d16681043561a882930000002929116908a908a903390600401611e38565b600060405180830381600087803b158015610c8a57600080fd5b505af1158015610c9e573d6000803e3d6000fd5b5060009250610cb291503390506014611359565b610cbe8760ff166114fb565b604051602001610ccf929190611fd0565b6040516020818303038152906040528051906020012090506000610d498484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152507f27babda92854c18ea5a13803c6db8de5caa27245ffe58904ca295754050d8b8992508691506116009050565b905080610d695760405163582f497d60e11b815260040160405180910390fd5b336000818152600760209081526040808320805460ff19811660ff9182168f01821617909155815192830190915291815261097e9291600191908c169061113b565b3360008181526001602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6002546001600160a01b03163314610e415760405162461bcd60e51b815260040161050590611dc8565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6002546001600160a01b03163314610e965760405162461bcd60e51b815260040161050590611dc8565b6005805460ff1916911515919091179055565b336001600160a01b0386161480610ee357506001600160a01b038516600090815260016020908152604080832033845290915290205460ff165b610f205760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b6044820152606401610505565b6001600160a01b03851660009081526020818152604080832086845290915281208054849290610f51908490611ece565b90915550506001600160a01b03841660009081526020818152604080832086845290915281208054849290610f87908490611ee5565b909155505060408051848152602081018490526001600160a01b03808716929088169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46001600160a01b0384163b156110705760405163f23a6e6160e01b808252906001600160a01b0386169063f23a6e619061101d9033908a9089908990899060040161200c565b6020604051808303816000875af115801561103c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110609190611f89565b6001600160e01b0319161461107d565b6001600160a01b03841615155b6110995760405162461bcd60e51b815260040161050590611fa6565b5050505050565b6002546001600160a01b031633146110ca5760405162461bcd60e51b815260040161050590611dc8565b6001600160a01b03811661112f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610505565b61113881611283565b50565b6001600160a01b0384166000908152602081815260408083208684529091528120805484929061116c908490611ee5565b909155505060408051848152602081018490526001600160a01b0386169160009133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46001600160a01b0384163b156112545760405163f23a6e6160e01b808252906001600160a01b0386169063f23a6e619061120190339060009089908990899060040161200c565b6020604051808303816000875af1158015611220573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112449190611f89565b6001600160e01b03191614611261565b6001600160a01b03841615155b61127d5760405162461bcd60e51b815260040161050590611fa6565b50505050565b600280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03831660009081526020818152604080832085845290915281208054839290611306908490611ece565b909155505060408051838152602081018390526000916001600160a01b0386169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b60606000611368836002612051565b611373906002611ee5565b6001600160401b0381111561138a5761138a611927565b6040519080825280601f01601f1916602001820160405280156113b4576020820181803683370190505b509050600360fc1b816000815181106113cf576113cf611ea2565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106113fe576113fe611ea2565b60200101906001600160f81b031916908160001a9053506000611422846002612051565b61142d906001611ee5565b90505b60018111156114a5576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061146157611461611ea2565b1a60f81b82828151811061147757611477611ea2565b60200101906001600160f81b031916908160001a90535060049490941c9361149e81612070565b9050611430565b5083156114f45760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610505565b9392505050565b60608161151f5750506040805180820190915260018152600360fc1b602082015290565b8160005b8115611549578061153381612087565b91506115429050600a836120b8565b9150611523565b6000816001600160401b0381111561156357611563611927565b6040519080825280601f01601f19166020018201604052801561158d576020820181803683370190505b5090505b84156115f8576115a2600183611ece565b91506115af600a866120cc565b6115ba906030611ee5565b60f81b8183815181106115cf576115cf611ea2565b60200101906001600160f81b031916908160001a9053506115f1600a866120b8565b9450611591565b949350505050565b60008261160d8584611616565b14949350505050565b600081815b845181101561168257600085828151811061163857611638611ea2565b6020026020010151905080831161165e576000838152602082905260409020925061166f565b600081815260208490526040902092505b508061167a81612087565b91505061161b565b509392505050565b82805461169690611dfd565b90600052602060002090601f0160209004810192826116b857600085556116fe565b82601f106116d15782800160ff198235161785556116fe565b828001600101855582156116fe579182015b828111156116fe5782358255916020019190600101906116e3565b5061170a92915061170e565b5090565b5b8082111561170a576000815560010161170f565b80356001600160a01b038116811461173a57600080fd5b919050565b6000806040838503121561175257600080fd5b61175b83611723565b946020939093013593505050565b6001600160e01b03198116811461113857600080fd5b60006020828403121561179157600080fd5b81356114f481611769565b600080602083850312156117af57600080fd5b82356001600160401b03808211156117c657600080fd5b818501915085601f8301126117da57600080fd5b8135818111156117e957600080fd5b8660208285010111156117fb57600080fd5b60209290920196919550909350505050565b60006020828403121561181f57600080fd5b5035919050565b60005b83811015611841578181015183820152602001611829565b8381111561127d5750506000910152565b6000815180845261186a816020860160208601611826565b601f01601f19169290920160200192915050565b6020815260006114f46020830184611852565b60008083601f8401126118a357600080fd5b5081356001600160401b038111156118ba57600080fd5b6020830191508360208260051b85010111156118d557600080fd5b9250929050565b6000806000604084860312156118f157600080fd5b8335925060208401356001600160401b0381111561190e57600080fd5b61191a86828701611891565b9497909650939450505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561196557611965611927565b604052919050565b60006001600160401b0382111561198657611986611927565b5060051b60200190565b600082601f8301126119a157600080fd5b813560206119b66119b18361196d565b61193d565b82815260059290921b840181019181810190868411156119d557600080fd5b8286015b848110156119f057803583529183019183016119d9565b509695505050505050565b600082601f830112611a0c57600080fd5b81356001600160401b03811115611a2557611a25611927565b611a38601f8201601f191660200161193d565b818152846020838601011115611a4d57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215611a8257600080fd5b611a8b86611723565b9450611a9960208701611723565b935060408601356001600160401b0380821115611ab557600080fd5b611ac189838a01611990565b94506060880135915080821115611ad757600080fd5b611ae389838a01611990565b93506080880135915080821115611af957600080fd5b50611b06888289016119fb565b9150509295509295909350565b600060208284031215611b2557600080fd5b6114f482611723565b8035801515811461173a57600080fd5b600060208284031215611b5057600080fd5b6114f482611b2e565b60008060408385031215611b6c57600080fd5b82356001600160401b0380821115611b8357600080fd5b818501915085601f830112611b9757600080fd5b81356020611ba76119b18361196d565b82815260059290921b84018101918181019089841115611bc657600080fd5b948201945b83861015611beb57611bdc86611723565b82529482019490820190611bcb565b96505086013592505080821115611c0157600080fd5b50611c0e85828601611990565b9150509250929050565b600081518084526020808501945080840160005b83811015611c4857815187529582019590820190600101611c2c565b509495945050505050565b6020815260006114f46020830184611c18565b803560ff8116811461173a57600080fd5b60008060008060008060808789031215611c9057600080fd5b611c9987611c66565b9550611ca760208801611c66565b945060408701356001600160401b0380821115611cc357600080fd5b611ccf8a838b01611891565b90965094506060890135915080821115611ce857600080fd5b50611cf589828a01611891565b979a9699509497509295939492505050565b60008060408385031215611d1a57600080fd5b611d2383611723565b9150611d3160208401611b2e565b90509250929050565b60008060408385031215611d4d57600080fd5b611d5683611723565b9150611d3160208401611723565b600080600080600060a08688031215611d7c57600080fd5b611d8586611723565b9450611d9360208701611723565b9350604086013592506060860135915060808601356001600160401b03811115611dbc57600080fd5b611b06888289016119fb565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c90821680611e1157607f821691505b60208210811415611e3257634e487b7160e01b600052602260045260246000fd5b50919050565b868152602081018690526001600160a01b03858116604083015260a06060830181905282018490526000906001600160fb1b03851115611e7757600080fd5b8460051b808760c0860137600090840160c00190815293166080909201919091525095945050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600082821015611ee057611ee0611eb8565b500390565b60008219821115611ef857611ef8611eb8565b500190565b604081526000611f106040830185611c18565b8281036020840152611f228185611c18565b95945050505050565b6001600160a01b0386811682528516602082015260a060408201819052600090611f5790830186611c18565b8281036060840152611f698186611c18565b90508281036080840152611f7d8185611852565b98975050505050505050565b600060208284031215611f9b57600080fd5b81516114f481611769565b60208082526010908201526f155394d0519157d49150d2541251539560821b604082015260600190565b60008351611fe2818460208801611826565b601d60f91b9083019081528351612000816001840160208801611826565b01600101949350505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a06080820181905260009061204690830184611852565b979650505050505050565b600081600019048311821515161561206b5761206b611eb8565b500290565b60008161207f5761207f611eb8565b506000190190565b600060001982141561209b5761209b611eb8565b5060010190565b634e487b7160e01b600052601260045260246000fd5b6000826120c7576120c76120a2565b500490565b6000826120db576120db6120a2565b50069056fea2646970667358221220e06d80b12571e59198e5f86bc85f33997eb56c44d44c2d989f838b4a743237c664736f6c634300080b0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000428b6a13277116c62d751bebbc6f47011a0cdc11000000000000000000000000201675fbfaaac3a51371e4c31ff73ac14cee2a5a000000000000000000000000000000000000000000000000000000000000008027babda92854c18ea5a13803c6db8de5caa27245ffe58904ca295754050d8b890000000000000000000000000000000000000000000000000000000000000035697066733a2f2f516d56417947326f4e566362686f54515475796b793771315256417565386158694d4a5041343847794a6e6a77440000000000000000000000
-----Decoded View---------------
Arg [0] : oddxStaking_ (address): 0x428b6a13277116C62D751bebbC6f47011A0Cdc11
Arg [1] : genzeeAddress_ (address): 0x201675fBFAAAC3A51371E4C31FF73Ac14ceE2A5A
Arg [2] : uri_ (string): ipfs://QmVAyG2oNVcbhoTQTuyky7q1RVAue8aXiMJPA48GyJnjwD
Arg [3] : merkleRoot_ (bytes32): 0x27babda92854c18ea5a13803c6db8de5caa27245ffe58904ca295754050d8b89
-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 000000000000000000000000428b6a13277116c62d751bebbc6f47011a0cdc11
Arg [1] : 000000000000000000000000201675fbfaaac3a51371e4c31ff73ac14cee2a5a
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [3] : 27babda92854c18ea5a13803c6db8de5caa27245ffe58904ca295754050d8b89
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000035
Arg [5] : 697066733a2f2f516d56417947326f4e566362686f54515475796b7937713152
Arg [6] : 56417565386158694d4a5041343847794a6e6a77440000000000000000000000
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ 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.