SDK to power Itheum's EVM web3 identity portal.
We tested the behaviour specified below.
✅ deploy all contracts --> success
✅ mint with everything fulfilled --> success\ ✅ mint with < 0.1 ether --> failure\ ✅ mint when sold out --> failure\ ✅ mint without claim --> failure\ ✅ mint when claim is revoked --> failure\ ✅ mint where claimSigner is wrong --> failure\ ✅ mint where receiver is wrong --> failure\ ✅ mint when claim is not yet valid --> failure\ ✅ mint when claim is not valid anymore -> failure\ ✅ mint when signature is altered but data in general is not --> failure\ ✅ mint when singature is not altered but identifier --> failure\ ✅ mint when singature is not altered but data field is altered --> failure\ ✅ mint when signature is not altered but validFrom is altered --> failure\ ✅ mint when signature is not altered but validTo is altered --> failure
✅ owner can add and remove claim revocations --> success
✅ deployed contract should be owned by issuer --> success
✅ additional owner call onlyOwner function --> success\ ✅ not additional owner call onlyOwner function --> failure\ ✅ (additional) owner add claim and it is stored --> success\ ✅ (additional) owner overwrites claim and it is stored --> success\ ✅ (additional) owner remove claim and it is removed --> success\ ✅ (additional) owner add claim and event gets fired --> success\ ✅ (additional) owner remove claim and event gets fired --> success\ ✅ (additional) owner add additional owner when < 9 --> success\ ✅ (additional) owner add additional owener when >= 9 --> failure\ ✅ (additional) owner proposes additional removal --> success\ ✅ (additional) owner proposes additional removal twice --> failure\ ✅ (additional) owner removes additional owner (proposed owner has enough confirmations) --> success\ ✅ (additional) owner removes additional owner (proposed owner has not enough confirmations) --> failure\ ✅ (additional) owner removes additional owner (proposed owner is no additional owner) --> failure\