Skip to main content

ImQuarkEntity

struct Collection {
// The ID of the entity associated with the collection
uint256 entityId;
// The ID of the collection
uint64 collectionId;
// The type of minting for the collection
uint8 mintType;
// The maximum number of tokens that can be minted per wallet
uint8 mintPerAccountLimit;
// A flag indicating if the collection is whitelisted
bool isWhitelisted;
// A flag indicating if the collection is free
bool isFree;
// The ID of the template associated with the collection
uint256 templateId;
// The number of tokens minted in the collection
uint256 mintCount;
// The total supply of tokens in the collection
uint256 totalSupply;
// The price of minting a token in the collection
uint256 mintPrice;
// The available URIs associated with the collection
string[] collectionURIs;
// The name of the collection
string name;
// The symbol of the collection
string symbol;
// The address of the verifier
address verifier;
}
struct CollectionParams {
// The ID of the template associated with the collection
uint256 templateId;
// The URIs associated with the collection
string[] collectionURIs;
// The total supply of tokens in the collection
uint256 totalSupply;
// The price of minting a token in the collection
uint256 mintPrice;
// The maximum number of tokens that can be minted per wallet
uint8 mintPerAccountLimit;
// The name of the collection
string name;
// The symbol of the collection
string symbol;
// The address of the verifier contract
address verifier;
// A flag indicating if the collection is whitelisted
bool isWhitelisted;
}
  function createCollection(
CollectionParams calldata collectionParams,
bool isDynamicUri,
uint8 ERCimplementation,
bytes32 merkeRoot
) external returns (address instance);
   function importExternalCollection(uint256 templateId, address collectionAddress) external;

  function addNewCollection(address collectionAddress) external returns (uint64);

  function transferCollection(address entity, uint64 collectionId) external returns (uint64);

  function getLastCollectionId() external view returns (uint64);

  function mintFree(
uint256 projectId,
uint256 templateId,
uint256 collectionId,
uint256 variationId
) external;
  function getCollectionAddress(uint64 collectionId) external view returns (address);