DIN

CertiK1 address on BNB Chain

CertiK reviewed DIN on 14 Jan 2025: 19 findings, 0 critical; 4 marked fixed, 4 acknowledged, 11 open.

No open critical findings
Open the reportOpen DIN’s security record

Report hosted on skynet.certik.com.

Trustblock does not review code.

Findings19

Statuses are the security firm’s own, from its report.

SeverityOpenAcknowledgedFixed
Critical000
High031
Medium011
Low1102
HighCentralization Related RisksAcknowledged

In the contract `OwnableUpgradeable`, the role `_owner` has authority over the functions shown in the diagram below. Any compromise to the `_owner` account may allow the hacker to take advantage of this authority and add a manager, renounce ownership of the contract, transfer the contract ownership, or remove a manager. ![](https://accelerator-tasks-prod.acc.corp.certik.com/11ef-c29b-5cf9d110-901c-852bef4c1a48/diagrams/centralization_CurveStaking-OwnableUpgradeable-_owner.svg) ----- In the contract `DIN`, the role `_manager` has authority over the functions shown in the diagram below. Any compromise to the `_manager` account may allow the hacker to take advantage of this authority and mint tokens to a specified address. ![](https://accelerator-tasks-prod.acc.corp.certik.com/11ef-c29b-5cf9d110-901c-852bef4c1a48/diagrams/centralization_DIN-DIN-_manager.svg) In the contract `DIN`, the role `_managers` has authority over the functions shown in the diagram below. Any compromise to the `_managers` account may allow the hacker to take advantage of this authority and mint tokens to a specified address. ![](https://accelerator-tasks-prod.acc.corp.certik.com/11ef-c29b-5cf9d110-901c-852bef4c1a48/diagrams/centralization_DIN-DIN-_managers.svg) In the contract `DIN`, the role `_owner` has authority over the functions shown in the diagram below. Any compromise to the `_owner` account may allow the hacker to take advantage of this authority and mint tokens for a given address. ![](https://accelerator-tasks-prod.acc.corp.certik.com/11ef-c29b-5cf9d110-901c-852bef4c1a48/diagrams/centralization_DIN-DIN-_owner.svg) ----- In the contract `Ownable`, the role `_owner` has authority over the functions shown in the diagram below. Any compromise to the `_owner` account may allow the hacker to take advantage of this authority and transfer the contract ownership, remove a manager, renounce contract ownership, or add a manager. ![](https://accelerator-tasks-prod.acc.corp.certik.com/11ef-c29b-5cf9d110-901c-852bef4c1a48/diagrams/centralization_Ownable-Ownable-_owner.svg) ----- In the contract `NodeStakingConvertor`, the role `_manager` has authority over the functions shown in the diagram below. Any compromise to the `_manager` account may allow the hacker to take advantage of this authority and unregister nodes, update global power status, and register and update node power and weight. ![](https://accelerator-tasks-prod.acc.corp.certik.com/11ef-c29b-5cf9d110-901c-852bef4c1a48/diagrams/centralization_newStakingNative-NodeStakingConvertor-_manager.svg) In the contract `NodeStakingConvertor`, the role `_managers` has authority over the functions shown in the diagram below. Any compromise to the `_managers` account may allow the hacker to take advantage of this authority and register nodes with NFT IDs, update power attributes, and unregister nodes with given NFT IDs. ![](https://accelerator-tasks-prod.acc.corp.certik.com/11ef-c29b-5cf9d110-901c-852bef4c1a48/diagrams/centralization_newStakingNative-NodeStakingConvertor-_managers.svg) In the contract `NodeStakingConvertor`, the role `_owner` has authority over the functions shown in the diagram below. Any compromise to the `_owner` account may allow the hacker to take advantage of this authority and change fundamental contract addresses, unregister nodes using provided nftIds, register power nodes with nft identifiers, and change reward configuration settings. ![](https://accelerator-tasks-prod.acc.corp.certik.com/11ef-c29b-5cf9d110-901c-852bef4c1a48/diagrams/centralization_newStakingNative-NodeStakingConvertor-_owner.svg) In the contract `OwnableUpgradeable`, the role `_owner` has authority over the functions shown in the diagram below. Any compromise to the `_owner` account may allow the hacker to take advantage of this authority and add a manager to the managers list, renounce ownership rights, transfer contract ownership to a new address, or remove a manager. ![](https://accelerator-tasks-prod.acc.corp.certik.com/11ef-c29b-5cf9d110-901c-852bef4c1a48/diagrams/centralization_newStakingNative-OwnableUpgradeable-_owner.svg) ----- In the contract `NFTAirdrop`, the role `_owner` has authority over the functions shown in the diagram below. The `_owner` role is tasked with defining the anticipated schedule for each power level, which includes setting the `amount`, `tgePercent`, `tgeTimestamp`, and `duration`. Any compromise to the `_owner` account may allow the hacker to take advantage of this authority and change the console configuration or update the schedule type for a specific power level, which may affect the released amounts. ![](https://accelerator-tasks-prod.acc.corp.certik.com/11ef-c29b-5cf9d110-901c-852bef4c1a48/diagrams/centralization_NFTAirdropNative-NFTAirdrop-_owner.svg) In the contract `OwnableUpgradeable`, the role `_owner` has authority over the functions shown in the diagram below. Any compromise to the `_owner` account may allow the hacker to take advanta

HighCentralized Balance ManipulationAcknowledged

In the contract `DIN`, the role `onlyManager` has the authority to mint the token balance of an arbitrary account without sanity restriction. ```solidity function mint(address receipt, uint256 amount) public onlyManager { _mint(receipt, amount); } ``` Any compromise to the `onlyManager` role may allow a hacker to take advantage of this authority and manipulate users' balances.

HighCentralized Control of Contract UpgradeAcknowledged

In the contracts `CurveStaking`, `newStakingNative`, `NFTAirdropNative` and `xDINConvertingNative`, the role `admin` has the authority to update the implementation contract. Any compromise to the `admin` account may allow a hacker to take advantage of this authority and change the implementation contract which is pointed by proxy and therefore execute potential malicious functionality in the implementation contract.

MediumSources of Rewards Available for Claim ExecutionAcknowledged

Based on the design of the staking-related contracts outlined above, the reward amounts used for calculation and distribution are fixed at the time of contract initialization. To ensure that users can claim rewards successfully, we would like to confirm with the team when the rewards will be transferred to the contract and whether the transferred amounts align with the initially specified reward amounts. Specifically, in the `CurveStaking` contract, where the staking token and reward token are the same, if rewards are not promptly transferred to the contract, claims may deplete other users' staked tokens. Besides, if enough rewards are sent to the contracts, there is also no function to withdraw the undistributed rewards.

Contracts in scope1

AddressChainSource code
0x3ab1a5f76e12202d1ad1548a08a799501581da4eChain: BNB ChainSource code: Verified source

Part of DIN’s security record

DIN
Audits1 audit by 1 firmLast audit Jan 2025, by CertiK.
Critical findingsNo open critical findingsIn 1 report.
Open DIN’s security record

Security firm

CertiK

1,044 projects reviewed · 1,375 reports · latest May 2025

See CertiK’s audits

Something wrong on this page? A missing report, a wrong date, a finding that was fixed since. Tell us and we check it against its source.

Tell us