Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 27 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Mint | 18208867 | 469 days ago | IN | 0 ETH | 0.00178026 | ||||
Mint | 18208867 | 469 days ago | IN | 0 ETH | 0.00178026 | ||||
Mint | 18208866 | 469 days ago | IN | 0 ETH | 0.00181398 | ||||
Mint | 18208866 | 469 days ago | IN | 0 ETH | 0.00181388 | ||||
Mint | 18208866 | 469 days ago | IN | 0 ETH | 0.00181388 | ||||
Mint | 18208866 | 469 days ago | IN | 0 ETH | 0.00181388 | ||||
Mint | 18208866 | 469 days ago | IN | 0 ETH | 0.00313905 | ||||
Mint | 18207501 | 469 days ago | IN | 0 ETH | 0.00340497 | ||||
Mint | 18207501 | 469 days ago | IN | 0 ETH | 0.00196759 | ||||
Mint | 18207406 | 469 days ago | IN | 0 ETH | 0.00398529 | ||||
Mint | 18111345 | 482 days ago | IN | 0 ETH | 0.00195011 | ||||
Mint | 18104106 | 483 days ago | IN | 0 ETH | 0.00222409 | ||||
Mint | 17983462 | 500 days ago | IN | 0 ETH | 0.00414445 | ||||
Mint | 17983458 | 500 days ago | IN | 0 ETH | 0.00408367 | ||||
Mint | 17983318 | 500 days ago | IN | 0 ETH | 0.00337044 | ||||
Mint | 17983231 | 500 days ago | IN | 0 ETH | 0.003233 | ||||
Mint | 17983166 | 500 days ago | IN | 0 ETH | 0.00382602 | ||||
Mint | 17983049 | 500 days ago | IN | 0 ETH | 0.00312081 | ||||
Mint | 17982963 | 500 days ago | IN | 0 ETH | 0.00952939 | ||||
Mint | 17982172 | 500 days ago | IN | 0 ETH | 0.00344232 | ||||
Mint | 17977465 | 501 days ago | IN | 0 ETH | 0.01092875 | ||||
Mint | 17962569 | 503 days ago | IN | 0 ETH | 0.00382283 | ||||
Mint | 17962469 | 503 days ago | IN | 0 ETH | 0.00340272 | ||||
Mint | 17962416 | 503 days ago | IN | 0 ETH | 0.00308649 | ||||
Set Base URI | 17962158 | 503 days ago | IN | 0 ETH | 0.00403878 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
NFTvPandas
Compiler Version
v0.8.17+commit.8df45f5f
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: GPL-3.0 pragma solidity ^0.8.0; interface IERC165 { function supportsInterface(bytes4 interfaceId) external view returns (bool); } interface IERC721 is IERC165 { event Transfer(address indexed from, address indexed to, uint256 indexed tokenId); event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId); event ApprovalForAll(address indexed owner, address indexed operator, bool approved); function balanceOf(address owner) external view returns (uint256 balance); function ownerOf(uint256 tokenId) external view returns (address owner); function safeTransferFrom( address from, address to, uint256 tokenId ) external; function transferFrom( address from, address to, uint256 tokenId ) external; function approve(address to, uint256 tokenId) external; function getApproved(uint256 tokenId) external view returns (address operator); function setApprovalForAll(address operator, bool _approved) external; function isApprovedForAll(address owner, address operator) external view returns (bool); function safeTransferFrom( address from, address to, uint256 tokenId, bytes calldata data ) external; } interface IERC721Receiver { function onERC721Received( address operator, address from, uint256 tokenId, bytes calldata data ) external returns (bytes4); } interface IERC721Metadata is IERC721 { function name() external view returns (string memory); function symbol() external view returns (string memory); function tokenURI(uint256 tokenId) external view returns (string memory); } library Address { function isContract(address account) internal view returns (bool) { return account.code.length > 0; } } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } library Strings { bytes16 private constant _HEX_SYMBOLS = "0123456789abcdef"; function toString(uint256 value) internal pure returns (string memory) { if (value == 0) { return "0"; } uint256 temp = value; uint256 digits; while (temp != 0) { digits++; temp /= 10; } bytes memory buffer = new bytes(digits); while (value != 0) { digits -= 1; buffer[digits] = bytes1(uint8(48 + uint256(value % 10))); value /= 10; } return string(buffer); } function toHexString(uint256 value, uint256 length) internal pure returns (string memory) { bytes memory buffer = new bytes(2 * length + 2); buffer[0] = "0"; buffer[1] = "x"; for (uint256 i = 2 * length + 1; i > 1; --i) { buffer[i] = _HEX_SYMBOLS[value & 0xf]; value >>= 4; } require(value == 0, "Strings: hex length insufficient"); return string(buffer); } } abstract contract ERC165 is IERC165 { function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { return interfaceId == type(IERC165).interfaceId; } } contract ERC721 is Context, ERC165, IERC721, IERC721Metadata { using Address for address; using Strings for uint256; string private _name; string private _symbol; mapping(uint256 => address) private _owners; mapping(address => uint256) private _balances; mapping(uint256 => address) private _tokenApprovals; mapping(address => mapping(address => bool)) private _operatorApprovals; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165, IERC165) returns (bool) { return interfaceId == type(IERC721).interfaceId || interfaceId == type(IERC721Metadata).interfaceId || super.supportsInterface(interfaceId); } function balanceOf(address owner) public view virtual override returns (uint256) { require(owner != address(0), "ERC721: balance query for the zero address"); return _balances[owner]; } function ownerOf(uint256 tokenId) public view virtual override returns (address) { address owner = _owners[tokenId]; require(owner != address(0), "ERC721: owner query for nonexistent token"); return owner; } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function tokenURI(uint256 tokenId) public view virtual override returns (string memory) { require(_exists(tokenId), "ERC721Metadata: URI query for nonexistent token"); string memory baseURI = _baseURI(); return bytes(baseURI).length > 0 ? string(abi.encodePacked(baseURI, tokenId.toString())) : ""; } function _baseURI() internal view virtual returns (string memory) { return ""; } function approve(address to, uint256 tokenId) public virtual override { address owner = ERC721.ownerOf(tokenId); require(to != owner, "ERC721: approval to current owner"); require( _msgSender() == owner || isApprovedForAll(owner, _msgSender()), "ERC721: approve caller is not owner nor approved for all" ); _approve(to, tokenId); } function getApproved(uint256 tokenId) public view virtual override returns (address) { require(_exists(tokenId), "ERC721: approved query for nonexistent token"); return _tokenApprovals[tokenId]; } function setApprovalForAll(address operator, bool approved) public virtual override { _setApprovalForAll(_msgSender(), operator, approved); } function isApprovedForAll(address owner, address operator) public view virtual override returns (bool) { return _operatorApprovals[owner][operator]; } function transferFrom( address from, address to, uint256 tokenId ) public virtual override { require(_isApprovedOrOwner(_msgSender(), tokenId), "ERC721: transfer caller is not owner nor approved"); _transfer(from, to, tokenId); } function safeTransferFrom( address from, address to, uint256 tokenId ) public virtual override { safeTransferFrom(from, to, tokenId, ""); } function safeTransferFrom( address from, address to, uint256 tokenId, bytes memory _data ) public virtual override { require(_isApprovedOrOwner(_msgSender(), tokenId), "ERC721: transfer caller is not owner nor approved"); _safeTransfer(from, to, tokenId, _data); } function _safeTransfer( address from, address to, uint256 tokenId, bytes memory _data ) internal virtual { _transfer(from, to, tokenId); require(_checkOnERC721Received(from, to, tokenId, _data), "ERC721: transfer to non ERC721Receiver implementer"); } function _exists(uint256 tokenId) internal view virtual returns (bool) { return _owners[tokenId] != address(0); } function _isApprovedOrOwner(address spender, uint256 tokenId) internal view virtual returns (bool) { require(_exists(tokenId), "ERC721: operator query for nonexistent token"); address owner = ERC721.ownerOf(tokenId); return (spender == owner || getApproved(tokenId) == spender || isApprovedForAll(owner, spender)); } function _mint(address to, uint256 tokenId) internal virtual { require(to != address(0), "ERC721: mint to the zero address"); require(!_exists(tokenId), "ERC721: token already minted"); _beforeTokenTransfer(address(0), to, tokenId); _balances[to] += 1; _owners[tokenId] = to; emit Transfer(address(0), to, tokenId); _afterTokenTransfer(address(0), to, tokenId); } function _transfer( address from, address to, uint256 tokenId ) internal virtual { require(ERC721.ownerOf(tokenId) == from, "ERC721: transfer from incorrect owner"); require(to != address(0), "ERC721: transfer to the zero address"); _beforeTokenTransfer(from, to, tokenId); _approve(address(0), tokenId); _balances[from] -= 1; _balances[to] += 1; _owners[tokenId] = to; emit Transfer(from, to, tokenId); _afterTokenTransfer(from, to, tokenId); } function _approve(address to, uint256 tokenId) internal virtual { _tokenApprovals[tokenId] = to; emit Approval(ERC721.ownerOf(tokenId), to, tokenId); } function _setApprovalForAll( address owner, address operator, bool approved ) internal virtual { require(owner != operator, "ERC721: approve to caller"); _operatorApprovals[owner][operator] = approved; emit ApprovalForAll(owner, operator, approved); } function _checkOnERC721Received( address from, address to, uint256 tokenId, bytes memory _data ) private returns (bool) { if (to.isContract()) { try IERC721Receiver(to).onERC721Received(_msgSender(), from, tokenId, _data) returns (bytes4 retval) { return retval == IERC721Receiver.onERC721Received.selector; } catch (bytes memory reason) { if (reason.length == 0) { revert("ERC721: transfer to non ERC721Receiver implementer"); } else { assembly { revert(add(32, reason), mload(reason)) } } } } else { return true; } } function _beforeTokenTransfer( address from, address to, uint256 tokenId ) internal virtual {} function _afterTokenTransfer( address from, address to, uint256 tokenId ) internal virtual {} } interface IERC721Enumerable is IERC721 { function totalSupply() external view returns (uint256); function tokenOfOwnerByIndex(address owner, uint256 index) external view returns (uint256); function tokenByIndex(uint256 index) external view returns (uint256); } abstract contract ERC721Enumerable is ERC721, IERC721Enumerable { mapping(address => mapping(uint256 => uint256)) private _ownedTokens; mapping(uint256 => uint256) private _ownedTokensIndex; uint256[] private _allTokens; mapping(uint256 => uint256) private _allTokensIndex; function supportsInterface(bytes4 interfaceId) public view virtual override(IERC165, ERC721) returns (bool) { return interfaceId == type(IERC721Enumerable).interfaceId || super.supportsInterface(interfaceId); } function tokenOfOwnerByIndex(address owner, uint256 index) public view virtual override returns (uint256) { require(index < ERC721.balanceOf(owner), "ERC721Enumerable: owner index out of bounds"); return _ownedTokens[owner][index]; } function totalSupply() public view virtual override returns (uint256) { return _allTokens.length; } function tokenByIndex(uint256 index) public view virtual override returns (uint256) { require(index < ERC721Enumerable.totalSupply(), "ERC721Enumerable: global index out of bounds"); return _allTokens[index]; } function _beforeTokenTransfer( address from, address to, uint256 tokenId ) internal virtual override { super._beforeTokenTransfer(from, to, tokenId); if (from == address(0)) { _addTokenToAllTokensEnumeration(tokenId); } else if (from != to) { _removeTokenFromOwnerEnumeration(from, tokenId); } if (to == address(0)) { _removeTokenFromAllTokensEnumeration(tokenId); } else if (to != from) { _addTokenToOwnerEnumeration(to, tokenId); } } function _addTokenToOwnerEnumeration(address to, uint256 tokenId) private { uint256 length = ERC721.balanceOf(to); _ownedTokens[to][length] = tokenId; _ownedTokensIndex[tokenId] = length; } function _addTokenToAllTokensEnumeration(uint256 tokenId) private { _allTokensIndex[tokenId] = _allTokens.length; _allTokens.push(tokenId); } function _removeTokenFromOwnerEnumeration(address from, uint256 tokenId) private { uint256 lastTokenIndex = ERC721.balanceOf(from) - 1; uint256 tokenIndex = _ownedTokensIndex[tokenId]; if (tokenIndex != lastTokenIndex) { uint256 lastTokenId = _ownedTokens[from][lastTokenIndex]; _ownedTokens[from][tokenIndex] = lastTokenId; _ownedTokensIndex[lastTokenId] = tokenIndex; } delete _ownedTokensIndex[tokenId]; delete _ownedTokens[from][lastTokenIndex]; } function _removeTokenFromAllTokensEnumeration(uint256 tokenId) private { uint256 lastTokenIndex = _allTokens.length - 1; uint256 tokenIndex = _allTokensIndex[tokenId]; uint256 lastTokenId = _allTokens[lastTokenIndex]; _allTokens[tokenIndex] = lastTokenId; _allTokensIndex[lastTokenId] = tokenIndex; delete _allTokensIndex[tokenId]; _allTokens.pop(); } } interface IAccessControl { event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole); event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender); event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender); function hasRole(bytes32 role, address account) external view returns (bool); function getRoleAdmin(bytes32 role) external view returns (bytes32); function grantRole(bytes32 role, address account) external; function revokeRole(bytes32 role, address account) external; function renounceRole(bytes32 role, address account) external; } abstract contract AccessControl is Context, IAccessControl, ERC165 { struct RoleData { mapping(address => bool) members; bytes32 adminRole; } mapping(bytes32 => RoleData) private _roles; bytes32 public constant DEFAULT_ADMIN_ROLE = 0x00; modifier onlyRole(bytes32 role) { _checkRole(role); _; } function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165) returns (bool) { return interfaceId == type(IAccessControl).interfaceId || super.supportsInterface(interfaceId); } function hasRole(bytes32 role, address account) public view virtual override returns (bool) { return _roles[role].members[account]; } function _checkRole(bytes32 role) internal view virtual { _checkRole(role, _msgSender()); } function _checkRole(bytes32 role, address account) internal view virtual { if (!hasRole(role, account)) { revert( string( abi.encodePacked( "AccessControl: account ", Strings.toHexString(uint160(account), 20), " is missing role ", Strings.toHexString(uint256(role), 32) ) ) ); } } function getRoleAdmin(bytes32 role) public view virtual override returns (bytes32) { return _roles[role].adminRole; } function grantRole(bytes32 role, address account) public virtual override onlyRole(getRoleAdmin(role)) { _grantRole(role, account); } function revokeRole(bytes32 role, address account) public virtual override onlyRole(getRoleAdmin(role)) { _revokeRole(role, account); } function renounceRole(bytes32 role, address account) public virtual override { require(account == _msgSender(), "AccessControl: can only renounce roles for self"); _revokeRole(role, account); } function _setupRole(bytes32 role, address account) internal virtual { _grantRole(role, account); } function _grantRole(bytes32 role, address account) internal virtual { if (!hasRole(role, account)) { _roles[role].members[account] = true; emit RoleGranted(role, account, _msgSender()); } } function _revokeRole(bytes32 role, address account) internal virtual { if (hasRole(role, account)) { _roles[role].members[account] = false; emit RoleRevoked(role, account, _msgSender()); } } } contract NFTvPandas is ERC721Enumerable, AccessControl { bytes32 public constant SUBADMIN_ROLE = keccak256("SUBADMIN_ROLE"); string public baseURI = ""; bool public isPaused; address public deadWallet = 0x000000000000000000000000000000000000dEaD; IERC721 public nftGenBox; // nftGenBox contract address constructor() ERC721("NFTvPandas", "NFTvPandas") { _setupRole(DEFAULT_ADMIN_ROLE, _msgSender()); _setupRole(SUBADMIN_ROLE, _msgSender()); } // get a complete memory nft id array of the owner function walletOfOwner(address _owner) public view returns (uint256[] memory) { uint256 tokenCount = balanceOf(_owner); uint256[] memory result = new uint256[](tokenCount); for(uint256 i = 0; i < tokenCount; i++) { result[i] = tokenOfOwnerByIndex(_owner, i); } return result; } // required by ERC165 function supportsInterface(bytes4 interfaceId) public view virtual override(ERC721Enumerable, AccessControl) returns (bool) { return interfaceId == type(IAccessControl).interfaceId || interfaceId == type(IERC721).interfaceId || interfaceId == type(IERC721Metadata).interfaceId || interfaceId == type(IERC721Enumerable).interfaceId || interfaceId == type(IERC165).interfaceId || super.supportsInterface(interfaceId); } function _baseURI() internal view override returns (string memory) { return baseURI; } function exists(uint256 _tokenId) external view returns(bool){ return _exists(_tokenId); } // ERC721 mint function increment id function internalMint(address _address, uint256 id) private returns(bool){ _mint(_address, id); return true; } // public mint: will send to deadWallet the genBox nft (contract approval required) function mint(uint256[] memory _idList) external { require(!isPaused, "contract paused"); require(_idList.length > 0, "empty array"); require(address(nftGenBox) != address(0), "nftGenBox not set"); // loop of mint for(uint256 i = 0; i < _idList.length; i++) { require(nftGenBox.ownerOf(_idList[i]) == _msgSender(), "not the owner"); nftGenBox.safeTransferFrom(_msgSender(), deadWallet, _idList[i]); require(internalMint(_msgSender(), _idList[i]), "mint error"); } } // nftGenBox contract address function setNftGenBox(IERC721 _nftGenBox) external onlyRole(SUBADMIN_ROLE) { nftGenBox = _nftGenBox; } function setIsPaused(bool _isPaused) external onlyRole(SUBADMIN_ROLE) { isPaused = _isPaused; } function setBaseURI(string memory baseURI_) external onlyRole(SUBADMIN_ROLE) { baseURI = baseURI_; } }
{ "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SUBADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"exists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_idList","type":"uint256[]"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nftGenBox","outputs":[{"internalType":"contract IERC721","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"baseURI_","type":"string"}],"name":"setBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_isPaused","type":"bool"}],"name":"setIsPaused","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC721","name":"_nftGenBox","type":"address"}],"name":"setNftGenBox","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenOfOwnerByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"walletOfOwner","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60a060405260006080908152600b906200001a90826200022d565b50600c8054610100600160a81b03191662dead001790553480156200003e57600080fd5b50604080518082018252600a808252694e46547650616e64617360b01b60208084018290528451808601909552918452908301529060006200008183826200022d565b5060016200009082826200022d565b50620000a291506000905033620000d4565b620000ce7f2ccf90dd7c30b80a460e25097b3c5ef613343f69ad6b2cfd3cfb644af593ca0b33620000d4565b620002f9565b620000e08282620000e4565b5050565b6000828152600a602090815260408083206001600160a01b038516845290915290205460ff16620000e0576000828152600a602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620001443390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620001b357607f821691505b602082108103620001d457634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200022857600081815260208120601f850160051c81016020861015620002035750805b601f850160051c820191505b8181101562000224578281556001016200020f565b5050505b505050565b81516001600160401b0381111562000249576200024962000188565b62000261816200025a84546200019e565b84620001da565b602080601f831160018114620002995760008415620002805750858301515b600019600386901b1c1916600185901b17855562000224565b600085815260208120601f198616915b82811015620002ca57888601518255948401946001909101908401620002a9565b5085821015620002e95787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6126e980620003096000396000f3fe608060405234801561001057600080fd5b50600436106101fb5760003560e01c80636352211e1161011a578063a22cb465116100ad578063ba87a7c91161007c578063ba87a7c91461043f578063c87b56dd14610454578063d547741f14610467578063e985e9c51461047a578063f8e93ef9146104b657600080fd5b8063a22cb465146103f9578063ac2d83fd1461040c578063b187bd261461041f578063b88d4fde1461042c57600080fd5b806385141a77116100e957806385141a77146103be57806391d14854146103d657806395d89b41146103e9578063a217fddf146103f157600080fd5b80636352211e1461037d5780636c0360eb1461039057806370a08231146103985780637df12069146103ab57600080fd5b80632f2ff15d11610192578063438b630011610161578063438b6300146103245780634f558e79146103445780634f6ccce71461035757806355f804b31461036a57600080fd5b80632f2ff15d146102d85780632f745c59146102eb57806336568abe146102fe57806342842e0e1461031157600080fd5b806318160ddd116101ce57806318160ddd1461027d57806323b872dd1461028f578063240976bf146102a2578063248a9ca3146102b557600080fd5b806301ffc9a71461020057806306fdde0314610228578063081812fc1461023d578063095ea7b314610268575b600080fd5b61021361020e366004611e53565b6104c9565b60405190151581526020015b60405180910390f35b610230610560565b60405161021f9190611ec0565b61025061024b366004611ed3565b6105f2565b6040516001600160a01b03909116815260200161021f565b61027b610276366004611f01565b61068c565b005b6008545b60405190815260200161021f565b61027b61029d366004611f2d565b6107a1565b61027b6102b0366004611f83565b6107d2565b6102816102c3366004611ed3565b6000908152600a602052604090206001015490565b61027b6102e6366004611f9e565b6107fe565b6102816102f9366004611f01565b610823565b61027b61030c366004611f9e565b6108b9565b61027b61031f366004611f2d565b610937565b610337610332366004611fce565b610952565b60405161021f9190611feb565b610213610352366004611ed3565b6109f4565b610281610365366004611ed3565b610a13565b61027b6103783660046120ce565b610aa6565b61025061038b366004611ed3565b610aca565b610230610b41565b6102816103a6366004611fce565b610bcf565b600d54610250906001600160a01b031681565b600c546102509061010090046001600160a01b031681565b6102136103e4366004611f9e565b610c56565b610230610c81565b610281600081565b61027b610407366004612117565b610c90565b61027b61041a366004611fce565b610c9b565b600c546102139060ff1681565b61027b61043a36600461214c565b610cd6565b61028160008051602061269483398151915281565b610230610462366004611ed3565b610d0e565b61027b610475366004611f9e565b610de9565b6102136104883660046121cc565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b61027b6104c43660046121fa565b610e0e565b60006001600160e01b03198216637965db0b60e01b14806104fa57506001600160e01b031982166380ac58cd60e01b145b8061051557506001600160e01b03198216635b5e139f60e01b145b8061053057506001600160e01b0319821663780e9d6360e01b145b8061054b57506001600160e01b031982166301ffc9a760e01b145b8061055a575061055a826110e0565b92915050565b60606000805461056f906122a0565b80601f016020809104026020016040519081016040528092919081815260200182805461059b906122a0565b80156105e85780601f106105bd576101008083540402835291602001916105e8565b820191906000526020600020905b8154815290600101906020018083116105cb57829003601f168201915b5050505050905090565b6000818152600260205260408120546001600160a01b03166106705760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152600460205260409020546001600160a01b031690565b600061069782610aca565b9050806001600160a01b0316836001600160a01b0316036107045760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610667565b336001600160a01b038216148061072057506107208133610488565b6107925760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152608401610667565b61079c8383611105565b505050565b6107ab3382611173565b6107c75760405162461bcd60e51b8152600401610667906122da565b61079c83838361126a565b6000805160206126948339815191526107ea81611411565b50600c805460ff1916911515919091179055565b6000828152600a602052604090206001015461081981611411565b61079c838361141e565b600061082e83610bcf565b82106108905760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b6064820152608401610667565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b6001600160a01b03811633146109295760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610667565b61093382826114a4565b5050565b61079c83838360405180602001604052806000815250610cd6565b6060600061095f83610bcf565b905060008167ffffffffffffffff81111561097c5761097c61202f565b6040519080825280602002602001820160405280156109a5578160200160208202803683370190505b50905060005b828110156109ec576109bd8582610823565b8282815181106109cf576109cf61232b565b6020908102919091010152806109e481612357565b9150506109ab565b509392505050565b6000818152600260205260408120546001600160a01b0316151561055a565b6000610a1e60085490565b8210610a815760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b6064820152608401610667565b60088281548110610a9457610a9461232b565b90600052602060002001549050919050565b600080516020612694833981519152610abe81611411565b600b61079c83826123be565b6000818152600260205260408120546001600160a01b03168061055a5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b6064820152608401610667565b600b8054610b4e906122a0565b80601f0160208091040260200160405190810160405280929190818152602001828054610b7a906122a0565b8015610bc75780601f10610b9c57610100808354040283529160200191610bc7565b820191906000526020600020905b815481529060010190602001808311610baa57829003601f168201915b505050505081565b60006001600160a01b038216610c3a5760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b6064820152608401610667565b506001600160a01b031660009081526003602052604090205490565b6000918252600a602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60606001805461056f906122a0565b61093333838361150b565b600080516020612694833981519152610cb381611411565b50600d80546001600160a01b0319166001600160a01b0392909216919091179055565b610ce03383611173565b610cfc5760405162461bcd60e51b8152600401610667906122da565b610d08848484846115d9565b50505050565b6000818152600260205260409020546060906001600160a01b0316610d8d5760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b6064820152608401610667565b6000610d9761160c565b90506000815111610db75760405180602001604052806000815250610de2565b80610dc18461161b565b604051602001610dd292919061247e565b6040516020818303038152906040525b9392505050565b6000828152600a6020526040902060010154610e0481611411565b61079c83836114a4565b600c5460ff1615610e535760405162461bcd60e51b815260206004820152600f60248201526e18dbdb9d1c9858dd081c185d5cd959608a1b6044820152606401610667565b6000815111610e925760405162461bcd60e51b815260206004820152600b60248201526a656d70747920617272617960a81b6044820152606401610667565b600d546001600160a01b0316610ede5760405162461bcd60e51b81526020600482015260116024820152701b999d11d95b909bde081b9bdd081cd95d607a1b6044820152606401610667565b60005b815181101561093357600d54825133916001600160a01b031690636352211e90859085908110610f1357610f1361232b565b60200260200101516040518263ffffffff1660e01b8152600401610f3991815260200190565b602060405180830381865afa158015610f56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f7a91906124ad565b6001600160a01b031614610fc05760405162461bcd60e51b815260206004820152600d60248201526c3737ba103a34329037bbb732b960991b6044820152606401610667565b600d546001600160a01b03166342842e0e33600c60019054906101000a90046001600160a01b0316858581518110610ffa57610ffa61232b565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526044820152606401600060405180830381600087803b15801561105457600080fd5b505af1158015611068573d6000803e3d6000fd5b505050506110956110763390565b8383815181106110885761108861232b565b602002602001015161171c565b6110ce5760405162461bcd60e51b815260206004820152600a60248201526936b4b73a1032b93937b960b11b6044820152606401610667565b806110d881612357565b915050610ee1565b60006001600160e01b03198216637965db0b60e01b148061055a575061055a82611731565b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061113a82610aca565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000818152600260205260408120546001600160a01b03166111ec5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610667565b60006111f783610aca565b9050806001600160a01b0316846001600160a01b031614806112325750836001600160a01b0316611227846105f2565b6001600160a01b0316145b8061126257506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b949350505050565b826001600160a01b031661127d82610aca565b6001600160a01b0316146112e15760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608401610667565b6001600160a01b0382166113435760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610667565b61134e838383611756565b611359600082611105565b6001600160a01b03831660009081526003602052604081208054600192906113829084906124ca565b90915550506001600160a01b03821660009081526003602052604081208054600192906113b09084906124dd565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b61141b813361180e565b50565b6114288282610c56565b610933576000828152600a602090815260408083206001600160a01b03851684529091529020805460ff191660011790556114603390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6114ae8282610c56565b15610933576000828152600a602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b816001600160a01b0316836001600160a01b03160361156c5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610667565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6115e484848461126a565b6115f084848484611872565b610d085760405162461bcd60e51b8152600401610667906124f0565b6060600b805461056f906122a0565b6060816000036116425750506040805180820190915260018152600360fc1b602082015290565b8160005b811561166c578061165681612357565b91506116659050600a83612558565b9150611646565b60008167ffffffffffffffff8111156116875761168761202f565b6040519080825280601f01601f1916602001820160405280156116b1576020820181803683370190505b5090505b8415611262576116c66001836124ca565b91506116d3600a8661256c565b6116de9060306124dd565b60f81b8183815181106116f3576116f361232b565b60200101906001600160f81b031916908160001a905350611715600a86612558565b94506116b5565b60006117288383611973565b50600192915050565b60006001600160e01b0319821663780e9d6360e01b148061055a575061055a82611ac1565b6001600160a01b0383166117b1576117ac81600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b6117d4565b816001600160a01b0316836001600160a01b0316146117d4576117d48382611b11565b6001600160a01b0382166117eb5761079c81611bae565b826001600160a01b0316826001600160a01b03161461079c5761079c8282611c5d565b6118188282610c56565b61093357611830816001600160a01b03166014611ca1565b61183b836020611ca1565b60405160200161184c929190612580565b60408051601f198184030181529082905262461bcd60e51b825261066791600401611ec0565b60006001600160a01b0384163b1561196857604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906118b69033908990889088906004016125f5565b6020604051808303816000875af19250505080156118f1575060408051601f3d908101601f191682019092526118ee91810190612632565b60015b61194e573d80801561191f576040519150601f19603f3d011682016040523d82523d6000602084013e611924565b606091505b5080516000036119465760405162461bcd60e51b8152600401610667906124f0565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611262565b506001949350505050565b6001600160a01b0382166119c95760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610667565b6000818152600260205260409020546001600160a01b031615611a2e5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610667565b611a3a60008383611756565b6001600160a01b0382166000908152600360205260408120805460019290611a639084906124dd565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60006001600160e01b031982166380ac58cd60e01b1480611af257506001600160e01b03198216635b5e139f60e01b145b8061055a57506301ffc9a760e01b6001600160e01b031983161461055a565b60006001611b1e84610bcf565b611b2891906124ca565b600083815260076020526040902054909150808214611b7b576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b600854600090611bc0906001906124ca565b60008381526009602052604081205460088054939450909284908110611be857611be861232b565b906000526020600020015490508060088381548110611c0957611c0961232b565b6000918252602080832090910192909255828152600990915260408082208490558582528120556008805480611c4157611c4161264f565b6001900381819060005260206000200160009055905550505050565b6000611c6883610bcf565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b60606000611cb0836002612665565b611cbb9060026124dd565b67ffffffffffffffff811115611cd357611cd361202f565b6040519080825280601f01601f191660200182016040528015611cfd576020820181803683370190505b509050600360fc1b81600081518110611d1857611d1861232b565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110611d4757611d4761232b565b60200101906001600160f81b031916908160001a9053506000611d6b846002612665565b611d769060016124dd565b90505b6001811115611dee576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110611daa57611daa61232b565b1a60f81b828281518110611dc057611dc061232b565b60200101906001600160f81b031916908160001a90535060049490941c93611de78161267c565b9050611d79565b508315610de25760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610667565b6001600160e01b03198116811461141b57600080fd5b600060208284031215611e6557600080fd5b8135610de281611e3d565b60005b83811015611e8b578181015183820152602001611e73565b50506000910152565b60008151808452611eac816020860160208601611e70565b601f01601f19169290920160200192915050565b602081526000610de26020830184611e94565b600060208284031215611ee557600080fd5b5035919050565b6001600160a01b038116811461141b57600080fd5b60008060408385031215611f1457600080fd5b8235611f1f81611eec565b946020939093013593505050565b600080600060608486031215611f4257600080fd5b8335611f4d81611eec565b92506020840135611f5d81611eec565b929592945050506040919091013590565b80358015158114611f7e57600080fd5b919050565b600060208284031215611f9557600080fd5b610de282611f6e565b60008060408385031215611fb157600080fd5b823591506020830135611fc381611eec565b809150509250929050565b600060208284031215611fe057600080fd5b8135610de281611eec565b6020808252825182820181905260009190848201906040850190845b8181101561202357835183529284019291840191600101612007565b50909695505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561206e5761206e61202f565b604052919050565b600067ffffffffffffffff8311156120905761209061202f565b6120a3601f8401601f1916602001612045565b90508281528383830111156120b757600080fd5b828260208301376000602084830101529392505050565b6000602082840312156120e057600080fd5b813567ffffffffffffffff8111156120f757600080fd5b8201601f8101841361210857600080fd5b61126284823560208401612076565b6000806040838503121561212a57600080fd5b823561213581611eec565b915061214360208401611f6e565b90509250929050565b6000806000806080858703121561216257600080fd5b843561216d81611eec565b9350602085013561217d81611eec565b925060408501359150606085013567ffffffffffffffff8111156121a057600080fd5b8501601f810187136121b157600080fd5b6121c087823560208401612076565b91505092959194509250565b600080604083850312156121df57600080fd5b82356121ea81611eec565b91506020830135611fc381611eec565b6000602080838503121561220d57600080fd5b823567ffffffffffffffff8082111561222557600080fd5b818501915085601f83011261223957600080fd5b81358181111561224b5761224b61202f565b8060051b915061225c848301612045565b818152918301840191848101908884111561227657600080fd5b938501935b838510156122945784358252938501939085019061227b565b98975050505050505050565b600181811c908216806122b457607f821691505b6020821081036122d457634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161236957612369612341565b5060010190565b601f82111561079c57600081815260208120601f850160051c810160208610156123975750805b601f850160051c820191505b818110156123b6578281556001016123a3565b505050505050565b815167ffffffffffffffff8111156123d8576123d861202f565b6123ec816123e684546122a0565b84612370565b602080601f83116001811461242157600084156124095750858301515b600019600386901b1c1916600185901b1785556123b6565b600085815260208120601f198616915b8281101561245057888601518255948401946001909101908401612431565b508582101561246e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008351612490818460208801611e70565b8351908301906124a4818360208801611e70565b01949350505050565b6000602082840312156124bf57600080fd5b8151610de281611eec565b8181038181111561055a5761055a612341565b8082018082111561055a5761055a612341565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b634e487b7160e01b600052601260045260246000fd5b60008261256757612567612542565b500490565b60008261257b5761257b612542565b500690565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516125b8816017850160208801611e70565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516125e9816028840160208801611e70565b01602801949350505050565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061262890830184611e94565b9695505050505050565b60006020828403121561264457600080fd5b8151610de281611e3d565b634e487b7160e01b600052603160045260246000fd5b808202811582820484141761055a5761055a612341565b60008161268b5761268b612341565b50600019019056fe2ccf90dd7c30b80a460e25097b3c5ef613343f69ad6b2cfd3cfb644af593ca0ba26469706673582212203dd3507ade502a490b95d63c74bbc4ead885950f704cdfe877169bb61db8d46c64736f6c63430008110033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101fb5760003560e01c80636352211e1161011a578063a22cb465116100ad578063ba87a7c91161007c578063ba87a7c91461043f578063c87b56dd14610454578063d547741f14610467578063e985e9c51461047a578063f8e93ef9146104b657600080fd5b8063a22cb465146103f9578063ac2d83fd1461040c578063b187bd261461041f578063b88d4fde1461042c57600080fd5b806385141a77116100e957806385141a77146103be57806391d14854146103d657806395d89b41146103e9578063a217fddf146103f157600080fd5b80636352211e1461037d5780636c0360eb1461039057806370a08231146103985780637df12069146103ab57600080fd5b80632f2ff15d11610192578063438b630011610161578063438b6300146103245780634f558e79146103445780634f6ccce71461035757806355f804b31461036a57600080fd5b80632f2ff15d146102d85780632f745c59146102eb57806336568abe146102fe57806342842e0e1461031157600080fd5b806318160ddd116101ce57806318160ddd1461027d57806323b872dd1461028f578063240976bf146102a2578063248a9ca3146102b557600080fd5b806301ffc9a71461020057806306fdde0314610228578063081812fc1461023d578063095ea7b314610268575b600080fd5b61021361020e366004611e53565b6104c9565b60405190151581526020015b60405180910390f35b610230610560565b60405161021f9190611ec0565b61025061024b366004611ed3565b6105f2565b6040516001600160a01b03909116815260200161021f565b61027b610276366004611f01565b61068c565b005b6008545b60405190815260200161021f565b61027b61029d366004611f2d565b6107a1565b61027b6102b0366004611f83565b6107d2565b6102816102c3366004611ed3565b6000908152600a602052604090206001015490565b61027b6102e6366004611f9e565b6107fe565b6102816102f9366004611f01565b610823565b61027b61030c366004611f9e565b6108b9565b61027b61031f366004611f2d565b610937565b610337610332366004611fce565b610952565b60405161021f9190611feb565b610213610352366004611ed3565b6109f4565b610281610365366004611ed3565b610a13565b61027b6103783660046120ce565b610aa6565b61025061038b366004611ed3565b610aca565b610230610b41565b6102816103a6366004611fce565b610bcf565b600d54610250906001600160a01b031681565b600c546102509061010090046001600160a01b031681565b6102136103e4366004611f9e565b610c56565b610230610c81565b610281600081565b61027b610407366004612117565b610c90565b61027b61041a366004611fce565b610c9b565b600c546102139060ff1681565b61027b61043a36600461214c565b610cd6565b61028160008051602061269483398151915281565b610230610462366004611ed3565b610d0e565b61027b610475366004611f9e565b610de9565b6102136104883660046121cc565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b61027b6104c43660046121fa565b610e0e565b60006001600160e01b03198216637965db0b60e01b14806104fa57506001600160e01b031982166380ac58cd60e01b145b8061051557506001600160e01b03198216635b5e139f60e01b145b8061053057506001600160e01b0319821663780e9d6360e01b145b8061054b57506001600160e01b031982166301ffc9a760e01b145b8061055a575061055a826110e0565b92915050565b60606000805461056f906122a0565b80601f016020809104026020016040519081016040528092919081815260200182805461059b906122a0565b80156105e85780601f106105bd576101008083540402835291602001916105e8565b820191906000526020600020905b8154815290600101906020018083116105cb57829003601f168201915b5050505050905090565b6000818152600260205260408120546001600160a01b03166106705760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152600460205260409020546001600160a01b031690565b600061069782610aca565b9050806001600160a01b0316836001600160a01b0316036107045760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610667565b336001600160a01b038216148061072057506107208133610488565b6107925760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152608401610667565b61079c8383611105565b505050565b6107ab3382611173565b6107c75760405162461bcd60e51b8152600401610667906122da565b61079c83838361126a565b6000805160206126948339815191526107ea81611411565b50600c805460ff1916911515919091179055565b6000828152600a602052604090206001015461081981611411565b61079c838361141e565b600061082e83610bcf565b82106108905760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b6064820152608401610667565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b6001600160a01b03811633146109295760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610667565b61093382826114a4565b5050565b61079c83838360405180602001604052806000815250610cd6565b6060600061095f83610bcf565b905060008167ffffffffffffffff81111561097c5761097c61202f565b6040519080825280602002602001820160405280156109a5578160200160208202803683370190505b50905060005b828110156109ec576109bd8582610823565b8282815181106109cf576109cf61232b565b6020908102919091010152806109e481612357565b9150506109ab565b509392505050565b6000818152600260205260408120546001600160a01b0316151561055a565b6000610a1e60085490565b8210610a815760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b6064820152608401610667565b60088281548110610a9457610a9461232b565b90600052602060002001549050919050565b600080516020612694833981519152610abe81611411565b600b61079c83826123be565b6000818152600260205260408120546001600160a01b03168061055a5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b6064820152608401610667565b600b8054610b4e906122a0565b80601f0160208091040260200160405190810160405280929190818152602001828054610b7a906122a0565b8015610bc75780601f10610b9c57610100808354040283529160200191610bc7565b820191906000526020600020905b815481529060010190602001808311610baa57829003601f168201915b505050505081565b60006001600160a01b038216610c3a5760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b6064820152608401610667565b506001600160a01b031660009081526003602052604090205490565b6000918252600a602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60606001805461056f906122a0565b61093333838361150b565b600080516020612694833981519152610cb381611411565b50600d80546001600160a01b0319166001600160a01b0392909216919091179055565b610ce03383611173565b610cfc5760405162461bcd60e51b8152600401610667906122da565b610d08848484846115d9565b50505050565b6000818152600260205260409020546060906001600160a01b0316610d8d5760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b6064820152608401610667565b6000610d9761160c565b90506000815111610db75760405180602001604052806000815250610de2565b80610dc18461161b565b604051602001610dd292919061247e565b6040516020818303038152906040525b9392505050565b6000828152600a6020526040902060010154610e0481611411565b61079c83836114a4565b600c5460ff1615610e535760405162461bcd60e51b815260206004820152600f60248201526e18dbdb9d1c9858dd081c185d5cd959608a1b6044820152606401610667565b6000815111610e925760405162461bcd60e51b815260206004820152600b60248201526a656d70747920617272617960a81b6044820152606401610667565b600d546001600160a01b0316610ede5760405162461bcd60e51b81526020600482015260116024820152701b999d11d95b909bde081b9bdd081cd95d607a1b6044820152606401610667565b60005b815181101561093357600d54825133916001600160a01b031690636352211e90859085908110610f1357610f1361232b565b60200260200101516040518263ffffffff1660e01b8152600401610f3991815260200190565b602060405180830381865afa158015610f56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f7a91906124ad565b6001600160a01b031614610fc05760405162461bcd60e51b815260206004820152600d60248201526c3737ba103a34329037bbb732b960991b6044820152606401610667565b600d546001600160a01b03166342842e0e33600c60019054906101000a90046001600160a01b0316858581518110610ffa57610ffa61232b565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526044820152606401600060405180830381600087803b15801561105457600080fd5b505af1158015611068573d6000803e3d6000fd5b505050506110956110763390565b8383815181106110885761108861232b565b602002602001015161171c565b6110ce5760405162461bcd60e51b815260206004820152600a60248201526936b4b73a1032b93937b960b11b6044820152606401610667565b806110d881612357565b915050610ee1565b60006001600160e01b03198216637965db0b60e01b148061055a575061055a82611731565b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061113a82610aca565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000818152600260205260408120546001600160a01b03166111ec5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610667565b60006111f783610aca565b9050806001600160a01b0316846001600160a01b031614806112325750836001600160a01b0316611227846105f2565b6001600160a01b0316145b8061126257506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b949350505050565b826001600160a01b031661127d82610aca565b6001600160a01b0316146112e15760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608401610667565b6001600160a01b0382166113435760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610667565b61134e838383611756565b611359600082611105565b6001600160a01b03831660009081526003602052604081208054600192906113829084906124ca565b90915550506001600160a01b03821660009081526003602052604081208054600192906113b09084906124dd565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b61141b813361180e565b50565b6114288282610c56565b610933576000828152600a602090815260408083206001600160a01b03851684529091529020805460ff191660011790556114603390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6114ae8282610c56565b15610933576000828152600a602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b816001600160a01b0316836001600160a01b03160361156c5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610667565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6115e484848461126a565b6115f084848484611872565b610d085760405162461bcd60e51b8152600401610667906124f0565b6060600b805461056f906122a0565b6060816000036116425750506040805180820190915260018152600360fc1b602082015290565b8160005b811561166c578061165681612357565b91506116659050600a83612558565b9150611646565b60008167ffffffffffffffff8111156116875761168761202f565b6040519080825280601f01601f1916602001820160405280156116b1576020820181803683370190505b5090505b8415611262576116c66001836124ca565b91506116d3600a8661256c565b6116de9060306124dd565b60f81b8183815181106116f3576116f361232b565b60200101906001600160f81b031916908160001a905350611715600a86612558565b94506116b5565b60006117288383611973565b50600192915050565b60006001600160e01b0319821663780e9d6360e01b148061055a575061055a82611ac1565b6001600160a01b0383166117b1576117ac81600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b6117d4565b816001600160a01b0316836001600160a01b0316146117d4576117d48382611b11565b6001600160a01b0382166117eb5761079c81611bae565b826001600160a01b0316826001600160a01b03161461079c5761079c8282611c5d565b6118188282610c56565b61093357611830816001600160a01b03166014611ca1565b61183b836020611ca1565b60405160200161184c929190612580565b60408051601f198184030181529082905262461bcd60e51b825261066791600401611ec0565b60006001600160a01b0384163b1561196857604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906118b69033908990889088906004016125f5565b6020604051808303816000875af19250505080156118f1575060408051601f3d908101601f191682019092526118ee91810190612632565b60015b61194e573d80801561191f576040519150601f19603f3d011682016040523d82523d6000602084013e611924565b606091505b5080516000036119465760405162461bcd60e51b8152600401610667906124f0565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611262565b506001949350505050565b6001600160a01b0382166119c95760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610667565b6000818152600260205260409020546001600160a01b031615611a2e5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610667565b611a3a60008383611756565b6001600160a01b0382166000908152600360205260408120805460019290611a639084906124dd565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60006001600160e01b031982166380ac58cd60e01b1480611af257506001600160e01b03198216635b5e139f60e01b145b8061055a57506301ffc9a760e01b6001600160e01b031983161461055a565b60006001611b1e84610bcf565b611b2891906124ca565b600083815260076020526040902054909150808214611b7b576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b600854600090611bc0906001906124ca565b60008381526009602052604081205460088054939450909284908110611be857611be861232b565b906000526020600020015490508060088381548110611c0957611c0961232b565b6000918252602080832090910192909255828152600990915260408082208490558582528120556008805480611c4157611c4161264f565b6001900381819060005260206000200160009055905550505050565b6000611c6883610bcf565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b60606000611cb0836002612665565b611cbb9060026124dd565b67ffffffffffffffff811115611cd357611cd361202f565b6040519080825280601f01601f191660200182016040528015611cfd576020820181803683370190505b509050600360fc1b81600081518110611d1857611d1861232b565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110611d4757611d4761232b565b60200101906001600160f81b031916908160001a9053506000611d6b846002612665565b611d769060016124dd565b90505b6001811115611dee576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110611daa57611daa61232b565b1a60f81b828281518110611dc057611dc061232b565b60200101906001600160f81b031916908160001a90535060049490941c93611de78161267c565b9050611d79565b508315610de25760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610667565b6001600160e01b03198116811461141b57600080fd5b600060208284031215611e6557600080fd5b8135610de281611e3d565b60005b83811015611e8b578181015183820152602001611e73565b50506000910152565b60008151808452611eac816020860160208601611e70565b601f01601f19169290920160200192915050565b602081526000610de26020830184611e94565b600060208284031215611ee557600080fd5b5035919050565b6001600160a01b038116811461141b57600080fd5b60008060408385031215611f1457600080fd5b8235611f1f81611eec565b946020939093013593505050565b600080600060608486031215611f4257600080fd5b8335611f4d81611eec565b92506020840135611f5d81611eec565b929592945050506040919091013590565b80358015158114611f7e57600080fd5b919050565b600060208284031215611f9557600080fd5b610de282611f6e565b60008060408385031215611fb157600080fd5b823591506020830135611fc381611eec565b809150509250929050565b600060208284031215611fe057600080fd5b8135610de281611eec565b6020808252825182820181905260009190848201906040850190845b8181101561202357835183529284019291840191600101612007565b50909695505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561206e5761206e61202f565b604052919050565b600067ffffffffffffffff8311156120905761209061202f565b6120a3601f8401601f1916602001612045565b90508281528383830111156120b757600080fd5b828260208301376000602084830101529392505050565b6000602082840312156120e057600080fd5b813567ffffffffffffffff8111156120f757600080fd5b8201601f8101841361210857600080fd5b61126284823560208401612076565b6000806040838503121561212a57600080fd5b823561213581611eec565b915061214360208401611f6e565b90509250929050565b6000806000806080858703121561216257600080fd5b843561216d81611eec565b9350602085013561217d81611eec565b925060408501359150606085013567ffffffffffffffff8111156121a057600080fd5b8501601f810187136121b157600080fd5b6121c087823560208401612076565b91505092959194509250565b600080604083850312156121df57600080fd5b82356121ea81611eec565b91506020830135611fc381611eec565b6000602080838503121561220d57600080fd5b823567ffffffffffffffff8082111561222557600080fd5b818501915085601f83011261223957600080fd5b81358181111561224b5761224b61202f565b8060051b915061225c848301612045565b818152918301840191848101908884111561227657600080fd5b938501935b838510156122945784358252938501939085019061227b565b98975050505050505050565b600181811c908216806122b457607f821691505b6020821081036122d457634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161236957612369612341565b5060010190565b601f82111561079c57600081815260208120601f850160051c810160208610156123975750805b601f850160051c820191505b818110156123b6578281556001016123a3565b505050505050565b815167ffffffffffffffff8111156123d8576123d861202f565b6123ec816123e684546122a0565b84612370565b602080601f83116001811461242157600084156124095750858301515b600019600386901b1c1916600185901b1785556123b6565b600085815260208120601f198616915b8281101561245057888601518255948401946001909101908401612431565b508582101561246e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008351612490818460208801611e70565b8351908301906124a4818360208801611e70565b01949350505050565b6000602082840312156124bf57600080fd5b8151610de281611eec565b8181038181111561055a5761055a612341565b8082018082111561055a5761055a612341565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b634e487b7160e01b600052601260045260246000fd5b60008261256757612567612542565b500490565b60008261257b5761257b612542565b500690565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516125b8816017850160208801611e70565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516125e9816028840160208801611e70565b01602801949350505050565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061262890830184611e94565b9695505050505050565b60006020828403121561264457600080fd5b8151610de281611e3d565b634e487b7160e01b600052603160045260246000fd5b808202811582820484141761055a5761055a612341565b60008161268b5761268b612341565b50600019019056fe2ccf90dd7c30b80a460e25097b3c5ef613343f69ad6b2cfd3cfb644af593ca0ba26469706673582212203dd3507ade502a490b95d63c74bbc4ead885950f704cdfe877169bb61db8d46c64736f6c63430008110033
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 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.