Good Entry - 0x70C9's results

The best day trading platform to make every trade entry a Good Entry.

General Information

Platform: Code4rena

Start Date: 01/08/2023

Pot Size: $91,500 USDC

Total HM: 14

Participants: 80

Period: 6 days

Judge: gzeon

Total Solo HM: 6

Id: 269

League: ETH

Good Entry

Findings Distribution

Researcher Performance

Rank: 66/80

Findings: 1

Award: $15.35

QA:
grade-b

🌟 Selected for report: 0

🚀 Solo Findings: 0

Awards

15.3494 USDC - $15.35

Labels

bug
grade-b
QA (Quality Assurance)
Q-24

External Links

GeVault.modifyTicks can break ticks order

Github -> https://github.com/code-423n4/2023-08-goodentry/blob/main/contracts/GeVault.sol#L171 The issue here is that this function allows the owner to add a TR on an arbitrary place in the ticks list. This breaks the assumption that the ticks list is always ordered.

GeVault.checkSetApprove may revert

Github -> https://github.com/code-423n4/2023-08-goodentry/blob/main/contracts/GeVault.sol#L386 If amount > 0 and allowance < amount, the function safeIncreaseAllowance will revert, because we are passing an increase of type(uint).max (will overflow). The usage of safeIncreaseAllowance with uint256 max is discouraged, and safeApprove should be used (approval race condition is irrelevant if we want max allowance). Though this function reverting seems pretty critical, it seems that in the current state of the code we will not have any case where allowance is neither 0 nor max. Still, we encourage this change.

RoeRouter allows the addition of the same pool more than once

Github -> https://github.com/code-423n4/2023-08-goodentry/blob/main/contracts/RoeRouter.sol#L76 The owner can call addPool to add an already existing pool. This leads to a state where a single pool address will have more than one poolId. What's more, one of those poolIds might be deprecated and the other not.

DeprecatePool event gets emitted even if the pool was already deprecated (QA)

Github -> https://github.com/code-423n4/2023-08-goodentry/blob/main/contracts/RoeRouter.sol#L50 Function deprecatePool always emits a DeprecatePool event, regardless of whether or not the pool in questioning had already been deprecated before.

#1 - c4-judge

2023-08-20T16:38:08Z

gzeon-c4 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