MakersPlace CollectionCore Audit

QuantstampFiles named in the report

Audit · firm’s term: audit

Quantstamp reviewed MakersPlace CollectionCore Audit on 15 Dec 2021: 8 findings, 0 critical; 4 marked fixed, 4 acknowledged.

No open critical findings
Open the reportOpen MakersPlace CollectionCore Audit’s security record

Report hosted on certificate.quantstamp.com.

Trustblock does not review code.

Findings8

Statuses are the security firm’s own, from its report.

SeverityOpenAcknowledgedFixed
Critical000
High001
Medium000
Low043
HighSanitize input in `CollectionCore.constructor(...)`Fixed

The `constructor(...)` does not check if`_crsAddress` and `_creator` are different from address 0x0. Similarly, the `constructor()` does not validate if the `_royaltyPercentage` is within a valid range. Thus, any number (even exceeding 100%) can be passed to `_royaltyPercentage` with serious consequences. For instance, the computation of royalties in function `royaltyInfo(...)` will be compromised. The `_initialBaseURI` is not validated as well. There is no inline comment indicating the reason for the command `_pause()`. The code is reproduced below. ``` constructor(string memory _tokenName, string memory _tokenSymbol, address _crsAddress, uint256 _totalSupply, address _creator, uint16 _royaltyPercentage, string memory _initialBaseURI) ERC721(_tokenName, _tokenSymbol) { setCreatorRegistryStore(_crsAddress); require(_totalSupply > 0, "supply > 0"); // TODO: Should we have a higher limit for totalSupply totalMediaSupply = _totalSupply; creator = _creator; royaltyPercentage = _royaltyPercentage; baseURI = _initialBaseURI; _pause(); } ```

LowOwnership can be renouncedFixed

The contract is Ownable. `Ownable.sol` has the `function renounceOwnership()`. Although it can only be called by the `owner`, such a function leaves the contract without an owner, which surely compromises any ability to manage the contract. Below we present the code of this dangerous function. ``` function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } ```

LowUnimplemented code in `CollectionCore.constructor(...)`Fixed

The `constructor(...)` has a comment stating that there is code to be implemented related to validating the upper limit for `total Supply`.

LowUnimplemented code in `CollectionCore.mintTokens(...)`Fixed

The function `mintTokens(...)` has code still to be implemented. The same piece of code is probably missing in the function `oboMintTokens(...)`.

Contracts in scope

No deployed address is recorded for this audit.

The report names a repository or files. Open the report to see its scope.

Repository and files the report names (4)

  • contracts/ApprovedCreatorRegistry.sol
  • contracts/OBOControl.sol
  • contracts/CollectionCore.sol
  • contracts/RoyaltyRegistryInterface.sol

Part of MakersPlace CollectionCore Audit’s security record

MakersPlace CollectionCore Audit
Audits1 audit by 1 firmLast audit Dec 2021, by Quantstamp.
Critical findingsNo open critical findingsIn 1 report.
Open MakersPlace CollectionCore Audit’s security record

Security firm

Quantstamp

236 projects reviewed · 332 reports · latest Oct 2026

See Quantstamp’s audits

Something wrong on this page? A missing report, a wrong date, a finding that was fixed since. Tell us and we check it against its source.

Tell us