-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Kalogerone - The SuperPool
vault is not strictly ERC4626 compliant as it should be
#110
Comments
SuperPool
vault is not strictly ERC4626 compliant as it should beSuperPool
vault is not strictly ERC4626 compliant as it should be
Escalate Within this issue family, there are several issues having to do with the inclusion of fees, while others deal with the pool's (lack of) liquidity. Some of the issues has to be moved over to #129 which deals with liquidity, or the other family has to be duped against this one. |
You've created a valid escalation! To remove the escalation from consideration: Delete your comment. You may delete or edit your escalation comment anytime before the 48-hour escalation window closes. After that, the escalation becomes final. |
Escalate The subset of this family relating to fees taken should be invalid.
Removing the fees since the last state update will remove some fees but not all previous fees. Any change made to remove the fees since last update would make these functions useless to end users or external protocols as they would perform calculations on invalid states. Therefore the 'fix' here would introduce a bug. Or you could completely redesign the contract to separate fee shares and implement useless versions of the 'convertTo...' functions for the sake of absolute ERC4626 compliance, neither of which are helpful to the protocol. |
You've created a valid escalation! To remove the escalation from consideration: Delete your comment. You may delete or edit your escalation comment anytime before the 48-hour escalation window closes. After that, the escalation becomes final. |
If you think so, why did you submit #567 and #568 respectively while not submit them in one report. I think that the reports which have different root cause in the code base can't be grouped into a single family. |
I agree with the escalation of @neko-nyaa all issues related to ERC4626 compliant to be duplicated together. This will be the main issue. Planning to accept the escalation and duplicate this issue with #129, #500, #465 and #246 and its duplicates. |
I disagree the escalation. Sherlock has rule for duplication.
So, we have to group only reports which have the same root cause. Moreover,
There are no item for ERC4626 at all. Therefore, ERC4626 compliant can't be the root cause for grouping. "ERC4626 compliant" is impact not root cause. |
I agree on the above comment.As I know, they are going to be grouped by conceptual mistake rule. But the rule depends on the context. Otherwise, auditors will not submit all the vulnerabilities they found. For instance, assume that an auditor found two issues: first one for The protocol team already know that the pool should comply with ERC4626. The things they don't know are detailed vulnerabilities, not the broken "ERC4626 compliant" itself. So, I believe that the issues should be categorized into several issues according to their root cause in the code base. |
My decision is to group all ERC4626 related issues together. I duplicate them by the rule of the same conceptual mistake. I will give an example of how all ERC4626-related issues can be duplicated by showing an example from a previous contest. Here, all Weird Tokens are duplicated together by the same conceptual mistake rule: sherlock-audit/2024-06-magicsea-judging#545 (comment) Planning to reject both escalations but duplicate this issue with #129, #500, #465, and #246(and its duplicates). |
Hi I'm wondering if this #110 (comment) escalation was considered? |
All will remain duplicated together. The Readme states that the protocol wants to strictly follow the ERC4626 standard. And the Watsons have correctly pointed out what is not followed. The protocol is not required to fix their issues. My decision is to reject both escalations but duplicate this issue with #129, #500, #465, and #246(and its duplicates). |
Result: |
The protocol team fixed this issue in the following PRs/commits: |
Kalogerone
Medium
The
SuperPool
vault is not strictly ERC4626 compliant as it should beSummary
The contest README file clearly states that:
No deviations from the specification mentioned. The
SuperPool.sol
contract is not strictly ERC4626 compliant according to the EIP docs.Root Cause
The EIP docs for the
convertToShares
andconvertToAssets
functions state:and later also state:
However,
SuperPool
'sconvertToShares
andconvertToAssets
also calculate and include any new fees accrued.Internal pre-conditions
No response
External pre-conditions
No response
Attack Path
No response
Impact
The
SuperPool
is not strictly EIP-4626 compliant as the README file states it should be.PoC
No response
Mitigation
Don't calculate any new fees accrued in the
external convertTo
functions:The text was updated successfully, but these errors were encountered: