DeFi Of Thrones — Audit Overview

DeFi Of Thrones
6 min readDec 7, 2020

--

With just three days before the release of our main net, we’re extremely proud to announce that we successfully passed the audit for 3 of our smart contracts. We’ve had the honors of being audited by the reputable (as mentioned by Cointelegraph) security firm Solidity Finance. We must admit, it’s always interesting to have another person diving into your code, but we’re glad it happened.

Solidity Finance took the effort to properly examine our smart contracts picking three main contract that affect all other contracts.
These three contracts are;
- The GameContract.
- The DoTxLib (ChainLink calls).
- The DoTx erc-20 contract.

We’ll dive into the results of the audit in this article, but for those who would like to read the entire piece by Solidity themselves, feel free to head over to the Solidity website here.

Allow us to review the audit and the key points to keep in mind.

✅ Mint function disabled

The mint function in the contract is the most important one of all allowing the smart contract to create the DotX token. Fraudulent projects have built-in backdoors in order to create the ability to mint on multiple occasions.
Given the importance of this function, Solidity double-checked and found the following information:

Solidity.Finance: “DoTx token was only minted upon deployment. 6 Million tokens were minted and will be ever created. As the burn feature is also part of the code, the total supply can only decrease.”

As you can read in the audit report, Solidity confirms only 6 million DoTx has been issued with the inability built-in to ever mint more tokens. On top of that, the burn feature is proven to work, thus the deflationary status of the token is confirmed.

In short words; there can never be more DotX, the total supply will only decrease over time.

✅ Transfers can no longer be paused

There was one part in the contract that felt a bit off to where we’re currently at. We’ve been open and transparent with our community from the start, stating the impossibility of influence from the project’s owner.

We received some essential feedback for this feature, and decided to immediately take action, and bring back the power to the community.

Solidity.Finance: “The owner of the token contract has the ability to pause transfers of the token. We have verified that the owner has renounced their ownership at transaction 0x3c3af3d3fb5dbb822f65fe6d0f1dc730c551c50c42d0ee03da9d3f09a3518ab2

This feature means that previously we were able to pause any DotX transfer occurring. We’ve never made use of the function, but we had a legitimacy reason of implementing this function to prevent fraudulent practices in an early stage.

During the public sale and during the DoTv1 swap we wanted to avoid the creation of an unofficial Uniswap DoTx pool. Therefore, we setup the possibility to pause the transfers except for the swapContract, the publicSaleContract and the token owner.

In the past couple of months, we’ve been steadily building and the community is expanding at a rapid pace. Hence, we feel more confident that ever about the project. It felt unfair to have the ability to intervene with the investors’ choices. Today, we’re making a difference and boosting the confidence of DoTx investors.

We burned the private keys of the DoTx- erc-20 contract.

We set the address of the publicSaleContract to 0x0000.
The transaction is visible here.

We have set the address of the swapContract to 0x0000. The transaction is visible here.

And we have renounced ownership. The transaction is visible here.

What does all this mean?
This means that nobody has the control of the DoTx erc-20 contract anymore, including the team and the founder.
There’s not a single person that can intervene with the contract anymore. No more minting, no more pausing transfers and no more changes in the token. The DoTx token live right now will be the only token you’ll ever see.

✅ Chainlink usage confirmed

These days, the usage of Chainlink became somewhat of a hype word. Simply mentioning the name will bring investors to the forefront. However, most projects aren’t making the best use of the Chainlink oracle, or are simply not using it at all.

Solidity Finance made sure the use of Chainlink within the game is confirmed and thruthful.

Solidity.Finance: “The project implements a Chainlink Node to provide price data from the CoinGecko API. When the owner closes the round, data from the Chainlink Node is directly entered into the Game Controller contract as the prices to be used to determine the winner.”

We’ve had some active and willing community members that showed evidence of our usage of the Chainlink oracle, but given the stamp of approval of a well-known audit company, we’re glad to spread the word even further.

From now on, everyone can have the confirmation that Defi of Thrones is using Chainlink.

✅ Overall Contract Safety

Safety is an important factor. We’ve been struggling with some external predators targeting our systems the past couple of days resulting in us doubling-down on our security. We’ve asked Solidity to double check our security, simulate attacks and make sure the overall safety of the contract are all in place.

Solidity.Finance: “The Overall Contract Safe tests have passed + Only the owner of the game contract can start and end the game.”

To certify the GameContract is safe, Solidity Finance reviewed our code line by line. They confirm that the contract is safe for the most common attacks. They have also simulated thousands of transactions on our contract to verify that there are no security vulnerabilities.

✅GameContract & DoTx lib architecture

Solidity Finance drew the architecture of the 2 contracts linked to the game. Therefore, it allows everyone, even non-tech guys, to understand the architecture behind the code.

The architecture for the GameContract can be found here;

And here is the architecture for the DoTxLib (Chainlink related) :

The above architecture gives everyone a close look into the complex systems that make up our beloved Defi of Thrones battle platform. Sometimes millions of lines of code can be frustrating and hypnotizing to look at, but with visual representation, it’s understandable for anyone.

Solidity Finance audited the three most important Defi of Thrones contracts, the GameContract, DotxLib contract and the ERC-20 contract. Throughout the audit, no major red flags were found and all our previously made claims turned out to be valid and true.

That brings us great joy and confidence just in time before our Dapp officially releases on the 10th of December!

With that being said, we would like to cordially invite you to the Dapp public release in 3 days. May the best project win!

To stay tuned of the latest news, follow us on:

Twitter: https://twitter.com/DefiOfThrones
Telegram Announcements: https://t.me/dotannouncements
Telegram General Discussion: https://t.me/DeFiOfThronesOfficial
Discord: https://discordapp.com/invite/TZVSnNV
Website: https://defiofthrones.io/

Kind regards,
DoTx Team

--

--