PepuBank Info
PEPU BANK is a next-generation decentralized protocol built on the new Pepe Unchained Layer 2 network, powered by the utility token $PENK. Our mission is to deliver seamless access to the PEPU ecosystem through powerful tools like the SuperBridge, Layer 2-native token purchases, and gamified community features.
TrustNet Score
The TrustNet Score evaluates crypto projects based on audit results, security, KYC verification, and social media presence. This score offers a quick, transparent view of a project's credibility, helping users make informed decisions in the Web3 space.
Real-Time Threat Detection
Real-time threat detection, powered by Cyvers.io,
is currently not
activated
for this project.
This advanced feature provides continuous monitoring and instant alerts to safeguard your assets from potential security threats. Real-time detection enhances your project's security by proactively identifying and mitigating risks.
For more information, click here.
Security Assessments
Summary and Final Words
No crucial issues found
The contract does not contain issues of high or medium criticality. This means that no known vulnerabilities were found in the source code.
Contract owner cannot mint
It is not possible to mint new tokens.
Contract owner cannot blacklist addresses.
It is not possible to lock user funds by blacklisting addresses.
Contract owner cannot set high fees
The fees, if applicable, can be a maximum of 25% or lower. The contract can therefore not be locked. Please take a look in the comment section for more details.
Token transfer can be locked
Owner can lock user funds with owner functions.
Token cannot be burned
There is no burning within the contract without any allowances
Ownership is not renounced
The owner retains significant control, which could potentially be used to modify key contract parameters.
Contract is not upgradeable
The contract does not use proxy patterns or other mechanisms to allow future upgrades. Its behavior is locked in its current state.
Scope of Work
This audit encompasses the evaluation of the files listed below, each verified with a SHA-1 Hash. The team referenced above has provided the necessary files for assessment.
The auditing process consists of the following systematic steps:
- Specification Review: Analyze the provided specifications, source code, and instructions to fully understand the smart contract's size, scope, and functionality.
- Manual Code Examination: Conduct a thorough line-by-line review of the source code to identify potential vulnerabilities and areas for improvement.
- Specification Alignment: Ensure that the code accurately implements the provided specifications and intended functionalities.
- Test Coverage Assessment: Evaluate the extent and effectiveness of test cases in covering the codebase, identifying any gaps in testing.
- Symbolic Execution: Analyze the smart contract to determine how various inputs affect execution paths, identifying potential edge cases and vulnerabilities.
- Best Practices Evaluation: Assess the smart contracts against established industry and academic best practices to enhance efficiency, maintainability, and security.
- Actionable Recommendations: Provide detailed, specific, and actionable steps to secure and optimize the smart contracts.
A file with a different Hash has been intentionally or otherwise modified after the security review. A different Hash may indicate a changed condition or potential vulnerability that was not within the scope of this review.
Final Words
The following provides a concise summary of the audit report, accompanied by insightful comments from the auditor. This overview captures the key findings and observations, offering valuable context and clarity.
Ownership Privileges
- The owner can exempt wallets from fees.
- The owner can add/remove validators from the contract.
- The owner can set the fee recipient address.
- The owner can update the fee percentage to not more than 10%.
- The owner can add/remove the emergency operators in the contract.
- The emergency operators can pause the bridge functionality.
- The owner can unpause the bridge functionality.
Note - This Audit report consists of a security analysis of the PepuBank smart contract. This analysis did not include functional testing (or unit testing) of the contract’s logic. Moreover, we only audited the mentioned contract for the PepuBank team. Other contracts associated with the project were not audited by our team. We recommend investors do their own research before investing.
Files and details
Functions
public
/
State variables
public
/
Total lines
of code
/
Capabilities
Hover on items
/
Findings and Audit result
high Issues | 1 findings
Pending
#1 high Issue
Bridge Fee Mechanism is Non-Functional, Resulting in No Fees Being Collected.
The contract exhibits a high bug in its fee-handling logic. While the bridge() function correctly calculates a fee and a corresponding bridgedAmount (the original deposit minus the fee), this calculation is completely disregarded during the funds' transfer in the complete() function. The complete() function incorrectly transfers the user's originalAmount in its entirety to the FUNDS_RECIPIENT. As a result, the designated feeRecipient never receives any fees, and the FUNDS_RECIPIENT receives more funds than intended. This renders the fee exemption, fee rate (feeBps), and fee recipient settings useless and causes the BridgeCompleted event to emit a misleading bridgedAmount that does not reflect the actual value transferred.
medium Issues | 1 findings
Pending
#1 medium Issue
Centralized Validator Control Creates a Single Point of Failure
The setValidator function provides the contract owner with exclusive and immediate control over the list of authorized validators. This centralization of power creates a critical vulnerability. A malicious or compromised owner can unilaterally add a new validator address under their control and simultaneously remove all legitimate validators. Since the complete() function only requires a single signature (MIN_SIGNATURES = 1), the attacker can then use their newly authorized key to sign and approve any bridge transfer, including fraudulent ones. This would allow them to bypass the intended security mechanism entirely, potentially leading to the minting of unbacked tokens on L1 or the theft of user funds held in the contract. The lack of a timelock or multi-signature requirement for such a sensitive operation makes the bridge's security contingent on the absolute integrity of a single owner account.
low Issues | 1 findings
Pending
#1 low Issue
Missing zero or dead address check.
It is recommended to check that the address cannot be set to zero or dead address.
informational Issues | 1 findings
Pending
#1 informational Issue
Floating pragma solidity version.
Adding the constant version of solidity is recommended, as this prevents the unintentional deployment of a contract with an outdated compiler that contains unresolved bugs.