DESCRIPTION
The target of this audit is the private code repository of EIP3009Upgradeable Contract of Bitget. The EIP3009Upgradeable Contract extends RWAToken with EIP3009Upgradeable, enabling users to authorize transfers off-chain and have them submitted on-chain by relayers. RWAToken remains a compliance-aware rebase ERC-20 token, with all asset movement ultimately reusing the existing pause, freeze, sanctions oracle, and rebase accounting checks. This extension adds transferWithAuthorization(), receiveWithAuthorization(), and cancelAuthorization() entry points, along with EIP-712 signature verification, nonce-based replay protection, timewindow validation, and support for both EOA and ERC-1271 signatures. Relayers only submit user authorizations and do not directly hold user assets; whether an authorization can be executed still depends on the current on-chain state, including pause status, compliance checks, account restrictions, and the rebase index.
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 1 recommendations and 2 notes, as follows:
| ID | Severity | Description | Status |
|---|---|---|---|
| 1 | Low | Lack of rebaseIndex binding in signed authorizations |
Confirm |
| 2 | - | Add explicit interfaces to invoke crucial functions | Confirm |
| 3 | - | Integrator assumption | - |
| 4 | - | Authorization cancellation can be frontrun | - |
More details are provided in the audit report.