Source Code
Overview
ETH Balance
0 ETH
More Info
ContractCreator
Multichain Info
N/A
Loading...
Loading
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 Source Code Verified (Exact Match)
Contract Name:
NFTStaking721
Compiler Version
v0.8.24+commit.e11b9ed9
ZkSolc Version
v1.5.7
Optimization Enabled:
Yes with Mode 3
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.19; import "@openzeppelin/contracts/token/ERC721/IERC721.sol"; import "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol"; import "@openzeppelin/contracts/access/Ownable.sol"; contract NFTStaking721 is Ownable, IERC721Receiver { struct StakedNFT { address owner; uint256 tokenId; uint256 timestamp; } IERC721 public nftContract; mapping(uint256 => StakedNFT) public stakedNFTs; mapping(address => uint256[]) public userStakedTokens; event Staked(address indexed user, uint256 indexed tokenId, uint256 timestamp); event Unstaked(address indexed user, uint256 indexed tokenId, uint256 timestamp); constructor(address _nftContract) Ownable(msg.sender) { nftContract = IERC721(_nftContract); } function stakeNFT(address _owner, address _stakingContract, uint256 _tokenId) external { require(nftContract.ownerOf(_tokenId) == _owner, "You don't own this NFT"); require( nftContract.getApproved(_tokenId) == _stakingContract || nftContract.isApprovedForAll(_owner, _stakingContract), "Contract not approved" ); require(stakedNFTs[_tokenId].owner == address(0), "NFT is already staked"); // Explicitly specifying the sender, staking contract address, and tokenId nftContract.safeTransferFrom(_owner, _stakingContract, _tokenId); stakedNFTs[_tokenId] = StakedNFT(_owner, _tokenId, block.timestamp); userStakedTokens[_owner].push(_tokenId); emit Staked(_owner, _tokenId, block.timestamp); } function unstakeNFT(uint256 _tokenId) external { require(stakedNFTs[_tokenId].owner == msg.sender, "Not staked by you"); nftContract.safeTransferFrom(address(this), msg.sender, _tokenId); delete stakedNFTs[_tokenId]; removeUserToken(msg.sender, _tokenId); emit Unstaked(msg.sender, _tokenId, block.timestamp); } function getUserStakedTokens(address _user) external view returns (uint256[] memory) { return userStakedTokens[_user]; } function removeUserToken(address _user, uint256 _tokenId) internal { uint256[] storage tokens = userStakedTokens[_user]; for (uint256 i = 0; i < tokens.length; i++) { if (tokens[i] == _tokenId) { tokens[i] = tokens[tokens.length - 1]; tokens.pop(); break; } } } function emergencyWithdraw(uint256 _tokenId, address _to) external onlyOwner { require(nftContract.ownerOf(_tokenId) == address(this), "NFT not in contract"); nftContract.safeTransferFrom(address(this), _to, _tokenId); } function onERC721Received( address, address, uint256, bytes calldata ) external pure override returns (bytes4) { return IERC721Receiver.onERC721Received.selector; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.1.0) (token/ERC721/IERC721.sol) pragma solidity ^0.8.20; import {IERC165} from "../../utils/introspection/IERC165.sol"; /** * @dev Required interface of an ERC-721 compliant contract. */ interface IERC721 is IERC165 { /** * @dev Emitted when `tokenId` token is transferred from `from` to `to`. */ event Transfer(address indexed from, address indexed to, uint256 indexed tokenId); /** * @dev Emitted when `owner` enables `approved` to manage the `tokenId` token. */ event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId); /** * @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets. */ event ApprovalForAll(address indexed owner, address indexed operator, bool approved); /** * @dev Returns the number of tokens in ``owner``'s account. */ function balanceOf(address owner) external view returns (uint256 balance); /** * @dev Returns the owner of the `tokenId` token. * * Requirements: * * - `tokenId` must exist. */ function ownerOf(uint256 tokenId) external view returns (address owner); /** * @dev Safely transfers `tokenId` token from `from` to `to`. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must exist and be owned by `from`. * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon * a safe transfer. * * Emits a {Transfer} event. */ function safeTransferFrom(address from, address to, uint256 tokenId, bytes calldata data) external; /** * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients * are aware of the ERC-721 protocol to prevent tokens from being forever locked. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must exist and be owned by `from`. * - If the caller is not `from`, it must have been allowed to move this token by either {approve} or * {setApprovalForAll}. * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon * a safe transfer. * * Emits a {Transfer} event. */ function safeTransferFrom(address from, address to, uint256 tokenId) external; /** * @dev Transfers `tokenId` token from `from` to `to`. * * WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC-721 * or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must * understand this adds an external call which potentially creates a reentrancy vulnerability. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must be owned by `from`. * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. * * Emits a {Transfer} event. */ function transferFrom(address from, address to, uint256 tokenId) external; /** * @dev Gives permission to `to` to transfer `tokenId` token to another account. * The approval is cleared when the token is transferred. * * Only a single account can be approved at a time, so approving the zero address clears previous approvals. * * Requirements: * * - The caller must own the token or be an approved operator. * - `tokenId` must exist. * * Emits an {Approval} event. */ function approve(address to, uint256 tokenId) external; /** * @dev Approve or remove `operator` as an operator for the caller. * Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. * * Requirements: * * - The `operator` cannot be the address zero. * * Emits an {ApprovalForAll} event. */ function setApprovalForAll(address operator, bool approved) external; /** * @dev Returns the account approved for `tokenId` token. * * Requirements: * * - `tokenId` must exist. */ function getApproved(uint256 tokenId) external view returns (address operator); /** * @dev Returns if the `operator` is allowed to manage all of the assets of `owner`. * * See {setApprovalForAll} */ function isApprovedForAll(address owner, address operator) external view returns (bool); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.1.0) (token/ERC721/IERC721Receiver.sol) pragma solidity ^0.8.20; /** * @title ERC-721 token receiver interface * @dev Interface for any contract that wants to support safeTransfers * from ERC-721 asset contracts. */ interface IERC721Receiver { /** * @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom} * by `operator` from `from`, this function is called. * * It must return its Solidity selector to confirm the token transfer. * If any other value is returned or the interface is not implemented by the recipient, the transfer will be * reverted. * * The selector can be obtained in Solidity with `IERC721Receiver.onERC721Received.selector`. */ function onERC721Received( address operator, address from, uint256 tokenId, bytes calldata data ) external returns (bytes4); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol) pragma solidity ^0.8.20; import {Context} from "../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. * * The initial owner is set to the address provided by the deployer. 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; /** * @dev The caller account is not authorized to perform an operation. */ error OwnableUnauthorizedAccount(address account); /** * @dev The owner is not a valid owner account. (eg. `address(0)`) */ error OwnableInvalidOwner(address owner); event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the address provided by the deployer as the initial owner. */ constructor(address initialOwner) { if (initialOwner == address(0)) { revert OwnableInvalidOwner(address(0)); } _transferOwnership(initialOwner); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { if (owner() != _msgSender()) { revert OwnableUnauthorizedAccount(_msgSender()); } } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby disabling 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 { if (newOwner == address(0)) { revert OwnableInvalidOwner(address(0)); } _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 (last updated v5.1.0) (utils/introspection/IERC165.sol) pragma solidity ^0.8.20; /** * @dev Interface of the ERC-165 standard, as defined in the * https://eips.ethereum.org/EIPS/eip-165[ERC]. * * Implementers can declare support of contract interfaces, which can then be * queried by others ({ERC165Checker}). * * For an implementation, see {ERC165}. */ interface IERC165 { /** * @dev Returns true if this contract implements the interface defined by * `interfaceId`. See the corresponding * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] * to learn more about how these ids are created. * * This function call must use less than 30 000 gas. */ function supportsInterface(bytes4 interfaceId) external view returns (bool); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol) pragma solidity ^0.8.20; /** * @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; } function _contextSuffixLength() internal view virtual returns (uint256) { return 0; } }
{ "evmVersion": "paris", "optimizer": { "enabled": true, "mode": "3" }, "outputSelection": { "*": { "*": [ "abi", "metadata" ], "": [ "ast" ] } }, "detectMissingLibraries": false, "forceEVMLA": false, "enableEraVMExtensions": false, "libraries": {} }
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_nftContract","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"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":"user","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"Staked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"Unstaked","type":"event"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_to","type":"address"}],"name":"emergencyWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"getUserStakedTokens","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nftContract","outputs":[{"internalType":"contract IERC721","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"pure","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":"_owner","type":"address"},{"internalType":"address","name":"_stakingContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"stakeNFT","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"stakedNFTs","outputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"timestamp","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"unstakeNFT","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"userStakedTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
9c4d535b000000000000000000000000000000000000000000000000000000000000000001000199b708cc74284b6b9faddc135aef9e4a6dab3564b87bbbbac95d9a6f7500000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000020000000000000000000000000df40aabc64450593cb57825946d63e1998742bc4
Deployed Bytecode
0x00010000000000020006000000000002000000600310027000000160033001970000000100200190000000370000c13d0000008002000039000000400020043f000000040030008c0000053f0000413d000000000201043b000000e0022002700000016a0020009c000000670000a13d0000016b0020009c000000740000213d0000016f0020009c000000d00000613d000001700020009c000001270000613d000001710020009c0000053f0000c13d000000640030008c0000053f0000413d0000000002000416000000000002004b0000053f0000c13d0000000402100370000000000202043b000600000002001d000001630020009c0000053f0000213d0000002402100370000000000202043b000500000002001d000001630020009c0000053f0000213d0000000102000039000000000202041a0000004401100370000000000301043b0000018801000041000000800010043f000300000003001d000000840030043f00000000010004140000016302200197000000040020008c000400000002001d0000021a0000c13d0000000003000031000000200030008c000000200400003900000000040340190000023e0000013d0000000002000416000000000002004b0000053f0000c13d0000001f0230003900000161022001970000008002200039000000400020043f0000001f0430018f00000162053001980000008002500039000000480000613d0000008006000039000000000701034f000000007807043c0000000006860436000000000026004b000000440000c13d000000000004004b000000550000613d000000000151034f0000000304400210000000000502043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f0000000000120435000000200030008c0000053f0000413d000000800300043d000001630030009c0000053f0000213d0000000006000411000000000006004b000000b40000c13d000000400100043d0000016802000041000000000021043500000004021000390000000000020435000001600010009c0000016001008041000000400110021000000169011001c70000057e00010430000001720020009c0000008f0000a13d000001730020009c0000013f0000613d000001740020009c000001610000613d000001750020009c0000053f0000c13d0000000001000416000000000001004b0000053f0000c13d000000000100041a000001d10000013d0000016c0020009c000001750000613d0000016d0020009c000001cc0000613d0000016e0020009c0000053f0000c13d000000240030008c0000053f0000413d0000000002000416000000000002004b0000053f0000c13d0000000401100370000000000601043b000001630060009c0000053f0000213d000000000100041a00000163021001970000000005000411000000000052004b000001ff0000c13d000000000006004b000002580000c13d0000016801000041000000800010043f000000840000043f00000179010000410000057e00010430000001760020009c000001d50000613d000001770020009c0000053f0000c13d000000840030008c0000053f0000413d0000000002000416000000000002004b0000053f0000c13d0000000402100370000000000202043b000001630020009c0000053f0000213d0000002402100370000000000202043b000001630020009c0000053f0000213d0000006402100370000000000202043b000001820020009c0000053f0000213d0000002304200039000000000034004b0000053f0000813d0000000404200039000000000141034f000000000101043b000001820010009c0000053f0000213d00000000011200190000002401100039000000000031004b0000053f0000213d0000019401000041000000800010043f0000017a010000410000057d0001042e000000000100041a0000016402100197000000000262019f000000000020041b00000000020004140000016305100197000001600020009c0000016002008041000000c00120021000000165011001c70000800d02000039000600000003001d00000003030000390000016604000041057c05720000040f000000060300002900000001002001900000053f0000613d0000000101000039000000000201041a0000016402200197000000000232019f000000000021041b00000020010000390000010000100443000001200000044300000167010000410000057d0001042e000000240030008c0000053f0000413d0000000002000416000000000002004b0000053f0000c13d0000000401100370000000000101043b000001630010009c0000053f0000213d000000000010043f0000000301000039000000200010043f0000000001000414000001600010009c0000016001008041000000c0011002100000017b011001c70000801002000039057c05770000040f00000001002001900000053f0000613d000000000101043b000000000301041a000000400200043d000500000002001d000400000003001d0000000002320436000600000002001d000000000010043f0000000001000414000001600010009c0000016001008041000000c00110021000000183011001c70000801002000039057c05770000040f00000001002001900000053f0000613d0000000405000029000000000005004b00000006060000290000000002060019000001040000613d000000000101043b00000000030000190000000002060019000000000401041a000000000242043600000001011000390000000103300039000000000053004b000000fe0000413d000000050300002900000000013200490000001f0110003900000196021001970000000001320019000000000021004b00000000020000390000000102004039000001820010009c000001c60000213d0000000100200190000001c60000c13d000000400010043f00000020020000390000000002210436000000000303043300000000003204350000004002100039000000000003004b0000011e0000613d0000000004000019000000006506043400000000025204360000000104400039000000000034004b000001190000413d0000000002120049000001600020009c00000160020080410000006002200210000001600010009c00000160010080410000004001100210000000000112019f0000057d0001042e000000240030008c0000053f0000413d0000000002000416000000000002004b0000053f0000c13d0000000401100370000000000101043b000000000010043f0000000201000039000000200010043f00000040020000390000000001000019057c055d0000040f0000000202100039000000000202041a0000000103100039000000000303041a000000000101041a0000016301100197000000800010043f000000a00030043f000000c00020043f00000191010000410000057d0001042e000000440030008c0000053f0000413d0000000002000416000000000002004b0000053f0000c13d0000000402100370000000000202043b000600000002001d0000002401100370000000000101043b000500000001001d000001630010009c0000053f0000213d000000000100041a00000163021001970000000001000411000000000012004b000002040000c13d0000000101000039000000000201041a0000018801000041000000800010043f0000000601000029000000840010043f00000000010004140000016302200197000000040020008c000400000002001d000002680000c13d0000000003000031000000200030008c000000200400003900000000040340190000028c0000013d0000000001000416000000000001004b0000053f0000c13d000000000100041a00000163021001970000000005000411000000000052004b000001ff0000c13d0000016401100197000000000010041b0000000001000414000001600010009c0000016001008041000000c00110021000000165011001c70000800d02000039000000030300003900000166040000410000000006000019000002630000013d000000240030008c0000053f0000413d0000000002000416000000000002004b0000053f0000c13d0000000401100370000000000101043b000500000001001d000000000010043f0000000201000039000000200010043f0000000001000414000001600010009c0000016001008041000000c0011002100000017b011001c70000801002000039057c05770000040f00000001002001900000053f0000613d000000000101043b000000000101041a00000163011001970000000002000411000000000021004b000002090000c13d0000000101000039000000000101041a0000017f0200004100000000002004430000016301100197000600000001001d00000004001004430000000001000414000001600010009c0000016001008041000000c00110021000000180011001c70000800202000039057c05770000040f0000000100200190000004680000613d000000000101043b000000000001004b0000053f0000613d000000400400043d000000440140003900000005020000290000000000210435000000000100041100000163011001970000002402400039000000000012043500000181010000410000000000140435000000000100041000000163011001970000000402400039000000000012043500000000010004140000000602000029000000040020008c000001c40000613d000001600040009c000001600300004100000000030440190000004003300210000001600010009c0000016001008041000000c001100210000000000131019f0000017e011001c7000600000004001d057c05720000040f00000006040000290000006003100270000001600030019d0000000100200190000003740000613d000001820040009c000002fa0000a13d0000018401000041000000000010043f0000004101000039000000040010043f00000169010000410000057e000104300000000001000416000000000001004b0000053f0000c13d0000000101000039000000000101041a0000016301100197000000800010043f0000017a010000410000057d0001042e000000440030008c0000053f0000413d0000000002000416000000000002004b0000053f0000c13d0000000402100370000000000202043b000001630020009c0000053f0000213d0000002401100370000000000101043b000600000001001d000000000020043f0000000301000039000000200010043f0000000001000414000001600010009c0000016001008041000000c0011002100000017b011001c70000801002000039057c05770000040f00000001002001900000053f0000613d000000000101043b000000000201041a000000060020006b0000053f0000813d0000000602000029057c05410000040f0000000302200210000000000101041a000000000121022f000000ff0020008c0000000001002019000000400200043d0000000000120435000001600020009c0000016002008041000000400120021000000195011001c70000057d0001042e0000017801000041000000800010043f000000840050043f00000179010000410000057e000104300000017802000041000000800020043f000000840010043f00000179010000410000057e00010430000000400100043d00000044021000390000017c0300004100000000003204350000002402100039000000110300003900000000003204350000017d020000410000000000210435000000040210003900000020030000390000000000320435000001600010009c000001600100804100000040011002100000017e011001c70000057e00010430000001600010009c0000016001008041000000c00110021000000179011001c7057c05770000040f000000800a00003900000060031002700000016003300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000080057001bf0000022e0000613d000000000801034f000000008908043c000000000a9a043600000000005a004b0000022a0000c13d000000000006004b0000023b0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f0000000100200190000002d00000613d0000001f01400039000000600110018f00000080021001bf000200000002001d000000400020043f000000200030008c0000053f0000413d000000800300043d000001630030009c0000053f0000213d00000084021001bf000000060030006c000003580000c13d0000018a03000041000000020400002900000000003404350000000303000029000000000032043500000000030004140000000402000029000000040020008c000003810000c13d0000000002140019000100000002001d000000400020043f000003af0000013d0000016401100197000000000161019f000000000010041b0000000001000414000001600010009c0000016001008041000000c00110021000000165011001c70000800d0200003900000003030000390000016604000041057c05720000040f00000001002001900000053f0000613d00000000010000190000057d0001042e000001600010009c0000016001008041000000c00110021000000179011001c7057c05770000040f00000060031002700000016003300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000080057001bf0000027c0000613d0000008008000039000000000901034f000000009a09043c0000000008a80436000000000058004b000002780000c13d000000000006004b000002890000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f0000000100200190000002dc0000613d0000001f01400039000000600210018f00000080012001bf000000400010043f000000200030008c0000053f0000413d000000800300043d000001630030009c0000053f0000213d0000000004000410000000000043004b000003660000c13d0000017f010000410000000000100443000000040100002900000004001004430000000001000414000001600010009c0000016001008041000000c00110021000000180011001c70000800202000039057c05770000040f0000000100200190000004680000613d000000000101043b000000000001004b0000053f0000613d000000400300043d0000004401300039000000060200002900000000002104350000002401300039000000050200002900000000002104350000018101000041000000000013043500000000010004100000016301100197000600000003001d0000000402300039000000000012043500000000010004140000000402000029000000040020008c000002c90000613d0000000602000029000001600020009c00000160020080410000004002200210000001600010009c0000016001008041000000c001100210000000000121019f0000017e011001c70000000402000029057c05720000040f0000006003100270000001600030019d0000000100200190000004c80000613d0000000601000029000001930010009c000001c60000813d0000000601000029000000400010043f00000000010000190000057d0001042e0000001f0530018f0000016206300198000000400200043d0000000004620019000002e70000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000002d70000c13d000002e70000013d0000001f0530018f0000016206300198000000400200043d0000000004620019000002e70000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000002e30000c13d000000000005004b000002f40000613d000000000161034f0000000305500210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f00000000001404350000006001300210000001600020009c00000160020080410000004002200210000000000112019f0000057e00010430000000400040043f0000000501000029000000000010043f0000000201000039000000200010043f0000000001000414000001600010009c0000016001008041000000c0011002100000017b011001c70000801002000039057c05770000040f00000001002001900000053f0000613d000000000101043b000000000001041b0000000102100039000000000002041b0000000201100039000000000001041b0000000001000411000000000010043f0000000301000039000000200010043f0000000001000414000001600010009c0000016001008041000000c0011002100000017b011001c70000801002000039057c05770000040f00000001002001900000053f0000613d000000000201043b000000000102041a000400000001001d000000000001004b000003390000613d000600000000001d000300000002001d000000000020043f0000000001000414000001600010009c0000016001008041000000c00110021000000183011001c70000801002000039057c05770000040f00000001002001900000053f0000613d000000000101043b000000060400002900000000024100190000000305000029000000000105041a000000000202041a000000050020006c000004dc0000613d0000000002050019000600010040003d000000060010006b000400000001001d000003220000413d000000400100043d000600000001001d000001850100004100000000001004430000000001000414000001600010009c0000016001008041000000c00110021000000186011001c70000800b02000039057c05770000040f0000000100200190000004680000613d000000000101043b00000006020000290000000000120435000001600020009c000001600200804100000040012002100000000002000414000001600020009c0000016002008041000000c002200210000000000112019f00000183011001c70000800d020000390000000303000039000001870400004100000000050004110000000506000029000002630000013d0000017d030000410000000204000029000000000034043500000020030000390000000000320435000000c40210003900000189030000410000000000320435000000a4011000390000001602000039000000000021043500000040014002100000017e011001c70000057e000104300000017d03000041000000000031043500000084032001bf00000020040000390000000000430435000000c40320003900000192040000410000000000430435000000a4022000390000001303000039000000000032043500000040011002100000017e011001c70000057e0001043000000160033001970000001f0530018f0000016206300198000000400200043d0000000004620019000002e70000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b0000037c0000c13d000002e70000013d000001600030009c0000016003008041000000c0013002100000004003400210000000000131019f00000169011001c7057c05770000040f000000020b00002900000060031002700000016003300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057b0019000003980000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b000003940000c13d000000000006004b000003a50000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f0000000100200190000004690000613d0000001f01400039000000600110018f0000000002b10019000100000002001d000000400020043f000000200030008c0000053f0000413d00000002020000290000000002020433000001630020009c0000053f0000213d000000050020006c000004750000c13d0000000301000029000000000010043f0000000201000039000000200010043f0000000001000414000001600010009c0000016001008041000000c0011002100000017b011001c70000801002000039057c05770000040f00000001002001900000053f0000613d000000000101043b000000000101041a0000016300100198000004d50000c13d0000017f010000410000000000100443000000040100002900000004001004430000000001000414000001600010009c0000016001008041000000c00110021000000180011001c70000800202000039057c05770000040f0000000100200190000004680000613d000000000101043b000000000001004b0000053f0000613d000000400300043d00000044013000390000000302000029000000000021043500000024013000390000000502000029000000000021043500000181010000410000000001130436000200000001001d000500000003001d00000004013000390000000602000029000000000021043500000000010004140000000402000029000000040020008c000003f70000613d0000000502000029000001600020009c00000160020080410000004002200210000001600010009c0000016001008041000000c001100210000000000121019f0000017e011001c70000000402000029057c05720000040f0000006003100270000001600030019d00000001002001900000051f0000613d0000000501000029000001820010009c000001c60000213d0000000501000029000000400010043f0000018f0010009c000001c60000213d00000005020000290000006001200039000000400010043f00000006010000290000000000120435000000030100002900000002020000290000000000120435000001850100004100000000001004430000000001000414000001600010009c0000016001008041000000c00110021000000186011001c70000800b02000039057c05770000040f0000000100200190000004680000613d000000000201043b00000005010000290000004001100039000100000002001d000400000001001d00000000002104350000000301000029000000000010043f0000000201000039000000200010043f0000000001000414000001600010009c0000016001008041000000c0011002100000017b011001c70000801002000039057c05770000040f00000001002001900000053f0000613d000000050200002900000000020204330000016302200197000000000101043b000000000301041a0000016403300197000000000223019f000000000021041b000000020200002900000000020204330000000103100039000000000023041b000000020110003900000004020000290000000002020433000000000021041b0000000601000029000000000010043f0000000301000039000000200010043f0000000001000414000001600010009c0000016001008041000000c0011002100000017b011001c70000801002000039057c05770000040f00000001002001900000053f0000613d000000000101043b000000000201041a000500000002001d000001820020009c000001c60000213d00000005020000290000000102200039000000000021041b000000000010043f0000000001000414000001600010009c0000016001008041000000c00110021000000183011001c70000801002000039057c05770000040f00000001002001900000053f0000613d000000000101043b00000005011000290000000306000029000000000061041b000000400100043d00000001020000290000000000210435000001600010009c000001600100804100000040011002100000000002000414000001600020009c0000016002008041000000c002200210000000000121019f00000183011001c70000800d02000039000000030300003900000190040000410000000605000029000002630000013d000000000001042f0000001f0530018f0000016206300198000000400200043d0000000004620019000002e70000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000004700000c13d000002e70000013d0000018b020000410000000104000029000000000024043500000004024001bf0000000603000029000000000032043500000024024000390000000503000029000000000032043500000000020004140000000403000029000000040030008c000004980000c13d0000000101100029000000400010043f00000001020000290000000002020433000000000002004b0000000003000039000000010300c039000000000032004b0000053f0000c13d000000000002004b000003b50000c13d00000044021000390000018d0300004100000000003204350000002402100039000000150300003900000000003204350000017d02000041000000000021043500000004021000390000002003000039000003700000013d000001600020009c0000016002008041000000c0012002100000000102000029000100000002001d0000004002200210000000000112019f0000018c011001c70000000402000029057c05770000040f00000060031002700000016003300197000000200030008c000000200400003900000000040340190000001f0640018f00000020074001900000000105700029000004b10000613d000000000801034f0000000109000029000000008a08043c0000000009a90436000000000059004b000004ad0000c13d000000000006004b000004be0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f00000001002001900000050d0000613d0000001f01400039000000600110018f0000000101100029000000400010043f000000200030008c000004840000813d0000053f0000013d00000160033001970000001f0530018f0000016206300198000000400200043d0000000004620019000002e70000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000004d00000c13d000002e70000013d000000400100043d00000044021000390000018e030000410000000000320435000000240210003900000015030000390000020f0000013d00000004020000290004000100200092000000040010006c000005190000a13d0000000301000029000000000010043f0000000001000414000001600010009c0000016001008041000000c00110021000000183011001c70000801002000039057c05770000040f00000001002001900000053f0000613d000000000101043b0000000302000029000000000202041a000000060020006c000005190000a13d0000000401100029000000000101041a000400000001001d0000000301000029000000000010043f0000000001000414000001600010009c0000016001008041000000c00110021000000183011001c70000801002000039057c05770000040f00000001002001900000053f0000613d000000000101043b00000006011000290000000402000029000000000021041b0000000301000029000000000101041a000600000001001d000000000001004b0000052c0000c13d0000018401000041000000000010043f0000003101000039000000040010043f00000169010000410000057e000104300000001f0530018f0000016206300198000000400200043d0000000004620019000002e70000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000005140000c13d000002e70000013d0000018401000041000000000010043f0000003201000039000000040010043f00000169010000410000057e0001043000000160033001970000001f0530018f0000016206300198000000400200043d0000000004620019000002e70000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000005270000c13d000002e70000013d0000000301000029000000000010043f0000000001000414000001600010009c0000016001008041000000c00110021000000183011001c70000801002000039057c05770000040f00000001002001900000053f0000613d0000000602000029000000010220008a000000000101043b0000000001210019000000000001041b0000000301000029000000000021041b000003390000013d00000000010000190000057e000104300001000000000002000000000301041a000100000002001d000000000023004b000005540000a13d000000000010043f0000000001000414000001600010009c0000016001008041000000c00110021000000183011001c70000801002000039057c05770000040f00000001002001900000055a0000613d000000000101043b00000001011000290000000002000019000000000001042d0000018401000041000000000010043f0000003201000039000000040010043f00000169010000410000057e0001043000000000010000190000057e00010430000000000001042f000001600010009c00000160010080410000004001100210000001600020009c00000160020080410000006002200210000000000112019f0000000002000414000001600020009c0000016002008041000000c002200210000000000112019f00000165011001c70000801002000039057c05770000040f0000000100200190000005700000613d000000000101043b000000000001042d00000000010000190000057e0001043000000575002104210000000102000039000000000001042d0000000002000019000000000001042d0000057a002104230000000102000039000000000001042d0000000002000019000000000001042d0000057c000004320000057d0001042e0000057e00010430000000000000000000000000000000000000000000000000000000000000000000000000ffffffff00000000000000000000000000000000000000000000000000000001ffffffe000000000000000000000000000000000000000000000000000000000ffffffe0000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000008be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e000000002000000000000000000000000000000400000010000000000000000001e4fbdf700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000000ae1a01a100000000000000000000000000000000000000000000000000000000c1dfa0ba00000000000000000000000000000000000000000000000000000000c1dfa0bb00000000000000000000000000000000000000000000000000000000d56d229d00000000000000000000000000000000000000000000000000000000f2fde38b00000000000000000000000000000000000000000000000000000000ae1a01a200000000000000000000000000000000000000000000000000000000b865749d00000000000000000000000000000000000000000000000000000000bb623d13000000000000000000000000000000000000000000000000000000002f940c6f000000000000000000000000000000000000000000000000000000002f940c7000000000000000000000000000000000000000000000000000000000715018a6000000000000000000000000000000000000000000000000000000008da5cb5b00000000000000000000000000000000000000000000000000000000061886cd00000000000000000000000000000000000000000000000000000000150b7a02118cdaa7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000800000000000000000000000000000000000000000000000000000002000000080000000000000000002000000000000000000000000000000000000400000000000000000000000004e6f74207374616b656420627920796f7500000000000000000000000000000008c379a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000640000000000000000000000001806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b83020000020000000000000000000000000000002400000000000000000000000042842e0e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffff02000000000000000000000000000000000000200000000000000000000000004e487b7100000000000000000000000000000000000000000000000000000000796b89b91644bc98cd93958e4c9038275d622183e25ac5af08cc6b5d9553913202000002000000000000000000000000000000040000000000000000000000007fc4727e062e336010f2c282598ef5f14facb3de68cf8195c2f23e1454b2b74e6352211e00000000000000000000000000000000000000000000000000000000596f7520646f6e2774206f776e2074686973204e465400000000000000000000081812fc00000000000000000000000000000000000000000000000000000000e985e9c5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044000000000000000000000000436f6e7472616374206e6f7420617070726f76656400000000000000000000004e465420697320616c7265616479207374616b65640000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff9f1449c6dd7851abc30abf37f57715f492010519147cc2652fbc38202c18a6ee9000000000000000000000000000000000000000600000008000000000000000004e4654206e6f7420696e20636f6e7472616374000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000150b7a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe000000000000000000000000000000000000000000000000000000000000000004e65489f087452d9f8b745a2c1a8696802e5f7cb09afcbaf8ad98a838971a263
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000df40aabc64450593cb57825946d63e1998742bc4
-----Decoded View---------------
Arg [0] : _nftContract (address): 0xdf40aAbc64450593CB57825946d63e1998742BC4
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000df40aabc64450593cb57825946d63e1998742bc4
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.