// SPDX-License-Identifier: MIT pragma solidity ^0.8.28; import { IERC721 } from "@openzeppelin/contracts/token/ERC721/IERC721.sol"; import { NFTInfo } from "../../core/Structs.sol"; /** * @title ICrossChainLayerERC721 * @dev A contract interface for all Cross-Chain Layer ERC721 tokens. */ interface ICrossChainLayerERC721 is IERC721 { function setBaseURI(string calldata baseURI) external; /** * @dev Function to mint tokens * @param to Address to mint tokens to * @param tokenId Token ID to mint * @param data Additional data */ function safeMint(address to, uint256 tokenId, bytes memory data) external; /** * @dev Function to burn tokens * @param tokenId Token ID to burn */ function burn(uint256 tokenId) external; /** * @dev Returns token info. */ function getInfo() external view returns (NFTInfo memory); }