SRC5 is not used properly in erc721_bridgeable
as no interfaces are registered in the constructor.
erc721_bridgeable
supports standard SRC5 (as EIP165 in Etheruem).
The issue is that no interfaces are registered during the constructor, or there is no mechanism that admin can register interfaces. In other words, the usage of SRC5 is not complete.
For example, looking at the deployed Everai
on Starknet, shows that by calling the function supports_interface
with parameter ISRC5_ID
, returns true
, meaning it is supporting SRC5. But, since during constructor, no other interfaces are registered, this function returns false
for any other selectors.
https://starkscan.co/contract/0x02acee8c430f62333cf0e0e7a94b2347b5513b4c25f699461dd8d7b23c072478#read-write-contract-sub-read
It should be implemented as suggested by OpenZeppelin:
https://docs.openzeppelin.com/contracts-cairo/0.15.0/introspection
Wrong usage of SRC5.
erc721_bridgeable
should be modified as:
Please, do not suppose impacts, think about the real impact of the bug and check the CodeHawks documentation to confirm: https://docs.codehawks.com/hawks-auditors/how-to-determine-a-finding-validity A PoC always helps to understand the real impact possible.
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.