Solidity: solidity declarationerror identifier not found or not unique

3.4k views Asked by At

Trying to create my first smart contract with the REMIX IDE, however getting into a Declaration Error. Here is the code of my contract

/**** Code start **/

// SPDX-License-Identifier: GPL-3.0

pragma solidity ^0.8.2;

import "./Context.sol";
import "./IBEP20.sol";
import "./SafeMath.sol";
import "./Ownable.sol";

contract SampleTaken is Context, IBEP20, Ownable {
    
    
    mapping(address => unit) public balances;
    
    unit public totalSupply = 1000000 * 10 ** 18;
    String public name ="Sample Token";
    String public symbol ="KJA";
    unit public decimals = 18;
    
    /** Events aailable for the Contract**/
    
    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    
    constructor(){
        balances[msg.sender] = totalSupply;
    }
    
    function balanceOf(address _ownerAddress) public view returns (unit){
        return balances[_ownerAddress];
    }
    
  

    
    function transfer(address _toAddress, unit _noOfTokens) public view returns (bool){
    require(balanceOf(msg.sender) >= _noOfTokens, "Total balance is less than the number of Tokens asked for !!!");
    balances[_toAddress] +=_noOfTokens;
    balances[msg.sender] -= _noOfTokens;
    emit Transfer(msg.sender,_toAddress, _noOfTokens);
    return true;
    }
    
    function transferFrom(address _from, address _to, uint _value) public returns (bool){
     require(balanceOf(_from) >= _value, "Balance is less than the number of Tokens asked for !!!");
     require(allowance[_from][msg.sender] >= _value, "Allowance too low");
     balances[_to] += _value;
     balances[_from] -= _value;   
     
     emit Transfer (_from, _to, _value);
     return true;
     
     
    }
    
}

While trying to compile it, I am getting the following error

DeclarationError: Identifier not found or not unique. --> SampleToken.sol:13:24: | 13 | mapping(address => unit) public balances; | ^^^^

What could be missing here?

Thanks Sam

2

There are 2 answers

4
Petr Hejda On

The error is caused by a typo in your code.

It's supposed to be uint (unsigned integer) - not unit.

0
user3670684 On

This type of error happens when you use an invalid data type (one that is not recognized by solidity).

For examples:

boolean result = true; (boolean is not a valid data type but bool)

const result = 1 + 1; (const is not a valid data type but uint256)