token-gallery-contracts/contracts/IERC1155Extra.sol

31 lines
1.3 KiB
Solidity

// SPDX-License-Identifier: Proprietary
pragma solidity ^0.7.2;
pragma experimental ABIEncoderV2;
import "./LibERC1155.sol";
/**
Everything needed to be exposed at the contract-level, that isn't in
the ERC.
*/
interface IERC1155Extra {
function name() external view returns (string memory);
function symbol() external view returns (string memory);
function proxyRegistryAddress() external view returns (address);
function setProxyRegistryAddress(address _newAddress) external;
function nonce() external view returns (uint64);
function metaNonce() external view returns (uint64);
function nftData(uint256 _id) external view returns (LibERC1155.Nft memory);
function metaId(uint256 _id) external pure returns (uint64);
function subId(uint256 _id) external pure returns (uint64);
function storeId(uint256 _id) external pure returns (uint24);
function setURI(string calldata _newURI) external;
function quantityForId(uint256 _id) external pure returns (uint8);
function isNonFungibleItem(uint256 _id) external pure returns(bool);
function getSetForId(uint256 _id) external pure returns (uint256[] memory);
function isDataLocked(uint256 _id) external view returns (bool);
function lockData(uint256 _id) external;
function changeMetadataUri(uint256 _id, string memory _uri) external;
}