The Tierion team asked us to review and audit their Tierion Network Token (TNT) contract. We looked at the code and now publish our results.
The audited contract is in the file TierionNetworkToken.sol with SHA1 hash 8446b31466c20c18ec2ec1b1f91a4643b4d4f167
.
Good job using OpenZeppelin to write minimal extra code. The documentation is very good and there are thorough integration tests.
Here’s our assessment and recommendations, in order of importance.
Update: The Tierion team followed our rec0mmendations and updated the contract, now with SHA1 hash cb389abaea20708899e373b913e7ee0fdd6e0768
.
No critical issues were found.
decimals
variable (defined in line 31) should be of type uint8
.INITIAL_SUPPLY
in terms of decimals
.transfer
, keep in mind that token holders will be able to make transfers themselves during the distribution. If you wish to audit the distribution afterwards to ensure it was done correctly, look for the Transfer
events instead of balances.Using OpenZeppelin led to very little custom code written, and no security issues were found in this code. Only one change was suggested, and some small observations were made.
Note that as of the date of publishing, the above review reflects the current understanding of known security patterns as they relate to the Tierion Network Token contract. We have not reviewed the related Tierion project. The above should not be construed as investment advice. For general information about smart contract security, check out our thoughts here.