Multiple contracts fail to comply with the EIP7201 standard for computing slot locations. This non-compliance violates an invariant stated in the project's README.
There are two separate types of non-compliance observed: the absence of EIP7201 application (Referral.sol) and incorrect application where the ID is wrongly computed (CustomReferralConfiguration.sol, etc.).
More details as follows:
Found in src/perpetuals/leaves/CustomReferralConfiguration.sol at Line 16
@>: eip7201 NAMESPACE_ID should be concat of
fi.zaros.CustomReferralConfiguration + customReferralCode
before applying the erc7201(id: string) formula
Found in src/perpetuals/leaves/MarginCollateralConfiguration.sol at Line 39
@>: eip7201 NAMESPACE_ID should be concat of
fi.zaros.perpetuals.MarginCollateralConfiguration + collateralType
before applying the erc7201(id: string) formula
Found in src/perpetuals/leaves/MarketOrder.sol at Line 26
@>: eip7201 NAMESPACE_ID should be concat of
fi.zaros.perpetuals.MarketOrder + tradingAccountId
before applying the erc7201(id: string) formula
Found in src/perpetuals/leaves/PerpMarket.sol at Line 64
@>: eip7201 NAMESPACE_ID should be concat of
fi.zaros.perpetuals.PerpMarket + marketId
before applying the erc7201(id: string) formula
Found in src/perpetuals/leaves/Position.sol at Line 45
@>: eip7201 NAMESPACE_ID should be string concat of
fi.zaros.perpetuals.Position + tradingAccountId + marketId
before applying the erc7201(id: string) formula
Found in src/perpetuals/leaves/Referral.sol at Line 16
@>: namespace id was computed but not applying EIP7201(namespaceId) formula.
Found in src/perpetuals/leaves/SettlementConfiguration.sol at Line 70
@>: eip7201 NAMESPACE_ID should be string concat of
fi.zaros.perpetuals.SettlementConfiguration + marketId + settlementConfigurationId
before applying the erc7201(id: string) formula
Found in src/perpetuals/leaves/TradingAccount.sol at Line 60
@>: eip7201 NAMESPACE_ID should be string concat of
fi.zaros.perpetuals.TradingAccount + tradingAccountId
before applying the erc7201(id: string) formula
The severity of EIP Non-compliance and invariant breaking should be Medium.
Manual Review
After computing the namespace ID from the corresponding slot domain and related parameters, apply the EIP7201 formula on the ID to obtain a unique slot via:
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.