Source Code
Overview
ETH Balance
0 ETH
More Info
ContractCreator
Multichain Info
N/A
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
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/access/Ownable.sol"; contract NFTStaking721 is Ownable { 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) { // Fix: Pass msg.sender as the owner nftContract = IERC721(_nftContract); } function stakeNFT(uint256 _tokenId) external { /* require(nftContract.ownerOf(_tokenId) == msg.sender, "You don't own this NFT"); require(nftContract.getApproved(_tokenId) == address(this) || nftContract.isApprovedForAll(msg.sender, address(this)), "Contract not approved"); require(stakedNFTs[_tokenId].owner == address(0), "NFT is already staked"); */ nftContract.transferFrom(msg.sender, address(this), _tokenId); stakedNFTs[_tokenId] = StakedNFT(msg.sender, _tokenId, block.timestamp); userStakedTokens[msg.sender].push(_tokenId); emit Staked(msg.sender, _tokenId, block.timestamp); } function unstakeNFT(uint256 _tokenId) external { require(stakedNFTs[_tokenId].owner == msg.sender, "Not staked by you"); nftContract.transferFrom(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; } } } }
// 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) (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.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; } }
// 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); }
{ "evmVersion": "paris", "optimizer": { "enabled": true, "mode": "3" }, "outputSelection": { "*": { "*": [ "abi", "metadata" ], "": [ "ast" ] } }, "detectMissingLibraries": false, "forceEVMLA": false, "enableEraVMExtensions": false, "libraries": {} }
[{"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":"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":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"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
9c4d535b00000000000000000000000000000000000000000000000000000000000000000100010f7e7c4521d67de5d7057902db2b053bd94333ea3108d264726b6e36c700000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000020000000000000000000000000df40aabc64450593cb57825946d63e1998742bc4
Deployed Bytecode
0x00050000000000020000006003100270000000e10330019700000001002001900000002a0000c13d0000008002000039000000400020043f000000040030008c000002cc0000413d000000000201043b000000e002200270000000eb0020009c0000005a0000a13d000000ec0020009c0000010e0000a13d000000ed0020009c0000014f0000613d000000ee0020009c000001ff0000613d000000ef0020009c000002cc0000c13d000000240030008c000002cc0000413d0000000002000416000000000002004b000002cc0000c13d0000000401100370000000000601043b000000e40060009c000002cc0000213d000000000100041a000000e4021001970000000005000411000000000052004b000002a10000c13d000000000006004b000002be0000c13d000000e901000041000000800010043f000000840000043f000000f80100004100000382000104300000000002000416000000000002004b000002cc0000c13d0000001f02300039000000e2022001970000008002200039000000400020043f0000001f0430018f000000e30530019800000080025000390000003b0000613d0000008006000039000000000701034f000000007807043c0000000006860436000000000026004b000000370000c13d000000000004004b000000480000613d000000000151034f0000000304400210000000000502043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f0000000000120435000000200030008c000002cc0000413d000000800300043d000000e40030009c000002cc0000213d0000000006000411000000000006004b000001330000c13d000000400100043d000000e902000041000000000021043500000004021000390000000000020435000000e10010009c000000e1010080410000004001100210000000ea011001c70000038200010430000000f20020009c0000012a0000213d000000f50020009c000002080000613d000000f60020009c000002cc0000c13d000000240030008c000002cc0000413d0000000002000416000000000002004b000002cc0000c13d0000000401100370000000000101043b000500000001001d0000000101000039000000000101041a000000fe020000410000000000200443000000e401100197000400000001001d00000004001004430000000001000414000000e10010009c000000e101008041000000c001100210000000ff011001c700008002020000390380037b0000040f0000000100200190000002a60000613d000000000101043b000000000001004b000002cc0000613d000000400400043d0000004401400039000000050300002900000000003104350000000001000410000000e4011001970000002402400039000000000012043500000100010000410000000001140436000300000001001d0000000001000411000000e4011001970000000402400039000000000012043500000000010004140000000402000029000000040020008c0000009d0000613d000000e10040009c000000e10300004100000000030440190000004003300210000000e10010009c000000e101008041000000c001100210000000000131019f000000fd011001c7000400000004001d038003760000040f000000040400002900000005030000290000000100200190000002ce0000613d000001080040009c000002b80000813d000000400040043f000001090040009c000002b80000213d0000006001400039000000400010043f0000000001000411000400000004001d000000000014043500000003010000290000000000310435000001040100004100000000001004430000000001000414000000e10010009c000000e101008041000000c00110021000000105011001c70000800b020000390380037b0000040f0000000100200190000002a60000613d000000000201043b00000004010000290000004001100039000100000002001d000200000001001d00000000002104350000000501000029000000000010043f0000000201000039000000200010043f0000000001000414000000e10010009c000000e101008041000000c001100210000000fa011001c700008010020000390380037b0000040f0000000100200190000002cc0000613d00000004020000290000000002020433000000e402200197000000000101043b000000000301041a000000e503300197000000000223019f000000000021041b000000030200002900000000020204330000000103100039000000000023041b000000020110003900000002020000290000000002020433000000000021041b0000000001000411000000000010043f0000000301000039000000200010043f0000000001000414000000e10010009c000000e101008041000000c001100210000000fa011001c700008010020000390380037b0000040f0000000100200190000002cc0000613d000000000101043b000000000201041a000400000002001d000001010020009c000002b80000213d00000004020000290000000102200039000000000021041b000000000010043f0000000001000414000000e10010009c000000e101008041000000c00110021000000102011001c700008010020000390380037b0000040f0000000100200190000002cc0000613d000000000101043b00000004011000290000000506000029000000000061041b000000400100043d00000001020000290000000000210435000000e10010009c000000e10100804100000040011002100000000002000414000000e10020009c000000e102008041000000c002200210000000000112019f00000102011001c70000800d0200003900000003030000390000010a040000410000000005000411038003760000040f00000001002001900000029f0000c13d000002cc0000013d000000f00020009c000002320000613d000000f10020009c000002cc0000c13d000000240030008c000002cc0000413d0000000002000416000000000002004b000002cc0000c13d0000000401100370000000000101043b000000000010043f0000000201000039000000200010043f00000040020000390000000001000019038003610000040f0000000202100039000000000202041a0000000103100039000000000303041a000000000101041a000000e401100197000000800010043f000000a00030043f000000c00020043f0000010701000041000003810001042e000000f30020009c000002890000613d000000f40020009c000002cc0000c13d0000000001000416000000000001004b000002cc0000c13d000000000100041a000002040000013d000000000100041a000000e502100197000000000262019f000000000020041b0000000002000414000000e405100197000000e10020009c000000e102008041000000c001200210000000e6011001c70000800d02000039000500000003001d0000000303000039000000e704000041038003760000040f00000005030000290000000100200190000002cc0000613d0000000101000039000000000201041a000000e502200197000000000232019f000000000021041b000000200100003900000100001004430000012000000443000000e801000041000003810001042e000000240030008c000002cc0000413d0000000002000416000000000002004b000002cc0000c13d0000000401100370000000000101043b000400000001001d000000000010043f0000000201000039000000200010043f0000000001000414000000e10010009c000000e101008041000000c001100210000000fa011001c700008010020000390380037b0000040f0000000100200190000002cc0000613d000000000101043b000000000101041a000000e4011001970000000002000411000000000021004b000002a70000c13d0000000101000039000000000101041a000000fe020000410000000000200443000000e401100197000500000001001d00000004001004430000000001000414000000e10010009c000000e101008041000000c001100210000000ff011001c700008002020000390380037b0000040f0000000100200190000002a60000613d000000000101043b000000000001004b000002cc0000613d000000400300043d0000004401300039000000040200002900000000002104350000000001000411000000e40110019700000024023000390000000000120435000001000100004100000000001304350000000001000410000000e4011001970000000402300039000000000012043500000000010004140000000502000029000000040020008c0000019c0000613d000000e10030009c000300000003001d000000e10300004100000003030040290000004003300210000000e10010009c000000e101008041000000c001100210000000000131019f000000fd011001c7038003760000040f00000003030000290000000100200190000002ee0000613d000001010030009c000002b80000213d000000400030043f0000000401000029000000000010043f0000000201000039000000200010043f0000000001000414000000e10010009c000000e101008041000000c001100210000000fa011001c700008010020000390380037b0000040f0000000100200190000002cc0000613d000000000101043b000000000001041b0000000102100039000000000002041b0000000201100039000000000001041b0000000001000411000000000010043f0000000301000039000000200010043f0000000001000414000000e10010009c000000e101008041000000c001100210000000fa011001c700008010020000390380037b0000040f0000000100200190000002cc0000613d000000000201043b000000000102041a000300000001001d000000000001004b000001dd0000613d000500000000001d000200000002001d000000000020043f0000000001000414000000e10010009c000000e101008041000000c00110021000000102011001c700008010020000390380037b0000040f0000000100200190000002cc0000613d000000000101043b000000050400002900000000024100190000000205000029000000000105041a000000000202041a000000040020006c000002fb0000613d0000000002050019000500010040003d000000050010006b000300000001001d000001c60000413d000000400100043d000500000001001d000001040100004100000000001004430000000001000414000000e10010009c000000e101008041000000c00110021000000105011001c70000800b020000390380037b0000040f0000000100200190000002a60000613d000000000101043b00000005020000290000000000120435000000e10020009c000000e10200804100000040012002100000000002000414000000e10020009c000000e102008041000000c002200210000000000112019f00000102011001c70000800d020000390000000303000039000001060400004100000000050004110000000406000029038003760000040f00000001002001900000029f0000c13d000002cc0000013d0000000001000416000000000001004b000002cc0000c13d0000000101000039000000000101041a000000e401100197000000800010043f000000f901000041000003810001042e000000440030008c000002cc0000413d0000000002000416000000000002004b000002cc0000c13d0000000402100370000000000202043b000000e40020009c000002cc0000213d0000002401100370000000000101043b000500000001001d000000000020043f0000000301000039000000200010043f0000000001000414000000e10010009c000000e101008041000000c001100210000000fa011001c700008010020000390380037b0000040f0000000100200190000002cc0000613d000000000101043b000000000201041a000000050020006b000002cc0000813d0000000502000029038003450000040f0000000302200210000000000101041a000000000121022f000000ff0020008c0000000001002019000000400200043d0000000000120435000000e10020009c000000e10200804100000040012002100000010b011001c7000003810001042e000000240030008c000002cc0000413d0000000002000416000000000002004b000002cc0000c13d0000000401100370000000000101043b000000e40010009c000002cc0000213d000000000010043f0000000301000039000000200010043f0000000001000414000000e10010009c000000e101008041000000c001100210000000fa011001c700008010020000390380037b0000040f0000000100200190000002cc0000613d000000000101043b000000000301041a000000400200043d000500000002001d000400000003001d0000000002320436000300000002001d000000000010043f0000000001000414000000e10010009c000000e101008041000000c00110021000000102011001c700008010020000390380037b0000040f0000000100200190000002cc0000613d0000000405000029000000000005004b00000003060000290000000002060019000002660000613d000000000101043b00000000030000190000000002060019000000000401041a000000000242043600000001011000390000000103300039000000000053004b000002600000413d000000050300002900000000013200490000001f011000390000010c021001970000000001320019000000000021004b00000000020000390000000102004039000001010010009c000002b80000213d0000000100200190000002b80000c13d000000400010043f00000020020000390000000002210436000000000303043300000000003204350000004002100039000000000003004b000002800000613d0000000004000019000000006506043400000000025204360000000104400039000000000034004b0000027b0000413d0000000002120049000000e10020009c000000e1020080410000006002200210000000e10010009c000000e1010080410000004001100210000000000112019f000003810001042e0000000001000416000000000001004b000002cc0000c13d000000000100041a000000e4021001970000000005000411000000000052004b000002a10000c13d000000e501100197000000000010041b0000000001000414000000e10010009c000000e101008041000000c001100210000000e6011001c70000800d020000390000000303000039000000e7040000410000000006000019038003760000040f0000000100200190000002cc0000613d0000000001000019000003810001042e000000f701000041000000800010043f000000840050043f000000f8010000410000038200010430000000000001042f000000400100043d0000004402100039000000fb030000410000000000320435000000240210003900000011030000390000000000320435000000fc020000410000000000210435000000040210003900000020030000390000000000320435000000e10010009c000000e1010080410000004001100210000000fd011001c700000382000104300000010301000041000000000010043f0000004101000039000000040010043f000000ea010000410000038200010430000000e501100197000000000161019f000000000010041b0000000001000414000000e10010009c000000e101008041000000c001100210000000e6011001c70000800d020000390000000303000039000000e704000041038003760000040f00000001002001900000029f0000c13d0000000001000019000003820001043000000060061002700000001f0460018f000000e305600198000000400200043d0000000003520019000002da0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000038004b000002d60000c13d000000e106600197000000000004004b000002e80000613d000000000151034f0000000304400210000000000503043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f00000000001304350000006001600210000000e10020009c000000e1020080410000004002200210000000000112019f000003820001043000000060061002700000001f0460018f000000e305600198000000400200043d0000000003520019000002da0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000038004b000002f60000c13d000002da0000013d00000003020000290003000100200092000000030010006c0000032c0000a13d0000000201000029000000000010043f0000000001000414000000e10010009c000000e101008041000000c00110021000000102011001c700008010020000390380037b0000040f0000000100200190000002cc0000613d000000000101043b0000000202000029000000000202041a000000050020006c0000032c0000a13d0000000301100029000000000101041a000300000001001d0000000201000029000000000010043f0000000001000414000000e10010009c000000e101008041000000c00110021000000102011001c700008010020000390380037b0000040f0000000100200190000002cc0000613d000000000101043b00000005011000290000000302000029000000000021041b0000000201000029000000000101041a000500000001001d000000000001004b000003320000c13d0000010301000041000000000010043f0000003101000039000000040010043f000000ea0100004100000382000104300000010301000041000000000010043f0000003201000039000000040010043f000000ea0100004100000382000104300000000201000029000000000010043f0000000001000414000000e10010009c000000e101008041000000c00110021000000102011001c700008010020000390380037b0000040f0000000100200190000002cc0000613d0000000502000029000000010220008a000000000101043b0000000001210019000000000001041b0000000201000029000000000021041b000001dd0000013d0001000000000002000000000301041a000100000002001d000000000023004b000003580000a13d000000000010043f0000000001000414000000e10010009c000000e101008041000000c00110021000000102011001c700008010020000390380037b0000040f00000001002001900000035e0000613d000000000101043b00000001011000290000000002000019000000000001042d0000010301000041000000000010043f0000003201000039000000040010043f000000ea01000041000003820001043000000000010000190000038200010430000000000001042f000000e10010009c000000e1010080410000004001100210000000e10020009c000000e1020080410000006002200210000000000112019f0000000002000414000000e10020009c000000e102008041000000c002200210000000000112019f000000e6011001c700008010020000390380037b0000040f0000000100200190000003740000613d000000000101043b000000000001042d0000000001000019000003820001043000000379002104210000000102000039000000000001042d0000000002000019000000000001042d0000037e002104230000000102000039000000000001042d0000000002000019000000000001042d0000038000000432000003810001042e0000038200010430000000000000000000000000000000000000000000000000000000000000000000000000ffffffff00000000000000000000000000000000000000000000000000000001ffffffe000000000000000000000000000000000000000000000000000000000ffffffe0000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000008be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e000000002000000000000000000000000000000400000010000000000000000001e4fbdf700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000000ae1a01a100000000000000000000000000000000000000000000000000000000c1dfa0ba00000000000000000000000000000000000000000000000000000000c1dfa0bb00000000000000000000000000000000000000000000000000000000d56d229d00000000000000000000000000000000000000000000000000000000f2fde38b00000000000000000000000000000000000000000000000000000000ae1a01a200000000000000000000000000000000000000000000000000000000b865749d00000000000000000000000000000000000000000000000000000000715018a500000000000000000000000000000000000000000000000000000000715018a6000000000000000000000000000000000000000000000000000000008da5cb5b00000000000000000000000000000000000000000000000000000000061886cd000000000000000000000000000000000000000000000000000000006eb604e0118cdaa7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000800000000000000000000000000000000000000000000000000000002000000080000000000000000002000000000000000000000000000000000000400000000000000000000000004e6f74207374616b656420627920796f7500000000000000000000000000000008c379a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000640000000000000000000000001806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b83020000020000000000000000000000000000002400000000000000000000000023b872dd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffff02000000000000000000000000000000000000200000000000000000000000004e487b7100000000000000000000000000000000000000000000000000000000796b89b91644bc98cd93958e4c9038275d622183e25ac5af08cc6b5d9553913202000002000000000000000000000000000000040000000000000000000000007fc4727e062e336010f2c282598ef5f14facb3de68cf8195c2f23e1454b2b74e00000000000000000000000000000000000000600000008000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000ffffffffffffff9f1449c6dd7851abc30abf37f57715f492010519147cc2652fbc38202c18a6ee900000000000000000000000000000000000000020000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000000000000000000000000000000000000000000000000000000000034dc07ccca30d147e357a75302423a818d218b31e6abe90d5270dda958678be0
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 ]
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.