Open IP Protocol
Remix Module
// SPDX-License-Identifier: CC0-1.0
pragma solidity ^0.8.10;
interface IERC721X {
// Events
/// @dev Emits when a combo is minted.
/// @param owner The owner address of the newly minted combo
/// @param comboId The newly minted combo identifier
event ComboMinted(address indexed owner, uint256 indexed comboId);
// Structs
/// @param tokenAddress The NFT's collection address
/// @param tokenId The NFT identifier
struct Token {
address tokenAddress;
uint256 tokenId;
}
/// @param amount The number of NFTs used
/// @param licenseId Which license to be used to verify this component
struct Component {
Token token;
uint256 amount;
uint256 licenseId;
}
// Functions
/// @dev Mints a NFT by remixing multiple existing NFTs.
/// @param components The NFTs remixed to mint a combo
/// @param hash The hash representing the algorithm about how to generate the combo's metadata when remixing multiple existing NFTs.
function mint(
Component[] calldata components,
string calldata hash
) external;
/// @dev Retrieve a combo's components.
function getComponents(
uint256 comboId
) external view returns (Component[] memory);
}Network Module
License Module
Last updated
