ERC-1155
Overview
Max Total Supply
2,094
Holders
316
Market
Volume (24H)
N/A
Min Price (24H)
N/A
Max Price (24H)
N/A
Other Info
Token Contract
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
NanoTechChips
Compiler Version
v0.8.15+commit.e14f2714
Optimization Enabled:
Yes with 10000 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.4; import "solmate/src/auth/Owned.sol"; import "solmate/src/tokens/ERC1155.sol"; import "@openzeppelin/contracts/utils/Strings.sol"; import "@openzeppelin/contracts/utils/cryptography/ECDSA.sol"; interface IStardust { function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); } contract NanoTechChips is ERC1155, Owned { uint256 public constant PRICE = 250 ether; address private verifier; string public baseURI = "ipfs://QmRHwfoqVzWmqWQLjvgtYp9iQYC6c379yPCB1Qq9ANAaWP/?"; bool public paused = false; mapping(address => uint256) public mintedByWallet; IStardust private stardustContract; constructor(address _stardustContract) Owned(msg.sender) { stardustContract = IStardust(_stardustContract); } function mintWithClaimable( uint256 _amount, uint256 _count, bytes calldata _signature ) external { require(!paused, "Minting stopped"); address signer = _recoverWallet(msg.sender, _count, _signature); require(signer == verifier, "Unverified transaction"); require(mintedByWallet[msg.sender] < _count, "Invalid mint count"); mintedByWallet[msg.sender] = _count; _mint(msg.sender, 0, _amount, ""); } function mintWithClaimed(uint256 _amount) external { require(!paused, "Minting stopped"); stardustContract.transferFrom( msg.sender, address(stardustContract), PRICE * _amount ); _mint(msg.sender, 0, _amount, ""); } function burn(address _from, uint256 _amount) external { require( msg.sender == _from || isApprovedForAll[_from][msg.sender], "Not authorized" ); _burn(_from, 0, _amount); } function mintBatch(address[] calldata _to, uint256[] calldata _amounts) external onlyOwner { require(_to.length == _amounts.length, "To and amounts length must match"); for (uint256 i = 0; i < _to.length; ++i) { _mint(_to[i], 0, _amounts[i], ""); } } function uri(uint256 _id) public view virtual override(ERC1155) returns (string memory) { return string(abi.encodePacked(baseURI, Strings.toString(_id))); } function _recoverWallet( address _wallet, uint256 _amount, bytes memory _signature ) internal pure returns (address) { return ECDSA.recover( ECDSA.toEthSignedMessageHash( keccak256(abi.encodePacked(_wallet, _amount)) ), _signature ); } function flipSale() external onlyOwner { paused = !paused; } function setVerifier(address _newVerifier) external onlyOwner { verifier = _newVerifier; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.7.0) (utils/cryptography/ECDSA.sol) pragma solidity ^0.8.0; import "../Strings.sol"; /** * @dev Elliptic Curve Digital Signature Algorithm (ECDSA) operations. * * These functions can be used to verify that a message was signed by the holder * of the private keys of a given address. */ library ECDSA { enum RecoverError { NoError, InvalidSignature, InvalidSignatureLength, InvalidSignatureS, InvalidSignatureV } function _throwError(RecoverError error) private pure { if (error == RecoverError.NoError) { return; // no error: do nothing } else if (error == RecoverError.InvalidSignature) { revert("ECDSA: invalid signature"); } else if (error == RecoverError.InvalidSignatureLength) { revert("ECDSA: invalid signature length"); } else if (error == RecoverError.InvalidSignatureS) { revert("ECDSA: invalid signature 's' value"); } else if (error == RecoverError.InvalidSignatureV) { revert("ECDSA: invalid signature 'v' value"); } } /** * @dev Returns the address that signed a hashed message (`hash`) with * `signature` or error string. This address can then be used for verification purposes. * * The `ecrecover` EVM opcode allows for malleable (non-unique) signatures: * this function rejects them by requiring the `s` value to be in the lower * half order, and the `v` value to be either 27 or 28. * * IMPORTANT: `hash` _must_ be the result of a hash operation for the * verification to be secure: it is possible to craft signatures that * recover to arbitrary addresses for non-hashed data. A safe way to ensure * this is by receiving a hash of the original message (which may otherwise * be too long), and then calling {toEthSignedMessageHash} on it. * * Documentation for signature generation: * - with https://web3js.readthedocs.io/en/v1.3.4/web3-eth-accounts.html#sign[Web3.js] * - with https://docs.ethers.io/v5/api/signer/#Signer-signMessage[ethers] * * _Available since v4.3._ */ function tryRecover(bytes32 hash, bytes memory signature) internal pure returns (address, RecoverError) { // Check the signature length // - case 65: r,s,v signature (standard) // - case 64: r,vs signature (cf https://eips.ethereum.org/EIPS/eip-2098) _Available since v4.1._ if (signature.length == 65) { bytes32 r; bytes32 s; uint8 v; // ecrecover takes the signature parameters, and the only way to get them // currently is to use assembly. /// @solidity memory-safe-assembly assembly { r := mload(add(signature, 0x20)) s := mload(add(signature, 0x40)) v := byte(0, mload(add(signature, 0x60))) } return tryRecover(hash, v, r, s); } else if (signature.length == 64) { bytes32 r; bytes32 vs; // ecrecover takes the signature parameters, and the only way to get them // currently is to use assembly. /// @solidity memory-safe-assembly assembly { r := mload(add(signature, 0x20)) vs := mload(add(signature, 0x40)) } return tryRecover(hash, r, vs); } else { return (address(0), RecoverError.InvalidSignatureLength); } } /** * @dev Returns the address that signed a hashed message (`hash`) with * `signature`. This address can then be used for verification purposes. * * The `ecrecover` EVM opcode allows for malleable (non-unique) signatures: * this function rejects them by requiring the `s` value to be in the lower * half order, and the `v` value to be either 27 or 28. * * IMPORTANT: `hash` _must_ be the result of a hash operation for the * verification to be secure: it is possible to craft signatures that * recover to arbitrary addresses for non-hashed data. A safe way to ensure * this is by receiving a hash of the original message (which may otherwise * be too long), and then calling {toEthSignedMessageHash} on it. */ function recover(bytes32 hash, bytes memory signature) internal pure returns (address) { (address recovered, RecoverError error) = tryRecover(hash, signature); _throwError(error); return recovered; } /** * @dev Overload of {ECDSA-tryRecover} that receives the `r` and `vs` short-signature fields separately. * * See https://eips.ethereum.org/EIPS/eip-2098[EIP-2098 short signatures] * * _Available since v4.3._ */ function tryRecover( bytes32 hash, bytes32 r, bytes32 vs ) internal pure returns (address, RecoverError) { bytes32 s = vs & bytes32(0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff); uint8 v = uint8((uint256(vs) >> 255) + 27); return tryRecover(hash, v, r, s); } /** * @dev Overload of {ECDSA-recover} that receives the `r and `vs` short-signature fields separately. * * _Available since v4.2._ */ function recover( bytes32 hash, bytes32 r, bytes32 vs ) internal pure returns (address) { (address recovered, RecoverError error) = tryRecover(hash, r, vs); _throwError(error); return recovered; } /** * @dev Overload of {ECDSA-tryRecover} that receives the `v`, * `r` and `s` signature fields separately. * * _Available since v4.3._ */ function tryRecover( bytes32 hash, uint8 v, bytes32 r, bytes32 s ) internal pure returns (address, RecoverError) { // EIP-2 still allows signature malleability for ecrecover(). Remove this possibility and make the signature // unique. Appendix F in the Ethereum Yellow paper (https://ethereum.github.io/yellowpaper/paper.pdf), defines // the valid range for s in (301): 0 < s < secp256k1n ÷ 2 + 1, and for v in (302): v ∈ {27, 28}. Most // signatures from current libraries generate a unique signature with an s-value in the lower half order. // // If your library generates malleable signatures, such as s-values in the upper range, calculate a new s-value // with 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141 - s1 and flip v from 27 to 28 or // vice versa. If your library also generates signatures with 0/1 for v instead 27/28, add 27 to v to accept // these malleable signatures as well. if (uint256(s) > 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0) { return (address(0), RecoverError.InvalidSignatureS); } if (v != 27 && v != 28) { return (address(0), RecoverError.InvalidSignatureV); } // If the signature is valid (and not malleable), return the signer address address signer = ecrecover(hash, v, r, s); if (signer == address(0)) { return (address(0), RecoverError.InvalidSignature); } return (signer, RecoverError.NoError); } /** * @dev Overload of {ECDSA-recover} that receives the `v`, * `r` and `s` signature fields separately. */ function recover( bytes32 hash, uint8 v, bytes32 r, bytes32 s ) internal pure returns (address) { (address recovered, RecoverError error) = tryRecover(hash, v, r, s); _throwError(error); return recovered; } /** * @dev Returns an Ethereum Signed Message, created from a `hash`. This * produces hash corresponding to the one signed with the * https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`] * JSON-RPC method as part of EIP-191. * * See {recover}. */ function toEthSignedMessageHash(bytes32 hash) internal pure returns (bytes32) { // 32 is the length in bytes of hash, // enforced by the type signature above return keccak256(abi.encodePacked("\x19Ethereum Signed Message:\n32", hash)); } /** * @dev Returns an Ethereum Signed Message, created from `s`. This * produces hash corresponding to the one signed with the * https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`] * JSON-RPC method as part of EIP-191. * * See {recover}. */ function toEthSignedMessageHash(bytes memory s) internal pure returns (bytes32) { return keccak256(abi.encodePacked("\x19Ethereum Signed Message:\n", Strings.toString(s.length), s)); } /** * @dev Returns an Ethereum Signed Typed Data, created from a * `domainSeparator` and a `structHash`. This produces hash corresponding * to the one signed with the * https://eips.ethereum.org/EIPS/eip-712[`eth_signTypedData`] * JSON-RPC method as part of EIP-712. * * See {recover}. */ function toTypedDataHash(bytes32 domainSeparator, bytes32 structHash) internal pure returns (bytes32) { return keccak256(abi.encodePacked("\x19\x01", domainSeparator, structHash)); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.7.0) (utils/Strings.sol) pragma solidity ^0.8.0; /** * @dev String operations. */ library Strings { bytes16 private constant _HEX_SYMBOLS = "0123456789abcdef"; uint8 private constant _ADDRESS_LENGTH = 20; /** * @dev Converts a `uint256` to its ASCII `string` decimal representation. */ function toString(uint256 value) internal pure returns (string memory) { // Inspired by OraclizeAPI's implementation - MIT licence // https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.sol 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); } /** * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation. */ function toHexString(uint256 value) internal pure returns (string memory) { if (value == 0) { return "0x00"; } uint256 temp = value; uint256 length = 0; while (temp != 0) { length++; temp >>= 8; } return toHexString(value, length); } /** * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length. */ 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); } /** * @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal representation. */ function toHexString(address addr) internal pure returns (string memory) { return toHexString(uint256(uint160(addr)), _ADDRESS_LENGTH); } }
// SPDX-License-Identifier: AGPL-3.0-only pragma solidity >=0.8.0; /// @notice Minimalist and gas efficient standard ERC1155 implementation. /// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC1155.sol) abstract contract ERC1155 { /*////////////////////////////////////////////////////////////// EVENTS //////////////////////////////////////////////////////////////*/ event TransferSingle( address indexed operator, address indexed from, address indexed to, uint256 id, uint256 amount ); event TransferBatch( address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] amounts ); event ApprovalForAll(address indexed owner, address indexed operator, bool approved); event URI(string value, uint256 indexed id); /*////////////////////////////////////////////////////////////// ERC1155 STORAGE //////////////////////////////////////////////////////////////*/ mapping(address => mapping(uint256 => uint256)) public balanceOf; mapping(address => mapping(address => bool)) public isApprovedForAll; /*////////////////////////////////////////////////////////////// METADATA LOGIC //////////////////////////////////////////////////////////////*/ function uri(uint256 id) public view virtual returns (string memory); /*////////////////////////////////////////////////////////////// ERC1155 LOGIC //////////////////////////////////////////////////////////////*/ function setApprovalForAll(address operator, bool approved) public virtual { isApprovedForAll[msg.sender][operator] = approved; emit ApprovalForAll(msg.sender, operator, approved); } function safeTransferFrom( address from, address to, uint256 id, uint256 amount, bytes calldata data ) public virtual { require(msg.sender == from || isApprovedForAll[from][msg.sender], "NOT_AUTHORIZED"); balanceOf[from][id] -= amount; balanceOf[to][id] += amount; emit TransferSingle(msg.sender, from, to, id, amount); require( to.code.length == 0 ? to != address(0) : ERC1155TokenReceiver(to).onERC1155Received(msg.sender, from, id, amount, data) == ERC1155TokenReceiver.onERC1155Received.selector, "UNSAFE_RECIPIENT" ); } function safeBatchTransferFrom( address from, address to, uint256[] calldata ids, uint256[] calldata amounts, bytes calldata data ) public virtual { require(ids.length == amounts.length, "LENGTH_MISMATCH"); require(msg.sender == from || isApprovedForAll[from][msg.sender], "NOT_AUTHORIZED"); // Storing these outside the loop saves ~15 gas per iteration. uint256 id; uint256 amount; for (uint256 i = 0; i < ids.length; ) { id = ids[i]; amount = amounts[i]; balanceOf[from][id] -= amount; balanceOf[to][id] += amount; // An array can't have a total length // larger than the max uint256 value. unchecked { ++i; } } emit TransferBatch(msg.sender, from, to, ids, amounts); require( to.code.length == 0 ? to != address(0) : ERC1155TokenReceiver(to).onERC1155BatchReceived(msg.sender, from, ids, amounts, data) == ERC1155TokenReceiver.onERC1155BatchReceived.selector, "UNSAFE_RECIPIENT" ); } function balanceOfBatch(address[] calldata owners, uint256[] calldata ids) public view virtual returns (uint256[] memory balances) { require(owners.length == ids.length, "LENGTH_MISMATCH"); balances = new uint256[](owners.length); // Unchecked because the only math done is incrementing // the array index counter which cannot possibly overflow. unchecked { for (uint256 i = 0; i < owners.length; ++i) { balances[i] = balanceOf[owners[i]][ids[i]]; } } } /*////////////////////////////////////////////////////////////// ERC165 LOGIC //////////////////////////////////////////////////////////////*/ function supportsInterface(bytes4 interfaceId) public view virtual returns (bool) { return interfaceId == 0x01ffc9a7 || // ERC165 Interface ID for ERC165 interfaceId == 0xd9b67a26 || // ERC165 Interface ID for ERC1155 interfaceId == 0x0e89341c; // ERC165 Interface ID for ERC1155MetadataURI } /*////////////////////////////////////////////////////////////// INTERNAL MINT/BURN LOGIC //////////////////////////////////////////////////////////////*/ function _mint( address to, uint256 id, uint256 amount, bytes memory data ) internal virtual { balanceOf[to][id] += amount; emit TransferSingle(msg.sender, address(0), to, id, amount); require( to.code.length == 0 ? to != address(0) : ERC1155TokenReceiver(to).onERC1155Received(msg.sender, address(0), id, amount, data) == ERC1155TokenReceiver.onERC1155Received.selector, "UNSAFE_RECIPIENT" ); } function _batchMint( address to, uint256[] memory ids, uint256[] memory amounts, bytes memory data ) internal virtual { uint256 idsLength = ids.length; // Saves MLOADs. require(idsLength == amounts.length, "LENGTH_MISMATCH"); for (uint256 i = 0; i < idsLength; ) { balanceOf[to][ids[i]] += amounts[i]; // An array can't have a total length // larger than the max uint256 value. unchecked { ++i; } } emit TransferBatch(msg.sender, address(0), to, ids, amounts); require( to.code.length == 0 ? to != address(0) : ERC1155TokenReceiver(to).onERC1155BatchReceived(msg.sender, address(0), ids, amounts, data) == ERC1155TokenReceiver.onERC1155BatchReceived.selector, "UNSAFE_RECIPIENT" ); } function _batchBurn( address from, uint256[] memory ids, uint256[] memory amounts ) internal virtual { uint256 idsLength = ids.length; // Saves MLOADs. require(idsLength == amounts.length, "LENGTH_MISMATCH"); for (uint256 i = 0; i < idsLength; ) { balanceOf[from][ids[i]] -= amounts[i]; // An array can't have a total length // larger than the max uint256 value. unchecked { ++i; } } emit TransferBatch(msg.sender, from, address(0), ids, amounts); } function _burn( address from, uint256 id, uint256 amount ) internal virtual { balanceOf[from][id] -= amount; emit TransferSingle(msg.sender, from, address(0), id, amount); } } /// @notice A generic interface for a contract which properly accepts ERC1155 tokens. /// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC1155.sol) abstract contract ERC1155TokenReceiver { function onERC1155Received( address, address, uint256, uint256, bytes calldata ) external virtual returns (bytes4) { return ERC1155TokenReceiver.onERC1155Received.selector; } function onERC1155BatchReceived( address, address, uint256[] calldata, uint256[] calldata, bytes calldata ) external virtual returns (bytes4) { return ERC1155TokenReceiver.onERC1155BatchReceived.selector; } }
// SPDX-License-Identifier: AGPL-3.0-only pragma solidity >=0.8.0; /// @notice Simple single owner authorization mixin. /// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/auth/Owned.sol) abstract contract Owned { /*////////////////////////////////////////////////////////////// EVENTS //////////////////////////////////////////////////////////////*/ event OwnerUpdated(address indexed user, address indexed newOwner); /*////////////////////////////////////////////////////////////// OWNERSHIP STORAGE //////////////////////////////////////////////////////////////*/ address public owner; modifier onlyOwner() virtual { require(msg.sender == owner, "UNAUTHORIZED"); _; } /*////////////////////////////////////////////////////////////// CONSTRUCTOR //////////////////////////////////////////////////////////////*/ constructor(address _owner) { owner = _owner; emit OwnerUpdated(address(0), _owner); } /*////////////////////////////////////////////////////////////// OWNERSHIP LOGIC //////////////////////////////////////////////////////////////*/ function setOwner(address newOwner) public virtual onlyOwner { owner = newOwner; emit OwnerUpdated(msg.sender, newOwner); } }
{ "optimizer": { "enabled": true, "runs": 10000 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_stardustContract","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"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":"user","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"TransferBatch","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TransferSingle","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"},{"inputs":[],"name":"PRICE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"owners","type":"address[]"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"}],"name":"balanceOfBatch","outputs":[{"internalType":"uint256[]","name":"balances","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"flipSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_to","type":"address[]"},{"internalType":"uint256[]","name":"_amounts","type":"uint256[]"}],"name":"mintBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint256","name":"_count","type":"uint256"},{"internalType":"bytes","name":"_signature","type":"bytes"}],"name":"mintWithClaimable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"mintWithClaimed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"mintedByWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"paused","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":"ids","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeBatchTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","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":"address","name":"newOwner","type":"address"}],"name":"setOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newVerifier","type":"address"}],"name":"setVerifier","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":[{"internalType":"uint256","name":"_id","type":"uint256"}],"name":"uri","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60e060405260376080818152906200290e60a0396004906200002290826200016b565b506005805460ff191690553480156200003a57600080fd5b5060405162002945380380620029458339810160408190526200005d9162000237565b600280546001600160a01b0319163390811790915560405181906000907f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d76908290a350600780546001600160a01b0319166001600160a01b039290921691909117905562000269565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000f157607f821691505b6020821081036200011257634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200016657600081815260208120601f850160051c81016020861015620001415750805b601f850160051c820191505b8181101562000162578281556001016200014d565b5050505b505050565b81516001600160401b03811115620001875762000187620000c6565b6200019f81620001988454620000dc565b8462000118565b602080601f831160018114620001d75760008415620001be5750858301515b600019600386901b1c1916600185901b17855562000162565b600085815260208120601f198616915b828110156200020857888601518255948401946001909101908401620001e7565b5085821015620002275787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200024a57600080fd5b81516001600160a01b03811681146200026257600080fd5b9392505050565b61269580620002796000396000f3fe608060405234801561001057600080fd5b506004361061016b5760003560e01c80636c0360eb116100cd578063999f65d011610081578063a22cb46511610066578063a22cb46514610327578063e985e9c51461033a578063f242432a1461036857600080fd5b8063999f65d0146103015780639dc29fac1461031457600080fd5b80637c88e3d9116100b25780637c88e3d9146102995780638d859f3e146102ac5780638da5cb5b146102bc57600080fd5b80636c0360eb146102895780637ba5e6211461029157600080fd5b80631f69acae116101245780634e1273f4116101095780634e1273f4146102495780635437988d146102695780635c975abb1461027c57600080fd5b80631f69acae146102235780632eb2c2d61461023657600080fd5b80630d758111116101555780630d758111146101ce5780630e89341c146101ee57806313af40351461020e57600080fd5b8062fdd58e1461017057806301ffc9a7146101ab575b600080fd5b61019861017e366004611cea565b600060208181529281526040808220909352908152205481565b6040519081526020015b60405180910390f35b6101be6101b9366004611d42565b61037b565b60405190151581526020016101a2565b6101986101dc366004611d66565b60066020526000908152604090205481565b6102016101fc366004611d81565b610460565b6040516101a29190611e10565b61022161021c366004611d66565b610494565b005b610221610231366004611d81565b610571565b610221610244366004611eaa565b6106b4565b61025c610257366004611f65565b610a57565b6040516101a29190611fd1565b610221610277366004611d66565b610bb4565b6005546101be9060ff1681565b610201610c62565b610221610cf0565b6102216102a7366004611f65565b610d89565b610198680d8d726b7177a8000081565b6002546102dc9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a2565b61022161030f366004612015565b610ebb565b610221610322366004611cea565b611048565b61022161033536600461206a565b6110f8565b6101be6103483660046120a1565b600160209081526000928352604080842090915290825290205460ff1681565b6102216103763660046120d4565b61118f565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316148061040e57507fd9b67a26000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b8061045a57507f0e89341c000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060600461046d83611461565b60405160200161047e9291906121bb565b6040516020818303038152906040529050919050565b60025473ffffffffffffffffffffffffffffffffffffffff1633146105005760405162461bcd60e51b815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064015b60405180910390fd5b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831690811790915560405133907f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d7690600090a350565b60055460ff16156105c45760405162461bcd60e51b815260206004820152600f60248201527f4d696e74696e672073746f70706564000000000000000000000000000000000060448201526064016104f7565b60075473ffffffffffffffffffffffffffffffffffffffff166323b872dd33826105f785680d8d726b7177a800006122cb565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff938416600482015292909116602483015260448201526064016020604051808303816000875af1158015610670573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106949190612308565b506106b1336000836040518060200160405280600081525061159e565b50565b8483146107035760405162461bcd60e51b815260206004820152600f60248201527f4c454e4754485f4d49534d41544348000000000000000000000000000000000060448201526064016104f7565b3373ffffffffffffffffffffffffffffffffffffffff89161480610757575073ffffffffffffffffffffffffffffffffffffffff8816600090815260016020908152604080832033845290915290205460ff165b6107a35760405162461bcd60e51b815260206004820152600e60248201527f4e4f545f415554484f52495a454400000000000000000000000000000000000060448201526064016104f7565b60008060005b87811015610878578888828181106107c3576107c3612325565b9050602002013592508686828181106107de576107de612325565b73ffffffffffffffffffffffffffffffffffffffff8e1660009081526020818152604080832089845282528220805493909102949094013595508593925090610828908490612354565b909155505073ffffffffffffffffffffffffffffffffffffffff8a166000908152602081815260408083208684529091528120805484929061086b90849061236b565b90915550506001016107a9565b508873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8b8b8b8b6040516108f394939291906123d2565b60405180910390a473ffffffffffffffffffffffffffffffffffffffff89163b156109e5576040517fbc197c81000000000000000000000000000000000000000000000000000000008082529073ffffffffffffffffffffffffffffffffffffffff8b169063bc197c819061097a9033908f908e908e908e908e908e908e9060040161244d565b6020604051808303816000875af1158015610999573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109bd91906124be565b7fffffffff0000000000000000000000000000000000000000000000000000000016146109ff565b73ffffffffffffffffffffffffffffffffffffffff891615155b610a4b5760405162461bcd60e51b815260206004820152601060248201527f554e534146455f524543495049454e540000000000000000000000000000000060448201526064016104f7565b50505050505050505050565b6060838214610aa85760405162461bcd60e51b815260206004820152600f60248201527f4c454e4754485f4d49534d41544348000000000000000000000000000000000060448201526064016104f7565b8367ffffffffffffffff811115610ac157610ac16124db565b604051908082528060200260200182016040528015610aea578160200160208202803683370190505b50905060005b84811015610bab57600080878784818110610b0d57610b0d612325565b9050602002016020810190610b229190611d66565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858584818110610b7057610b70612325565b90506020020135815260200190815260200160002054828281518110610b9857610b98612325565b6020908102919091010152600101610af0565b50949350505050565b60025473ffffffffffffffffffffffffffffffffffffffff163314610c1b5760405162461bcd60e51b815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064016104f7565b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60048054610c6f9061214c565b80601f0160208091040260200160405190810160405280929190818152602001828054610c9b9061214c565b8015610ce85780601f10610cbd57610100808354040283529160200191610ce8565b820191906000526020600020905b815481529060010190602001808311610ccb57829003601f168201915b505050505081565b60025473ffffffffffffffffffffffffffffffffffffffff163314610d575760405162461bcd60e51b815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064016104f7565b600580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00811660ff90911615179055565b60025473ffffffffffffffffffffffffffffffffffffffff163314610df05760405162461bcd60e51b815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064016104f7565b828114610e3f5760405162461bcd60e51b815260206004820181905260248201527f546f20616e6420616d6f756e7473206c656e677468206d757374206d6174636860448201526064016104f7565b60005b83811015610eb457610ea4858583818110610e5f57610e5f612325565b9050602002016020810190610e749190611d66565b6000858585818110610e8857610e88612325565b905060200201356040518060200160405280600081525061159e565b610ead8161250a565b9050610e42565b5050505050565b60055460ff1615610f0e5760405162461bcd60e51b815260206004820152600f60248201527f4d696e74696e672073746f70706564000000000000000000000000000000000060448201526064016104f7565b6000610f51338585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061178892505050565b60035490915073ffffffffffffffffffffffffffffffffffffffff808316911614610fbe5760405162461bcd60e51b815260206004820152601660248201527f556e7665726966696564207472616e73616374696f6e0000000000000000000060448201526064016104f7565b33600090815260066020526040902054841161101c5760405162461bcd60e51b815260206004820152601260248201527f496e76616c6964206d696e7420636f756e74000000000000000000000000000060448201526064016104f7565b33600081815260066020908152604080832088905580519182019052818152610eb4929190889061159e565b3373ffffffffffffffffffffffffffffffffffffffff8316148061109c575073ffffffffffffffffffffffffffffffffffffffff8216600090815260016020908152604080832033845290915290205460ff165b6110e85760405162461bcd60e51b815260206004820152600e60248201527f4e6f7420617574686f72697a656400000000000000000000000000000000000060448201526064016104f7565b6110f48260008361183b565b5050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b3373ffffffffffffffffffffffffffffffffffffffff871614806111e3575073ffffffffffffffffffffffffffffffffffffffff8616600090815260016020908152604080832033845290915290205460ff165b61122f5760405162461bcd60e51b815260206004820152600e60248201527f4e4f545f415554484f52495a454400000000000000000000000000000000000060448201526064016104f7565b73ffffffffffffffffffffffffffffffffffffffff86166000908152602081815260408083208784529091528120805485929061126d908490612354565b909155505073ffffffffffffffffffffffffffffffffffffffff8516600090815260208181526040808320878452909152812080548592906112b090849061236b565b9091555050604080518581526020810185905273ffffffffffffffffffffffffffffffffffffffff808816929089169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a473ffffffffffffffffffffffffffffffffffffffff85163b156113f3576040517ff23a6e61000000000000000000000000000000000000000000000000000000008082529073ffffffffffffffffffffffffffffffffffffffff87169063f23a6e61906113889033908b908a908a908a908a90600401612542565b6020604051808303816000875af11580156113a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113cb91906124be565b7fffffffff00000000000000000000000000000000000000000000000000000000161461140d565b73ffffffffffffffffffffffffffffffffffffffff851615155b6114595760405162461bcd60e51b815260206004820152601060248201527f554e534146455f524543495049454e540000000000000000000000000000000060448201526064016104f7565b505050505050565b6060816000036114a457505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b81156114ce57806114b88161250a565b91506114c79050600a836125c3565b91506114a8565b60008167ffffffffffffffff8111156114e9576114e96124db565b6040519080825280601f01601f191660200182016040528015611513576020820181803683370190505b5090505b841561159657611528600183612354565b9150611535600a866125d7565b61154090603061236b565b60f81b81838151811061155557611555612325565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061158f600a866125c3565b9450611517565b949350505050565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208181526040808320868452909152812080548492906115dc90849061236b565b9091555050604080518481526020810184905273ffffffffffffffffffffffffffffffffffffffff86169160009133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a473ffffffffffffffffffffffffffffffffffffffff84163b1561171c576040517ff23a6e61000000000000000000000000000000000000000000000000000000008082529073ffffffffffffffffffffffffffffffffffffffff86169063f23a6e61906116b19033906000908990899089906004016125eb565b6020604051808303816000875af11580156116d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116f491906124be565b7fffffffff000000000000000000000000000000000000000000000000000000001614611736565b73ffffffffffffffffffffffffffffffffffffffff841615155b6117825760405162461bcd60e51b815260206004820152601060248201527f554e534146455f524543495049454e540000000000000000000000000000000060448201526064016104f7565b50505050565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606085901b166020820152603481018390526000906115969061183590605401604051602081830303815290604052805190602001206040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b836118d9565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832085845290915281208054839290611879908490612354565b9091555050604080518381526020810183905260009173ffffffffffffffffffffffffffffffffffffffff86169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b60008060006118e885856118fd565b915091506118f58161196b565b509392505050565b60008082516041036119335760208301516040840151606085015160001a61192787828585611b57565b94509450505050611964565b825160400361195c5760208301516040840151611951868383611c6f565b935093505050611964565b506000905060025b9250929050565b600081600481111561197f5761197f612630565b036119875750565b600181600481111561199b5761199b612630565b036119e85760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064016104f7565b60028160048111156119fc576119fc612630565b03611a495760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016104f7565b6003816004811115611a5d57611a5d612630565b03611ad05760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f756500000000000000000000000000000000000000000000000000000000000060648201526084016104f7565b6004816004811115611ae457611ae4612630565b036106b15760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c60448201527f756500000000000000000000000000000000000000000000000000000000000060648201526084016104f7565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611b8e5750600090506003611c66565b8460ff16601b14158015611ba657508460ff16601c14155b15611bb75750600090506004611c66565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611c0b573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116611c5f57600060019250925050611c66565b9150600090505b94509492505050565b6000807f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831681611ca560ff86901c601b61236b565b9050611cb387828885611b57565b935093505050935093915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611ce557600080fd5b919050565b60008060408385031215611cfd57600080fd5b611d0683611cc1565b946020939093013593505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146106b157600080fd5b600060208284031215611d5457600080fd5b8135611d5f81611d14565b9392505050565b600060208284031215611d7857600080fd5b611d5f82611cc1565b600060208284031215611d9357600080fd5b5035919050565b60005b83811015611db5578181015183820152602001611d9d565b838111156117825750506000910152565b60008151808452611dde816020860160208601611d9a565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611d5f6020830184611dc6565b60008083601f840112611e3557600080fd5b50813567ffffffffffffffff811115611e4d57600080fd5b6020830191508360208260051b850101111561196457600080fd5b60008083601f840112611e7a57600080fd5b50813567ffffffffffffffff811115611e9257600080fd5b60208301915083602082850101111561196457600080fd5b60008060008060008060008060a0898b031215611ec657600080fd5b611ecf89611cc1565b9750611edd60208a01611cc1565b9650604089013567ffffffffffffffff80821115611efa57600080fd5b611f068c838d01611e23565b909850965060608b0135915080821115611f1f57600080fd5b611f2b8c838d01611e23565b909650945060808b0135915080821115611f4457600080fd5b50611f518b828c01611e68565b999c989b5096995094979396929594505050565b60008060008060408587031215611f7b57600080fd5b843567ffffffffffffffff80821115611f9357600080fd5b611f9f88838901611e23565b90965094506020870135915080821115611fb857600080fd5b50611fc587828801611e23565b95989497509550505050565b6020808252825182820181905260009190848201906040850190845b8181101561200957835183529284019291840191600101611fed565b50909695505050505050565b6000806000806060858703121561202b57600080fd5b8435935060208501359250604085013567ffffffffffffffff81111561205057600080fd5b611fc587828801611e68565b80151581146106b157600080fd5b6000806040838503121561207d57600080fd5b61208683611cc1565b915060208301356120968161205c565b809150509250929050565b600080604083850312156120b457600080fd5b6120bd83611cc1565b91506120cb60208401611cc1565b90509250929050565b60008060008060008060a087890312156120ed57600080fd5b6120f687611cc1565b955061210460208801611cc1565b94506040870135935060608701359250608087013567ffffffffffffffff81111561212e57600080fd5b61213a89828a01611e68565b979a9699509497509295939492505050565b600181811c9082168061216057607f821691505b602082108103612199577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600081516121b1818560208601611d9a565b9290920192915050565b600080845481600182811c9150808316806121d757607f831692505b6020808410820361220f577f4e487b710000000000000000000000000000000000000000000000000000000086526022600452602486fd5b818015612223576001811461225657612283565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0086168952841515850289019650612283565b60008b81526020902060005b8681101561227b5781548b820152908501908301612262565b505084890196505b505050505050612293818561219f565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156123035761230361229c565b500290565b60006020828403121561231a57600080fd5b8151611d5f8161205c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000828210156123665761236661229c565b500390565b6000821982111561237e5761237e61229c565b500190565b81835260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311156123b557600080fd5b8260051b8083602087013760009401602001938452509192915050565b6040815260006123e6604083018688612383565b82810360208401526123f9818587612383565b979650505050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600073ffffffffffffffffffffffffffffffffffffffff808b168352808a1660208401525060a0604083015261248760a08301888a612383565b828103606084015261249a818789612383565b905082810360808401526124af818587612404565b9b9a5050505050505050505050565b6000602082840312156124d057600080fd5b8151611d5f81611d14565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361253b5761253b61229c565b5060010190565b600073ffffffffffffffffffffffffffffffffffffffff808916835280881660208401525085604083015284606083015260a0608083015261258860a083018486612404565b98975050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826125d2576125d2612594565b500490565b6000826125e6576125e6612594565b500690565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a060808301526123f960a0830184611dc6565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea26469706673582212207692a34a51269a9b776ff1b8f5e49454978ccd5f98c5625601d3f3836fb8d56564736f6c634300080f0033697066733a2f2f516d524877666f71567a576d7157514c6a7667745970396951594336633337397950434231517139414e416157502f3f000000000000000000000000a8bb2ef88c9fd04952bf47041f9329d1e449c204
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061016b5760003560e01c80636c0360eb116100cd578063999f65d011610081578063a22cb46511610066578063a22cb46514610327578063e985e9c51461033a578063f242432a1461036857600080fd5b8063999f65d0146103015780639dc29fac1461031457600080fd5b80637c88e3d9116100b25780637c88e3d9146102995780638d859f3e146102ac5780638da5cb5b146102bc57600080fd5b80636c0360eb146102895780637ba5e6211461029157600080fd5b80631f69acae116101245780634e1273f4116101095780634e1273f4146102495780635437988d146102695780635c975abb1461027c57600080fd5b80631f69acae146102235780632eb2c2d61461023657600080fd5b80630d758111116101555780630d758111146101ce5780630e89341c146101ee57806313af40351461020e57600080fd5b8062fdd58e1461017057806301ffc9a7146101ab575b600080fd5b61019861017e366004611cea565b600060208181529281526040808220909352908152205481565b6040519081526020015b60405180910390f35b6101be6101b9366004611d42565b61037b565b60405190151581526020016101a2565b6101986101dc366004611d66565b60066020526000908152604090205481565b6102016101fc366004611d81565b610460565b6040516101a29190611e10565b61022161021c366004611d66565b610494565b005b610221610231366004611d81565b610571565b610221610244366004611eaa565b6106b4565b61025c610257366004611f65565b610a57565b6040516101a29190611fd1565b610221610277366004611d66565b610bb4565b6005546101be9060ff1681565b610201610c62565b610221610cf0565b6102216102a7366004611f65565b610d89565b610198680d8d726b7177a8000081565b6002546102dc9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a2565b61022161030f366004612015565b610ebb565b610221610322366004611cea565b611048565b61022161033536600461206a565b6110f8565b6101be6103483660046120a1565b600160209081526000928352604080842090915290825290205460ff1681565b6102216103763660046120d4565b61118f565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316148061040e57507fd9b67a26000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b8061045a57507f0e89341c000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060600461046d83611461565b60405160200161047e9291906121bb565b6040516020818303038152906040529050919050565b60025473ffffffffffffffffffffffffffffffffffffffff1633146105005760405162461bcd60e51b815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064015b60405180910390fd5b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831690811790915560405133907f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d7690600090a350565b60055460ff16156105c45760405162461bcd60e51b815260206004820152600f60248201527f4d696e74696e672073746f70706564000000000000000000000000000000000060448201526064016104f7565b60075473ffffffffffffffffffffffffffffffffffffffff166323b872dd33826105f785680d8d726b7177a800006122cb565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff938416600482015292909116602483015260448201526064016020604051808303816000875af1158015610670573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106949190612308565b506106b1336000836040518060200160405280600081525061159e565b50565b8483146107035760405162461bcd60e51b815260206004820152600f60248201527f4c454e4754485f4d49534d41544348000000000000000000000000000000000060448201526064016104f7565b3373ffffffffffffffffffffffffffffffffffffffff89161480610757575073ffffffffffffffffffffffffffffffffffffffff8816600090815260016020908152604080832033845290915290205460ff165b6107a35760405162461bcd60e51b815260206004820152600e60248201527f4e4f545f415554484f52495a454400000000000000000000000000000000000060448201526064016104f7565b60008060005b87811015610878578888828181106107c3576107c3612325565b9050602002013592508686828181106107de576107de612325565b73ffffffffffffffffffffffffffffffffffffffff8e1660009081526020818152604080832089845282528220805493909102949094013595508593925090610828908490612354565b909155505073ffffffffffffffffffffffffffffffffffffffff8a166000908152602081815260408083208684529091528120805484929061086b90849061236b565b90915550506001016107a9565b508873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8b8b8b8b6040516108f394939291906123d2565b60405180910390a473ffffffffffffffffffffffffffffffffffffffff89163b156109e5576040517fbc197c81000000000000000000000000000000000000000000000000000000008082529073ffffffffffffffffffffffffffffffffffffffff8b169063bc197c819061097a9033908f908e908e908e908e908e908e9060040161244d565b6020604051808303816000875af1158015610999573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109bd91906124be565b7fffffffff0000000000000000000000000000000000000000000000000000000016146109ff565b73ffffffffffffffffffffffffffffffffffffffff891615155b610a4b5760405162461bcd60e51b815260206004820152601060248201527f554e534146455f524543495049454e540000000000000000000000000000000060448201526064016104f7565b50505050505050505050565b6060838214610aa85760405162461bcd60e51b815260206004820152600f60248201527f4c454e4754485f4d49534d41544348000000000000000000000000000000000060448201526064016104f7565b8367ffffffffffffffff811115610ac157610ac16124db565b604051908082528060200260200182016040528015610aea578160200160208202803683370190505b50905060005b84811015610bab57600080878784818110610b0d57610b0d612325565b9050602002016020810190610b229190611d66565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858584818110610b7057610b70612325565b90506020020135815260200190815260200160002054828281518110610b9857610b98612325565b6020908102919091010152600101610af0565b50949350505050565b60025473ffffffffffffffffffffffffffffffffffffffff163314610c1b5760405162461bcd60e51b815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064016104f7565b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60048054610c6f9061214c565b80601f0160208091040260200160405190810160405280929190818152602001828054610c9b9061214c565b8015610ce85780601f10610cbd57610100808354040283529160200191610ce8565b820191906000526020600020905b815481529060010190602001808311610ccb57829003601f168201915b505050505081565b60025473ffffffffffffffffffffffffffffffffffffffff163314610d575760405162461bcd60e51b815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064016104f7565b600580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00811660ff90911615179055565b60025473ffffffffffffffffffffffffffffffffffffffff163314610df05760405162461bcd60e51b815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064016104f7565b828114610e3f5760405162461bcd60e51b815260206004820181905260248201527f546f20616e6420616d6f756e7473206c656e677468206d757374206d6174636860448201526064016104f7565b60005b83811015610eb457610ea4858583818110610e5f57610e5f612325565b9050602002016020810190610e749190611d66565b6000858585818110610e8857610e88612325565b905060200201356040518060200160405280600081525061159e565b610ead8161250a565b9050610e42565b5050505050565b60055460ff1615610f0e5760405162461bcd60e51b815260206004820152600f60248201527f4d696e74696e672073746f70706564000000000000000000000000000000000060448201526064016104f7565b6000610f51338585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061178892505050565b60035490915073ffffffffffffffffffffffffffffffffffffffff808316911614610fbe5760405162461bcd60e51b815260206004820152601660248201527f556e7665726966696564207472616e73616374696f6e0000000000000000000060448201526064016104f7565b33600090815260066020526040902054841161101c5760405162461bcd60e51b815260206004820152601260248201527f496e76616c6964206d696e7420636f756e74000000000000000000000000000060448201526064016104f7565b33600081815260066020908152604080832088905580519182019052818152610eb4929190889061159e565b3373ffffffffffffffffffffffffffffffffffffffff8316148061109c575073ffffffffffffffffffffffffffffffffffffffff8216600090815260016020908152604080832033845290915290205460ff165b6110e85760405162461bcd60e51b815260206004820152600e60248201527f4e6f7420617574686f72697a656400000000000000000000000000000000000060448201526064016104f7565b6110f48260008361183b565b5050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b3373ffffffffffffffffffffffffffffffffffffffff871614806111e3575073ffffffffffffffffffffffffffffffffffffffff8616600090815260016020908152604080832033845290915290205460ff165b61122f5760405162461bcd60e51b815260206004820152600e60248201527f4e4f545f415554484f52495a454400000000000000000000000000000000000060448201526064016104f7565b73ffffffffffffffffffffffffffffffffffffffff86166000908152602081815260408083208784529091528120805485929061126d908490612354565b909155505073ffffffffffffffffffffffffffffffffffffffff8516600090815260208181526040808320878452909152812080548592906112b090849061236b565b9091555050604080518581526020810185905273ffffffffffffffffffffffffffffffffffffffff808816929089169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a473ffffffffffffffffffffffffffffffffffffffff85163b156113f3576040517ff23a6e61000000000000000000000000000000000000000000000000000000008082529073ffffffffffffffffffffffffffffffffffffffff87169063f23a6e61906113889033908b908a908a908a908a90600401612542565b6020604051808303816000875af11580156113a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113cb91906124be565b7fffffffff00000000000000000000000000000000000000000000000000000000161461140d565b73ffffffffffffffffffffffffffffffffffffffff851615155b6114595760405162461bcd60e51b815260206004820152601060248201527f554e534146455f524543495049454e540000000000000000000000000000000060448201526064016104f7565b505050505050565b6060816000036114a457505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b81156114ce57806114b88161250a565b91506114c79050600a836125c3565b91506114a8565b60008167ffffffffffffffff8111156114e9576114e96124db565b6040519080825280601f01601f191660200182016040528015611513576020820181803683370190505b5090505b841561159657611528600183612354565b9150611535600a866125d7565b61154090603061236b565b60f81b81838151811061155557611555612325565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061158f600a866125c3565b9450611517565b949350505050565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208181526040808320868452909152812080548492906115dc90849061236b565b9091555050604080518481526020810184905273ffffffffffffffffffffffffffffffffffffffff86169160009133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a473ffffffffffffffffffffffffffffffffffffffff84163b1561171c576040517ff23a6e61000000000000000000000000000000000000000000000000000000008082529073ffffffffffffffffffffffffffffffffffffffff86169063f23a6e61906116b19033906000908990899089906004016125eb565b6020604051808303816000875af11580156116d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116f491906124be565b7fffffffff000000000000000000000000000000000000000000000000000000001614611736565b73ffffffffffffffffffffffffffffffffffffffff841615155b6117825760405162461bcd60e51b815260206004820152601060248201527f554e534146455f524543495049454e540000000000000000000000000000000060448201526064016104f7565b50505050565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606085901b166020820152603481018390526000906115969061183590605401604051602081830303815290604052805190602001206040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b836118d9565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604080832085845290915281208054839290611879908490612354565b9091555050604080518381526020810183905260009173ffffffffffffffffffffffffffffffffffffffff86169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b60008060006118e885856118fd565b915091506118f58161196b565b509392505050565b60008082516041036119335760208301516040840151606085015160001a61192787828585611b57565b94509450505050611964565b825160400361195c5760208301516040840151611951868383611c6f565b935093505050611964565b506000905060025b9250929050565b600081600481111561197f5761197f612630565b036119875750565b600181600481111561199b5761199b612630565b036119e85760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064016104f7565b60028160048111156119fc576119fc612630565b03611a495760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016104f7565b6003816004811115611a5d57611a5d612630565b03611ad05760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f756500000000000000000000000000000000000000000000000000000000000060648201526084016104f7565b6004816004811115611ae457611ae4612630565b036106b15760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c60448201527f756500000000000000000000000000000000000000000000000000000000000060648201526084016104f7565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611b8e5750600090506003611c66565b8460ff16601b14158015611ba657508460ff16601c14155b15611bb75750600090506004611c66565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611c0b573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116611c5f57600060019250925050611c66565b9150600090505b94509492505050565b6000807f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831681611ca560ff86901c601b61236b565b9050611cb387828885611b57565b935093505050935093915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611ce557600080fd5b919050565b60008060408385031215611cfd57600080fd5b611d0683611cc1565b946020939093013593505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146106b157600080fd5b600060208284031215611d5457600080fd5b8135611d5f81611d14565b9392505050565b600060208284031215611d7857600080fd5b611d5f82611cc1565b600060208284031215611d9357600080fd5b5035919050565b60005b83811015611db5578181015183820152602001611d9d565b838111156117825750506000910152565b60008151808452611dde816020860160208601611d9a565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611d5f6020830184611dc6565b60008083601f840112611e3557600080fd5b50813567ffffffffffffffff811115611e4d57600080fd5b6020830191508360208260051b850101111561196457600080fd5b60008083601f840112611e7a57600080fd5b50813567ffffffffffffffff811115611e9257600080fd5b60208301915083602082850101111561196457600080fd5b60008060008060008060008060a0898b031215611ec657600080fd5b611ecf89611cc1565b9750611edd60208a01611cc1565b9650604089013567ffffffffffffffff80821115611efa57600080fd5b611f068c838d01611e23565b909850965060608b0135915080821115611f1f57600080fd5b611f2b8c838d01611e23565b909650945060808b0135915080821115611f4457600080fd5b50611f518b828c01611e68565b999c989b5096995094979396929594505050565b60008060008060408587031215611f7b57600080fd5b843567ffffffffffffffff80821115611f9357600080fd5b611f9f88838901611e23565b90965094506020870135915080821115611fb857600080fd5b50611fc587828801611e23565b95989497509550505050565b6020808252825182820181905260009190848201906040850190845b8181101561200957835183529284019291840191600101611fed565b50909695505050505050565b6000806000806060858703121561202b57600080fd5b8435935060208501359250604085013567ffffffffffffffff81111561205057600080fd5b611fc587828801611e68565b80151581146106b157600080fd5b6000806040838503121561207d57600080fd5b61208683611cc1565b915060208301356120968161205c565b809150509250929050565b600080604083850312156120b457600080fd5b6120bd83611cc1565b91506120cb60208401611cc1565b90509250929050565b60008060008060008060a087890312156120ed57600080fd5b6120f687611cc1565b955061210460208801611cc1565b94506040870135935060608701359250608087013567ffffffffffffffff81111561212e57600080fd5b61213a89828a01611e68565b979a9699509497509295939492505050565b600181811c9082168061216057607f821691505b602082108103612199577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600081516121b1818560208601611d9a565b9290920192915050565b600080845481600182811c9150808316806121d757607f831692505b6020808410820361220f577f4e487b710000000000000000000000000000000000000000000000000000000086526022600452602486fd5b818015612223576001811461225657612283565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0086168952841515850289019650612283565b60008b81526020902060005b8681101561227b5781548b820152908501908301612262565b505084890196505b505050505050612293818561219f565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156123035761230361229c565b500290565b60006020828403121561231a57600080fd5b8151611d5f8161205c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000828210156123665761236661229c565b500390565b6000821982111561237e5761237e61229c565b500190565b81835260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311156123b557600080fd5b8260051b8083602087013760009401602001938452509192915050565b6040815260006123e6604083018688612383565b82810360208401526123f9818587612383565b979650505050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600073ffffffffffffffffffffffffffffffffffffffff808b168352808a1660208401525060a0604083015261248760a08301888a612383565b828103606084015261249a818789612383565b905082810360808401526124af818587612404565b9b9a5050505050505050505050565b6000602082840312156124d057600080fd5b8151611d5f81611d14565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361253b5761253b61229c565b5060010190565b600073ffffffffffffffffffffffffffffffffffffffff808916835280881660208401525085604083015284606083015260a0608083015261258860a083018486612404565b98975050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826125d2576125d2612594565b500490565b6000826125e6576125e6612594565b500690565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a060808301526123f960a0830184611dc6565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea26469706673582212207692a34a51269a9b776ff1b8f5e49454978ccd5f98c5625601d3f3836fb8d56564736f6c634300080f0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000a8bb2ef88c9fd04952bf47041f9329d1e449c204
-----Decoded View---------------
Arg [0] : _stardustContract (address): 0xa8bb2Ef88c9fD04952bF47041f9329D1e449C204
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000a8bb2ef88c9fd04952bf47041f9329d1e449c204
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.