background
logo

Security Audit Report for Bitget's RWADividendDistributor Contract

DESCRIPTION

The target of this audit is the private code repository of RWADividendDistributor Contract of Bitget. The RWA EVM project introduces RWADividendDistributor, a new contract enabling trustless dividend distribution for tokenized real-world stock dividends. Dividends are distributed via a Merkle tree model. An operator submits a corporate action through contract CorporateActionOracle, which validates and anchors a new Merkle root on-chain. Users then claim entitlements by submitting a Merkle proof alongside an EIP-712 signature from a SIGNER_ROLE holder. Claims are cumulative, that each user’s position in the tree represents total historical entitlement, and only the delta over prior claimed amounts is transferred. Two payout token types are supported: RWA tokens and standard ERC-20 stablecoins. Replay protection is enforced through a tree nonce and a bitmap-based unordered nonce. Per-channel pause controls allow operators to halt claims for individual (rwaToken, payoutToken) pairs independently.

Please refer to the report for the detailed audit scope.

Our audit methodology employs automated vulnerability scans, manual verification, and business logic analysis to uncover potential security issues coupled with gas and code quality optimization recommendations.

In summary, we did not find any critical issues within the audited codebase. However, we have identified some non-critical issues that should be addressed. Additionally, we have put forth recommendations and notes that should be taken into consideration. It is important to note that the scope of our audit was strictly limited to the specific code versions mentioned in the report. Any updates made subsequent to our review would require a re-evaluation.

KEY FINDINGS

In total, we find 1 potential issues in the smart contract. We also have 7 recommendations and 5 notes, as follows:

High Risk: 0
Medium Risk: 0
Low Risk: 1
Recommendation: 7
Note: 5
ID Severity Description Status
1 Low Lack of check on cancelled actions Fixed
2 - Add claim slippage protection Confirmed
3 - Remove redundant code Fixed
4 - Strengthen payload length check Fixed
5 - Move nonce invalidation before verifications Fixed
6 - Restrict DIVIDEND_DISTRIBUTOR_ROLE to ActionType.Dividend Fixed
7 - Add a check on the claimable amount Fixed
8 - Adopt accurate variable name Fixed
9 - Potential centralization risks -
10 - Global effect of expiration duration parameter changes -
11 - Assumption of RWA payout tokens -
12 - Off-chain calculation of cumulativeUnits -
13 - Off-chain Merkle tree construction consistency -

More details are provided in the audit report.

Take the first step towards a secure future

Reach out now for BlockSec's expert code audit services, elevate the security of your protocol before it goes live!