Ajna Protocol - hals's results

A peer to peer, oracleless, permissionless lending protocol with no governance, accepting both fungible and non fungible tokens as collateral.

General Information

Platform: Code4rena

Start Date: 03/05/2023

Pot Size: $60,500 USDC

Total HM: 25

Participants: 114

Period: 8 days

Judge: Picodes

Total Solo HM: 6

Id: 234

League: ETH

Ajna Protocol

Findings Distribution

Researcher Performance

Rank: 94/114

Findings: 1

Award: $36.24

QA:
grade-b

🌟 Selected for report: 0

🚀 Solo Findings: 0

Low/QA

[QA-01]

Different solidity versions and different license were spotted in the smart contracts.

Proof of Concept

Instances: 2

File: ajna-core/src/RewardsManager.sol
File: ajna-core/src/PositionManager.sol.sol

// SPDX-License-Identifier: BUSL-1.1
pragma solidity 0.8.14;
File: ajna-grants/src/grants/GrantFund.sol
File: ajna-grants/src/grants/base/ExtraordinaryFunding.sol
File: ajna-grants/src/grants/base/StandardFunding.sol

// SPDX-License-Identifier: MIT
pragma solidity 0.8.16;

Tools Used

Manual Testing.

Unify solidity version and license among the contracts.

[QA-02]

Using require statements without error string

Details

tokenURI function uses require statement without error string.

Proof of Concept

Instances: 1

File: ajna-core/src/PositionManager.sol
Line 520:  require(_exists(tokenId_));

Tools Used

Manual Testing.

Use if statement with custom errors instead for a better error case user experience or add message to the require statement.

#0 - c4-judge

2023-05-18T18:43:04Z

Picodes marked the issue as grade-b

AuditHub

A portfolio for auditors, a security profile for protocols, a hub for web3 security.

Built bymalatrax © 2024

Auditors

Browse

Contests

Browse

Get in touch

ContactTwitter