Immutable x Token Smart Contract Audit

Project Background

  • The Solidity code outlines IMXToken, an ERC20 token with additional functionalities, which can be broken down into its key components.
    • ERC20Capped Extension: The contract inherits from ERC20Capped, which extends ERC20 with a supply cap. This means the total supply of tokens cannot exceed a predefined cap. The cap is set to 2 billion IMX tokens.
    • Access Control: The contract uses the OpenZeppelin Access Control library to manage roles. It defines a MINTER_ROLE which is necessary to mint new tokens. The contract constructor sets up the initial minter by assigning MINTER_ROLE to the provided minter address.
    • Minting Functionality: The mint function allows the minting of new tokens by addresses with the MINTER_ROLE. It checks if the caller has the required role before minting tokens.
    • Modifiers: The checkRole modifier is used to ensure that only addresses with a specific role (in this case, the minter role) can call certain functions.
  • Here’s a summary of the roles and their responsibilities:
    • DEFAULT_ADMIN_ROLE: Admin role with the highest privileges. By default, it can grant or revoke other roles.
    • MINTER_ROLE: Role responsible for minting new tokens.
  • Overall, this contract provides a way to create and manage a capped ERC20 token with a role-based access control mechanism for minting new tokens.


Executive Audit Summary

  • According to the standard audit assessment, the Customer`s solidity smart contracts are “Secured”.  Also, these contracts contain owner control, which does not make them fully decentralized.
  • We used various tools like Slither, Solhint and Remix IDE. At the same time this finding is based on critical analysis of the manual audit.
  • We found 0 critical, 0 high, 0 medium, 0 low and 2 very low-level issues.

Audit Report in PDF


Audit Report Flip book

Please wait while flipbook is loading. For more related info, FAQs and issues please refer to DearFlip WordPress Flipbook Plugin Help documentation.

Leave a Reply

Your email address will not be published. Required fields are marked *

six + 12 =