iKomp requested a smart contract audit report from the Knownsec blockchain security team and finally received a pass for all items.
iKomp audit report summary
ERC20 contract token function
Audit result:The token function of ERC20.sol is used for authorization, transfer, minting and destruction. The function is reasonable, and the function does not have security problems.
Compiler version security
Audit result:After testing, the smart contract code has formulated the compiler version 0.5.15 within the major version, and there is no such security problem.
Use of safe arithmetic library
Audit result:After testing, the SafeMath safe arithmetic library has been used in the smart contract code, and there is no such security problem.
Reasonable use of require/assert
Check the rationality of the use of require and assert statements in the contract code implementation.
Audit result:After testing, the security problem does not exist in the smart contract code.
Fallback function safety
Check whether the fallback function is used correctly in the contract code implementation.
Audit result: After testing, the security problem does not exist in the smart contract code.
Owner permission control
Check whether the owner in the contract code implementation has excessive authority. For example, arbitrarily modify other account balances, etc.
Audit result: After testing, the security problem does not exist in the smart contract code.
Vulnerability of additional token issuance
Check whether there is a function that may increase the total amount of tokens in the token contract after initializing the total amount of tokens.
Audit result: After testing, the security problem does not exist in the smart contract code.
Arithmetic accuracy error
As a programming language, Solidity has data structure design similar to ordinary programming languages, such as variables, constants, functions, arrays, functions, structures, etc. There is also a big difference between Solidity and ordinary programming languages-Solidity does not float Point type, and all the numerical calculation results of Solidity will only be integers, there will be no decimals, and it is not allowed to define decimal type data. Numerical calculations in the contract are indispensable, and the design of numerical calculations may cause relative errors. For example, the same level of calculations: 5/2*10=20, and 5*10/2=25, resulting in errors, which are larger in data The error will be larger and more obvious.
Audit result: After testing, the security problem does not exist in the smart contract code.
More details can be found here.
Our official channels
Homepage: http://kompasswallet.com/
Twitter: https://twitter.com/kompasswallet
Telegram https://t.me/kompassKr