More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 57 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Unstake | 18820402 | 214 days ago | IN | 0 ETH | 0.00559986 | ||||
Stake | 18361283 | 278 days ago | IN | 0 ETH | 0.00163539 | ||||
Unstake | 18361257 | 278 days ago | IN | 0 ETH | 0.00056521 | ||||
Stake | 17882638 | 345 days ago | IN | 0 ETH | 0.01393457 | ||||
Stake | 17844604 | 351 days ago | IN | 0 ETH | 0.0027069 | ||||
Stake | 17795408 | 358 days ago | IN | 0 ETH | 0.00319473 | ||||
Stake | 17758979 | 363 days ago | IN | 0 ETH | 0.0077539 | ||||
Stake | 17756594 | 363 days ago | IN | 0 ETH | 0.00794939 | ||||
Stake | 17746133 | 365 days ago | IN | 0 ETH | 0.00500611 | ||||
Stake | 17728593 | 367 days ago | IN | 0 ETH | 0.01226218 | ||||
Unstake | 17723447 | 368 days ago | IN | 0 ETH | 0.00174121 | ||||
Unstake | 17720362 | 368 days ago | IN | 0 ETH | 0.00282636 | ||||
Unstake | 17718709 | 368 days ago | IN | 0 ETH | 0.00306925 | ||||
Stake | 17695395 | 372 days ago | IN | 0 ETH | 0.0024177 | ||||
Stake | 17692044 | 372 days ago | IN | 0 ETH | 0.00961608 | ||||
Stake | 17691788 | 372 days ago | IN | 0 ETH | 0.01310663 | ||||
Stake | 17618571 | 382 days ago | IN | 0 ETH | 0.00232281 | ||||
Stake | 17618366 | 383 days ago | IN | 0 ETH | 0.00220996 | ||||
Stake | 17580987 | 388 days ago | IN | 0 ETH | 0.00293518 | ||||
Stake | 17549497 | 392 days ago | IN | 0 ETH | 0.01583822 | ||||
Stake | 17547301 | 392 days ago | IN | 0 ETH | 0.00422502 | ||||
Stake | 17537664 | 394 days ago | IN | 0 ETH | 0.00254891 | ||||
Stake | 17524356 | 396 days ago | IN | 0 ETH | 0.00263254 | ||||
Stake | 17520100 | 396 days ago | IN | 0 ETH | 0.00230074 | ||||
Stake | 17520021 | 396 days ago | IN | 0 ETH | 0.00262021 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
NFTStaking
Compiler Version
v0.8.18+commit.87f61d96
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT // File: @openzeppelin/contracts/token/ERC20/IERC20.sol // OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `from` to `to` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address from, address to, uint256 amount ) external returns (bool); } // File: @openzeppelin/contracts/token/ERC721/IERC721Receiver.sol // OpenZeppelin Contracts (last updated v4.6.0) (token/ERC721/IERC721Receiver.sol) pragma solidity ^0.8.0; /** * @title ERC721 token receiver interface * @dev Interface for any contract that wants to support safeTransfers * from ERC721 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); } // File: @openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol // OpenZeppelin Contracts v4.4.1 (token/ERC721/utils/ERC721Holder.sol) pragma solidity ^0.8.0; /** * @dev Implementation of the {IERC721Receiver} interface. * * Accepts all token transfers. * Make sure the contract is able to use its token with {IERC721-safeTransferFrom}, {IERC721-approve} or {IERC721-setApprovalForAll}. */ contract ERC721Holder is IERC721Receiver { /** * @dev See {IERC721Receiver-onERC721Received}. * * Always returns `IERC721Receiver.onERC721Received.selector`. */ function onERC721Received( address, address, uint256, bytes memory ) public virtual override returns (bytes4) { return this.onERC721Received.selector; } } // File: @openzeppelin/contracts/utils/introspection/IERC165.sol // OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC165 standard, as defined in the * https://eips.ethereum.org/EIPS/eip-165[EIP]. * * Implementers can declare support of contract interfaces, which can then be * queried by others ({ERC165Checker}). * * For an implementation, see {ERC165}. */ interface IERC165 { /** * @dev Returns true if this contract implements the interface defined by * `interfaceId`. See the corresponding * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] * to learn more about how these ids are created. * * This function call must use less than 30 000 gas. */ function supportsInterface(bytes4 interfaceId) external view returns (bool); } // File: @openzeppelin/contracts/token/ERC721/IERC721.sol // OpenZeppelin Contracts (last updated v4.8.0) (token/ERC721/IERC721.sol) pragma solidity ^0.8.0; /** * @dev Required interface of an ERC721 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 ERC721 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 ERC721 * 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 caller. * * 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); } // File: ahegao_staking.sol pragma solidity ^0.8.0; contract NFTStaking is ERC721Holder { struct Stake { bool isStaking; uint256 startTime; uint256 endTime; uint256 month; } mapping(address => mapping(uint256 => Stake)) public Stakes; mapping(address => uint256[]) public UserTokens; IERC721 private nft; constructor(address _nft) { nft = IERC721(_nft); } function stake(uint256 [] memory _tokenId, uint256 month) external { for(uint256 i = 0; i < _tokenId.length; i++){ require(Stakes[msg.sender][_tokenId[i]].isStaking == false, "Already staking this NFT"); require(nft.ownerOf(_tokenId[i]) == msg.sender, "You don't own this NFT"); } require(month > 0, "invalid month"); require(month < 13, "invalid month"); uint256 endTime = block.timestamp + (month * 60 * 60 * 24 * 30); for(uint256 i = 0; i < _tokenId.length; i++){ nft.safeTransferFrom(msg.sender, address(this), _tokenId[i]); Stakes[msg.sender][_tokenId[i]] = Stake(true, block.timestamp, endTime, month); UserTokens[msg.sender].push(_tokenId[i]); } } function unstake(uint256 [] memory _tokenId) external { for(uint256 i = 0; i < _tokenId.length; i++){ require(Stakes[msg.sender][_tokenId[i]].isStaking, "Not staking this NFT"); Stake memory _stake = Stakes[msg.sender][_tokenId[i]]; require(block.timestamp >= _stake.endTime, "Stake has not ended"); } for(uint256 i = 0; i < _tokenId.length; i++){ nft.safeTransferFrom(address(this), msg.sender, _tokenId[i]); delete Stakes[msg.sender][_tokenId[i]]; uint256 tokenIndex = findTokenIndex(msg.sender, _tokenId[i]); removeTokenByIndex(msg.sender, tokenIndex); } } function getStakes(address _staker, uint256 [] memory _tokenId) external view returns (Stake [] memory) { Stake [] memory stakes = new Stake[](_tokenId.length); for(uint256 i = 0; i < _tokenId.length; i++){ stakes[i] = Stakes[_staker][_tokenId[i]]; } return stakes; } function getAllStakes(address _staker) external view returns (uint256 [] memory) { return UserTokens[_staker]; } function findTokenIndex(address sender, uint256 target) internal view returns (uint256) { for(uint256 i = 0; i < UserTokens[sender].length; i++){ if(UserTokens[sender][i] == target){ return i; } } revert("Not staking this NFT"); } function removeTokenByIndex(address sender, uint256 index) internal { if (index >= UserTokens[sender].length) revert("Not staking this NFT"); for (uint256 i = index; i< UserTokens[sender].length-1; i++){ UserTokens[sender][i] = UserTokens[sender][i+1]; } UserTokens[sender].pop(); } }
{ "optimizer": { "enabled": false, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_nft","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"Stakes","outputs":[{"internalType":"bool","name":"isStaking","type":"bool"},{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"endTime","type":"uint256"},{"internalType":"uint256","name":"month","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"UserTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_staker","type":"address"}],"name":"getAllStakes","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_staker","type":"address"},{"internalType":"uint256[]","name":"_tokenId","type":"uint256[]"}],"name":"getStakes","outputs":[{"components":[{"internalType":"bool","name":"isStaking","type":"bool"},{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"endTime","type":"uint256"},{"internalType":"uint256","name":"month","type":"uint256"}],"internalType":"struct NFTStaking.Stake[]","name":"","type":"tuple[]"}],"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":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_tokenId","type":"uint256[]"},{"internalType":"uint256","name":"month","type":"uint256"}],"name":"stake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_tokenId","type":"uint256[]"}],"name":"unstake","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b5060405162001d0438038062001d048339818101604052810190620000379190620000e9565b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506200011b565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620000b18262000084565b9050919050565b620000c381620000a4565b8114620000cf57600080fd5b50565b600081519050620000e381620000b8565b92915050565b6000602082840312156200010257620001016200007f565b5b60006200011284828501620000d2565b91505092915050565b611bd9806200012b6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c806335de32341161005b57806335de3234146101125780638449ff0614610145578063857b767b14610175578063e449f341146101915761007d565b80630423899414610082578063150b7a02146100b25780631a5e174a146100e2575b600080fd5b61009c60048036038101906100979190611045565b6101ad565b6040516100a9919061113a565b60405180910390f35b6100cc60048036038101906100c791906112ce565b610244565b6040516100d9919061138c565b60405180910390f35b6100fc60048036038101906100f7919061146f565b610258565b60405161010991906115ea565b60405180910390f35b61012c6004803603810190610127919061160c565b6103a8565b60405161013c949392919061166a565b60405180910390f35b61015f600480360381019061015a919061160c565b6103f2565b60405161016c91906116af565b60405180910390f35b61018f600480360381019061018a91906116ca565b610423565b005b6101ab60048036038101906101a69190611726565b610909565b005b6060600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561023857602002820191906000526020600020905b815481526020019060010190808311610224575b50505050509050919050565b600063150b7a0260e01b9050949350505050565b60606000825167ffffffffffffffff811115610277576102766111a3565b5b6040519080825280602002602001820160405280156102b057816020015b61029d610fa9565b8152602001906001900390816102955790505b50905060005b835181101561039d576000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008583815181106103125761031161176f565b5b602002602001015181526020019081526020016000206040518060800160405290816000820160009054906101000a900460ff16151515158152602001600182015481526020016002820154815260200160038201548152505082828151811061037f5761037e61176f565b5b60200260200101819052508080610395906117cd565b9150506102b6565b508091505092915050565b6000602052816000526040600020602052806000526040600020600091509150508060000160009054906101000a900460ff16908060010154908060020154908060030154905084565b6001602052816000526040600020818154811061040e57600080fd5b90600052602060002001600091509150505481565b60005b825181101561062557600015156000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008584815181106104865761048561176f565b5b6020026020010151815260200190815260200160002060000160009054906101000a900460ff161515146104ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e690611872565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e8584815181106105575761055661176f565b5b60200260200101516040518263ffffffff1660e01b815260040161057b91906116af565b602060405180830381865afa158015610598573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105bc91906118a7565b73ffffffffffffffffffffffffffffffffffffffff1614610612576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060990611920565b60405180910390fd5b808061061d906117cd565b915050610426565b5060008111610669576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106609061198c565b60405180910390fd5b600d81106106ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a39061198c565b60405180910390fd5b6000601e6018603c80856106c091906119ac565b6106ca91906119ac565b6106d491906119ac565b6106de91906119ac565b426106e991906119ee565b905060005b835181101561090357600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342842e0e333087858151811061074a5761074961176f565b5b60200260200101516040518463ffffffff1660e01b815260040161077093929190611a31565b600060405180830381600087803b15801561078a57600080fd5b505af115801561079e573d6000803e3d6000fd5b505050506040518060800160405280600115158152602001428152602001838152602001848152506000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008684815181106108195761081861176f565b5b6020026020010151815260200190815260200160002060008201518160000160006101000a81548160ff021916908315150217905550602082015181600101556040820151816002015560608201518160030155905050600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208482815181106108c2576108c161176f565b5b6020026020010151908060018154018082558091505060019003906000526020600020016000909190919091505580806108fb906117cd565b9150506106ee565b50505050565b60005b8151811015610ada576000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008383815181106109685761096761176f565b5b6020026020010151815260200190815260200160002060000160009054906101000a900460ff166109ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c590611ab4565b60405180910390fd5b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000848481518110610a2357610a2261176f565b5b602002602001015181526020019081526020016000206040518060800160405290816000820160009054906101000a900460ff16151515158152602001600182015481526020016002820154815260200160038201548152505090508060400151421015610ac6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abd90611b20565b60405180910390fd5b508080610ad2906117cd565b91505061090c565b5060005b8151811015610c7057600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342842e0e3033858581518110610b3a57610b3961176f565b5b60200260200101516040518463ffffffff1660e01b8152600401610b6093929190611a31565b600060405180830381600087803b158015610b7a57600080fd5b505af1158015610b8e573d6000803e3d6000fd5b505050506000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000838381518110610be557610be461176f565b5b60200260200101518152602001908152602001600020600080820160006101000a81549060ff021916905560018201600090556002820160009055600382016000905550506000610c5033848481518110610c4357610c4261176f565b5b6020026020010151610c74565b9050610c5c3382610d86565b508080610c68906117cd565b915050610ade565b5050565b600080600090505b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050811015610d445782600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110610d1857610d1761176f565b5b906000526020600020015403610d315780915050610d80565b8080610d3c906117cd565b915050610c7c565b506040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7790611ab4565b60405180910390fd5b92915050565b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490508110610e0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0190611ab4565b60405180910390fd5b60008190505b60018060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050610e5e9190611b40565b811015610f3f57600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600182610eb191906119ee565b81548110610ec257610ec161176f565b5b9060005260206000200154600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110610f1e57610f1d61176f565b5b90600052602060002001819055508080610f37906117cd565b915050610e10565b50600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480610f8f57610f8e611b74565b5b600190038181906000526020600020016000905590555050565b60405180608001604052806000151581526020016000815260200160008152602001600081525090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061101282610fe7565b9050919050565b61102281611007565b811461102d57600080fd5b50565b60008135905061103f81611019565b92915050565b60006020828403121561105b5761105a610fdd565b5b600061106984828501611030565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000819050919050565b6110b18161109e565b82525050565b60006110c383836110a8565b60208301905092915050565b6000602082019050919050565b60006110e782611072565b6110f1818561107d565b93506110fc8361108e565b8060005b8381101561112d57815161111488826110b7565b975061111f836110cf565b925050600181019050611100565b5085935050505092915050565b6000602082019050818103600083015261115481846110dc565b905092915050565b6111658161109e565b811461117057600080fd5b50565b6000813590506111828161115c565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6111db82611192565b810181811067ffffffffffffffff821117156111fa576111f96111a3565b5b80604052505050565b600061120d610fd3565b905061121982826111d2565b919050565b600067ffffffffffffffff821115611239576112386111a3565b5b61124282611192565b9050602081019050919050565b82818337600083830152505050565b600061127161126c8461121e565b611203565b90508281526020810184848401111561128d5761128c61118d565b5b61129884828561124f565b509392505050565b600082601f8301126112b5576112b4611188565b5b81356112c584826020860161125e565b91505092915050565b600080600080608085870312156112e8576112e7610fdd565b5b60006112f687828801611030565b945050602061130787828801611030565b935050604061131887828801611173565b925050606085013567ffffffffffffffff81111561133957611338610fe2565b5b611345878288016112a0565b91505092959194509250565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61138681611351565b82525050565b60006020820190506113a1600083018461137d565b92915050565b600067ffffffffffffffff8211156113c2576113c16111a3565b5b602082029050602081019050919050565b600080fd5b60006113eb6113e6846113a7565b611203565b9050808382526020820190506020840283018581111561140e5761140d6113d3565b5b835b8181101561143757806114238882611173565b845260208401935050602081019050611410565b5050509392505050565b600082601f83011261145657611455611188565b5b81356114668482602086016113d8565b91505092915050565b6000806040838503121561148657611485610fdd565b5b600061149485828601611030565b925050602083013567ffffffffffffffff8111156114b5576114b4610fe2565b5b6114c185828601611441565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b61150c816114f7565b82525050565b6080820160008201516115286000850182611503565b50602082015161153b60208501826110a8565b50604082015161154e60408501826110a8565b50606082015161156160608501826110a8565b50505050565b60006115738383611512565b60808301905092915050565b6000602082019050919050565b6000611597826114cb565b6115a181856114d6565b93506115ac836114e7565b8060005b838110156115dd5781516115c48882611567565b97506115cf8361157f565b9250506001810190506115b0565b5085935050505092915050565b60006020820190508181036000830152611604818461158c565b905092915050565b6000806040838503121561162357611622610fdd565b5b600061163185828601611030565b925050602061164285828601611173565b9150509250929050565b611655816114f7565b82525050565b6116648161109e565b82525050565b600060808201905061167f600083018761164c565b61168c602083018661165b565b611699604083018561165b565b6116a6606083018461165b565b95945050505050565b60006020820190506116c4600083018461165b565b92915050565b600080604083850312156116e1576116e0610fdd565b5b600083013567ffffffffffffffff8111156116ff576116fe610fe2565b5b61170b85828601611441565b925050602061171c85828601611173565b9150509250929050565b60006020828403121561173c5761173b610fdd565b5b600082013567ffffffffffffffff81111561175a57611759610fe2565b5b61176684828501611441565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006117d88261109e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361180a5761180961179e565b5b600182019050919050565b600082825260208201905092915050565b7f416c7265616479207374616b696e672074686973204e46540000000000000000600082015250565b600061185c601883611815565b915061186782611826565b602082019050919050565b6000602082019050818103600083015261188b8161184f565b9050919050565b6000815190506118a181611019565b92915050565b6000602082840312156118bd576118bc610fdd565b5b60006118cb84828501611892565b91505092915050565b7f596f7520646f6e2774206f776e2074686973204e465400000000000000000000600082015250565b600061190a601683611815565b9150611915826118d4565b602082019050919050565b60006020820190508181036000830152611939816118fd565b9050919050565b7f696e76616c6964206d6f6e746800000000000000000000000000000000000000600082015250565b6000611976600d83611815565b915061198182611940565b602082019050919050565b600060208201905081810360008301526119a581611969565b9050919050565b60006119b78261109e565b91506119c28361109e565b92508282026119d08161109e565b915082820484148315176119e7576119e661179e565b5b5092915050565b60006119f98261109e565b9150611a048361109e565b9250828201905080821115611a1c57611a1b61179e565b5b92915050565b611a2b81611007565b82525050565b6000606082019050611a466000830186611a22565b611a536020830185611a22565b611a60604083018461165b565b949350505050565b7f4e6f74207374616b696e672074686973204e4654000000000000000000000000600082015250565b6000611a9e601483611815565b9150611aa982611a68565b602082019050919050565b60006020820190508181036000830152611acd81611a91565b9050919050565b7f5374616b6520686173206e6f7420656e64656400000000000000000000000000600082015250565b6000611b0a601383611815565b9150611b1582611ad4565b602082019050919050565b60006020820190508181036000830152611b3981611afd565b9050919050565b6000611b4b8261109e565b9150611b568361109e565b9250828203905081811115611b6e57611b6d61179e565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220275ff03a535cd473bdf88b14db8b3b9aa25e1071b291e84d575de990dcf4029a64736f6c634300081200330000000000000000000000003d4e1dbacf05e34d21fd0a4f7ac8f4c0890659a9
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061007d5760003560e01c806335de32341161005b57806335de3234146101125780638449ff0614610145578063857b767b14610175578063e449f341146101915761007d565b80630423899414610082578063150b7a02146100b25780631a5e174a146100e2575b600080fd5b61009c60048036038101906100979190611045565b6101ad565b6040516100a9919061113a565b60405180910390f35b6100cc60048036038101906100c791906112ce565b610244565b6040516100d9919061138c565b60405180910390f35b6100fc60048036038101906100f7919061146f565b610258565b60405161010991906115ea565b60405180910390f35b61012c6004803603810190610127919061160c565b6103a8565b60405161013c949392919061166a565b60405180910390f35b61015f600480360381019061015a919061160c565b6103f2565b60405161016c91906116af565b60405180910390f35b61018f600480360381019061018a91906116ca565b610423565b005b6101ab60048036038101906101a69190611726565b610909565b005b6060600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561023857602002820191906000526020600020905b815481526020019060010190808311610224575b50505050509050919050565b600063150b7a0260e01b9050949350505050565b60606000825167ffffffffffffffff811115610277576102766111a3565b5b6040519080825280602002602001820160405280156102b057816020015b61029d610fa9565b8152602001906001900390816102955790505b50905060005b835181101561039d576000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008583815181106103125761031161176f565b5b602002602001015181526020019081526020016000206040518060800160405290816000820160009054906101000a900460ff16151515158152602001600182015481526020016002820154815260200160038201548152505082828151811061037f5761037e61176f565b5b60200260200101819052508080610395906117cd565b9150506102b6565b508091505092915050565b6000602052816000526040600020602052806000526040600020600091509150508060000160009054906101000a900460ff16908060010154908060020154908060030154905084565b6001602052816000526040600020818154811061040e57600080fd5b90600052602060002001600091509150505481565b60005b825181101561062557600015156000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008584815181106104865761048561176f565b5b6020026020010151815260200190815260200160002060000160009054906101000a900460ff161515146104ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e690611872565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e8584815181106105575761055661176f565b5b60200260200101516040518263ffffffff1660e01b815260040161057b91906116af565b602060405180830381865afa158015610598573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105bc91906118a7565b73ffffffffffffffffffffffffffffffffffffffff1614610612576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060990611920565b60405180910390fd5b808061061d906117cd565b915050610426565b5060008111610669576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106609061198c565b60405180910390fd5b600d81106106ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a39061198c565b60405180910390fd5b6000601e6018603c80856106c091906119ac565b6106ca91906119ac565b6106d491906119ac565b6106de91906119ac565b426106e991906119ee565b905060005b835181101561090357600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342842e0e333087858151811061074a5761074961176f565b5b60200260200101516040518463ffffffff1660e01b815260040161077093929190611a31565b600060405180830381600087803b15801561078a57600080fd5b505af115801561079e573d6000803e3d6000fd5b505050506040518060800160405280600115158152602001428152602001838152602001848152506000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008684815181106108195761081861176f565b5b6020026020010151815260200190815260200160002060008201518160000160006101000a81548160ff021916908315150217905550602082015181600101556040820151816002015560608201518160030155905050600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208482815181106108c2576108c161176f565b5b6020026020010151908060018154018082558091505060019003906000526020600020016000909190919091505580806108fb906117cd565b9150506106ee565b50505050565b60005b8151811015610ada576000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008383815181106109685761096761176f565b5b6020026020010151815260200190815260200160002060000160009054906101000a900460ff166109ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c590611ab4565b60405180910390fd5b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000848481518110610a2357610a2261176f565b5b602002602001015181526020019081526020016000206040518060800160405290816000820160009054906101000a900460ff16151515158152602001600182015481526020016002820154815260200160038201548152505090508060400151421015610ac6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abd90611b20565b60405180910390fd5b508080610ad2906117cd565b91505061090c565b5060005b8151811015610c7057600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342842e0e3033858581518110610b3a57610b3961176f565b5b60200260200101516040518463ffffffff1660e01b8152600401610b6093929190611a31565b600060405180830381600087803b158015610b7a57600080fd5b505af1158015610b8e573d6000803e3d6000fd5b505050506000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000838381518110610be557610be461176f565b5b60200260200101518152602001908152602001600020600080820160006101000a81549060ff021916905560018201600090556002820160009055600382016000905550506000610c5033848481518110610c4357610c4261176f565b5b6020026020010151610c74565b9050610c5c3382610d86565b508080610c68906117cd565b915050610ade565b5050565b600080600090505b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050811015610d445782600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110610d1857610d1761176f565b5b906000526020600020015403610d315780915050610d80565b8080610d3c906117cd565b915050610c7c565b506040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7790611ab4565b60405180910390fd5b92915050565b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490508110610e0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0190611ab4565b60405180910390fd5b60008190505b60018060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050610e5e9190611b40565b811015610f3f57600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600182610eb191906119ee565b81548110610ec257610ec161176f565b5b9060005260206000200154600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110610f1e57610f1d61176f565b5b90600052602060002001819055508080610f37906117cd565b915050610e10565b50600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480610f8f57610f8e611b74565b5b600190038181906000526020600020016000905590555050565b60405180608001604052806000151581526020016000815260200160008152602001600081525090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061101282610fe7565b9050919050565b61102281611007565b811461102d57600080fd5b50565b60008135905061103f81611019565b92915050565b60006020828403121561105b5761105a610fdd565b5b600061106984828501611030565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000819050919050565b6110b18161109e565b82525050565b60006110c383836110a8565b60208301905092915050565b6000602082019050919050565b60006110e782611072565b6110f1818561107d565b93506110fc8361108e565b8060005b8381101561112d57815161111488826110b7565b975061111f836110cf565b925050600181019050611100565b5085935050505092915050565b6000602082019050818103600083015261115481846110dc565b905092915050565b6111658161109e565b811461117057600080fd5b50565b6000813590506111828161115c565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6111db82611192565b810181811067ffffffffffffffff821117156111fa576111f96111a3565b5b80604052505050565b600061120d610fd3565b905061121982826111d2565b919050565b600067ffffffffffffffff821115611239576112386111a3565b5b61124282611192565b9050602081019050919050565b82818337600083830152505050565b600061127161126c8461121e565b611203565b90508281526020810184848401111561128d5761128c61118d565b5b61129884828561124f565b509392505050565b600082601f8301126112b5576112b4611188565b5b81356112c584826020860161125e565b91505092915050565b600080600080608085870312156112e8576112e7610fdd565b5b60006112f687828801611030565b945050602061130787828801611030565b935050604061131887828801611173565b925050606085013567ffffffffffffffff81111561133957611338610fe2565b5b611345878288016112a0565b91505092959194509250565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61138681611351565b82525050565b60006020820190506113a1600083018461137d565b92915050565b600067ffffffffffffffff8211156113c2576113c16111a3565b5b602082029050602081019050919050565b600080fd5b60006113eb6113e6846113a7565b611203565b9050808382526020820190506020840283018581111561140e5761140d6113d3565b5b835b8181101561143757806114238882611173565b845260208401935050602081019050611410565b5050509392505050565b600082601f83011261145657611455611188565b5b81356114668482602086016113d8565b91505092915050565b6000806040838503121561148657611485610fdd565b5b600061149485828601611030565b925050602083013567ffffffffffffffff8111156114b5576114b4610fe2565b5b6114c185828601611441565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b61150c816114f7565b82525050565b6080820160008201516115286000850182611503565b50602082015161153b60208501826110a8565b50604082015161154e60408501826110a8565b50606082015161156160608501826110a8565b50505050565b60006115738383611512565b60808301905092915050565b6000602082019050919050565b6000611597826114cb565b6115a181856114d6565b93506115ac836114e7565b8060005b838110156115dd5781516115c48882611567565b97506115cf8361157f565b9250506001810190506115b0565b5085935050505092915050565b60006020820190508181036000830152611604818461158c565b905092915050565b6000806040838503121561162357611622610fdd565b5b600061163185828601611030565b925050602061164285828601611173565b9150509250929050565b611655816114f7565b82525050565b6116648161109e565b82525050565b600060808201905061167f600083018761164c565b61168c602083018661165b565b611699604083018561165b565b6116a6606083018461165b565b95945050505050565b60006020820190506116c4600083018461165b565b92915050565b600080604083850312156116e1576116e0610fdd565b5b600083013567ffffffffffffffff8111156116ff576116fe610fe2565b5b61170b85828601611441565b925050602061171c85828601611173565b9150509250929050565b60006020828403121561173c5761173b610fdd565b5b600082013567ffffffffffffffff81111561175a57611759610fe2565b5b61176684828501611441565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006117d88261109e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361180a5761180961179e565b5b600182019050919050565b600082825260208201905092915050565b7f416c7265616479207374616b696e672074686973204e46540000000000000000600082015250565b600061185c601883611815565b915061186782611826565b602082019050919050565b6000602082019050818103600083015261188b8161184f565b9050919050565b6000815190506118a181611019565b92915050565b6000602082840312156118bd576118bc610fdd565b5b60006118cb84828501611892565b91505092915050565b7f596f7520646f6e2774206f776e2074686973204e465400000000000000000000600082015250565b600061190a601683611815565b9150611915826118d4565b602082019050919050565b60006020820190508181036000830152611939816118fd565b9050919050565b7f696e76616c6964206d6f6e746800000000000000000000000000000000000000600082015250565b6000611976600d83611815565b915061198182611940565b602082019050919050565b600060208201905081810360008301526119a581611969565b9050919050565b60006119b78261109e565b91506119c28361109e565b92508282026119d08161109e565b915082820484148315176119e7576119e661179e565b5b5092915050565b60006119f98261109e565b9150611a048361109e565b9250828201905080821115611a1c57611a1b61179e565b5b92915050565b611a2b81611007565b82525050565b6000606082019050611a466000830186611a22565b611a536020830185611a22565b611a60604083018461165b565b949350505050565b7f4e6f74207374616b696e672074686973204e4654000000000000000000000000600082015250565b6000611a9e601483611815565b9150611aa982611a68565b602082019050919050565b60006020820190508181036000830152611acd81611a91565b9050919050565b7f5374616b6520686173206e6f7420656e64656400000000000000000000000000600082015250565b6000611b0a601383611815565b9150611b1582611ad4565b602082019050919050565b60006020820190508181036000830152611b3981611afd565b9050919050565b6000611b4b8261109e565b9150611b568361109e565b9250828203905081811115611b6e57611b6d61179e565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220275ff03a535cd473bdf88b14db8b3b9aa25e1071b291e84d575de990dcf4029a64736f6c63430008120033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000003d4e1dbacf05e34d21fd0a4f7ac8f4c0890659a9
-----Decoded View---------------
Arg [0] : _nft (address): 0x3D4E1DbaCf05e34d21Fd0a4f7Ac8F4C0890659A9
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000003d4e1dbacf05e34d21fd0a4f7ac8f4c0890659a9
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 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.