项目简介
The target of this audit is the private code repository of Fiat24 Contracts of Mantle. The Fiat24 Contracts of Mantle is a fiat-crypto payment infrastructure on Mantle that enables card authorization processing and operator-controlled vault management for fiat token operations. This update introduces a unified fee configuration module via the contract Fiat24FeeManager, cross-chain deposit paths on the Arbitrum and Tempo chains via LayerZero, a delegation vault extension for partner-managed payouts in the contract DelegationVault, and batch double-booking transfers in the contract Fiat24CardAuthorizationMarqeta.
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.
关键发现
我们在该智能合约中共发现 7 个潜在问题,另有 4 条建议与 1 条说明,明细如下:
| ID | Severity | Description | Status |
|---|---|---|---|
| 1 | Low | Lack of fee distribution to the wallet provider | Confirmed |
| 2 | Low | Redundant swaps for the fee conversion | Fixed |
| 3 | Low | Improper minimum fee guard in calculateTokenFeeAmount() |
Fixed |
| 4 | Low | Improper removal of the function __Fiat24Token_init_() |
Fixed |
| 5 | Low | Potential DoS due to inconsistent allowance consumption | Fixed |
| 6 | Low | Incorrect fund source in the function retryFailedBatchTransfer() |
Fixed |
| 7 | Low | Incorrect quoting in the function _executeOnrampAndBridge() |
Fixed |
| 8 | - | Remove redundant and deprecated code | Partially Fixed |
| 9 | - | Add duplicate checks in the function setFeeManager() |
Confirmed |
| 10 | - | Add non-reentrant guard to the function permitAndMoneyExchangeExactIn() |
Fixed |
| 11 | - | Verify wrapped LZD amount in the function _wrapPathUsdToLzd() |
Fixed |
| 12 | - | Potential centralization risks | - |
更多细节见审计报告。