Minting a new test
We can do so by calling the following function inside the TestCreator.sol smart contract:
The values for _testType, _nQuestions, _minimumGrade, _credentialLimit, _timeLimit, _requiredPass, and _credentialsGained are as defined for the Test struct. The testURI is an external resource that holds more information about the test, like the questions it comprises. You can read more on the standards to follow under how to write a test.
The values given for _solvingHashes will depend on the test type specified:
Multiple choice test: single value array, containing the root of the multiple choice Merkle tree, where each leaf is the correct choice out of the given ones, as described above.
Open answers test: single value array, containing the root of the open answers Merkle tree, where each leaf is the hash of the corresponding correct answer, as described above.
Mixed test: double value array, with the first value being the hash that defines the multiple choice test component, and the second value being the hash that defines the open answers component.
As a result of calling this function, the credential issuer will be credited a non-transferable BQT (Block Qualified Test) NFT to their wallet. This NFT will be identifiable via its unique tokenID (interchangeably called testId), which will be used for its interactions.
Last updated