Technical Project & Audit Details

Audit

Branch

The audit branch is frozen at commit hash f2ada0a6f7b98649542494b721771671c4c155fc for the audit. No changes to the apps/contracts module will occur until the auditors suggest changes to the code.

Scope

The scope of the requested audit is the following:

All contracts in the apps/contracts/contracts folder, with the exception of the following files:

marketplace/collections/ColleCollection.ts

marketplace/collections/USDCCurrency.sol

marketplace/royalties/BlackTierRoyalty.sol

marketplace/royalties/GoldTierRoyalty.sol

marketplace/royalties/GreenTierRoyalty.sol

marketplace/royalties/PlatinumTierRoyalty.sol

team-smart-wallet/ITeamSmartWalletPermitHelper.sol

team-smart-wallet/TeamSmartWalletPermitHelper.sol

team-smart-wallet/TeamSmartWalletFactory.sol

mock/*.sol

Blockchain

We are a EVM protocol, testing on Mumbai, with intentions to deploy to Polygon.

Language

All contract code is written in pure Solidity v0.8.18

Contract Dependencies

All dependencies come from the OpenZeppelin contracts and contracts-upgradeable 4.8.3 libraries.

Environment

Contracts were written in a Hardhat project as part of our monorepo

Scripts

From root, run pnpm install first to ensure apps/contracts installs all packages

cd into apps/contracts afterwards and run the following commands

Compile

Tests

Coverage

To generate a test coverage report from root, run:

Linter (Solhint)

Static Analyzer

As slither does not rely on npx or npm and instead pip/pip3, you will need to follow the setup on the websitearrow-up-right

Deployment

To deploy the full suite for manual testing, run from root:

Replace "0xRelayerAddress" with your relayer address (for Colle, it's our OpenZeppelin Defender Relayer address)

Replace "0xComissionsAddress" with the address who you want to receive commission payouts (for Colle, it's the companies address)

Last updated