The cancellation process for L1 to L2 bridging requests is inefficient and potentially problematic as it requires admin intervention rather than allowing users to initiate the cancellation themselves. This design could lead to missed cancellation opportunities due to time constraints and administrative delays.
Cancelling of L1 to L2 bridging is not done in the most efficient way since it requires the admin to call these functions instead of the users themselves.
Per the Starknet's docs, there is an official duration as to how long it should take before the decision of cancelling can no longer be reachable. This means that if a user decides to cancel within the valid duration, they are not assured they'd make it and cancel on time because there is a needed process of getting a hold of the admin first, and then the admin would need to externally verify all, which could end up making the users not cancel on time since the time might pass before admin verifies or before they even get a hold of the admin.
The duration for L1->L2 takes 10 confirmation blocks and the sequencer picks up the request and executes on L2, which makes it not realistically possible for a user to get in touch with the admin within this time frame and cancel their bridging.
Note that we can't claim this to be a user error since the cancellation functionality exists, but currently it doesn't work as expected.
The cancellation is restricted to admin-only calls, as seen in the following code snippets:
The current design could lead to:
Missed cancellation opportunities due to administrative delays.
Potential loss of funds or assets if users are unable to cancel their bridging requests in time.
Reduced user control over their own transactions.
Increased burden on the admin team to handle cancellation requests promptly.
Manual review
Implement a two-step cancellation process:
a. Users can initiate the cancellation request.
b. Admin can finalize the cancellation after external verification.
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.
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.