Wraft Finance Token - Smart Contract Audit Report

Summary

Wraft Token Audit Report Wraft Finance intends to build a cross-chain data oracle platform that connects real-world data and APIs to smart contracts.

For this audit we reviewed the project's token contract, deployed at 0xffd10e016f3d36defbdb48a62cd8b853deeed8a7 on the Binance Smart Chain mainnet.
Please note we have not reviewed the project's oracle platform.

Notes of the Token Contract:
  • The total supply of the token is 200 million.
  • No minting or burning functions are accessible; though a burn function is present.
  • Currently, the team holds 97.5% of the supply.
  • The team has sent ~2.5% of the token's supply to create a presale.
  • The only ownership-restricted function allows the team to add hashes of audit reports.
  • The contract utilizes SafeMath to prevent overflow issues.

Audit Findings Summary
  • No issues from external attackers were identified.
  • The team is retaining 49x as many tokens as are going to the presale. Ensure trust in the team as they can use this token allocation to drain any liquidity pool created by the presale.
  • As with any presale, ensure trust in the team prior to investing.
  • KYC: No.
  • Date: April 12th, 2021.

Vulnerability CategoryNotesResult
Arbitrary Storage WriteN/APASS
Arbitrary JumpN/APASS
Delegate Call to Untrusted ContractN/APASS
Dependence on Predictable VariablesN/APASS
Deprecated OpcodesN/APASS
Ether ThiefN/APASS
ExceptionsN/APASS
External CallsN/APASS
Flash LoansN/APASS
Integer Over/UnderflowN/APASS
Multiple SendsN/APASS
OraclesN/APASS
SuicideN/APASS
State Change External CallsN/APASS
Unchecked RetvalN/APASS
User Supplied AssertionN/APASS
Critical Solidity CompilerN/APASS
Overall Contract Safety PASS

ERC20 Token Graph

Multi-file Token


 ($) = payable function
 # = non-constant function
 
 Int = Internal
 Ext = External
 Pub = Public

 +  Context 
    - [Int]  #
    - [Int] _msgSender
    - [Int] _msgData

 + [Int] IERC20 
    - [Ext] totalSupply
    - [Ext] balanceOf
    - [Ext] transfer #
    - [Ext] allowance
    - [Ext] approve #
    - [Ext] transferFrom #

 + [Lib] SafeMath 
    - [Int] add
    - [Int] sub
    - [Int] sub
    - [Int] mul
    - [Int] div
    - [Int] div
    - [Int] mod
    - [Int] mod

 +  ERC20 (Context, IERC20)
    - [Pub] totalSupply
    - [Pub] balanceOf
    - [Pub] transfer #
    - [Pub] allowance
    - [Pub] approve #
    - [Pub] transferFrom #
    - [Pub] increaseAllowance #
    - [Pub] decreaseAllowance #
    - [Int] _transfer #
    - [Int] _mint #
    - [Int] _burn #
    - [Int] _approve #
    - [Int] _burnFrom #

 +  ERC20Detailed (IERC20)
    - [Pub]  #
    - [Pub] name
    - [Pub] symbol
    - [Pub] decimals

 +  Ownable (Context)
    - [Int]  #
    - [Pub] owner
    - [Pub] isOwner
    - [Pub] renounceOwnership #
       - modifiers: onlyOwner
    - [Pub] transferOwnership #
       - modifiers: onlyOwner
    - [Int] _transferOwnership #

 +  WraftFinance (ERC20, ERC20Detailed, Ownable)
    - [Pub]  #
       - modifiers: ERC20Detailed
    - [Pub] addAuditHash #
       - modifiers: onlyOwner