Contract Overview
Balance:
0 Ether
More Info
My Name Tag:
Not Available
TokenTracker:
[ Download CSV Export ]
Latest 25 internal transaction
[ Download CSV Export ]
Contract Name:
paradoxNFT721V3
Compiler Version
v0.8.4+commit.c7e474f2
Optimization Enabled:
No with 200 runs
Other Settings:
byzantium EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier:UNLICENSED pragma solidity ^0.8.4; library Strings { 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); uint256 index = digits - 1; temp = value; while (temp != 0) { buffer[index--] = bytes1(uint8(48 + temp % 10)); temp /= 10; } return string(buffer); } } library EnumerableMap { struct MapEntry { bytes32 _key; bytes32 _value; } struct Map { MapEntry[] _entries; mapping (bytes32 => uint256) _indexes; } function _set(Map storage map, bytes32 key, bytes32 value) private returns (bool) { uint256 keyIndex = map._indexes[key]; if (keyIndex == 0) { // Equivalent to !contains(map, key) map._entries.push(MapEntry({ _key: key, _value: value })); map._indexes[key] = map._entries.length; return true; } else { map._entries[keyIndex - 1]._value = value; return false; } } function _remove(Map storage map, bytes32 key) private returns (bool) { uint256 keyIndex = map._indexes[key]; if (keyIndex != 0) { // Equivalent to contains(map, key) uint256 toDeleteIndex = keyIndex - 1; uint256 lastIndex = map._entries.length - 1; MapEntry storage lastEntry = map._entries[lastIndex]; map._entries[toDeleteIndex] = lastEntry; map._indexes[lastEntry._key] = toDeleteIndex + 1; // All indexes are 1-based map._entries.pop(); delete map._indexes[key]; return true; } else { return false; } } function _contains(Map storage map, bytes32 key) private view returns (bool) { return map._indexes[key] != 0; } function _length(Map storage map) private view returns (uint256) { return map._entries.length; } function _at(Map storage map, uint256 index) private view returns (bytes32, bytes32) { require(map._entries.length > index, "EnumerableMap: index out of bounds"); MapEntry storage entry = map._entries[index]; return (entry._key, entry._value); } function _get(Map storage map, bytes32 key, string memory errorMessage) private view returns (bytes32) { uint256 keyIndex = map._indexes[key]; require(keyIndex != 0, errorMessage); // Equivalent to contains(map, key) return map._entries[keyIndex - 1]._value; // All indexes are 1-based } struct UintToAddressMap { Map _inner; } function set(UintToAddressMap storage map, uint256 key, address value) internal returns (bool) { return _set(map._inner, bytes32(key), bytes32(uint256(uint160(value)))); } function remove(UintToAddressMap storage map, uint256 key) internal returns (bool) { return _remove(map._inner, bytes32(key)); } function contains(UintToAddressMap storage map, uint256 key) internal view returns (bool) { return _contains(map._inner, bytes32(key)); } function length(UintToAddressMap storage map) internal view returns (uint256) { return _length(map._inner); } function at(UintToAddressMap storage map, uint256 index) internal view returns (uint256, address) { (bytes32 key, bytes32 value) = _at(map._inner, index); return (uint256(key), address(uint160(uint256(value)))); } function get(UintToAddressMap storage map, uint256 key, string memory errorMessage) internal view returns (address) { return address(uint160(uint256(_get(map._inner, bytes32(key), errorMessage)))); } } library EnumerableSet { struct Set { bytes32[] _values; mapping (bytes32 => uint256) _indexes; } function _add(Set storage set, bytes32 value) private returns (bool) { if (!_contains(set, value)) { set._values.push(value); set._indexes[value] = set._values.length; return true; } else { return false; } } function _remove(Set storage set, bytes32 value) private returns (bool) { uint256 valueIndex = set._indexes[value]; if (valueIndex != 0) { // Equivalent to contains(set, value) uint256 toDeleteIndex = valueIndex - 1; uint256 lastIndex = set._values.length - 1; bytes32 lastvalue = set._values[lastIndex]; set._values[toDeleteIndex] = lastvalue; set._indexes[lastvalue] = toDeleteIndex + 1; // All indexes are 1-based set._values.pop(); delete set._indexes[value]; return true; } else { return false; } } function _contains(Set storage set, bytes32 value) private view returns (bool) { return set._indexes[value] != 0; } function _length(Set storage set) private view returns (uint256) { return set._values.length; } function _at(Set storage set, uint256 index) private view returns (bytes32) { require(set._values.length > index, "EnumerableSet: index out of bounds"); return set._values[index]; } struct Bytes32Set { Set _inner; } function add(Bytes32Set storage set, bytes32 value) internal { _add(set._inner, value); } function remove(Bytes32Set storage set, bytes32 value) internal{ _remove(set._inner, value); } function contains(Bytes32Set storage set, bytes32 value) internal view { _contains(set._inner, value); } function length(Bytes32Set storage set) internal view { _length(set._inner); } function at(Bytes32Set storage set, uint256 index) internal view { _at(set._inner, index); } struct UintSet { Set _inner; } function add(UintSet storage set, uint256 value) internal { _add(set._inner, bytes32(value)); } function remove(UintSet storage set, uint256 value) internal { _remove(set._inner, bytes32(value)); } function contains(UintSet storage set, uint256 value) internal view { _contains(set._inner, bytes32(value)); } function length(UintSet storage set) internal view returns (uint256) { return _length(set._inner); } function at(UintSet storage set, uint256 index) internal view returns (uint256) { return uint256(_at(set._inner, index)); } } library Address { function isContract(address account) internal view returns (bool) { uint256 size; assembly { size := extcodesize(account) } return size > 0; } function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return functionCallWithValue(target, data, 0, errorMessage); } function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); require(isContract(target), "Address: call to non-contract"); (bool success, bytes memory returndata) = target.call{ value: value }(data); return _verifyCallResult(success, returndata, errorMessage); } function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) { if (success) { return returndata; } else { if (returndata.length > 0) { assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } 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); } abstract contract ERC165 is IERC165 { bytes4 private constant _INTERFACE_ID_ERC165 = 0x01ffc9a7; mapping(bytes4 => bool) private _supportedInterfaces; constructor () { _registerInterface(_INTERFACE_ID_ERC165); } function supportsInterface(bytes4 interfaceId) external view virtual override returns (bool) { return _supportedInterfaces[interfaceId]; } function _registerInterface(bytes4 interfaceId) internal virtual { require(interfaceId != 0xffffffff, "ERC165: invalid interface id"); _supportedInterfaces[interfaceId] = true; } } 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); event URI(string value, uint256 indexed id); event tokenBaseURI(string value); function balanceOf(address owner) external view returns (uint256 balance); function royaltyFee(uint256 tokenId) external view returns(uint256); function getCreator(uint256 tokenId) external view returns(address); function ownerOf(uint256 tokenId) external view returns (address owner); function contractOwner() 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; function mintAndTransfer(address from, address to, uint256 itemId, uint256 fee, string memory _tokenURI, bytes memory data)external returns(uint256); } interface IERC721Receiver { function onERC721Received(address operator, address from, uint256 tokenId, bytes calldata data) external returns (bytes4); } interface IERC721Enumerable is IERC721 { function totalSupply() external view returns (uint256); function tokenOfOwnerByIndex(address owner, uint256 index) external view returns (uint256 tokenId); function tokenByIndex(uint256 index) external view returns (uint256); } 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); } abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } } contract ERC721 is Context, ERC165, IERC721, IERC721Metadata, IERC721Enumerable { using Address for address; using EnumerableSet for EnumerableSet.UintSet; using EnumerableMap for EnumerableMap.UintToAddressMap; using Strings for uint256; bytes4 private constant _ERC721_RECEIVED = 0x150b7a02; // Mapping from token ID to account balances mapping (address => EnumerableSet.UintSet) private _holderTokens; EnumerableMap.UintToAddressMap private _tokenOwners; // Mapping from tokenId to operator approvals mapping (uint256 => address) private _tokenApprovals; // Mapping from account to operator approvals mapping (address => mapping (address => bool)) private _operatorApprovals; string private _name; string private _symbol; // mapping for token URIs mapping (uint256 => string) private _tokenURIs; // mapping for token royaltyFee mapping(uint256 => uint256) private _royaltyFee; // mapping for token creator mapping (uint256 => address) private _creator; string private _baseURI = "https://gateway.pinata.cloud/ipfs/"; address public owner; address public transferProxy; uint256 public tokenCounter; bytes4 private constant _INTERFACE_ID_ERC721 = 0x80ac58cd; bytes4 private constant _INTERFACE_ID_ERC721_METADATA = 0x5b5e139f; bytes4 private constant _INTERFACE_ID_ERC721_ENUMERABLE = 0x780e9d63; constructor (string memory name_, string memory symbol_, address _transferProxy) { _name = name_; _symbol = symbol_; owner = msg.sender; transferProxy = _transferProxy; tokenCounter = 1; _registerInterface(_INTERFACE_ID_ERC721); _registerInterface(_INTERFACE_ID_ERC721_METADATA); _registerInterface(_INTERFACE_ID_ERC721_ENUMERABLE); } /** @notice Get the Token balance of an account's. @param owner The address of the token holder @return The account's balance of the Token type requested */ function balanceOf(address owner) external view virtual override returns (uint256) { require(owner != address(0), "ERC721: balance query for the zero address"); return _holderTokens[owner].length(); } /** @notice Get the owner of tokenId. @param tokenId The tokenId of the token holder @return The current owner of the requested tokenId */ function ownerOf(uint256 tokenId) public view virtual override returns (address) { return _tokenOwners.get(tokenId, "ERC721: owner query for nonexistent token"); } function name() external view virtual override returns (string memory) { return _name; } function symbol() external view virtual override returns (string memory) { return _symbol; } function contractOwner() public view virtual override returns(address){ return owner; } function tokenURI(uint256 tokenId) external view virtual override returns (string memory) { require(_exists(tokenId), "ERC721Metadata: URI query for nonexistent token"); string memory _tokenURI = _tokenURIs[tokenId]; string memory base = baseURI(); if (bytes(base).length == 0) { return _tokenURI; } if (bytes(_tokenURI).length > 0) { return string(abi.encodePacked(base, _tokenURI)); } return string(abi.encodePacked(base, tokenId.toString())); } function baseURI() public view virtual returns (string memory) { return _baseURI; } function royaltyFee(uint256 tokenId) external view override returns(uint256) { return _royaltyFee[tokenId]; } function getCreator(uint256 tokenId) external view override returns(address) { return _creator[tokenId]; } function tokenOfOwnerByIndex(address owner, uint256 index) external view virtual override returns (uint256) { return _holderTokens[owner].at(index); } function totalSupply() external view virtual override returns (uint256) { return _tokenOwners.length(); } function tokenByIndex(uint256 index) external view virtual override returns (uint256) { (uint256 tokenId, ) = _tokenOwners.at(index); return tokenId; } function approve(address to, uint256 tokenId) external virtual override { address owner = ERC721.ownerOf(tokenId); require(to != owner, "ERC721: approval to current owner"); require(_msgSender() == owner || ERC721.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]; } /** @notice Enable or disable approval for a third party ("operator") to manage all of the caller's tokens. @dev MUST emit the ApprovalForAll event on success. @param operator Address to add to the set of authorized operators @param approved True if the operator is approved, false to revoke approval */ function setApprovalForAll(address operator, bool approved) external virtual override { require(operator != _msgSender(), "ERC721: approve to caller"); _operatorApprovals[_msgSender()][operator] = approved; emit ApprovalForAll(_msgSender(), operator, approved); } /** @notice Queries the approval status of an operator for a given owner. @param owner The owner of the Tokens @param operator Address of authorized operator @return True if the operator is approved, false if not */ function isApprovedForAll(address owner, address operator) public view virtual override returns (bool) { return _operatorApprovals[owner][operator]; } function transferFrom(address from, address to, uint256 tokenId) external 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) external virtual override { safeTransferFrom(from, to, tokenId, ""); } /** @notice Transfers `_value` amount of an `_id` from the `_from` address to the `_to` address specified (with safety call). @dev Caller must be approved to manage the tokens being transferred out of the `_from` account (see "Approval" section of the standard). MUST revert if `_to` is the zero address. MUST revert if balance of holder for token `_id` is lower than the `_value` sent. MUST revert on any other error. MUST emit the `TransferSingle` event to reflect the balance change (see "Safe Transfer Rules" section of the standard). After the above conditions are met, this function MUST check if `_to` is a smart contract (e.g. code size > 0). If so, it MUST call `onERC1155Received` on `_to` and act appropriately (see "Safe Transfer Rules" section of the standard). @param from Source address @param to Target address @param tokenId ID of the token type. @param _data Additional data with no specified format, MUST be sent unaltered in call to `onERC1155Received` on `_to` */ 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 _tokenOwners.contains(tokenId); } 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 || ERC721.isApprovedForAll(owner, spender)); } function _safeMint(address to, uint256 tokenId, uint256 fee) internal virtual { _safeMint(to, tokenId, fee, ""); } function _safeMint(address to, uint256 tokenId, uint256 fee, bytes memory _data) internal virtual { _mint(to, tokenId, fee); require(_checkOnERC721Received(address(0), to, tokenId, _data), "ERC721: transfer to non ERC721Receiver implementer"); } function _mint(address to, uint256 tokenId, uint256 fee) internal virtual { require(to != address(0), "ERC721: mint to the zero address"); require(!_exists(tokenId), "ERC721: token already minted"); _beforeTokenTransfer(address(0), to, tokenId); _holderTokens[to].add(tokenId); _tokenOwners.set(tokenId, to); _creator[tokenId] = msg.sender; _royaltyFee[tokenId] = fee; emit Transfer(address(0), to, tokenId); } /** * @dev Internal function to burn a specific token. * Reverts if the token does not exist. * Deprecated, use {ERC721-_burn} instead. * required msg.sender must be owner of the token. * @param tokenId uint256 Token being burned */ function _burn(uint256 tokenId) internal virtual { require(msg.sender == ownerOf(tokenId),"caller not owner"); address owner = ERC721.ownerOf(tokenId); // internal owner _beforeTokenTransfer(owner, address(0), tokenId); _approve(address(0), tokenId); if (bytes(_tokenURIs[tokenId]).length != 0) { delete _tokenURIs[tokenId]; } _holderTokens[owner].remove(tokenId); _tokenOwners.remove(tokenId); emit Transfer(owner, address(0), tokenId); } function _transfer(address from, address to, uint256 tokenId) internal virtual { require(ERC721.ownerOf(tokenId) == from, "ERC721: transfer of token that is not own"); // internal owner require(to != address(0), "ERC721: transfer to the zero address"); _beforeTokenTransfer(from, to, tokenId); _approve(address(0), tokenId); _holderTokens[from].remove(tokenId); _holderTokens[to].add(tokenId); _tokenOwners.set(tokenId, to); emit Transfer(from, to, tokenId); } /** * @dev Internal function to set the token URI for a given token. * Reverts if the token ID does not exist. * @param tokenId uint256 ID of the token to set its URI * @param _tokenURI string URI to assign */ function _setTokenURI(uint256 tokenId, string memory _tokenURI) internal virtual { require(_exists(tokenId), "ERC721Metadata: URI set of nonexistent token"); _tokenURIs[tokenId] = _tokenURI; emit URI(_tokenURI, tokenId); } function _setBaseURI(string memory baseURI_) internal virtual { _baseURI = baseURI_; emit tokenBaseURI(baseURI_); } function _checkOnERC721Received(address from, address to, uint256 tokenId, bytes memory _data) private returns (bool) { if (!to.isContract()) { return true; } bytes memory returndata = to.functionCall(abi.encodeWithSelector( IERC721Receiver(to).onERC721Received.selector, _msgSender(), from, tokenId, _data ), "ERC721: transfer to non ERC721Receiver implementer"); bytes4 retval = abi.decode(returndata, (bytes4)); return (retval == _ERC721_RECEIVED); } function _approve(address to, uint256 tokenId) internal virtual { _tokenApprovals[tokenId] = to; emit Approval(ERC721.ownerOf(tokenId), to, tokenId); // internal owner } function mintAndTransfer(address from, address to, uint256 itemId, uint256 fee, string memory _tokenURI, bytes memory data) public virtual override returns(uint256){ require(msg.sender == transferProxy,"ERC721: caller is not Approved"); itemId = tokenCounter; _safeMint(from, itemId, fee); _setTokenURI(itemId, _tokenURI); _safeTransfer(from, to, itemId, data); tokenCounter += 1; return itemId; } function _beforeTokenTransfer(address from, address to, uint256 tokenId) internal virtual { } } contract paradoxNFT721V3 is ERC721 { mapping(uint256 => bool) private usedNonce; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); struct Sign { uint8 v; bytes32 r; bytes32 s; uint256 nonce; } constructor (string memory tokenName, string memory tokenSymbol, address _transferProxy) ERC721 (tokenName, tokenSymbol, _transferProxy){ } modifier onlyOwner() { require(owner == msg.sender, "Ownable: caller is not the owner"); _; } function transferOwnership(address newOwner) external onlyOwner returns(bool){ require(newOwner != address(0), "Ownable: new owner is the zero address"); owner = newOwner; emit OwnershipTransferred(owner, newOwner); return true; } function verifySign(string memory tokenURI, address caller, Sign memory sign) internal view { bytes32 hash = keccak256(abi.encodePacked(this, caller, tokenURI, sign.nonce)); require(owner == ecrecover(keccak256(abi.encodePacked("\x19Ethereum Signed Message:\n32", hash)), sign.v, sign.r, sign.s), "Owner sign verification failed"); } /** * @dev Internal function to mint a new token. * Reverts if the given token ID already exists. * @param sign struct combination of uint8, bytes32, bytes32 are v, r, s. * @param tokenURI string memory URI of the token to be minted. * @param fee uint256 royalty of the token to be minted. */ function createCollectible(string memory tokenURI, uint256 fee, Sign memory sign) external returns (uint256) { require(!usedNonce[sign.nonce], "Nonce : Invalid Nonce"); usedNonce[sign.nonce] = true; uint256 newItemId = tokenCounter; verifySign(tokenURI, msg.sender, sign); _safeMint(msg.sender, newItemId, fee); _setTokenURI(newItemId, tokenURI); tokenCounter = tokenCounter + 1; return newItemId; } function setBaseURI(string memory _baseURI) external onlyOwner{ _setBaseURI(_baseURI); } function burn(uint256 tokenId) external { require(_exists(tokenId), "ERC721: nonexistent token"); _burn(tokenId); } }
{ "remappings": [], "optimizer": { "enabled": false, "runs": 200 }, "evmVersion": "byzantium", "libraries": {}, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } } }
[{"inputs":[{"internalType":"string","name":"tokenName","type":"string"},{"internalType":"string","name":"tokenSymbol","type":"string"},{"internalType":"address","name":"_transferProxy","type":"address"}],"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":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"value","type":"string"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"URI","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"value","type":"string"}],"name":"tokenBaseURI","type":"event"},{"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":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"contractOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"tokenURI","type":"string"},{"internalType":"uint256","name":"fee","type":"uint256"},{"components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"},{"internalType":"uint256","name":"nonce","type":"uint256"}],"internalType":"struct paradoxNFT721V3.Sign","name":"sign","type":"tuple"}],"name":"createCollectible","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getCreator","outputs":[{"internalType":"address","name":"","type":"address"}],"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":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"itemId","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"string","name":"_tokenURI","type":"string"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"mintAndTransfer","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","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":"uint256","name":"tokenId","type":"uint256"}],"name":"royaltyFee","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":"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":"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":[],"name":"tokenCounter","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":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferProxy","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
6080604052604051806060016040528060228152602001620050ba60229139600b9080519060200190620000359291906200031c565b503480156200004357600080fd5b50604051620050dc380380620050dc833981810160405281019062000069919062000455565b828282620000a96301ffc9a77c01000000000000000000000000000000000000000000000000000000000262000228640100000000026401000000009004565b8260069080519060200190620000c19291906200031c565b508160079080519060200190620000da9291906200031c565b5033600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600e81905550620001a26380ac58cd7c01000000000000000000000000000000000000000000000000000000000262000228640100000000026401000000009004565b620001df635b5e139f7c01000000000000000000000000000000000000000000000000000000000262000228640100000000026401000000009004565b6200021c63780e9d637c01000000000000000000000000000000000000000000000000000000000262000228640100000000026401000000009004565b5050505050506200071e565b63ffffffff7c010000000000000000000000000000000000000000000000000000000002817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161415620002b0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002a79062000504565b60405180910390fd5b6001600080837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b8280546200032a9062000600565b90600052602060002090601f0160209004810192826200034e57600085556200039a565b82601f106200036957805160ff19168380011785556200039a565b828001600101855582156200039a579182015b82811115620003995782518255916020019190600101906200037c565b5b509050620003a99190620003ad565b5090565b5b80821115620003c8576000816000905550600101620003ae565b5090565b6000620003e3620003dd846200054f565b62000526565b905082815260208101848484011115620003fc57600080fd5b62000409848285620005ca565b509392505050565b600081519050620004228162000704565b92915050565b600082601f8301126200043a57600080fd5b81516200044c848260208601620003cc565b91505092915050565b6000806000606084860312156200046b57600080fd5b600084015167ffffffffffffffff8111156200048657600080fd5b620004948682870162000428565b935050602084015167ffffffffffffffff811115620004b257600080fd5b620004c08682870162000428565b9250506040620004d38682870162000411565b9150509250925092565b6000620004ec601c8362000585565b9150620004f982620006db565b602082019050919050565b600060208201905081810360008301526200051f81620004dd565b9050919050565b60006200053262000545565b905062000540828262000636565b919050565b6000604051905090565b600067ffffffffffffffff8211156200056d576200056c6200069b565b5b6200057882620006ca565b9050602081019050919050565b600082825260208201905092915050565b6000620005a382620005aa565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60005b83811015620005ea578082015181840152602081019050620005cd565b83811115620005fa576000848401525b50505050565b600060028204905060018216806200061957607f821691505b6020821081141562000630576200062f6200066c565b5b50919050565b6200064182620006ca565b810181811067ffffffffffffffff821117156200066357620006626200069b565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f4552433136353a20696e76616c696420696e7465726661636520696400000000600082015250565b6200070f8162000596565b81146200071b57600080fd5b50565b61498c806200072e6000396000f3fe608060405234801561001057600080fd5b50600436106101e1576000357c0100000000000000000000000000000000000000000000000000000000900480636e667db311610116578063c87b56dd116100b4578063d1c58bdd1161008e578063d1c58bdd1461054a578063d48e638a1461057a578063e985e9c5146105aa578063f2fde38b146105da576101e1565b8063c87b56dd146104de578063ce606ee01461050e578063d082e3811461052c576101e1565b806395d89b41116100f057806395d89b4114610458578063a22cb46514610476578063b88d4fde14610492578063c57dc235146104ae576101e1565b80636e667db3146103ec57806370a082311461040a5780638da5cb5b1461043a576101e1565b806342842e0e1161018357806355f804b31161015d57806355f804b3146103525780636352211e1461036e57806366e575d01461039e5780636c0360eb146103ce576101e1565b806342842e0e146102ea57806342966c68146103065780634f6ccce714610322576101e1565b8063095ea7b3116101bf578063095ea7b31461026457806318160ddd1461028057806323b872dd1461029e5780632f745c59146102ba576101e1565b806301ffc9a7146101e657806306fdde0314610216578063081812fc14610234575b600080fd5b61020060048036038101906101fb919061324b565b61060a565b60405161020d9190613998565b60405180910390f35b61021e610671565b60405161022b91906139f8565b60405180910390f35b61024e60048036038101906102499190613345565b610703565b60405161025b9190613931565b60405180910390f35b61027e6004803603810190610279919061320f565b610788565b005b6102886108a0565b6040516102959190613d3a565b60405180910390f35b6102b860048036038101906102b39190613050565b6108b1565b005b6102d460048036038101906102cf919061320f565b610911565b6040516102e19190613d3a565b60405180910390f35b61030460048036038101906102ff9190613050565b61096c565b005b610320600480360381019061031b9190613345565b61098c565b005b61033c60048036038101906103379190613345565b6109e0565b6040516103499190613d3a565b60405180910390f35b61036c6004803603810190610367919061329d565b610a03565b005b61038860048036038101906103839190613345565b610a9f565b6040516103959190613931565b60405180910390f35b6103b860048036038101906103b3919061311a565b610ad6565b6040516103c59190613d3a565b60405180910390f35b6103d6610bb5565b6040516103e391906139f8565b60405180910390f35b6103f4610c47565b6040516104019190613931565b60405180910390f35b610424600480360381019061041f9190612feb565b610c6d565b6040516104319190613d3a565b60405180910390f35b610442610d2c565b60405161044f9190613931565b60405180910390f35b610460610d52565b60405161046d91906139f8565b60405180910390f35b610490600480360381019061048b91906131d3565b610de4565b005b6104ac60048036038101906104a7919061309f565b610f65565b005b6104c860048036038101906104c39190613345565b610fc7565b6040516104d59190613d3a565b60405180910390f35b6104f860048036038101906104f39190613345565b610fe4565b60405161050591906139f8565b60405180910390f35b610516611157565b6040516105239190613931565b60405180910390f35b610534611181565b6040516105419190613d3a565b60405180910390f35b610564600480360381019061055f91906132de565b611187565b6040516105719190613d3a565b60405180910390f35b610594600480360381019061058f9190613345565b611265565b6040516105a19190613931565b60405180910390f35b6105c460048036038101906105bf9190613014565b6112a2565b6040516105d19190613998565b60405180910390f35b6105f460048036038101906105ef9190612feb565b611336565b6040516106019190613998565b60405180910390f35b6000806000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b60606006805461068090614012565b80601f01602080910402602001604051908101604052809291908181526020018280546106ac90614012565b80156106f95780601f106106ce576101008083540402835291602001916106f9565b820191906000526020600020905b8154815290600101906020018083116106dc57829003601f168201915b5050505050905090565b600061070e826114fe565b61074d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074490613bda565b60405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061079382610a9f565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610804576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107fb90613c9a565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661082361151b565b73ffffffffffffffffffffffffffffffffffffffff16148061085257506108518161084c61151b565b6112a2565b5b610891576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088890613b3a565b60405180910390fd5b61089b8383611523565b505050565b60006108ac60026115dc565b905090565b6108c26108bc61151b565b826115f1565b610901576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f890613cba565b60405180910390fd5b61090c8383836116cf565b505050565b600061096482600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206118e490919063ffffffff16565b905092915050565b61098783838360405180602001604052806000815250610f65565b505050565b610995816114fe565b6109d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109cb90613c7a565b60405180910390fd5b6109dd816118ff565b50565b6000806109f7836002611aa690919063ffffffff16565b50905080915050919050565b3373ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8a90613c1a565b60405180910390fd5b610a9c81611ad4565b50565b6000610acf8260405180606001604052806029815260200161492e602991396002611b259092919063ffffffff16565b9050919050565b6000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5f90613d1a565b60405180910390fd5b600e549450610b78878686611b45565b610b828584611b65565b610b8e87878785611c11565b6001600e6000828254610ba19190613e2a565b925050819055508490509695505050505050565b6060600b8054610bc490614012565b80601f0160208091040260200160405190810160405280929190818152602001828054610bf090614012565b8015610c3d5780601f10610c1257610100808354040283529160200191610c3d565b820191906000526020600020905b815481529060010190602001808311610c2057829003601f168201915b5050505050905090565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610cde576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd590613b5a565b60405180910390fd5b610d25600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611c6d565b9050919050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060078054610d6190614012565b80601f0160208091040260200160405190810160405280929190818152602001828054610d8d90614012565b8015610dda5780601f10610daf57610100808354040283529160200191610dda565b820191906000526020600020905b815481529060010190602001808311610dbd57829003601f168201915b5050505050905090565b610dec61151b565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5190613ada565b60405180910390fd5b8060056000610e6761151b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16610f1461151b565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051610f599190613998565b60405180910390a35050565b610f76610f7061151b565b836115f1565b610fb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fac90613cba565b60405180910390fd5b610fc184848484611c11565b50505050565b600060096000838152602001908152602001600020549050919050565b6060610fef826114fe565b61102e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102590613c5a565b60405180910390fd5b600060086000848152602001908152602001600020805461104e90614012565b80601f016020809104026020016040519081016040528092919081815260200182805461107a90614012565b80156110c75780601f1061109c576101008083540402835291602001916110c7565b820191906000526020600020905b8154815290600101906020018083116110aa57829003601f168201915b5050505050905060006110d8610bb5565b90506000815114156110ee578192505050611152565b60008251111561112357808260405160200161110b9291906138e7565b60405160208183030381529060405292505050611152565b8061112d85611c82565b60405160200161113e9291906138e7565b604051602081830303815290604052925050505b919050565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600e5481565b6000600f60008360600151815260200190815260200160002060009054906101000a900460ff16156111ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e590613cfa565b60405180910390fd5b6001600f60008460600151815260200190815260200160002060006101000a81548160ff0219169083151502179055506000600e549050611230853385611e60565b61123b338286611b45565b6112458186611b65565b6001600e546112549190613e2a565b600e81905550809150509392505050565b6000600a600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60003373ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bf90613c1a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611438576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142f90613a5a565b60405180910390fd5b81600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360019050919050565b6000611514826002611fab90919063ffffffff16565b9050919050565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661159683610a9f565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006115ea82600001611fc5565b9050919050565b60006115fc826114fe565b61163b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163290613b1a565b60405180910390fd5b600061164683610a9f565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806116b557508373ffffffffffffffffffffffffffffffffffffffff1661169d84610703565b73ffffffffffffffffffffffffffffffffffffffff16145b806116c657506116c581856112a2565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff166116ef82610a9f565b73ffffffffffffffffffffffffffffffffffffffff1614611745576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173c90613c3a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ac90613aba565b60405180910390fd5b6117c0838383611fd6565b6117cb600082611523565b61181c81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611fdb90919063ffffffff16565b61186d81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611ff090919063ffffffff16565b611883818360026120059092919063ffffffff16565b50808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b60006118f3836000018361203a565b60019004905092915050565b61190881610a9f565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611975576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196c90613a9a565b60405180910390fd5b600061198082610a9f565b905061198e81600084611fd6565b611999600083611523565b60006008600084815260200190815260200160002080546119b990614012565b9050146119e0576008600083815260200190815260200160002060006119df9190612d31565b5b611a3182600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611fdb90919063ffffffff16565b611a458260026120d490919063ffffffff16565b5081600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b600080600080611ab986600001866120ee565b91509150816001900481600190049350935050509250929050565b80600b9080519060200190611aea929190612d71565b507f5514cc7324ac64a875ba50a1849367d39c8b030fe0f563c3c7142984552bc30681604051611b1a91906139f8565b60405180910390a150565b6000611b3884600001846001028461219e565b6001900490509392505050565b611b6083838360405180602001604052806000815250612265565b505050565b611b6e826114fe565b611bad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba490613bfa565b60405180910390fd5b80600860008481526020019081526020016000209080519060200190611bd4929190612d71565b50817f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b82604051611c0591906139f8565b60405180910390a25050565b611c1c8484846116cf565b611c28848484846122c2565b611c67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5e90613a3a565b60405180910390fd5b50505050565b6000611c7b8260000161245e565b9050919050565b60606000821415611cca576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050611e5b565b600082905060005b60008214611cfc578080611ce590614075565b915050600a82611cf59190613e80565b9150611cd2565b60008167ffffffffffffffff811115611d3e577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611d705781602001600182028036833780820191505090505b5090506000600183611d829190613eb1565b90508593505b60008414611e5357600a84611d9d91906140f6565b6030611da99190613e2a565b7f010000000000000000000000000000000000000000000000000000000000000002828280611dd790613fe8565b935081518110611e10577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a84611e4c9190613e80565b9350611d88565b819450505050505b919050565b60003083858460600151604051602001611e7d949392919061389d565b604051602081830303815290604052805190602001209050600181604051602001611ea8919061390b565b6040516020818303038152906040528051906020012083600001518460200151856040015160405160008152602001604052604051611eea94939291906139b3565b6020604051602081039080840390855afa158015611f0c573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611fa5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9c90613b7a565b60405180910390fd5b50505050565b6000611fbd836000018360010261246f565b905092915050565b600081600001805490509050919050565b505050565b611feb8260000182600102612492565b505050565b612000826000018260010261261c565b505050565b600061203184600001846001028473ffffffffffffffffffffffffffffffffffffffff1660010261268c565b90509392505050565b600081836000018054905011612085576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161207c90613a1a565b60405180910390fd5b8260000182815481106120c1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200154905092915050565b60006120e6836000018360010261279e565b905092915050565b6000808284600001805490501161213a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161213190613b9a565b60405180910390fd5b6000846000018481548110612178577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906002020190508060000154816001015492509250509250929050565b60008084600101600085815260200190815260200160002054905060008114158390612200576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121f791906139f8565b60405180910390fd5b50846000016001826122129190613eb1565b81548110612249577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060020201600101549150509392505050565b612270848484612959565b61227d60008585846122c2565b6122bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122b390613a3a565b60405180910390fd5b50505050565b60006122e38473ffffffffffffffffffffffffffffffffffffffff16612b51565b6122f05760019050612456565b60006123d363150b7a027c01000000000000000000000000000000000000000000000000000000000261232161151b565b888787604051602401612337949392919061394c565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518060600160405280603281526020016148fc603291398773ffffffffffffffffffffffffffffffffffffffff16612b649092919063ffffffff16565b90506000818060200190518101906123eb9190613274565b905063150b7a027c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614925050505b949350505050565b600081600001805490509050919050565b600080836001016000848152602001908152602001600020541415905092915050565b600080836001016000848152602001908152602001600020549050600081146126105760006001826124c49190613eb1565b90506000600186600001805490506124dc9190613eb1565b9050600086600001828154811061251c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200154905080876000018481548110612566577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002001819055506001836125819190613e2a565b87600101600083815260200190815260200160002081905550866000018054806125d4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050612616565b60009150505b92915050565b60006126288383612b7c565b612681578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050612686565b600090505b92915050565b600080846001016000858152602001908152602001600020549050600081141561273357846000016040518060400160405280868152602001858152509080600181540180825580915050600190039060005260206000209060020201600090919091909150600082015181600001556020820151816001015550508460000180549050856001016000868152602001908152602001600020819055506001915050612797565b82856000016001836127459190613eb1565b8154811061277c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600202016001018190555060009150505b9392505050565b6000808360010160008481526020019081526020016000205490506000811461294d5760006001826127d09190613eb1565b90506000600186600001805490506127e89190613eb1565b90506000866000018281548110612828577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060020201905080876000018481548110612875577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906002020160008201548160000155600182015481600101559050506001836128a79190613e2a565b8760010160008360000154815260200190815260200160002081905550866000018054806128fe577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6001900381819060005260206000209060020201600080820160009055600182016000905550509055866001016000878152602001908152602001600020600090556001945050505050612953565b60009150505b92915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156129c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129c090613bba565b60405180910390fd5b6129d2826114fe565b15612a12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a0990613a7a565b60405180910390fd5b612a1e60008484611fd6565b612a6f82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611ff090919063ffffffff16565b612a85828460026120059092919063ffffffff16565b5033600a600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806009600084815260200190815260200160002081905550818373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b600080823b905060008111915050919050565b6060612b738484600085612b9f565b90509392505050565b600080836001016000848152602001908152602001600020541415905092915050565b6060823073ffffffffffffffffffffffffffffffffffffffff16311015612bfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bf290613afa565b60405180910390fd5b612c0485612b51565b612c43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c3a90613cda565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051612c6c9190613886565b60006040518083038185875af1925050503d8060008114612ca9576040519150601f19603f3d011682016040523d82523d6000602084013e612cae565b606091505b5091509150612cbe828286612cca565b92505050949350505050565b60608315612cda57829050612d2a565b600083511115612ced5782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d2191906139f8565b60405180910390fd5b9392505050565b508054612d3d90614012565b6000825580601f10612d4f5750612d6e565b601f016020900490600052602060002090810190612d6d9190612df7565b5b50565b828054612d7d90614012565b90600052602060002090601f016020900481019282612d9f5760008555612de6565b82601f10612db857805160ff1916838001178555612de6565b82800160010185558215612de6579182015b82811115612de5578251825591602001919060010190612dca565b5b509050612df39190612df7565b5090565b5b80821115612e10576000816000905550600101612df8565b5090565b6000612e27612e2284613d7a565b613d55565b905082815260208101848484011115612e3f57600080fd5b612e4a848285613fa6565b509392505050565b6000612e65612e6084613dab565b613d55565b905082815260208101848484011115612e7d57600080fd5b612e88848285613fa6565b509392505050565b600081359050612e9f81614871565b92915050565b600081359050612eb481614888565b92915050565b600081359050612ec98161489f565b92915050565b600081359050612ede816148b6565b92915050565b600081519050612ef3816148b6565b92915050565b600082601f830112612f0a57600080fd5b8135612f1a848260208601612e14565b91505092915050565b600082601f830112612f3457600080fd5b8135612f44848260208601612e52565b91505092915050565b600060808284031215612f5f57600080fd5b612f696080613d55565b90506000612f7984828501612fd6565b6000830152506020612f8d84828501612eba565b6020830152506040612fa184828501612eba565b6040830152506060612fb584828501612fc1565b60608301525092915050565b600081359050612fd0816148cd565b92915050565b600081359050612fe5816148e4565b92915050565b600060208284031215612ffd57600080fd5b600061300b84828501612e90565b91505092915050565b6000806040838503121561302757600080fd5b600061303585828601612e90565b925050602061304685828601612e90565b9150509250929050565b60008060006060848603121561306557600080fd5b600061307386828701612e90565b935050602061308486828701612e90565b925050604061309586828701612fc1565b9150509250925092565b600080600080608085870312156130b557600080fd5b60006130c387828801612e90565b94505060206130d487828801612e90565b93505060406130e587828801612fc1565b925050606085013567ffffffffffffffff81111561310257600080fd5b61310e87828801612ef9565b91505092959194509250565b60008060008060008060c0878903121561313357600080fd5b600061314189828a01612e90565b965050602061315289828a01612e90565b955050604061316389828a01612fc1565b945050606061317489828a01612fc1565b935050608087013567ffffffffffffffff81111561319157600080fd5b61319d89828a01612f23565b92505060a087013567ffffffffffffffff8111156131ba57600080fd5b6131c689828a01612ef9565b9150509295509295509295565b600080604083850312156131e657600080fd5b60006131f485828601612e90565b925050602061320585828601612ea5565b9150509250929050565b6000806040838503121561322257600080fd5b600061323085828601612e90565b925050602061324185828601612fc1565b9150509250929050565b60006020828403121561325d57600080fd5b600061326b84828501612ecf565b91505092915050565b60006020828403121561328657600080fd5b600061329484828501612ee4565b91505092915050565b6000602082840312156132af57600080fd5b600082013567ffffffffffffffff8111156132c957600080fd5b6132d584828501612f23565b91505092915050565b600080600060c084860312156132f357600080fd5b600084013567ffffffffffffffff81111561330d57600080fd5b61331986828701612f23565b935050602061332a86828701612fc1565b925050604061333b86828701612f4d565b9150509250925092565b60006020828403121561335757600080fd5b600061336584828501612fc1565b91505092915050565b61337781613ef7565b82525050565b61338681613ee5565b82525050565b61339d61339882613ee5565b6140be565b82525050565b6133ac81613f09565b82525050565b6133bb81613f15565b82525050565b6133d26133cd82613f15565b6140d0565b82525050565b60006133e382613ddc565b6133ed8185613df2565b93506133fd818560208601613fb5565b613406816141e3565b840191505092915050565b600061341c82613ddc565b6134268185613e03565b9350613436818560208601613fb5565b80840191505092915050565b61345361344e82613f82565b6140be565b82525050565b600061346482613de7565b61346e8185613e0e565b935061347e818560208601613fb5565b613487816141e3565b840191505092915050565b600061349d82613de7565b6134a78185613e1f565b93506134b7818560208601613fb5565b80840191505092915050565b60006134d0602283613e0e565b91506134db8261420d565b604082019050919050565b60006134f3601c83613e1f565b91506134fe8261425c565b601c82019050919050565b6000613516603283613e0e565b915061352182614285565b604082019050919050565b6000613539602683613e0e565b9150613544826142d4565b604082019050919050565b600061355c601c83613e0e565b915061356782614323565b602082019050919050565b600061357f601083613e0e565b915061358a8261434c565b602082019050919050565b60006135a2602483613e0e565b91506135ad82614375565b604082019050919050565b60006135c5601983613e0e565b91506135d0826143c4565b602082019050919050565b60006135e8602683613e0e565b91506135f3826143ed565b604082019050919050565b600061360b602c83613e0e565b91506136168261443c565b604082019050919050565b600061362e603883613e0e565b91506136398261448b565b604082019050919050565b6000613651602a83613e0e565b915061365c826144da565b604082019050919050565b6000613674601e83613e0e565b915061367f82614529565b602082019050919050565b6000613697602283613e0e565b91506136a282614552565b604082019050919050565b60006136ba602083613e0e565b91506136c5826145a1565b602082019050919050565b60006136dd602c83613e0e565b91506136e8826145ca565b604082019050919050565b6000613700602c83613e0e565b915061370b82614619565b604082019050919050565b6000613723602083613e0e565b915061372e82614668565b602082019050919050565b6000613746602983613e0e565b915061375182614691565b604082019050919050565b6000613769602f83613e0e565b9150613774826146e0565b604082019050919050565b600061378c601983613e0e565b91506137978261472f565b602082019050919050565b60006137af602183613e0e565b91506137ba82614758565b604082019050919050565b60006137d2603183613e0e565b91506137dd826147a7565b604082019050919050565b60006137f5601d83613e0e565b9150613800826147f6565b602082019050919050565b6000613818601583613e0e565b91506138238261481f565b602082019050919050565b600061383b601e83613e0e565b915061384682614848565b602082019050919050565b61385a81613f6b565b82525050565b61387161386c82613f6b565b6140ec565b82525050565b61388081613f75565b82525050565b60006138928284613411565b915081905092915050565b60006138a98287613442565b6014820191506138b9828661338c565b6014820191506138c98285613492565b91506138d58284613860565b60208201915081905095945050505050565b60006138f38285613492565b91506138ff8284613492565b91508190509392505050565b6000613916826134e6565b915061392282846133c1565b60208201915081905092915050565b6000602082019050613946600083018461337d565b92915050565b6000608082019050613961600083018761336e565b61396e602083018661337d565b61397b6040830185613851565b818103606083015261398d81846133d8565b905095945050505050565b60006020820190506139ad60008301846133a3565b92915050565b60006080820190506139c860008301876133b2565b6139d56020830186613877565b6139e260408301856133b2565b6139ef60608301846133b2565b95945050505050565b60006020820190508181036000830152613a128184613459565b905092915050565b60006020820190508181036000830152613a33816134c3565b9050919050565b60006020820190508181036000830152613a5381613509565b9050919050565b60006020820190508181036000830152613a738161352c565b9050919050565b60006020820190508181036000830152613a938161354f565b9050919050565b60006020820190508181036000830152613ab381613572565b9050919050565b60006020820190508181036000830152613ad381613595565b9050919050565b60006020820190508181036000830152613af3816135b8565b9050919050565b60006020820190508181036000830152613b13816135db565b9050919050565b60006020820190508181036000830152613b33816135fe565b9050919050565b60006020820190508181036000830152613b5381613621565b9050919050565b60006020820190508181036000830152613b7381613644565b9050919050565b60006020820190508181036000830152613b9381613667565b9050919050565b60006020820190508181036000830152613bb38161368a565b9050919050565b60006020820190508181036000830152613bd3816136ad565b9050919050565b60006020820190508181036000830152613bf3816136d0565b9050919050565b60006020820190508181036000830152613c13816136f3565b9050919050565b60006020820190508181036000830152613c3381613716565b9050919050565b60006020820190508181036000830152613c5381613739565b9050919050565b60006020820190508181036000830152613c738161375c565b9050919050565b60006020820190508181036000830152613c938161377f565b9050919050565b60006020820190508181036000830152613cb3816137a2565b9050919050565b60006020820190508181036000830152613cd3816137c5565b9050919050565b60006020820190508181036000830152613cf3816137e8565b9050919050565b60006020820190508181036000830152613d138161380b565b9050919050565b60006020820190508181036000830152613d338161382e565b9050919050565b6000602082019050613d4f6000830184613851565b92915050565b6000613d5f613d70565b9050613d6b8282614044565b919050565b6000604051905090565b600067ffffffffffffffff821115613d9557613d946141b4565b5b613d9e826141e3565b9050602081019050919050565b600067ffffffffffffffff821115613dc657613dc56141b4565b5b613dcf826141e3565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000613e3582613f6b565b9150613e4083613f6b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613e7557613e74614127565b5b828201905092915050565b6000613e8b82613f6b565b9150613e9683613f6b565b925082613ea657613ea5614156565b5b828204905092915050565b6000613ebc82613f6b565b9150613ec783613f6b565b925082821015613eda57613ed9614127565b5b828203905092915050565b6000613ef082613f4b565b9050919050565b6000613f0282613f4b565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000613f8d82613f94565b9050919050565b6000613f9f82613f4b565b9050919050565b82818337600083830152505050565b60005b83811015613fd3578082015181840152602081019050613fb8565b83811115613fe2576000848401525b50505050565b6000613ff382613f6b565b9150600082141561400757614006614127565b5b600182039050919050565b6000600282049050600182168061402a57607f821691505b6020821081141561403e5761403d614185565b5b50919050565b61404d826141e3565b810181811067ffffffffffffffff8211171561406c5761406b6141b4565b5b80604052505050565b600061408082613f6b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156140b3576140b2614127565b5b600182019050919050565b60006140c9826140da565b9050919050565b6000819050919050565b60006140e5826141f4565b9050919050565b6000819050919050565b600061410182613f6b565b915061410c83613f6b565b92508261411c5761411b614156565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60006c0100000000000000000000000082029050919050565b7f456e756d657261626c655365743a20696e646578206f7574206f6620626f756e60008201527f6473000000000000000000000000000000000000000000000000000000000000602082015250565b7f19457468657265756d205369676e6564204d6573736167653a0a333200000000600082015250565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b7f63616c6c6572206e6f74206f776e657200000000000000000000000000000000600082015250565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b7f4f776e6572207369676e20766572696669636174696f6e206661696c65640000600082015250565b7f456e756d657261626c654d61703a20696e646578206f7574206f6620626f756e60008201527f6473000000000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4552433732314d657461646174613a2055524920736574206f66206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960008201527f73206e6f74206f776e0000000000000000000000000000000000000000000000602082015250565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b7f4552433732313a206e6f6e6578697374656e7420746f6b656e00000000000000600082015250565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f4e6f6e6365203a20496e76616c6964204e6f6e63650000000000000000000000600082015250565b7f4552433732313a2063616c6c6572206973206e6f7420417070726f7665640000600082015250565b61487a81613ee5565b811461488557600080fd5b50565b61489181613f09565b811461489c57600080fd5b50565b6148a881613f15565b81146148b357600080fd5b50565b6148bf81613f1f565b81146148ca57600080fd5b50565b6148d681613f6b565b81146148e157600080fd5b50565b6148ed81613f75565b81146148f857600080fd5b5056fe4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656ea264697066735822122089f0b7f3e20b819987344059c8e9e004644cec4e7545156fb602f1b4f5ebd6d964736f6c6343000804003368747470733a2f2f676174657761792e70696e6174612e636c6f75642f697066732f000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000001e58c09e3ce74b44d4173d4cae1bd95fbf381fe1000000000000000000000000000000000000000000000000000000000000000d70617261646f784e465437323100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d70617261646f784e465437323100000000000000000000000000000000000000
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000001e58c09e3ce74b44d4173d4cae1bd95fbf381fe1000000000000000000000000000000000000000000000000000000000000000d70617261646f784e465437323100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d70617261646f784e465437323100000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : tokenName (string): paradoxNFT721
Arg [1] : tokenSymbol (string): paradoxNFT721
Arg [2] : _transferProxy (address): 0x1e58c09e3ce74b44d4173d4cae1bd95fbf381fe1
-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 0000000000000000000000001e58c09e3ce74b44d4173d4cae1bd95fbf381fe1
Arg [3] : 000000000000000000000000000000000000000000000000000000000000000d
Arg [4] : 70617261646f784e465437323100000000000000000000000000000000000000
Arg [5] : 000000000000000000000000000000000000000000000000000000000000000d
Arg [6] : 70617261646f784e465437323100000000000000000000000000000000000000
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.